diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5e6c7435a1..0000000000 Binary files a/.DS_Store and /dev/null differ diff --git a/Aborea_new/aborea.css b/Aborea_new/aborea.css index 08d6445443..9243cc7303 100644 --- a/Aborea_new/aborea.css +++ b/Aborea_new/aborea.css @@ -1 +1 @@ -.sheet-container{width:870px}.sheet-container input{background:transparent;width:100%;border:1px solid #ddd;border-radius:3px;}.sheet-container select{background:transparent;width:100%;border:1px solid #ddd;border-radius:3px;}.sheet-container input[type=number]{text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;}.sheet-container input[type=checkbox]{width:auto;}.sheet-container textarea{margin:0;width:100%;height:65px;resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:3px;}.sheet-container select{margin:0;}.sheet-container span{text-transform:uppercase;}.sheet-container label{width:auto;display:block;margin-top:-19px;margin-bottom:0;font-weight:normal;padding:0;font-size:15px;}.sheet-container .sheet-input_label{cursor:pointer;}.sheet-container .sheet-redbg{background-color:red;color:white;border:1px solid red;border-bottom:1px solid white;font-weight:bold;padding-left:5px;}.sheet-container strong{font-weight:900;}.sheet-container .sheet-textcenter{text-align:center;}.sheet-container .sheet-float{float:left;box-sizing:border-box;width:99%;margin:10px 5px 10px 0;}.sheet-container .sheet-noborder{border:none;}.sheet-container .sheet-half{max-width:49%;}.sheet-container .sheet-twice{display:grid;grid-template-columns:49% 49%;grid-gap:5px;}.sheet-container .sheet-clear{clear:both;overflow:auto;}.sheet-container .sheet-row{padding-top:30px;}.sheet-container .sheet-row.sheet-small{padding-top:10px;}.sheet-container .sheet-row:first-child{padding-top:0;}.sheet-container .sheet-grid,.sheet-container .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem{display:grid;grid-gap:5px;}.sheet-container .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem{margin-top:5px;}.sheet-container .sheet-grid>div{background-color:#f00;color:#FFF;font-weight:bold;text-align:center;}.sheet-container .sheet-gridplace .repcontainer .repitem input,.sheet-container .sheet-gridplace .repcontainer .repitem select,.sheet-container .sheet-gridplace .repcontainer .repitem button,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem input,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem select,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem button{width:-webkit-fill-available;width:-moz-available;}.sheet-container .sheet-gridplace .repcontainer .repitem button.repcontrol_del{width:auto;}.sheet-container .sheet-gridplace .repcontainer .repitem div,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem div{margin:auto 0;text-align:center;}.sheet-container .sheet-switch{position:relative;display:inline-block;width:40px;height:24px;}.sheet-container .sheet-switch input{opacity:0;width:0;height:0;}.sheet-container .sheet-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s;}.sheet-container .sheet-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;transition:.4s;}.sheet-container input:checked + .sheet-slider{background-color:#f00;}.sheet-container input:focus + .sheet-slider{box-shadow:0 0 1px #f00;}.sheet-container input:checked + .sheet-slider:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px);}.sheet-container .sheet-main .sheet-ep{width:190px;float:left;}.sheet-container .sheet-main .sheet-ep input,.sheet-container .sheet-main .sheet-ep label{float:left;margin-right:5px;}.sheet-container .sheet-main .sheet-ep input:last-child,.sheet-container .sheet-main .sheet-ep label:last-child{margin-right:0;}.sheet-container .sheet-main .sheet-ep input{width:50px;height:40px;}.sheet-container .sheet-main .sheet-ep label[for="sheet-Stufe"],.sheet-container .sheet-main .sheet-ep label[for="sheet-AP"]{width:50px;text-align:center;}.sheet-container .sheet-main .sheet-ep input[name="attr_ep"],.sheet-container .sheet-main .sheet-ep label[for="attr_ep"]{width:80px;text-align:center;}.sheet-container .sheet-main .sheet-vermoegen{width:210px;float:right;padding-top:0;}.sheet-container .sheet-main .sheet-vermoegen div{width:100%;}.sheet-container .sheet-main .sheet-vermoegen input,.sheet-container .sheet-main .sheet-vermoegen label{float:left;margin-left:5px;}.sheet-container .sheet-main .sheet-vermoegen input:first-child,.sheet-container .sheet-main .sheet-vermoegen label:first-child{margin-left:0;}.sheet-container .sheet-main .sheet-vermoegen input{width:40px;height:40px;}.sheet-container .sheet-main .sheet-vermoegen label[for="attr_tt"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_kl"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_mu"]{width:40px;text-align:center;}.sheet-container .sheet-main .sheet-vermoegen input[name="attr_gf"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_gf"]{width:70px;text-align:center;}.sheet-container .sheet-main .sheet-stats{width:210px;float:left;}.sheet-container .sheet-main .sheet-stats>input,.sheet-container .sheet-main .sheet-stats>label,.sheet-container .sheet-main .sheet-stats>div{float:left;margin-right:5px;}.sheet-container .sheet-main .sheet-stats input:last-child,.sheet-container .sheet-main .sheet-stats label:last-child,.sheet-container .sheet-main .sheet-stats div:last-child{margin-right:0;}.sheet-container .sheet-main .sheet-stats label[for="attr_leben"]{text-align:center;float:none;width:110px;}.sheet-container .sheet-main .sheet-stats input{width:50px;height:40px;}.sheet-container .sheet-main .sheet-gmroll{width:210px;float:right;}.sheet-container .sheet-main .sheet-gmroll select{float:right;width:175px;}.sheet-container .sheet-main .sheet-beruf select[name=attr_beruf]{display:none;}.sheet-container .sheet-main .sheet-beruf .sheet-switch{float:right;position:relative;height:17px;border:1px solid #ccc;}.sheet-container .sheet-main .sheet-beruf .sheet-switch .sheet-slider{box-shadow:none;}.sheet-container .sheet-main .sheet-beruf .sheet-switch .sheet-slider:before{height:13px;bottom:2px;}.sheet-container .sheet-main .sheet-beruf input[name=attr_toggle_beruf]:checked ~ input{display:none;}.sheet-container .sheet-main .sheet-beruf input[name=attr_toggle_beruf]:checked ~ select{display:inherit;}.sheet-container .sheet-main .sheet-settings{padding-top:10px;display:grid;grid-template-columns:49% 49%;grid-gap:5px;}.sheet-container .sheet-main .sheet-gott{width:180px;float:left;}.sheet-container .sheet-main .sheet-gott div{width:auto;margin-left:20px;}.sheet-container .sheet-main .sheet-gott input{width:auto;margin-left:10px;}.sheet-container .sheet-main .sheet-gott input[name="attr_1"]{margin-left:35px;}.sheet-container .sheet-main .sheet-mana{width:135px;float:right;margin-top:10px;}.sheet-container .sheet-main .sheet-mana label{text-align:center;}.sheet-container .sheet-main .sheet-mana input{width:60px;height:40px;}.sheet-container .sheet-main .sheet-magie .sheet-grid,.sheet-container .sheet-main .sheet-magie .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-magie .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 70px 50px;}.sheet-container .sheet-main .sheet-attribut .sheet-grid,.sheet-container .sheet-main .sheet-attribut .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-attribut .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 22px 42px 50px;}.sheet-container .sheet-main .sheet-attribut .sheet-arrow{border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:20px solid #f00;width:auto;height:auto;margin:6px 0;margin-right:60px;}.sheet-container .sheet-main .sheet-attribut label{position:relative;left:-95px;top:7px;}.sheet-container .sheet-main .sheet-fertigkeiten .sheet-grid,.sheet-container .sheet-main .sheet-fertigkeiten .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-fertigkeiten .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 70px 50px;}.sheet-container .sheet-main .sheet-kampf .sheet-grid,.sheet-container .sheet-main .sheet-kampf .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-kampf .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:303px 70px 140px 70px 70px 70px 50px 50px;}.sheet-container .sheet-main .sheet-inventar{display:inherit;}.sheet-container .sheet-main .sheet-inventar input:first-child{width:250px;}.sheet-container .sheet-main .sheet-inventar input{width:84px;}.sheet-container .sheet-main .sheet-inventar,.sheet-container .sheet-main .sheet-notes{display:inherit;}.sheet-container .sheet-main .sheet-inventar .sheet-switch,.sheet-container .sheet-main .sheet-notes .sheet-switch{float:right;position:relative;top:19px;height:17px;border:1px solid #ccc;}.sheet-container .sheet-main .sheet-inventar .sheet-switch .sheet-slider,.sheet-container .sheet-main .sheet-notes .sheet-switch .sheet-slider{box-shadow:none;}.sheet-container .sheet-main .sheet-inventar .sheet-switch .sheet-slider:before,.sheet-container .sheet-main .sheet-notes .sheet-switch .sheet-slider:before{height:13px;bottom:2px;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_inventar] ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_inventar] ~ div textarea{display:none;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_inventar]:checked ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_inventar]:checked ~ div textarea{display:inline-block;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_notes] ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_notes] ~ div textarea{display:none;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_notes]:checked ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_notes]:checked ~ div textarea{display:inline-block;} \ No newline at end of file +.sheet-container{width:870px}.sheet-container input{background:transparent;width:100%;border:1px solid #ddd;border-radius:3px;}.sheet-container select{background:transparent;width:100%;border:1px solid #ddd;border-radius:3px;}.sheet-container input[type=number]{text-align:center;-moz-appearance:textfield;-webkit-appearance:textfield;}.sheet-container input[type=checkbox]{width:auto;}.sheet-container textarea{margin:0;width:100%;height:65px;resize:vertical;box-sizing:border-box;border:1px solid #ddd;border-radius:3px;}.sheet-container select{margin:0;}.sheet-container span{text-transform:uppercase;}.sheet-container label{width:auto;display:block;margin-top:-19px;margin-bottom:0;font-weight:normal;padding:0;font-size:15px;}.sheet-container .sheet-input_label{cursor:pointer;}.sheet-container .sheet-redbg{background-color:red;color:white;border:1px solid red;border-bottom:1px solid white;font-weight:bold;padding-left:5px;}.sheet-container strong{font-weight:900;}.sheet-container .sheet-textcenter{text-align:center;}.sheet-container .sheet-float{float:left;box-sizing:border-box;width:99%;margin:10px 5px 10px 0;}.sheet-container .sheet-noborder{border:none;}.sheet-container .sheet-half{max-width:49%;}.sheet-container .sheet-twice{display:grid;grid-template-columns:49% 49%;grid-gap:5px;}.sheet-container .sheet-clear{clear:both;overflow:auto;}.sheet-container .sheet-row{padding-top:30px;}.sheet-container .sheet-row.sheet-small{padding-top:10px;}.sheet-container .sheet-row:first-child{padding-top:0;}.sheet-container .sheet-options-flag,.sheet-container .sheet-options-flag + span{position:absolute;top:-10px;left:-10px;}.sheet-container .sheet-options-flag{opacity:0;width:16px!important;min-height:16px;z-index:2;}.sheet-container .sheet-options-flag + span{white-space:nowrap;width:16px;height:16px;font-size:16px;font-family:pictos;color:#bbb;cursor:pointer;margin-top:0;display:none;text-transform:lowercase;}.sheet-container .sheet-options-flag ~ textarea{display:none;}.sheet-container .sheet-options-flag:checked ~ textarea{display:inherit;}.sheet-container .sheet-grid,.sheet-container .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem{display:grid;grid-gap:5px;}.sheet-container .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem{margin-top:5px;}.sheet-container .sheet-grid>div{background-color:#f00;color:#FFF;font-weight:bold;text-align:center;}.sheet-container .sheet-gridplace .repcontainer .repitem input,.sheet-container .sheet-gridplace .repcontainer .repitem select,.sheet-container .sheet-gridplace .repcontainer .repitem button,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem input,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem select,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem button{width:-webkit-fill-available;width:-moz-available;}.sheet-container .sheet-gridplace .repcontainer .repitem button.repcontrol_del{width:auto;}.sheet-container .sheet-gridplace .repcontainer .repitem div,.sheet-container .sheet-gridplace .sheet-repcontainer .sheet-repitem div{margin:auto 0;text-align:center;}.sheet-container .sheet-switch{position:relative;display:inline-block;width:40px;height:24px;}.sheet-container .sheet-switch input{opacity:0;width:0;height:0;}.sheet-container .sheet-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s;}.sheet-container .sheet-slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:white;-webkit-transition:.4s;transition:.4s;}.sheet-container input:checked + .sheet-slider{background-color:#f00;}.sheet-container input:focus + .sheet-slider{box-shadow:0 0 1px #f00;}.sheet-container input:checked + .sheet-slider:before{-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px);}.sheet-container .sheet-main .sheet-ep{width:190px;float:left;}.sheet-container .sheet-main .sheet-ep input,.sheet-container .sheet-main .sheet-ep label{float:left;margin-right:5px;}.sheet-container .sheet-main .sheet-ep input:last-child,.sheet-container .sheet-main .sheet-ep label:last-child{margin-right:0;}.sheet-container .sheet-main .sheet-ep input{width:50px;height:40px;}.sheet-container .sheet-main .sheet-ep label[for="sheet-Stufe"],.sheet-container .sheet-main .sheet-ep label[for="sheet-AP"]{width:50px;text-align:center;}.sheet-container .sheet-main .sheet-ep input[name="attr_ep"],.sheet-container .sheet-main .sheet-ep label[for="attr_ep"]{width:80px;text-align:center;}.sheet-container .sheet-main .sheet-vermoegen{width:210px;float:right;padding-top:0;}.sheet-container .sheet-main .sheet-vermoegen div{width:100%;}.sheet-container .sheet-main .sheet-vermoegen input,.sheet-container .sheet-main .sheet-vermoegen label{float:left;margin-left:5px;}.sheet-container .sheet-main .sheet-vermoegen input:first-child,.sheet-container .sheet-main .sheet-vermoegen label:first-child{margin-left:0;}.sheet-container .sheet-main .sheet-vermoegen input{width:40px;height:40px;}.sheet-container .sheet-main .sheet-vermoegen label[for="attr_tt"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_kl"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_mu"]{width:40px;text-align:center;}.sheet-container .sheet-main .sheet-vermoegen input[name="attr_gf"],.sheet-container .sheet-main .sheet-vermoegen label[for="attr_gf"]{width:70px;text-align:center;}.sheet-container .sheet-main .sheet-stats{width:210px;float:left;}.sheet-container .sheet-main .sheet-stats>input,.sheet-container .sheet-main .sheet-stats>label,.sheet-container .sheet-main .sheet-stats>div{float:left;margin-right:5px;}.sheet-container .sheet-main .sheet-stats input:last-child,.sheet-container .sheet-main .sheet-stats label:last-child,.sheet-container .sheet-main .sheet-stats div:last-child{margin-right:0;}.sheet-container .sheet-main .sheet-stats label[for="attr_leben"]{text-align:center;float:none;width:110px;}.sheet-container .sheet-main .sheet-stats input{width:50px;height:40px;}.sheet-container .sheet-main .sheet-gmroll{width:210px;float:right;}.sheet-container .sheet-main .sheet-gmroll select{float:right;width:175px;}.sheet-container .sheet-main .sheet-beruf select[name=attr_beruf]{display:none;}.sheet-container .sheet-main .sheet-beruf .sheet-switch{float:right;position:relative;height:17px;border:1px solid #ccc;}.sheet-container .sheet-main .sheet-beruf .sheet-switch .sheet-slider{box-shadow:none;}.sheet-container .sheet-main .sheet-beruf .sheet-switch .sheet-slider:before{height:13px;bottom:2px;}.sheet-container .sheet-main .sheet-beruf input[name=attr_toggle_beruf]:checked ~ input{display:none;}.sheet-container .sheet-main .sheet-beruf input[name=attr_toggle_beruf]:checked ~ select{display:inherit;}.sheet-container .sheet-main .sheet-settings{padding-top:10px;display:grid;grid-template-columns:49% 49%;grid-gap:5px;}.sheet-container .sheet-main .sheet-gott{width:180px;float:left;}.sheet-container .sheet-main .sheet-gott div{width:auto;margin-left:20px;}.sheet-container .sheet-main .sheet-gott input{width:auto;margin-left:10px;}.sheet-container .sheet-main .sheet-gott input[name="attr_1"]{margin-left:35px;}.sheet-container .sheet-main .sheet-mana{width:135px;float:right;margin-top:10px;}.sheet-container .sheet-main .sheet-mana label{text-align:center;}.sheet-container .sheet-main .sheet-mana input{width:60px;height:40px;}.sheet-container .sheet-main .sheet-magie .sheet-grid,.sheet-container .sheet-main .sheet-magie .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-magie .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 70px 50px;}.sheet-container .sheet-main .sheet-attribut .sheet-grid,.sheet-container .sheet-main .sheet-attribut .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-attribut .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 22px 42px 50px;}.sheet-container .sheet-main .sheet-attribut .sheet-arrow{border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:20px solid #f00;width:auto;height:auto;margin:6px 0;margin-right:60px;}.sheet-container .sheet-main .sheet-attribut label{position:relative;left:-95px;top:7px;}.sheet-container .sheet-main .sheet-fertigkeiten .sheet-grid,.sheet-container .sheet-main .sheet-fertigkeiten .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-fertigkeiten .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:220px 70px 70px 50px;}.sheet-container .sheet-main .sheet-kampf .sheet-grid,.sheet-container .sheet-main .sheet-kampf .sheet-gridplace .repcontainer .repitem,.sheet-container .sheet-main .sheet-kampf .sheet-gridplace .sheet-repcontainer .sheet-repitem{grid-template-columns:303px 70px 140px 70px 70px 70px 50px 50px;}.sheet-container .sheet-main .sheet-inventar{display:inherit;}.sheet-container .sheet-main .sheet-inventar input[name=attr_ruestung1],.sheet-container .sheet-main .sheet-inventar input[name=attr_ruestung2],.sheet-container .sheet-main .sheet-inventar input[name=attr_name]{width:250px;}.sheet-container .sheet-main .sheet-inventar input{width:84px;}.sheet-container .sheet-main .sheet-inventar,.sheet-container .sheet-main .sheet-notes{display:inherit;}.sheet-container .sheet-main .sheet-inventar .sheet-switch,.sheet-container .sheet-main .sheet-notes .sheet-switch{float:right;position:relative;top:19px;height:17px;border:1px solid #ccc;}.sheet-container .sheet-main .sheet-inventar .sheet-switch .sheet-slider,.sheet-container .sheet-main .sheet-notes .sheet-switch .sheet-slider{box-shadow:none;}.sheet-container .sheet-main .sheet-inventar .sheet-switch .sheet-slider:before,.sheet-container .sheet-main .sheet-notes .sheet-switch .sheet-slider:before{height:13px;bottom:2px;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_inventar] ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_inventar] ~ div textarea{display:none;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_inventar]:checked ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_inventar]:checked ~ div textarea{display:inline-block;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_notes] ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_notes] ~ div textarea{display:none;}.sheet-container .sheet-main .sheet-inventar input[name=attr_show_notes]:checked ~ div textarea,.sheet-container .sheet-main .sheet-notes input[name=attr_show_notes]:checked ~ div textarea{display:inline-block;}.sheet-container .sheet-main .sheet-inventar .sheet-notes-row:hover .sheet-options-flag + span,.sheet-container .sheet-main .sheet-notes .sheet-notes-row:hover .sheet-options-flag + span,.sheet-container .sheet-main .sheet-inventar .sheet-inventar-row:hover .sheet-options-flag + span,.sheet-container .sheet-main .sheet-notes .sheet-inventar-row:hover .sheet-options-flag + span{display:block;} \ No newline at end of file diff --git a/Aborea_new/aborea.html b/Aborea_new/aborea.html index bde311c531..9b7168a4c8 100644 --- a/Aborea_new/aborea.html +++ b/Aborea_new/aborea.html @@ -49,7 +49,6 @@ -
+ value="@{abilityroll} würfelt List mit dem Ergebnis [[1d10! + @{list_attribut} + @{list} + ?{Modifier?|0}]]">
@@ -401,28 +400,13 @@
- -
Inventar
-
- - - - -
-
- - - - -
- - + y + +
@@ -430,14 +414,11 @@
- -
Notizen
+ y
diff --git a/Aborea_new/aborea.less b/Aborea_new/aborea.less index 30f45d0943..ab3a0a366a 100644 --- a/Aborea_new/aborea.less +++ b/Aborea_new/aborea.less @@ -113,6 +113,41 @@ } } + .sheet-options-flag, + .sheet-options-flag+span { + position: absolute; + top : -10px; + left : -10px; + } + + .sheet-options-flag { + opacity : 0; + width : 16px !important; + min-height: 16px; + z-index : 2; + + &+span { + white-space : nowrap; + width : 16px; + height : 16px; + font-size : 16px; + font-family : pictos; + color : #bbb; + cursor : pointer; + margin-top : 0; + display : none; + text-transform: lowercase; + } + + ~textarea { + display: none; + } + + &:checked~textarea { + display: inherit; + } + } + /* Tabelle */ .sheet-grid, .sheet-gridplace .repcontainer .repitem, @@ -450,7 +485,9 @@ .sheet-inventar { display: inherit; - input:first-child { + input[name=attr_ruestung1], + input[name=attr_ruestung2], + input[name=attr_name] { width: 250px; } @@ -513,6 +550,11 @@ } } } + + .sheet-notes-row:hover .sheet-options-flag+span, + .sheet-inventar-row:hover .sheet-options-flag+span { + display: block; + } } } } \ No newline at end of file diff --git a/AdventureTime/README.md b/AdventureTime/README.md new file mode 100644 index 0000000000..017bec4ced --- /dev/null +++ b/AdventureTime/README.md @@ -0,0 +1 @@ +This is an unofficial character sheet for the Terra Devastada RPG game by John Bogéa. \ No newline at end of file diff --git a/AdventureTime/adventuretime.css b/AdventureTime/adventuretime.css new file mode 100644 index 0000000000..b25fddbd8e --- /dev/null +++ b/AdventureTime/adventuretime.css @@ -0,0 +1,292 @@ +/*----------------- MAIN CONTAINER DEFINITIONS ------------------*/ +@import url('https://fonts.googleapis.com/css?family=Walter+Turncoat&display=swap'); + +.sheet-main-container { + min-height: 600px; + min-width: 800px; + max-width: 1000px; + background-color: #f1e8d4; + border: 3px solid #d2a44e; +} + +.sheet-main-container * { + box-sizing: border-box !important; +} +/*----------------- GENERAL CSS ------------------*/ + +.sheet-main-container select { + width: auto; +} + +.sheet-dot { + background-color:black; + border-radius: 50%; + height: 5px; + width: 5px; + margin: 5px; +} + +.sheet-flex-row { + display: flex; + flex-direction: row; +} + +.sheet-flex-column { + display: flex; + flex-direction: column; +} + +.sheet-grow { + flex-grow: 1; +} + +.sheet-invisible-number { + border: none; + background-color: transparent; + height: 20px; +} + +.sheet-main-container input:focus, .sheet-main-container textarea:focus { + background: white; +} + +.sheet-main-container ::placeholder { + color:#604241; + font-style: italic; +} + +.sheet-main-container input[type=number] { + width: 3em; +} + +.sheet-main-container fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +.sheet-main-container textarea { + margin: 2px; + height: 100%; + width: 100%; + flex-grow: 1; + border: 0px; + background-color: transparent; + color: black; +} + +.sheet-header input { + margin: 2px; + flex-grow: 1; + border: none; + width: 100%; + background-color: transparent; + color: black; + text-align: center; +} + +.sheet-section { + padding: 0.7em; + border: 3px solid #af7927; +} + +.sheet-section-title { + font-family: 'Walter Turncoat'; + font-size: 17px; + color: black; + margin-bottom: 10px; + text-transform: uppercase; + display: flex; + flex-direction: row; + justify-content: center; + justify-items: center; + align-content: center; + align-items: center; +} + +.sheet-section-subtitle { + font-family: 'Walter Turncoat'; + color: black; + text-transform: uppercase; + font-size: small; +} + +.sheet-button-title { + margin-right: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-center { + justify-content: center; + justify-items: center; + align-items: center; + align-content: center; + +} + +.sheet-vertical-divisor { + border-right: 1.5px solid #443a39; +} + +.sheet-big-margin-bottom { + margin-bottom: 20px; +} + +.sheet-repeatable-item { + margin-bottom: 5px; +} + +.sheet-repeatable-item input, .sheet-repeatable-item textarea { + border: 1px solid black; + background-color: white; +} + +.sheet-repeatable-item input[type=text] { + flex-grow: 1; +} + +.sheet-repeatable-row { + display: flex; + flex-direction: row; + align-items: flex-end; +} + +/*------------- GRID SECTIONS -------------*/ +.sheet-header{ + justify-content: stretch; + justify-items: stretch; +} + +.sheet-logo-area { + align-content: center; + align-items: center; + padding: 0px; +} + +.sheet-logo{ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/adventuretime_logo.png"); + background-repeat: no-repeat; + background-size: 224px 102.9px; + width: 224px; + height: 102.9px; + margin: 10px; +} + +.sheet-char-size { + margin-top: 10px; + align-self: stretch; + border-top: 6px solid #af7927; + padding: 0.7em; +} + +.sheet-middle-column { + display: flex; + flex-direction: column; + flex-grow: 1; + align-content: stretch; + align-items: stretch; + width: 50%; +} + +.sheet-heropoints { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/heroepoints.png"); + background-repeat: no-repeat; + background-size: 140px 79px; + width: 140px; + height: 79px; +} + +.sheet-heropoints-input { + margin: 23px 0px 0px 100px !important; +} + +.sheet-experiencepoints { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/experiencepoints.png"); + background-repeat: no-repeat; + background-size: 140px 86px; + width: 140px; + height: 86px; +} + +.sheet-experiencepoints-input { + margin: 20px 0px 0px 20px !important; + width: 4em !important; +} + +.sheet-health { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/coracao.png"); + background-repeat: no-repeat; + background-size: 80px; + width: 80px; + height: 80px; +} + +.sheet-health-input { + margin: 27px 0px 0px 35px !important; +} + +.sheet-attribute-column { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.sheet-attribute-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/attribute.png"); + background-repeat: no-repeat; + background-size: 40px; + width: 40px; + height: 40px; + margin-bottom: 10px; +} + +.sheet-box-margins { + margin: 2px; +} + +.sheet-attribute-input { + margin: 10px 0px 0px 12px !important; +} + +.sheet-attribute { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + border: 3px solid #d2a44e; + flex-grow:1; + padding: 5px; +} + +.sheet-attribute-section { + border: 3px solid #af7927; +} + +.sheet-attribute-label { + margin: 10px; + flex-grow: 1; + text-align: center; +} + +.sheet-attribute-button { + margin: 10px; +} + +.sheet-historic { + align-items: stretch; +} + +.sheet-second-row { + justify-content: space-evenly; +} + +.sheet-weapon-reach { + width: 5em !important; +} + +.sheet-attribute-icon { + width: 24px; + height: 24px; +} diff --git a/AdventureTime/adventuretime.html b/AdventureTime/adventuretime.html new file mode 100644 index 0000000000..bdc17f8a26 --- /dev/null +++ b/AdventureTime/adventuretime.html @@ -0,0 +1,466 @@ +
+ +
+ +
+ +
+
+
+ Nome +
+
+ + +
+ +
+
+
+ Conceito +
+
+ +
+ +
+
+
+ Defeito +
+
+ +
+
+ + +
+
+
+ Histórico +
+
+ +
+ + + +
+ + + + +
+
+
+ Tamanho +
+
+ + +
+
+
+ +
+ + +
+
+
+ Pontos de Herói +
+
+
+ +
+
+ + + +
+
+
+ Pontos de Experiência +
+
+
+ +
+
+ +
+
+
+ Níveis de Saúde +
+
+ +
+
+
+ Atual +
+ +
+ +
+ +
+ +
+
+ Max +
+
+ +
+
+
+ +
+ +
+ +
+ +
+ +
+ + Jeitinho +
+ +
+ +
+ +
+ + Confusão +
+ +
+ +
+ +
+ + Músculos +
+ +
+ +
+ +
+ +
+
+ + Cachola +
+ +
+ +
+ +
+ + Contatos +
+ +
+ +
+ +
+ + Esperteza +
+ +
+ +
+ + +
+ +
+
+ + Falastrice +
+ +
+ +
+ +
+ + Maneirice +
+ +
+ +
+ +
+ + Teimosia +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+
+ Proezas +
+
+ +
+
+
+ + + + +
+ + +
+ +
+ + +
+
+ + +
+
+ +
+ +
+
+
+ Armas +
+
+ +
+
+
+ + +
+ Ação + +
+ +
+ Reação + +
+ +
+ Alcance + +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+ Estados +
+
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ Equipamento +
+
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+
+ Feitiços +
+
+ +
+
+
+ + +
+ Nível + +
+ + + +
+ +
+
+
+ +
+ +
+
+
+
+ Anotações +
+
+ +
+
+
+
+ + + + +
+ Modificador + Sucesso maior ou igual a + Quantidade de dados +
+ + + \ No newline at end of file diff --git a/AdventureTime/adventuretime.png b/AdventureTime/adventuretime.png new file mode 100644 index 0000000000..808c88663a Binary files /dev/null and b/AdventureTime/adventuretime.png differ diff --git a/AdventureTime/imgs/adventuretime_logo.png b/AdventureTime/imgs/adventuretime_logo.png new file mode 100644 index 0000000000..508945a8db Binary files /dev/null and b/AdventureTime/imgs/adventuretime_logo.png differ diff --git a/AdventureTime/imgs/attribute.png b/AdventureTime/imgs/attribute.png new file mode 100644 index 0000000000..2c8becb5c8 Binary files /dev/null and b/AdventureTime/imgs/attribute.png differ diff --git a/AdventureTime/imgs/cachola.png b/AdventureTime/imgs/cachola.png new file mode 100644 index 0000000000..cc37e92cc0 Binary files /dev/null and b/AdventureTime/imgs/cachola.png differ diff --git a/AdventureTime/imgs/confusao.png b/AdventureTime/imgs/confusao.png new file mode 100644 index 0000000000..f5112388a6 Binary files /dev/null and b/AdventureTime/imgs/confusao.png differ diff --git a/AdventureTime/imgs/contatos.png b/AdventureTime/imgs/contatos.png new file mode 100644 index 0000000000..810ccf9171 Binary files /dev/null and b/AdventureTime/imgs/contatos.png differ diff --git a/AdventureTime/imgs/coracao.png b/AdventureTime/imgs/coracao.png new file mode 100644 index 0000000000..6bc73efa3b Binary files /dev/null and b/AdventureTime/imgs/coracao.png differ diff --git a/AdventureTime/imgs/esperteza.png b/AdventureTime/imgs/esperteza.png new file mode 100644 index 0000000000..c0c65a8564 Binary files /dev/null and b/AdventureTime/imgs/esperteza.png differ diff --git a/AdventureTime/imgs/experiencepoints.png b/AdventureTime/imgs/experiencepoints.png new file mode 100644 index 0000000000..2e7d13e671 Binary files /dev/null and b/AdventureTime/imgs/experiencepoints.png differ diff --git a/AdventureTime/imgs/falastrice.png b/AdventureTime/imgs/falastrice.png new file mode 100644 index 0000000000..8f63d00e38 Binary files /dev/null and b/AdventureTime/imgs/falastrice.png differ diff --git a/AdventureTime/imgs/heroepoints.png b/AdventureTime/imgs/heroepoints.png new file mode 100644 index 0000000000..6db295415e Binary files /dev/null and b/AdventureTime/imgs/heroepoints.png differ diff --git a/AdventureTime/imgs/jeitinho.png b/AdventureTime/imgs/jeitinho.png new file mode 100644 index 0000000000..9e691133b8 Binary files /dev/null and b/AdventureTime/imgs/jeitinho.png differ diff --git a/AdventureTime/imgs/magica.png b/AdventureTime/imgs/magica.png new file mode 100644 index 0000000000..38ac7a425b Binary files /dev/null and b/AdventureTime/imgs/magica.png differ diff --git a/AdventureTime/imgs/maneirice.png b/AdventureTime/imgs/maneirice.png new file mode 100644 index 0000000000..e1b80a902a Binary files /dev/null and b/AdventureTime/imgs/maneirice.png differ diff --git a/AdventureTime/imgs/musculos.png b/AdventureTime/imgs/musculos.png new file mode 100644 index 0000000000..7d92273ce1 Binary files /dev/null and b/AdventureTime/imgs/musculos.png differ diff --git a/AdventureTime/imgs/poderosa.png b/AdventureTime/imgs/poderosa.png new file mode 100644 index 0000000000..7d916bd998 Binary files /dev/null and b/AdventureTime/imgs/poderosa.png differ diff --git a/AdventureTime/imgs/teimosia.png b/AdventureTime/imgs/teimosia.png new file mode 100644 index 0000000000..6459e5f456 Binary files /dev/null and b/AdventureTime/imgs/teimosia.png differ diff --git a/AdventureTime/sheet.json b/AdventureTime/sheet.json new file mode 100644 index 0000000000..2dae9f6f84 --- /dev/null +++ b/AdventureTime/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "adventuretime.html", + "css": "adventuretime.css", + "authors": "Daniel Tschiedel", + "roll20userid": "1408312", + "preview": "adventuretime.png", + "instructions": "This is an unofficial character sheet for the Adventure Time RPG game." +} diff --git a/AdventureTime/test/test.css b/AdventureTime/test/test.css new file mode 100644 index 0000000000..b25fddbd8e --- /dev/null +++ b/AdventureTime/test/test.css @@ -0,0 +1,292 @@ +/*----------------- MAIN CONTAINER DEFINITIONS ------------------*/ +@import url('https://fonts.googleapis.com/css?family=Walter+Turncoat&display=swap'); + +.sheet-main-container { + min-height: 600px; + min-width: 800px; + max-width: 1000px; + background-color: #f1e8d4; + border: 3px solid #d2a44e; +} + +.sheet-main-container * { + box-sizing: border-box !important; +} +/*----------------- GENERAL CSS ------------------*/ + +.sheet-main-container select { + width: auto; +} + +.sheet-dot { + background-color:black; + border-radius: 50%; + height: 5px; + width: 5px; + margin: 5px; +} + +.sheet-flex-row { + display: flex; + flex-direction: row; +} + +.sheet-flex-column { + display: flex; + flex-direction: column; +} + +.sheet-grow { + flex-grow: 1; +} + +.sheet-invisible-number { + border: none; + background-color: transparent; + height: 20px; +} + +.sheet-main-container input:focus, .sheet-main-container textarea:focus { + background: white; +} + +.sheet-main-container ::placeholder { + color:#604241; + font-style: italic; +} + +.sheet-main-container input[type=number] { + width: 3em; +} + +.sheet-main-container fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +.sheet-main-container textarea { + margin: 2px; + height: 100%; + width: 100%; + flex-grow: 1; + border: 0px; + background-color: transparent; + color: black; +} + +.sheet-header input { + margin: 2px; + flex-grow: 1; + border: none; + width: 100%; + background-color: transparent; + color: black; + text-align: center; +} + +.sheet-section { + padding: 0.7em; + border: 3px solid #af7927; +} + +.sheet-section-title { + font-family: 'Walter Turncoat'; + font-size: 17px; + color: black; + margin-bottom: 10px; + text-transform: uppercase; + display: flex; + flex-direction: row; + justify-content: center; + justify-items: center; + align-content: center; + align-items: center; +} + +.sheet-section-subtitle { + font-family: 'Walter Turncoat'; + color: black; + text-transform: uppercase; + font-size: small; +} + +.sheet-button-title { + margin-right: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-center { + justify-content: center; + justify-items: center; + align-items: center; + align-content: center; + +} + +.sheet-vertical-divisor { + border-right: 1.5px solid #443a39; +} + +.sheet-big-margin-bottom { + margin-bottom: 20px; +} + +.sheet-repeatable-item { + margin-bottom: 5px; +} + +.sheet-repeatable-item input, .sheet-repeatable-item textarea { + border: 1px solid black; + background-color: white; +} + +.sheet-repeatable-item input[type=text] { + flex-grow: 1; +} + +.sheet-repeatable-row { + display: flex; + flex-direction: row; + align-items: flex-end; +} + +/*------------- GRID SECTIONS -------------*/ +.sheet-header{ + justify-content: stretch; + justify-items: stretch; +} + +.sheet-logo-area { + align-content: center; + align-items: center; + padding: 0px; +} + +.sheet-logo{ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/adventuretime_logo.png"); + background-repeat: no-repeat; + background-size: 224px 102.9px; + width: 224px; + height: 102.9px; + margin: 10px; +} + +.sheet-char-size { + margin-top: 10px; + align-self: stretch; + border-top: 6px solid #af7927; + padding: 0.7em; +} + +.sheet-middle-column { + display: flex; + flex-direction: column; + flex-grow: 1; + align-content: stretch; + align-items: stretch; + width: 50%; +} + +.sheet-heropoints { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/heroepoints.png"); + background-repeat: no-repeat; + background-size: 140px 79px; + width: 140px; + height: 79px; +} + +.sheet-heropoints-input { + margin: 23px 0px 0px 100px !important; +} + +.sheet-experiencepoints { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/experiencepoints.png"); + background-repeat: no-repeat; + background-size: 140px 86px; + width: 140px; + height: 86px; +} + +.sheet-experiencepoints-input { + margin: 20px 0px 0px 20px !important; + width: 4em !important; +} + +.sheet-health { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/coracao.png"); + background-repeat: no-repeat; + background-size: 80px; + width: 80px; + height: 80px; +} + +.sheet-health-input { + margin: 27px 0px 0px 35px !important; +} + +.sheet-attribute-column { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +.sheet-attribute-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/AdventureTime/imgs/attribute.png"); + background-repeat: no-repeat; + background-size: 40px; + width: 40px; + height: 40px; + margin-bottom: 10px; +} + +.sheet-box-margins { + margin: 2px; +} + +.sheet-attribute-input { + margin: 10px 0px 0px 12px !important; +} + +.sheet-attribute { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + border: 3px solid #d2a44e; + flex-grow:1; + padding: 5px; +} + +.sheet-attribute-section { + border: 3px solid #af7927; +} + +.sheet-attribute-label { + margin: 10px; + flex-grow: 1; + text-align: center; +} + +.sheet-attribute-button { + margin: 10px; +} + +.sheet-historic { + align-items: stretch; +} + +.sheet-second-row { + justify-content: space-evenly; +} + +.sheet-weapon-reach { + width: 5em !important; +} + +.sheet-attribute-icon { + width: 24px; + height: 24px; +} diff --git a/AdventureTime/test/test.html b/AdventureTime/test/test.html new file mode 100644 index 0000000000..9a1d36adde --- /dev/null +++ b/AdventureTime/test/test.html @@ -0,0 +1,483 @@ + + + + + + + + My New Pen! + + + + + + +
+ +
+ +
+ +
+
+
+ Nome +
+
+ + +
+ +
+
+
+ Conceito +
+
+ +
+ +
+
+
+ Defeito +
+
+ +
+
+ + +
+
+
+ Histórico +
+
+ +
+ + + +
+ + + + +
+
+
+ Tamanho +
+
+ + +
+
+
+ +
+ + +
+
+
+ Pontos de Herói +
+
+
+ +
+
+ + + +
+
+
+ Pontos de Experiência +
+
+
+ +
+
+ +
+
+
+ Níveis de Saúde +
+
+ +
+
+
+ Atual +
+ +
+ +
+ +
+ +
+
+ Max +
+
+ +
+
+
+ +
+ +
+ +
+ +
+ +
+ + Jeitinho +
+ +
+ +
+ +
+ + Confusão +
+ +
+ +
+ +
+ + Músculos +
+ +
+ +
+ +
+ +
+
+ + Cachola +
+ +
+ +
+ +
+ + Contatos +
+ +
+ +
+ +
+ + Esperteza +
+ +
+ +
+ + +
+ +
+
+ + Falastrice +
+ +
+ +
+ +
+ + Maneirice +
+ +
+ +
+ +
+ + Teimosia +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+
+ Proezas +
+
+ +
+
+
+ + + + +
+ + +
+ +
+ + +
+
+ + +
+
+ +
+ +
+
+
+ Armas +
+
+ +
+
+
+ + +
+ Ação + +
+ +
+ Reação + +
+ +
+ Alcance + +
+ +
+ +
+
+
+ +
+ +
+ +
+
+
+ Estados +
+
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+ Equipamento +
+
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+
+ Feitiços +
+
+ +
+
+
+ + +
+ Nível + +
+ + + +
+ +
+
+
+ +
+ +
+
+
+
+ Anotações +
+
+ +
+
+
+
+ + + + +
+ Modificador + Sucesso maior ou igual a + Quantidade de dados +
+ + + + + + \ No newline at end of file diff --git a/AdventureTime/translation.json b/AdventureTime/translation.json new file mode 100644 index 0000000000..a83bf1d93e --- /dev/null +++ b/AdventureTime/translation.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Defeito", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Modificador", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reação", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/af.json b/AdventureTime/translations/af.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/af.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/cs.json b/AdventureTime/translations/cs.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/cs.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/da.json b/AdventureTime/translations/da.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/da.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/de.json b/AdventureTime/translations/de.json new file mode 100644 index 0000000000..24554c328f --- /dev/null +++ b/AdventureTime/translations/de.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Handicap", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaktion", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/el.json b/AdventureTime/translations/el.json new file mode 100644 index 0000000000..5988a4b26a --- /dev/null +++ b/AdventureTime/translations/el.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Τροποποίηση", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/en.json b/AdventureTime/translations/en.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/en.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/es.json b/AdventureTime/translations/es.json new file mode 100644 index 0000000000..1d24149c7c --- /dev/null +++ b/AdventureTime/translations/es.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Desventaja", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Como Moderador", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "VP", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/fr.json b/AdventureTime/translations/fr.json new file mode 100644 index 0000000000..4666c7e2c4 --- /dev/null +++ b/AdventureTime/translations/fr.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Handicap", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Modérer", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Réaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/he.json b/AdventureTime/translations/he.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/he.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/it.json b/AdventureTime/translations/it.json new file mode 100644 index 0000000000..b5d91e79bf --- /dev/null +++ b/AdventureTime/translations/it.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Svantaggio", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reazione", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/ja.json b/AdventureTime/translations/ja.json new file mode 100644 index 0000000000..a3443e034d --- /dev/null +++ b/AdventureTime/translations/ja.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "最大", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "リアクション", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/ko.json b/AdventureTime/translations/ko.json new file mode 100644 index 0000000000..878125e2df --- /dev/null +++ b/AdventureTime/translations/ko.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "모", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/nl.json b/AdventureTime/translations/nl.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/nl.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/pl.json b/AdventureTime/translations/pl.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/pl.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/pt.json b/AdventureTime/translations/pt.json new file mode 100644 index 0000000000..a83bf1d93e --- /dev/null +++ b/AdventureTime/translations/pt.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Defeito", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Modificador", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reação", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/ru.json b/AdventureTime/translations/ru.json new file mode 100644 index 0000000000..ea5d27601a --- /dev/null +++ b/AdventureTime/translations/ru.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Макс", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Модифицировать", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Реакция", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/sv.json b/AdventureTime/translations/sv.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/sv.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/tr.json b/AdventureTime/translations/tr.json new file mode 100644 index 0000000000..58be009aa6 --- /dev/null +++ b/AdventureTime/translations/tr.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "Max", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "Reaction", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "Mental", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/zh.json b/AdventureTime/translations/zh.json new file mode 100644 index 0000000000..5dcf9331c1 --- /dev/null +++ b/AdventureTime/translations/zh.json @@ -0,0 +1,48 @@ +{ + "name": "Nome", + "concept": "Conceito", + "hindrance": "Hindrance", + "historic": "Histórico", + "hero-points": "Pontos de Herói", + "experience-points": "Pontos de Experiência", + "health-levels": "Níveis de Saúde", + "current": "Atual", + "max": "上限", + "feats": "Proezas", + "fixing": "Jeitinho", + "fight": "Confusão", + "muscles": "Músculos", + "brains": "Cachola", + "contacts": "Contatos", + "cunning": "Esperteza", + "deceive": "Falastrice", + "charisma": "Maneirice", + "stubborn": "Teimosia", + "description": "Descrição", + "powerful": "Poderosa", + "magical": "Mágica", + "mod": "Mod", + "targetnumber": "Sucesso maior ou igual a ", + "numberofdice": "Quantidade de dados", + "status": "Estados", + "weapons": "Armas", + "action": "Ação", + "reaction": "反應", + "hands": "Mãos", + "reach": "Alcance", + "equipment": "Equipamento", + "notes": "Anotações", + "spells": "Feitiços", + "level": "Nível", + "school": "Escola", + "air": "Ar", + "dimensional": "Dimensional", + "fire": "Fogo", + "ice": "Gelo", + "mind": "心智", + "death": "Morte", + "rock": "Rocha", + "life": "Vida", + "attribute": "Atributo", + "size": "Tamanho" +} diff --git a/AdventureTime/translations/zu.json b/AdventureTime/translations/zu.json new file mode 100644 index 0000000000..8df693c884 --- /dev/null +++ b/AdventureTime/translations/zu.json @@ -0,0 +1,48 @@ +{ + "name": "crwdns398344:0crwdne398344:0", + "concept": "crwdns398346:0crwdne398346:0", + "hindrance": "crwdns398348:0crwdne398348:0", + "historic": "crwdns398350:0crwdne398350:0", + "hero-points": "crwdns398352:0crwdne398352:0", + "experience-points": "crwdns398354:0crwdne398354:0", + "health-levels": "crwdns398356:0crwdne398356:0", + "current": "crwdns398358:0crwdne398358:0", + "max": "crwdns398360:0crwdne398360:0", + "feats": "crwdns398362:0crwdne398362:0", + "fixing": "crwdns398364:0crwdne398364:0", + "fight": "crwdns398366:0crwdne398366:0", + "muscles": "crwdns398368:0crwdne398368:0", + "brains": "crwdns398370:0crwdne398370:0", + "contacts": "crwdns398372:0crwdne398372:0", + "cunning": "crwdns398374:0crwdne398374:0", + "deceive": "crwdns398376:0crwdne398376:0", + "charisma": "crwdns398378:0crwdne398378:0", + "stubborn": "crwdns398380:0crwdne398380:0", + "description": "crwdns398382:0crwdne398382:0", + "powerful": "crwdns398384:0crwdne398384:0", + "magical": "crwdns398386:0crwdne398386:0", + "mod": "crwdns398388:0crwdne398388:0", + "targetnumber": "crwdns398390:0crwdne398390:0", + "numberofdice": "crwdns398392:0crwdne398392:0", + "status": "crwdns398394:0crwdne398394:0", + "weapons": "crwdns398396:0crwdne398396:0", + "action": "crwdns398398:0crwdne398398:0", + "reaction": "crwdns398400:0crwdne398400:0", + "hands": "crwdns398402:0crwdne398402:0", + "reach": "crwdns398404:0crwdne398404:0", + "equipment": "crwdns398406:0crwdne398406:0", + "notes": "crwdns398408:0crwdne398408:0", + "spells": "crwdns398410:0crwdne398410:0", + "level": "crwdns398412:0crwdne398412:0", + "school": "crwdns398414:0crwdne398414:0", + "air": "crwdns398416:0crwdne398416:0", + "dimensional": "crwdns398418:0crwdne398418:0", + "fire": "crwdns398420:0crwdne398420:0", + "ice": "crwdns398422:0crwdne398422:0", + "mind": "crwdns398424:0crwdne398424:0", + "death": "crwdns398426:0crwdne398426:0", + "rock": "crwdns398428:0crwdne398428:0", + "life": "crwdns398430:0crwdne398430:0", + "attribute": "crwdns398432:0crwdne398432:0", + "size": "crwdns398434:0crwdne398434:0" +} diff --git a/Adventures in Middle Earth/translations/de.json b/Adventures in Middle Earth/translations/de.json index d63f2c8e77..f9680ee3fa 100644 --- a/Adventures in Middle Earth/translations/de.json +++ b/Adventures in Middle Earth/translations/de.json @@ -46,7 +46,7 @@ "sleight_of_hand-u": "FINGERFERTIGKEIT", "stealth-u": "HEIMLICHKEIT", "survival-u": "ÜBERLEBENSKUNST", - "traditions-u": "TRADITIONEN", + "traditions-u": "GEBRÄUCHE", "miserable-u": "MISERABLE", "damage-vuln-u": "SCHADENSANFÄLLIGKEITEN", "npc-dmg-vuln-place": "Feuer", @@ -129,7 +129,7 @@ "sleight_of_hand": "Fingerfertigkeit", "stealth": "Heimlichkeit", "survival": "Überlebenskunst", - "traditions": "Traditionen", + "traditions": "Gebräuche", "dmg-vuln": "Schadensanfälligkeiten", "dmg-res": "Schadensresistenzen", "dmg-imm": "Schadensimmunitäten", @@ -233,7 +233,7 @@ "background-u": "HINTERGRUND", "background": "Hintergrund", "culture-u": "KULTUR", - "shadow-weakness-u": "SSCHATTENSCHWÄCHE", + "shadow-weakness-u": "SCHATTENSCHWÄCHE", "exp-pts-u": "ERFAHRUNGSPUNKTE", "inspiration-u": "INSPIRATION", "prof-bonus-u": "ÜBUNGSBONUS", @@ -254,7 +254,7 @@ "saving-throws-u": "RETTUNGSWÜRFE", "acrobatics-core": "Akrobatik(GE)(We)", - "lore-core": "Geschichte (IN)", + "lore-core": "Legendenkunde (Int)", "athletics-core": "Athletik(Str)", "deception-core": "Täuschen (Cha)", "history-core": "Geschichte (Int)", @@ -271,7 +271,7 @@ "sleight_of_hand-core": "Fingerfertigkeit (Ges)", "stealth-core": "Heimlichkeit (Ges)", "survival-core": "Überlebenskunst (Wei)", - "traditions-core": "Traditions (Int)", + "traditions-core": "Gebräuche (Int)", "pass-wis-u": "Passive Weisheit (Wahrnehmung)", "tool-u": "WERKZEUG", "pro-u": "PRO", @@ -337,7 +337,7 @@ "encumbered-u": "BELASTET", "over-carrying-cap-u": "ÜBER DER TRAGEKAPAZITÄT", "equipment-u": "AUSRÜSTUNG", - "distinctive-quality-u": "DISTINCTIVE QUALITY", + "distinctive-quality-u": "EIGENHEITEN", "specialty-u": "SPEZIALITÄT", "hope-u": "HOFFNUNG", "dispair-u": "VERZWEIFLUNG", diff --git a/Alien Roleplaying Game/Alien-Roleplaying-Game.css b/Alien Roleplaying Game/Alien-Roleplaying-Game.css index bcdb6c2b47..ac809ed5ac 100644 --- a/Alien Roleplaying Game/Alien-Roleplaying-Game.css +++ b/Alien Roleplaying Game/Alien-Roleplaying-Game.css @@ -1,49 +1,66 @@ -.sheet-background-wrap { - background-color: #000000; /* Black */ - background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Background-Stars.jpg?raw=true"); - background-size: cover; +@import url('https://fonts.googleapis.com/css?family=Montserrat|Graduate|Courier+Prime|Share+Tech+Mono&display=swap'); +/* ORIGINAL */ + +.sheet-background-wrap{ + background-color: black; + padding: 5px; + min-width: 1128px; +} +.sheet-header-image{ + background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Weyland-Yutani.png?raw=true"); + background-position: center; background-repeat: no-repeat; - min-width: 1000px; - padding: 5px 7px 5px 7px; + background-size: contain; + padding-top: 25px; + margin-bottom: 10px; + margin-top: 2px; } -.sheet-header-image { - background-color: #000000; /* Black */ - background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Header-Weyland-Yutani.png?raw=true"); - background-size: cover; - background-repeat: no-repeat; - min-height: 20px; - padding: 0px 0px 15px 0px; -} - -.sheet-footer-image { - background-color: #000000; /* Black */ - background-image: url("https://github.com/Roll20/roll20-character-sheets/blob/master/Alien%20Roleplaying%20Game/Images/Footer-Wwyland-Yutani.png?raw=true"); - background-size: cover; - background-repeat: no-repeat; - min-height: 10px; - padding: 0px 0px 5px 0px; +.sheet-footer-text{ + display: block; + text-align: center; + font-family: 'Graduate'; + text-transform: uppercase; + color: rgba(211, 211, 211, 1); } .sheet-grid-container { display: grid; background-color: transparent; - /* border: 1px solid rgba(211, 211, 211, 1); LightGrey */ - border: 1px solid transparent; - border-radius: 5px; + border: 2px solid rgba(211, 211, 211, 1); /* LightGrey */ + border-radius: 0px; grid-gap: 10px; - padding: 3px 10px 3px 10px; + padding: 10px; text-align: center; } .sheet-contains-thirteen-columns { - grid-template-columns: 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75% 6.75%; + grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; } .sheet-contains-four-columns { - grid-template-columns: 20% 20% auto auto; + grid-template-columns: 20% 20% auto 25%; + grid-gap: 0px; padding: 0px; text-align: left; + border-color: transparent; +} + +.sheet-roll-buttons{ + display: grid; + grid-gap: 5px; +} + +.sheet-alpha-buttons{ + grid-template-columns: 1fr 1fr 1fr 1fr 1fr; +} +.sheet-beta-buttons{ + grid-template-columns: 1fr 1fr 1fr; + margin: 5px 0px; + +} +.sheet-gamma-buttons{ + grid-template-columns: 1fr 1fr; } .sheet-span-one-two { @@ -168,6 +185,7 @@ border-radius: 5px; padding: 5px; line-height: 24px; + vertical-align: bottom; } .sheet-black-item { @@ -181,8 +199,23 @@ .sheet-weapon-item { padding: 0px; + text-align: center; + border: 1px solid rgba(204, 217, 207, 1); + width: auto; + border-radius: 0px; + border-right: 1px dashed rgb(0, 139, 139); /* Dark Cyan #008b8b */ } +.sheet-weapon-item.sheet-range{ + padding: 0px 20px; +} + +.sheet-weapon-item.sheet-type{ + border-right-width: 0px; +} + + + /* - - - - - - - - - - AUTO EXPAND TEXTAREAS - - - - - - - - - - */ .sheet-auto-expand { position: relative; @@ -190,16 +223,18 @@ word-wrap: break-word; min-height: 1em; border: 1px Dashed #bfbfbf; - text-align: left; + font-family: 'Courier Prime'; + text-align: left; font-size: 0.9em; line-height: 1em; - padding: 2px; + padding: 2px; } .sheet-auto-expand span { visibility: hidden; - white-space: pre-wrap; + white-space: pre-wrap; display: block; + font-family: } .sheet-auto-expand textarea { @@ -224,6 +259,7 @@ padding: inherit; text-align: inherit; text-transform: inherit; + } .sheet-textarea-margin-correct { @@ -237,10 +273,28 @@ margin: 3px; } +.sheet-span-relationships .sheet-dotted-line, +.sheet-span-critical-injuries .sheet-dotted-line{ + margin: 8px; +} + .sheet-teal-header { color: rgba(204, 217, 207, 1); /* Teal Varient */ + font-family: 'Graduate', cursive; + text-transform: uppercase; + font-size: 10px; + letter-spacing: .1em; } +button[type="roll"].sheet-button-skill, .sheet-medium-teal-header, .sheet-dark-teal-header{ + color: #008b8b; /* Dark Cyan #008b8b */ + font-family: 'Montserrat'; + text-transform: uppercase; + font-size: 10px; + font-weight: bold; +} + + .sheet-medium-teal-header { color: rgba(113, 142, 135, 1); /* Medium Teal #718e87 */ } @@ -250,7 +304,7 @@ font-weight: bold; } .sheet-vertical-adjust-one { - margin-top: 3px; + margin-top: 5px; } .sheet-vertical-balance { @@ -262,12 +316,13 @@ border: 1px solid rgba(0, 0, 0, 1); /* Black #000000 */ border-radius: 0px 20px 20px 0px; float: left; - width: 85%; height: 1em; + width: 80%; line-height: 1em; margin: -14px 15% 0px -7px; text-align: left; padding: 0px 0px 0px 5px; + } .sheet-more-curves { @@ -285,17 +340,26 @@ } .sheet-mini-header { + display: block; + padding-top: 5px; + padding-bottom: 5px; + font-family: 'Montserrat'; font-size: .75em; - line-height: .75em; + line-height: .75em; } .sheet-bold { font-weight: bold; + font-size: 12px; + letter-spacing: 0px; } .sheet-align-left { text-align: left; } +.sheet-align-right { + text-align: right; +} .sheet-float-left { float: left; @@ -306,21 +370,13 @@ float: right; margin-right: 0px; } - -.sheet-fake-float { - margin-right: 65%; +.sheet-condition-title { + float: left; + margin-left: 5px; } - -.sheet-fake-float-two { - margin-right: 64%; -} - -.sheet-fake-float-three { - margin-right: 57%; -} - -.sheet-fake-float-four { - margin-right: 59.5%; +.sheet-relationship-title { + float: left; + margin-left: 5px; } .sheet-text-input { @@ -329,6 +385,21 @@ background: transparent; border: 1px solid transparent; padding: 3px; + font-family: 'Courier Prime'; +} + +.sheet-select-input{ + color: #555; + width: 100%; + height: 1.95em; + padding: 3px; + margin-bottom: 0px; + background: transparent; + font-family: 'Courier Prime'; +} + +.sheet-relationship-input{ + width: 85%; } .sheet-seventy-seven-percent { @@ -351,24 +422,28 @@ input[type="number"].sheet-no-spin-input, input[type="number"].sheet-number-inpu } input[type="number"].sheet-no-spin-input { + font-family: 'Courier Prime'; font-size: 1.5em; font-weight: bold; + text-align: center; + height: 1.5em; width: 1.5em; background-color: White; border: 1px solid White; + margin: -1px -2px; + padding: 3px 0px 0px 0px; + border-radius: 50%; - text-align: center; - margin-top: -2px; - margin-left: -3px; box-shadow: 1px 1px 7px rgba(0, 139, 139, 1), -1px -1px 7px rgba(0, 139, 139, 1), 1px 1px 10px white, -1px -1px 10px white; } input[type="number"].sheet-number-input { text-align: center; background: transparent; - border: 1px solid transparent; + border: 1px solid rgb(204, 204, 204); padding: 3px; + font-family: 'Courier Prime'; } input[type="number"].sheet-shorter-number { @@ -471,9 +546,10 @@ input.sheet-tab { } /* CUSTOM CHECKBOXES FOR ALIEN RPG */ + input.sheet-numbered-box { - width: 14px; - height: 14px; + width: 16px; + height: 16px; position: relative; top: 0px; left: 0px; @@ -490,16 +566,22 @@ input.sheet-numbered-box + span::before { text-align: center; display: inline-block; background: #f5f5f5; - width: 14px; - height: 14px; - font-size: 9px; + + width: 16px; + height: 16px; + font-size: 10px; + font-weight: bold; margin-left: -14px; margin-right: 2px; padding: 0px 0px 0px 0px; - line-height: 14px; + line-height: 16px; box-shadow: 0px 0px 5px #008b8b; } +input.sheet-condition + span::before { + margin-right: 10px; /* Indent the conditions on the right-hand side */ +} + input.sheet-numbered-box:checked + span::before { color: #ffffff; background: #cc0000; @@ -550,6 +632,7 @@ input.sheet-letter-box + span::before { width: 28px; height: 14px; font-size: 9px; + font-weight: bold; margin-left: -28px; margin-right: 2px; padding: 0px 0px 0px 0px; @@ -564,6 +647,10 @@ input.sheet-letter-box:checked + span::before { box-shadow: 0px 0px 10px #008b8b; } + + + + /* WOOHOO BUTTONS */ button[type="roll"].sheet-button-alpha:before, button[type="roll"].sheet-button-skill:before, button[type="action"].sheet-action-modifier:before { content: ""!important; @@ -573,26 +660,25 @@ button[type="roll"].sheet-button-alpha:before, button[type="roll"].sheet-button- text-shadow: none; } + + button[type="roll"].sheet-button-skill { - color: #008b8b; /* Dark Cyan #008b8b */ - font-size: 14px; - font-weight: bold; height: 14px; line-height: 14px; width: 60%; - margin: 1px; + margin: 4px 1px; background-color: transparent; border: 1px solid rgb(204, 217, 207); /* Teal Varient */ border-radius: 5px; background-image: none; display: inline; - text-shadow: none; + text-shadow: none; } button[type="roll"].sheet-button-skill:hover { color: rgb(204, 217, 207); /* Teal Varient */ background-color: rgba(0, 139, 139, 1); /* Dark Cyan #008b8b */ - border: #008b8b; + border: 1px solid #008b8b; text-shadow: none; } @@ -607,23 +693,22 @@ button[type="roll"].sheet-bigger-skill { width: 75%; } +/* Attack button in weapon box */ button[type="roll"].sheet-smaller-skill { width: 16%; + border: 1px solid #008b8b; /* Gave it an outline as players were not realising it was a button */ +} + + +button[type="roll"].sheet-button-alpha, button[type="roll"].sheet-button-beta, button[type="roll"].sheet-button-gamma{ + margin-top: 0px; + margin-bottom: 0px; + border: 1px solid #008b8b; + width: inherit; } button[type="roll"].sheet-button-alpha { - width: 16%; - border: 1px solid #008b8b; -} - -button[type="roll"].sheet-button-beta { - width: 29.5%; - border: 1px solid #008b8b; -} - -button[type="roll"].sheet-button-gamma { - width: 46%; - border: 1px solid #008b8b; + text-transform: lowercase; /* Exception because common usage of 1d6 is more important than consistency with theme. */ } button[type="roll"].sheet-button-skill:focus { diff --git a/Alien Roleplaying Game/Alien-Roleplaying-Game.html b/Alien Roleplaying Game/Alien-Roleplaying-Game.html index 6c499b8e70..6695723cb9 100644 --- a/Alien Roleplaying Game/Alien-Roleplaying-Game.html +++ b/Alien Roleplaying Game/Alien-Roleplaying-Game.html @@ -1,6 +1,8 @@ - - +
 
@@ -42,28 +44,28 @@
- +
- +
- +
- +
@@ -90,10 +92,12 @@
Relationships
-
- -
- +
+ Buddy: + +
+ Rival: +
@@ -101,16 +105,22 @@ Roll Buttons
- - - - -
- - -
- - +
+ + + + + +
+
+ + + +
+
+ + +
@@ -140,9 +150,10 @@
- +
- + +
  @@ -186,9 +197,9 @@
- +
- +
Strength @@ -237,7 +248,12 @@
-
+ +
+   +
+ +
@@ -248,12 +264,15 @@
-
+
+
+   +
Tiny Items @@ -261,7 +280,7 @@
- +
@@ -299,9 +318,9 @@ Critical Injuries
- +
- +
@@ -329,20 +348,24 @@
+ -
+
+   +
+
- +
- +
Empathy
- +
- +
@@ -372,18 +395,18 @@
Conditions
-
- Starving - +
+ Starving +
- Dehydrated - + Dehydrated +
- Exhausted - + Exhausted +
- Freezing - + Freezing +
@@ -433,23 +456,29 @@
-
+
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -460,23 +489,29 @@
-
+
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -489,21 +524,27 @@
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -516,21 +557,27 @@
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -543,21 +590,27 @@
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -570,21 +623,27 @@
-
+
Bonus
-
+
Damage
-
- +
+ Range
-
- - +
+ +
@@ -623,12 +682,13 @@
- +
+
@@ -1206,4 +1266,4 @@ console.log("tab_weapon Set To: 6"); }); - + \ No newline at end of file diff --git a/Alien Roleplaying Game/Alien-Roleplaying-Game.png b/Alien Roleplaying Game/Alien-Roleplaying-Game.png index 19fcda46f8..9955c26b90 100644 Binary files a/Alien Roleplaying Game/Alien-Roleplaying-Game.png and b/Alien Roleplaying Game/Alien-Roleplaying-Game.png differ diff --git a/Alien Roleplaying Game/Images/Background-Stars.jpg b/Alien Roleplaying Game/Images/Background-Stars.jpg deleted file mode 100644 index 6be1e7dcd3..0000000000 Binary files a/Alien Roleplaying Game/Images/Background-Stars.jpg and /dev/null differ diff --git a/Alien Roleplaying Game/Images/Footer-Wwyland-Yutani.png b/Alien Roleplaying Game/Images/Footer-Wwyland-Yutani.png deleted file mode 100644 index 8b82321e3f..0000000000 Binary files a/Alien Roleplaying Game/Images/Footer-Wwyland-Yutani.png and /dev/null differ diff --git a/Alien Roleplaying Game/Images/Header-Weyland-Yutani.png b/Alien Roleplaying Game/Images/Header-Weyland-Yutani.png deleted file mode 100644 index ad69d65d22..0000000000 Binary files a/Alien Roleplaying Game/Images/Header-Weyland-Yutani.png and /dev/null differ diff --git a/Alien Roleplaying Game/Images/Weyland-Yutani.png b/Alien Roleplaying Game/Images/Weyland-Yutani.png new file mode 100644 index 0000000000..5bf1e1eac2 Binary files /dev/null and b/Alien Roleplaying Game/Images/Weyland-Yutani.png differ diff --git a/Basic Fantasy RPG/BFRPGsheet.css b/Basic Fantasy RPG/BFRPGsheet.css index d2aff577e1..1c73faf469 100644 --- a/Basic Fantasy RPG/BFRPGsheet.css +++ b/Basic Fantasy RPG/BFRPGsheet.css @@ -1,27 +1,118 @@ +/********************************************************************** + bfrpg sheet css start +**********************************************************************/ -.charsheet thead td { +.sheet-bfrpgsheet { + font-family: Gothic A1, Century Gothic, Arial, Helvetica, sans-serif; +} + +.sheet-bfrpgsheet hr { + border-top: 1px solid black; + width: 98%; + margin: 0; + margin-top: 0.3em; + margin-bottom: 0.3em; + clear: both; +} + +.sheet-bfrpgsheet div.sheet-floater { + float: left; + margin-right: 0.5em; + max-width: 48%; + min-width: 30em; +} + +.sheet-bfrpgsheet input[type='text'] { + margin-right: 1em; +} + +.sheet-bfrpgsheet label { + display: inline-block; + width: 3.5em; +} + +.sheet-bfrpgsheet label.sheet-basic { + display: inline; +} + +.sheet-bfrpgsheet input.sheet-fillbox { + width: 90%; +} + +.sheet-bfrpgsheet label.sheet-wide { + width: 10em; +} + +.sheet-bfrpgsheet label.sheet-extrawide { + width: 15em; +} + +.sheet-bfrpgsheet input.sheet-wide, .sheet-bfrpgsheet span.sheet-wide { + width: 24em; +} + +.sheet-bfrpgsheet input.sheet-medium, .sheet-bfrpgsheet span.sheet-medium { + width: 12em; +} + +.sheet-bfrpgsheet input.sheet-narrow, .sheet-bfrpgsheet span.sheet-narrow { + width: 6em; +} + +.sheet-bfrpgsheet .sheet-attrgrid { + display: grid; + grid-template-columns: 40% 25% 25%; +} + +.sheet-bfrpgsheet button[type=roll] { + font-size: 90%; + margin-top: 0.1em; +} + +.sheet-bfrpgsheet input[name=attr_weaponnotes] { + margin-right: 0; +} + +.sheet-bfrpgsheet div.sheet-weapons { + width: 100%; +} + +.sheet-bfrpgsheet div.repcontrol { + width: 97%; +} + +.sheet-bfrpgsheet div.sheet-weapons thead td { font-weight: bold; } -.charsheet td { - padding-right: 1em; +.sheet-bfrpgsheet td.sheet-wide { + width: 20%; } -.charsheet input[type=text], .charsheet input[type=number] { +.sheet-bfrpgsheet td.sheet-narrow { + width: 12%; +} + +.sheet-bfrpgsheet td input { + width: 90%; +} + +.sheet-bfrpgsheet input[type=text], .sheet-bfrpgsheet input[type=number] { padding-left: 2px; border: 1px solid #333333; } -.charsheet table { - margin-bottom: 0.5em; +.sheet-bfrpgsheet span.sheet-spellcolumn { + display: inline-block; + width: 3em; + margin: 0; + margin-right: 0.4em; + margin-left: 0.3em; + padding: 0; + text-align: center; } -.sheet-formblock { - width: 22em; - margin-bottom: 1em; -} - -.charsheet textarea { +.sheet-bfrpgsheet textarea { width: 95%; max-width: 95%; min-width: 95%; @@ -31,21 +122,63 @@ border: 1px solid black; } -.sheet-thiefabilities input, .sheet-savingthrows input, .sheet-turnundead input { - width: 5em; -} - .sheet-shortnum { width: 2.5em; text-align: center; } -.sheet-spelltable { - margin-top: 0.5em; +/********************************************************************** + weapons block +**********************************************************************/ + +.sheet-bfrpgsheet .sheet-weaponsblock input[type=text].sheet-weaponab { + width: 60%; + margin-right: 0; } -.sheet-spelltable td { - padding: 0px; - text-align: center; +.sheet-bfrpgsheet .sheet-weaponsblock span { + display: inline-block; + width: 19%; + white-space: nowrap; } +.sheet-bfrpgsheet .sheet-weaponsblock input[type=text] { + width: 90%; +} + +.sheet-bfrpgsheet .sheet-weaponsblock label { + display: inline; +} + +/********************************************************************** + show/hide blocks +**********************************************************************/ + +.sheet-bfrpgsheet div.sheet-thiefabilitiesblock { + display: none; +} + +.sheet-bfrpgsheet input.sheet-showthiefabilities:checked ~ div.sheet-thiefabilitiesblock { + display: block; +} + +.sheet-bfrpgsheet div.sheet-spellsblock { + display: none; +} + +.sheet-bfrpgsheet input.sheet-showspells:checked ~ div.sheet-spellsblock { + display: block; +} + +.sheet-bfrpgsheet div.sheet-turnundeadblock { + display: none; +} + +.sheet-bfrpgsheet input.sheet-showturnundead:checked ~ div.sheet-turnundeadblock { + display: block; +} + +/********************************************************************** + bfrpg sheet css end +**********************************************************************/ + diff --git a/Basic Fantasy RPG/BFRPGsheet.html b/Basic Fantasy RPG/BFRPGsheet.html index 56ba1e0d47..47279b056d 100644 --- a/Basic Fantasy RPG/BFRPGsheet.html +++ b/Basic Fantasy RPG/BFRPGsheet.html @@ -1,411 +1,503 @@ + - +
- -
- - - - - - +
- +
+
-
- - - - - - - - - - - - - - - - - - - - - - - - -
NameSex
RaceClassLevel
HeightWeightAge
-
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeValueBonus
Strength
Intelligence
Wisdom
Dexterity
Constitution
Charisma
-
- -
- - -
- Combat - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AC - -
HP - -   - -
AB - -
  Melee - -
  Missile - -
Move - -
- -
- -
- - Weapons -
- Name - Total AB - Damage - Range - Notes -
-
- - - - - -
- -
- - -
- Equipment +
+ +
- -
- -
- Experience - - - - - - - - - -
Current XP - -
XP for Next Level - -
-
- -
- Thief Abilities - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Open Locks - -
Remove Traps
Pick Pockets
Move Silently
Climb Walls
Hide
Listen
-
- -
- Spells - - - - - - - - - - - - - - - - - - - - - - - - - -
Level123
Number
Level456
Number
- -
- -
- - -
- Money + +
- + + + +
-
- Saving Throws - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Death Ray or Poison - - -
- Magic Wands - - -
- Paralysis or Turn to Stone - - -
- Dragon Breath - - -
- Rods, Staves, and Spells - - -
-
- -
- Turn Undead - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Skeleton - - -
- Zombie - - -
- Ghoul - - -
- Wight - - -
- Wraith - - -
- Mummy - - -
- Spectre - - -
- Vampire - - -
-
- -
- Notes +
+ + + +
- + + +
+ +
-
-Basic Fantasy RPG Character Sheet for Roll20 v0.2 -
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+
+ +
+ +
+ + +
+ + + +
+ + +
+ + + + + +
+ + + +
+ + + + +
+ +
+ +
+ +
+ + + + + +
+
+
+ + + + + + + + + + + +
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ + +
+ +
+ +
+ + +
+
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+ +
+ +
+ + +
+
+ + + + + + + +
+ + + + + + + + +
+ + +
+
+ +
+ +
+ +
+ +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ +
+ +
+ + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ + Basic Fantasy RPG Character Sheet for Roll20 Release 3 + +
+ + + + + diff --git a/Basic Fantasy RPG/BFRPGsheet.png b/Basic Fantasy RPG/BFRPGsheet.png index eb8e76fe77..cd1d30aa08 100644 Binary files a/Basic Fantasy RPG/BFRPGsheet.png and b/Basic Fantasy RPG/BFRPGsheet.png differ diff --git a/Basic Fantasy RPG/README.md b/Basic Fantasy RPG/README.md new file mode 100644 index 0000000000..dab74717b6 --- /dev/null +++ b/Basic Fantasy RPG/README.md @@ -0,0 +1,11 @@ +**Official Basic Fantasy RPG Character Sheet** + +This is a clean, basic sheet. It does not contain support for any supplement +rules additions, just official Core Rules data elements, and has the simplest +possible implementation of equipment lists (a textarea) rather than a +repeating-section implementation. It is not data-compatible with the +"Expanded" sheet, but if you switch to this sheet from the Expanded sheet some +of the data fields will be copied automatically. At present, support for +packing up the equipment list is absent, and of course, all data elements +related to supplement rules are ignored. + diff --git a/Basic Fantasy RPG/sheet.json b/Basic Fantasy RPG/sheet.json index f6ff6391f1..2dd88babb0 100644 --- a/Basic Fantasy RPG/sheet.json +++ b/Basic Fantasy RPG/sheet.json @@ -4,5 +4,5 @@ "authors": "Chris Gonnerman", "roll20userid": "114964", "preview": "BFRPGsheet.png", -"instructions": "Sheet for Basic Fantasy RPG." +"instructions": "Basic Fantasy RPG Character Sheet by Publisher" } diff --git a/Black-Seven/translations/fr.json b/Black-Seven/translations/fr.json index 222432454c..f7b3c72a29 100644 --- a/Black-Seven/translations/fr.json +++ b/Black-Seven/translations/fr.json @@ -11,7 +11,7 @@ "fight": "Fight", "ambush": "Ambush", "crack": "Crack", - "shoot": "Shoot", + "shoot": "Tirer", "snipe": "Snipe", "retrieve": "Retrieve", "throw": "Lancer", diff --git a/Burn Bryte by Roll20/translations/zh.json b/Burn Bryte by Roll20/translations/zh.json index 89f7903fb8..4d27a4ddcd 100644 --- a/Burn Bryte by Roll20/translations/zh.json +++ b/Burn Bryte by Roll20/translations/zh.json @@ -1,7 +1,7 @@ { "ability-n": "特殊能力名稱", - "ability-n-n": "爆發能力名稱", - "ability-n-p": "爆發能力先決條件", + "ability-n-n": "新星能力名稱", + "ability-n-p": "新星能力先決條件", "ability-p": "特殊能力先決條件", "allied-s": "盟友船隻", "athletics": "運動: ", @@ -9,13 +9,13 @@ "attacks": "攻擊", "border": "邊界", "challenge-l": "挑戰等級", - "charge-h": "Charges or Health", + "charge-h": "充能或生命值", "complexity": "複雜度", "computers": "電腦: ", "conditions": "狀態", "culture": "文化", "culture-d": "多樣性", - "culture-e": "經濟地位", + "culture-e": "經濟狀態", "culture-p": "人口密度", "current-t": "當前回合動作", "d10": "d10", @@ -23,23 +23,23 @@ "d4": "d4", "d6": "d6", "d8": "d8", - "deceive": "欺騙: ", + "deceive": "欺瞞: ", "decorum": "禮儀: ", "description": "描述", "dice-u": "已使用骰子", "effect": "效果", - "empathy": "同理心: ", - "engineering": "工程: ", + "empathy": "共情: ", + "engineering": "工程學: ", "equipment": "裝備", "event-1": "事件 1", "event-2": "事件 2", "event-3": "事件 3", "event-4": "事件 4", "event-5": "事件 5", - "health-l": "健康等級", - "health-s": "盾牌健康等級", + "health-l": "生命值", + "health-s": "護盾生命值", "how-to-c": "如何完成", - "init-toggle": "Initiative Toggle", + "init-toggle": "先攻切換", "initiative": "先攻", "item-n": "物品名稱", "item-t": "物品類型", @@ -48,48 +48,48 @@ "medicine": "醫學: ", "melee": "近戰: ", "mental": "心智", - "mi": "MI健康等級", + "mi": "MI 生命值", "movement-s": "移動速度", "name": "名稱", - "notes": "Notes", - "nova-p": "爆發點數", + "notes": "筆記", + "nova-p": "新星點", "on-h": "命中", - "PC": "PC", + "PC": "玩家角色", "PC-n": "NPC", "perception": "察覺: ", "perform": "表演: ", - "physical": "肉體", + "physical": "身體", "social": "社交", "power": "力量: ", "power-l": "強度等級: ", - "presence": "Presence: ", - "qualities": "Qualities", + "presence": "存在: ", + "qualities": "品質", "range": "射程", "ranged": "遠程: ", "reward": "獎勵", "sealed-a": "密封銀晶", - "sh-l": "盾牌健康等級", + "sh-l": "護盾值", "ship-e": "史詩船隻: d12", "ship-f": "強大船隻: d10", - "ship-m": "雜兵船隻: d4", + "ship-m": "僕從船隻: d4", "ship-mod": "太空船模組", "ship-s": "標準船隻: d8", "ship-w": "弱小船隻: d6", "size": "體型", - "skullduggery": "賊活: ", + "skullduggery": "詭計: ", "Spaceship": "太空船", "Spaceship-n": "NPC 太空船", "special-a": "特殊能力", - "special-n": "爆發能力", + "special-n": "新星能力", "species": "物種", "speed": "速度", "squares": "方格", - "stealth": "潛行: ", - "story-p": "故事途徑", - "streetwise": "Streetwise: ", - "suave": "說服: ", + "stealth": "隱匿: ", + "story-p": "故事路徑", + "streetwise": "街頭智慧: ", + "suave": "儒雅: ", "successful-a": "成功動作", - "temp": "Temporary Sheet Selector", + "temp": "臨時表選擇器", "type": "類型", "unsealed-a": "未密封銀晶" -} \ No newline at end of file +} diff --git a/CWOD-M20/M20.html b/CWOD-M20/M20.html index 360757763d..d428e8dd39 100644 --- a/CWOD-M20/M20.html +++ b/CWOD-M20/M20.html @@ -1,31 +1,46 @@ - +

- - - - - - - - - - + + + + + + + + + +
- +

- +

Name:

@@ -58,7 +73,7 @@
-
+

Attributes

@@ -72,7 +87,7 @@

Mental

-
+

Strength

Dexterity

@@ -102,9 +117,9 @@
- - - + + +

Charisma

@@ -135,9 +150,9 @@
- - - + + +

Perception

@@ -168,13 +183,13 @@
- - - + + +
-
+

Abilities

@@ -190,23 +205,23 @@
-

Alertness

-

Art

-

Athletics

-

Awareness

-

Brawl

-

Empathy

-

Expression

-

Intimidation

-

Leadership

-

Streetwise

-

Subterfuge

- - +

Alertness

+

Art

+

Athletics

+

Awareness

+

Brawl

+

Empathy

+

Expression

+

Intimidation

+

Leadership

+

Streetwise

+

Subterfuge

+ +
- + @@ -214,7 +229,7 @@
- + @@ -222,7 +237,7 @@
- + @@ -230,7 +245,7 @@
- + @@ -238,7 +253,7 @@
- + @@ -246,7 +261,7 @@
- + @@ -254,7 +269,7 @@
- + @@ -262,7 +277,7 @@
- + @@ -270,7 +285,7 @@
- + @@ -278,7 +293,7 @@
- + @@ -286,7 +301,7 @@
- + @@ -294,7 +309,7 @@
- + @@ -302,7 +317,7 @@
- + @@ -311,38 +326,38 @@
- - - - - - - - - - - - - + + + + + + + + + + + + +
-

Crafts

-

Drive

-

Etiquette

-

Firearms

-

Martial Arts

-

Meditation

-

Melee

-

Research

-

Stealth

-

Survival

-

Technology

- - +

Crafts

+

Drive

+

Etiquette

+

Firearms

+

Martial Arts

+

Meditation

+

Melee

+

Research

+

Stealth

+

Survival

+

Technology

+ +
- + @@ -350,7 +365,7 @@
- + @@ -358,7 +373,7 @@
- + @@ -366,7 +381,7 @@
- + @@ -374,7 +389,7 @@
- + @@ -382,7 +397,7 @@
- + @@ -390,7 +405,7 @@
- + @@ -398,7 +413,7 @@
- + @@ -406,7 +421,7 @@
- + @@ -414,7 +429,7 @@
- + @@ -422,7 +437,7 @@
- + @@ -430,7 +445,7 @@
- + @@ -438,7 +453,7 @@
- + @@ -447,38 +462,38 @@
- - - - - - - - - - - - - + + + + + + + + + + + + +
-

Academics

-

Computer

-

Cosmology

-

Enigmas

-

Esoterica

-

Investigation

-

Law

-

Medicine

-

Occult

-

Politics

-

Science

- - +

Academics

+

Computer

+

Cosmology

+

Enigmas

+

Esoterica

+

Investigation

+

Law

+

Medicine

+

Occult

+

Politics

+

Science

+ +
- + @@ -486,7 +501,7 @@
- + @@ -494,7 +509,7 @@
- + @@ -502,7 +517,7 @@
- + @@ -510,7 +525,7 @@
- + @@ -518,7 +533,7 @@
- + @@ -526,7 +541,7 @@
- + @@ -534,7 +549,7 @@
- + @@ -542,7 +557,7 @@
- + @@ -550,7 +565,7 @@
- + @@ -558,7 +573,7 @@
- + @@ -566,7 +581,7 @@
- + @@ -574,7 +589,7 @@
- + @@ -583,25 +598,25 @@
- - - - - - - - - - - - - + + + + + + + + + + + + +

Spheres

-
+

Correspondence

Entropy

@@ -609,7 +624,7 @@
- + @@ -617,7 +632,7 @@
- + @@ -625,7 +640,7 @@
- + @@ -634,9 +649,9 @@
- - - + + +

Life

@@ -645,7 +660,7 @@
- + @@ -653,7 +668,7 @@
- + @@ -661,7 +676,7 @@
- + @@ -670,9 +685,9 @@
- - - + + +

Prime

@@ -681,7 +696,7 @@
- + @@ -689,7 +704,7 @@
- + @@ -697,7 +712,7 @@
- + @@ -706,12 +721,12 @@
- - - + + +
-
+

Advantages

@@ -719,8 +734,8 @@

Backgrounds

- - + + @@ -728,8 +743,8 @@
- - + + @@ -737,8 +752,8 @@
- - + + @@ -746,8 +761,8 @@
- - + + @@ -755,8 +770,8 @@
- - + + @@ -764,20 +779,21 @@
- - + +
-
+
+

Other Traits

- - + + @@ -785,8 +801,8 @@
- - + + @@ -794,8 +810,8 @@
- - + + @@ -803,8 +819,8 @@
- - + + @@ -812,8 +828,8 @@
- - + + @@ -821,8 +837,8 @@
- - + + @@ -830,8 +846,8 @@
- - + + @@ -839,8 +855,8 @@
- - + + @@ -856,8 +872,8 @@
-

Arete

-
+

Arete

+
@@ -868,155 +884,158 @@ - +

-

Willpower

+

Willpower

- + - +
- - - - - - - - - - - + + + + + + + + + + +


-

Quintessence

-
-
- - - - - - - - - - +

Quintessence

+
+
+ + + + + + + + + + +
+
+ + + + + + + + + + +
+
•
-
- - - - - - - - - - -
-
•
-
-

Paradox

+

Paradox



-

Dice Pools

-
- Attribute Ability          +

Dice Pools

+
+ Attribute + Ability         
- +
@@ -1142,7 +1162,8 @@ - +
@@ -1208,7 +1229,8 @@ - +
@@ -1274,7 +1296,8 @@ - +
@@ -1340,7 +1363,8 @@ - +
@@ -1350,77 +1374,82 @@

Bruised - - + +

-

Hurt                  -1 - - +

+ Hurt                  -1 + +

-

Injured             -1 - +

+ Injured             -1 +

Wounded         -2 - - + +

-

Mauled             -2 - +

+ Mauled             -2 +

Crippled          -5 - - + +

Incapacitated - - + +

@@ -1429,43 +1458,43 @@
Devotional - + - +
Elemental - + - +
Stabilizing - + - +
Tempera... - + - +

@@ -1473,38 +1502,38 @@
Dynamic    - + - +
Entropic     - + - +
Static         - + - +

Experience

- +

Notes

@@ -1524,7 +1553,7 @@
- +

Expanded Backgrounds

+

Rotes

-
+
Name
- +
Spheres Used
- +
Description @@ -1581,18 +1610,20 @@
- +
@@ -1600,27 +1631,33 @@ {{#subtitle}} - {{/subtitle}} + + + {{/subtitle}} {{#allprops() character_name character_id name_link subtitle}} - + + + {{/allprops() character_name character_id name_link subtitle}} -
-
- - {{#character_name}} - {{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}} - {{^character_id}}{{character_name}}{{/character_id}} - {{#name}}:{{/name}} - {{/character_name}} - {{#name}} - {{#name_link}}[{{name}}]({{name_link}}){{/name_link}} - {{^name_link}}{{name}}{{/name_link}} - {{/name}} - -
+
+ + {{#character_name}} + {{#character_id}}[{{character_name}}](http://journal.roll20.net/character/{{character_id}}){{/character_id}} + {{^character_id}}{{character_name}}{{/character_id}} + {{#name}}:{{/name}} + {{/character_name}} + {{#name}} + {{#name_link}}[{{name}}]({{name_link}}){{/name_link}} + {{^name_link}}{{name}}{{/name_link}} + {{/name}} + +
{{subtitle}}
+
{{subtitle}}
+
{{key}} : {{value}}
{{key}} : {{value}}
+ diff --git a/CWOD-Technocracy/Technocracy.png b/CWOD-Technocracy/Technocracy.png new file mode 100644 index 0000000000..62cffd27c9 Binary files /dev/null and b/CWOD-Technocracy/Technocracy.png differ diff --git a/CWOD-Technocracy/sheet.json b/CWOD-Technocracy/sheet.json new file mode 100644 index 0000000000..4c41e7cf73 --- /dev/null +++ b/CWOD-Technocracy/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "Technocracy.html", + "css": "Technocracy.css", + "authors": "Qwade. Thanks to Matt Zaldivar for the M20 base sheet which had most of the work done and just needed a little rebranding", + "roll20userid": "1112564", + "preview": "Technocracy.png", + "instructions": "Technocracy Character Sheet for use in the classic World of Darkness, 20th Anniversary Edition. Sheet Guide available at - https://wiki.roll20.net/Technocracy_20th" +} diff --git a/CWOD-V20/translations/ru.json b/CWOD-V20/translations/ru.json index eb999e4ffe..b835551b9f 100644 --- a/CWOD-V20/translations/ru.json +++ b/CWOD-V20/translations/ru.json @@ -1,139 +1,139 @@ { - "Primary": "Primary", - "MeritsFlaws": "Merits & Flaws", - "Powers": "Powers", - "OtherTraits": "Other Traits", - "Notes": "Notes", - "BondBoon": "Bond & Boon", - "BloodSorcery": "Blood Sorcery", - "Information": "Information", + "Primary": "Основное", + "MeritsFlaws": "Достоинства и Недостатки", + "Powers": "Силы", + "OtherTraits": "Другие черты", + "Notes": "Заметки", + "BondBoon": "Узы и Долги", + "BloodSorcery": "Кровавое чародейство", + "Information": "Информация", "Dice": "Кости", - "Combat": "Combat", - "maxblood-u": "Max Blood", - "maxtrait-u": "Max Trait", - "extrabruised-u": "Extra Bruised", + "Combat": "Имущество", + "maxblood-u": "Макс. Крови", + "maxtrait-u": "Макс. Черты", + "extrabruised-u": "Доп. Здоровье", "movement-u": "Передвижение", "dexspeed-u": "Dex Speed", "dexboostspeed-u": "Dex Boost Speed", "celerityspeed-u": "Celerity Speed", "miscspeed-u": "Misc Speed", - "walkspeed-u": "Walk Speed", - "jogspeed-u": "Jog Speed", - "runspeed-u": "Run Speed", - "yardsmeters-u": "Yards/Meters", - "meleeweapons-u": "Melee Weapons", + "walkspeed-u": "Скорость шага", + "jogspeed-u": "Бег трусцой", + "runspeed-u": "Скорость бега", + "yardsmeters-u": "Ярдов/метров", + "meleeweapons-u": "Ближнее оружие", "name2-u": "Название", "type-u": "Тип", - "minstr-u": "Min Str.", + "minstr-u": "Мин. Сила", "damage-u": "Урон", - "lethality-u": "Lethality", - "conceal-u": "Conceal", - "bashing-u": "Bashing", - "lethal-u": "Lethal", - "aggravated-u": "Aggravated", - "rangedweapons-u": "Ranged Weapons", + "lethality-u": "Тип урона", + "conceal-u": "Размер", + "bashing-u": "Ударный", + "lethal-u": "Летальный", + "aggravated-u": "Аггравированный", + "rangedweapons-u": "Дальнее оружие", "range-u": "Дистанция", - "rate-u": "Rate", - "clip-u": "Clip", - "armorshields-u": "Armor & Shields", - "onq-u": "On?", + "rate-u": "Скорострельность", + "clip-u": "Магазин", + "armorshields-u": "Броня и Щиты", + "onq-u": "Надето?", "class-u": "Класс", - "rating-u": "Rating", - "penalty-u": "Penalty", - "aggravatedq-u": "Aggravated?", - "armor-u": "Доспех", + "rating-u": "Рейтинг", + "penalty-u": "Штраф", + "aggravatedq-u": "Аггравированные?", + "armor-u": "Броня", "shield-u": "Щит", - "bodymod-u": "Body Mod.", + "bodymod-u": "Мод. Тела", "other-u": "Другое", "no-u": "Нет", "yes-u": "Да", - "gear-u": "Gear", - "name-u": "Name:", - "player-u": "Player:", - "chronicle-u": "Chronicle:", - "nature-u": "Nature:", - "demeanor-u": "Demeanor:", - "concept-u": "Concept:", - "clan-u": "Clan:", - "generation-u": "Generation:", - "sire-u": "Sire:", - "attributes-u": "Attributes", - "physical-u": "Physical", - "social-u": "Social", - "mental-u": "Mental", + "gear-u": "Снаряжение", + "name-u": "Имя:", + "player-u": "Игрок:", + "chronicle-u": "Хроника:", + "nature-u": "Натура:", + "demeanor-u": "Маска:", + "concept-u": "Концепт:", + "clan-u": "Клан:", + "generation-u": "Поколение:", + "sire-u": "Сир:", + "attributes-u": "Атрибуты", + "physical-u": "Физические", + "social-u": "Социальные", + "mental-u": "Ментальные", "strength-u": "Сила", "dexterity-u": "Ловкость", - "stamina-u": "Stamina", - "charisma-u": "Харизма", - "manipulation-u": "Manipulation", + "stamina-u": "Выносливость", + "charisma-u": "Обаяние", + "manipulation-u": "Манипулирование", "appearance-u": "Внешность", "intelligence-u": "Интеллект", - "wits-u": "Wits", - "perception-u": "Внимательность", - "abilities-u": "Abilities", - "talents-u": "Talents", - "skills-u": "Скиллы", - "knowledges-u": "Knowledges", - "alertness-u": "Alertness", + "wits-u": "Сообразительность", + "perception-u": "Восприятие", + "abilities-u": "Способности", + "talents-u": "Таланты", + "skills-u": "Навыки", + "knowledges-u": "Познания", + "alertness-u": "Бдительность", "athletics-u": "Атлетика", - "awareness-u": "Awareness", - "brawl-u": "Brawl", - "empathy-u": "Empathy", - "expression-u": "Expression", + "awareness-u": "Осознание", + "brawl-u": "Драка", + "empathy-u": "Эмпатия", + "expression-u": "Экспрессия", "intimidation-u": "Запугивание", - "leadership-u": "Leadership", - "subterfuge-u": "Subterfuge", - "streetwise-u": "Subterfuge", - "animalken-u": "Animal Ken", - "crafts-u": "Craft", - "drive-u": "Drive", - "etiquette-u": "Etiquette", - "firearms-u": "Firearms", - "larceny-u": "Larceny", - "melee-u": "Ближнебойное", - "performance-u": "Выступление", + "leadership-u": "Лидерство", + "subterfuge-u": "Хитрость", + "streetwise-u": "Знание улиц", + "animalken-u": "Знание животных", + "crafts-u": "Ремесла", + "drive-u": "Вождение", + "etiquette-u": "Этикет", + "firearms-u": "Огнестрельное", + "larceny-u": "Воровство", + "melee-u": "Ближний бой", + "performance-u": "Исполнение", "stealth-u": "Скрытность", "survival-u": "Выживание", - "academics-u": "Academics", - "computer-u": "Computer", - "finance-u": "Finance", - "investigation-u": "Анализ", - "law-u": "Law", + "academics-u": "Академические знания", + "computer-u": "Компьютеры", + "finance-u": "Финансы", + "investigation-u": "Расследование", + "law-u": "Право", "medicine-u": "Медицина", - "occult-u": "Occult", - "politics-u": "Politics", - "science-u": "Science", - "technology-u": "Technology", - "advantages-u": "Advantages", - "disciplines-u": "Disciplines", - "backgrounds-u": "Происхождение", - "virtues-u": "Virtues", - "conscience-u": "Conscience", - "convinction-u": "Convinction", - "selfcontrol-u": "Self-Control", - "instinct-u": "Instinct", - "courage-u": "Courage", - "othertraits-u": "Other Traits", - "paths-u": "Paths", - "merits-u": "Merits", + "occult-u": "Оккультизм", + "politics-u": "Политика", + "science-u": "Наука", + "technology-u": "Технологии", + "advantages-u": "Преимущества", + "disciplines-u": "Дисциплины", + "backgrounds-u": "Дополнения", + "virtues-u": "Добродетели", + "conscience-u": "Сознательность", + "convinction-u": "Убежденность", + "selfcontrol-u": "Самоконтроль", + "instinct-u": "Инстинкты", + "courage-u": "Храбрость", + "othertraits-u": "Другие Черты", + "paths-u": "Пути", + "merits-u": "Достоинства", "flaws-u": "Недостатки", - "humanitypath-u": "Humanity/path", - "bearing-u": "Bearing:", - "willpower-u": "Willpower", - "bloodpool-u": "Blood Pool", - "pointsperturn-u": "Points Per Turn", - "dicepools-u": "Dice Pools", - "attributeability-u": "Attribute            Ability", - "health-u": "Health", - "bruised-u": "Bruised", - "hurt-u": "Hurt", - "injured-u": "Injured", - "wounded-u": "Wounded", - "mauled-u": "Mauled", - "crippled-u": "Crippled", - "incapacitated-u": "Недееспособно", - "weakness-u": "Weakness", - "experience-u": "Experience", - "notes-u": "Notes", - "pathsins-u": "Path Sins" + "humanitypath-u": "Человечность/Путь", + "bearing-u": "Опора:", + "willpower-u": "Сила воли", + "bloodpool-u": "Запас крови", + "pointsperturn-u": "Пунктов крови/ход", + "dicepools-u": "Запасы кубиков", + "attributeability-u": "Атрибут            Способность", + "health-u": "Здоровье", + "bruised-u": "Синяки", + "hurt-u": "Легко ранен", + "injured-u": "Ранен", + "wounded-u": "Тяж. ранен", + "mauled-u": "Травмирован", + "crippled-u": "Искалечен", + "incapacitated-u": "Обездвижен", + "weakness-u": "Слабость", + "experience-u": "Опыт", + "notes-u": "Заметки", + "pathsins-u": "Грехи Пути" } diff --git a/Call_of_Cthulhu_7th_Ed_French/translations/de.json b/Call_of_Cthulhu_7th_Ed_French/translations/de.json index ea2ce71511..5ca647d617 100644 --- a/Call_of_Cthulhu_7th_Ed_French/translations/de.json +++ b/Call_of_Cthulhu_7th_Ed_French/translations/de.json @@ -334,7 +334,7 @@ "fumble": "E. Critique", "fail": "Échec", "malf": "Panne :", - "result": "Résultat : ", + "result": "Ergebnis", "dam": "Dég. : ", "pulp-bout-of-madness-u-time": "Folies Temporaires Pulp - Temp réel", "crazy-pan": "Plan Fou :", diff --git a/Chronicles of Darkness/CofD.css b/Chronicles of Darkness/CofD.css index c7434a5393..15ad8f399d 100644 --- a/Chronicles of Darkness/CofD.css +++ b/Chronicles of Darkness/CofD.css @@ -1,5 +1,21 @@ .charsheet { font-family: "Courier"; + + /* + * Define game-line colors + */ + --color-mortal: #2A2D80; + --color-vampire: #B21800; + --color-werewolf: #E9813E; + --color-mage: #0000FF; + --color-promethean: #660099; + --color-changeling: #006600; + --color-geist: #005394; + --color-mummy: #996600; + --color-demon: #2A2D80; + --color-beast: #2A2D80; + --color-hunter: #2A2D80; + --color-homebrew: #2A2D80; } .sheet-background { @@ -66,11 +82,15 @@ input.sheet-page[value="settings"] ~ .sheet-page:not(.sheet-settings), input.sheet-page[value="1"] ~ .sheet-page:not(.sheet-page1), input.sheet-page[value="2"] ~ .sheet-page:not(.sheet-page2), input.sheet-page[value="3"] ~ .sheet-page:not(.sheet-page3), +input.sheet-page[value="conditions"] ~ .sheet-page:not(.sheet-conditions), input.sheet-settingssheet:not(:checked) ~ .sheet-settings, input.sheet-page1-sheet:not(:checked) ~ .sheet-page1, input.sheet-page2-sheet:not(:checked) ~ .sheet-page2, input.sheet-page3-sheet:not(:checked) ~ .sheet-page3, +input.sheet-conditions-sheet:not(:checked) ~ .sheet-conditions, +input.sheet-edition[value="1"] ~ .sheet-2nd, input.sheet-edition[value="1"] ~ * .sheet-2nd, +input.sheet-edition[value="2"] ~ .sheet-1st, input.sheet-edition[value="2"] ~ * .sheet-1st, input.sheet-entity:not([value="corporeal"]) ~ .sheet-corporeal, input.sheet-entity:not([value="corporeal"]) ~ * .sheet-corporeal, @@ -217,12 +237,67 @@ button.sheet-toggle { font-weight: bold; } +/* + * Choose game-line color + */ +input.sheet-game-line[value="mortal"] ~ * { + --color-game-line: var(--color-mortal); +} + +input.sheet-game-line[value="vampire"] ~ * { + --color-game-line: var(--color-vampire); +} + +input.sheet-game-line[value="werewolf"] ~ * { + --color-game-line: var(--color-werewolf); +} + +input.sheet-game-line[value="mage"] ~ * { + --color-game-line: var(--color-mage); +} + +input.sheet-game-line[value="promethean"] ~ * { + --color-game-line: var(--color-promethean); +} + +input.sheet-game-line[value="changeling"] ~ * { + --color-game-line: var(--color-changeling); +} + +input.sheet-game-line[value="geist"] ~ * { + --color-game-line: var(--color-geist); +} + +input.sheet-game-line[value="mummy"] ~ * { + --color-game-line: var(--color-mummy); +} + +input.sheet-game-line[value="demon"] ~ * { + --color-game-line: var(--color-demon); +} + +input.sheet-game-line[value="beast"] ~ * { + --color-game-line: var(--color-beast); +} + +input.sheet-game-line[value="hunter"] ~ * { + --color-game-line: var(--color-hunter); +} + +input.sheet-game-line[value="homebrew"] ~ * { + --color-game-line: var(--color-mortal); +} + +/* + * Use chosen game-line color + */ button.sheet-active, input.sheet-flag[value="1"] ~ .sheet-toggle, input.sheet-page[value="settings"] ~ button.sheet-page-settings, input.sheet-page[value="1"] ~ button.sheet-page-1, input.sheet-page[value="2"] ~ button.sheet-page-2, input.sheet-page[value="3"] ~ button.sheet-page-3, +input.sheet-page[value="conditions"] ~ button.sheet-page-conditions, input.sheet-type[value="mortal1"] ~ * button.sheet-active-mortal1, input.sheet-type[value="mortal2"] ~ * button.sheet-active-mortal2, input.sheet-type[value="mortal2-organization"] ~ * button.sheet-active-mortal2-organization, @@ -257,265 +332,11 @@ input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; + color: var(--color-game-line); text-shadow: 0px 0px 10px black; font-weight: bold; } -input.sheet-type[value="mortal1"] ~ * button.sheet-active-mortal1, -input.sheet-type[value="mortal2"] ~ * button.sheet-active-mortal2, -input.sheet-type[value="mortal2-organization"] ~ * button.sheet-active-mortal2-organization, -input.sheet-game-line[value="mortal"] ~ * button.sheet-active, -input.sheet-game-line[value="mortal"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="mortal"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="mortal"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="mortal"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="mortal"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="mortal"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; -} - -input.sheet-type[value="vampire1"] ~ * button.sheet-active-vampire1, -input.sheet-type[value="vampire2"] ~ * button.sheet-active-vampire2, -input.sheet-game-line[value="vampire"] ~ * button.sheet-active, -input.sheet-game-line[value="vampire"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="vampire"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="vampire"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="vampire"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="vampire"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="vampire"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #B21800; -} - -input.sheet-type[value="werewolf1"] ~ * button.sheet-active-werewolf1, -input.sheet-type[value="werewolf2"] ~ * button.sheet-active-werewolf2, -input.sheet-game-line[value="werewolf"] ~ * button.sheet-active, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="werewolf"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="werewolf"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="werewolf"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="werewolf"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="werewolf"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #E9813E; -} - -input.sheet-type[value="mage1"] ~ * button.sheet-active-mage1, -input.sheet-type[value="mage2"] ~ * button.sheet-active-mage2, -input.sheet-game-line[value="mage"] ~ * button.sheet-active, -input.sheet-game-line[value="mage"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="mage"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="mage"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="mage"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="mage"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="mage"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="mage"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="mage"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="mage"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #0000FF; -} - -input.sheet-type[value="promethean1"] ~ * button.sheet-active-promethean1, -input.sheet-type[value="promethean2"] ~ * button.sheet-active-promethean2, -input.sheet-game-line[value="promethean"] ~ * button.sheet-active, -input.sheet-game-line[value="promethean"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="promethean"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="promethean"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="promethean"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="promethean"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="promethean"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #660099; -} - -input.sheet-type[value="changeling1"] ~ * button.sheet-active-changeling1, -input.sheet-type[value="changeling2"] ~ * button.sheet-active-changeling2, -input.sheet-game-line[value="changeling"] ~ * button.sheet-active, -input.sheet-game-line[value="changeling"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="changeling"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="changeling"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="changeling"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="changeling"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="changeling"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #006600; -} - -input.sheet-type[value="geist1"] ~ * button.sheet-active-geist1, -input.sheet-type[value="geist2"] ~ * button.sheet-active-geist2, -input.sheet-type[value="geist2-geist"] ~ * button.sheet-active-geist2-geist, -input.sheet-type[value="geist2-organization"] ~ * button.sheet-active-geist2-organization, -input.sheet-game-line[value="geist"] ~ * button.sheet-active, -input.sheet-game-line[value="geist"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="geist"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="geist"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="geist"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="geist"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="geist"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="geist"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="geist"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="geist"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #005394; -} - -input.sheet-type[value="mummy1"] ~ * button.sheet-active-mummy1, -input.sheet-type[value="mummy2"] ~ * button.sheet-active-mummy2, -input.sheet-game-line[value="mummy"] ~ * button.sheet-active, -input.sheet-game-line[value="mummy"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="mummy"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="mummy"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="mummy"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="mummy"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="mummy"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #996600; -} - -input.sheet-type[value="demon"] ~ * button.sheet-active-demon, -input.sheet-game-line[value="demon"] ~ * button.sheet-active, -input.sheet-game-line[value="demon"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="demon"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="demon"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="demon"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="demon"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="demon"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="demon"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="demon"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="demon"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; -} - -input.sheet-type[value="beast"] ~ * button.sheet-active-beast, -input.sheet-game-line[value="beast"] ~ * button.sheet-active, -input.sheet-game-line[value="beast"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="beast"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="beast"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="beast"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="beast"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="beast"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="beast"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="beast"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="beast"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; -} - -input.sheet-type[value="hunter"] ~ * button.sheet-active-hunter, -input.sheet-game-line[value="hunter"] ~ * button.sheet-active, -input.sheet-game-line[value="hunter"] ~ * button.active-hunter, -input.sheet-game-line[value="hunter"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="hunter"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="hunter"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="hunter"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="hunter"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="hunter"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; -} - -input.sheet-type[value="homebrew1"] ~ * button.sheet-active-homebrew1, -input.sheet-type[value="homebrew2"] ~ * button.sheet-active-homebrew2, -input.sheet-type[value="homebrew2-organization"] ~ * button.sheet-active-homebrew2-organization, -input.sheet-game-line[value="homebrew"] ~ * button.sheet-active, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-flag[value="1"] ~ .sheet-toggle, -input.sheet-game-line[value="homebrew"] ~ input.sheet-page[value="settings"] ~ button.sheet-page-settings, -input.sheet-game-line[value="homebrew"] ~ input.sheet-page[value="1"] ~ button.sheet-page-1, -input.sheet-game-line[value="homebrew"] ~ input.sheet-page[value="2"] ~ button.sheet-page-2, -input.sheet-game-line[value="homebrew"] ~ input.sheet-page[value="3"] ~ button.sheet-page-3, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rollstyle[value="sheet"] ~ * button.sheet-rollstyle-sheet, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rollstyle[value="attack"] ~ * button.sheet-rollstyle-attack, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rollstyle[value="simple"] ~ * button.sheet-rollstyle-simple, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="chance"] ~ * button.sheet-rolltype-chance, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="normal"] ~ * button.sheet-rolltype-normal, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="9-again"] ~ * button.sheet-rolltype-9-again, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="8-again"] ~ * button.sheet-rolltype-8-again, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="dont-reroll"] ~ * button.sheet-rolltype-dont-reroll, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="chance-rote"] ~ * button.sheet-rolltype-chance-rote, -input.sheet-game-line[value="homebrew"] ~ * input.sheet-rolltype-select[value="rote"] ~ * button.sheet-rolltype-rote { - color: #2A2D80; -} - .sheet-rolltemplates { display: none; } @@ -1270,6 +1091,64 @@ input[type=text].sheet-title { font-size: 1.4em; font-weight: bolder; } + +/* + * Page 4, Conditions + */ +.sheet-hint { + max-width: 66ch; + margin: auto; +} + +.sheet-hint > span:first-child { + font-weight: bold; +} + +.sheet-hint ol > li { + margin-left: 4ch; +} + +.repcontainer[data-groupname="repeating_conditions"] { + display: grid; + grid-template-columns: auto auto; + grid-gap: 1em 4ch; +} + +.repcontainer[data-groupname="repeating_conditions"] > div.repitem { + max-width: 66ch; +} + +.sheet-condition > h3 { + background-image: linear-gradient(var(--color-game-line), rgba(255,0,0,0)); + border-top-left-radius: 1em; + border-top-right-radius: 1em; + padding: 0.5em; +} + +.sheet-condition > h3 > input[type="text"] { + width: 100%; + height: auto; + box-shadow: none; + color: white; + text-transform: uppercase; +} + +.sheet-condition > textarea { + height: 2.5em; + margin: 0; + border-color: rgba(255,0,0,0); +} + +.sheet-condition > textarea:focus, +.sheet-condition > textarea:placeholder-shown, +.sheet-condition > textarea:hover { + border-color: #ccc; +} + +.sheet-condition > textarea.sheet-description { + height: 6em; +} + /* PRD-1407 */ .charsheet .repcontainer.editmode .repitem .itemcontrol { z-index: 100; diff --git a/Chronicles of Darkness/CofD.html b/Chronicles of Darkness/CofD.html index 8f24e8cec4..a835825ced 100644 --- a/Chronicles of Darkness/CofD.html +++ b/Chronicles of Darkness/CofD.html @@ -13,6 +13,7 @@ +
@@ -244,14 +245,14 @@
- - + + +
+
+ Hint: + + Try adding conditions with the "+Add" button. + +
+ + You will be able to specify a title, a description, + a resolution condition and a beat condition. + +
+
+ Hint: + + In order to delete a Condition: + +
    +
  1. + please use "Modify" button; +
  2. +
  3. + press on the red "trash" icon; +
  4. +
  5. + press on the "Done" button. +
  6. +
+
+
+
+ +

+ +

+ + + + + +

Resolution:

+ + + +

Beat:

+ +
+
+
+ @@ -3477,7 +3550,7 @@ }); }); - const pages = ["settings", "1", "2", "3"]; + const pages = ["settings", "1", "2", "3", "conditions"]; pages.forEach((page) => { on(`clicked:page_${page}`, () => { setAttrs({ @@ -4194,4 +4267,4 @@ }; } - \ No newline at end of file + diff --git a/Chronicles of Darkness/images/geist.png b/Chronicles of Darkness/images/geist20200815.png similarity index 100% rename from Chronicles of Darkness/images/geist.png rename to Chronicles of Darkness/images/geist20200815.png diff --git a/Chronicles of Darkness/sheet.json b/Chronicles of Darkness/sheet.json index 39b8eb0b55..3b45252674 100644 --- a/Chronicles of Darkness/sheet.json +++ b/Chronicles of Darkness/sheet.json @@ -1,7 +1,7 @@ { "html": "CofD.html", "css": "CofD.css", - "authors": "Steve K., Shawn G., Natha, Primal Zed", + "authors": "Steve K., Shawn G., Natha, Primal Zed, Constantine F.", "roll20userid": "5047", "preview": "CofD preview.png", "instructions": "The New World of Darkness sheet supports both first and second edition mechanics.\nIt supports:\n* **1st Edition:** Chronicles of Darkness, Vampire, Werewolf, Mage, Promethean, Hunter, Changeling, Geist, and Mummy\n* **2nd Edition:** Chronicles of Darkness, Vampire, Werewolf, Mage, Promethean, Changeling, Demon, Geist, and Beast\n\nCheckout the [Sheet Guide](https://wiki.roll20.net/New_World_Of_Darkness_Official_Sheet) to get the most out of the new functionality of the official sheet." diff --git a/Chronicles of Darkness/translations/af.json b/Chronicles of Darkness/translations/af.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/af.json +++ b/Chronicles of Darkness/translations/af.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/cs.json b/Chronicles of Darkness/translations/cs.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/cs.json +++ b/Chronicles of Darkness/translations/cs.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/da.json b/Chronicles of Darkness/translations/da.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/da.json +++ b/Chronicles of Darkness/translations/da.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/de.json b/Chronicles of Darkness/translations/de.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/de.json +++ b/Chronicles of Darkness/translations/de.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/el.json b/Chronicles of Darkness/translations/el.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/el.json +++ b/Chronicles of Darkness/translations/el.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/en.json b/Chronicles of Darkness/translations/en.json index dcb52995dd..117325fa21 100644 --- a/Chronicles of Darkness/translations/en.json +++ b/Chronicles of Darkness/translations/en.json @@ -358,6 +358,14 @@ "esotery": "Esotery", "homebrew": "Homebrew", "abilities": "Abilities", - "resource": "Resource" - } - \ No newline at end of file + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" +} diff --git a/Chronicles of Darkness/translations/es.json b/Chronicles of Darkness/translations/es.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/es.json +++ b/Chronicles of Darkness/translations/es.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/fr.json b/Chronicles of Darkness/translations/fr.json index 21042659cb..ab9e37fa0e 100644 --- a/Chronicles of Darkness/translations/fr.json +++ b/Chronicles of Darkness/translations/fr.json @@ -317,5 +317,32 @@ "and-hits-for": "et touche avec", "makes-a": "attaque avec", "attack": "en lançant", - "unarmed": "Mains nues" + "unarmed": "Mains nues", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/he.json b/Chronicles of Darkness/translations/he.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/he.json +++ b/Chronicles of Darkness/translations/he.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/it.json b/Chronicles of Darkness/translations/it.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/it.json +++ b/Chronicles of Darkness/translations/it.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/ja.json b/Chronicles of Darkness/translations/ja.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/ja.json +++ b/Chronicles of Darkness/translations/ja.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/ko.json b/Chronicles of Darkness/translations/ko.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/ko.json +++ b/Chronicles of Darkness/translations/ko.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/nl.json b/Chronicles of Darkness/translations/nl.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/nl.json +++ b/Chronicles of Darkness/translations/nl.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/pl.json b/Chronicles of Darkness/translations/pl.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/pl.json +++ b/Chronicles of Darkness/translations/pl.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/pt.json b/Chronicles of Darkness/translations/pt.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/pt.json +++ b/Chronicles of Darkness/translations/pt.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/ru.json b/Chronicles of Darkness/translations/ru.json index d1b0140bf3..d6d122be17 100644 --- a/Chronicles of Darkness/translations/ru.json +++ b/Chronicles of Darkness/translations/ru.json @@ -317,5 +317,32 @@ "and-hits-for": "и попадает на", "makes-a": "совершает", "attack": "атаку", - "unarmed": "Без оружия" + "unarmed": "Без оружия", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Подсказка:", + "add-conditions": "Добавляйте состояния при помощи кнопки \"+Add\".", + "add-conditions-details": "Вы можете указать название, описание, условие окончания и условие получения beat.", + "delete-condition": "Для удаления состояния:", + "delete-condition-step1": "нажмите кнопку \"Modify\";", + "delete-condition-step2": "нажмите красную иконку корзины;", + "delete-condition-step3": "нажмите кнопку \"Done\".", + "resolution": "Окончание", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/sv.json b/Chronicles of Darkness/translations/sv.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/sv.json +++ b/Chronicles of Darkness/translations/sv.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/tr.json b/Chronicles of Darkness/translations/tr.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/tr.json +++ b/Chronicles of Darkness/translations/tr.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/zh.json b/Chronicles of Darkness/translations/zh.json index e666cbe27f..2589fa7d25 100644 --- a/Chronicles of Darkness/translations/zh.json +++ b/Chronicles of Darkness/translations/zh.json @@ -317,5 +317,32 @@ "and-hits-for": "and hits for", "makes-a": "makes a", "attack": "attack", - "unarmed": "Unarmed" + "unarmed": "Unarmed", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/Chronicles of Darkness/translations/zu.json b/Chronicles of Darkness/translations/zu.json index 92250908ac..827b7d82e8 100644 --- a/Chronicles of Darkness/translations/zu.json +++ b/Chronicles of Darkness/translations/zu.json @@ -317,5 +317,32 @@ "and-hits-for": "crwdns127158:0crwdne127158:0", "makes-a": "crwdns127160:0crwdne127160:0", "attack": "crwdns127162:0crwdne127162:0", - "unarmed": "crwdns127164:0crwdne127164:0" + "unarmed": "crwdns127164:0crwdne127164:0", + "ceremonies": "Ceremonies", + "members": "Members", + "regalia": "Regalia", + "corpus": "Corpus", + "rank": "Rank", + "remembrances": "Remembrances", + "innate-key": "Innate Key", + "crisis-point-triggers": "Crisis Point Triggers", + "hazy": "Hazy", + "vague": "Vague", + "specific": "Specific", + "membership": "Membership", + "congregation": "Congregation", + "standing": "Standing", + "esotery": "Esotery", + "homebrew": "Homebrew", + "abilities": "Abilities", + "resource": "Resource", + "hint": "Hint:", + "add-conditions": "Try adding conditions with the \"+Add\" button.", + "add-conditions-details": "You will be able to specify a title, a description, a resolution condition and a beat condition.", + "delete-condition": "In order to delete a Condition:", + "delete-condition-step1": "please use \"Modify\" button;", + "delete-condition-step2": "press on the red \"trash\" icon;", + "delete-condition-step3": "press on the \"Done\" button.", + "resolution": "Resolution", + "beat": "Beat" } diff --git a/ChroniquesGalactiques/ReadMe.md b/ChroniquesGalactiques/ReadMe.md index 053eaa631b..f7c7dc8b21 100644 --- a/ChroniquesGalactiques/ReadMe.md +++ b/ChroniquesGalactiques/ReadMe.md @@ -9,11 +9,17 @@ Cette feuilles de personnage inclue quelques jets et règles optionnelles. Le jeu complet est paru dans le magazine [Casus Belli](http://www.black-book-editions.fr/catalogue.php?id=207) #17,18 et 19. # Version courante -V3.10 [Screenshot](cog_v3.png) +V3.11 [Screenshot](cog_v3.png) # Notes de version -## V3.10 -* Retour à un schema de versionning sémantique classique (major.minor.patch) + +## V3.11 (2020.08.15) +* Amélioration de la logique d'import d'un statblock de PNJ ou de créature +* Lancement de l'import du statblock via un bouton + +## V3.10 (2020.08.04) +* Retour au schema de versionning sémantique classique (major.minor.patch) +* Modification de la logique de migration/mise à jour du sheetworker ## V2020.0525 * Reprise des dernières modifications de la fiche COC diff --git a/ChroniquesGalactiques/cog.css b/ChroniquesGalactiques/cog.css index ccde2c2bd1..d20e1965ed 100644 --- a/ChroniquesGalactiques/cog.css +++ b/ChroniquesGalactiques/cog.css @@ -1,3 +1,5 @@ +/* @import url('https://fonts.googleapis.com/css?family=Fira+Sans&display=swap'); */ + /* Couleurs Base bleu = #2F5860 Bleu light = #7F989D @@ -59,7 +61,7 @@ table.sheet-tabsep { } .sheet-boxtitre { - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 15px; background-color: #2f5860; text-align: center; @@ -73,7 +75,7 @@ table.sheet-tabsep { } .sheet-boxtitresmall { - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 13px; background-color: #2f5860; text-align: center; @@ -134,7 +136,7 @@ textarea.sheet-boxability { } .sheet-textfat { - font-family: "Contrail One"; + font-family: 'Contrail One'; /* 'Contrail One'; */ font-size: 15px; font-weight: bold; @@ -144,7 +146,7 @@ textarea.sheet-boxability { } .sheet-textfatleft { - font-family: "Contrail One"; + font-family: 'Contrail One'; /* 'Contrail One'; */ font-size: 15px; font-weight: bold; @@ -156,7 +158,7 @@ textarea.sheet-boxability { } .sheet-textbase { - font-family: "Contrail One"; + font-family: 'Contrail One'; /* 'Contrail One'; */ font-size: 14px; color: #2f5860; @@ -176,9 +178,9 @@ textarea.sheet-boxability { font-weight: normal; } -button[type="roll"].sheet-boxtitre { +button[type='roll'].sheet-boxtitre { height: 20px; - font-family: "Contrail One"; + font-family: 'Contrail One'; /* 'Contrail One'; */ font-size: 15px; font-weight: normal; @@ -190,14 +192,14 @@ button[type="roll"].sheet-boxtitre { text-shadow: none; } -button[type="roll"].sheet-boxtitre:hover { +button[type='roll'].sheet-boxtitre:hover { font-weight: bold; background-color: #7f989d; border: 1px solid white; } -button[type="roll"].sheet-neutre, -button[type="roll"].sheet-output { +button[type='roll'].sheet-neutre, +button[type='roll'].sheet-output { color: #2f5860; font-weight: normal; font-size: 20px; @@ -211,27 +213,31 @@ button[type="roll"].sheet-output { margin: 0px; } -button[type="roll"].sheet-neutre:hover, -button[type="roll"].sheet-output:hover { +button[type='roll'].sheet-neutre:hover, +button[type='roll'].sheet-output:hover { font-weight: bold; } -button[type="roll"].sheet-output { +button[type='roll'].sheet-output { font-family: pictos; } -button[type="roll"].sheet-output:before { - content: ""; +button[type='roll'].sheet-output:before { + content: ''; } -button[type="action"].sheet-boxtitre:hover { +button[type='action'].sheet-boxtitre:hover { border-radius: 2px; background-color: #7f989d; } -button[type="action"].sheet-iconbtn { +button.sheet-flatbtn { border: 0px; background-color: transparent; + font-size: 12px !important; +} + +button[type='action'].sheet-iconbtn { font-family: pictos; font-size: large; } @@ -268,12 +274,12 @@ select.sheet-selectmin { appearance: none; } -input[type="number"] { +input[type='number'] { width: 60px; text-align: right; } -input[type="text"] { +input[type='text'] { width: 100%; text-align: left; padding-left: 4px; @@ -395,7 +401,7 @@ input.sheet-hidden-tab { /* Switch -- styled checkboxes */ -input[type="checkbox"].sheet-block-switch { +input[type='checkbox'].sheet-block-switch { opacity: 0; width: 16px; height: 16px; @@ -407,20 +413,20 @@ input[type="checkbox"].sheet-block-switch { z-index: 1; } -input[type="checkbox"].sheet-block-switch + span::before { +input[type='checkbox'].sheet-block-switch + span::before { margin-right: 4px; line-height: 14px; text-align: center; display: inline-block; vertical-align: middle; - content: "►"; + content: '►'; width: 16px; height: 16px; font-size: 12px; } -input[type="checkbox"].sheet-block-switch:checked + span::before { - content: "▼"; +input[type='checkbox'].sheet-block-switch:checked + span::before { + content: '▼'; } .sheet-block-hidden, @@ -507,7 +513,7 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { padding: 0px 5px 0px 5px; font-size: 16px; text-align: left; - font-family: "Contrail One"; + font-family: 'Contrail One'; font-variant: small-caps; font-weight: bold; white-space: nowrap; @@ -517,14 +523,14 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { color: #000; font-size: 12px; font-style: italic; - font-family: "Verdana"; + font-family: 'Verdana'; font-variant: small-caps; text-align: right; white-space: nowrap; } .sheet-rolltemplate-co1 .sheet-tcat { - font-family: "Verdana"; + font-family: 'Verdana'; font-size: 12px; font-weight: normal; text-align: right; @@ -534,7 +540,7 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { .sheet-rolltemplate-co1 td { margin: 0px; padding: 0px 5px 0px 5px; - font-family: "Verdana"; + font-family: 'Verdana'; font-size: 12px; font-weight: normal; white-space: nowrap; @@ -561,7 +567,7 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { border-color: #7f989d; border-style: solid; border-radius: 25%; - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 16px; } @@ -571,7 +577,7 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { border-color: #3fb315; border-style: solid; border-radius: 25%; - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 16px; } @@ -581,7 +587,7 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { border-color: #b31515; border-style: solid; border-radius: 25%; - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 16px; } @@ -591,6 +597,6 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { border-color: #2f5860; border-style: solid; border-radius: 25%; - font-family: "Contrail One"; + font-family: 'Contrail One'; font-size: 16px; } diff --git a/ChroniquesGalactiques/cog.html b/ChroniquesGalactiques/cog.html index 55aae4a063..53e8082fe4 100644 --- a/ChroniquesGalactiques/cog.html +++ b/ChroniquesGalactiques/cog.html @@ -1,8 +1,8 @@
- - + + @@ -310,35 +310,35 @@ - - - - - - - - @@ -1520,7 +1520,7 @@
-
PARAMETRES
@@ -2515,6 +2515,7 @@ placeholder="Coller ici un statblock copié depuis le PDF">
+
@@ -2694,8 +2695,8 @@ /** * Log any type of data to the browser console - * @param {any} l - * @param {string} m + * @param {any} l + * @param {string} m */ function consoleLog(l, m) { m = m || ''; @@ -2706,8 +2707,7 @@ function consoleLog(l, m) { console.log(`[CO sheetworker${m}] <<<`); console.log(l); console.log(`[CO sheetworker${m}] >>>`); - } - else { + } else { console.log(`[CO sheetworker${m}] ${l}`); } } @@ -2751,12 +2751,24 @@ function parseNameValue(data, delim) { } parsed = { name: name, - value: value - } + value: value, + }; } return parsed; } +/** + * Remove all rows for a repeating section + * @param {string} sectionName Repeating section to clear + */ +function removeRepeating(sectionName) { + getSectionIDs(sectionName, function (ids) { + for (let id of ids) { + removeRepeatingRow(`repeating_${sectionName}_${id}`); + } + }); +} + /** * Add a trait/ability to an NPC object * @param {object} npcObj @@ -2778,64 +2790,113 @@ function addTrait(npcObj, traitObj) { */ function importStatblock(text) { text = text.replace(/\r/g, ''); - text = text.replace(/ \(DM/g, ' DM'); - text = text.replace(/ \(RD/g, ' RD'); - text = text.replace(/\, /g, ' '); text = text.replace(/\n[ ]*\+/g, '+'); - var npc = {}; + var npc = { + NC: 0, + PROFIL: '', + TAILLE: '', + FOR: '', + DEX: '', + CON: '', + INT: '', + PER: '', + SAG: '', + CHA: '', + INIT: 0, + PV: 0, + DEF: 0, + DEP: 0, + Atks: [], + Capas: [], + Extras: [], + }; + npc['ATP-PER'] = 0; + npc['ATP-CHA'] = 0; var rows = text.split(/\n/); var capacites = false; - var capacite = { 'nom': '', 'desc': '' }; + var capacite = { nom: '', desc: '' }; console.log('** CO sheetworker : parsing text <<<'); rows.forEach(function (row, rownr) { - console.log(row); - if (rownr === 0 && row.toUpperCase().indexOf('NC') === -1) { - npc['character_name'] = row.trim(); // assume first line is name + let dataRow = row.trim(); + console.log(dataRow); + if (rownr === 0 && dataRow.toUpperCase().indexOf('NC') === -1) { + // assume first line is name + npc['character_name'] = dataRow; return; } - if (!capacites && row.toUpperCase().indexOf('DM') !== -1) { // this is an attack line - row = row.replace(/\)$/g, ''); // handle CG statblocks - if (!npc.Atks) npc.Atks = []; - npc.Atks.push(row); + // reading attacks list + if (!capacites) { + const atkRow = dataRow.toUpperCase(); + if (atkRow.indexOf('ATTAQUE') === 0 || atkRow.indexOf('DM') !== -1) { + // this is an attack line, handle CG statblocks + dataRow = dataRow.replace(/ \(DM/g, ' DM'); + dataRow = dataRow.replace(/\)$/g, ''); + npc['Atks'].push(dataRow); + return; + } + } + // reading paths & ranks + if (dataRow.toUpperCase().startsWith('VOIE ')) { + npc['Extras'].push(dataRow); return; } - if (capacites) { // start parsing traits - let s = row.indexOf(':'); + if (capacites) { + // reading abilities list + let s = dataRow.indexOf(':'); if (s !== -1) { addTrait(npc, capacite); - capacite['nom'] = row.substring(0, s - 1).trim(); - if (capacite['nom'].indexOf(' RD') !== -1) capacite['nom'] = capacite['nom'].replace(' RD', ' (RD'); - capacite['desc'] = row.substring(s + 1).trim(); + capacite['nom'] = dataRow.substring(0, s - 1).trim(); + if (capacite['nom'].indexOf(' RD') !== -1) { + capacite['nom'] = capacite['nom'].replace(' RD', ' (RD'); + } + capacite['desc'] = dataRow.substring(s + 1).trim(); } else { - capacite['desc'] += ' ' + row.trim(); + capacite['desc'] += ' ' + dataRow.trim(); } return; } - if (row.trim().startsWith('---')) { - if (capacites) addTrait(npc, capacite); + // start of abilities list + if ( + dataRow.toUpperCase().startsWith('CAPACIT') || + dataRow.startsWith('---') || + dataRow.trim() === '' + ) { + addTrait(npc, capacite); capacites = !capacites; return; } - row = row.replace(/ \(/g, '('); // strip space before '( - row = row.replace(/très /g, 'très~'); // handle 'très petite' size - row = row.replace(/créature /g, 'PROFIL créature~'); // handle 'créature' mention - var items = row.split(' '); - for (var item = 0; item < items.length - 1; item++) { + // reading statistics + dataRow = dataRow.replace(/\, /g, ' '); + dataRow = dataRow.replace(/ \(\+/g, ' +'); + dataRow = dataRow.replace(/ \(RD/g, ' RD '); + dataRow = dataRow.replace(/ RD /g, ' RD '); + dataRow = dataRow.replace(/\) /g, ' '); + dataRow = dataRow.replace(/ATP \(/g, 'ATP-'); + dataRow = dataRow.replace(/très /g, 'très~'); // handle 'très petite' size + dataRow = dataRow.replace(/créature /g, 'PROFIL créature~'); // handle 'créature' mention + var items = dataRow.split(' '); + console.log(items); + for (var item = 0; item < items.length; item++) { if (item % 2 === 0) { - var k = items[item].toUpperCase().replace(/\./g, ''); - var v = items[item + 1]; - if (v) { - v.replace(/~/g, ' '); - if (v.charAt(v.length - 1) === ')' && v.charAt(0) !== '(') v = v.substring(0, v.length - 1); - } else { - v = ''; + const k = items[item].toUpperCase().replace(/\./g, ''); + if (Object.keys(npc).indexOf(k) === -1) { + items.splice(item, 1); + item--; + continue; + } + let v = items[item + 1]; + if (v.trim() !== '') { + v = v.replace(/~/g, ' '); + npc[k] = v; + if (k === 'SAG') delete npc['PER']; + if (k === 'PER') delete npc['SAG']; } - npc[k] = v; } } }); if (capacites) addTrait(npc, capacite); console.log('** CO sheetworker : parsing text >>>'); + return npc; } @@ -2849,10 +2910,8 @@ function processBaseAttributes(universe, pnjObj) { var result = ''; var pnj_sagorper = ''; var pnj_jetsagorper = ''; - var pnj_sagper = 'pnj_per'; - var pnj_jetsagper = 'pnj_jetper'; - var sagOrPer = pnjObj.PER; //might be undefined - if (universe == 'COF') { // COF uses SAG (Wisdom) + if (universe === 'COF') { + // COF uses SAG (Wisdom) pnj_sagper = 'pnj_sag'; pnj_jetsagper = 'pnj_jetsag'; if (!pnjObj.hasOwnProperty('SAG') && pnjObj.hasOwnProperty('PER')) { @@ -2863,7 +2922,8 @@ function processBaseAttributes(universe, pnjObj) { sagOrPer = pnjObj.SAG; } } - if (universe == 'COC' || universe == 'CG') { // CG & COC uses PER (Perception) + if (universe === 'COC' || universe === 'CG') { + // CG & COC uses PER (Perception) pnj_sagper = 'pnj_per'; pnj_jetsagper = 'pnj_jetper'; if (!pnjObj.hasOwnProperty('PER') && pnjObj.hasOwnProperty('SAG')) { @@ -2877,47 +2937,60 @@ function processBaseAttributes(universe, pnjObj) { var jnor = '1d20'; var jsup = '2d20kh1'; var pnjAttrs = {}; - if (pnjObj.hasOwnProperty('character_name')) pnjAttrs['character_name'] = pnjObj.character_name; - delete pnjObj['character_name']; - pnjAttrs.NIVEAU = parseInt(pnjObj.NC) || 0; - delete pnjObj.NC; - pnjAttrs.TAILLE = pnjObj.TAILLE || ''; - delete pnjObj.TAILLE; - if (pnjObj.hasOwnProperty('PROFIL')) pnjAttrs.PROFIL = pnjObj.PROFIL; - delete pnjObj.PROFIL; - pnjAttrs.pnj_for = parseInt(pnjObj.FOR.replace('*', '')); - pnjAttrs.pnj_jetfor = pnjObj.FOR.charAt(pnjObj.FOR.length - 1) == '*' ? jsup : jnor; - delete pnjObj.FOR; - pnjAttrs.pnj_dex = parseInt(pnjObj.DEX.replace('*', '')); - pnjAttrs.pnj_jetdex = pnjObj.DEX.charAt(pnjObj.DEX.length - 1) == '*' ? jsup : jnor; - delete pnjObj.DEX; - pnjAttrs.pnj_con = parseInt(pnjObj.CON.replace('*', '')); - pnjAttrs.pnj_jetcon = pnjObj.CON.charAt(pnjObj.CON.length - 1) == '*' ? jsup : jnor; - delete pnjObj.CON; - pnjAttrs.pnj_int = parseInt(pnjObj.INT.replace('*', '')); - pnjAttrs.pnj_jetint = pnjObj.INT.charAt(pnjObj.INT.length - 1) == '*' ? jsup : jnor; - delete pnjObj.INT; - pnjAttrs[pnj_sagper] = parseInt(sagOrPer.replace('*', '')); - pnjAttrs[pnj_jetsagper] = sagOrPer.charAt(sagOrPer.length - 1) == '*' ? jsup : jnor; - delete pnjObj.SAG; - delete pnjObj.PER; - pnjAttrs.pnj_cha = parseInt(pnjObj.CHA.replace('*', '')); - pnjAttrs.pnj_jetcha = pnjObj.CHA.charAt(pnjObj.CHA.length - 1) == '*' ? jsup : jnor; - delete pnjObj.CHA; - pnjAttrs.pnj_init = parseInt(pnjObj.INIT); - delete pnjObj.INIT; - pnjAttrs.pnj_def = parseInt(pnjObj.DEF); - delete pnjObj.DEF; - if (pnjObj.hasOwnProperty('DEP')) { - pnjAttrs.pnj_dep = parseInt(pnjObj.DEP); - delete pnjObj.DEP; + if (pnjObj.character_name !== '') { + pnjAttrs['character_name'] = pnjObj.character_name; } - pnjAttrs.pnj_pv = parseInt(pnjObj.PV); - pnjAttrs.pnj_pv_max = parseInt(pnjObj.PV); - delete pnjObj.PV; + delete pnjObj['character_name']; + pnjAttrs['NIVEAU'] = parseInt(pnjObj.NC) || 0; + delete pnjObj['NC']; + pnjAttrs['TAILLE'] = pnjObj.TAILLE || ''; + delete pnjObj['TAILLE']; + if (pnjObj.PROFIL !== '') { + pnjAttrs['PROFIL'] = pnjObj.PROFIL; + } + delete pnjObj['PROFIL']; + pnjAttrs['pnj_for'] = parseInt(pnjObj['FOR'].replace('*', '')); + pnjAttrs['pnj_jetfor'] = + pnjObj['FOR'].charAt(pnjObj['FOR'].length - 1) == '*' ? jsup : jnor; + delete pnjObj['FOR']; + pnjAttrs['pnj_dex'] = parseInt(pnjObj['DEX'].replace('*', '')); + pnjAttrs['pnj_jetdex'] = + pnjObj['DEX'].charAt(pnjObj['DEX'].length - 1) == '*' ? jsup : jnor; + delete pnjObj['DEX']; + pnjAttrs['pnj_con'] = parseInt(pnjObj['CON'].replace('*', '')); + pnjAttrs['pnj_jetcon'] = + pnjObj['CON'].charAt(pnjObj['CON'].length - 1) == '*' ? jsup : jnor; + delete pnjObj['CON']; + pnjAttrs['pnj_int'] = parseInt(pnjObj['INT'].replace('*', '')); + pnjAttrs['pnj_jetint'] = + pnjObj['INT'].charAt(pnjObj['INT'].length - 1) == '*' ? jsup : jnor; + delete pnjObj['INT']; + pnjAttrs[pnj_sagper] = parseInt(sagOrPer.replace('*', '')); + pnjAttrs[pnj_jetsagper] = + sagOrPer.charAt(sagOrPer.length - 1) == '*' ? jsup : jnor; + delete pnjObj['SAG']; + delete pnjObj['PER']; + pnjAttrs['pnj_cha'] = parseInt(pnjObj['CHA'].replace('*', '')); + pnjAttrs['pnj_jetcha'] = + pnjObj['CHA'].charAt(pnjObj['CHA'].length - 1) == '*' ? jsup : jnor; + delete pnjObj['CHA']; + pnjAttrs['pnj_init'] = parseInt(pnjObj.INIT); + delete pnjObj['INIT']; + pnjAttrs['pnj_def'] = parseInt(pnjObj.DEF); + delete pnjObj['DEF']; + if (universe === 'CG') { + pnjAttrs.pnj_dep = parseInt(pnjObj.DEP); + } + delete pnjObj.DEP; + pnjAttrs['pnj_pv'] = parseInt(pnjObj.PV); + pnjAttrs['pnj_pv_max'] = parseInt(pnjObj.PV); + delete pnjObj['PV']; + pnjAttrs['pnj_rd'] = parseInt(pnjObj.RD) || 0; + delete pnjObj['RD']; consoleLog(pnjAttrs, 'setting attributes'); - pnjAttrs.statblock = ''; + pnjAttrs['statblock'] = ''; setAttrs(pnjAttrs); + return result; } @@ -2928,84 +3001,107 @@ function processBaseAttributes(universe, pnjObj) { * @returns {string} Result message */ function processAttacks(universe, pnjObj) { - var result = ''; - for (var atk = 0; atk < pnjObj.Atks.length; atk++) { - var atkItems = pnjObj.Atks[atk].split(' '); + removeRepeating('pnjatk'); + let result = ''; + + for (const atk of pnjObj['Atks']) { + const atkItems = atk.split(' '); consoleLog(atkItems, 'attacks found'); - if (atkItems[atkItems.length - 1] == 'DM') atkItems.push('-'); - var atkAtt = 'attaque='; - var atkNom = ''; - var atkBonus = -1; - var atkDM = ''; - var atkSpec = ''; - var parsed = ''; - for (var item = 0; item < atkItems.length; item++) { - if (atkItems[item] == 'DM' && atkNom == '') { + if (atkItems[atkItems.length - 1] === 'DM') { + atkItems.push('-'); + } + let atkAtt = 'attaque='; + let atkNom = ''; + let atkBonus = -1; + let atkPortee = ''; + let atkDM = ''; + let atkSpec = ''; + let parsed = ''; + for (let atkItem of atkItems) { + if (atkItem === 'DM' && atkNom === '') { atkNom = parsed; parsed = 'DM'; continue; } - if (atkItems[item].charAt(0) == '+' && atkItems[item] != '+' && atkNom == '') { - atkBonus = parseInt(atkItems[item].replace('+', '')) || 0; + if (atkItem.charAt(0) === '+' && atkItem !== '+' && atkNom === '') { + atkBonus = parseInt(atkItem.replace('+', '')) || 0; atkNom = parsed; parsed = ''; continue; } if (parsed.endsWith('DM')) { - atkDM = atkItems[item]; + atkDM = atkItem; atkSpec = parsed.replace('DM', ''); parsed = ''; continue; } + if (atkItem.charAt(0) === '(' && atkItem.endsWith('m)')) { + atkPortee = atkItem.substring(1, atkItem.length - 1); + continue; + } parsed += parsed != '' ? ' ' : ''; - parsed += atkItems[item]; + parsed += atkItem; } consoleLog(atkNom + ' ' + atkBonus + ' ' + atkDM + ' ' + atkSpec); - if (atkBonus == -1) atkAtt = '0'; // No attack bonus found, damage only - var atkDmg = 'degats='; - var atkNbDe = 0; - var atkDe = ''; - var atkBonusDM = 0; - if (atkDM != '') { + if (atkBonus === -1) { + atkAtt = '0'; // No attack bonus found, damage only + } + let atkDmg = atkDM !== '' ? 'degats=' : '0'; + let atkNbDe = 0; + let atkDe = ''; + let atkBonusDM = 0; + if (atkDM !== '') { atkDM = atkDM.replace('d', '|'); atkDM = atkDM.replace('+', '|+'); atkDM = atkDM.replace('-', '|-'); - var dm = atkDM.split('|'); + let dm = atkDM.split('|'); atkNbDe = parseInt(dm[0]) || 0; - if (atkNbDe == 0) atkDmg = '0'; // No damage dice, attack only + if (atkNbDe === 0) { + atkDmg = '0'; // No damage dice, attack only + } atkDe = dm[1]; - if (universe === 'COC') atkDe += '!'; + if (universe === 'COC') { + atkDe += '!'; + } atkBonusDM = parseInt(dm[2]) || 0; } - if (atkNom != '' && atkNbDe >= 0 && atkDe != '') { - newRowID = generateRowID(); - var atkRow = {}; - atkRow[`repeating_pnjatk_${newRowID}_atkatt`] = atkAtt; - atkRow[`repeating_pnjatk_${newRowID}_atknom`] = atkNom; - atkRow[`repeating_pnjatk_${newRowID}_atkjet`] = '1d20'; - atkRow[`repeating_pnjatk_${newRowID}_atkbonus`] = atkBonus; - atkRow[`repeating_pnjatk_${newRowID}_atkcrit`] = '20'; - atkRow[`repeating_pnjatk_${newRowID}_atkdmg`] = atkDmg; - atkRow[`repeating_pnjatk_${newRowID}_atkdmnbde`] = atkNbDe; - atkRow[`repeating_pnjatk_${newRowID}_atkdmde`] = atkDe; - atkRow[`repeating_pnjatk_${newRowID}_atkdmbonus`] = atkBonusDM; + if (atkNom !== '' && (atkAtt !== '0' || atkDmg !== '0')) { + newRowID = 'repeating_pnjatk_' + generateRowID(); + let atkRow = {}; + atkRow[`${newRowID}_atkatt`] = atkAtt; + atkRow[`${newRowID}_atknom`] = atkNom; + atkRow[`${newRowID}_atkjet`] = '1d20'; + atkRow[`${newRowID}_atkbonus`] = atkBonus; + atkRow[`${newRowID}_atkcrit`] = '20'; + atkRow[`${newRowID}_atkdmg`] = atkDmg; + atkRow[`${newRowID}_atkdmnbde`] = atkNbDe; + atkRow[`${newRowID}_atkdmde`] = atkDe; + atkRow[`${newRowID}_atkdmbonus`] = atkBonusDM; + atkRow[`${newRowID}_atkportee`] = atkPortee; atkSpec += parsed; atkSpec = atkSpec.replace(/\d+d\d+/g, '[[$&]]'); // search for d and replace with in-line roll - if (atkSpec != '') atkRow[`repeating_pnjatk_${newRowID}_atkspec`] = atkSpec; + if (atkSpec !== '') { + atkRow[`${newRowID}_atkspec`] = atkSpec; + } consoleLog(atkRow, 'adding attack'); setAttrs(atkRow); } else { - result += (result.length > 0 ? '\n' : '') + 'Err: impossible d\'analyser le contenu de "' + pnjObj.Atks[atk] + '"'; + result += + (result.length > 0 ? '\n' : '') + + 'Err: impossible d\'analyser le contenu de "' + + pnjObj.Atks[atk] + + '"'; } } - for (let attr of ['ATP(PER)', 'ATP(CHA)']) { - if (pnjObj.hasOwnProperty(attr)) { + + for (let attr of ['ATP-PER', 'ATP-CHA']) { + if (pnjObj[attr] !== 0) { newRowID = generateRowID(); let atkRow = {}; - atkRow[`repeating_pnjatk_${newRowID}_atkatt`] = atkAtt; - if (attr === 'ATP(PER)') { + atkRow[`repeating_pnjatk_${newRowID}_atkatt`] = 'attaque='; + if (attr === 'ATP-PER') { atkRow[`repeating_pnjatk_${newRowID}_atknom`] = 'Psy Intuition'; - } else if (attr === 'ATP(CHA)') { + } else if (attr === 'ATP-CHA') { atkRow[`repeating_pnjatk_${newRowID}_atknom`] = 'Psy Influence'; } else { continue; @@ -3019,9 +3115,10 @@ function processAttacks(universe, pnjObj) { atkRow[`repeating_pnjatk_${newRowID}_atkdmbonus`] = 0; consoleLog(atkRow, 'adding attack'); setAttrs(atkRow); - delete pnjObj[attr]; } + delete pnjObj[attr]; } + return result; } @@ -3032,28 +3129,40 @@ function processAttacks(universe, pnjObj) { * @returns {string} Result message */ function processTraits(universe, pnjObj) { + removeRepeating('pnjcapas'); let result = ''; - for (let capa of pnjObj['Capas']) { - let capacite = capa.split('~') + + for (const capa of pnjObj['Capas']) { + const capacite = capa.split('~'); if (capacite.length == 2) { let name = capacite[0] || ''; let desc = capacite[1] || ''; if (name !== '' && desc !== '') { - newRowID = generateRowID(); + newRowID = 'repeating_pnjcapas_' + generateRowID(); let capaRow = {}; - capaRow[`repeating_pnjcapas_${newRowID}_capanom`] = name; - desc = desc.replace(/\d+d\d+[+-]*\d*/g, '{{$&}}'); // search for d+/- + capaRow[`${newRowID}_capanom`] = name; + ['FOR', 'DEX', 'CON', 'INT', 'PER', 'SAG', 'CHA'].forEach((attr) => { + regExp = new RegExp(`Mod\. de ${attr}`, 'gi'); + desc = desc.replace(regExp, `@{pnj_${attr.toLowerCase()}}`); + }); + desc = desc.replace(/\d+d\d+[+-]*\d*/g, '{{$&}}'); // search for d+/- desc = desc.replace(/\[\d+d\d+[+-]*\d*\]/g, '{$&}'); // search for [d+/-] desc = desc.replace(/\[{{/g, '[['); desc = desc.replace(/}}\]/g, ']]'); desc = desc.replace(/{{/g, '[['); desc = desc.replace(/}}/g, ']]'); - capaRow[`repeating_pnjcapas_${newRowID}_capadesc`] = desc; + desc = desc.replace(/\]\] \+ /g, ' + '); + desc = desc.replace(/}\]/g, '} ]]'); + capaRow[`${newRowID}_capadesc`] = desc; consoleLog(capaRow, 'adding trait'); setAttrs(capaRow); } } else { - result += (result.length > 0 ? '\n' : '') + 'Err: impossible d\'analyser le contenu de "' + capacite + '"'; + result += + (result.length > 0 ? '\n' : '') + + 'Err: impossible d\'analyser le contenu de "' + + capacite + + '"'; } } @@ -3064,40 +3173,68 @@ function processTraits(universe, pnjObj) { * (Re-)Build the CARACS serialized objects */ function buildCaracs() { - getAttrs([ - 'FORCE', 'DEXTERITE', 'CONSTITUTION', 'INTELLIGENCE', 'PERCEPTION', 'CHARISME', 'NIVEAU', - 'RANG_VOIE1', 'RANG_VOIE2', 'RANG_VOIE3', 'RANG_VOIE4', 'RANG_VOIE5', 'RANG_VOIE6', 'RANG_VOIE7', 'RANG_VOIE8', 'RANG_VOIE9', - 'voie1nom', 'voie2nom', 'voie3nom', 'voie4nom', 'voie5nom', 'voie6nom', 'voie7nom', 'voie8nom', 'voie9nom' - ], function (values) { - let caracs = { - FOR: 0, - DEX: 0, - CON: 0, - INT: 0, - PER: 0, - CHA: 0 - }; - for (let car in values) { - let vcar = values[car]; - if (vcar && !isNaN(vcar)) vcar = parseInt(vcar) || 0; - let mod = car.substring(0, 3); - if (caracs.hasOwnProperty(mod)) caracs[mod] = Math.floor((vcar - 10) / 2); - if (car.startsWith('RANG_')) { - if (!caracs.hasOwnProperty('rangs')) caracs.rangs = [0, 0, 0, 0, 0, 0, 0, 0, 0]; - let voie = parseInt(car.substring(car.length - 1)) || 0; - if (voie > 0) caracs.rangs[voie - 1] = vcar; - } else if (car.startsWith('voie') && car.endsWith('nom')) { - if (!caracs.hasOwnProperty('voies')) caracs.voies = ['', '', '', '', '', '', '', '', '']; - let voie = parseInt(car.substring(4, 5)) || 0; - if (voie > 0 && vcar) caracs.voies[voie - 1] = vcar.toUpperCase(); - } else { - caracs[car] = vcar; + getAttrs( + [ + 'FORCE', + 'DEXTERITE', + 'CONSTITUTION', + 'INTELLIGENCE', + 'PERCEPTION', + 'CHARISME', + 'NIVEAU', + 'RANG_VOIE1', + 'RANG_VOIE2', + 'RANG_VOIE3', + 'RANG_VOIE4', + 'RANG_VOIE5', + 'RANG_VOIE6', + 'RANG_VOIE7', + 'RANG_VOIE8', + 'RANG_VOIE9', + 'voie1nom', + 'voie2nom', + 'voie3nom', + 'voie4nom', + 'voie5nom', + 'voie6nom', + 'voie7nom', + 'voie8nom', + 'voie9nom', + ], + function (values) { + let caracs = { + FOR: 0, + DEX: 0, + CON: 0, + INT: 0, + PER: 0, + CHA: 0, + }; + for (let car in values) { + let vcar = values[car]; + if (vcar && !isNaN(vcar)) vcar = parseInt(vcar) || 0; + let mod = car.substring(0, 3); + if (caracs.hasOwnProperty(mod)) + caracs[mod] = Math.floor((vcar - 10) / 2); + if (car.startsWith('RANG_')) { + if (!caracs.hasOwnProperty('rangs')) + caracs.rangs = [0, 0, 0, 0, 0, 0, 0, 0, 0]; + let voie = parseInt(car.substring(car.length - 1)) || 0; + if (voie > 0) caracs.rangs[voie - 1] = vcar; + } else if (car.startsWith('voie') && car.endsWith('nom')) { + if (!caracs.hasOwnProperty('voies')) + caracs.voies = ['', '', '', '', '', '', '', '', '']; + let voie = parseInt(car.substring(4, 5)) || 0; + if (voie > 0 && vcar) caracs.voies[voie - 1] = vcar.toUpperCase(); + } else { + caracs[car] = vcar; + } } + setAttrs({ + CARACS: JSON.stringify(caracs), + }); } - setAttrs({ - CARACS: JSON.stringify(caracs) - }); - }); + ); } /** @@ -3106,142 +3243,177 @@ function buildCaracs() { function migrateSheet(verfdp) { if (verfdp.major === 0) { // Version 1.6 vers 1.7 - getAttrs(["FOR_SUP", "DEX_SUP", "CON_SUP", "INT_SUP", "PER_SUP", "CHA_SUP"], function (jets) { - var sfor, sdex, scon, sint, sper, scha = ""; - if (jets.FOR_SUP == "2") { - sfor = "@{JETSUP}"; - } else { - sfor = "@{JETNORMAL}"; + getAttrs( + ['FOR_SUP', 'DEX_SUP', 'CON_SUP', 'INT_SUP', 'PER_SUP', 'CHA_SUP'], + function (jets) { + var sfor, + sdex, + scon, + sint, + sper, + scha = ''; + if (jets.FOR_SUP == '2') { + sfor = '@{JETSUP}'; + } else { + sfor = '@{JETNORMAL}'; + } + if (jets.DEX_SUP == '2') { + sdex = '@{JETSUP}'; + } else { + sdex = '@{JETNORMAL}'; + } + if (jets.CON_SUP == '2') { + scon = '@{JETSUP}'; + } else { + scon = '@{JETNORMAL}'; + } + if (jets.INT_SUP == '2') { + sint = '@{JETSUP}'; + } else { + sint = '@{JETNORMAL}'; + } + if (jets.PER_SUP == '2') { + sper = '@{JETSUP}'; + } else { + sper = '@{JETNORMAL}'; + } + if (jets.CHA_SUP == '2') { + scha = '@{JETSUP}'; + } else { + scha = '@{JETNORMAL}'; + } + setAttrs({ + FOR_SUP: sfor, + DEX_SUP: sdex, + CON_SUP: scon, + INT_SUP: sint, + PER_SUP: sper, + CHA_SUP: scha, + VERSION: '2.0', + }); } - if (jets.DEX_SUP == "2") { - sdex = "@{JETSUP}"; - } else { - sdex = "@{JETNORMAL}"; - } - if (jets.CON_SUP == "2") { - scon = "@{JETSUP}"; - } else { - scon = "@{JETNORMAL}"; - } - if (jets.INT_SUP == "2") { - sint = "@{JETSUP}"; - } else { - sint = "@{JETNORMAL}"; - } - if (jets.PER_SUP == "2") { - sper = "@{JETSUP}"; - } else { - sper = "@{JETNORMAL}"; - } - if (jets.CHA_SUP == "2") { - scha = "@{JETSUP}"; - } else { - scha = "@{JETNORMAL}"; - } - setAttrs({ - FOR_SUP: sfor, - DEX_SUP: sdex, - CON_SUP: scon, - INT_SUP: sint, - PER_SUP: sper, - CHA_SUP: scha, - VERSION: "2.0" - }); - }); + ); } - if (verfdp.major < 3) { // version 2.0 > 3.0 - getAttrs(['UNIVERS', 'FOR_BONUS', 'DEX_BONUS', 'CON_BONUS', 'INT_BONUS', 'PER_BONUS', 'CHA_BONUS', 'ATKCAC_DIV', 'ATKTIR_DIV', 'ATKMAG_DIV', 'ATKMEN_DIV', 'PSYINTUI_DIV', 'PSYINFLU_DIV', 'INIT_DIV', 'DEFDIV', 'DEPDIV'], function (values) { - let for_bonus = parseInt(values.FOR_BONUS) || 0; - let for_bonus_desc = (for_bonus !== 0) ? 'Bonus FOR' : ''; - let dex_bonus = parseInt(values.DEX_BONUS) || 0; - let dex_bonus_desc = (dex_bonus !== 0) ? 'Bonus DEX' : ''; - let con_bonus = parseInt(values.CON_BONUS) || 0; - let con_bonus_desc = (con_bonus !== 0) ? 'Bonus CON' : ''; - let int_bonus = parseInt(values.INT_BONUS) || 0; - let int_bonus_desc = (int_bonus !== 0) ? 'Bonus INT' : ''; - let per_bonus = parseInt(values.PER_BONUS) || 0; - let per_bonus_desc = (per_bonus !== 0) ? 'Bonus PER' : ''; - let cha_bonus = parseInt(values.CHA_BONUS) || 0; - let cha_bonus_desc = (cha_bonus !== 0) ? 'Bonus CHA' : ''; - let atkcac_div = parseInt(values.ATKCAC_DIV) || 0; - let atkcac_bonus_desc = (atkcac_div !== 0) ? 'Bonus ATC' : ''; - let atktir_div = parseInt(values.ATKTIR_DIV) || 0; - let atktir_bonus_desc = (atktir_div !== 0) ? 'Bonus ATD' : ''; - let atkmag_div = parseInt(values.ATKMAG_DIV) || 0; - let atkmag_bonus_desc = (atkmag_div !== 0) ? 'Bonus MAG' : ''; - let atkmen_div = parseInt(values.ATKMEN_DIV) || 0; - let atkmen_bonus_desc = (atkmen_div !== 0) ? 'Bonus MEN' : ''; - let psyinflu_div = parseInt(values.ATKPSYINFLU_DIV) || 0; - let psyinflu_bonus_desc = (psyinflu_div !== 0) ? 'Bonus Psy Inf.' : ''; - let psyintui_div = parseInt(values.ATKPSYINTUI_DIV) || 0; - let psyintui_bonus_desc = (psyintui_div !== 0) ? 'Bonus Psy Int.' : ''; - let init_div = parseInt(values.INIT_DIV) || 0; - let init_bonus_desc = (init_div !== 0) ? 'Bonus Init.' : ''; - let defdiv = parseInt(values.DEFDIV) || 0; - let def_bonus_desc = (defdiv !== 0) ? 'Bonus DEF' : ''; - let depdiv = parseInt(values.DEPDIV) || 0; - let dep_bonus_desc = (depdiv !== 0) ? 'Bonus DEP' : ''; - setAttrs({ - FOR_BUFF1_DESC: for_bonus_desc, - FOR_BUFF1: for_bonus, - FOR_BUFF: for_bonus, - DEX_BUFF1_DESC: dex_bonus_desc, - DEX_BUFF1: dex_bonus, - DEX_BUFF: dex_bonus, - CON_BUFF1_DESC: con_bonus_desc, - CON_BUFF1: con_bonus, - CON_BUFF: con_bonus, - INT_BUFF1_DESC: int_bonus_desc, - INT_BUFF1: int_bonus, - INT_BUFF: int_bonus, - PER_BUFF1_DESC: per_bonus_desc, - PER_BUFF1: per_bonus, - PER_BUFF: per_bonus, - CHA_BUFF1_DESC: cha_bonus_desc, - CHA_BUFF1: cha_bonus, - CHA_BUFF: cha_bonus, - ATKCAC_BUFF1_DESC: atkcac_bonus_desc, - ATKCAC_BUFF1: atkcac_div, - ATKCAC_BUFF: atkcac_div, - ATKTIR_BUFF1_DESC: atktir_bonus_desc, - ATKTIR_BUFF1: atktir_div, - ATKTIR_BUFF: atktir_div, - ATKMAG_BUFF1_DESC: atkmag_bonus_desc, - ATKMAG_BUFF1: atkmag_div, - ATKMAG_BUFF: atkmag_div, - ATKMEN_BUFF1_DESC: atkmen_bonus_desc, - ATKMEN_BUFF1: atkmen_div, - ATKMEN_BUFF: atkmen_div, - PSYINFLU_BUFF1_DESC: psyinflu_bonus_desc, - PSYINFLU_BUFF1: psyinflu_div, - PSYINFLU_BUFF: psyinflu_div, - PSYINTUI_BUFF1_DESC: psyintui_bonus_desc, - PSYINTUI_BUFF1: psyintui_div, - PSYINTUI_BUFF: psyintui_div, - INIT_BUFF1_DESC: init_bonus_desc, - INIT_BUFF1: init_div, - INIT_BUFF: init_div, - DEF_BUFF1_DESC: def_bonus_desc, - DEF_BUFF1: defdiv, - DEF_BUFF: defdiv, - DEP_BUFF1_DESC: dep_bonus_desc, - DEP_BUFF1: depdiv, - DEP_BUFF: depdiv, - ATKTIRV_BUFF: 0, - VERSION: '3.0' - }); - }); + if (verfdp.major < 3) { + // version 2.0 > 3.0 + getAttrs( + [ + 'UNIVERS', + 'FOR_BONUS', + 'DEX_BONUS', + 'CON_BONUS', + 'INT_BONUS', + 'PER_BONUS', + 'CHA_BONUS', + 'ATKCAC_DIV', + 'ATKTIR_DIV', + 'ATKMAG_DIV', + 'ATKMEN_DIV', + 'PSYINTUI_DIV', + 'PSYINFLU_DIV', + 'INIT_DIV', + 'DEFDIV', + 'DEPDIV', + ], + function (values) { + let for_bonus = parseInt(values.FOR_BONUS) || 0; + let for_bonus_desc = for_bonus !== 0 ? 'Bonus FOR' : ''; + let dex_bonus = parseInt(values.DEX_BONUS) || 0; + let dex_bonus_desc = dex_bonus !== 0 ? 'Bonus DEX' : ''; + let con_bonus = parseInt(values.CON_BONUS) || 0; + let con_bonus_desc = con_bonus !== 0 ? 'Bonus CON' : ''; + let int_bonus = parseInt(values.INT_BONUS) || 0; + let int_bonus_desc = int_bonus !== 0 ? 'Bonus INT' : ''; + let per_bonus = parseInt(values.PER_BONUS) || 0; + let per_bonus_desc = per_bonus !== 0 ? 'Bonus PER' : ''; + let cha_bonus = parseInt(values.CHA_BONUS) || 0; + let cha_bonus_desc = cha_bonus !== 0 ? 'Bonus CHA' : ''; + let atkcac_div = parseInt(values.ATKCAC_DIV) || 0; + let atkcac_bonus_desc = atkcac_div !== 0 ? 'Bonus ATC' : ''; + let atktir_div = parseInt(values.ATKTIR_DIV) || 0; + let atktir_bonus_desc = atktir_div !== 0 ? 'Bonus ATD' : ''; + let atkmag_div = parseInt(values.ATKMAG_DIV) || 0; + let atkmag_bonus_desc = atkmag_div !== 0 ? 'Bonus MAG' : ''; + let atkmen_div = parseInt(values.ATKMEN_DIV) || 0; + let atkmen_bonus_desc = atkmen_div !== 0 ? 'Bonus MEN' : ''; + let psyinflu_div = parseInt(values.ATKPSYINFLU_DIV) || 0; + let psyinflu_bonus_desc = psyinflu_div !== 0 ? 'Bonus Psy Inf.' : ''; + let psyintui_div = parseInt(values.ATKPSYINTUI_DIV) || 0; + let psyintui_bonus_desc = psyintui_div !== 0 ? 'Bonus Psy Int.' : ''; + let init_div = parseInt(values.INIT_DIV) || 0; + let init_bonus_desc = init_div !== 0 ? 'Bonus Init.' : ''; + let defdiv = parseInt(values.DEFDIV) || 0; + let def_bonus_desc = defdiv !== 0 ? 'Bonus DEF' : ''; + let depdiv = parseInt(values.DEPDIV) || 0; + let dep_bonus_desc = depdiv !== 0 ? 'Bonus DEP' : ''; + setAttrs({ + FOR_BUFF1_DESC: for_bonus_desc, + FOR_BUFF1: for_bonus, + FOR_BUFF: for_bonus, + DEX_BUFF1_DESC: dex_bonus_desc, + DEX_BUFF1: dex_bonus, + DEX_BUFF: dex_bonus, + CON_BUFF1_DESC: con_bonus_desc, + CON_BUFF1: con_bonus, + CON_BUFF: con_bonus, + INT_BUFF1_DESC: int_bonus_desc, + INT_BUFF1: int_bonus, + INT_BUFF: int_bonus, + PER_BUFF1_DESC: per_bonus_desc, + PER_BUFF1: per_bonus, + PER_BUFF: per_bonus, + CHA_BUFF1_DESC: cha_bonus_desc, + CHA_BUFF1: cha_bonus, + CHA_BUFF: cha_bonus, + ATKCAC_BUFF1_DESC: atkcac_bonus_desc, + ATKCAC_BUFF1: atkcac_div, + ATKCAC_BUFF: atkcac_div, + ATKTIR_BUFF1_DESC: atktir_bonus_desc, + ATKTIR_BUFF1: atktir_div, + ATKTIR_BUFF: atktir_div, + ATKMAG_BUFF1_DESC: atkmag_bonus_desc, + ATKMAG_BUFF1: atkmag_div, + ATKMAG_BUFF: atkmag_div, + ATKMEN_BUFF1_DESC: atkmen_bonus_desc, + ATKMEN_BUFF1: atkmen_div, + ATKMEN_BUFF: atkmen_div, + PSYINFLU_BUFF1_DESC: psyinflu_bonus_desc, + PSYINFLU_BUFF1: psyinflu_div, + PSYINFLU_BUFF: psyinflu_div, + PSYINTUI_BUFF1_DESC: psyintui_bonus_desc, + PSYINTUI_BUFF1: psyintui_div, + PSYINTUI_BUFF: psyintui_div, + INIT_BUFF1_DESC: init_bonus_desc, + INIT_BUFF1: init_div, + INIT_BUFF: init_div, + DEF_BUFF1_DESC: def_bonus_desc, + DEF_BUFF1: defdiv, + DEF_BUFF: defdiv, + DEP_BUFF1_DESC: dep_bonus_desc, + DEP_BUFF1: depdiv, + DEP_BUFF: depdiv, + ATKTIRV_BUFF: 0, + VERSION: '3.0', + }); + } + ); } - if (verfdp.major == 3 && verfdp.minor < 4) { // version 3.3 > 3.4 + if (verfdp.major == 3 && verfdp.minor < 4) { + // version 3.3 > 3.4 getAttrs(['TRAITS'], function (values) { var traits = values.TRAITS.split(':'); if (traits.length >= 2) { newRowID = generateRowID(); var traitRow = {}; - traitRow['repeating_traits_' + newRowID + '_traitnom'] = traits[0].trim(); - traitRow['repeating_traits_' + newRowID + '_traittype'] = 'Race / Humain'; + traitRow[ + 'repeating_traits_' + newRowID + '_traitnom' + ] = traits[0].trim(); + traitRow['repeating_traits_' + newRowID + '_traittype'] = + 'Race / Humain'; traits.splice(0, 1); - traitRow['repeating_traits_' + newRowID + '_traitdesc'] = traits.join(':').trim(); + traitRow['repeating_traits_' + newRowID + '_traitdesc'] = traits + .join(':') + .trim(); setAttrs(traitRow); setAttrs({ VERSION: '3.4' }); } @@ -3250,19 +3422,19 @@ function migrateSheet(verfdp) { if (verfdp.major == 3 && verfdp.minor < 5) { // version 3.4 > 3.5 const attrList = [ - "FOR", - "DEX", - "CON", - "INT", - "PER", - "CHA", - "ATKCAC", - "ATKTIR", - "PSYINFLU", - "PSYINTUI", - "INIT", - "DEF", - "DEP", + 'FOR', + 'DEX', + 'CON', + 'INT', + 'PER', + 'CHA', + 'ATKCAC', + 'ATKTIR', + 'PSYINFLU', + 'PSYINTUI', + 'INIT', + 'DEF', + 'DEP', ]; for (let a = 0; a < attrList.length; a++) { let attr = attrList[a]; @@ -3287,78 +3459,87 @@ function migrateSheet(verfdp) { } setAttrs({ VERSION: '3.5' }); } - if (verfdp.major == 3 && verfdp.minor < 9) { // version 3.50 > 3.90 - getAttrs([ - 'FOR_BUFF_LIST', - 'DEX_BUFF_LIST', - 'CON_BUFF_LIST', - 'INT_BUFF_LIST', - 'PER_BUFF_LIST', - 'CHA_BUFF_LIST', - 'ATKCAC_BUFF_LIST', - 'ATKTIR_BUFF_LIST', - 'PSYINFLU_BUFF_LIST', - 'PSYINTUI_BUFF_LIST', - 'INIT_BUFF_LIST', - 'DEF_BUFF_LIST', - 'DEP_BUFF_LIST', - 'PV_BUFF_LIST' - ], function (values) { - const aliases = { - 'FOR_BUFF_LIST': 'FOR', - 'DEX_BUFF_LIST': 'DEX', - 'CON_BUFF_LIST': 'CON', - 'INT_BUFF_LIST': 'INT', - 'PER_BUFF_LIST': 'PER', - 'CHA_BUFF_LIST': 'CHA', - 'ATKCAC_BUFF_LIST': 'ATC', - 'ATKTIR_BUFF_LIST': 'ATD', - 'PSYINFLU_BUFF_LIST': 'PSYINF', - 'PSYINTUI_BUFF_LIST': 'PSYINT', - 'INIT_BUFF_LIST': 'INIT', - 'DEF_BUFF_LIST': 'DEF', - 'DEP_BUFF_LIST': 'DEP', - 'PV_BUFF_LIST': 'PV' - } - buffRepeat = []; - for (const buffs of Object.keys(values)) { - const buffList = values[buffs] || ''; - if (buffList == '') { - continue; - } - for (const buff of buffList.split(';')) { - let buffName = buff.split(':')[0] || ''; - let buffVal = buff.split(':')[1] || ''; - if (buffName != '' && buffVal != '') { - buffName = buffName.trim().toLowerCase(); - buffEnabled = !buffName.startsWith('-'); - if (!buffEnabled) buffName = buffName.substring(1); - buffVal = buffVal.trim(); - const newItem = { - name: buffName, - value: `${aliases[buffs]} : ${buffVal}`, - enabled: buffEnabled - }; - const foundItem = buffRepeat.findIndex((item) => item.name == newItem.name); - if (foundItem == -1) { - buffRepeat.push(newItem); - } else { - buffRepeat[foundItem].value += `; ${newItem.value}`; + if (verfdp.major == 3 && verfdp.minor < 9) { + // version 3.50 > 3.90 + getAttrs( + [ + 'FOR_BUFF_LIST', + 'DEX_BUFF_LIST', + 'CON_BUFF_LIST', + 'INT_BUFF_LIST', + 'PER_BUFF_LIST', + 'CHA_BUFF_LIST', + 'ATKCAC_BUFF_LIST', + 'ATKTIR_BUFF_LIST', + 'PSYINFLU_BUFF_LIST', + 'PSYINTUI_BUFF_LIST', + 'INIT_BUFF_LIST', + 'DEF_BUFF_LIST', + 'DEP_BUFF_LIST', + 'PV_BUFF_LIST', + ], + function (values) { + const aliases = { + FOR_BUFF_LIST: 'FOR', + DEX_BUFF_LIST: 'DEX', + CON_BUFF_LIST: 'CON', + INT_BUFF_LIST: 'INT', + PER_BUFF_LIST: 'PER', + CHA_BUFF_LIST: 'CHA', + ATKCAC_BUFF_LIST: 'ATC', + ATKTIR_BUFF_LIST: 'ATD', + PSYINFLU_BUFF_LIST: 'PSYINF', + PSYINTUI_BUFF_LIST: 'PSYINT', + INIT_BUFF_LIST: 'INIT', + DEF_BUFF_LIST: 'DEF', + DEP_BUFF_LIST: 'DEP', + PV_BUFF_LIST: 'PV', + }; + buffRepeat = []; + for (const buffs of Object.keys(values)) { + const buffList = values[buffs] || ''; + if (buffList == '') { + continue; + } + for (const buff of buffList.split(';')) { + let buffName = buff.split(':')[0] || ''; + let buffVal = buff.split(':')[1] || ''; + if (buffName != '' && buffVal != '') { + buffName = buffName.trim().toLowerCase(); + buffEnabled = !buffName.startsWith('-'); + if (!buffEnabled) buffName = buffName.substring(1); + buffVal = buffVal.trim(); + const newItem = { + name: buffName, + value: `${aliases[buffs]} : ${buffVal}`, + enabled: buffEnabled, + }; + const foundItem = buffRepeat.findIndex( + (item) => item.name == newItem.name + ); + if (foundItem == -1) { + buffRepeat.push(newItem); + } else { + buffRepeat[foundItem].value += `; ${newItem.value}`; + } } } } + for (buffItem of buffRepeat) { + const rowId = 'repeating_buffs_' + generateRowID(); + let newRow = {}; + newRow[`${rowId}_buffon`] = buffItem.enabled ? '1' : '0'; + newRow[`${rowId}_buffnom`] = + buffItem.name.substring(0, 1).toUpperCase() + + buffItem.name.substring(1); + newRow[`${rowId}_buffmods`] = buffItem.value; + setAttrs(newRow); + } } - for (buffItem of buffRepeat) { - const rowId = 'repeating_buffs_' + generateRowID(); - let newRow = {}; - newRow[`${rowId}_buffon`] = buffItem.enabled ? '1' : '0'; - newRow[`${rowId}_buffnom`] = buffItem.name.substring(0, 1).toUpperCase() + buffItem.name.substring(1); - newRow[`${rowId}_buffmods`] = buffItem.value; - setAttrs(newRow); - } - }); + ); } - if (verfdp.major == 3 && verfdp.minor < 91) { // version 3.90 > 3.91 + if (verfdp.major == 3 && verfdp.minor < 91) { + // version 3.90 > 3.91 getSectionIDs('repeating_materiel', function (ids) { for (const id of ids) { getAttrs([`repeating_materiel_${id}_mater-nom`], function (value) { @@ -3384,9 +3565,9 @@ function migrateSheet(verfdp) { getAttrs(vrNames, function (values) { const vrFlags = {}; Object.keys(values).forEach((name) => { - const flag = name.replace("oie", "").replace("-", "r"); - if (values[name] !== "") { - vrFlags[flag] = "1"; + const flag = name.replace('oie', '').replace('-', 'r'); + if (values[name] !== '') { + vrFlags[flag] = '1'; } else { vrFlags[flag] = "0"; } @@ -3398,16 +3579,16 @@ function migrateSheet(verfdp) { /** * Parse semantic version label - * @param {string} version + * @param {string} version */ function parseSemVer(version) { version += '.0.0'; if (version.toLowerCase().startsWith('v')) version = version.slice(1); const semVer = version.split('.'); return { - major: parseInt(semver[0]) || 0, - minor: parseInt(semver[1]) || 0, - patch: parseInt(semver[2]) || 0, + major: parseInt(semVer[0]) || 0, + minor: parseInt(semVer[1]) || 0, + patch: parseInt(semVer[2]) || 0, }; } @@ -3435,43 +3616,64 @@ on('sheet:opened', function () { } }); // Activer Buffs PSY ou de vaisseau - getAttrs(['UNIVERS', 'type_personnage', 'PE_ONCE', 'FOR_BUFF1_DESC', 'DEX_BUFF1_DESC', 'INT_BUFF1_DESC', 'PER_BUFF1_DESC', 'CHA_BUFF1_DESC', 'ATKTIRV_BUFF1_DESC', 'INIT_BUFF1_DESC', 'DEFVPIL_BUFF1_DESC', 'DEFVPIL_BUFF2_DESC', 'DEFVSEN_BUFF1_DESC', 'DEFVSEN_BUFF2_DESC'], function (values) { - if (values.UNIVERS == 'CG') { - if (values.type_personnage == 'vaisseau' && values.PE_ONCE !== '') { - var for_buff_desc = (values.FOR_BUFF1_DESC) || values.PE_ONCE; - var dex_buff_desc = (values.DEX_BUFF1_DESC) || values.PE_ONCE; - var int_buff_desc = (values.INT_BUFF1_DESC) || values.PE_ONCE; - var per_buff_desc = (values.PER_BUFF1_DESC) || values.PE_ONCE; - var cha_buff_desc = (values.CHA_BUFF1_DESC) || values.PE_ONCE; - var atktirv_buff_desc = (values.ATKTIRV_BUFF1_DESC) || values.PE_ONCE; - var init_buff_desc = (values.INIT_BUFF1_DESC) || 'Valeur DEX pilote'; - var defvpil_buff1_desc = (values.DEFVPIL_BUFF1_DESC) || 'Mod. DEX Pilote'; - var defvpil_buff2_desc = (values.DEFVPIL_BUFF2_DESC) || 'Rang Pilotage'; - var defvsen_buff1_desc = (values.DEFVSEN_BUFF1_DESC) || 'Mod. INT Scantech'; - var defvsen_buff2_desc = (values.DEFVSEN_BUFF2_DESC) || 'Rang Electronique'; - setAttrs({ - FOR_BUFF1_DESC: for_buff_desc, - DEX_BUFF1_DESC: dex_buff_desc, - INT_BUFF1_DESC: int_buff_desc, - PER_BUFF1_DESC: per_buff_desc, - CHA_BUFF1_DESC: cha_buff_desc, - ATKTIRV_BUFF1_DESC: atktirv_buff_desc, - INIT_BUFF1_DESC: init_buff_desc, - DEFVPIL_BUFF1_DESC: defvpil_buff1_desc, - DEFVPIL_BUFF2_DESC: defvpil_buff2_desc, - DEFVSEN_BUFF1_DESC: defvsen_buff1_desc, - DEFVSEN_BUFF2_DESC: defvsen_buff2_desc, - PE_ONCE: '', - type_personnage: 'vaisseau' - }); + getAttrs( + [ + 'UNIVERS', + 'type_personnage', + 'PE_ONCE', + 'FOR_BUFF1_DESC', + 'DEX_BUFF1_DESC', + 'INT_BUFF1_DESC', + 'PER_BUFF1_DESC', + 'CHA_BUFF1_DESC', + 'ATKTIRV_BUFF1_DESC', + 'INIT_BUFF1_DESC', + 'DEFVPIL_BUFF1_DESC', + 'DEFVPIL_BUFF2_DESC', + 'DEFVSEN_BUFF1_DESC', + 'DEFVSEN_BUFF2_DESC', + ], + function (values) { + if (values.UNIVERS == 'CG') { + if (values.type_personnage == 'vaisseau' && values.PE_ONCE !== '') { + var for_buff_desc = values.FOR_BUFF1_DESC || values.PE_ONCE; + var dex_buff_desc = values.DEX_BUFF1_DESC || values.PE_ONCE; + var int_buff_desc = values.INT_BUFF1_DESC || values.PE_ONCE; + var per_buff_desc = values.PER_BUFF1_DESC || values.PE_ONCE; + var cha_buff_desc = values.CHA_BUFF1_DESC || values.PE_ONCE; + var atktirv_buff_desc = values.ATKTIRV_BUFF1_DESC || values.PE_ONCE; + var init_buff_desc = values.INIT_BUFF1_DESC || 'Valeur DEX pilote'; + var defvpil_buff1_desc = + values.DEFVPIL_BUFF1_DESC || 'Mod. DEX Pilote'; + var defvpil_buff2_desc = values.DEFVPIL_BUFF2_DESC || 'Rang Pilotage'; + var defvsen_buff1_desc = + values.DEFVSEN_BUFF1_DESC || 'Mod. INT Scantech'; + var defvsen_buff2_desc = + values.DEFVSEN_BUFF2_DESC || 'Rang Electronique'; + setAttrs({ + FOR_BUFF1_DESC: for_buff_desc, + DEX_BUFF1_DESC: dex_buff_desc, + INT_BUFF1_DESC: int_buff_desc, + PER_BUFF1_DESC: per_buff_desc, + CHA_BUFF1_DESC: cha_buff_desc, + ATKTIRV_BUFF1_DESC: atktirv_buff_desc, + INIT_BUFF1_DESC: init_buff_desc, + DEFVPIL_BUFF1_DESC: defvpil_buff1_desc, + DEFVPIL_BUFF2_DESC: defvpil_buff2_desc, + DEFVSEN_BUFF1_DESC: defvsen_buff1_desc, + DEFVSEN_BUFF2_DESC: defvsen_buff2_desc, + PE_ONCE: '', + type_personnage: 'vaisseau', + }); + } } } - }); + ); // MAJ Version, LAST_PV getAttrs(['verfdp', 'PV'], function (values) { setAttrs({ VERSION: values.verfdp, - LAST_PV: values.PV + LAST_PV: values.PV, }); }); // ARMURE_MALUS @@ -3489,7 +3691,7 @@ on('sheet:opened', function () { let seuil_enc = parseInt(values.seuil_enc) || 0; if (seuil_enc === 0) { setAttrs({ - seuil_enc: parseInt(values.FORCE) || 0 + seuil_enc: parseInt(values.FORCE) || 0, }); } }); @@ -3512,7 +3714,7 @@ on('change:character_name', function () { var charName = values.character_name; charName = charName.replace(/ "/g, ' «'); charName = charName.replace(/" /g, '» '); - setAttrs({ character_name: charName }) + setAttrs({ character_name: charName }); }); }); @@ -3553,7 +3755,8 @@ function buffValue(v, caracs) { // c'est un mod. de carac bv = caracs[v]; } - } else { // c'est une valeur fixe + } else { + // c'est une valeur fixe bv = v; } return parseInt(bv) * bm || 0; @@ -3574,7 +3777,7 @@ function parseBuff(buffAttr) { for (let b = 0; b < buffs.length; b++) { let buff = buffs[b]; if (buff && buff !== '') { - let delim = (buff.indexOf(':') !== -1) ? ':' : ' '; + let delim = buff.indexOf(':') !== -1 ? ':' : ' '; let buffv = buff.split(delim); let buffName = ''; let buffVal = 0; @@ -3605,7 +3808,16 @@ function updateBuffs(e) { const caracs = ['FOR', 'DEX', 'CON', 'INT', 'PER', 'CHA']; let mod = e.sourceAttribute.substring(0, 3).toUpperCase(); if (!caracs.includes(mod)) return; - const attrs = [...caracs, 'ATKCAC', 'ATKTIR', 'PSYINTUI', 'PSYINFLU', 'INIT', 'DEF', 'DEP']; + const attrs = [ + ...caracs, + 'ATKCAC', + 'ATKTIR', + 'PSYINTUI', + 'PSYINFLU', + 'INIT', + 'DEF', + 'DEP', + ]; for (let a = 0; a < attrs.length; a++) { attrs[a] = `${attrs[a]}_BUFF_LIST`; } @@ -3614,7 +3826,8 @@ function updateBuffs(e) { let props = Object.keys(values); for (let p = 1; p < props.length; p++) { if (props[p].startsWith(props[0])) continue; - if (values[props[p]].indexOf(`[${props[0]}]`) !== -1) parseBuff(props[p].replace('_BUFF_LIST', '')); + if (values[props[p]].indexOf(`[${props[0]}]`) !== -1) + parseBuff(props[p].replace('_BUFF_LIST', '')); } }); } @@ -3622,53 +3835,52 @@ function updateBuffs(e) { /** * On changing an attribute serialized in the CARACS attribute */ -on([ - 'change:force', - 'change:dexterite', - 'change:constitution', - 'change:intelligence', - 'change:perception', - 'change:charisme', - 'change:niveau', - 'change:defarmureon', - 'change:voie1nom', - 'change:voie2nom', - 'change:voie3nom', - 'change:voie4nom', - 'change:voie5nom', - 'change:voie6nom', - 'change:voie7nom', - 'change:voie8nom', - 'change:voie9nom', - 'change:rang_voie1', - 'change:rang_voie2', - 'change:rang_voie3', - 'change:rang_voie4', - 'change:rang_voie5', - 'change:rang_voie6', - 'change:rang_voie7', - 'change:rang_voie8', - 'change:rang_voie9', -].join(' '), function (eventInfo) { - // on reconstruit d'abord l'attribut caché CARACS... - buildCaracs(); - // ... puis on met à jour les buffs qui contiennent une référence à la caractéristique modifiée - updateBuffs(eventInfo); -}); +on( + [ + 'change:force', + 'change:dexterite', + 'change:constitution', + 'change:intelligence', + 'change:perception', + 'change:charisme', + 'change:niveau', + 'change:defarmureon', + 'change:voie1nom', + 'change:voie2nom', + 'change:voie3nom', + 'change:voie4nom', + 'change:voie5nom', + 'change:voie6nom', + 'change:voie7nom', + 'change:voie8nom', + 'change:voie9nom', + 'change:rang_voie1', + 'change:rang_voie2', + 'change:rang_voie3', + 'change:rang_voie4', + 'change:rang_voie5', + 'change:rang_voie6', + 'change:rang_voie7', + 'change:rang_voie8', + 'change:rang_voie9', + ].join(' '), + function (eventInfo) { + // on reconstruit d'abord l'attribut caché CARACS... + buildCaracs(); + // ... puis on met à jour les buffs qui contiennent une référence à la caractéristique modifiée + updateBuffs(eventInfo); + } +); /** * Update the INIT(iative) attribute */ function updateINIT() { - getAttrs([ - 'DEXTERITE', - 'INIT_BUFF', - 'ARMURE_MALUS' - ], function (values) { + getAttrs(['DEXTERITE', 'INIT_BUFF', 'ARMURE_MALUS'], function (values) { let initVal = 0; initVal += parseInt(values.DEXTERITE) || 0; initVal += parseInt(values.INIT_BUFF) || 0; - initVal -= (parseInt(values.ARMURE_MALUS) || 0); + initVal -= parseInt(values.ARMURE_MALUS) || 0; setAttrs({ INIT: initVal }); }); } @@ -3677,53 +3889,60 @@ function updateINIT() { * On changing the relevant attributes * Update the INIT(iative) attribute */ -on([ - 'change:dexterite', - 'change:init_buff', - 'change:armure_malus' -].join(' '), function () { - updateINIT(); -}) - +on( + ['change:dexterite', 'change:init_buff', 'change:armure_malus'].join(' '), + function () { + updateINIT(); + } +); /** * Update the DEF(ense) attribute */ function updateDEF() { - getAttrs([ - 'DEFARMURE', - 'DEFARMUREON', - 'DEFBOUCLIER', - 'DEFBOUCLIERON', - 'DEXTERITE', - 'DEF_BUFF', - 'DEFACT' - ], function (values) { - let defVal = 10; - defVal += (parseInt(values.DEFARMURE) || 0) * (parseInt(values.DEFARMUREON) || 0); - defVal += (parseInt(values.DEFBOUCLIER) || 0) * (parseInt(values.DEFBOUCLIERON) || 0); - defVal += getMod(values.DEXTERITE); - defVal += parseInt(values.DEF_BUFF) || 0; - defVal += parseInt(values.DEFACT) || 0; - setAttrs({ DEF: defVal }); - }); + getAttrs( + [ + 'DEFARMURE', + 'DEFARMUREON', + 'DEFBOUCLIER', + 'DEFBOUCLIERON', + 'DEXTERITE', + 'DEF_BUFF', + 'DEFACT', + ], + function (values) { + let defVal = 10; + defVal += + (parseInt(values.DEFARMURE) || 0) * (parseInt(values.DEFARMUREON) || 0); + defVal += + (parseInt(values.DEFBOUCLIER) || 0) * + (parseInt(values.DEFBOUCLIERON) || 0); + defVal += getMod(values.DEXTERITE); + defVal += parseInt(values.DEF_BUFF) || 0; + defVal += parseInt(values.DEFACT) || 0; + setAttrs({ DEF: defVal }); + } + ); } /** * On changing the relevant attributes * Update the DEF(ense) attribute */ -on([ - 'change:defarmure', - 'change:defarmureon', - 'change:defbouclier', - 'change:defbouclieron', - 'change:dexterite', - 'change:def_buff', - 'change:defact', -].join(' '), function () { - updateDEF(); -}); +on( + [ + 'change:defarmure', + 'change:defarmureon', + 'change:defbouclier', + 'change:defbouclieron', + 'change:dexterite', + 'change:def_buff', + 'change:defact', + ].join(' '), + function () { + updateDEF(); + } +); /** * On changing the buff lists @@ -3788,18 +4007,18 @@ on('change:pv_buff_list', function () { * Rebuild the buff lists from the buffs repeating section */ function rebuildBuffs() { - getSectionIDs("buffs", function (ids) { + getSectionIDs('buffs', function (ids) { const aliases = { - 'atc': 'atkcac', - 'atd': 'atktir', - 'cac': 'atkcac', - 'contact': 'atkcac', - 'cad': 'atktir', - 'distance': 'atktir', - 'psyint': 'psyintui', - 'psyinf': 'psyinflu', - 'tir': 'atktir', - 'initiative': 'init' + atc: 'atkcac', + atd: 'atktir', + cac: 'atkcac', + contact: 'atkcac', + cad: 'atktir', + distance: 'atktir', + psyint: 'psyintui', + psyinf: 'psyinflu', + tir: 'atktir', + initiative: 'init', }; let buffs = { for: '', @@ -3815,33 +4034,40 @@ function rebuildBuffs() { init: '', def: '', dep: '', - pv: '' + pv: '', }; for (const id of ids) { - getAttrs([`repeating_buffs_${id}_buffon`, `repeating_buffs_${id}_buffnom`, `repeating_buffs_${id}_buffmods`], function (values) { - const enabled = parseInt(values[Object.keys(values)[0]]) || 0; - const buffName = values[Object.keys(values)[1]]; - const buffMods = values[Object.keys(values)[2]]; - if (enabled == 1 && buffName !== '' && buffMods !== '') { - const mods = buffMods.split(';'); - for (const mod of mods) { - const parsed = parseNameValue(mod); - let attrName = parsed.name.toLowerCase(); - let attrBuff = parsed.value; - if (Object.keys(aliases).indexOf(attrName) != -1) { - attrName = aliases[attrName]; - } - if (attrName !== '' && attrBuff !== '') { - buffs[attrName] += `${buffName} : ${attrBuff}; `; + getAttrs( + [ + `repeating_buffs_${id}_buffon`, + `repeating_buffs_${id}_buffnom`, + `repeating_buffs_${id}_buffmods`, + ], + function (values) { + const enabled = parseInt(values[Object.keys(values)[0]]) || 0; + const buffName = values[Object.keys(values)[1]]; + const buffMods = values[Object.keys(values)[2]]; + if (enabled == 1 && buffName !== '' && buffMods !== '') { + const mods = buffMods.split(';'); + for (const mod of mods) { + const parsed = parseNameValue(mod); + let attrName = parsed.name.toLowerCase(); + let attrBuff = parsed.value; + if (Object.keys(aliases).indexOf(attrName) != -1) { + attrName = aliases[attrName]; + } + if (attrName !== '' && attrBuff !== '') { + buffs[attrName] += `${buffName} : ${attrBuff}; `; + } } } + let setBuffs = {}; + for (const attr in buffs) { + setBuffs[`${attr.toUpperCase()}_BUFF_LIST`] = buffs[attr]; + } + setAttrs(setBuffs); } - let setBuffs = {}; - for (const attr in buffs) { - setBuffs[`${attr.toUpperCase()}_BUFF_LIST`] = buffs[attr]; - } - setAttrs(setBuffs); - }); + ); } }); } @@ -3879,125 +4105,155 @@ function setBuff(v, buffAttr) { setAttrs(buff); } -on([ - 'change:for_buff1', - 'change:for_buff2', - 'change:for_buff3', - 'change:for_buff4', - 'change:for_buff5' -].join(' '), function () { - getAttrs(attrBuff('FOR'), function (values) { - setBuff(values, 'FOR'); - }); -}); +on( + [ + 'change:for_buff1', + 'change:for_buff2', + 'change:for_buff3', + 'change:for_buff4', + 'change:for_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('FOR'), function (values) { + setBuff(values, 'FOR'); + }); + } +); -on([ - 'change:dex_buff1', - 'change:dex_buff2', - 'change:dex_buff3', - 'change:dex_buff4', - 'change:dex_buff5' -].join(' '), function () { - getAttrs(attrBuff('DEX'), function (values) { - setBuff(values, 'DEX'); - }); -}); +on( + [ + 'change:dex_buff1', + 'change:dex_buff2', + 'change:dex_buff3', + 'change:dex_buff4', + 'change:dex_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('DEX'), function (values) { + setBuff(values, 'DEX'); + }); + } +); -on([ - 'change:con_buff1', - 'change:con_buff2', - 'change:con_buff3', - 'change:con_buff4', - 'change:con_buff5' -].join(' '), function () { - getAttrs(attrBuff('CON'), function (values) { - setBuff(values, 'CON'); - }); -}); +on( + [ + 'change:con_buff1', + 'change:con_buff2', + 'change:con_buff3', + 'change:con_buff4', + 'change:con_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('CON'), function (values) { + setBuff(values, 'CON'); + }); + } +); -on([ - 'change:int_buff1', - 'change:int_buff2', - 'change:int_buff3', - 'change:int_buff4', - 'change:int_buff5' -].join(' '), function () { - getAttrs(attrBuff('INT'), function (values) { - setBuff(values, 'INT'); - }); -}); +on( + [ + 'change:int_buff1', + 'change:int_buff2', + 'change:int_buff3', + 'change:int_buff4', + 'change:int_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('INT'), function (values) { + setBuff(values, 'INT'); + }); + } +); -on([ - 'change:per_buff1', - 'change:per_buff2', - 'change:per_buff3', - 'change:per_buff4', - 'change:per_buff5' -].join(' '), function () { - getAttrs(attrBuff('PER'), function (values) { - setBuff(values, 'PER'); - }); -}); +on( + [ + 'change:per_buff1', + 'change:per_buff2', + 'change:per_buff3', + 'change:per_buff4', + 'change:per_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('PER'), function (values) { + setBuff(values, 'PER'); + }); + } +); -on([ - 'change:cha_buff1', - 'change:cha_buff2', - 'change:cha_buff3', - 'change:cha_buff4', - 'change:cha_buff5' -].join(' '), function () { - getAttrs(attrBuff('CHA'), function (values) { - setBuff(values, 'CHA'); - }); -}); +on( + [ + 'change:cha_buff1', + 'change:cha_buff2', + 'change:cha_buff3', + 'change:cha_buff4', + 'change:cha_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('CHA'), function (values) { + setBuff(values, 'CHA'); + }); + } +); -on([ - 'change:atktirv_buff1', - 'change:atktirv_buff2', - 'change:atktirv_buff3', - 'change:atktirv_buff4', - 'change:atktirv_buff5' -].join(' '), function () { - getAttrs(attrBuff('ATKTIRV'), function (values) { - setBuff(values, 'ATKTIRV'); - }); -}); +on( + [ + 'change:atktirv_buff1', + 'change:atktirv_buff2', + 'change:atktirv_buff3', + 'change:atktirv_buff4', + 'change:atktirv_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('ATKTIRV'), function (values) { + setBuff(values, 'ATKTIRV'); + }); + } +); -on([ - 'change:defvpil_buff1', - 'change:defvpil_buff2', - 'change:defvpil_buff3', - 'change:defvpil_buff4', - 'change:defvpil_buff5' -].join(' '), function () { - getAttrs(attrBuff('DEFVPIL'), function (values) { - setBuff(values, 'DEFVPIL'); - }); -}); +on( + [ + 'change:defvpil_buff1', + 'change:defvpil_buff2', + 'change:defvpil_buff3', + 'change:defvpil_buff4', + 'change:defvpil_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('DEFVPIL'), function (values) { + setBuff(values, 'DEFVPIL'); + }); + } +); -on([ - 'change:defvsen_buff1', - 'change:defvsen_buff2', - 'change:defvsen_buff3', - 'change:defvsen_buff4', - 'change:defvsen_buff5' -].join(' '), function () { - getAttrs(attrBuff('DEFVSEN'), function (values) { - setBuff(values, 'DEFVSEN'); - }); -}); +on( + [ + 'change:defvsen_buff1', + 'change:defvsen_buff2', + 'change:defvsen_buff3', + 'change:defvsen_buff4', + 'change:defvsen_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('DEFVSEN'), function (values) { + setBuff(values, 'DEFVSEN'); + }); + } +); -on([ - 'change:pev_buff1', - 'change:pev_buff2', - 'change:pev_buff3', - 'change:pev_buff4', - 'change:pev_buff5' -].join(' '), function () { - getAttrs(attrBuff('PEV'), function (values) { - setBuff(values, 'PEV'); - }); -}); +on( + [ + 'change:pev_buff1', + 'change:pev_buff2', + 'change:pev_buff3', + 'change:pev_buff4', + 'change:pev_buff5', + ].join(' '), + function () { + getAttrs(attrBuff('PEV'), function (values) { + setBuff(values, 'PEV'); + }); + } +); /** * On changing the 'Blessure' checkbox @@ -4005,9 +4261,9 @@ on([ */ on('change:blessure', function () { getAttrs(['BLESSURE'], function (values) { - var etatde = (values.BLESSURE == '1') ? '12' : '20'; + var etatde = values.BLESSURE == '1' ? '12' : '20'; setAttrs({ - ETATDE: etatde + ETATDE: etatde, }); }); }); @@ -4018,10 +4274,11 @@ on('change:blessure', function () { */ on('change:poisse', function () { getAttrs(['POISSE'], function (values) { - var jetn = (values.POISSE == '1') ? '2d@{ETATDE}kl1' : '1d@{ETATDE}'; - var jets = (values.POISSE == '1') ? '1d@{ETATDE}' : '2d@{ETATDE}kh1'; - var jetsh = (values.POISSE == '1') ? '2d@{ETATDE}kh1' : '{2d@{ETATDE}kh1, 0d20+10}kh1'; - var jetr = (values.POISSE == '1') ? '2d12kl1' : '1d12'; + var jetn = values.POISSE == '1' ? '2d@{ETATDE}kl1' : '1d@{ETATDE}'; + var jets = values.POISSE == '1' ? '1d@{ETATDE}' : '2d@{ETATDE}kh1'; + var jetsh = + values.POISSE == '1' ? '2d@{ETATDE}kh1' : '{2d@{ETATDE}kh1, 0d20+10}kh1'; + var jetr = values.POISSE == '1' ? '2d12kl1' : '1d12'; setAttrs({ JETNORMAL: jetn, JETSUP: jets, @@ -4030,7 +4287,7 @@ on('change:poisse', function () { JDEX: jetn, JDEXSUP: jets, JDEXSUPHERO: jetsh, - JDEXRISQUE: jetr + JDEXRISQUE: jetr, }); }); }); @@ -4040,7 +4297,9 @@ on('change:poisse', function () { * - Set the 'BLESSURE' attribute */ on('change:pv', function () { - getAttrs(['PV', 'PV_max', 'LAST_PV', 'SEUILBG', 'BLESSURE'], function (values) { + getAttrs(['PV', 'PV_max', 'LAST_PV', 'SEUILBG', 'BLESSURE'], function ( + values + ) { var seuilbg = parseInt(values.SEUILBG) || 0; var max_pv = parseInt(values.PV_max) || 0; var last_pv = parseInt(values.LAST_PV) || max_pv; @@ -4051,7 +4310,7 @@ on('change:pv', function () { } setAttrs({ LAST_PV: values.PV, - BLESSURE: blessure + BLESSURE: blessure, }); }); }); @@ -4061,39 +4320,48 @@ on('change:pv', function () { * - Parse the statblock text * - Create the NPC character sheet */ -on('change:statblock', function (eventInfo) { - if (eventInfo.newValue === '') return; +on('clicked:sb_import', function () { getAttrs(['UNIVERS', 'statblock'], function (values) { - var messages = ''; - var pnjObj = importStatblock(values.statblock); + if (values.statblock.trim() === '') return; + let messages = ''; + // parse statblock text + pnjObj = importStatblock(values.statblock); if (pnjObj) { consoleLog(pnjObj, 'NPC object'); + // process characteristics & combat attributes messages = processBaseAttributes(values.UNIVERS, pnjObj); - if (pnjObj.hasOwnProperty('Atks')) { - var result = processAttacks(values.UNIVERS, pnjObj); - if (result !== '' && messages !== '') result = '\n' + result; - messages += result; - delete pnjObj.Atks; - } - if (pnjObj.hasOwnProperty('Capas')) { - result = processTraits(values.UNIVERS, pnjObj); - if (result != '' && messages != '') result = '\n' + result; - messages += result; - delete pnjObj['Capas']; - } - // Other attributes go to DIVERS field - var divers = ''; - var otherAttrs = Object.keys(pnjObj); - consoleLog(otherAttrs, 'additional data'); - if (otherAttrs.length > 0) { - for (var other = 0; other < otherAttrs.length; other++) { - var k = otherAttrs[other]; - divers += k + ' ' + pnjObj[k] + '\n'; + // process attack lines + if (pnjObj['Atks'].length > 0) { + result = processAttacks(values.UNIVERS, pnjObj); + if (result != '' && messages != '') { + result = '\n' + result; } + messages += result; + } + delete pnjObj['Atks']; + // process trait/ability lines + if (pnjObj['Capas'].length > 0) { + result = processTraits(values.UNIVERS, pnjObj); + if (result != '' && messages != '') { + result = '\n' + result; + } + messages += result; + } + delete pnjObj['Capas']; + // Other attributes go to DIVERS field + let divers = ''; + if (pnjObj['Extras'].length > 0) { + divers = pnjObj['Extras'].join('\n'); + } + delete pnjObj['Extras']; + let otherAttrs = Object.keys(pnjObj); + consoleLog(otherAttrs, 'additional data'); + for (const other in otherAttrs) { + divers += other + ' ' + pnjObj[other] + '\n'; } setAttrs({ pnj_divers: divers, - sbresult: messages + sbresult: messages, }); } }); @@ -4110,106 +4378,154 @@ const npcAtkAttribs = [ 'atkdmde', 'atkdmbonus', 'atkportee', - 'atkspec' -] + 'atkspec', +]; /** * Convert an NPC to a PC character sheet */ function convertToPC() { - getAttrs([ - 'pnj_for', 'pnj_dex', 'pnj_con', 'pnj_int', 'pnj_per', 'pnj_cha', - 'pnj_jetfor', 'pnj_jetdex', 'pnj_jetcon', 'pnj_jetint', 'pnj_jetper', 'pnj_jetcha', - 'pnj_init', 'pnj_def', 'pnj_dep', 'pnj_pv', 'pnj_pv_max' - ], function (values) { - let attrs = {}; - for (let attr of ['FORCE', 'DEXTERITE', 'CONSTITUTION', 'INTELLIGENCE', 'PERCEPTION', 'CHARISME']) { - let attrv = parseInt(values[`pnj_${attr.substring(0, 3).toLowerCase()}`]) || 0; - attrs[attr] = 10 + (2 * attrv); - if (attr === 'DEXTERITE') { - let init = parseInt(values.pnj_init) || 0; - if (init === attrv + 1) { - attrs[attr]++; - } else { - attrs['INIT_BUFF_LIST'] = 'Bonus Init.'; - attrs['INIT_BUFF'] = init - attrs[attr]; - } - let defb = 10 + attrv; - let def = parseInt(values.pnj_def) || 0; - if (def !== defb) { - attrs['DEF_BUFF_LIST'] = 'Bonus DEF'; - attrs['DEF_BUFF'] = def - defb; - } - attrs['DEX_SUP'] = (values['pnj_jetdex'] === '2d20kh1') ? '@{JDEXSUP}' : '@{JDEX}'; - } else if (attr === 'CHARISME') { - let depb = 10 + attrv; - let dep = parseInt(values.pnj_dep) || 0; - if (dep !== depb) { - attrs['DEP_BUFF_LIST'] = 'Bonus DEP'; - attrs['DEP_BUFF'] = dep - depb; - } - } else { - attrs[`${attr.substring(0, 3)}_SUP`] = (values[`pnj_jet${attr.substring(0, 3).toLowerCase()}`] === '2d20kh1') ? '@{JETSUP}' : '@{JETNORMAL}'; - } - } - attrs['PV'] = parseInt(values.pnj_pv) || 0; - attrs['PV_max'] = parseInt(values.pnj_pv_max) || 0; - getSectionIDs('repeating_armes', function (ids) { - for (let id of ids) { - removeRepeatingRow(`repeating_armes_${id}`); - } - }); - getSectionIDs('repeating_pnjatk', function (ids) { - for (let id of ids) { - getAttrs([...npcAtkAttribs.map(attr => `repeating_pnjatk_${id}_${attr}`), 'pnj_for', 'pnj_dex', 'pnj_cha'], function (values) { - consoleLog(values); - let v = {}; - for (let attr of npcAtkAttribs) { - v[attr] = values[`repeating_pnjatk_${id}_${attr}`] || ''; - } - newRowID = generateRowID(); - let atkRow = {}; - atkRow[`repeating_armes_${newRowID}_armeatt`] = v['atkatt']; - atkRow[`repeating_armes_${newRowID}_armenom`] = v['atknom']; - let psyint = v['atknom'].toLowerCase().includes('psy intuition'); - let psyinf = v['atknom'].toLowerCase().includes('psy influence'); - let tohit = parseInt(v['atkbonus']) || 0; - let atk = 0; - let bdm = 0; - if (v['atkportee'] && v['atkportee'] !== '') { - atk = values.pnj_dex || 0; - if (psyint) atk = values.pnj_int || 0; - if (psyinf) atk = values.pnj_cha || 0; - atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKTIR}'; - if (psyint) atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKPSYINTUI}'; - if (psyinf) atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKPSYINFLU}'; - atkRow[`repeating_armes_${newRowID}_armedmcar`] = '0'; + getAttrs( + [ + 'pnj_for', + 'pnj_dex', + 'pnj_con', + 'pnj_int', + 'pnj_per', + 'pnj_cha', + 'pnj_jetfor', + 'pnj_jetdex', + 'pnj_jetcon', + 'pnj_jetint', + 'pnj_jetper', + 'pnj_jetcha', + 'pnj_init', + 'pnj_def', + 'pnj_dep', + 'pnj_pv', + 'pnj_pv_max', + ], + function (values) { + let attrs = {}; + for (let attr of [ + 'FORCE', + 'DEXTERITE', + 'CONSTITUTION', + 'INTELLIGENCE', + 'PERCEPTION', + 'CHARISME', + ]) { + let attrv = + parseInt(values[`pnj_${attr.substring(0, 3).toLowerCase()}`]) || 0; + attrs[attr] = 10 + 2 * attrv; + if (attr === 'DEXTERITE') { + let init = parseInt(values.pnj_init) || 0; + if (init === attrv + 1) { + attrs[attr]++; } else { - atk = values.pnj_for || 0; - if (psyint) atk = values.pnj_int || 0; - if (psyinf) atk = values.pnj_cha || 0; - bdm = (psyint || psyinf) ? 0 : atk; - atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKCAC}'; - if (psyint) atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKPSYINTUI}'; - if (psyinf) atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKPSYINFLU}'; - atkRow[`repeating_armes_${newRowID}_armedmcar`] = (psyint || psyinf) ? '0' : '@{FOR}'; + attrs['INIT_BUFF_LIST'] = 'Bonus Init.'; + attrs['INIT_BUFF'] = init - attrs[attr]; } - if (tohit !== atk) atkRow[`repeating_armes_${newRowID}_armeatkdiv`] = tohit - atk; - atkRow[`repeating_armes_${newRowID}_armejetd`] = v['atkjet']; - atkRow[`repeating_armes_${newRowID}_armecrit`] = v['atkcrit']; - atkRow[`repeating_armes_${newRowID}_armedmg`] = v['atkdmg']; - atkRow[`repeating_armes_${newRowID}_armedmnbde`] = v['atkdmnbde']; - atkRow[`repeating_armes_${newRowID}_armedmde`] = v['atkdmde']; - let dmdiv = parseInt(v['atkdmbonus']) || 0; - if (dmdiv !== bdm) atkRow[`repeating_armes_${newRowID}_armedmdiv`] = dmdiv - bdm; - atkRow[`repeating_armes_${newRowID}_armeportee`] = v['atkportee']; - atkRow[`repeating_armes_${newRowID}_armespec`] = v['atkspec']; - setAttrs(atkRow); - }); + let defb = 10 + attrv; + let def = parseInt(values.pnj_def) || 0; + if (def !== defb) { + attrs['DEF_BUFF_LIST'] = 'Bonus DEF'; + attrs['DEF_BUFF'] = def - defb; + } + attrs['DEX_SUP'] = + values['pnj_jetdex'] === '2d20kh1' ? '@{JDEXSUP}' : '@{JDEX}'; + } else if (attr === 'CHARISME') { + let depb = 10 + attrv; + let dep = parseInt(values.pnj_dep) || 0; + if (dep !== depb) { + attrs['DEP_BUFF_LIST'] = 'Bonus DEP'; + attrs['DEP_BUFF'] = dep - depb; + } + } else { + attrs[`${attr.substring(0, 3)}_SUP`] = + values[`pnj_jet${attr.substring(0, 3).toLowerCase()}`] === '2d20kh1' + ? '@{JETSUP}' + : '@{JETNORMAL}'; + } } - }); - setAttrs(attrs); - }); + attrs['PV'] = parseInt(values.pnj_pv) || 0; + attrs['PV_max'] = parseInt(values.pnj_pv_max) || 0; + getSectionIDs('repeating_armes', function (ids) { + for (let id of ids) { + removeRepeatingRow(`repeating_armes_${id}`); + } + }); + getSectionIDs('repeating_pnjatk', function (ids) { + for (let id of ids) { + getAttrs( + [ + ...npcAtkAttribs.map((attr) => `repeating_pnjatk_${id}_${attr}`), + 'pnj_for', + 'pnj_dex', + 'pnj_cha', + ], + function (values) { + consoleLog(values); + let v = {}; + for (let attr of npcAtkAttribs) { + v[attr] = values[`repeating_pnjatk_${id}_${attr}`] || ''; + } + newRowID = generateRowID(); + let atkRow = {}; + atkRow[`repeating_armes_${newRowID}_armeatt`] = v['atkatt']; + atkRow[`repeating_armes_${newRowID}_armenom`] = v['atknom']; + let psyint = v['atknom'].toLowerCase().includes('psy intuition'); + let psyinf = v['atknom'].toLowerCase().includes('psy influence'); + let tohit = parseInt(v['atkbonus']) || 0; + let atk = 0; + let bdm = 0; + if (v['atkportee'] && v['atkportee'] !== '') { + atk = values.pnj_dex || 0; + if (psyint) atk = values.pnj_int || 0; + if (psyinf) atk = values.pnj_cha || 0; + atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKTIR}'; + if (psyint) + atkRow[`repeating_armes_${newRowID}_armeatk`] = + '@{ATKPSYINTUI}'; + if (psyinf) + atkRow[`repeating_armes_${newRowID}_armeatk`] = + '@{ATKPSYINFLU}'; + atkRow[`repeating_armes_${newRowID}_armedmcar`] = '0'; + } else { + atk = values.pnj_for || 0; + if (psyint) atk = values.pnj_int || 0; + if (psyinf) atk = values.pnj_cha || 0; + bdm = psyint || psyinf ? 0 : atk; + atkRow[`repeating_armes_${newRowID}_armeatk`] = '@{ATKCAC}'; + if (psyint) + atkRow[`repeating_armes_${newRowID}_armeatk`] = + '@{ATKPSYINTUI}'; + if (psyinf) + atkRow[`repeating_armes_${newRowID}_armeatk`] = + '@{ATKPSYINFLU}'; + atkRow[`repeating_armes_${newRowID}_armedmcar`] = + psyint || psyinf ? '0' : '@{FOR}'; + } + if (tohit !== atk) + atkRow[`repeating_armes_${newRowID}_armeatkdiv`] = tohit - atk; + atkRow[`repeating_armes_${newRowID}_armejetd`] = v['atkjet']; + atkRow[`repeating_armes_${newRowID}_armecrit`] = v['atkcrit']; + atkRow[`repeating_armes_${newRowID}_armedmg`] = v['atkdmg']; + atkRow[`repeating_armes_${newRowID}_armedmnbde`] = v['atkdmnbde']; + atkRow[`repeating_armes_${newRowID}_armedmde`] = v['atkdmde']; + let dmdiv = parseInt(v['atkdmbonus']) || 0; + if (dmdiv !== bdm) + atkRow[`repeating_armes_${newRowID}_armedmdiv`] = dmdiv - bdm; + atkRow[`repeating_armes_${newRowID}_armeportee`] = v['atkportee']; + atkRow[`repeating_armes_${newRowID}_armespec`] = v['atkspec']; + setAttrs(atkRow); + } + ); + } + }); + setAttrs(attrs); + } + ); } /** @@ -4217,7 +4533,8 @@ function convertToPC() { * - Convert an NPC to a PC */ on('change:type_personnage', function (eventInfo) { - if (eventInfo.previousValue === 'pnj' && eventInfo.newValue === 'pj') convertToPC(); + if (eventInfo.previousValue === 'pnj' && eventInfo.newValue === 'pj') + convertToPC(); // if (eventInfo.previousValue === 'pj' && eventInfo.newValue === 'pnj') convertToNPC(); getAttrs(['type_personnage'], function (value) { let attrs = {}; @@ -4229,7 +4546,7 @@ on('change:type_personnage', function (eventInfo) { }); /** - * Return attributes array for a starsgip station + * Return attributes array for a starsgip station * @param {string} attr Spaceship station shortname */ function attrStation(attr) { @@ -4262,7 +4579,9 @@ function setStation(v, attr, fill) { } else { station_attr = `POSTE_${attr}`; } - station[station_attr] = `[[${station_name}]][${fill[1]}] + ${station_bonus}[${fill[2]}]`; + station[ + station_attr + ] = `[[${station_name}]][${fill[1]}] + ${station_bonus}[${fill[2]}]`; setAttrs(station); } @@ -4270,50 +4589,48 @@ function setStation(v, attr, fill) { * On change of spaceship stations character names of bonus * - Rebuild hidden macro formulas */ -on([ - 'change:poste_pil_nom', - 'change:poste_pil_bonus' -].join(' '), function () { +on(['change:poste_pil_nom', 'change:poste_pil_bonus'].join(' '), function () { getAttrs(attrStation('PIL'), function (values) { setStation(values, 'PIL', ['DEX', 'DEX pilote', 'Pilotage']); }); }); -on([ - 'change:poste_mot_nom', - 'change:poste_mot_bonus' -].join(' '), function () { +on(['change:poste_mot_nom', 'change:poste_mot_bonus'].join(' '), function () { getAttrs(attrStation('MOT'), function (values) { setStation(values, 'MOT', ['INT', 'INT mécano', 'Moteurs']); }); }); -on([ - 'change:poste_sen_nom', - 'change:poste_sen_bonus' -].join(' '), function () { +on(['change:poste_sen_nom', 'change:poste_sen_bonus'].join(' '), function () { getAttrs(attrStation('SEN'), function (values) { - setStation(values, 'SEN', ['INT', 'INT scan', 'Electronique/Investigation']); + setStation(values, 'SEN', [ + 'INT', + 'INT scan', + 'Electronique/Investigation', + ]); }); }); -on([ - 'change:poste_ord_nom', - 'change:poste_ord_bonus' -].join(' '), function () { +on(['change:poste_ord_nom', 'change:poste_ord_bonus'].join(' '), function () { getAttrs(attrStation('ORD'), function (values) { setStation(values, 'ORD', ['INT', 'INT info', 'Electronique']); }); }); -on([ - 'change:repeating_armesv:armecan_nom', - 'change:repeating_armesv:armecan_bonus' -].join(' '), function () { - getAttrs(['repeating_armesv_armecan_nom', 'repeating_armesv_armecan_bonus'], function (values) { - setStation(values, 'CAN', ['DEX', 'DEX canonnier', 'Armes lourdes']); - }); -}); +on( + [ + 'change:repeating_armesv:armecan_nom', + 'change:repeating_armesv:armecan_bonus', + ].join(' '), + function () { + getAttrs( + ['repeating_armesv_armecan_nom', 'repeating_armesv_armecan_bonus'], + function (values) { + setStation(values, 'CAN', ['DEX', 'DEX canonnier', 'Armes lourdes']); + } + ); + } +); /** * Initialize an array of abilities @@ -4355,149 +4672,176 @@ function setRank(voie) { * - Determine the current rank in the path * - Rebuild the CARACS attribute */ -on([ - 'change:voie1nom', - 'change:voie1-1', - 'change:voie1-2', - 'change:voie1-3', - 'change:voie1-4', - 'change:voie1-5', - 'change:v1r1', - 'change:v1r2', - 'change:v1r3', - 'change:v1r4', - 'change:v1r5' -].join(' '), function () { - setRank('1'); -}); +on( + [ + 'change:voie1nom', + 'change:voie1-1', + 'change:voie1-2', + 'change:voie1-3', + 'change:voie1-4', + 'change:voie1-5', + 'change:v1r1', + 'change:v1r2', + 'change:v1r3', + 'change:v1r4', + 'change:v1r5', + ].join(' '), + function () { + setRank('1'); + } +); -on([ - 'change:voie2nom', - 'change:voie2-1', - 'change:voie2-2', - 'change:voie2-3', - 'change:voie2-4', - 'change:voie2-5', - 'change:v2r1', - 'change:v2r2', - 'change:v2r3', - 'change:v2r4', - 'change:v2r5' -].join(' '), function () { - setRank('2'); -}); +on( + [ + 'change:voie2nom', + 'change:voie2-1', + 'change:voie2-2', + 'change:voie2-3', + 'change:voie2-4', + 'change:voie2-5', + 'change:v2r1', + 'change:v2r2', + 'change:v2r3', + 'change:v2r4', + 'change:v2r5', + ].join(' '), + function () { + setRank('2'); + } +); -on([ - 'change:voie3nom', - 'change:voie3-1', - 'change:voie3-2', - 'change:voie3-3', - 'change:voie3-4', - 'change:voie3-5', - 'change:v3r1', - 'change:v3r2', - 'change:v3r3', - 'change:v3r4', - 'change:v3r5' -].join(' '), function () { - setRank('3'); -}); +on( + [ + 'change:voie3nom', + 'change:voie3-1', + 'change:voie3-2', + 'change:voie3-3', + 'change:voie3-4', + 'change:voie3-5', + 'change:v3r1', + 'change:v3r2', + 'change:v3r3', + 'change:v3r4', + 'change:v3r5', + ].join(' '), + function () { + setRank('3'); + } +); -on([ - 'change:voie4nom', - 'change:voie4-1', - 'change:voie4-2', - 'change:voie4-3', - 'change:voie4-4', - 'change:voie4-5', - 'change:v4r1', - 'change:v4r2', - 'change:v4r3', - 'change:v4r4', - 'change:v4r5' -].join(' '), function () { - setRank('4'); -}); +on( + [ + 'change:voie4nom', + 'change:voie4-1', + 'change:voie4-2', + 'change:voie4-3', + 'change:voie4-4', + 'change:voie4-5', + 'change:v4r1', + 'change:v4r2', + 'change:v4r3', + 'change:v4r4', + 'change:v4r5', + ].join(' '), + function () { + setRank('4'); + } +); -on([ - 'change:voie5nom', - 'change:voie5-1', - 'change:voie5-2', - 'change:voie5-3', - 'change:voie5-4', - 'change:voie5-5', - 'change:v5r1', - 'change:v5r2', - 'change:v5r3', - 'change:v5r4', - 'change:v5r5' -].join(' '), function () { - setRank('5'); -}); +on( + [ + 'change:voie5nom', + 'change:voie5-1', + 'change:voie5-2', + 'change:voie5-3', + 'change:voie5-4', + 'change:voie5-5', + 'change:v5r1', + 'change:v5r2', + 'change:v5r3', + 'change:v5r4', + 'change:v5r5', + ].join(' '), + function () { + setRank('5'); + } +); -on([ - 'change:voie6nom', - 'change:voie6-1', - 'change:voie6-2', - 'change:voie6-3', - 'change:voie6-4', - 'change:voie6-5', - 'change:v6r1', - 'change:v6r2', - 'change:v6r3', - 'change:v6r4', - 'change:v6r5' -].join(' '), function () { - setRank('6'); -}); +on( + [ + 'change:voie6nom', + 'change:voie6-1', + 'change:voie6-2', + 'change:voie6-3', + 'change:voie6-4', + 'change:voie6-5', + 'change:v6r1', + 'change:v6r2', + 'change:v6r3', + 'change:v6r4', + 'change:v6r5', + ].join(' '), + function () { + setRank('6'); + } +); -on([ - 'change:voie7nom', - 'change:voie7-1', - 'change:voie7-2', - 'change:voie7-3', - 'change:voie7-4', - 'change:voie7-5', - 'change:v7r1', - 'change:v7r2', - 'change:v7r3', - 'change:v7r4', - 'change:v7r5' -].join(' '), function () { - setRank('7'); -}); +on( + [ + 'change:voie7nom', + 'change:voie7-1', + 'change:voie7-2', + 'change:voie7-3', + 'change:voie7-4', + 'change:voie7-5', + 'change:v7r1', + 'change:v7r2', + 'change:v7r3', + 'change:v7r4', + 'change:v7r5', + ].join(' '), + function () { + setRank('7'); + } +); -on([ - 'change:voie8nom', - 'change:voie8-1', - 'change:voie8-2', - 'change:voie8-3', - 'change:voie8-4', - 'change:voie8-5', - 'change:v8r1', - 'change:v8r2', - 'change:v8r3', - 'change:v8r4', - 'change:v8r5' -].join(' '), function () { - setRank('8'); -}); +on( + [ + 'change:voie8nom', + 'change:voie8-1', + 'change:voie8-2', + 'change:voie8-3', + 'change:voie8-4', + 'change:voie8-5', + 'change:v8r1', + 'change:v8r2', + 'change:v8r3', + 'change:v8r4', + 'change:v8r5', + ].join(' '), + function () { + setRank('8'); + } +); -on([ - 'change:voie9nom', - 'change:voie9-1', - 'change:voie9-2', - 'change:voie9-3', - 'change:voie9-4', - 'change:voie9-5', - 'change:v9r1', - 'change:v9r2', - 'change:v9r3', - 'change:v9r4', - 'change:v9r5' -].join(' '), function () { - setRank('9'); -}); +on( + [ + 'change:voie9nom', + 'change:voie9-1', + 'change:voie9-2', + 'change:voie9-3', + 'change:voie9-4', + 'change:voie9-5', + 'change:v9r1', + 'change:v9r2', + 'change:v9r3', + 'change:v9r4', + 'change:v9r5', + ].join(' '), + function () { + setRank('9'); + } +); /** * Compute the armor malus @@ -4507,7 +4851,7 @@ function setArmorMalus() { let armure_on = values.DEFARMUREON || 0; let armure_malus = values.DEFARMUREMALUS || 0; setAttrs({ - ARMURE_MALUS: armure_on * armure_malus + ARMURE_MALUS: armure_on * armure_malus, }); }); } @@ -4516,10 +4860,9 @@ function setArmorMalus() { * On changing the armor attributes * - Re-compute the armor malus */ -on([ - 'change:defarmureon', - 'change:defarmuremalus' -].join(' '), function (eventInfo) { +on(['change:defarmureon', 'change:defarmuremalus'].join(' '), function ( + eventInfo +) { setArmorMalus(); }); @@ -4527,21 +4870,27 @@ on([ * On changing the 2nd damage info * - Set the roll macro for the 2nd damage */ -on([ - 'change:repeating_armes:armedm2_de', - 'change:repeating_armes:armedm2_desc' -].join(' '), function (eventInfo) { - getAttrs(['repeating_armes_armedm2_de', 'repeating_armes_armedm2_desc'], function (values) { - let dm2_de = values.repeating_armes_armedm2_de || ''; - let dm2_desc = values.repeating_armes_armedm2_desc || ''; - let dmg2 = ''; - if (dm2_desc !== '') dm2_desc = `[${dm2_desc}] `; - if (dm2_de !== '') dmg2 = `[[${dm2_de}${dm2_desc}]]`; - setAttrs({ - repeating_armes_armedmg2: dmg2 - }); - }); -}); +on( + [ + 'change:repeating_armes:armedm2_de', + 'change:repeating_armes:armedm2_desc', + ].join(' '), + function (eventInfo) { + getAttrs( + ['repeating_armes_armedm2_de', 'repeating_armes_armedm2_desc'], + function (values) { + let dm2_de = values.repeating_armes_armedm2_de || ''; + let dm2_desc = values.repeating_armes_armedm2_desc || ''; + let dmg2 = ''; + if (dm2_desc !== '') dm2_desc = `[${dm2_desc}] `; + if (dm2_de !== '') dmg2 = `[[${dm2_de}${dm2_desc}]]`; + setAttrs({ + repeating_armes_armedmg2: dmg2, + }); + } + ); + } +); /** * On changing the attack range @@ -4560,7 +4909,9 @@ on('change:repeating_armes:armeportee', function () { let portees = parseInt(portee) || 0; if (portees !== 0) { setAttrs({ - repeating_armes_armeportees: `${portees}m | ${portees * 2}m (DM/2) | ${portees * 3}m (DM/3)` + repeating_armes_armeportees: `${portees}m | ${portees * 2}m (DM/2) | ${ + portees * 3 + }m (DM/3)`, }); } }); @@ -4582,7 +4933,7 @@ function actionLimitee(v) { on('change:repeating_armes:arme_al', function () { getAttrs(['repeating_armes_arme_al'], function (value) { setAttrs({ - repeating_armes_armelim: actionLimitee(value) + repeating_armes_armelim: actionLimitee(value), }); }); }); @@ -4594,7 +4945,7 @@ on('change:repeating_armes:arme_al', function () { on('change:repeating_jetcapas:jetcapa_al', function () { getAttrs(['repeating_jetcapas_jetcapa_al'], function (value) { setAttrs({ - repeating_jetcapas_jetcapalim: actionLimitee(value) + repeating_jetcapas_jetcapalim: actionLimitee(value), }); }); }); @@ -4603,41 +4954,47 @@ on('change:repeating_jetcapas:jetcapa_al', function () { * On changing ranks modifier attributes * - Set the ability/skill description */ -on([ - 'change:repeating_jetcapas:jetcapavoie', - 'change:repeating_jetcapas:jetcapacoeff', - 'change:repeating_jetcapas:jetcaparang' -].join(' '), function () { - getAttrs([ - 'repeating_jetcapas_jetcapavoie', - 'repeating_jetcapas_jetcapacoeff', - 'repeating_jetcapas_jetcaparang', - 'CARACS' - ], function (values) { - const caracs = JSON.parse(values.CARACS); - const voierang = values.repeating_jetcapas_jetcapavoie || ''; - const coeff = parseInt(values.repeating_jetcapas_jetcapacoeff) || 0; - let vn = 0; - let rang = values.repeating_jetcapas_jetcaparang || ''; - if (rang.startsWith('@{') && rang.endsWith('}')) { - vn = parseInt(rang.slice(rang.length - 2, rang.length - 1)) || -1; - if (vn >= 0) { - voie = caracs['voies'][vn - 1] || ''; - if (voie !== '') { - voie = voie.slice(0, 1) + voie.slice(1).toLowerCase(); +on( + [ + 'change:repeating_jetcapas:jetcapavoie', + 'change:repeating_jetcapas:jetcapacoeff', + 'change:repeating_jetcapas:jetcaparang', + ].join(' '), + function () { + getAttrs( + [ + 'repeating_jetcapas_jetcapavoie', + 'repeating_jetcapas_jetcapacoeff', + 'repeating_jetcapas_jetcaparang', + 'CARACS', + ], + function (values) { + const caracs = JSON.parse(values.CARACS); + const voierang = values.repeating_jetcapas_jetcapavoie || ''; + const coeff = parseInt(values.repeating_jetcapas_jetcapacoeff) || 0; + let vn = 0; + let rang = values.repeating_jetcapas_jetcaparang || ''; + if (rang.startsWith('@{') && rang.endsWith('}')) { + vn = parseInt(rang.slice(rang.length - 2, rang.length - 1)) || -1; + if (vn >= 0) { + voie = caracs['voies'][vn - 1] || ''; + if (voie !== '') { + voie = voie.slice(0, 1) + voie.slice(1).toLowerCase(); + } + rang = caracs['rangs'][vn - 1] || 0; + } } - rang = caracs['rangs'][vn - 1] || 0; + let skill = voierang; + if (voie !== '' && coeff !== 0 && rang !== 0) { + skill = `Bonus ${voie}, rang ${rang} : [[${coeff}[Bonus]*${rang}[rang ${voie}] ]]`; + } + setAttrs({ + repeating_jetcapas_jetcapaskill: skill, + }); } - } - let skill = voierang; - if (voie !== '' && coeff !== 0 && rang !== 0) { - skill = `Bonus ${voie}, rang ${rang} : [[${coeff}[Bonus]*${rang}[rang ${voie}] ]]`; - } - setAttrs({ - repeating_jetcapas_jetcapaskill: skill - }); - }); -}); + ); + } +); /** * Compute character encumbrance @@ -4647,30 +5004,33 @@ function encumbrance() { setAttrs({ total_enc: 0 }); const encombrement = { total: 0, - zeros: 0 - } + zeros: 0, + }; for (const id of ids) { - getAttrs([ - `repeating_equipement_${id}_equip-qte`, - `repeating_equipement_${id}_equip-enc`, - `repeating_equipement_${id}_equip-on`, - ], function (values) { - const qte = parseInt(values[Object.keys(values)[0]]) || 0; - const enc = parseInt(values[Object.keys(values)[1]]) || 0; - const equipe = parseInt(values[Object.keys(values)[2]]) || 0; - if (equipe === 1) { - if (enc === 0) { - encombrement.zeros += qte; - if (encombrement.zeros >= 3) { - encombrement.total += Math.floor(encombrement.zeros / 3); - encombrement.zeros %= 3; + getAttrs( + [ + `repeating_equipement_${id}_equip-qte`, + `repeating_equipement_${id}_equip-enc`, + `repeating_equipement_${id}_equip-on`, + ], + function (values) { + const qte = parseInt(values[Object.keys(values)[0]]) || 0; + const enc = parseInt(values[Object.keys(values)[1]]) || 0; + const equipe = parseInt(values[Object.keys(values)[2]]) || 0; + if (equipe === 1) { + if (enc === 0) { + encombrement.zeros += qte; + if (encombrement.zeros >= 3) { + encombrement.total += Math.floor(encombrement.zeros / 3); + encombrement.zeros %= 3; + } + } else { + encombrement.total += qte * enc; } - } else { - encombrement.total += qte * enc; + setAttrs({ total_enc: encombrement.total }); } - setAttrs({ total_enc: encombrement.total }); } - }); + ); } }); } @@ -4679,122 +5039,131 @@ function encumbrance() { * On changing character equipment * - Recompute character encumbrance */ -on([ - 'change:repeating_equipement', - 'remove:repeating_equipement' -].join(' '), function () { - encumbrance(); -}); +on( + ['change:repeating_equipement', 'remove:repeating_equipement'].join(' '), + function () { + encumbrance(); + } +); /** * On changing equipment properties * - Change DEF & RD for armor & shield * - Add or remove attack line for a weapon */ -on([ - 'change:repeating_equipement:equip-desc', - 'change:repeating_equipement:equip-props', - 'change:repeating_equipement:equip-on', - 'change:repeating_equipement:equip-atk' -].join(' '), function (eventInfo) { - getAttrs([ - 'repeating_equipement_equip-props', - 'repeating_equipement_equip-on', - 'repeating_equipement_equip-atk', - 'repeating_equipement_equip-atkid', - 'repeating_equipement_equip-desc', - 'DEFARMURE', - 'DEFARMUREON', - 'DEFARMUREMALUS', - 'DEFBOUCLIER', - 'DEFBOUCLIERON', - 'RD' - ], function (values) { - const props = values[Object.keys(values)[0]]; - const eqpon = parseInt(values[Object.keys(values)[1]]) || 0; +on( + [ + 'change:repeating_equipement:equip-desc', + 'change:repeating_equipement:equip-props', + 'change:repeating_equipement:equip-on', + 'change:repeating_equipement:equip-atk', + ].join(' '), + function (eventInfo) { + getAttrs( + [ + 'repeating_equipement_equip-props', + 'repeating_equipement_equip-on', + 'repeating_equipement_equip-atk', + 'repeating_equipement_equip-atkid', + 'repeating_equipement_equip-desc', + 'DEFARMURE', + 'DEFARMUREON', + 'DEFARMUREMALUS', + 'DEFBOUCLIER', + 'DEFBOUCLIERON', + 'RD', + ], + function (values) { + const props = values[Object.keys(values)[0]]; + const eqpon = parseInt(values[Object.keys(values)[1]]) || 0; - const attrs = {}; + const attrs = {}; - const hasAtk = parseInt(values[Object.keys(values)[2]]) || 0; - let atkId = values[Object.keys(values)[3]]; - if (eventInfo.sourceAttribute.endsWith('equip-atk') && !hasAtk) { - if (atkId) { - removeRepeatingRow(`repeating_armes_${atkId}`); - attrs['repeating_equipement_equip-atkid'] = ''; - setAttrs(attrs); - } - return; - } - - const atkName = values[Object.keys(values)[4]]; - let atkInfo = {}; - - for (const prop of props.split(',')) { - const parsed = parseNameValue(prop); - const propName = (parsed.name) ? parsed.name.toUpperCase() : ''; - if (propName === 'DEF') { - const defAttr = (atkName.toUpperCase().indexOf('BOUCLIER') !== -1) ? 'DEFBOUCLIER' : 'DEFARMURE'; - const propVal = parseInt(parsed.value) || 0; - attrs[`${defAttr}ON`] = eqpon; - if (eqpon === 1) { - if (propVal !== parseInt(values[defAttr])) { - attrs[defAttr] = propVal; + const hasAtk = parseInt(values[Object.keys(values)[2]]) || 0; + let atkId = values[Object.keys(values)[3]]; + if (eventInfo.sourceAttribute.endsWith('equip-atk') && !hasAtk) { + if (atkId) { + removeRepeatingRow(`repeating_armes_${atkId}`); + attrs['repeating_equipement_equip-atkid'] = ''; + setAttrs(attrs); } - if (values[`${defAttr}MALUS`]) { - if (propVal !== parseInt(values[`${defAttr}MALUS`])) { - attrs[`${defAttr}MALUS`] = propVal; + return; + } + + const atkName = values[Object.keys(values)[4]]; + let atkInfo = {}; + + for (const prop of props.split(',')) { + const parsed = parseNameValue(prop); + const propName = parsed.name ? parsed.name.toUpperCase() : ''; + if (propName === 'DEF') { + const defAttr = + atkName.toUpperCase().indexOf('BOUCLIER') !== -1 + ? 'DEFBOUCLIER' + : 'DEFARMURE'; + const propVal = parseInt(parsed.value) || 0; + attrs[`${defAttr}ON`] = eqpon; + if (eqpon === 1) { + if (propVal !== parseInt(values[defAttr])) { + attrs[defAttr] = propVal; + } + if (values[`${defAttr}MALUS`]) { + if (propVal !== parseInt(values[`${defAttr}MALUS`])) { + attrs[`${defAttr}MALUS`] = propVal; + } + } } } - } - } - if (propName === 'RD') { - const rds = values['RD']; - const propVal = parseInt(parsed.value) || 0; - if (eqpon === 1) { - if (propVal !== rds) { - attrs['RD'] = propVal; + if (propName === 'RD') { + const rds = values['RD']; + const propVal = parseInt(parsed.value) || 0; + if (eqpon === 1) { + if (propVal !== rds) { + attrs['RD'] = propVal; + } + } + } + if (propName === 'DM') { + atkInfo['dm'] = []; + if (parsed.value) { + atkInfo['dm'] = parsed.value.toLowerCase().split('d'); + } + } + if (propName === 'ATD') { + atkInfo['portee'] = parsed.value || ''; + atkInfo['type'] = '@{ATKTIR}'; + } else { + atkInfo['type'] = '@{ATKCAC}'; } } - } - if (propName === 'DM') { - atkInfo['dm'] = []; - if (parsed.value) { - atkInfo['dm'] = parsed.value.toLowerCase().split('d'); + if (hasAtk) { + if (!atkId) { + atkId = generateRowID(); + } + attrs['repeating_equipement_equip-atkid'] = atkId; + atkId = `repeating_armes_${atkId}`; + attrs[`${atkId}_armenom`] = atkName; + attrs[`${atkId}_armeatt`] = 'attaque='; + attrs[`${atkId}_armeatk`] = atkInfo.type; + attrs[`${atkId}_armeportee`] = atkInfo.portee || ''; + if (atkInfo.dm.length) { + attrs[`${atkId}_armedmg`] = 'degats='; + attrs[`${atkId}_armedmnbde`] = atkInfo.dm[0]; + attrs[`${atkId}_armedmde`] = atkInfo.dm[1]; + if (atkInfo.type === '@{ATKTIR}') { + attrs[`${atkId}_armedmcar`] = '0'; + } + } else { + attrs[`${atkId}_armedmg`] = ''; + } + } + if (Object.keys(attrs).length > 0) { + setAttrs(attrs); } } - if (propName === 'ATD') { - atkInfo['portee'] = (parsed.value) || ''; - atkInfo['type'] = '@{ATKTIR}'; - } else { - atkInfo['type'] = '@{ATKCAC}'; - } - } - if (hasAtk) { - if (!atkId) { - atkId = generateRowID(); - } - attrs['repeating_equipement_equip-atkid'] = atkId; - atkId = `repeating_armes_${atkId}`; - attrs[`${atkId}_armenom`] = atkName; - attrs[`${atkId}_armeatt`] = 'attaque='; - attrs[`${atkId}_armeatk`] = atkInfo.type; - attrs[`${atkId}_armeportee`] = atkInfo.portee || ''; - if (atkInfo.dm.length) { - attrs[`${atkId}_armedmg`] = 'degats='; - attrs[`${atkId}_armedmnbde`] = atkInfo.dm[0]; - attrs[`${atkId}_armedmde`] = atkInfo.dm[1]; - if (atkInfo.type === '@{ATKTIR}') { - attrs[`${atkId}_armedmcar`] = '0'; - } - } else { - attrs[`${atkId}_armedmg`] = ''; - } - } - if (Object.keys(attrs).length > 0) { - setAttrs(attrs); - } - }) -}); + ); + } +); /** * On changing the total character's encumbrance @@ -4809,7 +5178,7 @@ on('change:total_enc', function () { if (seuil_enc > 0 && encombrement > 0) { let cond = {}; if (encombrement > seuil_enc * 3) { - cond.CONDITION = 'I'; // Immobilisé + cond.CONDITION = 'I'; // Immobilisé } else if (encombrement > seuil_enc * 2) { cond.CONDITION = 'L'; // Ralenti cond.ETATDE = '12'; // +Affaibli @@ -4880,7 +5249,7 @@ function updateMatchBuffs(buffName, buffOn) { } /** - * Rebuild the attack/dm modifiers + * Rebuild the attack/dm modifiers * @param {string} section Repeating section name * @param {string} buffAttr Attack modifier attribute being rebuilt */ @@ -4894,8 +5263,9 @@ function rebuildModAtkDM(section, buffAttr) { `${section}_${id}_${sectId}on`, `${section}_${id}_${sectId}nom`, `${section}_${id}_${sectId}val`, - 'CARACS' - ], function (values) { + 'CARACS', + ], + function (values) { let caracs = JSON.parse(values.CARACS); const modOn = values[Object.keys(values)[0]] || '0'; const modNom = values[Object.keys(values)[1]] || ''; @@ -4909,7 +5279,8 @@ function rebuildModAtkDM(section, buffAttr) { armebuff += ` ${modVal}[${modNom}]`; } updateMatchBuffs(modNom, modOn); - }); + } + ); getSectionIDs('repeating_armes', function (ids) { const attrs = {}; for (const id of ids) { @@ -4925,21 +5296,18 @@ function rebuildModAtkDM(section, buffAttr) { * On changing or removing attack modifiers * - Rebuild attack buffs from modifiers */ -on([ - 'change:repeating_modatk', - 'remove:repeating_modatk' -].join(' '), function () { - rebuildModAtkDM('repeating_modatk', 'armebuff'); -}); +on( + ['change:repeating_modatk', 'remove:repeating_modatk'].join(' '), + function () { + rebuildModAtkDM('repeating_modatk', 'armebuff'); + } +); /** * On changing or removing damage modifiers * - Rebuild damage buffs from modifiers */ -on([ - 'change:repeating_moddm', - 'remove:repeating_moddm' -].join(' '), function () { +on(['change:repeating_moddm', 'remove:repeating_moddm'].join(' '), function () { rebuildModAtkDM('repeating_moddm', 'armebuffdm'); }); @@ -4947,84 +5315,84 @@ on([ * Condition codes */ const conditions = { - 'aveugle': 'A', - 'effraye': 'F', - 'etourdi': 'E', - 'immobilise': 'I', - 'panique': 'P', - 'ralenti': 'L', - 'renverse': 'R', - 'surpris': 'S' -} + aveugle: 'A', + effraye: 'F', + etourdi: 'E', + immobilise: 'I', + panique: 'P', + ralenti: 'L', + renverse: 'R', + surpris: 'S', +}; /** * Condition modifiers */ const conditions_data = { '': { - 'atc': 0, - 'atd': 0, - 'def': 0, - 'init': 0, - 'title': '' + atc: 0, + atd: 0, + def: 0, + init: 0, + title: '', }, - 'A': { - 'atc': 5, - 'atd': 10, - 'def': 5, - 'init': 5, - 'title': 'Aveuglé' + A: { + atc: 5, + atd: 10, + def: 5, + init: 5, + title: 'Aveuglé', }, - 'E': { - 'atc': 0, - 'atd': 0, - 'def': 5, - 'init': 0, - 'title': 'Etourdi' + E: { + atc: 0, + atd: 0, + def: 5, + init: 0, + title: 'Etourdi', }, - 'F': { - 'atc': 5, - 'atd': 5, - 'def': 0, - 'init': 0, - 'title': 'Effrayé' + F: { + atc: 5, + atd: 5, + def: 0, + init: 0, + title: 'Effrayé', }, - 'I': { - 'atc': 0, - 'atd': 0, - 'def': 0, - 'init': 0, - 'title': 'Immobilisé' + I: { + atc: 0, + atd: 0, + def: 0, + init: 0, + title: 'Immobilisé', }, - 'P': { - 'atc': 0, - 'atd': 0, - 'def': 2, - 'init': 0, - 'title': 'Paniqué' + P: { + atc: 0, + atd: 0, + def: 2, + init: 0, + title: 'Paniqué', }, - 'L': { - 'atc': 0, - 'atd': 0, - 'def': 0, - 'init': 0, - 'title': 'Ralenti' + L: { + atc: 0, + atd: 0, + def: 0, + init: 0, + title: 'Ralenti', }, - 'R': { - 'atc': 5, - 'atd': 5, - 'def': 5, - 'init': 0, - 'title': 'Renversé' + R: { + atc: 5, + atd: 5, + def: 5, + init: 0, + title: 'Renversé', }, - 'S': { - 'atc': 0, - 'atd': 0, - 'def': 5, - 'init': 0, - 'title': 'Surpris' - } -} + S: { + atc: 0, + atd: 0, + def: 5, + init: 0, + title: 'Surpris', + }, +}; /** * Apply condition(s) as buffs to combat stats @@ -5046,137 +5414,176 @@ function applyConditions(buffs, conditionAttr, s) { * On changing the enabled condition(s) * - Set/Unset combat stats buffs */ -on([ - 'clicked:cond_aveugle', - 'clicked:cond_effraye', - 'clicked:cond_etourdi', - 'clicked:cond_immobilise', - 'clicked:cond_panique', - 'clicked:cond_ralenti', - 'clicked:cond_renverse', - 'clicked:cond_surpris' -].join(' '), function (eventInfo) { - var clickedCondition = conditions[eventInfo.triggerName.replace('clicked:cond_', '')]; - getAttrs(['PCONDITION', 'CONDITION', 'ATKCAC_BUFF', 'ATKTIR_BUFF', 'INIT_BUFF', 'DEF_BUFF', 'ETATDE'], function (values) { - let buffs = { - 'atc': parseInt(values.ATKCAC_BUFF) || 0, - 'atd': parseInt(values.ATKTIR_BUFF) || 0, - 'def': parseInt(values.DEF_BUFF) || 0, - 'init': parseInt(values.INIT_BUFF) || 0 - }; - // debuffs prior condition - let pcondition = values.PCONDITION || ''; - applyConditions(buffs, pcondition, +1); - // change condition - let condition = values.CONDITION || ''; - if (condition.includes(clickedCondition)) { - condition = condition.replace(clickedCondition, ''); - } else { - condition += clickedCondition; - } - // buff new condition - applyConditions(buffs, condition, -1); - // check prior condition for die roll - let etatde = values.ETATDE; - if (pcondition !== '' && (pcondition.includes(conditions.immobilise) || pcondition.includes(conditions.panique))) etatde = '20'; - // check condition for die roll - if (condition !== '' && (condition.includes(conditions.immobilise) || condition.includes(conditions.panique))) etatde = '12'; - // - let displayConditions = ''; - if (condition !== '') { - for (cond of Object.keys(conditions)) { - if (condition.includes(conditions[cond])) { - displayConditions += (displayConditions === '' ? '' : ', ') + conditions_data[conditions[cond]].title; +on( + [ + 'clicked:cond_aveugle', + 'clicked:cond_effraye', + 'clicked:cond_etourdi', + 'clicked:cond_immobilise', + 'clicked:cond_panique', + 'clicked:cond_ralenti', + 'clicked:cond_renverse', + 'clicked:cond_surpris', + ].join(' '), + function (eventInfo) { + var clickedCondition = + conditions[eventInfo.triggerName.replace('clicked:cond_', '')]; + getAttrs( + [ + 'PCONDITION', + 'CONDITION', + 'ATKCAC_BUFF', + 'ATKTIR_BUFF', + 'INIT_BUFF', + 'DEF_BUFF', + 'ETATDE', + ], + function (values) { + let buffs = { + atc: parseInt(values.ATKCAC_BUFF) || 0, + atd: parseInt(values.ATKTIR_BUFF) || 0, + def: parseInt(values.DEF_BUFF) || 0, + init: parseInt(values.INIT_BUFF) || 0, + }; + // debuffs prior condition + let pcondition = values.PCONDITION || ''; + applyConditions(buffs, pcondition, +1); + // change condition + let condition = values.CONDITION || ''; + if (condition.includes(clickedCondition)) { + condition = condition.replace(clickedCondition, ''); + } else { + condition += clickedCondition; } + // buff new condition + applyConditions(buffs, condition, -1); + // check prior condition for die roll + let etatde = values.ETATDE; + if ( + pcondition !== '' && + (pcondition.includes(conditions.immobilise) || + pcondition.includes(conditions.panique)) + ) + etatde = '20'; + // check condition for die roll + if ( + condition !== '' && + (condition.includes(conditions.immobilise) || + condition.includes(conditions.panique)) + ) + etatde = '12'; + // + let displayConditions = ''; + if (condition !== '') { + for (cond of Object.keys(conditions)) { + if (condition.includes(conditions[cond])) { + displayConditions += + (displayConditions === '' ? '' : ', ') + + conditions_data[conditions[cond]].title; + } + } + } + if (displayConditions === '') displayConditions = ' '; + setAttrs({ + ATKCAC_BUFF: buffs.atc, + ATKTIR_BUFF: buffs.atd, + DEF_BUFF: buffs.def, + INIT_BUFF: buffs.init, + ETATDE: etatde, + CONDITION: condition, + PCONDITION: condition, + conditions: displayConditions, + }); } - } - if (displayConditions === '') displayConditions = ' '; - setAttrs({ - ATKCAC_BUFF: buffs.atc, - ATKTIR_BUFF: buffs.atd, - DEF_BUFF: buffs.def, - INIT_BUFF: buffs.init, - ETATDE: etatde, - CONDITION: condition, - PCONDITION: condition, - conditions: displayConditions - }); - }); -}); + ); + } +); /** * Adjust total hit points based on attribute value change * @param {string} attr Attribute name */ function hitPoints(attr) { - getAttrs(['NIVEAU', 'DV', 'CONSTITUTION', 'PV_NIVEAU', 'PV_BUFF', 'prog_pv'], function (values) { - let niveau = parseInt(values.NIVEAU) || 0; - if (niveau === 0) return; - let dv = parseInt(values.DV) || 0; - if (dv === 0) return; - let constitution = parseInt(values.CONSTITUTION) || 0; - let modcon = 0; - if (constitution > 0) modcon = Math.floor((constitution - 10) / 2); - let pv_niveau = values.PV_NIVEAU || ''; - let pv = []; - if (attr === 'niveau' || attr === 'constitution' || attr === 'pv_buff') { - if (pv_niveau !== '') pv = JSON.parse(pv_niveau); - } - let average = (parseInt(values.prog_pv) || 0 === 1) ? 1 + (dv / 2) : 0; - let pv_buff = parseInt(values.PV_BUFF) || 0; - let pv_max = 0; - for (let n = 1; n <= niveau; n++) { - let pvie = 0; - if (n === 1) { - pvie = dv + modcon; // niveau 1 : Max. DV + Mod. CON - } else { - if (n > 10) { // niveaux > 10 : 1 ou 2 PV selon DV - if (dv >= 10) pvie = 2; - else pvie = 1; - } else { // niveaux <= 10 - if (n % 2 === 0) { // niveau pair - if (n > pv.length) { // nouveau niveau - if (average !== 0) { - pvie = average; // ... soit moyenne du DV + 1 + getAttrs( + ['NIVEAU', 'DV', 'CONSTITUTION', 'PV_NIVEAU', 'PV_BUFF', 'prog_pv'], + function (values) { + let niveau = parseInt(values.NIVEAU) || 0; + if (niveau === 0) return; + let dv = parseInt(values.DV) || 0; + if (dv === 0) return; + let constitution = parseInt(values.CONSTITUTION) || 0; + let modcon = 0; + if (constitution > 0) modcon = Math.floor((constitution - 10) / 2); + let pv_niveau = values.PV_NIVEAU || ''; + let pv = []; + if (attr === 'niveau' || attr === 'constitution' || attr === 'pv_buff') { + if (pv_niveau !== '') pv = JSON.parse(pv_niveau); + } + let average = parseInt(values.prog_pv) || 0 === 1 ? 1 + dv / 2 : 0; + let pv_buff = parseInt(values.PV_BUFF) || 0; + let pv_max = 0; + for (let n = 1; n <= niveau; n++) { + let pvie = 0; + if (n === 1) { + pvie = dv + modcon; // niveau 1 : Max. DV + Mod. CON + } else { + if (n > 10) { + // niveaux > 10 : 1 ou 2 PV selon DV + if (dv >= 10) pvie = 2; + else pvie = 1; + } else { + // niveaux <= 10 + if (n % 2 === 0) { + // niveau pair + if (n > pv.length) { + // nouveau niveau + if (average !== 0) { + pvie = average; // ... soit moyenne du DV + 1 + } else { + pvie = getRandom(dv); // ... soit tirage de DV + } + if (modcon < 0) pvie += modcon; // ... + Mod. CON si négative + if (pvie < 0) pvie = 0; // ... mais on ne perd pas de PV } else { - pvie = getRandom(dv); // ... soit tirage de DV + // niveau existant + pvie = pv[n - 1]; } - if (modcon < 0) pvie += modcon; // ... + Mod. CON si négative - if (pvie < 0) pvie = 0; // ... mais on ne perd pas de PV - } else { // niveau existant - pvie = pv[n - 1]; + } else { + // niveau impair + if (modcon > 0) pvie = modcon; // Mod. CON si positif } - } else { // niveau impair - if (modcon > 0) pvie = modcon; // Mod. CON si positif } } + if (n > pv.length) pv.push(pvie); + else pv[n - 1] = pvie; + pv_max += pvie; } - if (n > pv.length) pv.push(pvie); - else pv[n - 1] = pvie; - pv_max += pvie; + pv_max += pv_buff; + setAttrs({ + PV_NIVEAU: JSON.stringify(pv), + PV_max: pv_max, + PV: pv_max, + }); } - pv_max += pv_buff; - setAttrs({ - PV_NIVEAU: JSON.stringify(pv), - PV_max: pv_max, - PV: pv_max - }); - }); + ); } /** * On changing any attribute related to hit points * - Re-compute the total hit points */ -on([ - 'change:niveau', - 'change:dv', - 'change:constitution', - 'change:pv_buff', - 'change:prog_pv' -].join(' '), function (eventInfo) { - hitPoints(eventInfo.sourceAttribute); -}); +on( + [ + 'change:niveau', + 'change:dv', + 'change:constitution', + 'change:pv_buff', + 'change:prog_pv', + ].join(' '), + function (eventInfo) { + hitPoints(eventInfo.sourceAttribute); + } +); /** * On Hit Dice button click @@ -5187,7 +5594,7 @@ on('clicked:dv_btn', function () { let niveau = parseInt(value.NIVEAU) || 0; if (niveau > 0 && niveau <= 20) { setAttrs({ - NIVEAU: niveau + 1 + NIVEAU: niveau + 1, }); } }); diff --git a/ChroniquesOubliees/co.css b/ChroniquesOubliees/co.css index 9878540692..6d39942bd9 100644 --- a/ChroniquesOubliees/co.css +++ b/ChroniquesOubliees/co.css @@ -52,7 +52,6 @@ table.sheet-tabsep{ text-align: center; font-style: normal; font-weight: bold; - text-transform: capitalize; color: white; border:none; white-space: nowrap; diff --git a/ChroniquesOubliees/co.html b/ChroniquesOubliees/co.html index 02191a8112..833d9f55da 100644 --- a/ChroniquesOubliees/co.html +++ b/ChroniquesOubliees/co.html @@ -1,5 +1,5 @@
- + @@ -362,10 +362,10 @@ PC - - / - - + + / + +
@@ -423,105 +423,105 @@
y -
- - - - - - - - - - - - - - - - - - - -
- - - - - + - - - - - ++ - - - - -
-
-
- - - - - - - - -
- - - - - - - - - -
-
+ title="Montrer/cacher les options">y +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + ++ + + + + +
+
+
+ + + + + + + + +
+ + + + + + + + + +
+
@@ -533,78 +533,78 @@ - - + + - - - - - - - - - - - - - - - -
- - - Attaque en puissance - - - en attaque et + - + + + Attaque en puissance + + + en attaque et + + - d6 DM -
- - - - Attaque assurée - - +5 en attaque et DM divisés par 2 -
- - - Attaque risquée - - +2 en attaque au contact et -4 en DEF -
- - - Attaque non léthale - - -2 en attaque si arme non adaptée -
+ d6 DM + + + + + + + + Attaque assurée + + + +5 en attaque et DM divisés par 2 + + + + + + + + Attaque risquée + + + +2 en attaque au contact et -4 en DEF + + + + + + + + Attaque non léthale + + + -2 en attaque si arme non adaptée + + +
- - - - - - - - -
- Capacité raciale
- -
- Langues Connues
- -
- Autres capacités
- -
- - + + + + + + + + +
+ Capacité raciale
+ +
+ Langues Connues
+ +
+ Autres capacités
+ +
+ + @@ -760,7 +760,7 @@
CAPACITÉS DU PERSONNAGE
- Jet + Jet @@ -828,7 +828,7 @@
ÉQUIPEMENT : Divers
-
+
@@ -850,10 +850,10 @@
  • Magie :
    • Points de mana : - +
    • Épuisement magique : - +
  • @@ -861,302 +861,307 @@
    Jets  - +
    - -
    -
    -
    Notes
    - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    - - - - - - - - -
    DEF - - PV - - - - - -
    -
    - - - -
    RD
    -
    - - - -
    - Armure -
    - Bouclier -
    - - - - - - - -
    - PV restants  - -
    - DM temp.  - -
    -    - Jets  - -
    -
    -
    - - - -
    Capacités
    -
    - Importer statblock
    -
    -
    - -   - -
    -
    -
    - -
    - - - - - - - - - -
    AttaquesToucherCrit.DMPortéeSpécial
    -
    -
    - y -
    - - - - - - - - - - - - - - - - - - - -
    - - - - - + - - - - - - + - - - - -
    -
    -
    - - - - - - - - -
    - - - - - - - - - -
    -
    -
    -
    -
    - Options d'attaque
    -
    -
    - - - @@ -114,7 +114,7 @@ @@ -126,7 +126,7 @@ @@ -138,7 +138,7 @@ @@ -150,7 +150,7 @@ @@ -162,7 +162,7 @@ @@ -174,7 +174,7 @@ @@ -186,7 +186,7 @@ @@ -198,7 +198,7 @@ @@ -210,7 +210,7 @@ @@ -222,7 +222,7 @@ @@ -234,7 +234,7 @@ @@ -246,7 +246,7 @@ @@ -258,7 +258,7 @@ @@ -270,7 +270,7 @@ @@ -282,7 +282,7 @@ @@ -294,7 +294,7 @@ @@ -306,7 +306,7 @@ @@ -318,7 +318,7 @@ @@ -330,7 +330,7 @@ @@ -366,47 +366,47 @@

    Characteristics










    @@ -433,7 +433,7 @@ @@ -465,7 +465,7 @@ @@ -590,7 +590,7 @@
    @@ -761,7 +761,7 @@
    diff --git a/Dark_Heresy_2ed/DarkHeresy2ed.html b/Dark_Heresy_2ed/DarkHeresy2ed.html index ab6bff6875..793a2d9355 100644 --- a/Dark_Heresy_2ed/DarkHeresy2ed.html +++ b/Dark_Heresy_2ed/DarkHeresy2ed.html @@ -1,26 +1,26 @@ - +Player SheetGear - +Advancements - +NPCS - +Journal - +Vehicles - +Psykana - +Ship

    @@ -73,13 +73,13 @@
    - - + +
    -
    +
    @@ -87,17 +87,17 @@
    -
    +
    -
    +
    -
    +
    @@ -126,10 +126,10 @@

    Characteristics

    - +
    - +
    @@ -153,7 +153,7 @@ -
    +
    @@ -168,7 +168,7 @@
    - +
    @@ -180,9 +180,9 @@ -
    +
    - +
    @@ -207,7 +207,7 @@ -
    +
    @@ -234,7 +234,7 @@ - + @@ -249,7 +249,7 @@ - +
    @@ -261,13 +261,13 @@ -
    +
    - +
    @@ -280,7 +280,7 @@
    - +
    @@ -292,7 +292,7 @@ -
    +
    @@ -307,7 +307,7 @@ - +
    @@ -319,7 +319,7 @@ -
    +
    @@ -334,7 +334,7 @@ - +
    @@ -346,9 +346,9 @@ -
    +
    - +
    @@ -361,7 +361,7 @@
    - +
    @@ -373,7 +373,7 @@ -
    +
    @@ -388,7 +388,7 @@ - + @@ -414,9 +414,9 @@

    Initiative

    -
    +
    - +
    @@ -430,7 +430,6 @@

    -

    Movement

    @@ -531,20 +530,22 @@
    -
    +

    Size

    -
    + + + + + + + + + + +

    @@ -555,23 +556,23 @@
    -
    + - +
    - +

    Skills

    - +
    - Attaque de groupe : + + + +
    + +
    +
    + + + - + + + + - - - - - - - - - - - - - - - - - - + + + + + +
    + + - - + + + + + + + + + + + +
    - - - Attaque en puissance - - en attaque et + - - - d6 DM -
    - - - Attaque assurée - - +5 en attaque et DM divisés par 2 -
    - - - - Attaque risquée - - +2 en attaque au contact mais la DEF passe de à pour 1 tour -
    - - - Attaque non léthale - - -2 en attaque si arme non adaptée - + + + + + + + + + + + + + + +
    -
    + + + + + + + + +
    DEF + + PV + + + + + +
    +
    + + + +
    RD
    +
    + + + +
    + Armure +
    + Bouclier +
    + + + + + + + +
    + PV restants  + +
    + DM temp.  + +
    +    + Jets  + +
    +
    +
    + + + +
    Capacités
    +
    +
    + +
    + + + + + + + + + +
    AttaquesToucherCrit.DMPortéeSpécial
    +
    +
    + y +
    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + + +
    + + + + + + + + + +
    +
    +
    +
    +
    + Options d'attaque
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + Attaque de groupe : + + + +
    + + + Attaque en puissance + + en attaque et + + + + d6 DM +
    + + + Attaque assurée + + +5 en attaque et DM divisés par 2 +
    + + + + Attaque risquée + + +2 en attaque au contact mais la DEF passe de à pour 1 tour +
    + + + Attaque non léthale + + -2 en attaque si arme non adaptée +
    +
    + +
    + + + + +
    Importer un block de statistiques
    +
    @@ -1401,8 +1406,17 @@ }); }); } + if (verfdp < 3.5) { + getAttrs(['type_personnage'], function(values) { + if (values.type_personnage == 'PNJ') { + setAttrs({ + tab: "carac. pnj" + }); + } + }); + } setAttrs({ - version: 3.4 + version: 3.5 }); }); }); @@ -1563,7 +1577,9 @@ "jets_caches", "pnj_default_jets_caches", ], function(values) { - var attrs = {}; + var attrs = { + tab: "carac. pnj" + }; attrs.pnj_for = Math.floor((parseInt(values.FORCE) - 10) / 2); if (isNaN(attrs.pnj_for)) attrs.pnj_for = 0; var bonus = parseInt(values.FOR_BONUS); @@ -1720,6 +1736,10 @@ }); }); }); + } else { + setAttrs({ + tab: 'caracteristiques' + }); } }); @@ -2168,7 +2188,16 @@ currentRow = currentRow.substring(1).trim(); } var index = currentRow.search(/\bDM\b/i); - var specAtt = currentRow.substring(0, index); + var specAtt = currentRow.substring(0, index).trim(); + if (!portee) { + //parfois la portée n'est pas placée juste après le nom de l'attaque et se retrouve dans le champ spécial + portee = /\(\d+\s*m\)/i.exec(specAtt); + if (portee) { + specAtt = specAtt.substring(0, portee.index).trim(); + portee = parseInt(portee[0].substring(1)); + if (isNaN(portee)) portee = 0; + } + } currentRow = currentRow.substring(index + 3).trim(); index = currentRow.search(/\s/); if (index < 0) { @@ -2272,6 +2301,12 @@ var valAttr = row.substring(l.match.index + lstat.length, l.end).trim(); valAttr = valAttr.replace(/\)$/, ''); if (lattr.search(/(for|dex|con|sag|int|cha)/) > 0) { + //Cas ou on rajoute une autre valeur pour la caractéristique + //par exemple pour le centaure + var caracParen = valAttr.search(/\([+-]\d/); + if (caracParen > 0) { + valAttr = valAttr.substring(0, caracParen - 1).trim(); + } if (valAttr.endsWith('*')) { valAttr = valAttr.substr(0, valAttr.length - 1); newAttrs[lattr + '_sup'] = 'on'; @@ -2307,12 +2342,19 @@ } else if (lattr == 'pnj_pv_max') { //On met aussi les pv courants à jour var pvMax = parseInt(valAttr); - //Cas où on note entre parenhèse les PV courants - var caracParen = valAttr.indexOf('('); - if (caracParen > 0) { - var pvCourant = parseInt(valAttr.substring(caracParen + 1)); - newAttrs.pnj_pv = pvCourant; - valAttr = valAttr.substring(0, caracParen).trim(); + //Cas où on note entre parenhèse les PV courants ou la RD + var pvParen = valAttr.indexOf('('); + if (pvParen > 0) { + var pvSuite = valAttr.substring(pvParen + 1); + valAttr = valAttr.substring(0, pvParen).trim(); + pvMax = parseInt(valAttr); + if (pvSuite.startsWith('RD')) { + newAttrs.pnj_rd = parseInt(pvSuite.substring(2)); + newAttrs.pnj_pv = pvMax; + } else { + var pvCourant = parseInt(pvSuite); + newAttrs.pnj_pv = pvCourant; + } } else newAttrs.pnj_pv = pvMax; } newAttrs[lattr] = valAttr; diff --git a/ChroniquesOublieesContemporain/README.md b/ChroniquesOublieesContemporain/README.md index 5292a6ba0b..cb32e23da5 100644 --- a/ChroniquesOublieesContemporain/README.md +++ b/ChroniquesOublieesContemporain/README.md @@ -9,154 +9,185 @@ Cette feuilles de personnage inclut quelques jets et règles optionnelles. Le jeu complet est disponible sur le site de l'éditeur [Black Book Editions](http://www.black-book-editions.fr/produit.php?id=4349). # Version courante -3.3 [Screenshot](coc_v2.png) + +3.5 [Screenshot](coc_v2.png) # Notes de version +## v3.5 (2020-08-22) + +- Gestion des dés d'usure en mode CO Bitume. Pour chaque pièce d'équipement concernée, indiquer dans la liste des propriétés une propriété nommée Ud et donner en valeur le chiffre du dé d'usure (8 pour d8, 10 pour d10, etc...). Un bouton sous la liste des équipements permet de lancer un test d'usure en sélectionnant d'abord l'équipement concerné. En cas d'échec (le chiffre du jet dans le chat apparait en rouge), le dé d'usure de cette équipement doit être baissé d'un cran (ex : de 'Ud : 8' à 'Ud : 6', cf livre de règles). +- Gestion de la fiche de véhicule spécifique à Bitume avec : + - Une liste des modifications du véhicule pour laquelle on peut indiquer : + - le nombre d'emplacements pris par la modification, en cas de dépassement du nombre maximum (valeur de la caractéristique EMP) le nombre d'emplacement est remis à 0. + - une liste éventuelle des caractéristiques que la modification booste (RAP, MAN, IMP). + - une case permettant d'activer ou non la modification (et donc d'appliquer le buff correspondant) + - Une gestion des dés d'usure du véhicule, avec possibilité d'indiquer le Ud maximum et le Ud courant et de faire les jets d'usure correspondant. Le Ud courant est automatiquement mis à jour d'une part en fonction du Ud maximum, et d'autre part en fonction des points d'avaries accumulés. + +## v3.4 (2020-08-15) + +- Amélioration de la logique d'import d'un statblock de PNJ ou de créature +- Lancement de l'import du statblock via un bouton + ## v3.3 (2020-08-04) -* Génération automatique de lignes de ressources sur l'onglet équipement en fonction de l'univers choisi -* Ajout d'une liste de choix de surhumains permettant de générer automatique des lignes de ressources et/ou de déterminer les dés de vie, caractéristiques magiques, etc... + +- Génération automatique de lignes de ressources sur l'onglet équipement en fonction de l'univers choisi +- Ajout d'une liste de choix de surhumains permettant de générer automatique des lignes de ressources et/ou de déterminer les dés de vie, caractéristiques magiques, etc... ## v3.2 (2020-04-28) -* Modifications internes sur les champs INIT et DEF pour permettre la liaison de ces attributs avec un token (contourne un bug de Roll20 sur la liaison avec des champs auto-calculés) -* Ajout de cases à cocher pour chaque capacité (permet de remplir les voies à l'avance) -* Modifications cosmétiques (alignement des attributs sur le premier onglet de la fiche) + +- Modifications internes sur les champs INIT et DEF pour permettre la liaison de ces attributs avec un token (contourne un bug de Roll20 sur la liaison avec des champs auto-calculés) +- Ajout de cases à cocher pour chaque capacité (permet de remplir les voies à l'avance) +- Modifications cosmétiques (alignement des attributs sur le premier onglet de la fiche) ## v3.1 (2020-04-23) -* Déplacement des buffs généraux vers l'onglet **Capacités** -* Nouvelle présentation des buffs généraux : - - Il s'agit à présent d'une liste répétable d'éléments - - On indique le nom du buff, et la liste des attributs auxquels il s'applique, sous la forme _nom attribut : valeur de buff_, séparés par des virgules si le buff s'applique à plusieurs attributs. - - Une case à cocher permet d'activer ou désactiver le buff - - A chaque modification, les buffs par attributs sont recalculés et ré-assignés à la case **Divers** de chaque attribut. - - On peut afficher le détail des buffs par attributs en cliquant sur la flèche appropriée. -* Remplacement des deux champs de modificateurs circonstanciels à l'attaque et aux dommages par deux listes répétables similaires à celles des buffs généraux - - On indique le nom du modificateur et sa valeur. - - Une case à cocher permet d'activer ou désactiver le modificateur. - - Tant qu'une case est cochée, le modificateur correspondant est appliqué à chaque jet d'attaque et/ou de dommages. - - Lorsqu'un modificateur d'attaque est activé ou désactivé, un buff général du même nom est recherché sur l'onglet **Capacités**, et s'il existe, celui-ci est synchronisé avec le modificateur d'attaque. -* Rappel sur les valeurs de buffs ou de modificateurs d'attaque : - - Elles peuvent être une valeur fixe, _ex : Malingre : -1_ - - Elles peuvent être une référence à un attribut, _ex : Vue perçante : +[PER]_ pour utiliser le mod. de PERception - - Elles peuvent être une référence à un rang dans une voie - - Soit en utilisant les attributs RANG_VOIEx _ex : Pilote émérite : +[RANG_VOIE1]_ - - Soit en utilisant le nom de la voie tel qu'il a été entré dans l'onglet **Capacités**, _ex : Pilote émérite : [rang Pilotage]_ pour un bonus de +1 par rang dans la voie, ou _ex : Discrétion : 2[rang Furtivité]_ pour un bonus de +2 par rang - - Elles peuvent être une formule mathématique mettant en oeuvre plusieurs attributs, _ex Tenue de combat : +[RANG_VOIE1*DEFARMUREON]_ -* Sur l'onglet **Equipement**, les deux listes d'équipements sont maintenant regroupées en une seule, permettant de : - - Gérer l'encombrement (reprise des règles du Compagnon COF) en indiquant pour chaque équipement, une valeur d'encombrement, un nombre en inventaire, et si ce nombre est possédé ou porté (et compte donc dans l'encombrement). - - Saisir une description détaillée de l'équipement en plus de son nom - - Ajouter une ligne d'attaque sur l'onglet **Caractéristiques** ou la supprimer, en cochant ou décochant la case appropriée. - - Indiquer une liste de propriétés (séparées par des virgules) pour l'équipement, avec modification des données correspondantes sur l'onglet **Caractéristiques**. Les propriétés reconnues sont : - - **DEF : _bonus_** pour le bonus de DEFense d'une armure - - **RD : _valeur_** pour la valeur de Réduction des DM d'une armure - - **DM : _(nb)d(faces)_** pour les dés de DM d'une arme - - **ATD : _portée_** pour la portée d'une arme à distance (sinon c'est une attaque au contact) - - _Exemples_ - - _DEF : 2, RD : 5_ (pour un gilet pare-balles) - - _DM : 1d6, ATD : 10m_ (pour un pistolet léger) -* Sur l'onglet **Capacités**, les jets de capacités ont été modifiés pour permettre d'ajouter à un jet un bonus lié à une voie possédée par le personnage. Il suffit pour cela de : - - sélectionner la voie dont la possession procure un bonus au jet - - sélectionner le type de bonus obtenu pour chaque rang possédé (+1 ou +2 par rang dans la voie) + +- Déplacement des buffs généraux vers l'onglet **Capacités** +- Nouvelle présentation des buffs généraux : + - Il s'agit à présent d'une liste répétable d'éléments + - On indique le nom du buff, et la liste des attributs auxquels il s'applique, sous la forme _nom attribut : valeur de buff_, séparés par des virgules si le buff s'applique à plusieurs attributs. + - Une case à cocher permet d'activer ou désactiver le buff + - A chaque modification, les buffs par attributs sont recalculés et ré-assignés à la case **Divers** de chaque attribut. + - On peut afficher le détail des buffs par attributs en cliquant sur la flèche appropriée. +- Remplacement des deux champs de modificateurs circonstanciels à l'attaque et aux dommages par deux listes répétables similaires à celles des buffs généraux + - On indique le nom du modificateur et sa valeur. + - Une case à cocher permet d'activer ou désactiver le modificateur. + - Tant qu'une case est cochée, le modificateur correspondant est appliqué à chaque jet d'attaque et/ou de dommages. + - Lorsqu'un modificateur d'attaque est activé ou désactivé, un buff général du même nom est recherché sur l'onglet **Capacités**, et s'il existe, celui-ci est synchronisé avec le modificateur d'attaque. +- Rappel sur les valeurs de buffs ou de modificateurs d'attaque : + - Elles peuvent être une valeur fixe, _ex : Malingre : -1_ + - Elles peuvent être une référence à un attribut, _ex : Vue perçante : +[PER]_ pour utiliser le mod. de PERception + - Elles peuvent être une référence à un rang dans une voie + - Soit en utilisant les attributs RANG*VOIEx \_ex : Pilote émérite : +[RANG_VOIE1]* + - Soit en utilisant le nom de la voie tel qu'il a été entré dans l'onglet **Capacités**, _ex : Pilote émérite : [rang Pilotage]_ pour un bonus de +1 par rang dans la voie, ou _ex : Discrétion : 2[rang Furtivité]_ pour un bonus de +2 par rang + - Elles peuvent être une formule mathématique mettant en oeuvre plusieurs attributs, _ex Tenue de combat : +[RANG_VOIE1*DEFARMUREON]_ +- Sur l'onglet **Equipement**, les deux listes d'équipements sont maintenant regroupées en une seule, permettant de : + - Gérer l'encombrement (reprise des règles du Compagnon COF) en indiquant pour chaque équipement, une valeur d'encombrement, un nombre en inventaire, et si ce nombre est possédé ou porté (et compte donc dans l'encombrement). + - Saisir une description détaillée de l'équipement en plus de son nom + - Ajouter une ligne d'attaque sur l'onglet **Caractéristiques** ou la supprimer, en cochant ou décochant la case appropriée. + - Indiquer une liste de propriétés (séparées par des virgules) pour l'équipement, avec modification des données correspondantes sur l'onglet **Caractéristiques**. Les propriétés reconnues sont : + - **DEF : _bonus_** pour le bonus de DEFense d'une armure + - **RD : _valeur_** pour la valeur de Réduction des DM d'une armure + - **DM : _(nb)d(faces)_** pour les dés de DM d'une arme + - **ATD : _portée_** pour la portée d'une arme à distance (sinon c'est une attaque au contact) + - _Exemples_ + - _DEF : 2, RD : 5_ (pour un gilet pare-balles) + - _DM : 1d6, ATD : 10m_ (pour un pistolet léger) +- Sur l'onglet **Capacités**, les jets de capacités ont été modifiés pour permettre d'ajouter à un jet un bonus lié à une voie possédée par le personnage. Il suffit pour cela de : + - sélectionner la voie dont la possession procure un bonus au jet + - sélectionner le type de bonus obtenu pour chaque rang possédé (+1 ou +2 par rang dans la voie) ## v2.9 (2020-02-12) -* Déplacement des parties règles optionnelles vers le tab caractéristiques -* Utilisation de coc_settings pour précharger les options de règles par défaut + +- Déplacement des parties règles optionnelles vers le tab caractéristiques +- Utilisation de coc_settings pour précharger les options de règles par défaut ## v2.8 (2019-10-10) -* Modifications du sheetworker pour éviter erreurs dans la console API -* Homogénéisation des noms des roll buttons -* Séparation des buffs circonstanciels de combat en deux champs : un pour le jet d'attaque et un pour le jet de dommages + +- Modifications du sheetworker pour éviter erreurs dans la console API +- Homogénéisation des noms des roll buttons +- Séparation des buffs circonstanciels de combat en deux champs : un pour le jet d'attaque et un pour le jet de dommages ## v2.7 (2019-29-06) + ### Fiche PJ, onglet Configuration -* Ajout d'un champ de buff pour les PV -* Ajout d'un sélecteur pour le mode de calcul des points de vie (lancer le DV ou utiliser la valeur moyenne du DV) + +- Ajout d'un champ de buff pour les PV +- Ajout d'un sélecteur pour le mode de calcul des points de vie (lancer le DV ou utiliser la valeur moyenne du DV) ### Fiche PJ, onglet Caractéristiques -* Modification du roll-button de lancement de dé de vie en action-button permettant d'augmenter le niveau de 1 -* Ajout d'un script sheet-worker pour recalculer / lancer les points de vie lorsque le niveau, le mod de constitution, le buff de PV ou le mode de calcul des PV est modifié + +- Modification du roll-button de lancement de dé de vie en action-button permettant d'augmenter le niveau de 1 +- Ajout d'un script sheet-worker pour recalculer / lancer les points de vie lorsque le niveau, le mod de constitution, le buff de PV ou le mode de calcul des PV est modifié ### Modifications globales + Modification des attributs name de tous les roll-buttons en "roll_nomJet" et ajout des attributs title -* Permet d'invoquer un jet de dés de la fiche de personnage depuis le chat en indiquant %{selected|nomJet} (si un token est sélectionné) ou %{nomPerso|nomJet} -* Permet d'afficher le nom du jet qui peut être utilisé dans le chat ou les macros + +- Permet d'invoquer un jet de dés de la fiche de personnage depuis le chat en indiquant %{selected|nomJet} (si un token est sélectionné) ou %{nomPerso|nomJet} +- Permet d'afficher le nom du jet qui peut être utilisé dans le chat ou les macros ## v2.6 (2019-04-17) + ### Fiche de PJ -* Possibilité d'appliquer plusieurs états préjudiciables en même temps -* Gestion de l'encombrement (idem COF) -* Ajout d'un champ de texte sous la liste d'attaques pour les buffs "temporaires" - * Possibilité d'indiquer des buffs aux jets d'attaque et de dommages en langage quasi-naturel : le premier mot est le type d'attaque concernée, le deuxième est le modificateur (avec possibilité de référencer un autre attribut de la fiche en l'encadrant entre crochets []) et à partir du troisième, la description du buff. - * Indiquer ATC (contact), ATD (distance), MAG (att. magique), MEN (att. mentale), pour les types d'attaques, ATT pour toutes les attaques existantes. Indiquer d'abord DM pour un buff aux dommages - * Plusieurs buffs peuvent être indiqués et séparés par un point-virgule (;) - * Exemple : `DM ATC +2d6 Attaque en traître ; ATD +[PER] Visée` - * Il est nécessaire de cliquer en dehors du champ de saisie AVANT de presser un bouton d'attaque afin que le script sheet-worker approprié puisse s'exécuter. -* Ajout d'un bouton "Recycle" sur l'onglet Configuration pour forcer la fiche à recalculer quelques attributs (rangs atteints dans chaque voie, statbloc interne, encombrement) +- Possibilité d'appliquer plusieurs états préjudiciables en même temps +- Gestion de l'encombrement (idem COF) +- Ajout d'un champ de texte sous la liste d'attaques pour les buffs "temporaires" +- Possibilité d'indiquer des buffs aux jets d'attaque et de dommages en langage quasi-naturel : le premier mot est le type d'attaque concernée, le deuxième est le modificateur (avec possibilité de référencer un autre attribut de la fiche en l'encadrant entre crochets []) et à partir du troisième, la description du buff. +- Indiquer ATC (contact), ATD (distance), MAG (att. magique), MEN (att. mentale), pour les types d'attaques, ATT pour toutes les attaques existantes. Indiquer d'abord DM pour un buff aux dommages +- Plusieurs buffs peuvent être indiqués et séparés par un point-virgule (;) +- Exemple : `DM ATC +2d6 Attaque en traître ; ATD +[PER] Visée` +- Il est nécessaire de cliquer en dehors du champ de saisie AVANT de presser un bouton d'attaque afin que le script sheet-worker approprié puisse s'exécuter. +- Ajout d'un bouton "Recycle" sur l'onglet Configuration pour forcer la fiche à recalculer quelques attributs (rangs atteints dans chaque voie, statbloc interne, encombrement) ### Fiche de PNJ -* Ajout Réduction de DM (RD) -* Ajout d'une liste de capacités / traits -* Amélioration du script d'import de statblock -* Ajout d'un script de conversion d'attributs PNJ => PJ +- Ajout Réduction de DM (RD) +- Ajout d'une liste de capacités / traits +- Amélioration du script d'import de statblock +- Ajout d'un script de conversion d'attributs PNJ => PJ ## v2.5 (2019-02-12) -* Gestion des buffs en langage naturel avec référence aux caracs ou voies/rangs -* Réorganisation des lignes d'attaque (PJ et PNJ), gestion des DM secondaires sur la fiche PJ, actions limitées -* Réorganisation des lignes de jets de capacités -* Réorganisation du roll template -* Refactorisation de code dans les sheetworkers + +- Gestion des buffs en langage naturel avec référence aux caracs ou voies/rangs +- Réorganisation des lignes d'attaque (PJ et PNJ), gestion des DM secondaires sur la fiche PJ, actions limitées +- Réorganisation des lignes de jets de capacités +- Réorganisation du roll template +- Refactorisation de code dans les sheetworkers ## v2.4 (2019-01-01) -* Fiche de personnage avec sélection du type par dropdown (PJ, PNJ ou Véhicule) -* Modification cosmétique de la fiche avec une bordure aux coins arrondis -* Plus de case Traits/Langues/Niveau de vie sur l'onglet Caractéristiques. Ces informations peuvent être indiquées dans la liste répétable des traits de l'onglet Capacités -* Ajout d'un sheet-worker permettant de détecter si le personnage a subi une blessure grave, quand il perd en une seule fois un nombre de PV supérieur au seuil. La case Blessure est automatiquement cochée et l'état préjudiciable Affaibli activé. -* Ajout d'une case à cocher COCY à côté de l'initiative permettant de gérer les multiples actions par round en Cyberpunk. Après avoir lancé l'initiative, le fait de cocher cette case permet au rang d'initiative du personnage de diminuer de -10 à chaque fois qu'un jet d'attaque est réalisé via la fiche. -* Les Traits sur l'onglet Capacités sont maintenant affichés en permanence -* Possibilité de faire un jet de PC sur l'onglet Equipement qui ne fait qu'un affichage dans le chat -* Trois choix d'initiative dans l'onglet Configuration : normale (init), variable (init + 1d6 explosif), cyberpunk (init + 1d6 explosif, résultat final limité à init de base x 2) -* Ajout de champs dans l'onglet Configuration permettant d'indiquer le bonus de PC ainsi que de les nommer (Points de Choc en Horreur, Points de Cash en Cyberpunk, Points de Chance chargé par défaut à la première ouverture de la fiche) -* Ajout de cases à cocher sur les lignes d'armes/attaques permettant de faire un jet d'attaque sans jet de dommages ou un jet de dommages sans jet d'attaque (fiches PJ et PNJ) -* Ajout d'une option Choix dans les Mods et Mods de test des jets de capacités permettant de choisir la caractéristique à utiliser au moment du jet -* Import du Statblock pour les PNJs -* Ajout d'une fiche de véhicule avec caractéristiques de base et liste répétable de jets permettant d'inclure les caractéristiques de véhicule et celles du personnage (pas de solution satisfaisante trouvée pour aller chercher les caractéristiques de la fiche du pilote dont le nom est indiqué) -* Modification cosmétique avec une bordure aux coins arrondis et un affichage élargi dans les rolls template -* Nouveau tag {{portee= }} permettant d'afficher la portée d'une arme à distance -* Modification du roll-template pour permettre l'affichage d'un jet de dommages même sans jet d'attaque préalable +- Fiche de personnage avec sélection du type par dropdown (PJ, PNJ ou Véhicule) +- Modification cosmétique de la fiche avec une bordure aux coins arrondis +- Plus de case Traits/Langues/Niveau de vie sur l'onglet Caractéristiques. Ces informations peuvent être indiquées dans la liste répétable des traits de l'onglet Capacités +- Ajout d'un sheet-worker permettant de détecter si le personnage a subi une blessure grave, quand il perd en une seule fois un nombre de PV supérieur au seuil. La case Blessure est automatiquement cochée et l'état préjudiciable Affaibli activé. +- Ajout d'une case à cocher COCY à côté de l'initiative permettant de gérer les multiples actions par round en Cyberpunk. Après avoir lancé l'initiative, le fait de cocher cette case permet au rang d'initiative du personnage de diminuer de -10 à chaque fois qu'un jet d'attaque est réalisé via la fiche. +- Les Traits sur l'onglet Capacités sont maintenant affichés en permanence +- Possibilité de faire un jet de PC sur l'onglet Equipement qui ne fait qu'un affichage dans le chat +- Trois choix d'initiative dans l'onglet Configuration : normale (init), variable (init + 1d6 explosif), cyberpunk (init + 1d6 explosif, résultat final limité à init de base x 2) +- Ajout de champs dans l'onglet Configuration permettant d'indiquer le bonus de PC ainsi que de les nommer (Points de Choc en Horreur, Points de Cash en Cyberpunk, Points de Chance chargé par défaut à la première ouverture de la fiche) +- Ajout de cases à cocher sur les lignes d'armes/attaques permettant de faire un jet d'attaque sans jet de dommages ou un jet de dommages sans jet d'attaque (fiches PJ et PNJ) +- Ajout d'une option Choix dans les Mods et Mods de test des jets de capacités permettant de choisir la caractéristique à utiliser au moment du jet +- Import du Statblock pour les PNJs +- Ajout d'une fiche de véhicule avec caractéristiques de base et liste répétable de jets permettant d'inclure les caractéristiques de véhicule et celles du personnage (pas de solution satisfaisante trouvée pour aller chercher les caractéristiques de la fiche du pilote dont le nom est indiqué) +- Modification cosmétique avec une bordure aux coins arrondis et un affichage élargi dans les rolls template +- Nouveau tag {{portee= }} permettant d'afficher la portée d'une arme à distance +- Modification du roll-template pour permettre l'affichage d'un jet de dommages même sans jet d'attaque préalable ## V2.3 (2018-12-13) -* Correction d'un bug sur le calcul des buffs Divers ATD et DEF + +- Correction d'un bug sur le calcul des buffs Divers ATD et DEF ## v2.2 (2018-12-11) -* Modification du bouton de jet d'attaque pour générer un attribut pour chaque ligne. -* Correction des espaces dans la commande invoquée par le bouton d'attaque pour en permettre l'utilisation à la fois dans le chat et via l'API en appelant la pseudo ability %{nom|repeating_armes_$n_jet} (où n est le no de ligne, base 0) -* Nommage du checkbox "Plus de voies" (@{voies789}) afin de préserver son état d'un appel à un autre de la fiche de personnage. Ce changement a été oublié dans les commits de la Version 2.1 -* Modification du bouton de jet de capacité pour générer un attribut pour chaque ligne. -* Correction des espaces dans la commande invoquée par le bouton de jet de capacité pour en permettre l'utilisation à la fois dans le chat et via l'API en appelant la pseudo ability %{|repeating_jetcapas_$n_jet} (où n est le no de ligne, base 0) -* Modification mineures des textes dans le sélecteur du type de jet de capacité -* Ajout d'un groupe d'options "Attaques" dans le sélecteur du modificateur de jet de capacité pour ajouter les attributs ATKxxx -* Ajout d'une section répétable "Autres traits" dans l'onglet Capacités, sous la liste des jets de capacités. Elle peut être montrée ou cachée (état préservé d'un appel de la fiche à l'autre). Cette nouvelle liste peut typiquement être utilisée pour noter les différents avantages liées aux types de surhumains, ou bien les différents implants d'un personnage cyberpunk, etc... Cette section comporte un bouton avec un picto "bulle" qui murmure la description du trait au joueur dans le chat. -* Réorganisation de l'onglet Equipement -* Ajout d'une section répétables "Autres ressources" avec saisie d'un nom et d'une valeur numérique. Elle peut servir à comptabiliser les points de Provisions, de Munitions ou de Transport en univers Post-Apo, ou le seuil de Cyberlose et la difficulté du test de résistance en univers Cyberpunk -* Ajout d'une section masquable pour les caractéristiques d'un véhicule, avec une liste répétable de jets liés, sur lesquels on peut indiquer à la fois des caractéristiques de personnage et des caractéristiques de véhicule comme modificateurs au jet -* Ajout d'un élément {{text}} dans le roll template (utilisé par les jets d'affichage des "Autres traits") -* Correction d'une typo dans la bulle d'aide du bonus divers à la DEX (DEX_BONUS) -* Nouvelle classe de bouton 'output' représentée par un picto de bulle d'aide (pour affichage des "Autres traits" dans le chat) -* Augmentation à 250 pixels de la hauteur allouée à l'élément {{desc}} d'un roll template -* Ajout d'une classe text pour affichage d'un élément {{text}} dans le roll template (police italique réduite, texte justifié sans limite de hauteur) + +- Modification du bouton de jet d'attaque pour générer un attribut pour chaque ligne. +- Correction des espaces dans la commande invoquée par le bouton d'attaque pour en permettre l'utilisation à la fois dans le chat et via l'API en appelant la pseudo ability %{nom|repeating*armes*\$n_jet} (où n est le no de ligne, base 0) +- Nommage du checkbox "Plus de voies" (@{voies789}) afin de préserver son état d'un appel à un autre de la fiche de personnage. Ce changement a été oublié dans les commits de la Version 2.1 +- Modification du bouton de jet de capacité pour générer un attribut pour chaque ligne. +- Correction des espaces dans la commande invoquée par le bouton de jet de capacité pour en permettre l'utilisation à la fois dans le chat et via l'API en appelant la pseudo ability %{|repeating*jetcapas*\$n_jet} (où n est le no de ligne, base 0) +- Modification mineures des textes dans le sélecteur du type de jet de capacité +- Ajout d'un groupe d'options "Attaques" dans le sélecteur du modificateur de jet de capacité pour ajouter les attributs ATKxxx +- Ajout d'une section répétable "Autres traits" dans l'onglet Capacités, sous la liste des jets de capacités. Elle peut être montrée ou cachée (état préservé d'un appel de la fiche à l'autre). Cette nouvelle liste peut typiquement être utilisée pour noter les différents avantages liées aux types de surhumains, ou bien les différents implants d'un personnage cyberpunk, etc... Cette section comporte un bouton avec un picto "bulle" qui murmure la description du trait au joueur dans le chat. +- Réorganisation de l'onglet Equipement +- Ajout d'une section répétables "Autres ressources" avec saisie d'un nom et d'une valeur numérique. Elle peut servir à comptabiliser les points de Provisions, de Munitions ou de Transport en univers Post-Apo, ou le seuil de Cyberlose et la difficulté du test de résistance en univers Cyberpunk +- Ajout d'une section masquable pour les caractéristiques d'un véhicule, avec une liste répétable de jets liés, sur lesquels on peut indiquer à la fois des caractéristiques de personnage et des caractéristiques de véhicule comme modificateurs au jet +- Ajout d'un élément {{text}} dans le roll template (utilisé par les jets d'affichage des "Autres traits") +- Correction d'une typo dans la bulle d'aide du bonus divers à la DEX (DEX_BONUS) +- Nouvelle classe de bouton 'output' représentée par un picto de bulle d'aide (pour affichage des "Autres traits" dans le chat) +- Augmentation à 250 pixels de la hauteur allouée à l'élément {{desc}} d'un roll template +- Ajout d'une classe text pour affichage d'un élément {{text}} dans le roll template (police italique réduite, texte justifié sans limite de hauteur) ## v2.1 (2018-12-07) -* Ajout d'onglets -* Ajout du support des états préjudiciables Aveuglé, Etourdi, Immobilisé, Renversé, Surpris avec buffs aux statistiques de combat correspondantes -* Ajout d'une option "Explosif" dans le sélecteur du type de jet pour des jets ouverts / sans limite -* Ajout du d3 au selecteur des dés de dommages -* Ajout d'un groupe de dés de dommages "sans limite" (armes à feu) -* Ajout de deux options d'attaque sur la deuxième ligne : relance (reroll et reroll once) et seuil de relance (à indiquer sous la forme d'un seuil -- relance des 1 par défaut). -* Ajout d'un état "Poisse" consistant à lancer deux d20 et garder le moins bon -* Race est remplacé par famille sur la fiche + +- Ajout d'onglets +- Ajout du support des états préjudiciables Aveuglé, Etourdi, Immobilisé, Renversé, Surpris avec buffs aux statistiques de combat correspondantes +- Ajout d'une option "Explosif" dans le sélecteur du type de jet pour des jets ouverts / sans limite +- Ajout du d3 au selecteur des dés de dommages +- Ajout d'un groupe de dés de dommages "sans limite" (armes à feu) +- Ajout de deux options d'attaque sur la deuxième ligne : relance (reroll et reroll once) et seuil de relance (à indiquer sous la forme d'un seuil -- relance des 1 par défaut). +- Ajout d'un état "Poisse" consistant à lancer deux d20 et garder le moins bon +- Race est remplacé par famille sur la fiche ## v1.0 (2018-11-07) diff --git a/ChroniquesOublieesContemporain/coc.css b/ChroniquesOublieesContemporain/coc.css index bfe527cc1d..9244628542 100644 --- a/ChroniquesOublieesContemporain/coc.css +++ b/ChroniquesOublieesContemporain/coc.css @@ -18,14 +18,16 @@ th { font-size: 12px; } -tr,td,th { +tr, +td, +th { vertical-align: top !important; } div.sheet-mainBg { width: 832px; background-color: white; - border: 1px solid #5C2E05; + border: 1px solid #5c2e05; border-radius: 10px; padding: 5px; } @@ -34,7 +36,7 @@ table { width: 100%; border-collapse: collapse; text-align: center; - /* box-shadow: 1px 1px 8px #555; */; + /* box-shadow: 1px 1px 8px #555; */ } table.sheet-tabsep { @@ -46,7 +48,7 @@ table.sheet-tabsep { width: 820px; height: 5px; padding: 0px; - /* box-shadow: 1px 1px 8px #555; */; + /* box-shadow: 1px 1px 8px #555; */ } .sheet-imghr-up { @@ -55,7 +57,7 @@ table.sheet-tabsep { padding: 0px; text-align: center; margin-top: -24px; - /* box-shadow: 1px 1px 8px #555; */; + /* box-shadow: 1px 1px 8px #555; */ } .sheet-boxtitre { @@ -109,7 +111,7 @@ table.sheet-tabsep { font-style: normal; font-weight: normal; color: black; - border: 1px solid #D3D3D3; + border: 1px solid #d3d3d3; white-space: nowrap; } @@ -164,8 +166,8 @@ textarea.sheet-boxability { font-weight: normal; } -/* BUTTONS */ -button[type="roll"].sheet-boxtitre { +/* BUTTONS */ +button[type='roll'].sheet-boxtitre { height: 20px; font-size: 11px; font-family: Verdana; @@ -178,13 +180,13 @@ button[type="roll"].sheet-boxtitre { text-shadow: none; } -button[type="roll"].sheet-boxtitre:hover { - background-color: #D3D3D3; +button[type='roll'].sheet-boxtitre:hover { + background-color: #d3d3d3; border: 1px solide white; } -button[type="roll"].sheet-neutre, -button[type="roll"].sheet-output, { +button[type='roll'].sheet-neutre, +button[type='roll'].sheet-output { color: #000000; font-weight: normal; font-size: 20px; @@ -198,22 +200,55 @@ button[type="roll"].sheet-output, { margin: 0px; } -button[type="roll"].sheet-neutre:hover, -button[type="roll"].sheet-output:hover { +button[type='roll'].sheet-neutre:hover, +button[type='roll'].sheet-output:hover { font-weight: bold; } -button[type="roll"].sheet-output { +button[type='roll'].sheet-output { font-family: pictos; } -button[type="roll"].sheet-output:before { - content: ""; +button[type='roll'].sheet-output:before { + content: ''; } -button[type="action"].sheet-iconbtn { +button[type='roll'].sheet-nod20:before { + content: ''; +} + +button[type='roll'].sheet-roll-d12::before { + font-family: 'dicefontd12'; + content: 'l'; +} + +button[type='roll'].sheet-roll-d10::before { + font-family: 'dicefontd10'; + content: 'k'; +} + +button[type='roll'].sheet-roll-d8::before { + font-family: 'dicefontd8'; + content: 'h'; +} + +button[type='roll'].sheet-roll-d6::before { + font-family: 'dicefontd6'; + content: 'f'; +} + +button[type='roll'].sheet-roll-d4::before { + font-family: 'dicefontd4'; + content: 'd'; +} + +button.sheet-flatbtn { border: 0px; background-color: transparent; + font-size: 12px !important; +} + +button[type='action'].sheet-iconbtn { font-family: pictos; font-size: large; } @@ -226,7 +261,8 @@ img.sheet-iconimg:hover { width: 32px; } -input, select { +input, +select { border: none; box-shadow: none; max-height: 22px; @@ -249,12 +285,12 @@ select.sheet-selectmin { appearance: none; } -input[type="number"] { +input[type='number'] { width: 60px; text-align: right; } -input[type="text"] { +input[type='text'] { width: 100%; text-align: left; padding-left: 4px; @@ -266,11 +302,11 @@ input[disabled] { } input:not([disabled]):hover { - background-color: #D3D3D3; + background-color: #d3d3d3; } select:not([disabled]):hover { - background-color: #D3D3D3; + background-color: #d3d3d3; } input.sheet-nobox { @@ -329,7 +365,7 @@ input.sheet-tab { width: 110px; height: 18px; position: relative; - color: #5C2E05; + color: #5c2e05; vertical-align: middle; left: 50px; margin: -52px; @@ -384,7 +420,7 @@ input.sheet-hidden-tab { position: relative; } -.sheet-optional-block-switch:checked~.sheet-optional-block { +.sheet-optional-block-switch:checked ~ .sheet-optional-block { display: block; } @@ -395,7 +431,7 @@ input.sheet-hidden-tab { /* Switch -- styled checkboxes */ -input[type="checkbox"].sheet-block-switch { +input[type='checkbox'].sheet-block-switch { opacity: 0; width: 16px; height: 16px; @@ -407,11 +443,11 @@ input[type="checkbox"].sheet-block-switch { z-index: 1; } -input[type="checkbox"].sheet-block-switch + span::before { +input[type='checkbox'].sheet-block-switch + span::before { margin-right: 4px; line-height: 14px; text-align: center; - content: "►"; + content: '►'; display: inline-block; vertical-align: middle; width: 16px; @@ -419,8 +455,8 @@ input[type="checkbox"].sheet-block-switch + span::before { font-size: 12px; } -input[type="checkbox"].sheet-block-switch:checked + span::before { - content: "▼"; +input[type='checkbox'].sheet-block-switch:checked + span::before { + content: '▼'; } .sheet-block-hidden, @@ -454,14 +490,15 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { height: 16px; font-size: 16px; font-family: pictos; - color: #BBBBBB; + color: #bbbbbb; cursor: pointer; margin-top: 0px; display: none; } -.sheet-options-flag:hover + span,.sheet-options-flag:checked + span { - color: #C3996B; +.sheet-options-flag:hover + span, +.sheet-options-flag:checked + span { + color: #c3996b; display: block; } @@ -489,8 +526,8 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { .sheet-rolltemplate-co1 table { width: 100%; padding: 2px; - /* border: 1px solid #000000; */ - /* border-radius: 6px; */ + /* border: 1px solid #000000; */ + /* border-radius: 6px; */ background-color: #ffffff; border-collapse: collapse; } @@ -555,33 +592,33 @@ input[type="checkbox"].sheet-block-switch:checked + span::before { } .sheet-rolltemplate-co1 .inlinerollresult { - background-color: rgba(255,255,255,0.9); + background-color: rgba(255, 255, 255, 0.9); border-width: 1px; - border-color: #D3D3D3; + border-color: #d3d3d3; border-style: solid; border-radius: 25% 12%; } .sheet-rolltemplate-co1 .inlinerollresult.fullcrit { - color: #3FB315; + color: #3fb315; border-width: 2px; - border-color: #3FB315; + border-color: #3fb315; border-style: solid; border-radius: 25% 12%; } .sheet-rolltemplate-co1 .inlinerollresult.fullfail { - color: #B31515; + color: #b31515; border-width: 2px; - border-color: #B31515; + border-color: #b31515; border-style: solid; border-radius: 25% 12%; } .sheet-rolltemplate-co1 .inlinerollresult.importantroll { - color: #5C2E05; + color: #5c2e05; border-width: 2px; - border-color: #5C2E05; + border-color: #5c2e05; border-style: solid; border-radius: 25% 12%; } diff --git a/ChroniquesOublieesContemporain/coc.html b/ChroniquesOublieesContemporain/coc.html index 8ffd7f2e29..dee6d186aa 100644 --- a/ChroniquesOublieesContemporain/coc.html +++ b/ChroniquesOublieesContemporain/coc.html @@ -1,10 +1,11 @@
    - - + + + @@ -61,13 +62,24 @@ + +
    -
    - +
    +
    + +
    +
    +
    + +
    +
    @@ -358,35 +370,35 @@
    - - - - - - - - @@ -1734,6 +1746,14 @@ +
    + +
    +
    + +
    +
    +
    Autres ressources
    @@ -1768,7 +1788,7 @@
    -
    PARAMETRES
    @@ -1881,133 +1901,468 @@
    - - - - - - - - - - - - - - - - - - - - - - - - -
    Type : - - Description : - -
    Pilote : - -  
    FORAGIPVDEFBlindage (RD)
    - - - - -  /  - -  Base :  - + DEX : - = - - - -
    -
    - Jets du véhicule + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Type : + + Description : + +
    Pilote : + +  
    FORAGIPVDEFBlindage (RD)
    + + + + +  /  + +  Base :  + + DEX : + = + + + +
    +
    + Jets du véhicule +
    +
    + + + + + + + +
    + + + + + + ( + + ) + + + + + + + + + + + +
    +
    + +
    -
    - - - - - - - -
    - - - - - - ( - - ) + - - + - - + - - - - -
    -
    - +
    +
    + +
    +
    + + + + + + + + + + + +
    Type : + +
    Description :
    + +
    Pilote : + +  
    +
    +

    Modifications

    + +
    +
    + + Emp. + + Coût + +
    + +
    + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BaseDiversTotal
    RAP + + + + + +
    MAN + + + + + +
    IMP + + + + + +
    EMP + + + + + +
    + + + + + + + + + +
    DEF10+ + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + Dés d'Usure + +
    + + + + + + | + + + + | + + + + + + +
    + + + + + + | + + + + | + + + + +
    + + + + + + | + + + + + + +
    + + + + + + | + + + + +
    + + + + + + + + +
    Ud0 + +
    +
    +
    + +
    + Jets du véhicule +
    +
    + + + + + + + +
    + + + + + + ( + + ) + + + + + + + + + + + +
    +
    +
    + +
    +
    PARAMETRES
    +
      +
    • Jets : + +
    • +
    • Bitume : + +
    • +
    @@ -2270,7 +2625,9 @@ placeholder="Coller ici un statblock copié depuis le PDF">
    - + + +
    @@ -2432,17 +2789,18 @@ \ No newline at end of file diff --git a/CriancasEnxeridas/criancasenxeridas.png b/CriancasEnxeridas/criancasenxeridas.png new file mode 100644 index 0000000000..8b788ad09f Binary files /dev/null and b/CriancasEnxeridas/criancasenxeridas.png differ diff --git a/CriancasEnxeridas/sheet.json b/CriancasEnxeridas/sheet.json new file mode 100644 index 0000000000..bf547393b5 --- /dev/null +++ b/CriancasEnxeridas/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "criancasenxeridas.html", + "css": "criancasenxeridas.css", + "authors": "Daniel Tschiedel", + "roll20userid": "1408312", + "preview": "criancasenxeridas.png", + "instructions": "This is a character sheet for the Criancas Enxeridas RPG game by Raphael Lima under the Mundos Colidem's seal." +} diff --git a/CriancasEnxeridas/translation.json b/CriancasEnxeridas/translation.json new file mode 100644 index 0000000000..c37cd172ab --- /dev/null +++ b/CriancasEnxeridas/translation.json @@ -0,0 +1,37 @@ +{ + "game-title": "Crianças
    Enxeridas", + "name": "Nome:", + "archetype": "Arquétipo:", + "attributes": "Atributos", + "body": "Corpo", + "mind": "Mente", + "charisma": "Carisma", + "survival": "Sobrevivência", + "curiosity": "Curiosidade", + "total": "Total", + "equipments": "Equipamentos", + "equipment": "Equipamento", + "consequences": "Consequências", + "consequence": "Consequência", + "notes": "Anotações", + "conditions": "Condições", + "wounded": "Ferido", + "shaken": "Abalado", + "ashamed": "Envergonhado", + "defeated": "Derrotado", + "copyright": "Crianças Enxeridas é um jogo escrito por Raphael Lima com o selo Mundos Colidem.", + "advantagedisadvantage": "Possui vantagem ou desvantagem?", + "no": "Não", + "advantage": "Vantagem", + "disadvantage": "Desvantagem", + "result": "Resultado", + "check": "Teste", + "survivalaction": "Gasto um ponto de sobrevivência", + "survivalexplanation": "\nVocê pode escolher uma das coisas:\n- Manter uma ação;\n- Encontrar uma pista;\n- Rolar os dados outra vez;\n- Inserir um elemento narrativo;\n- Dizer que tem um \"equipamento\".", + "success": "Você Acertou!", + "fail": "Você Errou!", + "fumble": "Erro Crítico!", + "fumbleexplanation": "O narrador pode adicionar uma consequência negativa.", + "critic": "Acerto Crítico!", + "criticexplanation": "O grupo pode adicionar um elemento narrativo na cena." +} diff --git a/Cyberpunk 2020/translations/fr.json b/Cyberpunk 2020/translations/fr.json index 4ccf6ebedc..e2cf4deff2 100644 --- a/Cyberpunk 2020/translations/fr.json +++ b/Cyberpunk 2020/translations/fr.json @@ -266,7 +266,7 @@ "personal-grooming": "Personal Grooming", "personal-information": "Personal Information", "persuasion": "Persuasion & Fast Talk", - "pharmaceuticals": "Pharmaceuticals", + "pharmaceuticals": "Médicaments", "pharmaceuticals-2": "Pharmaceuticals (2)", "photography-and-film": "Photography and Film", "physics": "Physics", diff --git a/D6_Adventure/D6AdventureSheet.html b/D6_Adventure/D6AdventureSheet.html index b109089148..1f9afcf459 100644 --- a/D6_Adventure/D6AdventureSheet.html +++ b/D6_Adventure/D6AdventureSheet.html @@ -20,6 +20,26 @@
    + + + + + + +
    + + +
    + PUBLIC + GM ONLY +
    +
    +
    + + YES + NO +
    +
    @@ -30,12 +50,12 @@
    - +
    D+
    - +
    D+ @@ -43,12 +63,12 @@
    - +
    D+
    - +
    D+ @@ -58,12 +78,12 @@
    - +
    D+
    - +
    D+ @@ -71,12 +91,12 @@
    - +
    D+
    - +
    D+ @@ -84,12 +104,12 @@
    - +
    D+
    - +
    D+ @@ -99,12 +119,12 @@
    - +
    D+
    - +
    D+ @@ -112,12 +132,12 @@
    - +
    D+
    - +
    D+ @@ -191,7 +211,7 @@ / Ammo - +
    diff --git a/Dark_Heresy/DarkHeresy.html b/Dark_Heresy/DarkHeresy.html index b0b3068f20..2454116079 100644 --- a/Dark_Heresy/DarkHeresy.html +++ b/Dark_Heresy/DarkHeresy.html @@ -102,7 +102,7 @@
    - + - + - + - + - + - + - + - + - + - + - + - + - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
    - @@ -589,12 +590,12 @@
    - @@ -612,12 +613,12 @@
    - @@ -636,12 +637,12 @@
    - @@ -659,12 +660,12 @@
    - @@ -684,12 +685,12 @@
    - @@ -707,12 +708,12 @@
    - @@ -730,12 +731,12 @@
    - @@ -752,12 +753,12 @@
    - @@ -776,12 +777,12 @@
    - @@ -799,12 +800,12 @@
    - @@ -822,12 +823,12 @@
    - @@ -845,12 +846,12 @@
    +
    - @@ -869,7 +870,7 @@
    @@ -880,15 +881,15 @@
    - +
    - @@ -900,12 +901,12 @@
    - @@ -917,12 +918,12 @@
    - @@ -934,7 +935,7 @@
    @@ -948,12 +949,12 @@
    - @@ -965,12 +966,12 @@
    - @@ -982,12 +983,12 @@
    - @@ -999,12 +1000,12 @@
    - @@ -1021,12 +1022,12 @@
    - @@ -1044,12 +1045,12 @@
    - @@ -1067,12 +1068,12 @@
    - @@ -1090,12 +1091,12 @@
    - @@ -1113,12 +1114,12 @@
    - @@ -1136,12 +1137,12 @@
    - @@ -1160,12 +1161,12 @@
    - @@ -1183,13 +1184,13 @@
    - +
    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
    @@ -1200,15 +1201,15 @@
    - +
    -
    @@ -1222,12 +1223,12 @@
    -
    @@ -1241,12 +1242,12 @@
    -
    @@ -1260,7 +1261,7 @@
    @@ -1273,15 +1274,15 @@ - +
    -
    @@ -1295,12 +1296,12 @@
    -
    @@ -1314,12 +1315,12 @@
    -
    @@ -1333,12 +1334,12 @@
    -
    @@ -1352,10 +1353,10 @@
    @@ -1366,15 +1367,15 @@
    - +
    -
    @@ -1388,12 +1389,12 @@
    -
    @@ -1407,12 +1408,12 @@
    -
    @@ -1426,12 +1427,12 @@
    -
    @@ -1445,7 +1446,7 @@
    @@ -1456,14 +1457,14 @@
    - +
    -
    @@ -1481,7 +1482,7 @@
    -
    @@ -1499,7 +1500,7 @@
    -
    @@ -1517,7 +1518,7 @@
    -
    @@ -1535,7 +1536,7 @@
    -
    @@ -1553,7 +1554,7 @@
    -
    @@ -1567,7 +1568,7 @@
    @@ -1578,14 +1579,14 @@
    - +
    -
    @@ -1603,7 +1604,7 @@
    -
    @@ -1621,7 +1622,7 @@
    -
    @@ -1639,7 +1640,7 @@
    -
    @@ -1657,7 +1658,7 @@
    -
    @@ -1675,7 +1676,7 @@
    -
    @@ -1689,9 +1690,9 @@
    -
    +

    Other Skills

    @@ -1732,7 +1733,7 @@
    -
    +

    Talents

    @@ -1751,7 +1752,7 @@
    -
    +

    Traits

    @@ -1767,7 +1768,7 @@
    - +
    @@ -1825,7 +1826,7 @@
    -

    +

    Experience

    @@ -1874,7 +1875,7 @@
    -

    +
    @@ -1903,7 +1904,7 @@
    -
    +
    @@ -1942,7 +1943,7 @@
    - +
    @@ -1955,20 +1956,20 @@
    -
    +
    -
    +
    -
    - +
    +

    @@ -2019,14 +2020,13 @@
    - +

    -

    Unnatural Characteristics

    @@ -2049,7 +2049,6 @@

    -

    Movement

    @@ -2148,26 +2147,26 @@
    -
    +

    Size

    -
    + + + + + + + + + + +
    -

    -

    Skills

    @@ -2187,12 +2186,11 @@

    Miscellaneous & Notes

    -
    +

    -
    @@ -2224,8 +2222,8 @@
    -
    -
    +
    +
    @@ -2266,8 +2264,8 @@
    -
    -
    +
    +
    @@ -2279,24 +2277,24 @@
    -
    +
    - +

    Journal Entry

    -
    +
    - +
    @@ -2317,11 +2315,11 @@
    -
    +
    -
    +
    @@ -2343,7 +2341,7 @@
    - +
    @@ -2355,9 +2353,9 @@
    @@ -2379,12 +2377,12 @@
    @@ -2403,7 +2401,7 @@
    -
    +
    @@ -2433,11 +2431,11 @@
    @@ -2456,7 +2454,7 @@
    -
    +
    @@ -2467,7 +2465,7 @@
    - +
    @@ -2511,7 +2509,7 @@
    -
    +
    @@ -2537,7 +2535,7 @@
    -
    +
    @@ -2723,12 +2721,12 @@
    - +
    - +
    @@ -2763,7 +2761,7 @@
    - +
    @@ -2846,13 +2844,13 @@
    - +
    - - + +
    @@ -2882,24 +2880,24 @@
    - +
    - +
    - +
    - +
    - +
    -

    Supplemental Components

    +

    Supplemental Components

    @@ -2930,7 +2928,7 @@
    - +
    @@ -2943,20 +2941,20 @@

    -

    Skill Modifiers

    +

    Skill Modifiers


    -

    Special Actions

    +

    Special Actions

    -

    Notes

    +

    Notes

    -
    +
    +/* +Handle (de)activation of shields/parry weapons +There are two possible results: one and only one active shield; no active shield. +We need to make sure that the right thing™ is done +*/ +on("change:repeating_shields:shield_active", function(eventInfo) { + // Get the source shield, its row ID and whether it was turned on or off + var sourceShield = eventInfo.sourceAttribute; + var sourceShieldId = extractRowId(sourceShield); + var mode = eventInfo.newValue; + + // Get all the shields + getSectionIDs("shields", function(idarray) { + var prefix = "repeating_shields_"; + var suffix = "_shield_active"; + + // Gather all the shield_active states (as attribute names) + var attrsToGet = []; + for(id of idarray) { + attrsToGet.push(prefix + id + suffix); + } + + // Get the attributes + getAttrs( attrsToGet, function(shieldActiveStates) { + var activeShields = []; + var activeShieldRowId = ""; + + for (attr of attrsToGet) { + if (shieldActiveStates[ attr ] === "on") { + activeShields.push(attr); + } + } + + var attrsToChange = {}; + // 0 active shields? Deactivate shields, nothing to do. + if (activeShields.length === 0) { + // do something for deactivation + console.log("Deactivating shields/parry weapons ..."); + activeShieldRowId = ""; + } else if (activeShields.length === 1) { + // this is the active shield + var activeShield = activeShields[0]; + console.log("Setting active shields/parry weapons to \"" + activeShield + "\""); + activeShieldRowId = extractRowId(activeShield); + } else { + // If one shield got activated, deactivate all others. + if (mode === "on") { + activeShieldRowId = sourceShieldId; + console.log("Setting active shields/parry weapons to \"" + sourceShield + "\" and deactivating all others ..."); + for (activeShield of activeShields) { + if (activeShield !== sourceShield) { + attrsToChange[ activeShield ] = 0; + } + } + } else { + // If one shield got deactivated and there is another active shield, keep one and only one shield. (This case should not happen.) + console.log("Impossible case triggered: One shield deactivated and more than one active shield remaining. Deactivating all but the first active shield."); + activeShieldRowId = extractRowId(activeShields[0]); + for (var i = 1; i < activeShields.length; i++) { + attrsToChange[ activeShields[i] ] = 0; + } + } + } + attrsToChange[ "activeShieldRowId" ] = activeShieldRowId; + setAttrs( attrsToChange, { silent: true }, () => { calculateCombatValues() } ); + }); + }); +}); + +// Berechnet den Gesamt-AT-Wert inklusive Modifikation durch ein eventuell verwendetes Schild +// sowie den PA Wert sowohl für die aktive Waffe, als auch für die Schildparade +// Not working: Peitsche +on("change:PABasis change:NKW_AT_typ1 change:NKW1ATMod change:NKW_PA_typ1 change:NKW1PAMod change:NKW1_Spez change:NKW_Aktiv1 change:NKW_AT_typ2 change:NKW2ATMod change:NKW_PA_typ2 change:NKW2PAMod change:NKW2_Spez change:NKW_Aktiv2 change:NKW_AT_typ3 change:NKW3ATMod change:NKW_PA_typ3 change:NKW3PAMod change:NKW3_Spez change:NKW_Aktiv3 change:NKW_AT_typ4 change:NKW4ATMod change:NKW_AT_typ4 change:NKW4ATMod change:NKW4_Spez change:NKW_Aktiv4 change:repeating_shields change:be_at_mod change:be_pa_mod", +function(eventInfos) { + calculateCombatValues(); +}); + +function calculateCombatValues() { + console.log("calculating combat values"); + // Zunächst sammeln wir Infos über die aktiven Waffen und Schilde + // "activeShieldRowId" can be the id of either a shield or a parry weapon + getAttrs([ "activeShieldRowId", "NKW_Aktiv1", "NKW_Aktiv2", "NKW_Aktiv3", "NKW_Aktiv4" ], function(rowIdValues) { + var weapon = 0; + if (rowIdValues["NKW_Aktiv1"] === "1") { + weapon = 1; + } else if (rowIdValues["NKW_Aktiv2"] === "1") { + weapon = 2; + } else if (rowIdValues["NKW_Aktiv3"] === "1") { + weapon = 3; + } else if (rowIdValues["NKW_Aktiv4"] === "1") { + weapon = 4; + } else { + // didn't find an active weapon. setting values to 0; + attrsToChange = { + "AT_Aktiv": 0, + "PA_Aktiv": 0, + "shield_pa": 0, + "parryweapon_pa": 0, + "shield_pa_available": "0", + "parryweapon_pa_available": "0" + } + setAttrs(attrsToChange); + return; + } + var variablesToGet = [ "NKW_AT_typ" + weapon, "NKW" + weapon + "ATMod", "NKW_PA_typ" + weapon, "NKW" + weapon + "PAMod", "NKW" + weapon + "_Spez", + "AT_Anderthalbhander", "AT_dolche", "AT_fechtwaffen", "AT_hiebwaffen", + "AT_infanteriewaffen", "AT_kettenstabe", "AT_kettenwaffen", "AT_lanzenreiten", "AT_peitsche", "AT_raufen", "AT_ringen", "AT_sabel", + "AT_schwerter", "AT_speere", "AT_stabe", "AT_zweihandflegel", "AT_zweihand-hiebwaffen", "AT_zweihandschwerter", + "PA_Anderthalbhander", "PA_dolche", "PA_fechtwaffen", "PA_hiebwaffen", + "PA_infanteriewaffen", "PA_kettenstabe", "PA_kettenwaffen", "PA_lanzenreiten", "PA_peitsche", "PA_raufen", "PA_ringen", "PA_sabel", + "PA_schwerter", "PA_speere", "PA_stabe", "PA_zweihandflegel", "PA_zweihand-hiebwaffen", "PA_zweihandschwerter", + "PABasis", "sf_schildkampfI", "sf_schildkampfII", "sf_linkhand", "sf_parierwaffenI", "sf_parierwaffenII", "be_at_mod", "be_pa_mod" ]; + + // Wurde dieses Event dadurch ausgelöst, dass sich die Aktivität eines Schildes geändert hat, dann müssen wir die activeShieldRowId noch manuell bearbeiten, da diese eventuell noch nicht korrekt gesetzt wurde + var activeShieldRowId = rowIdValues["activeShieldRowId"]; + + // Wenn es ein aktives Schild (oder Parierwaffe) gibt, möchten wir auch dessen Werte mit laden + if (activeShieldRowId) { + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_at_mod"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_pa_mod"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_bf"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_ini_mod"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_name"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_tp"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_tpkk"); + variablesToGet.push("repeating_shields_" + activeShieldRowId + "_shield_type"); + } + getAttrs(variablesToGet, function(values) { + var attrsToChange = {}; + + // Berechne Waffen-AT + var attackType = values["NKW_AT_typ" + weapon]; + // Wir berechnen den AT Wert nur, wenn ein Talenttyp für den AT Wert der Waffe ausgewählt ist + if (attackType && attackType !== "0") { + var baseAttack = parseInt(values[attackType.match("@{(.*)}")[1]]); + // Es gibt einige Attribute wo das Naming unterschiedlich ist, was bei Auto Calculating Fields nicht zu Fehlern führt aber hier. Daher im Zweifelsfall mit Lower-Case Namen nochmal probieren + if (!baseAttack) { + var matchResult = attackType.match("@{AT_([A-Za-z])(.*)}"); + var attributeName = "AT_" + matchResult[1].toLowerCase() + matchResult[2]; + baseAttack = parseInt(values[attributeName]); + } + var atMod = parseInt(values["NKW" + weapon +"ATMod"]); + var spec = parseInt(values["NKW" + weapon + "_Spez"]); + var atValue = baseAttack + atMod + spec; + // bei aktivem Schild (nicht bei Parierwaffen), wird der AT Wert der Hauptwaffe um den AT-Mod des Schildes verändert + if (activeShieldRowId && values["repeating_shields_" + activeShieldRowId + "_shield_type"] === "shield") { + atValue = atValue + parseInt(values["repeating_shields_" + activeShieldRowId + "_shield_at_mod"]); + } + if (values["be_at_mod"]) { + atValue -= parseInt(values["be_at_mod"]); + } + attrsToChange["AT_Aktiv"] = atValue; + } + + // Berechne Waffen-PA + var paType = values["NKW_PA_typ" + weapon]; + var paValue = 0; + // Wir berechnen den PA Wert nur, wenn ein Talenttyp für den PA Wert der Waffe ausgewählt ist + if (paType && paType !== "0" ) { + var basePa = parseInt(values[paType.match("@{(.*)}")[1]]); + // Siehe oben + if (!basePa) { + var matchResult = paType.match("@{PA_([A-Za-z])(.*)}"); + var attributeName = "PA_" + matchResult[1].toLowerCase() + matchResult[2]; + basePa = parseInt(values[attributeName]); + } + var paMod = parseInt(values["NKW" + weapon +"PAMod"]); + var spec = parseInt(values["NKW" + weapon + "_Spez"]); + paValue = basePa + paMod + spec; + + if (values["be_pa_mod"]) { + paValue -= parseInt(values["be_pa_mod"]); + } + + if (Number.isNaN(paValue) || paValue < 0) { + paValue = 0; + } + attrsToChange["PA_Aktiv"] = paValue; + } + + // Berechne Schild-PA Wert + var shieldPa = 0; + var parryweaponPa = 0; + // natürlich nur, wenn ein Schild aktiv ist (Siehe WdS S. 70) + if (activeShieldRowId) { + var linkhand = values["sf_linkhand"]; + if (values["repeating_shields_" + activeShieldRowId + "_shield_type"] === "shield") { + // Lade die Werte der für Schildparaden relevanten SF + var schildkampf1 = values["sf_schildkampfI"]; + var schildkampf2 = values["sf_schildkampfII"]; + // Wir starten mit dem PA Basiswert des Charakters + shieldPa = values["PABasis"]; + // Für Schildkampf 2 werden 5 Punkte, für Schildkampf 1 3 Punkte und für Linkhand 1 Punkt addiert + if (schildkampf2 === "1") { + shieldPa += 5; + } else if (schildkampf1 === "1") { + shieldPa += 3; + } else if (linkhand === "1") { + shieldPa += 1; + } + + // Ist der PA Wert der Waffe >= 21 werden 3 Punkte, >= 18 2 Punkte und >= 15 1 Punkt addiert + if (paValue >= 21) { + shieldPa += 3; + } else if (paValue >= 18) { + shieldPa += 2; + } else if (paValue >= 15) { + shieldPa += 1; + } + + // berechne BE modifikator mit ein + if (values["be_pa_mod"]) { + shieldPa -= parseInt(values["be_pa_mod"]); + } + + // Zuletzt: Addiere den PA-Modifikator des Schildes + shieldPa += parseInt(values["repeating_shields_" + activeShieldRowId + "_shield_pa_mod"]); + } else if (values["repeating_shields_" + activeShieldRowId + "_shield_type"] === "parryweapon") { + var parierwaffen1 = values["sf_parierwaffenI"]; + var parierwaffen2 = values["sf_parierwaffenII"]; + // Basis für Parierwaffen-PA ist die PA der Hauptwaffe + parryweaponPa = paValue; + + // Dazu wird der PA-Mod der Parierwaffe addiert + parryweaponPa += parseInt(values["repeating_shields_" + activeShieldRowId + "_shield_pa_mod"]); + + if (parierwaffen2 === "1") { + parryweaponPa += 2; + } else if (parierwaffen1 === "1") { + parryweaponPa += -1; + } else if (linkhand === "1") { + parryweaponPa += -4; + } else { + // Ohne die SF Linkhand können Parierwaffen nicht verwendet werden + parryweaponPa = 0; + } + } + + } + + if (shieldPa > 0) { + attrsToChange["shield_pa_available"] = "on"; + } else { + attrsToChange["shield_pa_available"] = "0"; + } + if (parryweaponPa > 0) { + attrsToChange["parryweapon_pa_available"] = "on"; + } else { + attrsToChange["parryweapon_pa_available"] = "0"; + } + attrsToChange["shield_pa"] = shieldPa; + attrsToChange["parryweapon_pa"] = parryweaponPa; + + // Set INI modifier from shields/parry weapons + var shieldparryini = 0; + if (activeShieldRowId) { + shieldparryini = parseInt(values["repeating_shields_" + activeShieldRowId + "_shield_ini_mod"]); + } + attrsToChange["ShieldParryINI"] = shieldparryini; + + // Set shield parry weapon BF (Bruchfaktor; lit. breaking factor -> fragility) + var shieldparrybf = 0; + if (activeShieldRowId) { + shieldparrybf = values["repeating_shields_" + activeShieldRowId + "_shield_bf"]; + if (shieldparrybf === undefined || isNaN(parseInt(shieldparrybf))) { + shieldparrybf = 0; + } + } + attrsToChange["shield_bf"] = shieldparrybf; + + // Set shield parry weapon TP/KK (damage modifier based on low/high strength) + // For now no calculations, just showing text + var shieldparrytpkk = ""; + if (activeShieldRowId) { + shieldparrytpkk = values["repeating_shields_" + activeShieldRowId + "_shield_tpkk"]; + if (shieldparrytpkk === undefined || shieldparrytpkk === "") { + shieldparryname = " "; + } + } + attrsToChange["shield_tpkk"] = shieldparrytpkk; + + // Set shield parry weapon TP (damage) + // For now no calculations, just showing text + var shieldparrytp = ""; + if (activeShieldRowId) { + shieldparrytp = values["repeating_shields_" + activeShieldRowId + "_shield_tp"]; + if (shieldparrytp === undefined || shieldparrytp === "") { + shieldparrytp = " "; + } + } + attrsToChange["shield_tp"] = shieldparrytp; + + // Set shield parry weapon name + var shieldparryname = ""; + if (activeShieldRowId) { + shieldparryname = values["repeating_shields_" + activeShieldRowId + "_shield_name"]; + if (shieldparryname === undefined || shieldparryname === "") { + shieldparryname = " "; + } + } + attrsToChange["shield_name"] = shieldparryname; + + setAttrs(attrsToChange); + }); + }); +} + +// Wird eine Nahkampfwaffe aktiviert, werden alle anderen deaktiviert. Auf diese Weise wird sichergestellt, dass immer maximal eine Nahkampfwaffe aktiv ist. +// Funktionsweise siehe Methode unten zum deaktivieren der Schilde +on("change:NKW_Aktiv1 change:NKW_Aktiv2 change:NKW_Aktiv3 change:NKW_Aktiv4", function(eventInfo) { + if (eventInfo.newValue !== "1") { + return; + } + var attrsToChange = {}; + for (var i = 1; i <= 4; i++) { + if (eventInfo.sourceAttribute !== "nkw_aktiv" + i) { + attrsToChange["NKW_Aktiv" + i] = 0; + } + } + setAttrs(attrsToChange); +}); + +// wird verwendet um aus dem Attributsnamen einer repeating section die Row-ID zu ermitteln +function extractRowId(attributeId) { + return attributeId.match("repeating_[a-zA-Z]*_([-a-zA-Z0-9]*)_.*")[1]; +} + +on("change:ATbasis change:TaW_peitsche change:AT_peitsche", function(eventInfo) { + // do prevent infinite loop + if (eventInfo.sourceType === "sheetworker" && eventInfo.sourceAttribute === "AT_peitsche") { + return; + } + getAttrs([ "ATbasis", "TaW_peitsche" ], function(values) { + var peitscheAT = 0; + if (values["TaW_peitsche"]) { + peitscheAT = parseInt(values["ATbasis"]) + parseInt(values["TaW_peitsche"]); + } + setAttrs({ "AT_peitsche": peitscheAT }); + }); +}); + +on("change:RSName1 change:RS_gBE1 change:RSAktiv1 change:RSName2 change:RS_gBE2 change:RSAktiv2 change:RSName3 change:RS_gBE3 change:RSAktiv3 change:RSName4 change:RS_gBE4 change:RSAktiv4 change:sf_rustungsgewohnungI change:rustungsgewohnungI_rustungen change:sf_rustungsgewohnungII change:sf_rustungsgewohnungIII", function(eventInfo) { + getAttrs([ "RSName1", "RS_gBE1", "RSAktiv1", "RSName2", "RS_gBE2", "RSAktiv2", "RSName2", "RS_gBE3", "RSAktiv3", "RSName3", "RS_gBE4", "RSAktiv4", "RSName4", "sf_rustungsgewohnungI", "rustungsgewohnungI_rustungen", "sf_rustungsgewohnungII", "sf_rustungsgewohnungIII"], function(values) { + var attrsToChange = calculateRuestungBE(values, eventInfo); + setAttrs(attrsToChange); + }); +}); + +// Berechnet die BE der aktiven Rüstungsteile +// benötigt "RS_gBE1", "RSAktiv1", "RS_gBE2", "RSAktiv2", "RS_gBE3", "RSAktiv3", "RS_gBE4", "RSAktiv4", "sf_rustungsgewohnungI", "rustungsgewohnungI_rustungen", "sf_rustungsgewohnungII", "sf_rustungsgewohnungIII" +// wenn bei dem übergebenen Event die aktive Rüstungsgewöhnung 1 geändert wurde, wird auch das übergeben +function calculateRuestungBE(values, eventInfo) { + var attrsToChange = {}; + + // Determine old/previous degree of armour adaptation + var RG = { '1': values["sf_rustungsgewohnungI"], '2': values["sf_rustungsgewohnungII"], '3': values["sf_rustungsgewohnungIII"] }; + + if (RG['3'] === "1") { + RG = 3; + } else if (RG['2'] === "1") { + RG = 2; + } else if (RG['1'] === "1") { + RG = 1; + } else { + RG = 0; + } + + // Handle changes to degree of armour adaptation + if (eventInfo.sourceType === "player") { + if (eventInfo.sourceAttribute === "sf_rustungsgewohnungi" && eventInfo.newValue === "1") { + RG = 1; + } else if (eventInfo.sourceAttribute === "sf_rustungsgewohnungii" && eventInfo.newValue === "1") { + RG = 2; + } else if (eventInfo.sourceAttribute === "sf_rustungsgewohnungiii" && eventInfo.newValue === "1") { + RG = 3; + } else if (eventInfo.sourceAttribute === "sf_rustungsgewohnungiii" && eventInfo.newValue === "0") { + RG = 2; + } else if (eventInfo.sourceAttribute === "sf_rustungsgewohnungii" && eventInfo.newValue === "0") { + RG = 1; + } else if (eventInfo.sourceAttribute === "sf_rustungsgewohnungi" && eventInfo.newValue === "0") { + RG = 0; + } + } + // Populate attrsToChange so we don't forget later on + switch(RG) { + case 0: + attrsToChange["sf_rustungsgewohnungI"] = "0"; + attrsToChange["sf_rustungsgewohnungII"] = "0"; + attrsToChange["sf_rustungsgewohnungIII"] = "0"; + break; + case 1: + attrsToChange["sf_rustungsgewohnungI"] = "1"; + attrsToChange["sf_rustungsgewohnungII"] = "0"; + attrsToChange["sf_rustungsgewohnungIII"] = "0"; + break; + case 2: + attrsToChange["sf_rustungsgewohnungI"] = "1"; + attrsToChange["sf_rustungsgewohnungII"] = "1"; + attrsToChange["sf_rustungsgewohnungIII"] = "0"; + break; + case 3: + attrsToChange["sf_rustungsgewohnungI"] = "1"; + attrsToChange["sf_rustungsgewohnungII"] = "1"; + attrsToChange["sf_rustungsgewohnungIII"] = "1"; + break; + } + + // Encumbrance Reduction Through Armour Adaptation + var RGBonus = 0; + + // Armour Adaptation I is complicated + // The special skill can be acquired for different pieces of armour. + // The user has a textarea to fill with the names of the armours. + // If we find the same armour as mentioned in that field, apply the bonus. + + // Algorithm for the comparison of armour names with the armours given in Armour Adaptation I: + // Armour name: Remove all characters except a-zA-Z (including German Umlaute and Eszett äöüÄÖÜß), lowercase the string + // Armour Adaptation I names: Remove all "|", replace all commas, semicolons and linebreaks (\r and \n ...) with |, remove all characters except a-zA-Z| (including German Umlaute and Eszett äöüÄÖÜß), lowercase the string, split the string at | + // See whether any of the active armour pieces matches with Armour Adaptation I armours ... + + if (RG === 1) { + // Get armour names + var armours = []; + + for (name of [ + [ values["RSName1"], values["RSAktiv1"] ], + [ values["RSName2"], values["RSAktiv2"] ], + [ values["RSName3"], values["RSAktiv3"] ], + [ values["RSName4"], values["RSAktiv4"] ] ]) { + // We do not want to throw warnings for inactive armour pieces later on, so only add active ones + if (typeof(name[0]) !== 'undefined' && typeof(name[1]) !== 'undefined' && name[1] === "1") { + armours.push(name[0]); + } + } + for (name in armours) { + armours[name] = armours[name] + .replace(/[^a-zA-ZäöüÄÖÜß|]/g, "") + .toLowerCase(); + } + oldLen = armours.length; + armours = armours.filter(Boolean); + if (oldLen > armours.length) console.log("Warnung: Mindestens ein Rüstungsname ist ungültig, da kein Zeichen aus dem folgenden Zeichenvorrat stammt: a-z, A-Z, ä, ö, ü, Ä, Ö, Ü, ß."); + + // Get names of armour with armour adaptation + var RGarmours = values["rustungsgewohnungI_rustungen"] + if (typeof(RGarmours) === 'undefined' || RGarmours === "") console.log("Warnung: Keine Rüstungsnamen für Rüstungsgewöhnung I definiert."); + RGarmours = RGarmours + .replace(/\|/g, "") + .replace(/[,;\r\n]/gm, "|") + .replace(/[^a-zA-ZäöüÄÖÜß|]/gm, "") + .toLowerCase() + .split("|") + .filter(Boolean); + if (RGarmours.length === 0) console.log("Warnung: Kein gültiger Rüstungsnamen für Rüstungsgewöhnung I gefunden, da kein Zeichen aus dem folgenden Zeichenvorrat stammt: a-z, A-Z, ä, ö, ü, Ä, Ö, Ü, ß."); + + // Find the first match and stop + for (armour of armours) { + if (RGarmours.indexOf(armour) > -1) { + RGBonus = 1; + console.log("Rüstungsgewöhnung I: \"" + armour + "\" erhält den Bonus."); + break; + } + } + + if(RGBonus === 0) console.log("Hinweis: Entweder ist keine Rüstung aktiv, für die eine Rüstungsgewöhnung I vorhanden ist, oder der Rüstungsname ist falsch geschrieben."); + } else if (RG === 2) { + RGBonus = 1; + } else if (RG === 3) { + RGBonus = 2; + } + + // Encumbrance calculation + var totalBe = 0; + for (var i = 1; i <= 4; i++) { + if (values["RSAktiv" + i] === "1") { + totalBe += parseFloat(values["RS_gBE" + i]); + } + } + + totalBe -= RGBonus; + if (totalBe < 0) { + totalBe = 0; + } + + totalBe = DSAround(roundDecimals(totalBe, 1)); + + attrsToChange["Ges_BE"] = totalBe; + return attrsToChange; +} +/* + x.5 values are always rounded up in this system, so let's have a function for this. +*/ +function DSAround (num) { + num = parseFloat(num); + + if (isNaN(num)) { + console.log("DSAround: NaN encountered.", "num is \"" + num + "\"."); + return NaN; + } + + num = roundDecimals(num, 1); + // Round down if fraction is less than 0.5; abs() to handle negative values correctly as well + if (Math.abs(num) % 1 < 0.5) { + num = Math.floor(num); + } else { + num = Math.ceil(num); + } + + return num; +} + +/* + JavaScript's Math.round() only rounds to 0 decimal places. + Using the toFixed() + parseFloat() method is cumbersome, so here we are with a new function. +*/ +function roundDecimals (num, digits) { + num = parseFloat(num); + digits = parseInt(digits); + + if (isNaN(num) || isNaN(digits)) { + console.log("roundDecimals: NaN encountered.", "num is \"" + num + "\" and digits is \"" + digits + "\"."); + return NaN; + } + + num = parseFloat(num.toFixed(digits)); + return num; +} + +// Berechne BE-Basis aus dem gesamten Rüstungs BE und der BE durch Last +on("change:Ges_BE change:BE_Last", function(eventInfo) { + getAttrs(["Ges_BE", "BE_Last"], function(values) { + var beTaw = calculateBEBasis(values); + setAttrs({ "BE_TaW": beTaw }); + }); +}); + +// Berechnet beTaW Wert +// Benötigt GesBE und BE_Last +function calculateBEBasis(values) { + var beTaw = 0; + if (values["Ges_BE"]) { + beTaw += parseInt(values["Ges_BE"]); + } + if (values["BE_Last"]) { + beTaw += parseInt(values["BE_Last"]); + } + return beTaw; +} + +// Berechne Waffenspezifische BE +on("change:BE_TaW change:NKW_Aktiv1 change:NKW_AT_typ1 change:NKW_PA_typ1 change:NKW_Aktiv2 change:NKW_AT_typ2 change:NKW_PA_typ2 change:NKW_Aktiv3 change:NKW_AT_typ3 change:NKW_PA_typ3 change:NKW_Aktiv4 change:NKW_AT_typ4 change:NKW_PA_typ4", function(eventInfo) { + getAttrs([ "BE_TaW", "NKW_Aktiv1", "NKW_AT_typ1", "NKW_PA_typ1", "NKW_Aktiv2", "NKW_AT_typ2", "NKW_PA_typ2", "NKW_Aktiv3", "NKW_AT_typ3", "NKW_PA_typ3", "NKW_Aktiv4", "NKW_AT_typ4", "NKW_PA_typ4" ], function(values) { + var weaponBE = calculateWeaponBE(values); + + setAttrs({ be_at_mod: weaponBE.be_at, be_pa_mod: weaponBE.be_pa }); + }); +}); + +const combatTechniques = { + "anderthalbhander": { type: "melee", ebe: -2, "at-only": false }, + "armbrust": { type: "ranged", ebe: -5, "at-only": true }, + "belagerungswaffen": { type: "ranged", ebe: undefined, "at-only": true }, + "blasrohr": { type: "ranged", ebe: -5, "at-only": true }, + "bogen": { type: "ranged", ebe: -3, "at-only": true }, + "diskus": { type: "ranged", ebe: -2, "at-only": true }, + "dolche": { type: "melee", ebe: -1, "at-only": false }, + "fechtwaffen": { type: "melee", ebe: -1, "at-only": false }, + "hiebwaffen": { type: "melee", ebe: -4, "at-only": false }, + "infanteriewaffen": { type: "melee", ebe: -3, "at-only": false }, + "kettenstabe": { type: "melee", ebe: -1, "at-only": false }, + "kettenwaffen": { type: "melee", ebe: -3, "at-only": false }, + "lanzenreiten": { type: "melee", ebe: undefined, "at-only": false }, + "peitsche": { type: "melee", ebe: -1, "at-only": true }, + "raufen": { type: "melee", ebe: 0, "at-only": false }, + "ringen": { type: "melee", ebe: 0, "at-only": false }, + "sabel": { type: "melee", ebe: -2, "at-only": false }, + "schleuder": { type: "ranged", ebe: -2, "at-only": true }, + "schwerter": { type: "melee", ebe: -2, "at-only": false }, + "speere": { type: "melee", ebe: -3, "at-only": false }, + "stabe": { type: "melee", ebe: -2, "at-only": false }, + "wurfbeile": { type: "ranged", ebe: -2, "at-only": true }, + "wurfmesser": { type: "ranged", ebe: -3, "at-only": true }, + "wurfspeere": { type: "ranged", ebe: -2, "at-only": true }, + "zweihandflegel": { type: "melee", ebe: -3, "at-only": false }, + "zweihand-hiebwaffen": { type: "melee", ebe: -3, "at-only": false }, + "zweihandschwerter": { type: "melee", ebe: -2, "at-only": false } +} + +/* +Input: string with combatTechnique (as defined in const), BE ("Behinderung"/encumbrance) +Output: Object with properties "be_at" and "be_pa" + +This function takes into account the effective encumbrance (eBE) and returns the corresponding modifiers for the AT/PA values. +*/ +function calculateWeaponBEModifiers(combatTechnique, BE) { + var eBE = 0; + var BEModifiers = { "be_at": 0, "be_pa": 0 }; + combatTechnique = String(combatTechnique); + + // This should never happen, but in case the code gets edited in the wrong place ... + if ( !combatTechniques.hasOwnProperty(combatTechnique) ) { + console.log("Warnung: Kampftechnik \"" + combatTechnique + "\" unbekannt. Berechnung der AT/PA-Modifikatoren aus BE nicht möglich. Standardwert \"0\" benutzt."); + return BEModifiers; + } + + // Checking BE ... + if ( isNaN(parseInt(BE)) ) { + console.log("Warnung: Bei der BE \"" + String(BE) + "\" handelt es sich nicht um eine Ganzzahl. Berechnung der AT/PA-Modifikatoren aus BE nicht möglich. Standardwert \"0\" benutzt."); + return BEModifiers; + } + + // Calculate eBE + // Set eBE to 0 if it's undefined or if it's greater than BE + eBE = combatTechniques[combatTechnique][ "ebe" ]; + eBE = eBE === undefined ? 0 : Math.max(0, BE + eBE); + + // Melee AT/PA weapons: The remainder of odd eBEs goes to PA. + // Melee AT-only and ranged weapons: AT is reduced. + if (combatTechniques[combatTechnique][ "type" ] === "melee" && combatTechniques[combatTechnique][ "at-only" ] === false) { + BEModifiers[ "be_at" ] = Math.floor(eBE / 2); + BEModifiers[ "be_pa" ] = Math.ceil(eBE / 2); + } else { + BEModifiers[ "be_at" ] = eBE; + } + + return BEModifiers; +} +/* + Methode die die waffenspezifische BE berechnet und nach AT und PA getrennt zurückgibt. + Benötigt + NKW_Aktiv 1-4 + NKW_AT_typ 1-4 + NKW_PA_typ 1-4 + BE_TaW +*/ +function calculateWeaponBE(values) { + var weapon = 0; + var BEModifiers = { "be_at": 0, "be_pa": 0 }; + + if (values["NKW_Aktiv1"] === "1") { + weapon = 1; + } else if (values["NKW_Aktiv2"] === "1") { + weapon = 2; + } else if (values["NKW_Aktiv3"] === "1") { + weapon = 3; + } else if (values["NKW_Aktiv4"] === "1") { + weapon = 4; + } else { + return BEModifiers; + } + var baseBE = values["BE_TaW"]; + var atTyp = values["NKW_AT_typ" + weapon]; + var paTyp = values["NKW_PA_typ" + weapon]; + var combatTechnique = {}; + + if (atTyp && atTyp !== "0" && atTyp !== 0) { + combatTechnique[ "AT" ] = atTyp.match("@\{AT_([^}]+)\}")[1].toLowerCase(); + } + if (paTyp && paTyp !== "0" && paTyp !== 0) { + combatTechnique[ "PA" ] = paTyp.match("@\{PA_([^}]+)\}")[1].toLowerCase(); + } + + if (combatTechnique[ "AT" ] === combatTechnique[ "PA" ]) { + BEModifiers = calculateWeaponBEModifiers(combatTechnique["AT"], baseBE); + } else { + BEModifiers[ "be_at" ] = calculateWeaponBEModifiers(combatTechnique["AT"], baseBE)["be_at"]; + BEModifiers[ "be_pa" ] = calculateWeaponBEModifiers(combatTechnique["PA"], baseBE)["be_pa"]; + } + + return BEModifiers; +} + +on("change:sf_linkhand change:sf_parierwaffenI change:sf_parierwaffenII change:sf_schildkampfI change:sf_schildkampfII", function(eventInfo) { + getAttrs(["sf_linkhand", "sf_parierwaffenI", "sf_parierwaffenII", "sf_schildkampfI", "sf_schildkampfII"], function(values) { + var attrsToChange = {}; + + // Caution: This might cause trouble if some function other than this one changed these attributes. + if (eventInfo.sourceType === "sheetworker") + { + console.log("Suppressing setting LH/PW/SK (again) ..."); + return; + } + switch(eventInfo.sourceAttribute) { + case "sf_linkhand": + if (eventInfo.newValue === "0") { + if (values["sf_parierwaffenII"] === "1") { + attrsToChange["sf_parierwaffenII"] = "0"; + } + if (values["sf_parierwaffenI"] === "1") { + attrsToChange["sf_parierwaffenI"] = "0"; + } + if (values["sf_schildkampfI"] === "1") { + attrsToChange["sf_schildkampfI"] = "0"; + } + if (values["sf_schildkampfII"] === "1") { + attrsToChange["sf_schildkampfII"] = "0"; + } + } + break; + case "sf_parierwaffeni": + if (eventInfo.newValue === "1") { + if (values["sf_linkhand"] === "0") { + attrsToChange["sf_linkhand"] = "1"; + } + } else { + if (values["sf_parierwaffenII"] === "1") { + attrsToChange["sf_parierwaffenII"] = "0"; + } + } + break; + case "sf_parierwaffenii": + if (eventInfo.newValue === "1") { + if (values["sf_linkhand"] === "0") { + attrsToChange["sf_linkhand"] = "1"; + } + if (values["sf_parierwaffenI"] === "0") { + attrsToChange["sf_parierwaffenI"] = "1"; + } + } + break; + case "sf_schildkampfi": + if (eventInfo.newValue === "1") { + if (values["sf_linkhand"] === "0") { + attrsToChange["sf_linkhand"] = "1"; + } + } else { + if (values["sf_schildkampfII"] === "1") { + attrsToChange["sf_schildkampfII"] = "0"; + } + } + break; + case "sf_schildkampfii": + if (eventInfo.newValue === "1") { + if (values["sf_linkhand"] === "0") { + attrsToChange["sf_linkhand"] = "1"; + } + if (values["sf_schildkampfI"] === "0") { + attrsToChange["sf_schildkampfI"] = "1"; + } + } + break; + } + setAttrs(attrsToChange, () => { + calculateCombatValues(eventInfo); + }); + }); +}); + diff --git a/Das_Schwarze_Auge_4-1/sheet.json b/Das_Schwarze_Auge_4-1/sheet.json index ad7c558255..03de552161 100644 --- a/Das_Schwarze_Auge_4-1/sheet.json +++ b/Das_Schwarze_Auge_4-1/sheet.json @@ -1,7 +1,7 @@ { "html": "dsa4_1_character_sheet_roll20.html", "css": "dsa4_1_character_sheet_roll20.css", - "authors": "Gereon Heinemann, Patrick Gebhardt (gebhardthbs@web.de), Kai, Steven 'Kreuvf' Koenig (webmaster@kreuvf.de), apehead", + "authors": "Gereon Heinemann, Patrick Gebhardt (gebhardthbs@web.de), Kai, Steven 'Kreuvf' Koenig (webmaster@kreuvf.de), apehead, Christian Schwerdtfeger", "roll20userid": "584207,592673,879287,1411023 ", "preview": "dsa4_1_character_sheet_roll20.png", "instructions": "Charakterbogen für das "Das Schwarze Auge"-Regelwerk 4.1" diff --git a/Das_Schwarze_Auge_5_Tsa_Edition/translations/en.json b/Das_Schwarze_Auge_5_Tsa_Edition/translations/en.json index 66a6a4343e..942da76006 100644 --- a/Das_Schwarze_Auge_5_Tsa_Edition/translations/en.json +++ b/Das_Schwarze_Auge_5_Tsa_Edition/translations/en.json @@ -713,6 +713,6 @@ "anrufungsschwierigkeit": "Summoning difficulty", "schmerzplus1": "Pain +1 at", "ENDTOKEN": "ENDTOKEN", - "magie_und_glaube": "Magie und Glaube", + "magie_und_glaube": "Magic and Faith", "talente_fw_mod": "Talente FW-Modifikator" } diff --git a/Das_Schwarze_Auge_5_Tsa_Edition/translations/pt.json b/Das_Schwarze_Auge_5_Tsa_Edition/translations/pt.json index 178748a41d..ad8d0041a5 100644 --- a/Das_Schwarze_Auge_5_Tsa_Edition/translations/pt.json +++ b/Das_Schwarze_Auge_5_Tsa_Edition/translations/pt.json @@ -1,47 +1,47 @@ { "---": "---", "1/2": "1/2", - "1-kategorie": "1 Kat.", - "2-kategorie": "2 Kat.", - "2-attacke": "2. Attacke", - "CH": "CH", + "1-kategorie": "1 Categoria", + "2-kategorie": "2 Categoria", + "2-attacke": "2º Ataque", + "CH": "CAR", "FF": "Surpresa", - "GE": "GE", - "IN": "IN", - "KK": "KK", - "KL": "KL", - "KO": "KO", - "MU": "MU", - "ae": "AE", - "aktstatus": "akt. Status", - "aktuell": "Aktuell", - "alter": "Alter", - "anmerkung": "Anmerkung", - "anmerkungen": "Anmerkungen", - "ap-ausgegeben": "AP ausgegeben", - "ap-gesamt": "AP gesamt", - "ap-verfuegbar": "AP verfügbar", - "armbrueste": "Armbrüste", - "armbrust": "Armbrust", - "astralenergie": "Astralenergie", - "at-fk": "AT/FK", - "at-mod": "AT-Mod", + "GE": "AGI", + "IN": "INT", + "KK": "FOR", + "KL": "SAG", + "KO": "CON", + "MU": "COR", + "ae": "EA", + "aktstatus": "Estado Atual", + "aktuell": "Atual", + "alter": "Idade", + "anmerkung": "Nota", + "anmerkungen": "Notas", + "ap-ausgegeben": "PA gastos", + "ap-gesamt": "PA total", + "ap-verfuegbar": "PA Disponíveis", + "armbrueste": "Bestas", + "armbrust": "Besta", + "astralenergie": "Energia Arcana", + "at-fk": "ATQ/CD", + "at-mod": "Mod. ATQ", "at-pa": "AT / PA", - "attacke": "Attacke", - "augenfarbe": "Augenfarbe", - "ausruestung": "Ausrüstung", + "attacke": "Ataque", + "augenfarbe": "Cor dos Olhos", + "ausruestung": "Equipamento", "ausweichen": "Ausweichen", "auswirkung": "Auswirkung", - "basis": "Basis", + "basis": "Base", "be": "BE", "be-aktiviert": "BE aktiviert", "be-gesamt": "BE gesamt", - "beidhaendigerkampf": "Beidhändig", - "belastung": "Belastung", - "beschreibung": "Beschreibung", - "betaeubung": "Betäubung", - "bewegungsunfaehig": "Bewegungsunfähig", - "bewusstlos": "Bewusstlos", + "beidhaendigerkampf": "Combater com Duas Armas", + "belastung": "Sobrecarga", + "beschreibung": "Descrição", + "betaeubung": "Atordoamento", + "bewegungsunfaehig": "Paralisia", + "bewusstlos": "Inconsciente", "blasrohre": "Blasrohre", "blind": "Blind", "blutrausch": "Blutrausch", @@ -53,10 +53,10 @@ "brillant": "Brillant (1700 AP)", "charakteristika": "Charakteristika", "charisma": "Charisma", - "dauer": "Dauer", - "diskus": "Diskus", - "diskusse": "Diskusse", - "distanz": "Distanz", + "dauer": "Duração", + "diskus": "Disco", + "diskusse": "Discos", + "distanz": "Distância", "dolche": "Dolche", "durchschnittlich": "Durchschnittlich (1000 AP)", "effekt-modat": "Effekt-Mod. AT", @@ -148,12 +148,12 @@ "leicht": "leicht", "legendaer": "Legendär (2100 AP)", "leiteigenschaft": "Leiteigenschaft", - "leiteigschadensb": "Leiteig. + Schadensb.", + "leiteigschadensb": "Limiar de Dano", "liegend": "Liegend", "magie": "Magie", "malus": "Malus", "max-5": "(max. -5) ", - "maximal": "Maximal", + "maximal": "Máximo", "meisterlich": "Meisterlich (1400 AP)", "merkmal": "Merkmal", "mittel": "mittel", @@ -214,7 +214,7 @@ "schilde-waffen": "Schilde/Zweitwaffen", "schilde-und-nebenhandwaffen": "Schilde und Nebenhandwaffen", "schildparade-parierwaffe": "Schildparade", - "schips": "Schips", + "schips": "Pontos de Destino", "schleudern": "Schleudern", "schmerz": "Schmerz", "schmerzstufen-1-2-3-4": "Schmerzstufen", @@ -301,20 +301,20 @@ "zustaende": "Zustände", "zweihandhiebwaffen": "Zweihandhiebwaffen", "zweihandschwerter": "Zweihandschwerter", - "ergebnis": "Ergebnis: ", + "ergebnis": "Resultado: ", "gelungen": "Gelungen", "misslungen": "Mißlungen", - "fp": "FP: ", - "qs": "QS: ", - "modifikator-roll": "Modifikator: ", - "eigenschaften-roll": "Eigenschaften: ", + "fp": "PH: ", + "qs": "NC: ", + "modifikator-roll": "Modificador: ", + "eigenschaften-roll": "Atributo: ", "fw-minimum-nicht-erfuellt": "FW-Minimum nicht erfüllt", - "max-modifikator-roll": "Max. Modifikator: ", + "max-modifikator-roll": "Max. Modificador: ", "probe-roll": "Probe:", "initiative-roll": "´s Initiative", - "wert-roll": "Wert: ", - "attackewurf": "Attackewurf: ", - "verteidigungswurf": "Verteidigungswurf: ", + "wert-roll": "Valor: ", + "attackewurf": "Jogada de Ataque", + "verteidigungswurf": "Jogada de Defesa", "trefferpunkte-roll": "Trefferpunkte:", "fliegen": "Fliegen", "gaukeleien": "Gaukeleien", @@ -688,7 +688,7 @@ "d2": "W2", "d3": "W3", "d4": "W4", - "d6": "W6+", + "d6": "D6", "d20": "W20", "zusatz-aktivieren": "Malus für zusätzlichen Status aktivieren", "stufe-iv-zustand": "Stufe IV - handlungsunfähig", diff --git a/Das_Schwarze_Auge_Ilaris/ilaris_ccs_thumbnail.PNG b/Das_Schwarze_Auge_Ilaris/ilaris_ccs_thumbnail.PNG index c9271207dd..1f24e93ab1 100644 Binary files a/Das_Schwarze_Auge_Ilaris/ilaris_ccs_thumbnail.PNG and b/Das_Schwarze_Auge_Ilaris/ilaris_ccs_thumbnail.PNG differ diff --git a/Das_Schwarze_Auge_Ilaris/ilaris_roll20.css b/Das_Schwarze_Auge_Ilaris/ilaris_roll20.css index 4c9f9fe82f..65e9eac0ad 100644 --- a/Das_Schwarze_Auge_Ilaris/ilaris_roll20.css +++ b/Das_Schwarze_Auge_Ilaris/ilaris_roll20.css @@ -12,8 +12,20 @@ flex: 1; } -input.sheet-boolean-roll-gm:not([value='1']) ~ button.sheet-roll-gm { display: none; } -input.sheet-boolean-roll-gm:not([value='0']) ~ button.sheet-roll-player { display: none; } +input.sheet-boolean-roll-gm:not([value='1']) ~ button.sheet-roll-gm { + display: none; +} +input.sheet-boolean-roll-gm:not([value='0']) ~ button.sheet-roll-player { + display: none; +} + +input.sheet-boolean-attribute-show:not([value='1']) ~ div.sheet-attributeselector { + display: none; +} + +input.sheet-boolean-talents-show:not([value='1']) ~ div.sheet-talents { + display: none; +} input.sheet-toggle-show:not(:checked) ~ div.sheet-body, input.sheet-toggle-hide:checked ~ div.sheet-body { diff --git a/Das_Schwarze_Auge_Ilaris/ilaris_roll20.html b/Das_Schwarze_Auge_Ilaris/ilaris_roll20.html index 66e8292bf9..7f5f3d7ef3 100644 --- a/Das_Schwarze_Auge_Ilaris/ilaris_roll20.html +++ b/Das_Schwarze_Auge_Ilaris/ilaris_roll20.html @@ -60,10 +60,26 @@
    - Kalte Wut

    + Kalte Wut

    +
    +
    +
    + Attributs-Modifikatoren + +
    + Konstitution
    + Mut
    + Gewandheit
    + Körperkraft
    + Intuition
    + Klugheit
    + Charisma
    + Fingerfertigkeit
    +
    +
    @@ -74,76 +90,75 @@

    Attribute

    - - - - + + + III - - + + I

    - - - + + + III - I

    - - - + + + III - - + + I

    - - - + + + III - - + + I

    - - - + + + III - - + + I

    - - - + + + III - - + + I

    - - - + + + III - - + + I

    - - - + + + III - - + + I
    KR @@ -166,139 +181,184 @@

    Fertigkeiten

    - -
    - - + + +
    + Laufen, Klettern, Schwimmen, Reiten, Akrobatik
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Pirschen, Untertauchen
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Willenskraft, Zähigkeit
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Menschenkenntnis, Sinnenschärfe, Wachsamkeit
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Anführen, Einschüchtern, Rhetorik
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Betören, Überreden
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Nach Kultur
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Geographie, Pflanzenkunde, Tierkunde
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Dämonenkunde, Elementarkunde, Magietheorie, Zauberpraxis
    +
    + +
    + + T III - - + + T I - - + + III - - + + I
    Scharfsinn | Eindrucksvoll | Vorausschauend @@ -307,100 +367,134 @@

    ⠀

    -
    - - + + +
    + Geschichten und Legenden, Götter und Kulte
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Nach Region
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Analyse, Magische Elixiere, Profane Alchemika
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Holzbearbeitung, Mechanik, Schmieden
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Gifte und Krankheiten, Wundheilung
    +
    + +
    + + T III - - + + T I - - + + III - - + + I

    -
    - - + +
    + Falschspielen, Schlösser knacken, Stehlen
    +
    + +
    + + T III - - + + T I - - + + III - - + + I +
    +
    + Talente anzeigen
    Hohe Qualität x

    - +

    @@ -421,7 +515,7 @@ Zusätzliche Fertigkeiten
    - + - + + T III @@ -542,6 +637,20 @@ KL
    +
    +
    +
    + AT + + VT +
    + TP d6+ + + + KL +
    +
    +

    FK @@ -572,12 +681,22 @@
    +
    +
    +
    + FK + + TP d6+ + + +
    +

    ⠀

    Attacke
    - Gesamt:
    + Gesamt:
    Kombinierte Aktion
    Volle Offensive OKS
    Passierschlag
    @@ -612,7 +731,7 @@

    ⠀

    Verteidigung
    - Gesamt:
    + Gesamt:
    Reaktionen
    Volle Defensive

    @@ -627,7 +746,7 @@
    Fernkampf
    - Gesamt:
    + Gesamt:
    Kombinierte Aktion

    Scharfschuss
    @@ -670,126 +789,308 @@

    Magie/Karma

    - - - + Attribute

    + + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - - I -
    - - - - III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + + I +
    +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + + III + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    +
    + KO + MU + GE + KK + IN + KL + CH + FF + +

    AE: /

    @@ -799,130 +1100,312 @@

    ⠀

    - - - +

    + + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - I + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    - - - +
    + KO + MU + GE + KK + IN + KL + CH + FF + +
    + + + III - - + + I
    +
    + KO + MU + GE + KK + IN + KL + CH + FF + +

    ⠀⠀

    - Gesamt:
    + Gesamt:
    Kombinierte Aktion

    Mehrere Ziele
    @@ -1284,7 +1767,7 @@ - - + + -v1.6.0 \ No newline at end of file +v1.7.0 \ No newline at end of file diff --git a/Das_Schwarze_Auge_Ilaris/readme.txt b/Das_Schwarze_Auge_Ilaris/readme.txt index 61c5273229..84b404782d 100644 --- a/Das_Schwarze_Auge_Ilaris/readme.txt +++ b/Das_Schwarze_Auge_Ilaris/readme.txt @@ -11,8 +11,9 @@ Gebrauchsanweisung: Das Character Sheet ist ausdrücklich kein Ersatz für Sephrasto oder generell die Charakterverwaltung. Die meisten Werte müssen aus einem bereits erstellten Charakterbogen übertragen werden. Der Bogen verfügt über einen Globalen Modifikator oben rechts, der auf alle Proben-Würfe aufgeschlagen wird (positive Zahl bedeutet Bonus, negative Zahl bedeutet Malus), und jeweils globale Modifikatoren für den Kampf und Übernatürliches, und einen Schadensmodifikator für alle Würfe auf Waffenschaden. Das kann man jeweils für situative Modifikatoren verwenden. +Außerdem ist es möglich, je nach Situation einen Modifikator für bestimmte Attribute zu vergeben. Dieser wird auf Fertigkeitsproben (inklusive Kampffertigkeiten) mit dem Attribut einfach, auf Attributsproben doppelt aufgeschlagen; das folgt im Kern den Regeln zu Elixieren und Stärkungszaubern wie dem Attributo. -Alle Würfelwürfe (wegen technischer Limitationen bis auf die bei zusätzlich eingetragenen Fertigkeiten :( ) können auch verdeckt an den Meister durchgeführt werden. Dazu wird oben links im Sheet der Haken bei "Verdeckt würfeln" gesetzt. +Alle Würfelwürfe (wegen technischer Limitationen bis auf die bei zusätzlich eingetragenen Fertigkeiten und zusätzlichen Waffen :( ) können auch verdeckt an den Meister durchgeführt werden. Dazu wird oben links im Sheet der Haken bei "Verdeckt würfeln" gesetzt. Der Einsatz von Schicksalspunkten um zusätzliche Würfel zu erhalten funktioniert, indem man in der Kopfzeile den Haken "Schicksalspunkt" setzt. Sollte man eine Eigenheit nutzen und zwei Würfel dazubekommen, kann der zweite Haken zusätzlich gesetzt werden (für dann 5 Würfel bei 3d20-Median-Proben oder 3 Würfel bei 1d20-Proben). @@ -28,10 +29,11 @@ Geschwindigkeit wird nicht automatisch berechnet und muss selbst eingetragen wer Die Fertigkeitswerte werden in das kleine Feld eingetragen. Die Basiswerte berechnet das Sheet automatisch; der talentierte, berechnete Probenwert wird daneben angezeigt. Im Textfeld ist Platz um Talente zu notieren; die Fertigkeiten haben jeweils vier Roll-Buttons, 3d20 Median und 1d20, jeweils mit und ohne Talent (t). Je nachdem, ob ein T-Button oder ein Nicht-T-Button gedrückt wird, wird der Talentierte Probenwert oder der Untalentierte benutzt. Hohe Qualität kann stufenweise für alle Talentproben global eingestellt werden - Jede Stufe macht automatisch eine Modifikation von -4. Für freie Fertigkeiten gibt es eine einfache Liste, die per "Add"-Button erweitert werden kann, und drei Buttons für 3d20 Median + 6/14/22 (für Unerfahren/Erfahren/Meisterlich) - komplizierter wollte ich das nicht machen. -Zusätzliche Fertigkeiten aus Hausregeln können frei zugeschaltet werden. Wenn die drei relevanten Attribute ausgewählt wurden, berechnet das Sheet automatisch den Basiswert und mit dem Fertigkeitswert den Probenwert. +Zusätzliche Fertigkeiten aus Hausregeln können frei zugeschaltet werden. Wenn die drei relevanten Attribute ausgewählt wurden, berechnet das Sheet automatisch den Basiswert und mit dem Fertigkeitswert den Probenwert. Leider funktionieren bei diesen Fertigkeiten weder die GM-Roll-Funktion, noch die Attributs-Modifikatoren. Die profanen Vorteile "Scharfsinn", "Eindrucksvoll" und "Vorausschauend" sind in einer Zeile zusammengefasst und können in der passenden Situation (sine qua non!) in ihren zwei Stufen zugeschaltet werden. Sie geben dann +2 oder +4 auf ALLE (!) Fertigkeitsproben. Der Bogen enthält keine Kampftalente und -stile, stattdessen können einfach Waffen mit ihren finalen AT-, VT- und Waffenschadens-Werten (i.e., nach Anwendung der Boni aus Kampfstilen) eingetragen werden. Der eingetragene Schaden sollte der Waffenschaden (nach eventuellen Boni aus Kraftvollem Kampf) sein, der KK-Schadensbonus wird automatisch addiert. Bei "Kopflastigen" Waffen kann der Haken bei "KL" gesetzt werden, dadurch wird der KK-Schadensbonus verdoppelt. +Sollten die Plätze für die Waffen nicht ausreichen, können weitere als Repeating Section hinzugefügt werden. Leider funktioniert bei diesen zugeschalteten Zeilen die GM-Roll-Funktion nicht. Manöver können einzeln zum AT-, VT-, FK- und Schadenswurf zugeschaltet werden. Beim Würfeln wird die Gesamt-Modifikation und die jeweils ausgewählten relevanten Manöver "öffentlich" angezeigt. @@ -130,4 +132,13 @@ Neue Features: - Globaler Modifikator wird jetzt zur besseren Übersichtlichkeit in den verschiedenen Sektionen nochmal angezeigt. 1.6: -- GM-Roll-Funktion hinzugefügt. \ No newline at end of file +- GM-Roll-Funktion hinzugefügt. + +1.6.1: Fix der Anzeige von Würfelbuttons. + +1.7: +Neue Features: +- Standard-Talente der profanen Fertigkeiten können jetzt ein- und ausgeblendet werden. +- Attributs-Modifikatoren hinzugefügt (z.B. bei Stärkung durch Elixiere oder Attributo) +- Repeating Sections bei Waffen und Fernkampfwaffen eingefügt, falls mehr als 5 oder 3 nötig sind. +- Kleine Layout-Anpassungen. \ No newline at end of file diff --git a/Das_Schwarze_Auge_Ilaris/sheet.json b/Das_Schwarze_Auge_Ilaris/sheet.json index e781329d27..fb1157e1d6 100644 --- a/Das_Schwarze_Auge_Ilaris/sheet.json +++ b/Das_Schwarze_Auge_Ilaris/sheet.json @@ -4,5 +4,5 @@ "authors": "Martin Feindor", "roll20userid": "5543449", "preview": "ilaris_ccs_thumbnail.PNG", - "instructions": "## Das Schwarze Auge: Ilaris \r### Roll20 Character Sheet v1.6.0 \rWerte sind folgendermassen einzutragen: \r* Attribute mit ihren einfachen Attributspunkten. \r* Fertigkeiten mit ihrem Fertigkeitswert (ohne Attributsmittelwerte). \r* AT/VT mit ihren fertig modifizierten Werten, inklusive Kampfstil-Boni. \r* TP als Waffenschaden, inklusive Kampfstilboni, ohne KK-Bonus. \r* Zauber/Liturgien mit ihrem jeweiligen Probenwert (Inklusive Attributsmittelwerte!). \rAlle wichtigen Hinweise finden sich in Tooltips der jeweiligen Felder. \r\rWeitere Informationen in der [Readme](https://github.com/Roll20/roll20-character-sheets/blob/master/Das_Schwarze_Auge_Ilaris/readme.txt) sowie im [DSA-Forum](https://dsaforum.de/viewtopic.php?f=180&t=53410)." + "instructions": "## Das Schwarze Auge: Ilaris \r### Roll20 Character Sheet v1.7.0 \rWerte sind folgendermassen einzutragen: \r* Attribute mit ihren einfachen Attributspunkten. \r* Fertigkeiten mit ihrem Fertigkeitswert (ohne Attributsmittelwerte). \r* AT/VT mit ihren fertig modifizierten Werten, inklusive Kampfstil-Boni. \r* TP als Waffenschaden, inklusive Kampfstilboni, ohne KK-Bonus. \r* Zauber/Liturgien mit ihrem jeweiligen Probenwert (Inklusive Attributsmittelwerte!). \rAlle wichtigen Hinweise finden sich in Tooltips der jeweiligen Felder. \r\rWeitere Informationen in der [Readme](https://github.com/Roll20/roll20-character-sheets/blob/master/Das_Schwarze_Auge_Ilaris/readme.txt) sowie im [DSA-Forum](https://dsaforum.de/viewtopic.php?f=180&t=53410)." } \ No newline at end of file diff --git a/Empire_des_cerisiers/EdC.css b/Empire_des_cerisiers/EdC.css new file mode 100644 index 0000000000..6c6b30b020 --- /dev/null +++ b/Empire_des_cerisiers/EdC.css @@ -0,0 +1,872 @@ +@import url('https://fonts.googleapis.com/css?family=Architects+Daughter&family=Indie+Flower|Roboto&display=swap'); + +.sheet-global{ + position: relative; +} + +.sheet-header{ + width: 100%; +} + +.sheet-logo{ + max-width: 250px; + width: 100%; +} + +.sheet-cell-logo{ + max-width: 260px; +} + +.sheet-cell-header{ + min-width: 69%; + max-width: calc(100% - 250px); +} + +.sheet-global .btn.repcontrol_add, .btn.repcontrol_edit{ + background-color: transparent; + border-radius: 0; + box-shadow: none; + border: none; + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dvXLZZFZYOHzJyJeXZAcEa8aKDuzQiMLxoAXYmeubSlK2KdSrIsKaoiAU6nWTVIiq9RUzX-GLGmUHAlXvyYgkDRWq_kWfE_72NVXiQnqtSk0djRrLfsXke5gntSTR_XpXYTFVLMCtz31zmE6nmWMFr=w168-h58-no?authuser=0'); + background-size: contain; + background-repeat: no-repeat; + color: white; + padding: 3px 20px; + transition: transform 0.3s ease; + transform: scale(1); + outline: transparent; + background-position: center; +} + +.sheet-global .btn.repcontrol_add:hover, .btn.repcontrol_edit:hover { + background-position: center; + transform: scale(1.1); +} + +.sheet-global .btn.repcontrol_add:active, .btn.repcontrol_edit:active { + background-position: center; + transform: scale(0.9); +} + + +.sheet-path, +.sheet-info, +.sheet-field, +.sheet-stuff, +.sheet-advantage{ + display: none; + padding: 1.5em; +} + +/*------------ Modal ------------- */ + +.sheet-modal{ + display: none; +} + +.sheet-modal .sheet-close-button{ + border: none; + background: transparent; + position: absolute; + top: 1em; + right: 1em; +} + +.sheet-close-button { + width: 25px; +} + + +.sheet-modalvalue[value="modaltrue"] ~ .sheet-modal { + display: block; + position: fixed; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + border: 2px solid black; + z-index: 200; + background-color: white; + padding: 2em; + max-height: 80vh; + overflow: auto; +} + + +.sheet-modal label span, .sheet-path [name='act_modaltrue'] { + background-color: transparent; + color: black; + transition : all 0.3s ease; + border-radius: 0; + font-family: 'Architects Daughter', cursive; + font-weight: 900; + font-size: 15px ; + box-shadow : none; + border : 1px solid black; + padding : 10px 10px; + cursor: pointer; + display: inline-block; +} + +.sheet-modal input[type='radio']{ + display: none; +} + +.sheet-modal label input:checked ~ span, .sheet-path [name='act_modaltrue']:hover { + color: #db569b; + border-color: #db569b; +} + +.sheet-modal label input ~ .sheet-reset{ + padding : 10px 10px; + cursor: pointer; + display: inline-block; + font-weight: 900; + font-size: 25px ; + border: none; +} + + +.sheet-modal .sheet-path-wrapper{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dtHP2bnvZt5nW5OrlmBWTPAg1vLJha3heEq3kFdVtEn4YPewF0hcnC1hbotOHpBOKRgF3Wnej_v1EmYcnYyOheSSIGb000DPbb_buXNlzRz7p0DbtfqYURSqZtFyaH-99_k-6S_JvadR7yfIPQ538z=w231-h245-no?authuser=0'); + height: 80px; + width: 80px; +} + +.sheet-modal .sheet-score{ + text-align: right; +} + + +.sheet-modal .sheet-path-wrapper input{ + font-size: 20px; + margin: 1.5em 0.6em; + color: black; + font-weight: 600; +} + + + +/*------------ Tabs button ------------- */ + +.sheet-tabstoggle[value="path"] ~ div.sheet-path, +.sheet-tabstoggle[value="info"] ~ div.sheet-info, +.sheet-tabstoggle[value="field"] ~ div.sheet-field, +.sheet-tabstoggle[value="stuff"] ~ div.sheet-stuff, +.sheet-tabstoggle[value="advantage"] ~ div.sheet-advantage { + display: block; +} + + + +.sheet-tabstoggle[value="path"] ~ div [name=act_path], +.sheet-tabstoggle[value="info"] ~ div [name=act_info], +.sheet-tabstoggle[value="field"] ~ div [name=act_field], +.sheet-tabstoggle[value="stuff"] ~ div [name=act_stuff], +.sheet-tabstoggle[value="advantage"] ~ div [name=act_advantage] { + color: #db569b; + border-color: #db569b; + outline: transparent; + position: relative; +} + +.sheet-tabstoggle[value="path"] ~ div [name=act_path] span, +.sheet-tabstoggle[value="info"] ~ div [name=act_info] span, +.sheet-tabstoggle[value="field"] ~ div [name=act_field] span, +.sheet-tabstoggle[value="stuff"] ~ div [name=act_stuff] span, +.sheet-tabstoggle[value="advantage"] ~ div [name=act_advantage] span { + position: absolute; + background-size: contain; + background-repeat : no-repeat; + height: 15px; + width: 15px; + top: 0; + opacity: 0; + transform: translate(0, 0) rotate(-180deg); + transition: opacity 0.3s, transform 0.5s ease; +} + +.sheet-tabstoggle[value="path"] ~ div [name=act_path] span:nth-child(1), +.sheet-tabstoggle[value="info"] ~ div [name=act_info] span:nth-child(1), +.sheet-tabstoggle[value="field"] ~ div [name=act_field] span:nth-child(1), +.sheet-tabstoggle[value="stuff"] ~ div [name=act_stuff] span:nth-child(1), +.sheet-tabstoggle[value="advantage"] ~ div [name=act_advantage] span:nth-child(1) { + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3csmQHTvBiBqDJne8K2hlMKNFv-CLGVrqfwzvYbJBI47hVM5XVK_m1SZG-j2VT-xaAKQJefSsGgpwhNgUJ9DfFlUP9hdCyBRg00lRoPFdYu7Giva9lI2w7HBQbj1MvEhFIbFTGagxcYdtxlLfRKGg8t4Q=w48-h37-no?authuser=0'); + left: 0; + transform: translate(4px, 20px) rotate(50deg); + opacity: 1; +} + + +.sheet-tabstoggle[value="path"] ~ div [name=act_path] span:nth-child(2), +.sheet-tabstoggle[value="info"] ~ div [name=act_info] span:nth-child(2), +.sheet-tabstoggle[value="field"] ~ div [name=act_field] span:nth-child(2), +.sheet-tabstoggle[value="stuff"] ~ div [name=act_stuff] span:nth-child(2), +.sheet-tabstoggle[value="advantage"] ~ div [name=act_advantage] span:nth-child(2) { + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dig12iVccXHjyBvw9EHpkd3LnUK53KDY8Nlvcl5L0a3GwuGyKiGHpTE6uOOfukKWPdZ_mW7fJ4VSX3QCDh8mVn8g1JwJTEH7Hw5i3P5Gjc1DfLQItGNkpCZFziCbFKK4Ed5tsPO8PapXsVgbUImpeRmQ=w58-h54-no?authuser=0'); + left: 50%; + transform: translate(20px, 32px) rotate(23deg); + opacity: 1; +} + + +.sheet-tabstoggle[value="path"] ~ div [name=act_path] span:nth-child(3), +.sheet-tabstoggle[value="info"] ~ div [name=act_info] span:nth-child(3), +.sheet-tabstoggle[value="field"] ~ div [name=act_field] span:nth-child(3), +.sheet-tabstoggle[value="stuff"] ~ div [name=act_stuff] span:nth-child(3), +.sheet-tabstoggle[value="advantage"] ~ div [name=act_advantage] span:nth-child(3) { + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3ckNowHdOSTaSsBvuKhb55WlaUBETtUCjRNA8BKNGIdAU0eY0C66t2vozlTStWcVC4BFtnxanKF2fQM5WrhHT0E1pTcT83U12wZY1itkwe7A20yjVhNij02J4knXY2FXsbT_3W7mwligrK0puB4JoIFsg=w61-h43-no?authuser=0'); + left: 90%; + transform: translate(5px, 20px) rotate(180deg); + opacity: 1; +} + + + +/*------------ end Tabs button ------------- */ + + + +.charsheet .sheet-global .sheet-tooltip{ + border: none; +} + +.sheet-title{ + font-family: 'Architects Daughter', cursive; + font-weight: 900; +} + +.sheet-mt-2{ + margin-top: 1.5em; +} + +.sheet-text-center{ + text-align: center; +} + +.sheet-text-left{ + text-align: left; +} + +img{ + max-width: 100%; +} + +.sheet-global{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3cWAcftXDquAPtdF3BEzJaTgNCSRX5QWPPLLm52UHkA5UN527Wc7saEdL99mh0XFBLkoiruQvfih5z2qrj5LxdOhHv-4kx5riKEubxJ_s2kFvfSrZVnDRAITuuk5RA983UgRVQifIcvHLDP-tj4Sj_R=w1153-h825-no?authuser=0'); + background-size: 450px; + background-position : top right; + background-repeat: no-repeat; + padding: 3em; +} + +button[type=roll]{ + font-size: 20px; + font-weight: 900; + width: auto; + border: none; + background: none; + box-shadow: none; + margin: auto; + cursor: pointer; + outline: transparent; +} + +button[type=roll]::before{ + transform: rotate(0deg); + display: inline-block; + pointer-events: none; + transition: transform 1s ease-out, color 0.3s ease; + font-size: 30px; +} + +button[type=roll]:hover::before{ + color: #db569b; +} + +button[type=roll]:active::before{ + transform: rotate(1200deg); +} + + +input[type="text"]{ + + border-bottom: 1px solid black; + border-radius: 0; + background-color: transparent; + max-width: 100%; + +} + +textarea{ + max-width: 90%; + height: auto; + border: 1px solid black; + border-radius: 0; + background-color: transparent; +} + + +.sheet-number-wrapper{ + height: 31px; + width: 30px; + background-image:url('https://lh3.googleusercontent.com/pw/ACtC-3eIdA3Ya3uBghyEaDlUtjqioq_jkS0NE1TF36HyHQcWHZTBaZuetcmgl9oJTCgO7Dn5fkB5VbMfpYAnynQuXxi4VDHnwC3dYakLf1fxSzN-x90rmXI4kBjUD1PRC5gbxai7nILp0RYNJ6WUEYx9Y780=w157-h162-no?authuser=0'); + background-size: cover; + display: inline-block; +} + +.sheet-number-wrapper input{ + background-color: transparent; + outline: transparent; + text-align: center; + margin-top: 2px; +} + +.sheet-initiative-button .sheet-number-wrapper{ + margin-right: 8px; +} + + +/******************** Style grille **********************************/ + +.sheet-row{ + display: block; + font-family: 'Roboto', sans-serif; +} + +.sheet-cell{ + display: inline-block; + vertical-align: middle; + white-space: normal; +} + +.sheet-cell-1{ + width: 8.20%; +} + +.sheet-cell-2{ + width: 16.2%; +} + +.sheet-cell-3{ + width: 24.6%; +} + +.sheet-cell-4{ + width: 32.5%; +} + +.sheet-cell-5{ + width: 35%; +} + +.sheet-cell-6{ + width: 49%; +} + +.sheet-cell-7{ + width: 54.5%; +} + +.sheet-cell-8{ + width: 65%; +} + +.sheet-cell-9{ + width: 69%; +} + +.sheet-cell-10{ + width: 78%; +} + +.sheet-cell-12{ + width: 100% ; +} + +.sheet-nowrap{ + + white-space: nowrap; +} + +.sheet-mt-1{ + margin-top: 1em; +} + +/******************** Style global **********************************/ + +.sheet-header-carac{ + padding-left: 1em ; +} + +input { + border: none; + background-color: none; +} + +.sheet-header input { + width: calc(100% - 65px); +} + +.sheet-initiative-p{ + margin-top: 2em; +} + +.sheet-initiative-button{ + margin-top: 1.5em; +} + +.sheet-initiative-button .sheet-number-wrapper{ + vertical-align: middle; + margin-bottom: 6px; +} + +.sheet-top-body{ + margin: 2em auto; +} + +.sheet-top-body .sheet-cell{ + vertical-align: top; +} + +.sheet-top-body .sheet-sakura-left{ + max-height: 210px; +} + + +.sheet-underligne{ + margin-bottom: 1.5em; +} + +.sheet-underligne img{ + max-height: 20px; +} + +.sheet-injury { + padding-left: 29px; +} + +.sheet-injury label{ + display: inline-block; + vertical-align: middle; + margin: auto; + max-width: 15px; + padding: 0; + cursor: pointer; +} + +.sheet-injury label span{ + position: relative; + z-index: 2; +} + + +.sheet-injury label span::before{ + position: absolute; + content: ''; + top: 4px; + left: 3px; + height: 10px; + width: 8px; + border-radius: 50%; + z-index: -1; + border: 1px solid black; +} + +.sheet-injury input:checked ~ label span::before{ + background-color: black; +} + +.sheet-global .sheet-injury label:hover ~ label span::before, .sheet-global .sheet-injury label:hover span::before, .sheet-global .sheet-injury input:checked ~ label:hover span::before{ + background-color: #db569b; +} + +.sheet-cancel{ + color: black; +} + +.sheet-cancel:hover{ + color: #db569b; +} + + +.sheet-cancel::before{ + display: none; +} + +.sheet-injury input{ + width: 0; + margin: auto; + opacity: 0; + display: none; +} + +.sheet-injury .sheet-radios-injury{ + text-align: left; + direction:rtl; +} + +.sheet-injury p{ + margin: auto; +} + + +/*************************************************/ + +.sheet-tabs-button{ + background-color: transparent; + color: black; + transition : all 0.3s ease; + border-radius: 0; + font-family: 'Architects Daughter', cursive; + font-weight: 900; + font-size: 20px ; + margin: 10px; + margin-top: 1em; + box-shadow : none; + border : 1px solid black; + padding : 10px 20px; + cursor: pointer; + +} + +.sheet-tabs-button:hover{ + color: #db569b; + border-color : #db569b; +} + +.sheet-checkbox label{ + font-size: 12px; + font-family: inherit; + text-align: center; + font-weight: 100; + cursor: pointer; + margin: 0.5em auto; + display:inline-block; + width:auto; +} + +.sheet-checkbox label span{ + position: relative; + margin: auto; +} + +.sheet-checkbox label input{ + display: none; +} + +.sheet-checkbox label input:checked ~ span::before{ + position: absolute; + top: -2px; + left: 2px; + content: ''; + height: 20px; + width: 20px; + background-size: contain; + background-repeat: no-repeat; + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dhky2vWv6abuZOybuIQhCuSm3nooJn0Yi7HzS4pTSkxxLPE9-tCZSyzb2RAI8taT_Sw1-5lYVSmUMRDdF5adDCwtOMRBwJPWX2x6mBzGuMi9pbH7CkES7LU0mhHVx1R6oHQOKPJgVslbTbowebnS6Hgw=w67-h59-no?authuser=0'); +} + + +.sheet-checkbox label span img{ + max-width:18px; +} + + +/*************************************************/ + + +.sheet-field, .sheet-path{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3fTzjmZRH7haOXA72Cii5euWoOjmwJlg0VCo-uaRRpMBQ-UrMaP3Q2ed9bvMjUWThw9S4AFAEdlR0lhFbPN7BEV0ZAu4bZ_MgWSpjh8QjFer8YGxSRE7cdnF652mBz7HgQSN7j5pGj1RRVT-41KMrN9=w599-h937-no?authuser=0'); + background-repeat: no-repeat; + background-position: bottom left; + background-size: 200px; + padding-left: 70px; + padding-bottom: 50px; + min-height: 255px; +} + +.sheet-path{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3ctxFZbbFPdCsp6SYlFV-GrZr1CJOPy0sLaJlaUE-btg2D4HMU8IIg1lhuPLa2_o22LbMTUjB_U8HYR_s8KDErbju755lQcMOrsDxSdf1IwVtxaNq3E93wxVTyjPB_HGnjglf883Qmrg7jHbSVQl5VqRA=w354-h937-no?authuser=0'); + padding-left: 91px; + padding-bottom: 27px; +} + + +.sheet-field > .sheet-row > .sheet-cell{ + vertical-align: top; +} + +.sheet-spe-cell{ + padding-left: 10px; +} + +.sheet-field .sheet-field-name input{ + max-width: calc(100% - 100px); + margin-left: 5px; +} + +.sheet-field .sheet-field-row .sheet-number-wrapper{ + text-align: center; + margin: auto; + width: 60px; + height: 60px; +} + +.sheet-field .sheet-field-row .sheet-number-wrapper input{ + margin-top:20px; +} + +.sheet-field .sheet-field-row .sheet-number-wrapper-small .sheet-number-wrapper{ + width: 30px; + height: 31px; +} +.sheet-field .sheet-field-row .sheet-number-wrapper-small .sheet-number-wrapper input{ + margin-top:2px; +} + +.repitem:nth-child(1) .sheet-field-row .sheet-underligne, .repitem:nth-child(1) .sheet-spe-row .sheet-underligne, .repitem:nth-child(1) .sheet-weapon-wrapper .sheet-separator{ + display: none; +} +.sheet-field-row .sheet-underligne, .sheet-spe-row .sheet-underligne{ + margin: 1em auto; +} + +.sheet-field .sheet-roll-field{ + margin: 0.5em auto; + +} + +.sheet-slider button{ + border: none; + outline: transparent; + background-color: white; + transition: transform 0.3s ease; + transform: translate(0,0); +} + +.sheet-slider button.sheet-left:active{ + transform: translate(5px, 0); +} + + +.sheet-slider button.sheet-right:active { + transform: translate(-5px, 0); +} + +.sheet-slider button img{ + max-width: 15px; + width: 100%; +} + +.sheet-global .sheet-roll-spe{ + margin-top: 2em; +} + +.sheet-global .sheet-spe-name{ + max-width: calc(100% - 25px); +} + + +/********************************* Avantage ******************************************/ + +.sheet-advantage, .sheet-info, .sheet-stuff { + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dmSz2DDxy6lbHTtwo0nEEWiKS1kIkjW13wZ2Fkd1Jugy16NMmCiaXKrJceko0yunAtRhSSgFNfMlzC4raXP6WF48_O6gqeR_orf84xnj7nwJA2xVY92mexvunhSpDMPXfsJrOi1bR2ybkThPcQgzg1=w644-h937-no?authuser=0'); + background-repeat: no-repeat; + background-position: bottom right; + background-size: 250px; + padding-right: 70px; + padding-bottom: 50px; + min-height: 255px; +} + +.sheet-stuff{ + background-size: 195px; + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3fdBEOsZ8czMrVM7_BPKOPZGQx-Sr2RvEfH3nL8JT3X2z3eV-nJ52X_ikmVQigsnIZqZxXYHLGaTwjzLVBoajhY19BpfaVCd1wfImA1CUb9MWOW-QYKjNOLwAfRFMHdi3Gz_szFOLuJadIJJqItXzEWHA=w519-h937-no?authuser=0'); +} + + +.sheet-advantage > .sheet-row > .sheet-cell{ + vertical-align: top; +} + +.sheet-advantage > .sheet-row > .sheet-cell input[type=text]{ + margin-bottom: 1em; +} + + + +/***************************** Voie ****************************************/ + +.sheet-path > .sheet-row > .sheet-cell{ + vertical-align: top; + margin-bottom: 1em; +} + +.sheet-path .sheet-path-wrapper{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dtHP2bnvZt5nW5OrlmBWTPAg1vLJha3heEq3kFdVtEn4YPewF0hcnC1hbotOHpBOKRgF3Wnej_v1EmYcnYyOheSSIGb000DPbb_buXNlzRz7p0DbtfqYURSqZtFyaH-99_k-6S_JvadR7yfIPQ538z=w231-h245-no?authuser=0'); + height: 70px; + width: 70px; +} + +.sheet-path .sheet-path-wrapper input{ + + margin: 2.1em 1em; + +} + +.sheet-aspect-input{ + margin: 1em auto; +} + +.sheet-techniques{ + text-align: center; +} + +.sheet-techniques .repitem{ + width: 49%; + display: inline-block; + max-width: 450px; + margin: 1em auto; + text-align: left; +} + + +.sheet-tech-power{ + margin-left: 8px; +} + + +/************************* Stuff *****************************/ + +.sheet-stuff-number{ + border-bottom: 1px solid black; + margin: 0 5px; + border-radius: 0; +} + +.sheet-dgt-p{ + margin-left: 5px; +} + +.sheet-weapon-wrapper{ + margin-bottom: 0.5em; +} + +.sheet-weapon-wrapper .sheet-separator{ + margin: 2em auto; + margin-bottom: 0; + text-align: center; +} + + +.sheet-weapon-wrapper .sheet-separator img{ + margin: auto; + width: 40%; + max-width: 200px; +} + + +/* rolltemplate */ + +.sheet-rolltemplate-sakura{ + background-color: white; + background-image: url(https://imgsrv.roll20.net/?src=https%3A//lh3.googleusercontent.com/pw/ACtC-3cWAcftXDquAPtdF3BEzJaTgNCSRX5QWPPLLm52UHkA5UN527Wc7saEdL99mh0XFBLkoiruQvfih5z2qrj5LxdOhHv-4kx5riKEubxJ_s2kFvfSrZVnDRAITuuk5RA983UgRVQifIcvHLDP-tj4Sj_R%3Dw1153-h825-no%3Fauthuser%3D0); + background-size: 150px; + background-position: 93% 5%; + background-repeat: no-repeat; + color: black; + padding: 0 10px; + padding-top: 26px; + text-align: center; + border: 1px solid black; + border-radius: 0; +} + +.sheet-template-header { + padding-top: 16px; +} + +.sheet-rolltemplate-sakura .sheet-roll-result{ + background-image: url('https://lh3.googleusercontent.com/pw/ACtC-3dtHP2bnvZt5nW5OrlmBWTPAg1vLJha3heEq3kFdVtEn4YPewF0hcnC1hbotOHpBOKRgF3Wnej_v1EmYcnYyOheSSIGb000DPbb_buXNlzRz7p0DbtfqYURSqZtFyaH-99_k-6S_JvadR7yfIPQ538z=w231-h245-no?authuser=0'); + height: 70px; + width: 70px; + display: inline-block; + background-size: contain; + font-size: 16px; + margin: 20px auto 10px; +} + +.sheet-rolltemplate-sakura .sheet-roll-result span{ + display: inline-block; + padding-top: 28px; + font-size: 18px; + background-color: transparent; + border-color: transparent; +} + +.sheet-rolltemplate-sakura .sheet-roll-result.sheet-fullcrit{ + color: #3FB315; +} +.sheet-rolltemplate-sakura .sheet-roll-result.sheet-fullfail{ + color: #B31515; +} + +.sheet-rolltemplate-sakura .sheet-template-desc{ + display: block; + padding: 10px 0; + padding-top: 20px; + font-size: 12px; + +} + +.sheet-rolltemplate-sakura .sheet-template-note{ + display: block; + padding: 0; + margin-bottom: 1em; + font-size: 12px; + +} + +.sheet-rolltemplate-sakura .sheet-roll-injury{ + margin-bottom: 1em; + font-size: 12px; +} +/***************************************/ + +.sheet-tooltip { + position: relative; + display: inline-block; + border-bottom: none; +} + +.sheet-tooltip .sheet-tooltiptext { + visibility: hidden; + width: 120px; + background-color: black; + color: #fff; + text-align: center; + padding: 5px 0; + border-radius: 6px; + position: absolute; + z-index: 1; + bottom: 100%; + left: 50%; + margin-left: -60px; +} + +.sheet-tooltip:hover .sheet-tooltiptext { + visibility: visible; +} + +.sheet-tooltip .sheet-tooltiptext::after { + content: " "; + position: absolute; + top: 100%; + left: 50%; + margin-left: -10px; + border-width: 10px; + border-style: solid; + border-color: black transparent transparent transparent; +} + + diff --git a/Empire_des_cerisiers/EdC.html b/Empire_des_cerisiers/EdC.html new file mode 100644 index 0000000000..e41948e818 --- /dev/null +++ b/Empire_des_cerisiers/EdC.html @@ -0,0 +1,1310 @@ + +
    +
    + +
    +
    +
    +

    Nom :

    +
    +
    +

    Origines :

    +
    +
    +

    Concept :

    +
    +
    XP :
    +
    +
    +
    + +
    +
    + +
    +
    +

    Combat

    +
    + +
    +
    +
    +

    Nombre d'attaque par tour:

    +

    Défense:

    +

    Initiative:

    +

    Résistance mentale:

    +
    +
    +

    +

    +

    +

    +
    +
    +
    +
    +

    Blessures

    +
    + +
    +
    +
    + + + + + + + +
    +
    +

    Contusions

    +
    +
    +
    + +
    +
    + + + + + + + + +
    +
    +

    Meurtrissures

    +
    +
    -1
    +
    +
    +
    + + + + + + + + +
    +
    +

    Blessures Légères

    +
    +
    -3
    +
    +
    +
    + + + + + + + + +
    +
    +

    Blessures modérées

    +
    +
    -5
    +
    +
    +
    + + + + + + + + +
    +
    +

    Blessures graves

    +
    +
    -7
    +
    +
    +
    + + + + + + + + +
    +
    +

    Aux portes de la mort

    +
    +
    +3/-9
    +
    +
    +
    + + + + + + + + +
    +
    +

    Inconscient/ Incapacité

    +
    +
    X
    +
    +
    +
    + +
    + + +
    + + + + + +
    + + +
    + +
    +
    +

    CHAMPS

    +
    + +
    +
    +
    +
    +
    + +
    +

    Nom du champ:

    +

    Description:

    + +
    + +
    +

    +
    +

    Bonus:

    +

    + Ce bonus n'est pas pris en compte lors des tests de spécialisation +
    +
    +
    +

    Initiative: + +

    +
    +
    +
    + +
    +
    +
    + +
    +

    SPÉCIALISATION

    +
    + +
    + +
    +
    + +
    + +
    + +
    +

    Champ:

    +
    + +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    +
    +

    Nom:

    + +
    +
    +

    Niveau:

    + +
    +
    +

    Bonus:

    +
    + +
    +
    +
    + +
    +
    + + +
    +

    Description:

    + +
    + +
    + +
    +
    +
    + +
    +
    +

    AVANTAGES

    +
    + +
    +
    +
    +
    +

    +
    +
    +

    +
    +
    + +
    +
    +
    +

    DESAVANTAGES

    +
    + +
    +
    +
    +
    +

    +
    +
    +

    +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +

    VOIE

    +
    + +
    + + +
    +
    +

    Aspects

    +
    + +
    + +
    + + +
    + +
    + +
    +
    +
    +

    Techniques et enseignements

    +
    + +
    + + + + +
    + +
    +
    +
    +

    Technique :

    +
    +
    +
    +
    +

    Aspect:

    +
    +
    + +
    +
    + + + + +
    +
    + +
    +

    Puissance:

    +
    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    Armure

    +
    + +
    +
    +
    +
    +
    + +
    +
    +

    Encaissement :

    +
    +
    +

    Malus :

    +
    +
    +

    + +

    +
    +
    +
    +
    + +

    Armes

    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    Dégats

    +
    +
    +

    Bonus toucher

    +
    +
    +

    Bonus dégâts

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Champ

    +
    +
    +

    Spécialité

    +
    +
    +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + + + + + +
    +
    + +
    +
    + +
    +
    +

    Notes

    + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +

    INFORMATIONS

    +
    + +
    +

    Equipements :

    + + +

    Notes :

    + + +

    Historique :

    + + +
    +
    +
    +
    + + + + +
    + {{#subtitle}} +
    {{subtitle}}
    + {{/subtitle}} +
    +

    {{rollname}}

    +
    +
    + + {{#rollTotal() check maxcheck}} + + {{/rollTotal() check maxcheck}} + + {{#rollTotal() check mincheck}} + + {{/rollTotal() check mincheck}} + + {{#^rollTotal() check maxcheck}} + {{#^rollTotal() check mincheck}} + + {{/^rollTotal() check mincheck}} + {{/^rollTotal() check maxcheck}} + {{^maxcheck}}{{^mincheck}} + + {{/mincheck}}{{/maxcheck}} + {{check}} +
    + {{#currentinjury}} +
    Malus de blessures: {{currentinjury}}
    + {{/currentinjury}} + {{#desc}} +
    + {{desc}} +
    + {{/desc}} + {{#note}} +
    +

    {{note}}

    +
    + {{/note}} + + + {{content}} + + + + + + + + + + + + + + + + + + diff --git a/Empire_des_cerisiers/EdC.png b/Empire_des_cerisiers/EdC.png new file mode 100644 index 0000000000..b9968b1452 Binary files /dev/null and b/Empire_des_cerisiers/EdC.png differ diff --git a/Empire_des_cerisiers/ReadMe.md b/Empire_des_cerisiers/ReadMe.md new file mode 100644 index 0000000000..f4d9660442 --- /dev/null +++ b/Empire_des_cerisiers/ReadMe.md @@ -0,0 +1,16 @@ +# L'Empire des cerisiers Character Sheet +Player sheet for L'Empire des cerisiers by Olivier Sanfilippo published by Arkhane Asylum in 2020. Sheet is based on 2020 Arkhane Asylum's designed player sheet. + +## Current Version +1.0 + +### Change log + +#### 1.0 +* Sheet creation for Roll20 + +### Feedback +If you have any problems, suggestions or features you'd like to see added to the sheet, please let me know either by sending me a private message via roll20. Please be patient when waiting for a reply. + +### Credits +Sheet design and adaptation for Roll20 by [@Talina](https://app.roll20.net/users/3632466/talina) and [@Marc-J](https://app.roll20.net/users/3631783/marc-j) diff --git a/Empire_des_cerisiers/sheet.json b/Empire_des_cerisiers/sheet.json new file mode 100644 index 0000000000..6619b89bcd --- /dev/null +++ b/Empire_des_cerisiers/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "EdC.html", + "css": "EdC.css", + "authors": "Marc-J and Talina", + "roll20userid": "3631783,3632466", + "preview": "EdC.png", + "instructions": "# L'Empire des cerisiers Character Sheet\n\n\nPlayer sheet for L'Empire des cerisiers by Olivier Sanfilippo published by Arkhane Asylum in 2020.\nThis sheet was created for the use of L'Empire des Cerisiers players and community. ##Player sheet\n\nSheet is based on 2020 Arkhane Asylum's designed player sheet.\n\n\n## Current Version 1.0" + } + \ No newline at end of file diff --git a/Empire_des_cerisiers/translation.json b/Empire_des_cerisiers/translation.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/Empire_des_cerisiers/translation.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/Esper_Genesis_5E/translations/fr.json b/Esper_Genesis_5E/translations/fr.json index ff024730d7..f25082ac15 100644 --- a/Esper_Genesis_5E/translations/fr.json +++ b/Esper_Genesis_5E/translations/fr.json @@ -246,7 +246,7 @@ "hunter": "Chasseur", "melder": "Melder", "sentinel": "Sentinelle", - "specialist": "Specialist", + "specialist": "Specialiste", "warrior": "Guerrier", "class-level-u": "CLASSE & NIVEAU", "background-u": "HISTORIQUE", diff --git a/Fallout PnP 4.0/Fallout PnP 4.css b/Fallout PnP 4.0/Fallout PnP 4.css index f49c165a66..cb9781380c 100644 --- a/Fallout PnP 4.0/Fallout PnP 4.css +++ b/Fallout PnP 4.0/Fallout PnP 4.css @@ -2,7 +2,7 @@ .charsheet { background-image: url("https://images4.alphacoders.com/969/thumb-1920-96964.jpg"); - background-size: 150%; + background-size: 100%; } .sheet-clear { diff --git a/Fallout PnP 4.0/Fallout PnP 4.html b/Fallout PnP 4.0/Fallout PnP 4.html index 0fab117483..ac57c3c2e1 100644 --- a/Fallout PnP 4.0/Fallout PnP 4.html +++ b/Fallout PnP 4.0/Fallout PnP 4.html @@ -4,26 +4,27 @@ +
    - - + + - - + + - - + + - - + +
        
          
        
        
    @@ -42,60 +43,62 @@ Strength (ST) - + Perception (PE) - + Endurance (EN) - + Charisma (CH) - + Intelligence (IN) - + Agility (AG) - + Luck (LU) - + -
    -

    Traits

    +
    +

    Traits

    - + + - + +
     
     

    @@ -105,84 +108,85 @@ Statistic Total Bonus - Formula + Base + Formula Sequence - + Carry Weight - + Healing Rate - + Poison Resistance - - + + Electricity Resistance - - + + Gas Resistance - - + + Radiation Resistance - - + + Implant Endurance (IE) - + Walking Rate - - + + Running Rate - + Sprint Rate - +
    @@ -197,7 +201,8 @@ -   + +
    @@ -205,14 +210,23 @@

    Skills

    + + + + + + + + + - + - + @@ -220,35 +234,35 @@ - - + + - - - + + + - - - + + + - - - + + + @@ -256,8 +270,8 @@ - - + + @@ -265,8 +279,8 @@ - - + + @@ -274,8 +288,8 @@ - - + + @@ -283,8 +297,8 @@ - - + + @@ -292,8 +306,8 @@ - - + + @@ -301,8 +315,8 @@ - - + + @@ -310,8 +324,8 @@ - - + + @@ -319,8 +333,8 @@ - - + + @@ -328,8 +342,8 @@ - - + + @@ -337,8 +351,17 @@ - - + + + + + + + + + + + @@ -346,8 +369,8 @@ - - + + @@ -355,8 +378,8 @@ - - + + @@ -364,8 +387,8 @@ - - + + @@ -373,8 +396,8 @@ - - + + @@ -382,8 +405,8 @@ - - + + @@ -391,8 +414,8 @@ - - + + @@ -400,8 +423,8 @@ - - + + @@ -409,8 +432,8 @@ - - + + @@ -418,8 +441,8 @@ - - + + @@ -427,8 +450,8 @@ - - + + @@ -436,8 +459,8 @@ - - + + @@ -445,8 +468,8 @@ - - + + @@ -454,8 +477,8 @@ - - + + @@ -463,8 +486,8 @@ - - + + @@ -472,8 +495,8 @@ - - + + @@ -481,8 +504,8 @@ - - + + @@ -490,8 +513,8 @@ - - + + @@ -499,8 +522,8 @@ - - + + @@ -508,8 +531,8 @@ - - + + @@ -517,8 +540,17 @@ - - + + + + + + + + + + + @@ -526,8 +558,8 @@ - - + + @@ -535,44 +567,44 @@ - - + + - - - + + + - - - + + + - - - + + + - - - + + + @@ -580,8 +612,8 @@ - - + + @@ -589,17 +621,17 @@ - - - + + + - - + + @@ -607,17 +639,8 @@ - - - - - - - - - - - + + @@ -625,8 +648,8 @@ - - + + @@ -634,8 +657,8 @@ - - + + @@ -643,8 +666,8 @@ - - + + @@ -652,17 +675,17 @@ - - + + - - - + + + @@ -670,8 +693,8 @@ - - + + @@ -679,8 +702,8 @@ - - + + @@ -688,8 +711,8 @@ - - + + @@ -697,44 +720,53 @@ - - + +
    Related
    Skill Name Total Bonus PointRelated AttributeAttribute DefaultingSpecializationSpecialization
    Animalism
    Archery
    Armorsmith
    Artisan
    Athletics
    Automatics
    Barter
    Charm
    Computer
    Con
    Consruct & Maintenance
    Demolition
    Disguise
    Diving
    Empathy
    Escape Artist
    Etiquette
    Exotic Weapons (Specific)
    First Aid
    Forgery
    Gambling
    Gunnery
    Heavy Weapons
    Herbalism
    Impersonation
    Intimidation
    Knowledge Academy (Specific)
    Knowledge Vehicles
    Knowledge Wasteland
    Leadership
    Lockpick
    Longarms
    Medicine
    Melee Combat
    Navigation
    Notice
    Palming
    Performance
    Pilot Aircraft
    Pilot Exotic Vehicle (Specific)
    Pilot Groundcraft
    Pilot Watercraft
    Pistols
    Riding
    Robotics
    Running
    Search
    Sneak
    Survival
    Swimming
    Tactics
    Throwing Weapons
    Tracking
    Traps
    Unarmed Combat
    Weaponsmith
    -
    -

    Health

    - +

    Health

    +
    - - - - - - - - - - - + + + + + + + + + + + +
    Rad Damage Current Health Total Health FormulaWound PointsDeath Points
    Wound Points + + + +
    Death Points + + +
    -
    -
    +
    +
    +

    Armor and Weapons

    - + @@ -744,141 +776,180 @@ - + - - + + + + +
    + Armor Name
    Armor Value (A)Sound Weight Condition
    + - + - +
    Outfit Name Weight
    -
    - +
    - + +
    - - + + - - +
    +
    First Weapon Name
    Damage Value (H) Fire Mod Armor Penetration (AP)
    Reach ST Minimum Weight
    + - + - - - - - - - - + + + + -
    Ammo Type Ammo Quantity
    Short Range (0)Medium Range (-1)Long Range (-3)Extreme Range (-6)WeightFire Mode
    -
    - +
    +
    + + + + + + + + + + + + + +
    Short Range (0)Medium Range (-1)Long Range (-3)Extreme Range (-6)
    + - + +
    - - + + - - +
    Second Weapon Name
    Damage Value (H) Fire Mod Armor Penetration (AP)
    Reach ST Minimum Weight
    + +
    - + - - - - - - - - + + + + -
    Ammo Type Ammo Quantity
    Short Range (0)Medium Range (-1)Long Range (-3)Extreme Range (-6)WeightFire Mode
    -
    - +
    +
    + + + + + + + + + + + + + +
    Short Range (0)Medium Range (-1)Long Range (-3)Extreme Range (-6)
    + - + +
    - - + + - - +
    Third Weapon Name
    Damage Value (H) Fire Mod Armor Penetration (AP)
    Reach ST Minimum Weight
    + +
    - + + + + + + + +
    Ammo Type Ammo Quantity
    WeightFire Mode
    + +
    - + - + - + - - -
    Short Range (0) Medium Range (-1) Long Range (-3) Extreme Range (-6)
    + + + + + -
    -
    - +
    +

    Perks

    @@ -894,46 +965,57 @@
    +

    Inventory

    - + - + - - -
    -
    Caps NCR Dollars Legion Denarius
    - - - - - - - - - - +
    Item NameAmountWeight
    -
    +
    + + + + + + + + + +
    AmountWeight
    -
    +
    - - - + - + - +
    Item Name Amount Weight

    +
    +

    Tactics and Martial Tecniques

    + + + + +
    +
    + + + + +
    +
    + diff --git a/Fallout/Fallout 3.0.css b/Fallout/Fallout 3.0.css index 41de4c4585..0f179154b6 100644 --- a/Fallout/Fallout 3.0.css +++ b/Fallout/Fallout 3.0.css @@ -1,7 +1,7 @@ /*-----background-----*/ .charsheet { - background-image: url("http://static.hdw.eweb4.com/media/wallpapers_1920x1080/games/1/1/please-stand-by-fallout-3-game-hd-wallpaper-1920x1080-5746.jpg"); + background-image: url("https://images4.alphacoders.com/969/thumb-1920-96964.jpg"); background-size: 150%; } @@ -423,4 +423,4 @@ input::-webkit-inner-spin-button { /* display: none; <- Crashes Chrome on hover */ -webkit-appearance: none; margin: 0; /* <-- Apparently some margin are still there even though it's hidden */ -} \ No newline at end of file +} diff --git a/Alien Roleplaying Game/.DS_Store b/FarWest_LaLeyenda/.DS_Store similarity index 89% rename from Alien Roleplaying Game/.DS_Store rename to FarWest_LaLeyenda/.DS_Store index befabae4c3..b13cf1a2b1 100644 Binary files a/Alien Roleplaying Game/.DS_Store and b/FarWest_LaLeyenda/.DS_Store differ diff --git a/FarWest_LaLeyenda/FWLY.css b/FarWest_LaLeyenda/FWLY.css new file mode 100644 index 0000000000..1b9fcbe823 --- /dev/null +++ b/FarWest_LaLeyenda/FWLY.css @@ -0,0 +1,860 @@ + +/*RESET CSS*/ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/ + + +/* Set the min-width so that when the window is resized the look will stay consistant */ +.charsheet { + background: url(https://i.imgur.com/xvJ9FqC.jpg); + /*CAMBIAR IMAGEN A ARCHIVO GITHUB */ + color: black; + background-size: 100%; + max-width: 800px; + min-width: 800px; +} + +/*Configure the TAB buttons*/ +.sheet-character, +.sheet-config, +.sheet-journal { + display: none; +} + +/* show the selected tab */ +.sheet-tabstoggle[value="character"] ~ div.sheet-character, +.sheet-tabstoggle[value="configuration"] ~ div.sheet-config, +.sheet-tabstoggle[value="journal"] ~ div.sheet-journal { + display: block; +} + + + +/* PERSONALIZAR SCROLLBAR--------------------------------------------------------------------------------------------------------------------------------------*/ + +/* The emerging W3C standard + that is currently Firefox-only */ +* { + scrollbar-width: thin; + scrollbar-color: maroon transparent; +} + +/* Works on Chrome/Edge/Safari */ +*::-webkit-scrollbar { + width: 6px; +} +*::-webkit-scrollbar-track { + background: transparent; +} +*::-webkit-scrollbar-thumb { + background-color: maroon; + border-radius: 20px; + border: 1px solid #FFDEAD; +} + +/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/ + + + +/* Universal styling applied to all elements of these types */ + +button, +button:hover, +button:active { + width: 1.2em; + height: 1.2em; + background-image: none; + background-color: transparent; + border-radius: 200px 200px 200px 200px; + -moz-border-radius: 200px 200px 200px 200px; + -webkit-border-radius: 200px 200px 200px 200px; + border: 0px solid gray; + box-shadow: none; +} + +h2 { + background-color: #800000; + margin-left: -15px; + margin-bottom: 5px; + border-radius: 12px; + color: #ffffff; + font-size: 12px; + text-align: center; +} + +h3 { + margin-left: -15px; + margin-top: 5px; + margin-bottom: 5px; + background-color: transparent; + color: gray; + font-size: 12px; + font-weight: bold; + text-align: center; +} + +hr { + width: 100%; + height: 1px; + background-color: black; + margin-top: 5px; + margin-bottom: 5px; +} + +img { + width: 80%; + margin-top: -25px; + margin-bottom: 3px; +} + +input { + display: inline-block; + background-color: transparent; + margin-bottom: 0px; + border-radius: 5px; + border: 1px solid #C0C0C0; + box-shadow: 0px -2px 0px 0px #000000 inset; + color: #4169E1; /*Royal Blue*/ + /*color: #1E90FF; Dodger Blue*/ + /*color: #4682B4; Steel Blue*/ + line-height: 6px; +} + +input::placeholder { + color: gray; + font-size: 10px; +} + +label { + display: inline-block; + font-size: 11px; +} + + + +/* Targetted styling that only effects elements with these classes */ + +button[type=roll].sheet-btncabecera::before { + content: ''; +} + +button[type=roll].sheet-btncabecera { + margin-top: -30px; + color: #800000; + font-family: dicefontd10; + font-size: 35px; + text-shadow: -0.2px -0.2px 0px #FAEBD7, 0.2px 0.2px 35px #FAEBD7, -0.2px 0.2px #FAEBD7, 0.2px -0.2px #FAEBD7; + -webkit-transform: scaleY(1) translateZ(-1px); + /*-webkit-text-stroke: 0.2px black;*/ +} + +button[type=roll].sheet-btnsinatt { + width: 60px; + height:20px; + margin-top: 7px; + border-radius: 20px 20px 20px 20px; + box-shadow: 0px -2px 0px 0px #000000 inset; + background-color: maroon; + background-image: none; + color:white; + font-size:10px; + text-align:center; + vertical-align: middle; +} + +button[type=roll].sheet-btngeneral { + margin-left: 15px; + color: maroon; + font-size: 13px; + text-align: center; +} + +button[type=roll].sheet-btngeneralprimera { + margin-left: -10px; + color: maroon; + font-size: 13px; + text-align: center; +} + +button[type=roll].sheet-btnoculto { + margin-left: 15px; + background-image: none; + background-color: transparent; + color: transparent; + font-size: 13px; + text-align: center; +} + +button[type=roll].sheet-btnocultoprimera { + margin-left: -10px; + background-image: none; + background-color: transparent; + color: transparent; + font-size: 13px; + text-align: center; +} + +button[type=action].sheet-btntabulador { + background-color: maroon; + background-image: none; + width: 150px; + height: 15px; + margin-top: 0px; + border-radius: 20px 20px 20px 20px; + box-shadow: 0.5px 1.5px 0.2px #FAEBD7; + color: #FAEBD7; + font-size: 9px; + text-align: center; + vertical-align: middle; + -webkit-transform: scaleY(1) translateZ(-1px); +} + +hr.sheet-hrcaballos { + margin-left: -5px; +} + +hr.sheet-hrhechizos { + margin-left: -10px; + margin-top: 7px; + margin-bottom: 7px; + background-color: maroon; +} + +input.sheet-armastabla { + width:90px; + margin-left:2px; + margin-top:1px; + color: #4682B4; + font-size: 11px; + text-align: center; +} + +input.sheet-controlheridas { + width: 19px; + height: 19px; + margin-left: 0px; + margin-right: 2px; + background-color: white; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + text-align: center; +} + +input.sheet-controlheridas-first { + width: 19px; + height: 19px; + margin-left: 10px; + margin-right: 2px; + background-color: white; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + text-align: center; +} + +input.sheet-controlheridas-first2 { + width: 19px; + height: 19px; + margin-left: 10px; + margin-right: 2px; + background-color: white; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + text-align: center; +} + +input.sheet-controlheridas-first3 { + width: 19px; + height: 19px; + margin-left: 25px; + margin-right: 2px; + background-color: white; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + text-align: center; +} + +input.sheet-controlheridas-last { + width: 25px; + height: 19px; + margin-left: 36px; + margin-right: 2px; + background-color: white; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + text-align: center; +} + +input.sheet-damage { + width: 19px; + height: 19px; + margin-left: 0px; + margin-right: 2px; + background-color: transparent; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + font-size: 10px; + padding: 0px; + text-align: center; +} + +input.sheet-damage-first { + width: 19px; + height: 19px; + margin-left: 10px; + margin-right: 2px; + background-color: transparent; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + font-size: 10px; + padding: 0px; + text-align: center; +} + +input.sheet-damage-first2 { + width: 19px; + height: 19px; + margin-left: 10px; + margin-right: 2px; + background-color: transparent; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + font-size: 10px; + padding: 0px; + text-align: center; +} + +input.sheet-damage-first3 { + width: 19px; + height: 19px; + margin-left: 25px; + margin-right: 2px; + background-color: transparent; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + font-size: 10px; + padding: 0px; + text-align: center; +} + +input.sheet-damage-last { + width: 25px; + height: 19px; + margin-left:35px; + margin-right: 2px; + background-color: transparent; + border-radius: 0px; + border: 1px solid black; + box-shadow: none; + font-size:10px; + padding: 0px; + text-align: center; +} + +input.sheet-tipotabla { + width:50px; + margin-left:2px; + margin-top:1px; + color: #4682B4; + font-size: 11px; + text-align: center; +} + +input.sheet-txtcaract { + +} + +input.sheet-txtcarfinales { + width: 30px; + margin-left: 0px; + text-align: center; +} + +input.sheet-txtcarsecundarias { + width: 45px; + margin-left: 3px; + text-align: center; +} + +input.sheet-txtcarsecundariascaballo { + width: 45px; + margin-left: 3px; + text-align: center; +} + +input.sheet-txtdatoscaballo { + width: 98px; + margin-right: 12px; +} + +input.sheet-txtdatosgenerales { + width: 120px; + margin-left: 12px; +} + + +input.sheet-txthablibre { + height: 21px; +} + +input.sheet-txthechizos { + width: 98px; + margin-right: 12px; +} + +input.sheet-txttipotabla2 { + width: 100px; + margin-left: 2px; + color: #4682B4; + font-size: 11px; + text-align: center; +} + +input.sheet-txttipotabla3 { + width: 460px; + margin-left: 2px; + color: #4682B4; + font-size: 11px; + text-align: center; +} + +input.sheet-txttipotabla4 { + width:150px; + margin-left:2px; + color: #4682B4; + font-size: 11px; + text-align: center; +} + +input.sheet-valhabilidadoculta { + height: 1.8em; + margin-left: 3px; + text-align: center; + opacity: 0; +} + +input.sheet-valhabilidades { + height: 21px; + margin-left: 3px; + text-align: center; +} + +input.sheet-valhabilidades::placeholder { + text-align: left; +} + +input.sheet-valmunicion { + height: 21px; + margin-left: 2px; + color: black; + text-align: center; +} + +input.sheet-valtotem { + height: 50px; + margin-left: 3px; + margin-right: 3px; + margin-top: -14px; + color: maroon; + font-size: 30px; + font-weight: bold; + text-align: center; +} + +label.sheet-lblcabeceraarmas { + width: 50px; + margin-left: 2px; + color: #9d6e6e; + font-size: 12px; + text-align: center; + vertical-align: middle; +} + +label.sheet-lblcaracteristicas { + width: 30px; + margin-left:-5px; + font-size: 11px; + font-weight: bold; + text-align: left; +} + +label.sheet-lblcaracteristicascaballo { + width: 30px; + font-size: 11px; + font-weight: bold; + text-align: left; +} + +label.sheet-lblcarfinales { + width: 45px; + margin-left: -5px; + font-size: 10px; + font-weight: bold; + text-align: left; +} + +label.sheet-lblcarsecundarias { + width: 100px; + font-weight: bold; + text-align: left; +} + +label.sheet-lblcarsecundariascaballo { + width: 60px; + margin-left: 10px; + font-weight: bold; + text-align: left; +} + +label.sheet-lblclaseheridas { + color: #9d6e6e; + text-align: center; +} + +label.sheet-lbldatoscaballo { + width: 60px; + font-size: 11px; + font-weight: bold; +} + +label.sheet-lbldatosgenerales { + width: 90px; + margin-left: -12px; + font-weight: bold; +} + +label.sheet-lblhabilidades { + width: 98px; + height: 12px; + margin-left: -5px; + font-size: 11px; + font-weight: normal; +} + +label.sheet-lblhabilidadescaballo { + width: 80px; + margin-right: -18px; + font-size: 11px; + font-weight: normal; +} + +label.sheet-lblhabilidadoculta { + display: inline-block; + width: 98px; + height: 12px; + margin-left: -5px; + color: maroon; + font-size: 11px; + font-weight: bold; +} + +label.sheet-lblhechizos { + width: 60px; + margin-left: 10px; + font-weight: bold; + text-align: left; +} + +select.sheet-municionchs { + display: inline-block; + width: 96px; + height: 20px; + margin-left: -15px; + margin-bottom: 0px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #c0c0c0; + box-shadow: 0px 0px 0px 0px #000000 inset; + color: gray; + font-size: 10px; + line-height: 12px; +} + +textarea.sheet-textoequipo { + resize: none; + width: 300px; + height: 62px; + margin-left: -12px; + margin-top: 2px; + margin-bottom: -15px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px -2px 0px 0px #000000 inset; + color: steelblue; + font-size: 10px; + font-style: italic; + line-height: 12px; +} + +textarea.sheet-textohechizos { + resize: none; + width: 315px; + height: 25px; + margin-top: 3px; + margin-bottom: -5px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px -2px 0px 0px #000000 inset; + color:steelblue; + font-size: 10px; + font-style: italic; + line-height: 12px; +} + +textarea.sheet-textoheridas { + resize: none; + height: 36px; + margin-top: 3px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px 0px 0px 0px #696969 inset; + color: #9d6e6e; + font-size: 8px; + text-align: center; + vertical-align: middle; + line-height: 12px; +} + +textarea.sheet-textolocal { + resize: none; + width: 80px; + height: 92px; + margin-left: 10px; + margin-top: -50px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px 0px 0px 0px #696969 inset; + line-height: 12px; + color: #9d6e6e; + font-size: 8px; + text-align: center; + vertical-align: middle; + padding-top: 5px; + padding-bottom: 1px; +} + +textarea.sheet-textonotascaballo { + resize: none; + width: 320px; + height: 40px; + margin-top: 2px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px -2px 0px 0px #000000 inset; + color: steelblue; + font-size: 10px; + font-style: italic; + line-height: 12px; +} + +textarea.sheet-textosecuelas { + resize: none; + width: 160px; + height: 62px; + margin-top: 2px; + margin-bottom: -15px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px -2px 0px 0px #000000 inset; + color: steelblue; + font-size: 10px; + font-style: italic; + line-height: 12px; +} + +textarea.sheet-textotalisman { + resize: none; + width: 315px; + height: 40px; + margin-bottom: -15px; + background-color: transparent; + border-radius: 5px; + border: 1px solid #a58683; + box-shadow: 0px -2px 0px 0px #000000 inset; + color:steelblue; + font-size: 10px; + font-style: italic; + line-height: 12px; +} + + + +/* Roll Template --------------------------------------------------------------------------------------------------------------------------------------------*/ + +/* Smaller margins - remove these if you want the huge default left margin */ +.sheet-rolltemplate-customfw { + margin-left: -37px; +} +.withoutavatars .sheet-rolltemplate-customfw { + margin-left: -7px; +} + +.sheet-rolltemplate-customfw .sheet-container { + border: 1px solid; + /* by default, the border is the same color as the header. You can change this here, e.g. to black */ + border-color: var(--header-bg-color); +} + +/* Header formatting - title and subtitle */ +.sheet-rolltemplate-customfw .sheet-header { + background-color: var(--header-bg-color); + /* change text-align to center to center the header text */ + text-align: left; + color: var(--header-text-color); + padding: 5px; +} +.sheet-rolltemplate-customfw .sheet-title { + font-size:1.1em; +} +.sheet-rolltemplate-customfw .sheet-subtitle { + font-size:.9em; +} + +/* example colors */ +.sheet-rolltemplate-customfw .sheet-container { + /* this is the default color */ + --header-bg-color: rgba(128,0,0,1); + --header-text-color: #FFDEAD; +} +.sheet-rolltemplate-customfw .sheet-container.sheet-color-red { + --header-bg-color: #F00; +} +.sheet-rolltemplate-customfw .sheet-container.sheet-color-green { + --header-bg-color: #0F0; + --header-text-color: #000; +} + +/* Allprops part */ +.sheet-rolltemplate-customfw .sheet-content { + /*display: grid;*/ + background: #FAEBD7; + /* Header formatting - modify the column layout below */ + grid-template-columns: auto auto; + /* Line height to match default roll template */ + line-height:1.4em; + display: flex; + align-items: center; + justify-content: center; +} + +.sheet-rolltemplate-customfw .sheet-content > div { + /*display: inline-block;*/ + padding: 5px; + display: flex; + align-items: center; + justify-content: center; +} + +/* Left column */ +.sheet-rolltemplate-customfw .sheet-content .sheet-key { + font-weight: bold; + padding-right: 10px; + padding-top:10px; + text-align: right; + display: flex; + align-items: center; +} + +/* Empty rule, use this if you want to change the right column +.sheet-rolltemplate-custom .sheet-value { +} +*/ + +/* Make even-numbered rows grey */ +.sheet-rolltemplate-customfw .sheet-content :nth-child(4n+3), +.sheet-rolltemplate-customfw .sheet-content :nth-child(4n) { + background:#EEE; +} + +/* Description field */ +.sheet-rolltemplate-customfw .sheet-desc { + grid-column: span 2; + padding: 5px; + text-align: center; +} + +/* inline roll background is transparent and it has no border */ +.sheet-rolltemplate-customfw .inlinerollresult { + background-color: transparent; + font-size: 30px; + color: gray; + border: none; +} + +/* strong green for crit results for the inline roll */ + .sheet-rolltemplate-customfw .inlinerollresult.fullcrit { + color: #3FB315; + border: none; +} + +/* strong red for fumble results for the inline roll */ + .sheet-rolltemplate-customfw .inlinerollresult.fullfail { + color: #B31515; + border: none; +} + +.sheet-rolltemplate-customfw .inlinerollresult.importantroll { + color: #4682B4; + border: none; +} diff --git a/FarWest_LaLeyenda/FWLY.html b/FarWest_LaLeyenda/FWLY.html new file mode 100644 index 0000000000..08de766858 --- /dev/null +++ b/FarWest_LaLeyenda/FWLY.html @@ -0,0 +1,1277 @@ + + +
    +
    + + +
    +
    + + +
    +
    + + + + + + + +
    + + + + + +
    + + +
    +

    DATOS GENERALES

    + + + + + + + +
    + + +
    + + +

    MODIFICADORES

    + + + + +
    + + +
    +

    CARACTERÍSTICAS

    + + + + +
    + + + + + +
    + + + + + + +
    + + + + + + + + + + +
    + + + + +
    +
    + + + + +
    +

    SALUD

    + +
    + + + + + +
    + +
    + + + + + +
    + + + + + +
    + + + + + + + + +
    +
    + + + + + +
    +

    HABILIDADES GENERALES

    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    + + + + + + + + + +
    +
    + + + + + +
    +

    ARMAS

    + + +
    +
    + +
    +
    +
    + + + + + +
    + +
    +

    Capacidad de carga

    + + + +
    + +
    +

    EQUIPO PERSONAL

    + +
    + +
    +

    Secuelas

    + +
    +
    +
    +
    + +
    + + + + + + +
    + + + + + +
    +

    MONTURAS

    + + +
    + + +
    + + + + + + + + +
    + + + + + + + +
    + + + + + + +
    + + + + + + +
    + + + +
    + + + + + +
    + + +
    + + +
    + + +
    + + + + + + + + +
    + + + + + + + +
    + + + + + + +
    + + + + + + +
    + + + +
    + + + + + +
    + + +
    +
    + + + + + +
    +

    ACTOS DE REPUTACIÓN

    + + +
    +
    + +
    +
    +
    + + + + + +
    +

    MAGIA INDIA

    + +

    PUNTOS DE TOTEM Y TALISMANES

    +
    + + + +
    + +

    HECHIZOS CONOCIDOS

    +
    +
    + + + + +
    + + + + +
    + + + + +
    + +
    + + + + +
    + + + + +
    + + + + +
    +
    + +
    + +
    +
    + + + + +
    + + + + +
    + + + + +
    + +
    + + + + +
    + + + + +
    + + + + +
    +
    + +
    + +
    +
    + + + + +
    + + + + +
    + + + + +
    + +
    + + + + +
    + + + + +
    + + + + +
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + +
    +
    + {{#title}}
    {{title}}
    {{/title}} + {{#subtitle}}
    {{subtitle}}
    {{/subtitle}} +
    +
    + {{#allprops() title subtitle desc color}} +
    {{key}}
    +
    {{habilidad}}
    + {{/allprops() title subtitle desc color}} + {{#desc}}
    {{desc}}
    {{/desc}} +
    +
    +
    + + + + + + + + diff --git a/FarWest_LaLeyenda/FWLYpreview1.png b/FarWest_LaLeyenda/FWLYpreview1.png new file mode 100644 index 0000000000..f5c24a46d1 Binary files /dev/null and b/FarWest_LaLeyenda/FWLYpreview1.png differ diff --git a/FarWest_LaLeyenda/FWLYpreview2.png b/FarWest_LaLeyenda/FWLYpreview2.png new file mode 100644 index 0000000000..e12d339002 Binary files /dev/null and b/FarWest_LaLeyenda/FWLYpreview2.png differ diff --git a/FarWest_LaLeyenda/Imagenes/FWLYbackground.jpg b/FarWest_LaLeyenda/Imagenes/FWLYbackground.jpg new file mode 100644 index 0000000000..813ac46d3b Binary files /dev/null and b/FarWest_LaLeyenda/Imagenes/FWLYbackground.jpg differ diff --git a/FarWest_LaLeyenda/Imagenes/FWLYlogo.png b/FarWest_LaLeyenda/Imagenes/FWLYlogo.png new file mode 100644 index 0000000000..a6c5fc16c6 Binary files /dev/null and b/FarWest_LaLeyenda/Imagenes/FWLYlogo.png differ diff --git a/FarWest_LaLeyenda/sheet.json b/FarWest_LaLeyenda/sheet.json new file mode 100644 index 0000000000..af7fb386c6 --- /dev/null +++ b/FarWest_LaLeyenda/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "FWLY.html", + "css": "FWLY.css", + "authors": "Antonio García Valverde", + "preview": "FWLYpreview1.png", + "roll20userid": "1949987", + "instructions": "Hoja de personaje para Far West La Leyenda" +} \ No newline at end of file diff --git a/Fate/translations/fr.json b/Fate/translations/fr.json index b4455b65fb..790ba53b38 100644 --- a/Fate/translations/fr.json +++ b/Fate/translations/fr.json @@ -168,7 +168,7 @@ "severe": "Sévère", "shotc": "Shadow of the Century", "Shaping": "Shaping", - "Shoot": "Shoot", + "Shoot": "Tirer", "situation-aspect": "Situation Aspect", "situation-aspects": "Situation Aspects", "skill": "Compétence", @@ -246,7 +246,7 @@ "mode-choose": "[Choose a Mode to Add]", "add-modes": "Add a Premade Mode", "battle": "Art de la Guerre", - "talk": "Talk", + "talk": "Parler", "thievery": "Filouterie", "woodcraft": "Woodcraft", "action": "Action", diff --git a/Free Spacer/images/IntegrityThreat.png b/Free Spacer/images/IntegrityThreat.png deleted file mode 100644 index 115c65a293..0000000000 Binary files a/Free Spacer/images/IntegrityThreat.png and /dev/null differ diff --git a/Free Spacer/images/IntegrityThreatFilled.png b/Free Spacer/images/IntegrityThreatFilled.png deleted file mode 100644 index 48bcbe1cee..0000000000 Binary files a/Free Spacer/images/IntegrityThreatFilled.png and /dev/null differ diff --git a/Free Spacer/images/SophontLog.png b/Free Spacer/images/SophontLog.png deleted file mode 100644 index 24da3d54ca..0000000000 Binary files a/Free Spacer/images/SophontLog.png and /dev/null differ diff --git a/Free Spacer/images/behemoth.png b/Free Spacer/images/behemoth.png deleted file mode 100644 index d8dea12056..0000000000 Binary files a/Free Spacer/images/behemoth.png and /dev/null differ diff --git a/Free Spacer/images/compositeSophontLog.png b/Free Spacer/images/compositeSophontLog.png deleted file mode 100644 index 76db239c4a..0000000000 Binary files a/Free Spacer/images/compositeSophontLog.png and /dev/null differ diff --git a/Free Spacer/images/creatureLog.png b/Free Spacer/images/creatureLog.png deleted file mode 100644 index 979d4e6af1..0000000000 Binary files a/Free Spacer/images/creatureLog.png and /dev/null differ diff --git a/Free Spacer/images/damage.png b/Free Spacer/images/damage.png deleted file mode 100644 index 9edb1f84e6..0000000000 Binary files a/Free Spacer/images/damage.png and /dev/null differ diff --git a/Free Spacer/images/resilianceThreat.png b/Free Spacer/images/resilianceThreat.png deleted file mode 100644 index 94e2cbca37..0000000000 Binary files a/Free Spacer/images/resilianceThreat.png and /dev/null differ diff --git a/Free Spacer/images/resilianceThreatFilled.png b/Free Spacer/images/resilianceThreatFilled.png deleted file mode 100644 index 74b0c1d412..0000000000 Binary files a/Free Spacer/images/resilianceThreatFilled.png and /dev/null differ diff --git a/Free Spacer/images/shipLog.png b/Free Spacer/images/shipLog.png deleted file mode 100644 index d92e1ab3f9..0000000000 Binary files a/Free Spacer/images/shipLog.png and /dev/null differ diff --git a/Free Spacer/images/shuttleSquadron.png b/Free Spacer/images/shuttleSquadron.png deleted file mode 100644 index a90572a564..0000000000 Binary files a/Free Spacer/images/shuttleSquadron.png and /dev/null differ diff --git a/Free Spacer/images/swarmLog.png b/Free Spacer/images/swarmLog.png deleted file mode 100644 index bb105caffa..0000000000 Binary files a/Free Spacer/images/swarmLog.png and /dev/null differ diff --git a/FreeSpacer/.vs/Free Spacer/v16/.suo b/FreeSpacer/.vs/Free Spacer/v16/.suo new file mode 100644 index 0000000000..4c89da8322 Binary files /dev/null and b/FreeSpacer/.vs/Free Spacer/v16/.suo differ diff --git a/FreeSpacer/.vs/FreeSpacer/v16/.suo b/FreeSpacer/.vs/FreeSpacer/v16/.suo new file mode 100644 index 0000000000..debf15a809 Binary files /dev/null and b/FreeSpacer/.vs/FreeSpacer/v16/.suo differ diff --git a/FreeSpacer/FreeSpacer.css b/FreeSpacer/FreeSpacer.css index d1d12f77f5..9272054745 100644 --- a/FreeSpacer/FreeSpacer.css +++ b/FreeSpacer/FreeSpacer.css @@ -1,4 +1,6 @@ -/* CSS Reset */ +/*Free Spacer Roll20 Sheet CSS*/ +/******************************/ +/* CSS Reset and Basics */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, @@ -270,7 +272,7 @@ textarea .sheet-sophontSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/SophontLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/SophontLog.png); background-size: 900px 290px; background-repeat: no-repeat; width: 900px; @@ -288,7 +290,7 @@ textarea .sheet-compositeSophontSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/compositeSophontLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/compositeSophontLog.png); background-size: 900px 290px; background-repeat: no-repeat; width: 900px; @@ -306,7 +308,7 @@ textarea .sheet-swarmSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/swarmLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/swarmLog.png); background-size: 900px 340px; background-repeat: no-repeat; width: 900px; @@ -324,7 +326,7 @@ textarea .sheet-droneSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/swarmLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/swarmLog.png); background-size: 900px 340px; background-repeat: no-repeat; width: 900px; @@ -342,7 +344,7 @@ textarea .sheet-creatureSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/creatureLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/creatureLog.png); background-size: 900px 285px; background-repeat: no-repeat; width: 900px; @@ -360,7 +362,7 @@ textarea .sheet-smallCraftSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/creatureLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/creatureLog.png); background-size: 900px 285px; background-repeat: no-repeat; width: 900px; @@ -378,7 +380,7 @@ textarea .sheet-shuttleLogSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/shuttleSquadron.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/shuttleSquadron.png); background-size: 900px 590px; background-repeat: no-repeat; width: 900px; @@ -396,7 +398,7 @@ textarea .sheet-behemothSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/behemoth.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/behemoth.png); background-size: 900px 590px; background-repeat: no-repeat; width: 900px; @@ -414,7 +416,7 @@ textarea .sheet-shipLogSheetGrid { grid-area: sheet; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/shipLog.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/shipLog.png); background-size: 900px 590px; background-repeat: no-repeat; width: 900px; @@ -459,7 +461,7 @@ div.sheet-header div.sheet-title { grid-area: title; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/title.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/title.png); background-size: 400px 100px; background-repeat: no-repeat; background-position: center; @@ -492,11 +494,13 @@ select.sheet-typeSelector /* ************* */ /* Roll Template */ /* ************* */ -.sheet-rolltemplate-FS +.sheet-rolltemplate-FS, +.sheet-rolltemplate-FSShip { } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer + .sheet-rolltemplate-FS .sheet-rolltemplateContainer, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer { display: grid; grid-template-columns: repeat(12, 20px); @@ -508,8 +512,9 @@ select.sheet-typeSelector margin-left: -5px; font-weight: 400; } - /*Template Header*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateHeader + /*Template Header*/ + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateHeader, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateHeader { grid-row: 1/2; grid-column: 1/-1; @@ -523,35 +528,41 @@ select.sheet-typeSelector padding-top: 3px; } /*Rows & Columns*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateTextRows + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateTextRows, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateTextRows { padding-left: 2px; padding-top: 3px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateCol1 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateCol1, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateCol1 { grid-column: 1/7; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateCol2 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateCol2, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateCol2 { grid-column: 7/-1; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateRow1 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateRow1, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateRow1 { grid-row: 2/3; background-color: #414241; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateRow2 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-rolltemplateRow2, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-rolltemplateRow2 { grid-row: 3/4; background-color: #353635; } /*Subheaders*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateSubheader + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateSubheader, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateSubheader { grid-column: 1/-1; color: #d87d29; @@ -560,19 +571,24 @@ select.sheet-typeSelector padding-left: 2px; padding-top: 3px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDiceSubheader + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDiceSubheader, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDiceSubheader { grid-row: 4/6; background-color: #414241; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDiceSubheader + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDiceSubheader, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-threatDiceSubheader { grid-row: 6/8; background-color: #353635; } - + /*Dice*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-dice + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-dice, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-dice { justify-content: stretch; align-content: stretch; @@ -580,20 +596,25 @@ select.sheet-typeSelector height: 20px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .inlinerollresult + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .inlinerollresult { background-color: transparent; - border-color:transparent; + border-color: transparent; font-size: 1em; text-align: center; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDice { grid-row: 5/6; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/taskDieHit.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/taskDieHit.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -601,9 +622,11 @@ select.sheet-typeSelector width: 20px; height: 20px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullfail + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullfail, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullfail { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/taskDieNull.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/taskDieNull.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -611,9 +634,11 @@ select.sheet-typeSelector width: 20px; height: 20px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullcrit + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullcrit, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDice .inlinerollresult.fullcrit { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/taskDieDouble.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/taskDieDouble.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -623,13 +648,16 @@ select.sheet-typeSelector padding: 0; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-threatDice { grid-row: 7/8; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ThreatDieNull.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/ThreatDieNull.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -637,9 +665,11 @@ select.sheet-typeSelector width: 20px; height: 20px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult.fullfail + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult.fullfail, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-threatDice .inlinerollresult.fullfail { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ThreatDieMiss.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/ThreatDieMiss.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -647,108 +677,141 @@ select.sheet-typeSelector width: 20px; height: 20px; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die0 + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die0, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die0 { grid-column: 2/3; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die1 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die1, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die1 { grid-column: 3/4; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die2 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die2, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die2 { grid-column: 4/5; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die3 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die3, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die3 { grid-column: 5/6; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die4 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die4, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die4 { grid-column: 6/7; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die5 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die5, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die5 { grid-column: 7/8; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die6 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die6, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die6 { grid-column: 8/9; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die7 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die7, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die7 { grid-column: 9/10; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die8 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die8, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die8 { grid-column: 10/11; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die9 + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-die9, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-die9 { grid-column: 11/12; } + /*Dice Count*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateDiceCount .inlinerollresult + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateDiceCount .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateDiceCount .inlinerollresult { border: none; font-weight: 400; padding: 0; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDiceCount + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-threatDiceCount, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-threatDiceCount { grid-row: 6/7; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDiceCount + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-taskDiceCount, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-taskDiceCount { grid-row: 4/5; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateExcessDice + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateExcessDice, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateExcessDice { grid-column: 5/-1; padding-top: 2px; font-weight: 400; } - + /*Charge*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateCharge + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateCharge, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateCharge { grid-row: 8/9; background-color: #414241; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateChargeTotal + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateChargeTotal, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateChargeTotal { grid-column: 4/5; padding: 2px 0 0 5px; font-weight: 400; text-align: end; } + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateSupplyHeader, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateSupplyHeader + { + grid-column: 7/-1; + } + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateSupplyTotal, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateSupplyTotal + { + grid-column: 10/11; + } /*Results*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResults + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResults, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateResults { grid-row: 9/10; background-color: #353635; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResultTotal + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResultTotal, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateResultTotal { grid-column: 4/5; padding: 2px 0 0 5px; text-align: end; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResultTotal > .inlinerollresult + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateResultTotal > .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateResultTotal > .inlinerollresult { border: none; font-weight: 400; @@ -756,19 +819,24 @@ select.sheet-typeSelector } /*Outcome*/ - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcome + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcome, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateOutcome { grid-row: 10/11; background-color: #414241; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay { grid-column: 4/-1; padding-left: 5px; padding-top: 3px; font-weight: 400; } - .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay .inlinerollresult + + .sheet-rolltemplate-FS .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay .inlinerollresult, + .sheet-rolltemplate-FSShip .sheet-rolltemplateContainer .sheet-templateOutcomeDisplay .inlinerollresult { border: none; font-weight: 400; @@ -778,6 +846,8 @@ select.sheet-typeSelector /* ************ */ /* Salvo Mode */ /* *********** */ + +/*Salvo Mode Button*/ .sheet-salvoRollButton { position: absolute; @@ -801,17 +871,20 @@ span.sheet-salvoMode vertical-align: central; } + + /* Open Salvo Mode Button*/ input.sheet-salvoRollButton + span.sheet-salvoRollButton { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/salvo.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/salvo.png); background-repeat: no-repeat; background-position: center; opacity: 1; background-size: 60px 44px; } -input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollButton +.sheet-crewmemberSheet input.sheet-salvoRollButton + span.sheet-salvoRollButton, +.sheet-crewmemberSheet input.sheet-salvoRollButton { width: 60px; height: 44px; @@ -819,7 +892,7 @@ input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollB left: 640px; } - input.sheet-salvoRollButton ~ div.sheet-salvoRollTag + .sheet-crewmemberSheet input.sheet-salvoRollButton ~ div.sheet-salvoRollTag { position: absolute; top: 345px; @@ -834,28 +907,53 @@ input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollB line-height: 1em; } - /* Close Salvo Mode Button*/ - input.sheet-salvoRollButton:checked + span.sheet-salvoRollButton +.sheet-shipSheet input.sheet-salvoRollButton + span.sheet-salvoRollButton, +.sheet-shipSheet input.sheet-salvoRollButton +{ + width: 60px; + height: 44px; + top: 222px; + left: 505px; +} + + .sheet-shipSheet input.sheet-salvoRollButton ~ div.sheet-salvoRollTag { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/salvoDeactivate.png); - background-repeat: no-repeat; - background-position: center; - opacity: 1; - background-size: 24px 20px; + position: absolute; + top: 231px; + left: 465px; + display: grid; + font-weight: bold; + font-variant: small-caps; + height: 32px; + width: 40px; + overflow-wrap: break-word; + z-index: 18; + line-height: 1em; } - input.sheet-salvoRollButton:checked + span.sheet-salvoRollButton, input.sheet-salvoRollButton:checked - { - width: 24px; - height: 20px; - top: 172px; - left: 900px; - } - input.sheet-salvoRollButton:checked ~ div.sheet-salvoRollTag - { - display: none; - } +/* Close Salvo Mode Button*/ +input.sheet-salvoRollButton:checked + span.sheet-salvoRollButton +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/salvoDeactivate.png); + background-repeat: no-repeat; + background-position: center; + opacity: 1; + background-size: 24px 20px; +} + +input.sheet-salvoRollButton:checked + span.sheet-salvoRollButton, input.sheet-salvoRollButton:checked +{ + width: 24px; + height: 20px; + top: 172px; + left: 900px; +} + + input.sheet-salvoRollButton:checked ~ div.sheet-salvoRollTag + { + display: none; + } /* ************* */ /* Salvo Widget */ @@ -873,7 +971,7 @@ input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollB width: 950px; height: 2400px; } -/*Blinds stop hade parts color-profile thead sheet*/ + /*Blinds stop hade parts color-profile thead sheet*/ .sheet-salvo .sheet-blinds { position: absolute; @@ -881,54 +979,185 @@ input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollB display: grid; background: rgba(255,255,255,0.8) no-repeat fixed top; } - .sheet-salvo .sheet-blinds.sheet-topBlind - { - grid-row: 1; - grid-column: 1; - width: 950px; - height: 170px; - } - .sheet-salvo .sheet-blinds.sheet-pg2Blind - { - grid-row: -2; - grid-column: 1; - top: 6px; - width: 950px; - height: 1200px; - } - .sheet-salvo .sheet-blinds.sheet-rightSideBlind - { - grid-row: 17; - grid-column: -24; - width: 250px; - height: 430px; - } - .sheet-salvo .sheet-blinds.sheet-skillsBlind - { - grid-row: 17; - grid-column: 1; - width: 710px; - height: 430px; - } - .sheet-salvo .sheet-blinds.sheet-crewKitBlind - { - grid-row: 60; - grid-column: 1; - width: 950px; - height: 620px; - } - /*Blinds functionality*/ -.sheet-colorChanger[value="Choose a Specialty"] + .sheet-skillsBlind, -.sheet-colorChanger:not([value="Choose a Specialty"]) + .sheet-skillsBlind + .sheet-crewKitBlind + +.sheet-crewmemberSheet .sheet-salvo .sheet-blinds.sheet-topBlind +{ + grid-row: 1; + grid-column: 1; + width: 950px; + height: 170px; +} +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-topBlind +{ + grid-row: 1; + grid-column: 1; + width: 950px; + height: 90px; +} + +.sheet-crewmemberSheet .sheet-salvo .sheet-blinds.sheet-pg2Blind +{ + grid-row: -2; + grid-column: 1; + top: 6px; + width: 950px; + height: 1200px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-pg2Blind +{ + grid-row: -42; + grid-column: 1; + width: 950px; + height: 1600px; +} + +.sheet-crewmemberSheet .sheet-salvo .sheet-blinds.sheet-rightSideBlind +{ + grid-row: 17; + grid-column: -24; + width: 250px; + height: 430px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-rightSideBlind +{ + grid-row: 10; + left: 6px; + grid-column: -39; + width: 390px; + height: 325px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-reactorBlind +{ + grid-row: 10; + grid-column: 1; + width: 210px; + height: 160px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-leftSideBlind +{ + grid-row: 26; + grid-column: 1; + width: 210px; + height: 165px; +} + +.sheet-crewmemberSheet .sheet-salvo .sheet-blinds.sheet-skillsBlind +{ + grid-row: 17; + grid-column: 1; + width: 710px; + height: 430px; +} + +.sheet-crewmemberSheet .sheet-salvo .sheet-blinds.sheet-crewKitBlind +{ + grid-row: 60; + grid-column: 1; + width: 950px; + height: 616px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-systemsBlind +{ + grid-row: 10; + grid-column: 22; + width: 355px; + height: 325px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-moduleBlind +{ + grid-row: 63; + margin-top: 6px; + grid-column: 42; + width: 130px; + height: 170px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-moduleTopBlind +{ + grid-row: 42; + grid-column: 1; + width: 540px; + height: 215px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-moduleBottomBlind +{ + grid-row: 63; + margin-top: 6px; + grid-column: 1; + width: 410px; + height: 170px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-rightSideBottomBlind +{ + grid-row: 42; + grid-column: -41; + width: 410px; + height: 45px; +} + +.sheet-shipSheet .sheet-salvo .sheet-blinds.sheet-launchbayBlind +{ + grid-row: 46; + margin-top: 5px; + grid-column: -41; + width: 410px; + height: 350px; +} + +/* Crewmember Blinds functionality*/ +.sheet-crewmemberSheet .sheet-colorChanger[value="Choose a Specialty"] + .sheet-skillsBlind, +.sheet-crewmemberSheet .sheet-colorChanger:not([value="Choose a Specialty"]) + .sheet-skillsBlind + .sheet-crewKitBlind { display: none; } +/* Ship Blinds functionality - Tool Not Selected*/ +.sheet-shipSheet input.sheet-colorChanger:not([value="Select Specialty"]) + input.sheet-colorChanger[value="Choose a Tool"] + div.sheet-systemsBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Choose a Tool"] + .sheet-systemsBlind + .sheet-reactorBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Choose a Tool"] + .sheet-systemsBlind + .sheet-reactorBlind + .sheet-moduleBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Choose a Tool"] + .sheet-systemsBlind + .sheet-reactorBlind + .sheet-moduleBlind + .sheet-launchbayBlind +{ + display: none; +} + +/* Ship Blinds functionality and flow - Launcher Selected*/ +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Launcher"] + .sheet-systemsBlind + .sheet-reactorBlind + .sheet-moduleBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Launcher"] ~ .sheet-chargeSystemDirection +{ + display: none; +} +/* Ship Blinds functionality, flow, and trailer - Launch Bay Selected*/ +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Launch Bay"] + .sheet-systemsBlind + .sheet-reactorBlind + .sheet-moduleBlind + .sheet-launchbayBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value="Launch Bay"] ~ .sheet-chargeSystemDirection +{ + display: none; +} +/* Ship Blinds functionality - A Ship System Selected*/ +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value^="Launch"] + .sheet-systemsBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger[value^="Launch"] + .sheet-systemsBlind + .sheet-reactorBlind +{ + display: grid; +} +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger:not([value^="Launch"]) + .sheet-systemsBlind, +.sheet-shipSheet .sheet-colorChanger:not([value="Select Specialty"]) + .sheet-colorChanger:not([value^="Launch"]) + .sheet-systemsBlind + .sheet-reactorBlind +{ + display: none; +} + +/*Salvo Mode title Box*/ .sheet-salvoTitle { grid-row: 1; grid-column: 42; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/terminal.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/terminal.png); background-repeat: no-repeat; background-position: center; background-size: 200px 32px; @@ -943,95 +1172,318 @@ input.sheet-salvoRollButton + span.sheet-salvoRollButton, input.sheet-salvoRollB width: 200px; height: 32px; z-index: 16; + line-height: 32px; } -.sheet-salvoSkillBox +/*Overlay Box Grids*/ +.sheet-salvoOverlayBox +{ + position: absolute; + display: grid; + grid-template-columns: 1fr 8fr 1fr; + grid-template-rows: 1fr 4fr 2fr 5fr; +} + +.sheet-shuttleSystemBox +{ + position: absolute; + display: none; + grid-row: 50; + grid-column: 37; + grid-template-columns: 10px 20px 1fr 10px; + grid-template-rows: 10px 20px 26px 20px 20px 20px 1fr 1fr; +} + +span.sheet-shuttleModText +{ + font-size: 10px; + color: black; + grid-column: 3; +} + +span.sheet-shuttleSystemDetails +{ + font-size: 10px; + color: black; + grid-row: 3; + grid-column: 2 / span 2; + line-height: 14px; + margin: 0 0 2px 10px; +} + + +span.sheet-shuttleMods, +input.sheet-shuttleMods +{ + grid-column: 2; +} + +span.sheet-shuttleMod1, +input.sheet-shuttleMod1 +{ + grid-row: 4; +} + +span.sheet-shuttleMod2, +input.sheet-shuttleMod2 +{ + grid-row: 5; +} + +span.sheet-shuttleMod3, +input.sheet-shuttleMod3 +{ + grid-row: 6; +} + +/*Crewmember Overlay Box Locations*/ +.sheet-crewmemberSheet .sheet-salvoSkillBox { grid-row: 5; grid-column: 4; } -.sheet-salvoSpecialtyBox +.sheet-crewmemberSheet .sheet-salvoSpecialtyBox { grid-row: 5; grid-column: 62; } -.sheet-salvoToolBox +.sheet-crewmemberSheet .sheet-salvoToolBox { grid-row: 26; grid-column: 31; } -.sheet-salvoChargeBox +.sheet-crewmemberSheet .sheet-salvoChargeBox { grid-row: 45; grid-column: 4; } -.sheet-salvoAdvantageBox +.sheet-crewmemberSheet .sheet-salvoAdvantageBox { grid-row: 26; grid-column: 62; } -.sheet-salvoThreatBox +.sheet-crewmemberSheet .sheet-salvoThreatBox { grid-row: 45; grid-column: 83; } +/*Ship Overlay Box Locations*/ +.sheet-shipSheet .sheet-salvoOperatorBox +{ + grid-row: 6; + margin-top: 4px; + grid-column: 4; +} + +.sheet-shipSheet .sheet-salvoSkillBox +{ + grid-row: 6; + grid-column: 57; + margin-left: 4px; +} + +.sheet-shipSheet .sheet-salvoSpecialtyBox +{ + grid-row: 20; + grid-column: 74; + margin-left: 4px; +} + +.sheet-shipSheet .sheet-salvoToolBox +{ + grid-row: 35; + grid-column: 55; + margin-left: 4px; +} + +.sheet-shipSheet .sheet-salvoTrailer +{ + grid-row: 35; + grid-column: 37; + display: none; +} + +.sheet-shipSheet .sheet-salvoChargeBox +{ + grid-row: 30; + grid-column: 3; +} + +.sheet-shipSheet .sheet-salvoSupplyBox +{ + grid-row: 70; + grid-column: 20; +} + +.sheet-shipSheet .sheet-salvoAdvantageBox +{ + grid-row: 70; + grid-column: 1; +} + +.sheet-shipSheet .sheet-salvoThreatBox +{ + grid-row: 50; + grid-column: 22; +} + input[type=number].sheet-salvoRating { - margin: 2px 30px 0px 30px; + grid-row: 2; + grid-column: 2; align-self: start; justify-self: center; height: 80px; - width: 140px; + width: 100%; font-size: 28px; color: black; font-weight: 500; border: none; } +.sheet-salvoTrailerCheckboxGrid +{ + grid-row: 2; + grid-column: 2; + height: 80px; + width: 100%; + display: grid; + grid-template-columns: 50px 1fr; + grid-template-areas: "checkbox text"; +} + +input.sheet-salvoTrailerCheckbox, +span.sheet-salvoTrailerCheckbox +{ + grid-area: checkbox; + justify-self: center; + align-self: start; + margin: 7px 0 0 10px; + height: 20px; + width: 20px; +} + +input.sheet-salvoTrailerCheckbox +{ + opacity: 0; + z-index: 19; +} + + input.sheet-salvoTrailerCheckbox + span.sheet-salvoTrailerCheckbox + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/HexPip.png); + background-repeat: no-repeat; + background-position: left bottom; + background-size: 16px 16px; + opacity: 1; + z-index: 18; + } + + input.sheet-salvoTrailerCheckbox:checked + span.sheet-salvoTrailerCheckbox + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/HexPipFilled.png); + background-repeat: no-repeat; + background-position: left bottom; + background-size: 16px 16px; + opacity: 1; + z-index: 18; + } + +.sheet-salvoTrailerCheckboxText +{ + grid-area: text; + justify-self: start; + align-self: start; + margin-top: 10px; + font-size: 16px; + font-weight: 400; + color: #404040; + line-height: 20px; +} + +select.sheet-salvoTrailerChoice +{ + grid-row: 2; + grid-column: 2 / span 2; + align-self: center; + justify-self: start; + height: 18px; + width: 100%; + font-size: 16px; + color: black; + font-weight: 500; + text-align: start; + border: none; + font-variant: small-caps; + font-size: 14px; + color: black; + margin: 6px 0 0 5px; +} + + input[type=text].sheet-salvoAttr, -div.sheet-salvoAttr +div.sheet-salvoAttr, +select.sheet-salvoAttr { - margin: 0px 35px 2px 25px; - align-self: end; + grid-row: 3; + grid-column: 2; + align-self: center; justify-self: center; - height: 20px; - width: 140px; - font-size: 16px; + height: 18px; + width: 100%; + font-size: 14px; color: black; font-weight: 500; text-align: center; border: none; } - -/*Change the colour of the Charge text*/ -.sheet-salvoChargeBox .sheet-colorChanger[value="Uncharged"] ~ input, -.sheet-salvoChargeBox .sheet-colorChanger[value="Expended"] ~ input + input[type=text].sheet-salvoAttr.sheet-salvoOperator, + div.sheet-salvoAttr.sheet-salvoOperator, + select.sheet-salvoAttr.sheet-salvoOperator + { + margin-top: 8px; + } + /*Change the colour of the Charge text*/ +.sheet-salvoChargeBox .sheet-colorChanger[value="Uncharged"] + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="Uncharged"] + input + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="Expended"] + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="Expended"] + input + input, +.sheet-salvoSupplyBox .sheet-colorChanger[value="Expended"] + input, +.sheet-salvoSupplyBox .sheet-colorChanger[value="Expended"] + input + input { color: white; } -.sheet-salvoChargeBox .sheet-colorChanger[value="Overcharged"] ~ input, -.sheet-salvoChargeBox .sheet-colorChanger[value="NF 2 Charge"] ~ input + +.sheet-salvoChargeBox .sheet-colorChanger[value="Overcharged"] + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="Overcharged"] + input + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="NF 2 Charge"] + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="NF 2 Charge"] + input + input { color: #a8611f; } -.sheet-salvoChargeBox .sheet-colorChanger[value="Insufficient Charge"] ~ input + +.sheet-salvoChargeBox .sheet-colorChanger[value="Insufficient Charge"] + input, +.sheet-salvoChargeBox .sheet-colorChanger[value="Insufficient Charge"] + input + input, +.sheet-salvoSupplyBox .sheet-colorChanger[value="Insufficient Supply"] + input, +.sheet-salvoSupplyBox .sheet-colorChanger[value="Insufficient Supply"] + input + input { color: #8a0a00; } input[type=number].sheet-salvoThreatRating { - margin: 2px 5px 0px 15px; + grid-row: 2; + grid-column: 2; align-self: start; justify-self: center; height: 60px; - width: 90px; + width: 100%; font-size: 28px; color: black; font-weight: 500; @@ -1040,11 +1492,12 @@ input[type=number].sheet-salvoThreatRating div.sheet-salvoThreatAttr { - margin: 0px 10px 2px 10px; + grid-row: 3; + grid-column: 2; align-self: end; justify-self: center; - height: 20px; - width: 90px; + height: 18px; + width: 100%; font-size: 16px; color: black; font-weight: 500; @@ -1054,7 +1507,7 @@ div.sheet-salvoThreatAttr .sheet-inputBox { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Input_blue.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Input_blue.png); background-repeat: no-repeat; background-position: center; background-size: 200px 110px; @@ -1062,16 +1515,19 @@ div.sheet-salvoThreatAttr height: 110px; z-index: 16; } + .sheet-colorChanger[value="Choose a Skill"] + .sheet-inputBox, .sheet-colorChanger[value="Choose a Specialty"] + .sheet-inputBox, -.sheet-colorChanger[value="Choose a Tool"] + .sheet-inputBox +.sheet-colorChanger[value="Choose a Tool"] + .sheet-inputBox, +.sheet-colorChanger[value="Select Operator"] + .sheet-inputBox, +.sheet-colorChanger[value="Choose a Trailer"] + .sheet-inputBox { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Input_orange.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Input_orange.png); } .sheet-processBox { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Process_blue.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Process_blue.png); background-repeat: no-repeat; background-position: center; background-size: 200px 110px; @@ -1082,7 +1538,7 @@ div.sheet-salvoThreatAttr .sheet-offPage { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/offPage_blue.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/offPage_blue.png); background-repeat: no-repeat; background-position: center; background-size: 110px 110px; @@ -1091,14 +1547,71 @@ div.sheet-salvoThreatAttr z-index: 16; } +.sheet-offPageBig +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/offPageBig_blue.png); + background-repeat: no-repeat; + background-position: center; + background-size: 165px 165px; + width: 165px; + height: 165px; + z-index: 16; +} + +.sheet-colorChanger[value="Select Skill"] + .sheet-offPageBig, +.sheet-colorChanger[value="Select Specialty"] + .sheet-offPageBig +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/offPageBig_orange.png); +} + + +.sheet-preparationBox +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/preperation_blue.png); + background-repeat: no-repeat; + background-position: center; + background-size: 200px 34px; + width: 200px; + height: 34px; + z-index: 16; +} + +.sheet-colorChanger[value="Choose Operator"] + .sheet-preparationBox +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/preperation_orange.png); +} + +.sheet-selectionBox +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Selection_blue.png); + background-repeat: no-repeat; + background-position: center; + background-size: 200px 238px; + width: 200px; + height: 238px; + z-index: 16; +} + +.sheet-colorChanger[value="Select System"] + .sheet-selectionBox +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Selection_orange.png); +} + /*Roll Button*/ -.sheet-rollSalvoButton +.sheet-crewmemberSheet .sheet-rollSalvoButton { position: absolute; grid-row: 45; grid-column: 67; } +.sheet-shipSheet .sheet-rollSalvoButton +{ + position: absolute; + grid-row: 50; + grid-column: 6; +} + button.sheet-rollSalvoButton { margin-top: 5px; @@ -1113,7 +1626,7 @@ button.sheet-rollSalvoButton button.sheet-rollSalvoButton + span.sheet-rollSalvoButton { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/rollHex.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/rollHex.png); background-repeat: no-repeat; background-position: center; background-size: 80px 92px; @@ -1121,6 +1634,7 @@ button.sheet-rollSalvoButton width: 80px; height: 92px; } + button.sheet-rollSalvoButton + span.sheet-rollSalvoButton + span.sheet-rollSalvoButton { z-index: 18; @@ -1137,18 +1651,25 @@ button.sheet-rollSalvoButton button.sheet-rollSalvoButton:hover + span.sheet-rollSalvoButton { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/rollHexHover.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/rollHexHover.png); font-weight: 600; } /* Spend Charge and Close Salvo Mode Button*/ -.sheet-spendChargeCloseSalvoMode +.sheet-crewmemberSheet .sheet-spendChargeCloseSalvoMode { position: absolute; grid-row: 55; grid-column: 62; } +.sheet-shipSheet .sheet-spendChargeCloseSalvoMode +{ + position: absolute; + grid-row: 60; + grid-column: 1; +} + input.sheet-spendChargeCloseSalvoMode { z-index: 19; @@ -1159,7 +1680,7 @@ input.sheet-spendChargeCloseSalvoMode span.sheet-spendChargeCloseSalvoMode { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/terminal_orange.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/terminal_orange.png); background-repeat: no-repeat; background-position: center; background-size: 200px 32px; @@ -1169,7 +1690,7 @@ span.sheet-spendChargeCloseSalvoMode line-height: 32px; text-align: center; font-size: 20px; - font-weight:600; + font-weight: 600; color: black; } @@ -1185,25 +1706,35 @@ input[type="checkbox"].sheet-salvoRollButton:checked ~ div.sheet-salvo display: grid; } -/*Skill deselect button*/ -.sheet-skillDeselect +/*Deselect buttons*/ +.sheet-skillDeselect, +.sheet-specialtyDeselect, +.sheet-toolDeselect, +.sheet-operatorDeselect, +.sheet-trailerDeselect { position: absolute; width: 12px; height: 10px; - grid-row: 5; - grid-column: 24; } -input.sheet-skillDeselect +input.sheet-skillDeselect, +input.sheet-specialtyDeselect, +input.sheet-toolDeselect, +input.sheet-operatorDeselect, +input.sheet-trailerDeselect { opacity: 0; z-index: 19; } - input.sheet-skillDeselect:not(:checked) + span.sheet-skillDeselect + input.sheet-skillDeselect:not(:checked) + span.sheet-skillDeselect, + input.sheet-specialtyDeselect:not(:checked) + span.sheet-specialtyDeselect, + input.sheet-toolDeselect:not(:checked) + span.sheet-toolDeselect, + input.sheet-operatorDeselect:not(:checked) + span.sheet-operatorDeselect, + input.sheet-trailerDeselect:not(:checked) + span.sheet-trailerDeselect { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/salvoDeactivate.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/salvoDeactivate.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -1211,23 +1742,181 @@ input.sheet-skillDeselect z-index: 18; } - input.sheet-skillDeselect:checked + span.sheet-skillDeselect, - input.sheet-skillDeselect:checked, - input.sheet-skillDeselect:not(:checked) ~ div.sheet-skillDirection, - input.sheet-skillDeselect:not(:checked) ~ .sheet-skillSelector, - input.sheet-skillDeselect:checked ~ .sheet-specialtyFlow, - input.sheet-skillDeselect:checked ~ .sheet-salvoSpecialtyBox, - input.sheet-skillDeselect:checked ~ .sheet-specialtySelector, - input.sheet-skillDeselect:checked ~ .sheet-specialtyDeselect, - input.sheet-skillDeselect:checked ~ .sheet-salvoToolBox, - input.sheet-skillDeselect:checked ~ .sheet-salvoChargeBox, - input.sheet-skillDeselect:checked ~ .sheet-chargeCrewKitDirection, - input.sheet-skillDeselect:checked ~ .sheet-toolDeselect, - input.sheet-skillDeselect:checked ~ .sheet-crewKitSelect, - input.sheet-skillDeselect:checked ~ .sheet-crewKitMods - { - display: none; - } +.sheet-crewmemberSheet .sheet-skillDeselect +{ + grid-row: 5; + grid-column: 23; +} + +.sheet-shipSheet .sheet-skillDeselect +{ + grid-row: 5; + margin-top: 8px; + grid-column: 74; +} + +.sheet-crewmemberSheet .sheet-specialtyDeselect +{ + grid-row: 5; + grid-column: 81; +} + +.sheet-shipSheet .sheet-specialtyDeselect +{ + grid-row: 19; + margin-top: 8px; + grid-column: -5; +} +.sheet-crewmemberSheet .sheet-toolDeselect +{ + grid-row: 26; + grid-column: 50; +} + +.sheet-shipSheet .sheet-toolDeselect +{ + grid-row: 35; + grid-column: 74; + margin-left: 3px; +} + +.sheet-shipSheet .sheet-trailerDeselect +{ + grid-row: 35; + grid-column: 56; +} + +.sheet-shipSheet .sheet-operatorDeselect +{ + grid-row: 6; + margin-top: 2px; + grid-column: 24; +} + +/*Skill on/off functionality - Skill not Selected*/ +input.sheet-skillDeselect:checked + span.sheet-skillDeselect, +input.sheet-skillDeselect:checked, +input.sheet-skillDeselect:checked ~ .sheet-specialtyFlow, +input.sheet-skillDeselect:checked ~ .sheet-salvoSpecialtyBox, +input.sheet-skillDeselect:checked ~ .sheet-specialtySelector, +input.sheet-skillDeselect:checked ~ .sheet-specialtyDeselect, +input.sheet-skillDeselect:checked ~ .sheet-salvoToolBox, +input.sheet-skillDeselect:checked ~ .sheet-salvoChargeBox, +input.sheet-skillDeselect:checked ~ .sheet-salvoSupplyBox, +input.sheet-skillDeselect:checked ~ .sheet-chargeCrewKitDirection, +input.sheet-skillDeselect:checked ~ .sheet-chargeSystemDirection, +input.sheet-skillDeselect:checked ~ .sheet-toolDeselect, +input.sheet-skillDeselect:checked ~ .sheet-toolSelector, +input.sheet-skillDeselect:checked ~ .sheet-crewKitMods +{ + display: none; +} +/*Skill on/off functionality - Skill Selected*/ +input.sheet-skillDeselect:not(:checked) ~ div.sheet-skillDirection, +input.sheet-skillDeselect:not(:checked) ~ .sheet-skillSelector +{ + display: none; +} +/*Operator on/off functionality - Operator NOT Selected*/ +input.sheet-operatorDeselect:checked + span.sheet-operatorDeselect, +input.sheet-operatorDeselect:checked, +input.sheet-operatorDeselect:checked ~ div.sheet-skillDirection, +input.sheet-operatorDeselect:checked ~ div.sheet-salvoSkillBox, +input.sheet-operatorDeselect:checked ~ .sheet-specialtyFlow, +input.sheet-operatorDeselect:checked ~ .sheet-salvoSpecialtyBox, +input.sheet-operatorDeselect:checked ~ .sheet-specialtySelector, +input.sheet-operatorDeselect:checked ~ .sheet-specialtyDeselect, +input.sheet-operatorDeselect:checked ~ .sheet-salvoToolBox, +input.sheet-operatorDeselect:checked ~ .sheet-salvoChargeBox, +input.sheet-operatorDeselect:checked ~ .sheet-salvoSupplyBox, +input.sheet-operatorDeselect:checked ~ .sheet-chargeSystemDirection, +input.sheet-operatorDeselect:checked ~ .sheet-toolDeselect, +input.sheet-operatorDeselect:checked ~ .sheet-toolSelector, +input.sheet-operatorDeselect:checked ~ .sheet-crewKitMods +{ + display: none; +} +/*Operator on/off functionality - Operator Selected*/ +input.sheet-operatorDeselect:not(:checked) ~ div.sheet-operatorDirection, +input.sheet-operatorDeselect:not(:checked) ~ div.sheet-salvoOperatorBG, +input.sheet-operatorDeselect:not(:checked) ~ .sheet-operatorSelector +{ + display: none; +} +/*Operator on/off functionality - No Operator Found*/ +input.sheet-colorChanger[value="No Operator Found"] ~ .sheet-operatorSelector +{ + display: none; +} +/*Specialty on/off functionalty*/ +input.sheet-specialtyDeselect:checked + span.sheet-specialtyDeselect, +input.sheet-specialtyDeselect:checked, +input.sheet-specialtyDeselect:not(:checked) ~ div.sheet-specialtyFlow, +input.sheet-specialtyDeselect:not(:checked) ~ .sheet-specialtySelector, +input.sheet-specialtyDeselect:checked ~ .sheet-salvoSpecialtyBox, +input.sheet-specialtyDeselect:checked ~ .sheet-salvoToolBox, +input.sheet-specialtyDeselect:checked ~ .sheet-salvoChargeBox, +input.sheet-specialtyDeselect:checked ~ .sheet-salvoSupplyBox, +input.sheet-specialtyDeselect:checked ~ .sheet-chargeCrewKitDirection, +input.sheet-specialtyDeselect:checked ~ .sheet-chargeSystemDirection, +input.sheet-specialtyDeselect:checked ~ .sheet-toolDeselect, +input.sheet-specialtyDeselect:checked ~ .sheet-toolSelector, +input.sheet-specialtyDeselect:checked ~ .sheet-crewKitMods, +.sheet-crewmemberSheet input.sheet-specialtyDeselect:checked ~ .sheet-toolCrewKitDirection, +.sheet-shipSheet input.sheet-specialtyDeselect:checked ~ .sheet-toolShipDirection +{ + display: none; +} + +/*A Tool Selected*/ +.sheet-crewmemberSheet input.sheet-toolDeselect:not(:checked) ~ .sheet-toolCrewKitDirection, +.sheet-crewmemberSheet input.sheet-toolDeselect:not(:checked) ~ .sheet-toolShipDirection, +input.sheet-toolDeselect:not(:checked) ~ .sheet-toolSelector +{ + display: none; +} + +/*No tool selected*/ +input.sheet-toolDeselect:checked + span.sheet-toolDeselect, +input.sheet-toolDeselect:checked, +input.sheet-toolDeselect:checked ~ .sheet-salvoAdvantageBox, +input.sheet-toolDeselect:checked ~ .sheet-advantageDirection, +input.sheet-toolDeselect:checked ~ .sheet-rollSalvoButton, +input.sheet-toolDeselect:checked ~ .sheet-spendChargeCloseSalvoMode, +input.sheet-toolDeselect:checked ~ .sheet-salvoChargeBox, +input.sheet-toolDeselect:checked ~ .sheet-salvoSupplyBox, +input.sheet-toolDeselect:checked ~ .sheet-chargeCrewKitDirection, +input.sheet-toolDeselect:checked ~ .sheet-chargeSystemDirection, +input.sheet-toolDeselect:checked ~ .sheet-salvoTrailer, +input.sheet-toolDeselect:checked ~ .sheet-salvoThreatBox, +input.sheet-toolDeselect:checked ~ .sheet-threatDirection +{ + display: none; +} + +/*Hide Charge or Supply box by tool*/ +.sheet-shipSheet input.sheet-colorChanger[value="Launcher"] + div.sheet-salvoChargeBox, +.sheet-shipSheet input.sheet-colorChanger[value="Sensors"] + div.sheet-salvoSupplyBox, +.sheet-shipSheet input.sheet-colorChanger[value="Grav Drive"] + div.sheet-salvoSupplyBox, +.sheet-shipSheet input.sheet-colorChanger[value="Pulse Array"] + div.sheet-salvoSupplyBox, +.sheet-shipSheet input.sheet-colorChanger[value="Shields"] + div.sheet-salvoSupplyBox +{ + display: none; +} + +/*Reveal Trailer*/ +.sheet-shipSheet input.sheet-colorChanger[value="Launch Bay"] ~ .sheet-salvoTrailer +{ + display: grid; +} + +/*Hide Trailers once selected*/ +input.sheet-trailerDeselect:checked + span.sheet-trailerDeselect, +input.sheet-trailerDeselect:checked, +input.sheet-trailerDeselect:not(:checked) ~ .sheet-shuttleTrailers +{ + display: none; +} /*Skill Selectors*/ .sheet-skillSelector @@ -1247,7 +1936,7 @@ input.sheet-skillSelector span.sheet-skillSelector { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/skillSelector.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/skillSelector.png); background-repeat: no-repeat; background-position: center; background-size: 162px 13px; @@ -1255,47 +1944,6 @@ span.sheet-skillSelector z-index: 18; } -/*Specialty deselect button*/ -.sheet-specialtyDeselect -{ - position: absolute; - width: 12px; - height: 10px; - grid-area: 5/82/6/83; -} - -input.sheet-specialtyDeselect -{ - opacity: 0; - z-index: 19; -} - - input.sheet-specialtyDeselect:not(:checked) + span.sheet-specialtyDeselect - { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/salvoDeactivate.png); - background-repeat: no-repeat; - background-position: center; - opacity: 1; - background-size: 12px 10px; - z-index: 18; - } - - input.sheet-specialtyDeselect:checked + span.sheet-specialtyDeselect, - input.sheet-specialtyDeselect:checked, - input.sheet-specialtyDeselect:not(:checked) ~ div.sheet-specialtyFlow, - input.sheet-specialtyDeselect:not(:checked) ~ .sheet-specialtySelector, - input.sheet-specialtyDeselect:checked ~ .sheet-salvoSpecialtyBox, - input.sheet-specialtyDeselect:checked ~ .sheet-salvoToolBox, - input.sheet-specialtyDeselect:checked ~ .sheet-salvoChargeBox, - input.sheet-specialtyDeselect:checked ~ .sheet-chargeCrewKitDirection, - input.sheet-specialtyDeselect:checked ~ .sheet-toolDeselect, - input.sheet-specialtyDeselect:checked ~ .sheet-crewKitSelect, - input.sheet-specialtyDeselect:checked ~ .sheet-crewKitMods, - input.sheet-specialtyDeselect:checked ~ .sheet-toolCrewKitDirection - { - display: none; - } - /* Specialty Hiding Functionality */ input.sheet-cultureSkill:not(:checked) ~ .sheet-cultureSpecialties, input.sheet-economySkill:not(:checked) ~ .sheet-economySpecialties, @@ -1333,7 +1981,7 @@ input.sheet-specialtySelector span.sheet-specialtySelector { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/specialtySelector.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/specialtySelector.png); background-repeat: no-repeat; background-position: center; background-size: 204px 13px; @@ -1348,6 +1996,7 @@ span.sheet-communicationsSelect grid-column: 3; margin-left: 3px; } + input[type=radio].sheet-communicationsSelect.sheet-specialtySelector, span.sheet-communicationsSelect.sheet-specialtySelector { @@ -1361,6 +2010,7 @@ span.sheet-operationsSelect grid-column: 26; margin-left: 0px; } + input[type=radio].sheet-operationsSelect.sheet-specialtySelector, span.sheet-operationsSelect.sheet-specialtySelector { @@ -1374,6 +2024,7 @@ span.sheet-engineeringSelect grid-column: 48; margin-left: 7px; } + input[type=radio].sheet-engineeringSelect.sheet-specialtySelector, span.sheet-engineeringSelect.sheet-specialtySelector { @@ -1523,62 +2174,127 @@ span.sheet-specialty15Select margin-top: 4px; } -/*Tool deselection buttons*/ -.sheet-toolDeselect +/*Operator Selector*/ +div.sheet-salvoOperatorBG { position: absolute; - width: 12px; - height: 10px; - grid-row: 26; - grid-column: 51; + width: 250px; + height: 40px; + z-index: 16; + margin-left: 16px; + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 20px 20px; + grid-template-areas: "name name" "stationA stationZ"; } -input.sheet-toolDeselect +input.sheet-salvoOperatorName { - opacity: 0; - z-index: 19; + grid-area: name; + align-self: end; + justify-self: start; + height: 100%; + width: 100%; + font-size: 16px; + color: black; + font-weight: 500; + text-align: left; + border: none; } -input.sheet-crewKitDeselect:not(:checked) + span.sheet-crewKitDeselect +input.sheet-salvoOperatorStationA { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/salvoDeactivate.png); - background-repeat: no-repeat; - background-position: center; - opacity: 1; - background-size: 12px 10px; - z-index: 18; + grid-area: stationA; + align-self: start; + justify-self: start; + height: 100%; + width: 100%; + font-size: 14px; + color: black; + font-weight: 500; + text-align: left; + border: none; } -input.sheet-crewKitDeselect:checked + span.sheet-crewKitDeselect, -input.sheet-crewKitDeselect:checked, -input.sheet-crewKitDeselect:not(:checked) ~ .sheet-toolCrewKitDirection, -input.sheet-crewKitDeselect:not(:checked) ~ .sheet-crewKitSelect +input.sheet-salvoOperatorStationZ +{ + grid-area: stationZ; + align-self: start; + justify-self: start; + height: 100%; + width: 100%; + font-size: 14px; + color: black; + font-weight: 500; + text-align: left; + border: none; +} + +div.sheet-salvoOperatorCol1, +input[type=radio].sheet-salvoOperatorCol1, +span.sheet-salvoOperatorCol1 +{ + grid-column: 3; +} + +div.sheet-salvoOperatorCol2, +input[type=radio].sheet-salvoOperatorCol2, +span.sheet-salvoOperatorCol2 +{ + grid-column: 35; +} + +div.sheet-salvoOperatorCol3, +input[type=radio].sheet-salvoOperatorCol3, +span.sheet-salvoOperatorCol3 +{ + grid-column: 65; +} + +div.sheet-salvoOperatorRow1, +input[type=radio].sheet-salvoOperatorRow1, +span.sheet-salvoOperatorRow1 +{ + grid-row: 12; + margin-top: 0px; +} + +div.sheet-salvoOperatorRow2, +input[type=radio].sheet-salvoOperatorRow2, +span.sheet-salvoOperatorRow2 +{ + grid-row: 22; + margin-top: 0px; +} + +div.sheet-salvoOperatorRow3, +input[type=radio].sheet-salvoOperatorRow3, +span.sheet-salvoOperatorRow3 +{ + grid-row: 32; + margin-top: 0px; +} + +/*Operator Selector On/Off Functionality*/ +input.sheet-colorChanger[value=""] + div.sheet-salvoOperatorBG, +input.sheet-colorChanger[value=""] + div.sheet-salvoOperatorBG + input, +input.sheet-colorChanger[value=""] + div.sheet-salvoOperatorBG + input + span { display: none; } -input.sheet-toolDeselect:checked ~ .sheet-salvoAdvantageBox, -input.sheet-toolDeselect:checked ~ .sheet-advantageDirection, -input.sheet-toolDeselect:checked ~ .sheet-rollSalvoButton, -input.sheet-toolDeselect:checked ~ .sheet-spendChargeCloseSalvoMode, -input.sheet-toolDeselect:checked ~ .sheet-salvoChargeBox, -input.sheet-toolDeselect:checked ~ .sheet-chargeCrewKitDirection, -input.sheet-toolDeselect:checked ~ .sheet-salvoThreatBox, -input.sheet-toolDeselect:checked ~ .sheet-threatDirection -{ - display: none; -} - - -/*Crew Kit Selectors*/ -.sheet-crewKitSelect +/*Tool Selectors*/ +.sheet-toolSelector, +.sheet-operatorSelector, +.sheet-shuttleTrailers { position: absolute; width: 170px; height: 15px; } -input.sheet-crewKitSelect +input.sheet-toolSelector, +input.sheet-shuttleTrailers { opacity: 0; border: none; @@ -1588,9 +2304,21 @@ input.sheet-crewKitSelect height: 15px; } -span.sheet-crewKitSelect +input.sheet-operatorSelector { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitToolSelector.png); + opacity: 0; + border: none; + z-index: 19; + line-height: 15px; + width: 267px; + height: 40px; +} + +span.sheet-toolSelector, +span.sheet-operatorSelector, +span.sheet-shuttleTrailers +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitToolSelector.png); background-repeat: no-repeat; background-position: left; background-size: 13px 13px; @@ -1599,18 +2327,36 @@ span.sheet-crewKitSelect justify-self: start; } -span.sheet-otherToolBackground +span.sheet-otherToolLocation { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/otherTool.png); - background-repeat: no-repeat; - background-position: left; - background-size: 185px 315px; - opacity: 1; - z-index: 8; - width: 185px; - height: 315px; grid-row: 64; grid-column: 76; +} + +span.sheet-otherToolBackground, +div.sheet-otherToolBackground +{ + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/otherTool.png); + background-repeat: no-repeat; + background-position: left; + background-size: 169px 149px; + opacity: 1; + z-index: 12; + width: 169px; + height: 149px; + margin: 2px 0 0 3px; +} + +span.sheet-otherToolBlind +{ + position: absolute; + z-index: 11; + display: grid; + background: rgba(255,255,255,1) no-repeat fixed top; + background-size: 185px 315px; + opacity: 1; + width: 185px; + height: 315px; margin: 2px 0 0 3px; } @@ -1618,7 +2364,7 @@ span.sheet-otherToolTitle { background-image: none; opacity: 1; - z-index: 9; + z-index: 13; font-variant: small-caps; font-size: 14px; color: black; @@ -1631,7 +2377,7 @@ span.sheet-otherToolDetails { background-image: none; opacity: 1; - z-index: 9; + z-index: 13; font-size: 10px; color: black; grid-row: 66; @@ -1693,6 +2439,7 @@ span.sheet-crewKit1 grid-column: 21; margin-left: 4px; } + input[type=radio].sheet-crewKit2, span.sheet-crewKit2 { @@ -1714,6 +2461,147 @@ span.sheet-crewKit4 margin-left: 8px; } +/*Ship System Tool Locations*/ +input[type=radio].sheet-systemTop, +span.sheet-systemTop +{ + grid-row: 11; + margin-top: 0px; +} + +input[type=radio].sheet-systemBottom, +span.sheet-systemBottom +{ + grid-row: 27; + margin-top: 0px; +} + +input[type=radio].sheet-system1, +span.sheet-system1 +{ + grid-column: 21; + margin-left: 6px; +} + +input[type=radio].sheet-system2, +span.sheet-system2 +{ + grid-column: 39; + margin-left: 6px; +} + +/*Ship Module Launcher Location*/ +input[type=radio].sheet-shipLauncher, +span.sheet-shipLauncher +{ + grid-row: 64; + grid-column: 42; + margin: 2px 0 0 3px; +} + +/*Shuttle Launch Bay Locations*/ +input[type=radio].sheet-shipLaunchBay, +span.sheet-shipLaunchBay +{ + grid-row: 47; + grid-column: 55; + margin: 2px 0 0 1px; +} + +/*Trailers*/ +input[type=radio].sheet-shuttleTrailers, +span.sheet-shuttleTrailers +{ + grid-column: 54; + margin-left: 6px; +} + +input[type=radio].sheet-trailerNone, +span.sheet-trailerNone +{ + grid-row: 51; + margin-top: 1px; +} + +input[type=radio].sheet-trailerCargo, +span.sheet-trailerCargo +{ + grid-row: 64; + margin-top: 3px; +} + +input[type=radio].sheet-trailerTransport, +span.sheet-trailerTransport +{ + grid-row: 65; + margin-top: 7px; +} + +input[type=radio].sheet-trailerFlight, +span.sheet-trailerFlight +{ + grid-row: 67; + margin-top: 2px; +} + +input[type=radio].sheet-trailerDrop, +span.sheet-trailerDrop +{ + grid-row: 68; + margin-top: 7px; +} + +input[type=radio].sheet-trailerBoarding, +span.sheet-trailerBoarding +{ + grid-row: 70; + margin-top: 2px; +} + +input[type=radio].sheet-trailerTractor, +span.sheet-trailerTractor +{ + grid-row: 71; + margin-top: 8px; +} + +input[type=radio].sheet-trailerSurvey, +span.sheet-trailerSurvey +{ + grid-row: 73; + margin-top: 4px; +} + +input[type=radio].sheet-trailerFighter, +span.sheet-trailerFighter +{ + grid-row: 74; + margin-top: 8px; +} + +/*Shuttle Systems Selection On/Off Functionality*/ +input.sheet-shuttleSystemChanger[value="None"] + div.sheet-tugTrailer, +input.sheet-shuttleSystemChanger[value="Cargo"] + div.sheet-tugTrailer, +input.sheet-shuttleSystemChanger[value="Transport"] + div.sheet-tugTrailer, +input.sheet-shuttleSystemChanger[value="Drop"] + div.sheet-tugTrailer, +input.sheet-shuttleSystemChanger[value="Flight"] + div.sheet-flightTrailer, +input.sheet-shuttleSystemChanger[value="Boarding"] + div.sheet-boardingTrailer, +input.sheet-shuttleSystemChanger[value="Tractor"] + div.sheet-tractorTrailer, +input.sheet-shuttleSystemChanger[value="Survey"] + div.sheet-surveyTrailer, +input.sheet-shuttleSystemChanger[value="Fighter"] + div.sheet-fighterTrailer +{ + display: grid; +} + +/*Shuttle System Mods Select On/Off Functionality*/ +div.sheet-shuttleSystemBox > input.sheet-shuttleModChanger:not([value="Pulse Drive"]) ~ .sheet-salvoShuttlePulseDrive, +div.sheet-shuttleSystemBox > input.sheet-shuttleModChanger:not([value="Shields"]) ~ .sheet-salvoShuttleShields, +div.sheet-shuttleSystemBox > input.sheet-shuttleModChanger:not([value="Pulse Array"]) ~ .sheet-salvoShuttlePulseArray, +div.sheet-shuttleSystemBox > input.sheet-shuttleModChanger:not([value="Sensors"]) ~ .sheet-salvoShuttleSensors +{ + display: none; +} + /*Crew Kit Tool Selected*/ input.sheet-crewKitScanner:not(:checked) ~ .sheet-crewKitScannerMods, input.sheet-crewKitBioChemKit:not(:checked) ~ .sheet-crewKitBioChemKitMods, @@ -1726,6 +2614,17 @@ input.sheet-crewKitAssociations:not(:checked) ~ .sheet-crewKitAssociationMods display: none; } +/*Ship Tool Selected*/ +input.sheet-shipSensors:not(:checked) ~ .sheet-shipSensorsMods, +input.sheet-shipGravDrive:not(:checked) ~ .sheet-shipGravDriveMods, +input.sheet-shipPulseArray:not(:checked) ~ .sheet-shipPulseArrayMods, +input.sheet-shipShields:not(:checked) ~ .sheet-shipShieldsMods, +input.sheet-shipLauncher:not(:checked) ~ .sheet-shipLauncherMods, +input.sheet-shipLaunchBay:not(:checked) ~ .sheet-shuttleTrailers +{ + display: none; +} + /*Crew Kit Mods Selectors*/ .sheet-crewKitMods { @@ -1753,7 +2652,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods + span.sheet-crewKitMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitMod.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitMod.png); background-repeat: no-repeat; background-position: left; background-size: 180px 13px; @@ -1763,7 +2662,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods:checked + span.sheet-crewKitMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitModChecked.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitModChecked.png); background-repeat: no-repeat; background-position: left; background-size: 180px 13px; @@ -1773,7 +2672,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods + span.sheet-crewKitAugmentationMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitAugmentationMod.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitAugmentationMod.png); background-repeat: no-repeat; background-position: left; background-size: 190px 13px; @@ -1783,7 +2682,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods:checked + span.sheet-crewKitAugmentationMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitAugmentationModChecked.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitAugmentationModChecked.png); background-repeat: no-repeat; background-position: left; background-size: 190px 13px; @@ -1793,7 +2692,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods + span.sheet-crewKitAssociationMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitAssociationMod.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitAssociationMod.png); background-repeat: no-repeat; background-position: left; background-size: 430px 13px; @@ -1803,7 +2702,7 @@ input.sheet-crewKitMods input.sheet-crewKitMods:checked + span.sheet-crewKitAssociationMods { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewKitAssociationModChecked.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitAssociationModChecked.png); background-repeat: no-repeat; background-position: left; background-size: 430px 13px; @@ -2119,18 +3018,274 @@ span.sheet-crewKitAssociation20 margin-top: 0; } +/*Ship System Mods Selectors*/ +.sheet-shipSystemMods +{ + position: absolute; + width: 180px; + height: 13px; +} + +.sheet-shipModuleMods, +.sheet-shuttleMods +{ + position: absolute; + width: 130px; + height: 13px; +} + +input.sheet-shipSystemMods, +input.sheet-shipModuleMods, +input.sheet-shuttleMods +{ + opacity: 0; + border: none; + z-index: 19; +} + + input.sheet-shipSystemMods + span.sheet-shipSystemMods + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitMod.png); + background-repeat: no-repeat; + background-position: left; + background-size: 180px 13px; + opacity: 1; + z-index: 18; + } + + input.sheet-shipSystemMods:checked + span.sheet-shipSystemMods + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewKitModChecked.png); + background-repeat: no-repeat; + background-position: left; + background-size: 180px 13px; + opacity: 1; + z-index: 18; + } + + input.sheet-shuttleMods + span.sheet-shuttleMods, + input.sheet-shipModuleMods + span.sheet-shipModuleMods + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/moduleMod.png); + background-repeat: no-repeat; + background-position: left; + background-size: 13px 13px; + opacity: 1; + z-index: 18; + } + + + input.sheet-shuttleMods:checked + span.sheet-shuttleMods, + input.sheet-shipModuleMods:checked + span.sheet-shipModuleMods + { + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/moduleMod_Checked.png); + background-repeat: no-repeat; + background-position: left; + background-size: 13px 13px; + opacity: 1; + z-index: 18; + } + +/*Ship System Mod Locations*/ +/*Scanner*/ +input.sheet-shipSensorsMods, +span.sheet-shipSensorsMods +{ + grid-column: 21; + margin-left: 3px; +} + +input.sheet-shipSensorsSurveySensor, +span.sheet-shipSensorsSurveySensor +{ + grid-row: 18; + margin-top: 5px; +} + +input.sheet-shipSensorsDepthAnalyser, +span.sheet-shipSensorsDepthAnalyser +{ + grid-row: 19; + margin-top: 9px; +} + +input.sheet-shipSensorsAreaEffect, +span.sheet-shipSensorsAreaEffect +{ + grid-row: 21; + margin-top: 5px; +} + +input.sheet-shipSensorsRangeCompensator, +span.sheet-shipSensorsRangeCompensator +{ + grid-row: 23; + margin-top: 1px; +} + +/*Grav Drive*/ +input.sheet-shipGravDriveMods, +span.sheet-shipGravDriveMods +{ + grid-column: 39; + margin-left: 2px; +} + +input.sheet-shipGravDriveAtmosphericThrusters, +span.sheet-shipGravDriveAtmosphericThrusters +{ + grid-row: 18; + margin-top: 7px; +} + +input.sheet-shipGravDriveOrbitalInjector, +span.sheet-shipGravDriveOrbitalInjector +{ + grid-row: 20; + margin-top: 1px; +} + +input.sheet-shipGravDriveFoldInducer, +span.sheet-shipGravDriveFoldInducer +{ + grid-row: 21; + margin-top: 7px; +} + +input.sheet-shipGravDriveWakeGenerator, +span.sheet-shipGravDriveWakeGenerator +{ + grid-row: 23; + margin-top: 1px; +} + +/*Pulse Array*/ +input.sheet-shipPulseArrayMods, +span.sheet-shipPulseArrayMods +{ + grid-column: 21; + margin-left: 3px; +} + +input.sheet-shipPulseArraySpaceTargeter, +span.sheet-shipPulseArraySpaceTargeter +{ + grid-row: 34; + margin-top: 6px; +} + +input.sheet-shipPulseArraySurfaceTargeter, +span.sheet-shipPulseArraySurfaceTargeter +{ + grid-row: 36; + margin-top: 0px; +} + +input.sheet-shipPulseArrayTractorLifter, +span.sheet-shipPulseArrayTractorLifter +{ + grid-row: 39; + margin-top: 0px; +} + +/*Shields*/ +input.sheet-shipShieldsMods, +span.sheet-shipShieldsMods +{ + grid-column: 39; + margin-left: 2px; +} + +input.sheet-shipShieldsKineticDeflector, +span.sheet-shipShieldsKineticDeflector +{ + grid-row: 34; + margin-top: 6px; +} + +input.sheet-shipShieldsEnergyDissipater, +span.sheet-shipShieldsEnergyDissipater +{ + grid-row: 36; + margin-top: 0px; +} + +input.sheet-shipShieldsHoloprojector, +span.sheet-shipShieldsHoloprojector +{ + grid-row: 37; + margin-top: 5px; +} + +input.sheet-shipShieldsMultifield, +span.sheet-shipShieldsMultifield +{ + grid-row: 39; + margin-top: 0px; +} + +/*Ship Module Fitting Locations*/ +input.sheet-shipLauncherMods, +span.sheet-shipLauncherMods +{ + grid-column: 42; + margin-left: 0px; +} + +input.sheet-shipLauncherChaff, +span.sheet-shipLauncherChaff +{ + grid-row: 70; + margin-top: 5px; +} + +input.sheet-shipLauncherIndictorMines, +span.sheet-shipLauncherIndictorMines +{ + grid-row: 71; + margin-top: 9px; +} + +input.sheet-shipLauncherPlasmaMines, +span.sheet-shipLauncherPlasmaMines +{ + grid-row: 73; + margin-top: 5px; +} + +input.sheet-shipLauncherTorpedo, +span.sheet-shipLauncherTorpedo +{ + grid-row: 74; + margin-top: 9px; +} + /*Flow Lines*/ .sheet-flowLine { position: absolute; z-index: 12; + display: inline-block; } -.sheet-skillDirection +.sheet-operatorDirection { - display: block; - grid-area: 2/8/19/66; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/skillFlow.png); + grid-row: 2 / span 5; + grid-column: 8 / span 25; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operatorFlow.png); + background-repeat: no-repeat; + background-position: center; + background-size: 250px 42px; + opacity: 1; + width: 250px; + height: 42px; +} + +.sheet-crewmemberSheet .sheet-skillDirection +{ + grid-row: 2 / span 17; + grid-column: 8 / span 58; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/skillFlow.png); background-repeat: no-repeat; background-position: center; background-size: 580px 170px; @@ -2139,12 +3294,25 @@ span.sheet-crewKitAssociation20 height: 170px; } -.sheet-specialtyDirection +.sheet-shipSheet .sheet-skillDirection { - display: block; - grid-row: 10; - grid-column:21; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/specialtyFlow.png); + grid-row: 7 / span 2; + grid-column: 20 / span 33; + margin-top: 6px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/skillShipFlow.png); + background-repeat: no-repeat; + background-position: center; + background-size: 370px 13px; + opacity: 1; + width: 370px; + height: 13px; +} + +.sheet-crewmemberSheet .sheet-specialtyDirection +{ + grid-row: 10 / span 2; + grid-column: 21 / span 47; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/specialtyFlow.png); background-repeat: no-repeat; background-position: center; background-size: 470px 11px; @@ -2153,11 +3321,23 @@ span.sheet-crewKitAssociation20 height: 11px; } +.sheet-shipSheet .sheet-specialtyDirection +{ + grid-row: 8 / span 12; + grid-column: 73 / span 10; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/specialtyShipFlow.png); + background-repeat: no-repeat; + background-position: center; + background-size: 100px 120px; + opacity: 1; + width: 100px; + height: 120px; +} + .sheet-communicationsSpecialtyFlow1 { - display: block; grid-area: 10/25/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/communicationsSpecialtyFlow1.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/communicationsSpecialtyFlow1.png); background-repeat: no-repeat; background-position: center; background-size: 520px 200px; @@ -2168,9 +3348,8 @@ span.sheet-crewKitAssociation20 .sheet-communicationsSpecialtyFlow2 { - display: block; grid-area: 10/25/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/communicationsSpecialtyFlow2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/communicationsSpecialtyFlow2.png); background-repeat: no-repeat; background-position: center; background-size: 520px 270px; @@ -2181,9 +3360,8 @@ span.sheet-crewKitAssociation20 .sheet-communicationsSpecialtyFlow3 { - display: block; grid-area: 10/25/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/communicationsSpecialtyFlow3.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/communicationsSpecialtyFlow3.png); background-repeat: no-repeat; background-position: center; background-size: 520px 340px; @@ -2194,9 +3372,8 @@ span.sheet-crewKitAssociation20 .sheet-communicationsSpecialtyFlow4 { - display: block; grid-area: 10/25/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/communicationsSpecialtyFlow4.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/communicationsSpecialtyFlow4.png); background-repeat: no-repeat; background-position: center; background-size: 520px 410px; @@ -2207,9 +3384,8 @@ span.sheet-crewKitAssociation20 .sheet-communicationsSpecialtyFlow5 { - display: block; grid-area: 10/25/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/communicationsSpecialtyFlow5.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/communicationsSpecialtyFlow5.png); background-repeat: no-repeat; background-position: center; background-size: 520px 480px; @@ -2220,9 +3396,8 @@ span.sheet-crewKitAssociation20 .sheet-operationsSpecialtyFlow1 { - display: block; grid-area: 10/48/30/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/operationsSpecialtyFlow1.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operationsSpecialtyFlow1.png); background-repeat: no-repeat; background-position: center; background-size: 300px 200px; @@ -2233,9 +3408,8 @@ span.sheet-crewKitAssociation20 .sheet-operationsSpecialtyFlow2 { - display: block; grid-area: 10/48/37/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/operationsSpecialtyFlow2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operationsSpecialtyFlow2.png); background-repeat: no-repeat; background-position: center; background-size: 300px 270px; @@ -2246,9 +3420,8 @@ span.sheet-crewKitAssociation20 .sheet-operationsSpecialtyFlow3 { - display: block; grid-area: 10/48/44/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/operationsSpecialtyFlow3.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operationsSpecialtyFlow3.png); background-repeat: no-repeat; background-position: center; background-size: 300px 340px; @@ -2259,9 +3432,8 @@ span.sheet-crewKitAssociation20 .sheet-operationsSpecialtyFlow4 { - display: block; grid-area: 10/48/51/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/operationsSpecialtyFlow4.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operationsSpecialtyFlow4.png); background-repeat: no-repeat; background-position: center; background-size: 300px 410px; @@ -2272,9 +3444,8 @@ span.sheet-crewKitAssociation20 .sheet-operationsSpecialtyFlow5 { - display: block; grid-area: 10/48/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/operationsSpecialtyFlow5.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/operationsSpecialtyFlow5.png); background-repeat: no-repeat; background-position: center; background-size: 300px 480px; @@ -2285,9 +3456,9 @@ span.sheet-crewKitAssociation20 .sheet-engineeringSpecialtyFlow1 { - display: block; - grid-area: 10/71/30/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/engineeringSpecialtyFlow1.png); + grid-row: 10 / span 20; + grid-column: 70 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/engineeringSpecialtyFlow1.png); background-repeat: no-repeat; background-position: center; background-size: 75px 200px; @@ -2298,9 +3469,9 @@ span.sheet-crewKitAssociation20 .sheet-engineeringSpecialtyFlow2 { - display: block; - grid-area: 10/71/37/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/engineeringSpecialtyFlow2.png); + grid-row: 10 / span 27; + grid-column: 70 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/engineeringSpecialtyFlow2.png); background-repeat: no-repeat; background-position: center; background-size: 75px 270px; @@ -2311,9 +3482,9 @@ span.sheet-crewKitAssociation20 .sheet-engineeringSpecialtyFlow3 { - display: block; - grid-area: 10/71/44/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/engineeringSpecialtyFlow3.png); + grid-row: 10 / span 34; + grid-column: 70 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/engineeringSpecialtyFlow3.png); background-repeat: no-repeat; background-position: center; background-size: 75px 340px; @@ -2324,9 +3495,9 @@ span.sheet-crewKitAssociation20 .sheet-engineeringSpecialtyFlow4 { - display: block; - grid-area: 10/71/51/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/engineeringSpecialtyFlow4.png); + grid-row: 10 / span 41; + grid-column: 70 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/engineeringSpecialtyFlow4.png); background-repeat: no-repeat; background-position: center; background-size: 75px 410px; @@ -2337,9 +3508,9 @@ span.sheet-crewKitAssociation20 .sheet-engineeringSpecialtyFlow5 { - display: block; - grid-area: 10/71/58/78; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/engineeringSpecialtyFlow5.png); + grid-row: 10 / span 48; + grid-column: 70 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/engineeringSpecialtyFlow5.png); background-repeat: no-repeat; background-position: center; background-size: 75px 480px; @@ -2350,10 +3521,9 @@ span.sheet-crewKitAssociation20 .sheet-toolCrewKitDirection { - display: block; - grid-row: 10; - grid-column: 40; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/toolCrewKitDirection.png); + grid-row: 10 / span 51; + grid-column: 40 / span 27; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/toolCrewKitDirection.png); background-repeat: no-repeat; background-position: center; background-size: 270px 510px; @@ -2362,12 +3532,25 @@ span.sheet-crewKitAssociation20 height: 510px; } +.sheet-toolShipDirection +{ + grid-row: 23 / span 12; + margin-top: 4px; + grid-column: 65 / span 10; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/toolShipDirection.png); + background-repeat: no-repeat; + background-position: center; + background-size: 100px 120px; + opacity: 1; + width: 100px; + height: 120px; +} + .sheet-chargeCrewKitDirection { - display: block; - grid-row: 55; - grid-column: 13; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/chargeFlow.png); + grid-row: 55 / span 9; + grid-column: 13 / span 2; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/upFlow.png); background-repeat: no-repeat; background-position: center; background-size: 13px 90px; @@ -2377,12 +3560,25 @@ span.sheet-crewKitAssociation20 margin-top: 6px; } -.sheet-advantageDirection +.sheet-chargeSystemDirection { - display: block; - grid-row: 36; - grid-column: 70; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/advantageFlow.png); + grid-row: 25 / span 5; + grid-column: 12 / span 2; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/downFlow.png); + background-repeat: no-repeat; + background-position: bottom; + background-size: 13px 90px; + opacity: 1; + width: 13px; + height: 50px; + margin-top: 3px; +} + +.sheet-crewmemberSheet .sheet-advantageDirection +{ + grid-row: 36 / span 9; + grid-column: 70 / span 2; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/downFlow.png); background-repeat: no-repeat; background-position: center; background-size: 13px 90px; @@ -2392,12 +3588,38 @@ span.sheet-crewKitAssociation20 margin-left: 5px; } -.sheet-threatDirection +.sheet-shipSheet .sheet-advantageDirection { - display: block; - grid-row: 49; - grid-column: 75; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/threatFlow.png); + grid-row: 64 / span 9; + grid-column: 9 / span 2; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/upFlow.png); + background-repeat: no-repeat; + background-position: center; + background-size: 13px 90px; + opacity: 1; + width: 13px; + height: 90px; + margin-left: 5px; +} + +.sheet-crewmemberSheet .sheet-threatDirection +{ + grid-row: 48 / span 2; + grid-column: 75 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/threatFlow.png); + background-repeat: no-repeat; + background-position: center; + background-size: 80px 13px; + opacity: 1; + width: 80px; + height: 13px; +} + +.sheet-shipSheet .sheet-threatDirection +{ + grid-row: 53 / span 2; + grid-column: 14 / span 8; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/threatFlow.png); background-repeat: no-repeat; background-position: center; background-size: 80px 13px; @@ -2562,8 +3784,8 @@ span.sheet-crewKitAssociation20 .sheet-species { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/species.png); - background-size: 450px 128.1px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/species.png); + background-size: 450px 128px; background-repeat: no-repeat; width: 440px; padding: 5px; @@ -2762,7 +3984,7 @@ span.sheet-crewKitAssociation20 .sheet-skills { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/skills.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/skills.png); background-size: 220px 370px; background-repeat: no-repeat; width: 220px; @@ -2855,8 +4077,8 @@ span.sheet-crewKitAssociation20 .sheet-crewConditionsWidget { grid-area: Conditions; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/conditionPathogen.png); - background-size: 220px 156.3px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/conditionPathogen.png); + background-size: 220px 156px; background-repeat: no-repeat; width: 220px; display: grid; @@ -2982,7 +4204,7 @@ span.sheet-crewKitAssociation20 grid-column-end: 5; grid-row-start: 6; grid-row-end: 7; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewPatchBand.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewPatchBand.png); background-size: 100% 75%; background-repeat: no-repeat; background-position: center; @@ -3023,8 +4245,8 @@ span.sheet-crewKitAssociation20 .sheet-pathogen { grid-area: Pathogens; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/conditionPathogen.png); - background-size: 220px 156.3px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/conditionPathogen.png); + background-size: 220px 156px; background-repeat: no-repeat; width: 220px; display: grid; @@ -3054,7 +4276,7 @@ span.sheet-crewKitAssociation20 .sheet-upkeep { grid-area: Upkeep; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/upkeep.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/upkeep.png); background-size: 220px 77px; background-repeat: no-repeat; width: 220px; @@ -3125,7 +4347,7 @@ input[type="number"].sheet-upkeepBox .sheet-EVASuit { grid-area: EVASuit; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/EVAsuit.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/EVAsuit.png); background-size: 180px 314px; background-repeat: no-repeat; display: grid; @@ -3281,7 +4503,7 @@ input[type="number"].sheet-upkeepBox .sheet-Augments { grid-area: Augments; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/augmentation.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/augmentation.png); background-size: 180px 314px; background-repeat: no-repeat; display: grid; @@ -3404,7 +4626,7 @@ input[type="number"].sheet-upkeepBox .sheet-Associations { grid-area: Associations; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/associations.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/associations.png); background-size: 900px 255px; background-repeat: no-repeat; display: grid; @@ -3612,8 +4834,8 @@ input[type="number"].sheet-upkeepBox .sheet-descriptionWidget { grid-area: description; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/description.png); - background-size: 900px 100.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/description.png); + background-size: 900px 100px; background-repeat: no-repeat; display: grid; grid-template-columns: repeat(2, 90px 1fr) 10px; @@ -3682,7 +4904,7 @@ input[type="number"].sheet-upkeepBox .sheet-languageWidget { grid-area: language; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/language.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/language.png); background-size: 900px 212px; background-repeat: no-repeat; display: grid; @@ -3775,7 +4997,7 @@ input[type="number"].sheet-upkeepBox .sheet-contactWidget { grid-area: contact; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/contactNotes.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/contactNotes.png); background-size: 440px 390px; background-repeat: no-repeat; display: grid; @@ -3813,7 +5035,7 @@ input[type="number"].sheet-upkeepBox .sheet-crewNoteWidget { grid-area: notes; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/contactNotes.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/contactNotes.png); background-size: 440px 390px; background-repeat: no-repeat; display: grid; @@ -3857,7 +5079,7 @@ input[type="number"].sheet-upkeepBox .sheet-retirementPlan { grid-area: plan; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Retirement.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Retirement.png); background-size: 700px 390px; background-repeat: no-repeat; display: grid; @@ -3894,14 +5116,14 @@ input[type="number"].sheet-upkeepBox .sheet-retirementResources { - background-size: 169.5px 120px; + background-size: 169px 120px; background-repeat: no-repeat; display: grid; grid-template-columns: 18px 1fr 18px; grid-template-rows: 22px 1fr 18px; grid-gap: 0px; height: 120px; - width: 169.5px; + width: 169px; z-index: 0; } @@ -3918,19 +5140,19 @@ input[type="number"].sheet-upkeepBox .sheet-retirementReserve { grid-area: reserve; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resources.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resources.png); } .sheet-retirementDebt { grid-area: debt; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/debt.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/debt.png); } .sheet-retirementShares { grid-area: shares; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/shares.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/shares.png); } .sheet-retirementResourceBox @@ -4226,7 +5448,7 @@ span.sheet-smallPips /* Graphics */ input[type="radio"] + span.sheet-ZeroDie { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/D10ZeroPip.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/D10ZeroPip.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4235,7 +5457,7 @@ input[type="radio"] + span.sheet-ZeroDie input[type="radio"] + span.sheet-D10, span.sheet-FittingD10 { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/D10PipFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/D10PipFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4244,7 +5466,7 @@ input[type="radio"] + span.sheet-D10, span.sheet-FittingD10 input[type="radio"]:checked + span.sheet-D10 ~ input[type="radio"] + span.sheet-D10, input[type="radio"]:checked + span.sheet-ZeroDie ~ input[type="radio"] + span.sheet-D10 { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/D10Pip.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/D10Pip.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4253,7 +5475,7 @@ input[type="radio"]:checked + span.sheet-D10 ~ input[type="radio"] + span.sheet- input[type="radio"] + span.sheet-Boost, span.sheet-FittingBoost { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/BoostFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/BoostFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4262,7 +5484,7 @@ input[type="radio"] + span.sheet-Boost, span.sheet-FittingBoost input[type="radio"]:checked + span.sheet-Boost ~ input[type="radio"] + span.sheet-Boost, input[type="radio"]:checked + span.sheet-ZeroDie ~ input[type="radio"] + span.sheet-Boost { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Boost.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Boost.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4271,7 +5493,7 @@ input[type="radio"]:checked + span.sheet-Boost ~ input[type="radio"] + span.shee input[type="radio"] + span.sheet-capacityPips { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/CapacityPipsFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/CapacityPipsFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4280,7 +5502,7 @@ input[type="radio"] + span.sheet-capacityPips input[type="radio"]:checked + span.sheet-capacityPips ~ input[type="radio"] + span.sheet-capacityPips { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/CapacityPips.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/CapacityPips.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4289,7 +5511,7 @@ input[type="radio"]:checked + span.sheet-capacityPips ~ input[type="radio"] + sp input[type="checkbox"] + span.sheet-overcharge { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/overchargeEmpty.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/overchargeEmpty.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4298,7 +5520,7 @@ input[type="checkbox"] + span.sheet-overcharge input[type="checkbox"]:checked + span.sheet-overcharge { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/overcharge.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/overcharge.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4307,17 +5529,17 @@ input[type="checkbox"]:checked + span.sheet-overcharge input[type="checkbox"] + span.sheet-hexSelector { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/HexPip.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/HexPip.png); background-repeat: no-repeat; background-position: center; opacity: 1; z-index: 2; } -input[type="checkbox"]:checked + span.sheet-hexSelector, +input[type="checkbox"]:checked + span.sheet-hexSelector, span.sheet-hexselectorChecked { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/HexPipFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/HexPipFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4326,7 +5548,7 @@ span.sheet-hexselectorChecked input[type="checkbox"] + span.sheet-armour { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/armor.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/armor.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4335,7 +5557,7 @@ input[type="checkbox"] + span.sheet-armour input[type="checkbox"]:checked + span.sheet-armour { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/armor2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/armor2.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4344,7 +5566,7 @@ input[type="checkbox"]:checked + span.sheet-armour input[type="checkbox"] + span.sheet-resilience { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resiliance.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resiliance.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4353,7 +5575,7 @@ input[type="checkbox"] + span.sheet-resilience input[type="checkbox"]:checked + span.sheet-resilience { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resiliance2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resiliance2.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4362,7 +5584,7 @@ input[type="checkbox"]:checked + span.sheet-resilience input[type="checkbox"] + span.sheet-resilienceThreat { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resilianceThreat.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resilianceThreat.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4371,7 +5593,7 @@ input[type="checkbox"] + span.sheet-resilienceThreat input[type="checkbox"]:checked + span.sheet-resilienceThreat { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resilianceThreatFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resilianceThreatFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4380,7 +5602,7 @@ input[type="checkbox"]:checked + span.sheet-resilienceThreat input[type="checkbox"] + span.sheet-integrity { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/sys-int.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/sys-int.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4389,7 +5611,7 @@ input[type="checkbox"] + span.sheet-integrity input[type="checkbox"]:checked + span.sheet-integrity { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/sys-int2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/sys-int2.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4398,7 +5620,7 @@ input[type="checkbox"]:checked + span.sheet-integrity input[type="checkbox"] + span.sheet-integrityThreat { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/IntegrityThreat.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/IntegrityThreat.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4407,7 +5629,7 @@ input[type="checkbox"] + span.sheet-integrityThreat input[type="checkbox"]:checked + span.sheet-integrityThreat { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/IntegrityThreatFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/IntegrityThreatFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4416,7 +5638,7 @@ input[type="checkbox"]:checked + span.sheet-integrityThreat input[type="checkbox"] + span.sheet-crewIntegrity { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewIntegrity.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewIntegrity.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4425,7 +5647,7 @@ input[type="checkbox"] + span.sheet-crewIntegrity input[type="checkbox"]:checked + span.sheet-crewIntegrity { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/crewIntegrity2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/crewIntegrity2.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4434,7 +5656,7 @@ input[type="checkbox"]:checked + span.sheet-crewIntegrity input[type="checkbox"] + span.sheet-vital { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/vital.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/vital.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4443,7 +5665,7 @@ input[type="checkbox"] + span.sheet-vital input[type="checkbox"]:checked + span.sheet-vital { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/vital2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/vital2.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4452,7 +5674,7 @@ input[type="checkbox"]:checked + span.sheet-vital input[type="checkbox"] + span.sheet-patch { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Patches.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Patches.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4461,7 +5683,7 @@ input[type="checkbox"] + span.sheet-patch input[type="checkbox"]:checked + span.sheet-patch { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/PatchesFilled.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/PatchesFilled.png); background-repeat: no-repeat; background-position: center; opacity: 1; @@ -4491,7 +5713,8 @@ input[type="checkbox"]:checked + span.sheet-patch grid-template-columns: repeat(3,175px); grid-template-rows: 32px 154px 154px; grid-template-areas: "title title title"; - grid-gap: 4px; + grid-row-gap: 7px; + grid-column-gap: 4px; } .sheet-systemWidegetTitle @@ -4501,27 +5724,27 @@ input[type="checkbox"]:checked + span.sheet-patch .sheet-reactorSystem { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Reactor.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Reactor.png); } .sheet-shipSystem { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ShipSystem.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/ShipSystem.png); } .sheet-weaponSystem { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/PulseArray.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/PulseArray.png); } .sheet-dataStorage { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/DataStorage.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/DataStorage.png); } .sheet-system { - background-size: 175.44px 155px; + background-size: 175px 155px; background-repeat: no-repeat; display: grid; grid-template-columns: minmax(6px,10px) 4fr 3fr 5fr; @@ -4529,8 +5752,8 @@ input[type="checkbox"]:checked + span.sheet-patch grid-gap: 0px; height: 150px; width: 170px; - padding-top: 4px; - padding-left: 4px; + padding-top: 5px; + padding-left: 5px; z-index: 0; } @@ -4951,20 +6174,20 @@ input[type="number"].sheet-currentCharge .sheet-basicModule { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Module.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Module.png); } .sheet-weaponModule { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/WeaponModule.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/WeaponModule.png); } .sheet-module { - background-size: 125px 165.38px; + background-size: 125px 166px; background-repeat: no-repeat; display: grid; - grid-template-columns: minmax(6px,14px) minmax(20px,50px) 1fr 27px; + grid-template-columns: minmax(6px,14px) minmax(20px,50px) 1fr 40px; grid-template-rows: repeat(11,15px); grid-gap: 0px; height: 162px; @@ -5318,7 +6541,7 @@ input[type="number"].sheet-currentCharge .sheet-launchBay { grid-area: launchbay; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/Shuttle.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Shuttle.png); background-size: 385px 335px; background-repeat: no-repeat; display: grid; @@ -5554,7 +6777,7 @@ input[type="number"].sheet-tugReactorCharge grid-row-end: 3; font-variant: small-caps; flex-flow: nowrap; - font-size: 9px; + font-size: 11px; text-align: end; padding-right: 6px; } @@ -5931,7 +7154,7 @@ input[type="number"].sheet-tugReactorCharge grid-row-end: 14; font-variant: small-caps; flex-flow: nowrap; - font-size: 9px; + font-size: 11px; text-align: end; padding-right: 6px; } @@ -6032,7 +7255,7 @@ input[type=number].sheet-txtfield /* General layout */ .sheet-ship-block { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/ship-section.png); background-size: 218px 330px; background-repeat: no-repeat; display: grid; @@ -6074,7 +7297,7 @@ input[type=number].sheet-txtfield grid-column-end: 9; grid-row-start: 2; grid-row-end: 3; - font-size: 9px; + font-size: 11px; align-self: center; text-align: left; padding-top: 6px; @@ -6103,7 +7326,7 @@ input[type=number].sheet-txtfield grid-column-end: 9; grid-row-start: 8; grid-row-end: 9; - font-size: 9px; + font-size: 11px; align-self: center; text-align: left; padding-top: 9px; @@ -6307,7 +7530,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-75su.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/ship-section-75su.png); background-size: 45px 45px; background-repeat: no-repeat; background-position: bottom; @@ -6318,7 +7541,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6326,7 +7549,8 @@ input[type=number].sheet-txtfield width: 25px; } -.sheet-insec, .sheet-artery +.sheet-insec, +.sheet-artery { font-weight: bold; font-size: 9px; @@ -6350,7 +7574,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/armor.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/armor.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6363,7 +7587,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/vital.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/vital.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6376,7 +7600,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resiliance.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resiliance.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6389,7 +7613,7 @@ input[type=number].sheet-txtfield display: flex; justify-content: center; align-items: center; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/sys-int.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/sys-int.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6437,6 +7661,7 @@ input[type=number].sheet-txtfield /* InSec & Artery Static boxes*/ .sheet-ship-block .sheet-ship-oct input[type="checkbox"] + span::before { + font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; content: "■"; opacity: 0; font-size: 53px; @@ -6494,7 +7719,7 @@ input[type=number].sheet-txtfield .sheet-ship-block .sheet-ship-armor input[type="checkbox"] + span.sheet-armor-x { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/armor2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/armor2.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6509,7 +7734,7 @@ input[type=number].sheet-txtfield .sheet-ship-block .sheet-ship-resilience input[type="checkbox"] + span.sheet-res-x { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resiliance2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resiliance2.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6522,7 +7747,7 @@ input[type=number].sheet-txtfield .sheet-ship-block .sheet-ship-sys-integrity input[type="checkbox"] + span.sheet-integ-x { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/sys-int2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/sys-int2.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6535,7 +7760,7 @@ input[type=number].sheet-txtfield .sheet-ship-block .sheet-ship-vital input[type="checkbox"] + span.sheet-vital-x { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/vital2.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/vital2.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6558,7 +7783,7 @@ input[type=number].sheet-txtfield align-items: center; width: 25px; height: 25px; - background: linear-gradient( rgba(0, 255, 0, 0), rgba(0, 255, 0, 0) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background: linear-gradient( rgba(0, 255, 0, 0), rgba(0, 255, 0, 0) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; background-repeat: no-repeat; background-position: center; @@ -6568,25 +7793,25 @@ input[type=number].sheet-txtfield /* Orange */ .sheet-inv-color[value*="1"] + .sheet-ship-oct { - background: linear-gradient( rgba(255, 125, 0, 0.5), rgba(255, 126, 0, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background: linear-gradient( rgba(255, 125, 0, 0.5), rgba(255, 126, 0, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; } /* Cyan */ .sheet-inv-color[value*="2"] + .sheet-ship-oct { - background: linear-gradient( rgba(0, 183, 235, 0.5), rgba(0, 183, 235, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background: linear-gradient( rgba(0, 183, 235, 0.5), rgba(0, 183, 235, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; } /* Yellow */ .sheet-inv-color[value*="3"] + .sheet-ship-oct { - background: linear-gradient( rgba(255, 223, 0, 0.5), rgba(255, 223, 0, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background: linear-gradient( rgba(255, 223, 0, 0.5), rgba(255, 223, 0, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; } /* Green */ .sheet-inv-color[value*="4"] + .sheet-ship-oct { - background: linear-gradient( rgba(16, 115, 85, 0.5), rgba(16, 115, 85, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + background: linear-gradient( rgba(16, 115, 85, 0.5), rgba(16, 115, 85, 0.5) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; } /* sheet section label toggle */ @@ -6702,7 +7927,7 @@ input[type=number].sheet-txtfield .sheet-inv-color + .sheet-ship-oct, .sheet-inv-color[value*="0"] + .sheet-ship-oct { background: /* transparent/no color */ - linear-gradient( rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/ship-section-grey-oct.png); + linear-gradient( rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) ), url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/Octagon.png); background-size: 24px 24px; } /* default insec & artery */ @@ -6812,8 +8037,8 @@ div.sheet-colorselector .sheet-resource { - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/resources.png); - background-size: 140px 94.618px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/resources.png); + background-size: 142px 95px; background-repeat: no-repeat; display: grid; grid-template-columns: 1fr 50px; @@ -6878,8 +8103,8 @@ input[type="number"].sheet-resourceBox .sheet-letterOfMarque { grid-area: letter; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/LetterofMarque.png); - background-size: 440px 416.49px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/LetterofMarque.png); + background-size: 440px 420px; background-repeat: no-repeat; display: grid; grid-template-columns: 30px 1fr 150px; @@ -6964,8 +8189,8 @@ input[type="number"].sheet-resourceBox .sheet-cargo { grid-area: cargo; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/AssetTradeGoods.png); - background-size: 440px 1066.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/AssetTradeGoods.png); + background-size: 440px 1066px; background-repeat: no-repeat; display: grid; grid-template-columns: 70% 45px 45px 1fr; @@ -7033,7 +8258,7 @@ input[type="number"].sheet-resourceBox .sheet-notes { grid-area: notes; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/notes.png); + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/notes.png); background-size: 440px 750px; background-repeat: no-repeat; display: grid; @@ -7348,11 +8573,11 @@ span.sheet-threatDamageBoxBG grid-row-end: 13; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 38px; margin-top: -10px; @@ -7366,11 +8591,11 @@ span.sheet-creatureDamageBoxBG grid-row-end: 13; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 42px; margin-top: -10px; @@ -7384,11 +8609,11 @@ span.sheet-droneDamageBoxBG grid-row-end: 13; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 50px; margin-top: -10px; @@ -7402,11 +8627,11 @@ span.sheet-sectionDamageBoxBG grid-row-end: -1; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 8px; margin-top: -10px; @@ -7420,11 +8645,11 @@ span.sheet-sectionShipDamageBoxBG grid-row-end: -1; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 0px; margin-top: -10px; @@ -7438,11 +8663,11 @@ span.sheet-sectionBehemothDamageBoxBG grid-row-end: -1; align-self: center; justify-self: start; - background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img06/damage.png); - background-size: 44px 44.5px; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/FreeSpacer/img09/damage.png); + background-size: 44px 44px; background-repeat: no-repeat; width: 44px; - height: 44.5px; + height: 44px; z-index: 2; margin-left: 28px; margin-top: -10px; @@ -7463,6 +8688,7 @@ input.sheet-threatDamageBox border: none; text-align: center; } + input.sheet-sectionShipDamageBox { grid-column-start: 1; diff --git a/FreeSpacer/FreeSpacer.html b/FreeSpacer/FreeSpacer.html index 4328546206..4c644eaec8 100644 --- a/FreeSpacer/FreeSpacer.html +++ b/FreeSpacer/FreeSpacer.html @@ -23,7 +23,7 @@ -
    Version 2.8
    +
    Version 3.0
    @@ -61,7 +61,7 @@
    Salvo Mode
    -
    +
    @@ -86,7 +86,7 @@ -
    +
    @@ -158,22 +158,22 @@ -
    +
    - - - - - - - - - - Other ToolAnything other then your Crew Kit + + + + + + + + + + Other ToolAnything other then your Crew Kit @@ -232,14 +232,14 @@ -
    +
    -
    +
    Advantage
    @@ -249,10 +249,10 @@ Roll - Spend Charge & Close + Spend & Close -
    +
    Threat
    @@ -281,16 +281,14 @@
    - - - +
    Alias:
    -
    +
    Player:
    @@ -1684,12 +1682,602 @@
    + + + + +
    Roll Salvo
    + +
    + +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    Salvo Mode
    + + + +
    + +
    + + + + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + +
    + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    Print new Trailer
    + +
    + + + + + + + + + + + + + + + + +
    + + Tug Systems + + Atmospheric Thrusters: 2 + Orbital Injectors: 1 + Kinetic Deflector: 2 + Energy Dissipater: 2 +
    + + + +
    + + Tug and Flight Trailer Systems + + Atmospheric Thrusters: 4 + Orbital Injectors: 3 + Kinetic Deflector: 2 + Energy Dissipater: 2 +
    + + + +
    + + Tug and Boarding Trailer Systems + + Atmospheric Thrusters: 2 + Orbital Injectors: 1 + Kinetic Deflector: 2 + Energy Dissipater: 2 + Holoprojector: 3 +
    + + + +
    + + Tug and Tractor Trailer Systems + + Atmospheric Thrusters: 2 + Orbital Injectors: 3 + Wake Generator: 3 + Kinetic Deflector: 2 + Energy Dissipater: 2 + Tractor Lifter: 3 +
    + + + +
    + + Tug and Survey Trailer Systems + + Atmospheric Thrusters: 2 + Orbital Injectors: 1 + Kinetic Deflector: 2 + Energy Dissipater: 2 + Survey Sensors: 4 + Depth Analyser: 3 +
    + + + +
    + + Tug and Fighter Trailer Systems + + Atmospheric Thrusters: 2 + Orbital Injectors: 3 + Kinetic Deflector: 3 + Energy Dissipater: 3 + Space Targeter: 2 + Surface Targeter: 3 +
    + + + +
    + + + +
    + + + +
    + + + +
    + + +
    + +
    Advantage
    +
    + + + + Roll + + + Spend & Close + + +
    + +
    Threat
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    + +
    Designation:
    -
    +
    Patron:
    Flag:
    @@ -2050,14 +2638,14 @@
    3
    Chaff
    5
    -
    Plasma Mines
    +
    Indictor Mines
       
    -
    5
    -
    Indictor Mines
    +
    7
    +
    Plasma Mines
       
    -
    5
    +
    9
    Torpedo
    -
       
    +
             
    @@ -3985,7 +4573,7 @@
    Total
    - +
    tonnes
    @@ -4024,14 +4612,13 @@
    -
    Alias:
    -
    +
    Pronouns:
    Concept:
    @@ -4220,6 +4807,7 @@
    + @@ -4230,7 +4818,7 @@
    Pronouns:
    Concept:
    -
    +
    Description:
    Behaviour:
    @@ -4542,6 +5130,7 @@
    + @@ -5007,6 +5596,7 @@
    + @@ -5338,6 +5928,7 @@
    + @@ -5769,13 +6360,14 @@
    +
    Designation:
    -
    +
    Concept:
    Description:
    @@ -6243,13 +6835,14 @@
    +
    Designation:
    -
    +
    Concept:
    Description:
    @@ -6756,13 +7349,14 @@
    +
    Designation:
    -
    +
    Concept:
    Description:
    @@ -7024,13 +7618,14 @@
    +
    Designation:
    -
    +
    Concept:
    Description:
    @@ -7343,13 +7938,14 @@
    +
    Designation:
    -
    +
    Tech Level:
    + +
    @@ -189,44 +249,44 @@
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    @@ -269,11 +329,11 @@
    - +
    - +
    - - - - - + + + + +
    @@ -361,6 +421,7 @@
    +
    @@ -386,7 +447,7 @@ - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    +

    Compétences des Moldus

    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    +

    Compétences des Sorciers

    - +
    - +
    - +
    - +
    - +
    @@ -2072,32 +2135,32 @@
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2118,97 +2181,97 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2226,28 +2289,28 @@
    - - + +
    - +
    - +
    - +
    - +
    @@ -2268,117 +2331,117 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2396,32 +2459,32 @@
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2442,97 +2505,97 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2550,28 +2613,28 @@
    - - + +
    - +
    - +
    - +
    - +
    @@ -2592,117 +2655,117 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2720,32 +2783,32 @@
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2766,97 +2829,97 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -2874,28 +2937,28 @@
    - - + +
    - +
    - +
    - +
    - +
    @@ -2916,117 +2979,117 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -3044,32 +3107,32 @@
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -3090,97 +3153,97 @@
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -3198,28 +3261,28 @@
    - - + +
    - +
    - +
    - +
    - +
    @@ -3275,7 +3338,7 @@ - +
    - +
    - +
    @@ -3398,17 +3461,17 @@
    - +
    - +
    - +
    @@ -3428,17 +3491,17 @@
    - +
    - +
    - +
    @@ -3458,17 +3521,17 @@
    - +
    - +
    - +
    @@ -3649,44 +3712,44 @@

    Caractéristiques

    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    - + - +
    @@ -3729,7 +3792,7 @@
    - +
    @@ -3742,37 +3805,37 @@
    - +
    - - + +
    - +
    - +
    - +
    - +
    - +
    @@ -3803,7 +3866,7 @@ Difficulté {{diff}}
    - {{#^rollBetween() jet 1 5}} + {{#^rollBetween() jet 1 critique}} {{#^rollBetween() jet 96 100}} {{#rollBetween() jet 1 diff}}
    @@ -3811,9 +3874,9 @@
    {{/rollBetween() jet 1 diff}} {{/^rollBetween() jet 96 100}} - {{/^rollBetween() jet 1 5}} + {{/^rollBetween() jet 1 critique}} - {{#^rollBetween() jet 1 5}} + {{#^rollBetween() jet 1 critique}} {{#^rollBetween() jet 96 100}} {{#rollGreater() jet diff}}
    @@ -3821,13 +3884,13 @@
    {{/rollGreater() jet diff}} {{/^rollBetween() jet 96 100}} - {{/^rollBetween() jet 1 5}} + {{/^rollBetween() jet 1 critique}} - {{#rollBetween() jet 1 5}} + {{#rollBetween() jet 1 critique}}
    Réussite critique
    - {{/rollBetween() jet 1 5}} + {{/rollBetween() jet 1 critique}} {{#rollBetween() jet 96 100}}
    diff --git a/Heroes-Unlimited-2E/HU2MutAn.jpg b/Heroes-Unlimited-2E/HU2MutAn.jpg index 168f43f50a..799c8fe5ab 100644 Binary files a/Heroes-Unlimited-2E/HU2MutAn.jpg and b/Heroes-Unlimited-2E/HU2MutAn.jpg differ diff --git a/Heroes-Unlimited-2E/hu2.css b/Heroes-Unlimited-2E/hu2.css index 1ff95520e4..649eb7a5f0 100644 --- a/Heroes-Unlimited-2E/hu2.css +++ b/Heroes-Unlimited-2E/hu2.css @@ -10,17 +10,17 @@ background: #d6cda3; } -.sheet-navbuttons, -.sheet-docbuttons { - flex: 10 1; -} - .sheet-navbuttons { + display:flex; + flex-wrap:wrap; text-align: left; + flex: 1 0 85%; } .sheet-docbuttons { + display:flex; text-align: right; + flex: 1 0 15%; } /*Configure the tab buttons*/ .sheet-character, @@ -754,7 +754,7 @@ button[type=roll].sheet-rollpower::before { display:grid; align-items: center; padding:5px; - grid-template-columns: 100px 75px 100px 75px + grid-template-columns: 90px 60px 90px 60px 110px 218px } .sheet-animal-looks{ display:grid; diff --git a/Heroes-Unlimited-2E/hu2.html b/Heroes-Unlimited-2E/hu2.html index 1e8da9cb85..da8b6ef8fa 100644 --- a/Heroes-Unlimited-2E/hu2.html +++ b/Heroes-Unlimited-2E/hu2.html @@ -1458,6 +1458,8 @@

    Ending Size

    +

    Size Stat Mods

    +

    Human Features

    diff --git a/Invisible Sun/images/btn_venture.png b/Invisible Sun/images/btn_venture.png new file mode 100644 index 0000000000..b34e8fd09b Binary files /dev/null and b/Invisible Sun/images/btn_venture.png differ diff --git a/Invisible Sun/images/enhancement-1.png b/Invisible Sun/images/enhancement-1.png new file mode 100644 index 0000000000..f3ee6cc47b Binary files /dev/null and b/Invisible Sun/images/enhancement-1.png differ diff --git a/Invisible Sun/images/enhancement-2.png b/Invisible Sun/images/enhancement-2.png new file mode 100644 index 0000000000..f7c554eb7e Binary files /dev/null and b/Invisible Sun/images/enhancement-2.png differ diff --git a/Invisible Sun/images/enhancement-3.png b/Invisible Sun/images/enhancement-3.png new file mode 100644 index 0000000000..76f97364a2 Binary files /dev/null and b/Invisible Sun/images/enhancement-3.png differ diff --git a/Invisible Sun/images/enhancement-4.png b/Invisible Sun/images/enhancement-4.png new file mode 100644 index 0000000000..0f8d2d3c0d Binary files /dev/null and b/Invisible Sun/images/enhancement-4.png differ diff --git a/Invisible Sun/images/enhancement-5.png b/Invisible Sun/images/enhancement-5.png new file mode 100644 index 0000000000..008c412106 Binary files /dev/null and b/Invisible Sun/images/enhancement-5.png differ diff --git a/Invisible Sun/images/invisible-sun-grungebg.jpg b/Invisible Sun/images/invisible-sun-grungebg.jpg new file mode 100644 index 0000000000..03261f8a4a Binary files /dev/null and b/Invisible Sun/images/invisible-sun-grungebg.jpg differ diff --git a/Invisible Sun/images/invisible-sun-grungebg2.jpg b/Invisible Sun/images/invisible-sun-grungebg2.jpg new file mode 100644 index 0000000000..59a1a23561 Binary files /dev/null and b/Invisible Sun/images/invisible-sun-grungebg2.jpg differ diff --git a/Invisible Sun/images/invisible-sun_scroll.png b/Invisible Sun/images/invisible-sun_scroll.png new file mode 100644 index 0000000000..6825eb3b96 Binary files /dev/null and b/Invisible Sun/images/invisible-sun_scroll.png differ diff --git a/Invisible Sun/images/invisible-sun_scrolltransparent.png b/Invisible Sun/images/invisible-sun_scrolltransparent.png new file mode 100644 index 0000000000..f8fbd70ded Binary files /dev/null and b/Invisible Sun/images/invisible-sun_scrolltransparent.png differ diff --git a/Invisible Sun/images/pathofsuns-rollerbg.jpg b/Invisible Sun/images/pathofsuns-rollerbg.jpg new file mode 100644 index 0000000000..41c2ca9b2b Binary files /dev/null and b/Invisible Sun/images/pathofsuns-rollerbg.jpg differ diff --git a/Invisible Sun/invisiblesun.css b/Invisible Sun/invisiblesun.css new file mode 100644 index 0000000000..2cc7766a40 --- /dev/null +++ b/Invisible Sun/invisiblesun.css @@ -0,0 +1,337 @@ +/*-------------- Fontwork ----------------*/ +@import url('https://fonts.googleapis.com/css?family=Aladin:wght@700|Laila&display=swap'); + +.sheet-contentwrapper {font-family: 'Aladin', serif; font-size: 16px;} + +/*----- Colors +Blood Red: #ab1d21 +Orange: #e4852a +gold: #c76200 +----*/ + +.sheet-contentwrapper { + border: 10px solid black; + background-image: + radial-gradient(circle, rgba(70,20,20,0.7) 20%, rgba(15,20,30,1) 100%), + url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/invisible-sun-grungebg2.jpg); + background-size: 100%; + border-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/invisible-sun_scrolltransparent.png') 199 round; + border-image-width: 100px; +} + +.sheet-innerbg { + text-align: center; +} + +Label:hover {cursor: pointer;} + +.sheet-centerforce { + margin: auto !important; +} +/*-------------- Sheet Tabs --------------*/ +/*Configure the tab buttons*/ +.sheet-front, +.sheet-side, +.sheet-back { + display: none; + margin: auto; +} + +/* show the selected tab */ +.sheet-tabstoggle[value="front"] ~ div.sheet-front, +.sheet-tabstoggle[value="side"] ~ div.sheet-side, +.sheet-tabstoggle[value="back"] ~ div.sheet-back { + display: block; +} +.sheet-front { + width: calc(100% - 40px); + margin: auto; +} +/*----------- Label Styling ------------*/ +.sheet-biglabel { + font-size: 28px; + text-align: center; + color: #ffcc33; + text-shadow: 0px 0px 6px rgba(255,204,102,0.2), 0px 0px 4px #cc672a, 0px 0px 1px #fff; +} + +.sheet-poollabel { + margin: auto; + margin: 5px 0px; + border-radius: 10px 10px 0px 0px; + background: rgb(83,47,95); +background: linear-gradient(90deg, rgba(83,47,95,1) 0%, rgba(61,7,24,1) 15%, rgba(153,10,10,1) 35%, rgba(153,10,10,1) 65%, rgba(61,7,24,1) 85%, rgba(89,51,102,1) 100%); + color: white; +} +/*----------- Rest Styling ------------*/ +.sheet-restgroup { + max-width: 400px; + margin: auto; +} +label { + display: inline-block; + width: auto; + margin: auto; + padding: 8px; + text-align: center; + background-color: #c76200; + border-radius: 20px; + color: #ffcc33; + + text-shadow: 0px 0px 6px rgba(255,255,255,0.7); + font-size: 16px; +} + +input[type='checkbox']:checked + span{ + color: black; + text-shadow: 2px 2px 0px rgba(0,0,0,0.2); +} + +input[type='checkbox'] { + display: none; +} +/*----------- Pool Styling -------------*/ +.sheet-poolcontent { + text-align: center; + margin: 8px; +} +.sheet-poolcontent input[type="number"] { + border: #c76200 solid 2px; + -moz-appearance: textfield; + margin: auto; + text-align: center; + border-radius: 50px; + font-size: 20px; + padding: 5px; + height: 50px; + width: 50px; + background-color: #ab1d21; + background: radial-gradient(circle, rgba(45,1,15,1) 37%, rgba(153,10,10,1) 53%, rgba(89,51,102,1) 66%, rgba(0,0,0,1) 94%); + color: white; +} + +.sheet-poolcontent input[type=number]:focus { + outline-style: none; + box-shadow: none; + border: 2px solid #ab1d21; + border-width: 0px 4px; + background: white; + color: black; +} + +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +.sheet-poolcontent input[type="number"].sheet-maxnumber { + font-size: 16px; + height: 30px; + width: 30px; + margin-left: 10%; +} +/*----------- Button Styling------------*/ +button { + background-color: unset; + color: white; + width:40px; + margin: auto; + border-color: white; +} + +button:hover.sheet-plusbutton { + background: linear-gradient(0deg, rgba(0,0,0,0) 30%, rgba(142,59,26,.5) 70%, rgba(228,133,42,1) 95%, rgba(255,255,255,1) 100%); + + +} + +button:hover.sheet-minusbutton { + background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(142,59,26,.5) 70%, rgba(228,133,42,1) 95%, rgba(255,255,255,1) 100%); + + +} + +button:focus { + outline-style: none; + box-shadow: none; +} + +.sheet-plusbutton { + border-width: 3px 0px 0px 0px; + border-radius: 100% 100% 0px 0px; +} + +.sheet-minusbutton { + border-width: 0px 0px 3px 0px; + border-radius: 0px 0px 100% 100%; +} + +/*----------- Venture ------------------*/ +.sheet-venturecontainer { + width: auto; + margin: auto; + max-width: 400px; + +} +.sheet-venturecontainer input[type='radio'] { + margin: auto; + display: none; +} + +.sheet-venturecontainer input[type='radio'] + span { + position: relative; + bottom: -2px; +} + +.sheet-venturecontainer label { + width: 20px; + height: 20px; + vertical-align: baseline; + background-color: white; + background: rgb(1,45,23); + background: radial-gradient(circle, rgba(1,45,23,1) 37%, rgba(10,153,141,1) 53%, rgba(51,51,102,1) 66%, rgba(0,0,0,1) 94%); + border: 2px solid #994343; + color: #00cccc; + font-size: 20px; +} + + + +button[type='roll'].sheet-venture-enhance1 { + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/enhancement-1.png); +} +button[type='roll'].sheet-venture-enhance2 { + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/enhancement-2.png); +} +button[type='roll'].sheet-venture-enhance3 { + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/enhancement-3.png); +} +button[type='roll'].sheet-venture-enhance4 { + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/enhancement-4.png); +} +button[type='roll'].sheet-venture-enhance5 { + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/enhancement-5.png); +} + +button[type='roll'].sheet-venture-enhance1, button[type='roll'].sheet-venture-enhance2, button[type='roll'].sheet-venture-enhance3 { + background-size: contain; + border: none; + height: 40px; + width: 40px; + margin: 0px; +} + +.sheet-venturecontainer input[type='radio']:checked + span{ + color: white; +} + +button[type='roll'].sheet-venture { + background: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/btn_venture.png'); + background-size: contain; + border: none; + width: 140px; + height: 40px; + margin: 0px; + position: relative; + color: #00cccc; +} + +button[type='roll'].sheet-venture:hover { + color: white; +} + +button[type='roll']:before { + content: "" !important; +} + +/*----------- Flexbox CSS --------------*/ + +.sheet-flexrow { + display: flex; + flex-flow: row wrap; + flex: 1; + border: 1px solid #61191d; + border-radius: 40px; + padding: 2px; + margin: 2px; +} +.sheet-flexcol { + display: flex; + flex-flow: column; + flex: 1; +} +.sheet-largeflex { + flex: 2; +} + +.sheet-flexjustify { + justify-content: space-around; +} +.sheet-subcontent {width: calc(100% - 24px); margin-left: auto; margin-right: auto; text-align: center;} + + +/*----------- Roll Template ------------*/ + +.sheet-rolltemplate-rollventure { + font-family: 'Aladin', serif; + font-size: 24px; + margin: auto; + text-align: center; + padding: 40px 10px 10px 10px; + padding-bottom: 10px; + background: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/pathofsuns-rollerbg.jpg') no-repeat; + background-size: 222px; + color: #ffcc99; + border: 5px solid black; + border-image: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Invisible%20Sun/images/invisible-sun_scrolltransparent.png') 199 round; + border-image-width: 100px; + border-radius: 100px; +} +.sheet-rolltemplate-rollventure .sheet-venture-description { + color: white; + font-family: 'Laila', serif; + font-size: 12px; + font-style: oblique; + +} +.sheet-rolltemplate-rollventure .sheet-venture-charactername { + margin-bottom: 20px; + font-size: 24px; +} +.sheet-rolltemplate-rollventure .sheet-venture-roll { + margin-bottom: 20px; + margin-top: 20px; + font-size: 20px; +} +.sheet-rolltemplate-rollventure .sheet-venture-roll .inlinerollresult { + background-color: unset; + border: none; +} +.sheet-rolltemplate-rollventure .sheet-venture-result { + border: 2px solid #e77c3c; + padding: 10px 16px; + margin: 0px auto; + margin-bottom: 20px; + width: fit-content; + border-radius: 20px; + font-size: 32px; + font-weight: bolder; + color: #f3ff88; + text-shadow: 0px 0px 4px #e77c3c; +} + +.sheet-rolltemplate-rollventure .sheet-venture-difficulty { + color: #f85050; + text-shadow: 0px 0px 4px #e23d3d; +} + +.sheet-rolltemplate-rollventure .sheet-venture-roll .sheet-venture-enhancementresults .inlinerollresult.fullfail { + color: #3bceb2; + text-shadow: 0px 0px 4px #66ff99; + animation-name: magicflux; + animation-duration: 1s; + animation-iteration-count: infinite; +} + +@keyframes magicflux {100% {color: #1d62c9;}} diff --git a/Invisible Sun/invisiblesun.html b/Invisible Sun/invisiblesun.html new file mode 100644 index 0000000000..6b33315f29 --- /dev/null +++ b/Invisible Sun/invisiblesun.html @@ -0,0 +1,638 @@ + + + + +
    +
    + + + + + + + +
    + + + + + + + + + + +
    + +
    Certes
    +
    +
    +
    +
    Accuracy
    +
    + +
    + + + + + +
    +
    +
    +
    +
    Movement
    +
    + +
    + + + + + +
    +
    +
    +
    + +
    +
    +
    Physicality
    +
    + +
    + + + + + +
    +
    +
    +
    +
    Perception
    +
    + +
    + + + + + +
    +
    +
    +
    +
    +
    Qualia
    +
    +
    +
    +
    Sorcery
    +
    + +
    + + + + + +
    +
    +
    +
    +
    Interaction
    +
    + +
    + + + + + +
    +
    +
    +
    + +
    +
    +
    Intellect
    +
    + +
    + + + + + +
    +
    +
    +
    +
    Sortiledge
    +
    + +
    + + + + + +
    +
    +
    +
    +
    + + +
    + + + + +
    + + +
    + + + +
    + + +
    {{CharacterName}}
    +
    {{description}}
    +
    + {{rollresult}}{{#enhancement1}},{{/enhancement1}}{{enhancement1}}{{#enhancement2}},{{/enhancement2}}{{enhancement2}}{{#enhancement3}},{{/enhancement3}}{{enhancement3}}{{#enhancement4}},{{/enhancement4}}{{enhancement4}}{{#enhancement5}},{{/enhancement5}}{{enhancement5}} + versus + {{difficulty}} +
    +
    + {{#^rollLess() rollresult difficulty}} + I + {{/^rollLess() rollresult difficulty}} + + {{#^rollLess() enhancement1 difficulty}} + I + {{/^rollLess() enhancement1 difficulty}} + + {{#^rollLess() enhancement2 difficulty}} + I + {{/^rollLess() enhancement2 difficulty}} + + {{#^rollLess() enhancement3 difficulty}} + I + {{/^rollLess() enhancement3 difficulty}} + + {{#^rollLess() enhancement4 difficulty}} + I + {{/^rollLess() enhancement4 difficulty}} + + {{#^rollLess() enhancement5 difficulty}} + I + {{/^rollLess() enhancement5 difficulty}} + +
    + +
    + + \ No newline at end of file diff --git a/Invisible Sun/invisiblesun.png b/Invisible Sun/invisiblesun.png new file mode 100644 index 0000000000..d8ce46250b Binary files /dev/null and b/Invisible Sun/invisiblesun.png differ diff --git a/Invisible Sun/sheet.json b/Invisible Sun/sheet.json new file mode 100644 index 0000000000..02553c848d --- /dev/null +++ b/Invisible Sun/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "invisiblesun.html", + "css": "invisiblesun.css", + "authors": "Medieve (Richard T.)", + "patreon": "https://www.patreon.com/sceneficant", + "roll20userid": "492849,23472", + "preview": "invisiblesun.png", + "instructions": "#Invisible Sun\r \r v1.1: Added two more Enhancement buttons for a total possible five dice. \r \r **For use with the Invisible Sun system by Monte Cook** \r\r If there's something you want added, or you'd like to report a bug, please contact the author of this sheet. This is a partial sheet. Please show some love and support if you'd like to see a full sheet." +} diff --git a/Les-Oublies/LesOublies.css b/Les-Oublies/LesOublies.css index 590c718f51..2957c1e34b 100644 --- a/Les-Oublies/LesOublies.css +++ b/Les-Oublies/LesOublies.css @@ -14,7 +14,8 @@ /*Configure the tab buttons*/ .sheet-character, .sheet-skills, -.sheet-equipment_and_actions, +.sheet-combat, +.sheet-equipment_and_spells, .sheet-journal { display: none; } @@ -22,11 +23,13 @@ /* show the selected tab */ .sheet-tabstoggle[value="character"] ~ div.sheet-character, .sheet-tabstoggle[value="skills"] ~ div.sheet-skills, -.sheet-tabstoggle[value="equipment_and_actions"] ~ div.sheet-equipment_and_actions, +.sheet-tabstoggle[value="combat"] ~ div.sheet-combat, +.sheet-tabstoggle[value="equipment_and_spells"] ~ div.sheet-equipment_and_spells, .sheet-tabstoggle[value="journal"] ~ div.sheet-journal, .sheet-tabstoggle[value="fullsheet"] ~ div.sheet-character, .sheet-tabstoggle[value="fullsheet"] ~ div.sheet-skills, -.sheet-tabstoggle[value="fullsheet"] ~ div.sheet-equipment_and_actions, +.sheet-tabstoggle[value="fullsheet"] ~ div.sheet-combat, +.sheet-tabstoggle[value="fullsheet"] ~ div.sheet-equipment_and_spells, .sheet-tabstoggle[value="fullsheet"] ~ div.sheet-journal { display: block; } @@ -34,7 +37,8 @@ /* highlight the selected button */ .sheet-tabstoggleforbtn[value="character"] ~ button[name="act_character"], .sheet-tabstoggleforbtn[value="skills"] ~ button[name="act_skills"], -.sheet-tabstoggleforbtn[value="equipment_and_actions"] ~ button[name="act_equipment_and_actions"], +.sheet-tabstoggleforbtn[value="combat"] ~ button[name="act_combat"], +.sheet-tabstoggleforbtn[value="equipment_and_spells"] ~ button[name="act_equipment_and_spells"], .sheet-tabstoggleforbtn[value="journal"] ~ button[name="act_journal"], .sheet-tabstoggleforbtn[value="fullsheet"] ~ button[name="act_fullsheet"] { background-color: rgb(230, 230, 230); @@ -57,16 +61,19 @@ left: -80px; } .sheet-navigation-div .sheet-tabstoggleforbtn[value="skills"] ~ img { - left: 72px; + left: 40px; } -.sheet-navigation-div .sheet-tabstoggleforbtn[value="equipment_and_actions"] ~ img { - left: 260px; +.sheet-navigation-div .sheet-tabstoggleforbtn[value="combat"] ~ img { + left: 150px; +} +.sheet-navigation-div .sheet-tabstoggleforbtn[value="equipment_and_spells"] ~ img { + left: 300px; } .sheet-navigation-div .sheet-tabstoggleforbtn[value="journal"] ~ img { - left: 419px; + left: 445px; } .sheet-navigation-div .sheet-tabstoggleforbtn[value="fullsheet"] ~ img { - left: 560px; + left: 570px; } .sheet-navigation-div { @@ -80,9 +87,9 @@ border-bottom: 0; border-color: gray; border-style: solid; - padding: 5px 20px; + padding: 5px 13px; background-color: rgba(255, 255, 255, 0.8); - font-size: 17px; + font-size: 16px; } .sheet-navigation-div button:hover { @@ -207,6 +214,24 @@ h1 { margin-bottom: 3px; } +.sheet-section-initiative { + text-align: center; + width: 100%; + margin: 20px auto; +} + +.sheet-section-initiative button[type=roll] { + width: 200px; + padding: 15px; + vertical-align: middle; +} + +.sheet-section-initiative button[type=roll]:before { + margin-right: 20px; + font-size: x-large; + vertical-align: middle; +} + .sheet-section-armes { width: 796px; } @@ -215,6 +240,36 @@ h1 { text-align: center; } +.sheet-section-competences-combat { + width: 796px; + font-size: 15px; +} + +.sheet-section-competences-combat { + width: 796px; + font-size: medium; +} + +.sheet-section-competences-combat td, +.sheet-section-competences-combat th { + text-align: center; +} +.sheet-section-competences-combat td:first-of-type, +.sheet-section-competences-combat th:first-of-type { + text-align: right; + color: gray; + padding-right: 20px; + width: 1%; + white-space: nowrap; +} +.sheet-section-competences-combat td:nth-of-type(2), +.sheet-section-competences-combat th:nth-of-type(2) { + text-align: left; +} +.sheet-section-competences-combat td:nth-of-type(5) button[type=roll] { + color: blue; +} + .sheet-section-armures { width: 796px; } @@ -405,6 +460,26 @@ input[type=checkbox] { margin-left: 8px; } +.sheet-section-primes-penalites th:first-child, +.sheet-section-primes-penalites td:first-child { + padding-right: 8px; +} +.sheet-section-primes-penalites th:last-child, +.sheet-section-primes-penalites td:first-child { + padding-left: 8px; +} +.sheet-section-primes-penalites select { + width: 90%; +} +.sheet-section-primes-penalites textarea { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 90%; + height: 5em; + resize: none; +} + .sheet-section-notes textarea { display: block; margin: auto; @@ -417,9 +492,11 @@ input[type=checkbox] { /* ============================= ROLL TEMPLATES ============================= */ /* ========================================================================== */ -/* Classic roll */ +/* All rolltemplates */ -.sheet-rolltemplate-classic-roll div.sheet-template-container { +.sheet-rolltemplate-classic-roll div.sheet-template-container, +.sheet-rolltemplate-attack-roll div.sheet-template-container, +.sheet-rolltemplate-initiative-roll div.sheet-template-container { background-color: rgb(233, 233, 233); color: rgba(50, 50, 50); border: 2px solid gray !important; @@ -427,7 +504,9 @@ input[type=checkbox] { font-family: "Averia Serif Libre", "Verdana", sans-serif; } -.sheet-rolltemplate-classic-roll .sheet-template-header { +.sheet-rolltemplate-classic-roll .sheet-template-header, +.sheet-rolltemplate-attack-roll .sheet-template-header, +.sheet-rolltemplate-initiative-roll .sheet-template-header { background-color: rgba(50, 50, 50); border-bottom: 1px solid black; color: rgb(233, 233, 233); @@ -436,105 +515,98 @@ input[type=checkbox] { font-size: 1.2em; } -.sheet-rolltemplate-classic-roll table { - width: 100%; -} - -.sheet-rolltemplate-classic-roll table tr { - border-bottom: 1px dotted gray; -} - -.sheet-rolltemplate-classic-roll table td { - padding: 10px 5px 10px 5px; -} - -.sheet-rolltemplate-classic-roll .sheet-template-first-col { - width: 150px; -} - -.sheet-rolltemplate-classic-roll .sheet-template-white { +.sheet-rolltemplate-classic-roll .sheet-template-white, +.sheet-rolltemplate-attack-roll .sheet-template-white, +.sheet-rolltemplate-initiative-roll .sheet-template-white { background-color: white; color: black; } -.sheet-rolltemplate-classic-roll .sheet-template-black { +.sheet-rolltemplate-classic-roll .sheet-template-black, +.sheet-rolltemplate-attack-roll .sheet-template-black, +.sheet-rolltemplate-initiative-roll .sheet-template-black { background-color: black; color: white; } -.sheet-rolltemplate-classic-roll span.sheet-template-strong { - font-weight: bold; -} - -.sheet-rolltemplate-classic-roll span.sheet-template-weak { - color: rgba(80, 80, 80); -} - -.sheet-rolltemplate-classic-roll .inlinerollresult { +.sheet-rolltemplate-classic-roll .inlinerollresult, +.sheet-rolltemplate-attack-roll .inlinerollresult, +.sheet-rolltemplate-initiative-roll .inlinerollresult { display: inline-block; color: black; min-width: 1.5em; text-align: center; border: 2px solid rgba(167, 168, 170,1); } -.sheet-rolltemplate-classic-roll .inlinerollresult.fullcrit { +.sheet-rolltemplate-classic-roll .inlinerollresult.fullcrit, +.sheet-rolltemplate-attack-roll .inlinerollresult.fullcrit, +.sheet-rolltemplate-initiative-roll .inlinerollresult.fullcrit { border: 2px solid #3FB315; } -.sheet-rolltemplate-classic-roll .inlinerollresult.fullfail { +.sheet-rolltemplate-classic-roll .inlinerollresult.fullfail, +.sheet-rolltemplate-attack-roll .inlinerollresult.fullfail, +.sheet-rolltemplate-initiative-roll .inlinerollresult.fullfail { border: 2px solid #B31515; } -.sheet-rolltemplate-classic-roll .inlinerollresult.importantroll { +.sheet-rolltemplate-classic-roll .inlinerollresult.importantroll, +.sheet-rolltemplate-attack-roll .inlinerollresult.importantroll, +.sheet-rolltemplate-initiative-roll .inlinerollresult.importantroll { border: 2px solid #4A57ED; } -/* Attack roll */ - -.sheet-rolltemplate-attack-roll div.sheet-template-container { - background-color: rgb(233, 233, 233); - color: rgba(50, 50, 50); - border: 2px solid gray !important; - border-radius: 3px; - font-family: "Averia Serif Libre", "Verdana", sans-serif; +.sheet-rolltemplate-classic-roll .sheet-template-strong, +.sheet-rolltemplate-attack-roll .sheet-template-strong, +.sheet-rolltemplate-initiative-roll .sheet-template-strong { + font-weight: bold; } -.sheet-rolltemplate-attack-roll .sheet-template-header { - background-color: rgba(50, 50, 50); - border-bottom: 1px solid black; - color: rgb(233, 233, 233); - padding: 2px 2px 2px 15px; - line-height: 1.6em; - font-size: 1.2em; +.sheet-rolltemplate-classic-roll .sheet-template-weak, +.sheet-rolltemplate-attack-roll .sheet-template-weak, +.sheet-rolltemplate-initiative-roll .sheet-template-weak { + color: rgba(80, 80, 80); } -.sheet-rolltemplate-attack-roll table { +.sheet-rolltemplate-classic-roll table, +.sheet-rolltemplate-attack-roll table, +.sheet-rolltemplate-initiative-roll table { width: 100%; } +.sheet-rolltemplate-classic-roll table td, +.sheet-rolltemplate-attack-roll table td, +.sheet-rolltemplate-initiative-roll table td{ + padding: 10px 5px 10px 5px; +} + +.sheet-rolltemplate-classic-roll .sheet-template-primes-penalites, +.sheet-rolltemplate-attack-roll .sheet-template-primes-penalites, +.sheet-rolltemplate-initiative-roll .sheet-template-primes-penalites { + border-top: 1px dotted gray; +} + +/* Classic roll */ + +.sheet-rolltemplate-classic-roll table tr { + border-bottom: 1px dotted gray; +} + +.sheet-rolltemplate-classic-roll .sheet-template-first-col { + width: 150px; +} + +/* Attack roll */ + .sheet-rolltemplate-attack-roll table th { height: 2em; text-align: center; padding: 0px 5px; } -.sheet-rolltemplate-attack-roll table td { - padding: 10px 5px 10px 5px; -} - .sheet-rolltemplate-attack-roll .sheet-template-row-rolls { border-bottom: 2px solid gray; text-align: center; } -.sheet-rolltemplate-attack-roll .sheet-template-white { - background-color: white; - color: black; -} - -.sheet-rolltemplate-attack-roll .sheet-template-black { - background-color: black; - color: white; -} - .sheet-rolltemplate-attack-roll .sheet-template-difficulte { border-left: 2px dotted gray; } @@ -545,19 +617,4 @@ input[type=checkbox] { font-weight: 200; } -.sheet-rolltemplate-attack-roll .inlinerollresult { - display: inline-block; - color: black; - min-width: 1.5em; - text-align: center; - border: 2px solid rgba(167, 168, 170,1); -} -.sheet-rolltemplate-attack-roll .inlinerollresult.fullcrit { - border: 2px solid #3FB315; -} -.sheet-rolltemplate-attack-roll .inlinerollresult.fullfail { - border: 2px solid #B31515; -} -.sheet-rolltemplate-attack-roll .inlinerollresult.importantroll { - border: 2px solid #4A57ED; -} \ No newline at end of file +/* Initiative roll */ \ No newline at end of file diff --git a/Les-Oublies/LesOublies.html b/Les-Oublies/LesOublies.html index 23caa4f80c..8259ae8e91 100644 --- a/Les-Oublies/LesOublies.html +++ b/Les-Oublies/LesOublies.html @@ -19,18 +19,19 @@ - + + +
    + +
    + + + + + +
    +
    +

    Compétences

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    RangActionRéactionDé bonus
    (Force de la nature)Force + + + + + + + +1D12 +
    (Guerrier)Corps à corps + + + + + + + +1D12 +
    (Guerrier)Mêlée + + + + + + + +1D12 +
    (Chasseur)Tir + + + + + + + +1D12 +
    (Ombre)Esquive + + + + + + +1D12 +
    +
    +
    + +
    + +
    @@ -1048,48 +1421,7 @@
    -
    - - - - - -
    - -
    -

    Armes

    - - -
    - - Nom - Taille - Dégâts - Particularités - Attaques - -
    -
    - - - - - - -
    -
    -
    - -
    +
    @@ -1233,6 +1565,18 @@ {{bonusdice}} + + {{#prime}} + + Prime : {{prime}} + + {{/prime}} + + {{#penalite}} + + Pénalité : {{penalite}} + + {{/penalite}}
    @@ -1269,6 +1613,45 @@ {{particularites}} {{/particularites}} + + {{#prime}} + + {{prime}} : + {{prime_descr}} + + {{/prime}} + + {{#penalite}} + + {{penalite}} : + {{penalite_descr}} + + {{/penalite}} + +
    + + + +
    + + + + + + + {{#prime}} + + + + {{/prime}} + + {{#penalite}} + + + + {{/penalite}}
    + Initiative : + {{roll}}
    Prime : {{prime}}
    Pénalité : {{penalite}}
    \ No newline at end of file diff --git a/Magical-Kitties/sheet.json b/Magical-Kitties/sheet.json index 43f6d6020c..ccef06df60 100644 --- a/Magical-Kitties/sheet.json +++ b/Magical-Kitties/sheet.json @@ -4,5 +4,5 @@ "authors": "Senjak, Andreas J.", "roll20userid": "5779412, 1223200", "preview": "magical-kitties-preview.png", - "instructions": "Basic Character Sheet for 'Magical Kitties Save the Day', published by [Atlas Games](https://www.atlas-games.com/).\n* Contains no roll buttons.\n* Works for both the original [Magical Kitties Save the Day](https://www.drivethrurpg.com/product/181721/Magical-Kitties-Save-the-Day) & the new Kickstarted edition." + "instructions": "Basic Character Sheet for 'Magical Kitties Save the Day', published by [Atlas Games](https://www.atlas-games.com/).\n* Works for both the original [Magical Kitties Save the Day](https://www.drivethrurpg.com/product/181721/Magical-Kitties-Save-the-Day) & the new Kickstarted edition." } \ No newline at end of file diff --git a/Malmsturm/malmsturm.html b/Malmsturm/malmsturm.html index 2e52686b97..e16b5991a1 100644 --- a/Malmsturm/malmsturm.html +++ b/Malmsturm/malmsturm.html @@ -62,6 +62,8 @@ + + @@ -657,6 +659,7 @@
    Beschränkungen: +
    @@ -22,11 +22,11 @@

    Hero Name:

    - +
    -
    -

    Power Points

    +
    +

    Plot Points

    @@ -248,14 +248,21 @@
    - - + + +
    @@ -303,14 +310,21 @@
    - - + + +
    @@ -375,7 +389,7 @@ - @@ -593,7 +607,7 @@

    NPC Name:

    - +
    @@ -710,7 +724,7 @@ - @@ -757,7 +771,7 @@
    Physical - @@ -770,7 +784,7 @@
    Mental - @@ -783,7 +797,7 @@
    Emotional - @@ -800,7 +814,7 @@
    Physical - @@ -813,7 +827,7 @@
    Mental - @@ -826,7 +840,7 @@
    Emotional - @@ -874,14 +888,21 @@
    - - + + +
    @@ -924,14 +945,21 @@
    - - + + +
    diff --git a/Marvel Heroic Roleplaying/translation.json b/Marvel Heroic Roleplaying/translation.json index f3b330c4de..b4b979e66a 100644 --- a/Marvel Heroic Roleplaying/translation.json +++ b/Marvel Heroic Roleplaying/translation.json @@ -4,7 +4,7 @@ "non-player-character": "NPC", "doom-dice-pool": "Doom Pool", "hero-name": "Hero Name:", - "power-points": "Power Points", + "plot-points": "Plot Points", "dice-pool": "Dice Pool", "roll-dice-pool": "Roll Pool", "clear-dice-pool": "Clear Pool", @@ -20,11 +20,11 @@ "add-d8-d": "Add D8", "stress": "Stress", "physical-stress": "Physical", - "knocked-out-physical": "Out", + "physically-knocked-out": "Out", "mental-stress": "Mental", - "knocked-out-mental": "Out", + "mentally-knocked-out": "Out", "emotional-stress": "Emotional", - "knocked-out-emotional": "Out", + "emotionally-knocked-out": "Out", "trauma": "Trauma", "physical-trauma": "Physical", "physically-dead": "Dead", @@ -38,7 +38,10 @@ "d8-enhanced-ability1": "D8 - Enhanced", "d10-superhuman-ability1": "D10 - Superhuman", "d12-godlike-ability1": "D12 - Godlike", - "power-name1": "Power Name", + "power-trait1": "Power Trait", + "stepped-back1": "Stepped Back", + "stepped-up1": "Stepped Up", + "shut-down1": "Shut Down", "add-d6-p1": "Add D6", "add-d8-p1": "Add D8", "add-d10-p1": "Add D10", @@ -55,7 +58,10 @@ "d8-enhanced-ability2": "D8 - Enhanced", "d10-superhuman-ability2": "D10 - Superhuman", "d12-godlike-ability2": "D12 - Godlike", - "power-name2": "Power Name", + "power-trait2": "Power Trait", + "stepped-back2": "Stepped Back", + "stepped-up2": "Stepped Up", + "shut-down2": "Shut Down", "add-d6-p2": "Add D6", "add-d8-p2": "Add D8", "add-d10-p2": "Add D10", @@ -204,7 +210,10 @@ "d8-enhanced-ability1-npc": "D8 - Enhanced", "d10-superhuman-ability1-npc": "D10 - Superhuman", "d12-godlike-ability1-npc": "D12 - Godlike", - "power-name1-npc": "Power Name", + "power-trait1-npc": "Power Trait", + "stepped-back1-npc": "Stepped Back", + "stepped-up1-npc": "Stepped Up", + "shut-down1-npc": "Shut Down", "add-d6-p1-npc": "Add D6", "add-d8-p1-npc": "Add D8", "add-d10-p1-npc": "Add D10", @@ -220,7 +229,10 @@ "d8-enhanced-ability2-npc": "D8 - Enhanced", "d10-superhuman-ability2-npc": "D10 - Superhuman", "d12-godlike-ability2-npc": "D12 - Godlike", - "power-name2-npc": "Power Name", + "power-trait2-npc": "Power Trait", + "stepped-back2-npc": "Stepped Back", + "stepped-up2-npc": "Stepped Up", + "shut-down2-npc": "Shut Down", "add-d6-p2-npc": "Add D6", "add-d8-p2-npc": "Add D8", "add-d10-p2-npc": "Add D10", diff --git a/Mongoose_Traveller2e/MongooseTraveller.css b/Mongoose_Traveller2e/MongooseTraveller.css index 8d26c92baf..b08357e88d 100644 --- a/Mongoose_Traveller2e/MongooseTraveller.css +++ b/Mongoose_Traveller2e/MongooseTraveller.css @@ -402,12 +402,12 @@ input.sheet-skillbox[type="checkbox"]:checked + span { } /*==== Button Reset ====*/ -button[type="roll"]:before { +button[type="roll"]:before, button[type="action"]:before { content: ""!important; display: none; } -button[type="roll"] { +button[type="roll"], button[type="action"] { width: 95%; height:24px; padding-bottom: 0; @@ -436,7 +436,7 @@ button[type="roll"]:hover { color:white } -button[type="roll"] label, button[type="roll"] input { +button[type="roll"] label, button[type="roll"] input, button[type="action"] label, button[type="action"] input { height:24px; line-height: 24px; text-align:center; @@ -466,7 +466,7 @@ button[type="roll"]:hover label, button[type="roll"]:hover input { /*==== sheet-button Reset ====*/ -button.sheet-button[type="roll"] { +button.sheet-button[type="roll"], button.sheet-button[type="action"] { width: 95%; height:24px; padding-bottom: 0; @@ -495,7 +495,7 @@ button.sheet-button[type="roll"]:hover { color:white } -button.sheet-button[type="roll"] label, button[type="roll"] input { +button.sheet-button[type="roll"] label, button[type="roll"] input, button.sheet-button[type="action"] label, button[type="action"] input { height:24px; line-height: 24px; text-align:center; @@ -514,6 +514,39 @@ button.sheet-button[type="roll"]:hover label, button[type="roll"]:hover input { color: white; border: none; } + +input.sheet-modselect[value="yes"] ~ .sheet-mod_yes, +input.sheet-modselect[value="no"] ~ .sheet-mod_no, +input.sheet-rollselect[value="normal"] ~ .sheet-roll_normal, +input.sheet-rollselect[value="boon"] ~ .sheet-roll_boon, +input.sheet-rollselect[value="bane"] ~ .sheet-roll_bane { + background-color: black; + border-color: red; + color:white +} + +input.sheet-modselect[value="yes"] ~ .sheet-button:not(.sheet-mod_yes), +input.sheet-modselect[value="no"] ~ .sheet-button:not(.sheet-mod_no), +input.sheet-rollselect[value="normal"] ~ .sheet-button:not(.sheet-roll_normal), +input.sheet-rollselect[value="boon"] ~ .sheet-button:not(.sheet-roll_boon), +input.sheet-rollselect[value="bane"] ~ .sheet-button:not(.sheet-roll_bane) { + background-color: white; + border-color: red; + color:black +} + +.sheet-mod-switch[value="1"] ~ .sheet-mod_toggle, +.sheet-mod-switch[value="2"] ~ .sheet-mod_toggle, +.sheet-roll-switch[value="1"] ~ .sheet-roll_toggle, +.sheet-roll-switch[value="2"] ~ .sheet-roll_toggle { + display: none +} + +.sheet-mod-switch[value="3"] ~ .sheet-mod_toggle, +.sheet-roll-switch[value="3"] ~ .sheet-roll_toggle { + display: inline +} + /* ==== sheet 2 colrow ====*/ .charsheet .sheet-2colrow .sheet-col { diff --git a/Mongoose_Traveller2e/MongooseTraveller.html b/Mongoose_Traveller2e/MongooseTraveller.html index 828261e8f6..8595a7d2f2 100644 --- a/Mongoose_Traveller2e/MongooseTraveller.html +++ b/Mongoose_Traveller2e/MongooseTraveller.html @@ -3,6 +3,45 @@
    + + +
    + +
    + Roll behaviour: + + + Ask for Modifier? + + +
    +
    +
    + + + + + + + + + +    + + + + + + +
    @@ -22,38 +61,38 @@ - + - + - + - + - + - + @@ -337,7 +376,7 @@ - + - + - +
    Mod
    - + @@ -460,7 +499,7 @@ - +
    - + @@ -517,7 +556,7 @@ - +
    - + @@ -573,7 +612,7 @@ - + - + - + - + - + - +
    - + @@ -794,7 +833,7 @@ - +
    - + @@ -850,7 +889,7 @@ - +
    - + @@ -906,7 +945,7 @@ - + - +
    - + @@ -995,7 +1034,7 @@ - + - +
    - + @@ -1084,7 +1123,7 @@ - +
    - + @@ -1140,7 +1179,7 @@ - +
    - + @@ -1196,7 +1235,7 @@ - + - + - +
    - + @@ -1318,7 +1357,7 @@ - + - + - + - +
    - + @@ -1473,7 +1512,7 @@ - + - + - +
    - + @@ -1595,7 +1634,7 @@ - +
    - + @@ -1651,7 +1690,7 @@ - + - +
    - + @@ -1740,7 +1779,7 @@ - + -
    - +
    + +
    diff --git a/WIthin/images/within_background.jpg b/WIthin/images/within_background.jpg new file mode 100644 index 0000000000..5e3f5fcdd6 Binary files /dev/null and b/WIthin/images/within_background.jpg differ diff --git a/WIthin/images/within_logo.png b/WIthin/images/within_logo.png new file mode 100644 index 0000000000..8f96910b15 Binary files /dev/null and b/WIthin/images/within_logo.png differ diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index 7ea6b70236..b6ec849916 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -8,6 +8,12 @@ I'm a active WFRP player and I plan to further enhance this sheet at time goes o ///// ============ Change Log ============ ///// +August 24th 2020 v1.21 + +- fencing skill roll fixed ( issue #7214 ) +- hit location was not inverting target result fixed + + August 3rd 2020 v1.2 NEW - Mutation Roll button added for Physical/Mental Mutation rolls, with a selection between all chaos powers or individual gods. Also includes Fixation table roll selection. diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index dee4df2fca..58b6fdcd9f 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -1881,15 +1881,15 @@
    @@ -1906,7 +1906,7 @@
    - +
    @@ -3214,15 +3214,15 @@
    @@ -3239,7 +3239,7 @@
    - +
    @@ -4550,15 +4550,15 @@
    @@ -4575,7 +4575,7 @@
    - +
    @@ -5886,15 +5886,15 @@
    @@ -5911,7 +5911,7 @@
    - +
    @@ -7464,7 +7464,7 @@
    - +
    @@ -11178,12 +11178,12 @@ -
    Editor In Chief
    +
    Editor in Chief
    -
    Mastermind
    +
    +
    + Mastermind +
    -
    Organizations
    +
    +
    + Organizations +
    - -
    1
    + +
    +
    1
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    - -
    2
    + +
    +
    2
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    - -
    3
    + +
    +
    3
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    - -
    4
    + +
    +
    4
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    + +
    -
    Master Plan End Goal
    +
    +
    + Master Plan End Goal +
    - +
    - +
    - +
    - +
    -
    + +
    -
    Mobs
    +
    +
    + Mobs +
    +
    -
    Mob Name
    +
    +
    + Mob Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Size
    +
    +
    + Size +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    -
    +
    +
    -
    Mob Name
    +
    +
    + Mob Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Size
    +
    +
    + Size +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    -
    + +
    -
    Mob Name
    +
    +
    + Mob Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Size
    +
    +
    + Size +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    - + +
    -
    Punching Bags
    +
    +
    + Punching Bags +
    -
    Punching Bag Name
    +
    +
    + Punching Bag Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Condition Threshold
    +
    +
    + Condition Threshold +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    -
    +
    +
    -
    Punching Bag Name
    +
    +
    + Punching Bag Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Condition Threshold
    +
    +
    + Condition Threshold +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    -
    + +
    -
    Punching Bag Name
    +
    +
    + Punching Bag Name +
    +
    -
    Instinct
    +
    +
    + Instinct +
    +
    -
    Condition Threshold
    +
    +
    + Condition Threshold +
    +
    -
    Motivations/Ties
    +
    +
    + Motivations/Ties +
    +
    -
    Moves/Powers
    +
    +
    + Moves/Powers +
    +
    -
    - - + + + @@ -174,69 +355,119 @@
    -
    CODENAME
    -
    +
    +
    + CODENAME +
    +
    + +
    +
    +
    -
    -
    MANEUVER
    +
    + +
    +
    + + MANEUVER +
    -
    -
    INVESTIGATE
    +
    + +
    +
    + + INVESTIGATE +
    -
    -
    PROTECT
    +
    + +
    +
    + + PROTECT +
    -
    -
    INFLUENCE
    +
    + +
    +
    + + INFLUENCE +
    -
    -
    SMASH
    +
    + +
    +
    + + SMASH +
    -
     
    -
    PUSH
    +
    +   +
    +
    + + PUSH +
    -

    +

    +
    -
    Moves
    +
    +
    + Moves +

    - - Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. - For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign. + + Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.

    - + - +
    - + - +
    @@ -245,12 +476,19 @@
    -
    Conditions
    +
    +
    + Conditions +
    - -

    Could be dangerous if ignored

    + +

    + Could be dangerous if ignored +

    @@ -259,8 +497,12 @@
    - -

    Take a -1 if I do anything involving this

    + +

    + Take a -1 if I do anything involving this +

    @@ -269,8 +511,12 @@
    - -

    Take a -1 to everything (Maximum -4)

    + +

    + Take a -1 to everything (Maximum -4) +

    @@ -281,38 +527,51 @@
    -
    Power Profile
    +
    +
    + Power Profile +
    - +
    - +
    - +
    - +
    - +
    @@ -321,55 +580,79 @@
    -
    Bonds
    +
    +
    + Bonds +
    - -
    + +
    + +

    - Burn a bond to ensure success on a roll. A 6- becomes a 7-9, - a 7-9 becomes a 10+, and a 10+ becomes a - 12+. + Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+. +

    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -379,33 +662,49 @@
    -
    Origin
    +
    +
    + Origin +
    -
    Nemesis
    +
    +
    + Nemesis +
    -
    Working Towards
    +
    +
    + Working Towards +
    - +
    -
    Hero Profile
    +
    + Hero Profile +
    -
    Team Profile
    +
    +
    + Team Profile +
    @@ -413,55 +712,85 @@
    -
    Powers
    +
    +
    + Powers +
    -
    Limitations
    +
    +
    + Limitations +
    -
    Advantages
    +
    +
    + Advantages +
    -
    Psychological Profile
    +
    +
    + Psychological Profile +
    -
    Drive:
    +
    + Drive: +
    - + - +
    -
    Drive:
    +
    + Drive: +
    - + - +
    -
    Drive:
    +
    + Drive: +
    - + - +
    @@ -477,21 +806,23 @@
    {{#rollGreater() result 9}} - + {{/rollGreater() result 9}} {{#rollBetween() result 7 9}} - + {{/rollBetween() result 7 9}} {{#rollLess() result 7}} - + {{/rollLess() result 7}} {{#hold}} @@ -500,7 +831,7 @@ - + {{/hold}}
    - + @@ -1796,7 +1835,7 @@ - + - + - + - + - + {{/duration}} {{#saving_throw}} - {{/saving_throw}} + {{/saving_throw}} + {{#save_effect}} + {{/save_effect}} {{#sr}} {{/sr}} {{#rng_attack}} diff --git a/Starfinder (simple)/sheet.json b/Starfinder (simple)/sheet.json index 78d8c6575e..4fbefb6995 100644 --- a/Starfinder (simple)/sheet.json +++ b/Starfinder (simple)/sheet.json @@ -3,6 +3,7 @@ "css": "Starfinder (simple).css", "authors": "Phillip Goettsch", "roll20userid": "239016", + "compendium": "starfinder", "preview": "Starfinder_simple_preview.jpg", - "instructions": "This sheet has been created through heavy modification of the Pathfinder (old) sheet created by Samuel Marino. Please see the notes below:\n## Roll templates\n You can see a demonstration of the roll templates by following this [link](https://tarrasque.wordpress.com/2017/10/14/starfinder-simple-roll-templates/).The following roll templates are included in this character sheet:\n*pf\_check\n*pf\_attack\n*pf\_spell\n## Key Ability Function\n The Starfinder Ruleset uses a *Key Ability* (based on character class) this can be an issue for characters that multiclass. In these cases be sure to select only the *Key Ability* with the highest modifier as it will be used to calculate the character's Resovle Points.\n## Stamina/Hit/Resolve Points\n These attributes are calculated by a formula which can be manually edited within the character sheet. If you make a change and find errors, the best way to restore to default is delete the entire contents of the block and press enter. This should restore the default formula value.\n## Starship Functions\n In order to make the sheet more useful during starship combat a number of sheet roll buttons have been added in. These macros for these buttons are not as intuitive as those for Skill Checks and Weapon Attacks, so I will add some instruction here.\n **PC Crew Actions:** With the exception of the Gunner Action button, these buttons all generally work the same. After clicking the button you will be asked to target the Acting Character. You should click on a token that represents the character taking the action. Next you will be asked to target your Own Starship. You should click on a token that represents the starship the gunner is using. If the action requires information from the other starship in the battle it will ask you to target the Enemy Starship. You should click on a token that represents the starship you are attacking. For Gunner Actions, you should use the button for the weapon you want to fire. You will have to target the Acting Character and your Own Starship tokens as before.\n **NPC Crew Actions:** For GMs, the NPC Crew Actions operate in a similar manner. Input the Captain's modifiers on the Character Tab of the sheet (they usually has multiple skill bonuses) and the other crew member bonuses (just the modifier number) on the Starship Tab under NPC Crew Actions. Now you can use the NPC Crew Action Buttons. As before you will be asked to target an Acting Character, this time it is the NPC Starship. Also, you will be asked to target your Own Starship; click the same token. The Enemy Starship is the PC Starship now. For NPC Gunnery Actions, use the Gunner NPC Crew Action button, following the guidance above.\n## Firefox users\n The radio buttons at the top of the character sheet should be tabs, but your browser doesn't support the code used to display them. I am sorry to hear this and do not believe I will be able to do anything to make it look correct. Mouse over text on each circle shows the tab name.\n## Comments\n Please let me know what you think of the sheet; all comments and suggestions are seriously considered. The best place to share your thoughts is at the [campaign forum](https://app.roll20.net/join/2583239/ZMeN-A).\n *I would like to thank everyone that has provided feedback, you have made it so much easier to find and fix the problems.*" + "instructions": "This sheet has been created through heavy modification of the Pathfinder (old) sheet created by Samuel Marino. Please see the notes below:\n## Roll templates\n You can see a demonstration of the roll templates by following this [link](https://tarrasque.wordpress.com/2017/10/14/starfinder-simple-roll-templates/).The following roll templates are included in this character sheet:\n*pf_check\n*pf_attack\n*pf_spell\n## Key Ability Function\n The Starfinder Ruleset uses a *Key Ability* (based on character class) this can be an issue for characters that multiclass. In these cases be sure to select only the *Key Ability* with the highest modifier as it will be used to calculate the character's Resovle Points.\n## Stamina/Hit/Resolve Points\n These attributes are calculated by a formula which can be manually edited within the character sheet. If you make a change and find errors, the best way to restore to default is delete the entire contents of the block and press enter. This should restore the default formula value.\n## Starship Functions\n In order to make the sheet more useful during starship combat a number of sheet roll buttons have been added in. These macros for these buttons are not as intuitive as those for Skill Checks and Weapon Attacks, so I will add some instruction here.\n **PC Crew Actions:** With the exception of the Gunner Action button, these buttons all generally work the same. After clicking the button you will be asked to target the Acting Character. You should click on a token that represents the character taking the action. Next you will be asked to target your Own Starship. You should click on a token that represents the starship the gunner is using. If the action requires information from the other starship in the battle it will ask you to target the Enemy Starship. You should click on a token that represents the starship you are attacking. For Gunner Actions, you should use the button for the weapon you want to fire. You will have to target the Acting Character and your Own Starship tokens as before.\n **NPC Crew Actions:** For GMs, the NPC Crew Actions operate in a similar manner. Input the Captain's modifiers on the Character Tab of the sheet (they usually has multiple skill bonuses) and the other crew member bonuses (just the modifier number) on the Starship Tab under NPC Crew Actions. Now you can use the NPC Crew Action Buttons. As before you will be asked to target an Acting Character, this time it is the NPC Starship. Also, you will be asked to target your Own Starship; click the same token. The Enemy Starship is the PC Starship now. For NPC Gunnery Actions, use the Gunner NPC Crew Action button, following the guidance above.\n## Firefox users\n The radio buttons at the top of the character sheet should be tabs, but your browser doesn't support the code used to display them. I am sorry to hear this and do not believe I will be able to do anything to make it look correct. Mouse over text on each circle shows the tab name.\n## Comments\n Please let me know what you think of the sheet; all comments and suggestions are seriously considered. The best place to share your thoughts is at the [campaign forum](https://app.roll20.net/join/2583239/ZMeN-A).\n *I would like to thank everyone that has provided feedback, you have made it so much easier to find and fix the problems.*" } diff --git a/Stars_Without_Number_Revised/translations/fr.json b/Stars_Without_Number_Revised/translations/fr.json index 59ca9b614e..31aa988a07 100644 --- a/Stars_Without_Number_Revised/translations/fr.json +++ b/Stars_Without_Number_Revised/translations/fr.json @@ -1,21 +1,21 @@ { - "+SKILL": "+skill", - "+STR": "+str", - "ABILITIES": "Talents", + "+SKILL": "+compétence", + "+STR": "+for", + "ABILITIES": "Capacités", "ABILITY": "Caractéristique", "ABLATIVE_HULL_COMPARTMENTS": "Ablative Hull Compartments", "AC": "CA", "ACCELERATED_SUCCOR": "Accelerated Succor", "ACCELERATED_SUCCOR_DESC": "The biopsion’s Psychic Succor now can be used as an On Turn power, albeit only once per round. By Committing an additional Effort for the day with each use, it can even be used as an Instant power, though it still can only be used once per round. Any surcharges for augmenting the succor apply normally, such as with Tissue Integrity Field.", - "ACTIVE?": "Active?", + "ACTIVE?": "Actif ?", "AC_DESC": "Determined by armor in Gear section", "ADD": "Ajouter", - "ADD_EXTRA_SKILLS": "Add extra skills", + "ADD_EXTRA_SKILLS": "Ajouter des compétences sup.", "ADD_EXTRA_SKILLS_DESC": "Adds an extendable extra skill list for custom skills.", - "ADD_LUCK_SAVE": "Add a luck save", + "ADD_LUCK_SAVE": "Ajouter un jet de sauv. de chance", "ADD_LUCK_SAVE_DESC": "Add a homebrew Luck Save for those times where only pure luck can pull the character through.", "ADEPT": "Adepte", - "ADMINISTER": "Administer", + "ADMINISTER": "Administrer", "ADRENAL_SUPPRESSION_PUMP": "Adrenal Suppression Pump", "ADRENAL_SUPPRESSION_PUMP_DESC": "These endocrine pumps neutralize numerous brain chemicals in the user when activated while exciting the user’s perceptual centers. This combination produces a cold, dispassionate situational awareness that grants the user +2 on initiative rolls when the system is engaged. Most systems have built-in safety overrides to prevent psychological addiction and brain damage, allowing the unit to be used for no more than an hour each day. The user takes a -2 penalty on all social skill checks while the unit is active, and it requires five rounds to toggle it.", "ADVANCED_BOW": "Advanced Bow", @@ -29,12 +29,12 @@ "AI_COMPANION": "AI Companion", "AI_COMPANION_DESC": "True AI was never easily made by pretech scientists. AIs required individual care during their development, and a disturbing percentage of them had to be “braked” at sub-human levels in order to prevent runaway cogitation on imponderable philosophical questions and the ensuing metastatic insanity that followed. Some AIs managed to attain a human level of sentience before requiring brakes. The less brilliant of these AIs could be contained in hardware no larger than five or six centimeters on a side, usually with integral sensors and vocalization units. If an AI companion takes a liking to a PC, they can be useful allies; they all have effective Program and Fix skills at level 3 or greater, and may have additional capabilities. A distressing number of these AIs have their own purposes, however, that are not necessarily complementary to those of their “owners”.", "ALECTO": "Alecto", - "ALERT": "Alert", - "ALERT_DESC": "You are keenly aware of your surroundings and virtually impossible to take unaware. You have an instinctive alacrity of response that helps you act before less wary persons can think to move.\nLevel 1: Gain Notice as a bonus skill. You cannot be surprised, nor can others use the Execution Attack option on you. When you roll initiative, roll twice and take the best result.\nLevel 2: You always act first in a combat round unless someone else involved is also this Alert.", + "ALERT": "Alerte", + "ALERT_DESC": "Vous êtes parfaitement conscient de votre environnement et pratiquement impossible à ignorer. Vous avez une rapidité de réponse instinctive qui vous aide à agir avant que les personnes moins méfiantes pensent à bouger. You have an instinctive alacrity of response that helps you act before less wary persons can think to move.\nNiveau 1: Gagner Remarquer en compétence bonus. Vous ne pouvez pas être surpris, et les autres ne peuvent pas utiliser une Attaque d'exécution sur vous. Lorsque vous lancez l'initiative, lancez deux fois et prenez le meilleur résultat. \nNiveau 2: Vous agissez toujours en premier lors d'un round de combat à moins que quelqu'un d'autre impliqué soit également Alerte.", "ALTERNATE_OUTCOME": "Alternate Outcome", "ALTERNATE_OUTCOME_DESC": "The precog can sense impending failure and attempt to salvage the action. As an Instant action, the precog can target a visible ally or their own self and Commit Effort for the day to allow the target to reroll a failed hit roll, saving throw, or skill check, taking the better of the two rolls. This power disrupts delicate lines of probability, however, and cannot be used on any given target more than once a day.", "ALWAYS": "Toujours", - "AMMO": "Mun", + "AMMO": "Munition", "AMMO_20_ROUNDS": "Ammo, 20 rounds", "AMMO_20_ROUNDS_DESC": "A few worlds are too primitive or too resource-poor to manufacture ammunition, but the vast majority of worlds provide cartridges in almost every conceivable caliber and make. Most local gunsmiths can load ammunition to any specification required by a buyer.", "AMMO_AND_POWER": "Ammo & Power", @@ -58,13 +58,13 @@ "ARMORY": "Armurerie", "ARMORY_DESC": "Weapons and armor for the crew.", "ARMOR_CLASS": "Classe d'Armure", - "ARMSMAN": "Armsman", - "ARMSMAN_DESC": "You have an unusual competence with thrown weapons and melee attacks. This focus’ benefits do not apply to unarmed attacks or projectile weapons. For thrown weapons, you can’t use the benefits of the Armsman focus at the same time as Gunslinger.\nLevel 1: Gain Stab as a bonus skill. You can draw or sheath a Stowed melee or thrown weapon as an Instant action. You may add your Stab skill level to a melee or thrown weapon’s damage roll or Shock damage, assuming it has any to begin with.\nLevel 2: Your primitive melee and thrown weapons count as TL4 weapons for the purpose of overcoming advanced armors. Even on a miss with a melee weapon, you do an unmodified 1d4 damage to the target, plus any Shock damage. This bonus damage doesn’t apply to thrown weapons or attacks that use the Punch skill.", - "ARTIFACT": "Artefact", + "ARMSMAN": "Homme d'armes", + "ARMSMAN_DESC": "Vous avez une compétence inhabituelle avec les armes lancées et les attaques de mêlée. Les avantages de ce focus ne s’appliquent pas aux attaques à mains nues ou aux armes à projectiles. Pour les armes lancées, vous ne pouvez pas utiliser les avantages du focus Homme d'armes en même temps que Pistolero.\nNiveau 1: Gagner Poignarder en compétence bonus. Vous pouvez dégainer ou rengainer une arme de mélée ou de lancer en action instantannée. Vous pouvez ajouter votre niveau de compétence Poignarder au jet de dégâts ou aux dégâts de choc d'une arme de mêlée ou lancer, en supposant qu'elle en ait au départ.\nNiveau 2: Vos armes primitives de mêlée et de lancer comptent comme des armes TL4 dans le but de surmonter les armures avancées. Même en cas d'échec avec une arme de mêlée, vous infligez 1d4 dégâts non modifiés à la cible, plus les dégâts de choc. Ce bonus de dégâts ne s'applique pas aux armes lancées ou aux attaques utilisant la compétence Frapper.", + "ARTIFACT": "Artéfact", "ARTIST": "Artiste", - "ASK": "Ask", + "ASK": "Demander", "ASSASSIN": "Assassin", - "ASSASSIN_DESC": "You are practiced at sudden murder, and have certain advantages in carrying out an Execution Attack as described in the rules on page 52.\nLevel 1: Gain Sneak as a bonus skill. You can conceal an object no larger than a knife or pistol from anything less invasive than a strip search, including normal TL4 weapon detection devices. You can draw or produce this object as an On Turn action, and your point-blank ranged attacks made from surprise with it cannot miss the target.\nLevel 2: You can take a Move action on the same round as you make an Execution Attack, closing rapidly with a target before you attack. You may split this Move action when making an Execution Attack, taking part of it before you murder your target and part of it afterwards. This movement happens too quickly to alert a victim or to be hindered by bodyguards, barring an actual physical wall of meat between you and your prey.", + "ASSASSIN_DESC": "Vous êtes habitué au meurtre soudain et avez certains avantages à effectuer une Attaque d'exécution comme décrit dans les règles à la page 52.\nNiveau 1: Gagner Se Faufiler en compétence bonus. Vous pouvez cacher un objet pas plus gros qu'un couteau ou un pistolet de tout ce qui est moins invasif qu'une fouille à nu, y compris les dispositifs de détection d'armes TL4 normaux. Vous pouvez dégainer ou faire apparaître cet objet en tant qu'Action Au tour, et vos attaques à distance à bout portant faites par surprise avec celui-ci ne peuvent pas manquer la cible.\nNiveau 2: Vous pouvez effectuer une action Déplacement dans le même tour que vous effectuez une Attaque d'exécution, vous rapprochant rapidement d'une cible avant d'attaquer. Vous pouvez diviser cette action de déplacement lorsque vous effectuez une Attaque d'exécution, en prenant une partie avant le meurtre de votre cible et après. Ce mouvement se produit trop rapidement pour alerter une victime ou pour être gêné par des gardes du corps, à l'exception d'un mur physique de viande entre vous et votre proie.", "ASSAULT_SUIT": "Assault Suit", "ASSAULT_SUIT_DESC": "An assault suit represents the most sophisticated armor in common use among TL4 worlds. An assault suit requires a type B power cell for 24 hours of operation, and provides integral encrypted military comms, low-light and infrared vision, and a built-in energy feed interface. The latter allows the wearer to connect the suit to any one weapon or device that uses a type A power cell as a Main Action. So long as the device remains connected to the suit, it is treated as having unlimited ammunition or operation time. The suit also functions as a vacc suit so long as it remains powered, one that cannot be torn by edged weapons.", "ASSISTED": "Assisted", @@ -78,29 +78,29 @@ "ATTACK_BONUS": "Bonus d’attaque", "ATTACK_BONUS_SHORT": "BA", "ATTR": "Attr", - "ATTRIBUTE": "Attribute", + "ATTRIBUTE": "Attribut", "AUGMENTED_PLATING": "Augmented Plating", "AUTHORITY": "Autorité", - "AUTHORITY_DESC": "You have an uncanny kind of charisma about you, one that makes others instinctively follow your instructions and further your causes. At level 1, this is a knack of charm and personal magnetism, while level 2 might suggest latent telepathic influence or transhuman memetic hacking augmentations. Where this focus refers to followers, it means NPCs who have voluntarily chosen to be in your service. PCs never count as followers.\nLevel 1: Gain Lead as a bonus skill. Once per day, you can make a request from an NPC who is not openly hostile to you, rolling a Cha/Lead skill check at a difficulty of the NPC’s Morale score. If you succeed, they will comply with the request, provided it is not harmful or extremely uncharacteristic.\nLevel 2: Those who follow you are fired with confidence. Any NPC being directly led by you gains a Morale and hit roll bonus equal to your Lead skill and a +1 bonus on all skill checks. Your followers will not act against your interests unless under extreme pressure.", - "AUTOMATION_SUPPORT": "Automation Ssupport", + "AUTHORITY_DESC": "Vous avez une sorte de charisme étrange à votre sujet, qui fait que les autres suivent instinctivement vos instructions et font avancer vos causes. Au niveau 1, c'est un talent de charme et de magnétisme personnel, tandis que le niveau 2 pourrait suggérer une influence télépathique latente ou des augmentations mémétique transhumaines. Si ce focus se réfère à des servants, cela signifie que les PNJ ont volontairement choisi d'être à votre service. Les PJ ne comptent jamais comme des adeptes.\nNiveau 1: Gagner Mener en compétence bonus. Une fois par jour, vous pouvez faire une demande à un PNJ qui ne vous est pas ouvertement hostile, en effectuant un test de compétence Cha / Mener avec comme difficulté le score de Moral du PNJ. Si vous réussissez, il se conformera à la demande, à condition qu'elle ne soit pas nuisible ou extrêmement inhabituelle.\nNiveau 2: Ceux qui vous suivent sont remplis de confiance. Tout PNJ directement dirigé par vous gagne un bonus de moral et de jet d'attaque égal à votre compétence Mener et un bonus de +1 à tous les tests de compétence. Vos servants n'agiront pas contre vos intérêts à moins d'être soumis à une pression extrême.", + "AUTOMATION_SUPPORT": "Automation support", "AUTOMATION_SUPPORT_DESC": "Ship can use simple robots as crew.", "AUTO_TARGETING_SYSTEM": "Auto-targeting system", "AUTO_TARGETING_SYSTEM_DESC": "Fires one weapon system per round without a gunner.", "BACKGROUND": "Fond", - "BACKPACK": "Backpack", + "BACKPACK": "Sac à dos", "BACKPACK_DESC": "TL4 versions of this item are effectively without encumbrance, albeit they cost 50 credits. A worn backpack counts as a readied item, though objects stowed inside it still require the usual round to dig free. Characters without backpacks or similar carrying devices might have difficulty justifying the hauling of large amounts of gear.", "BARBARIAN_HERO": "Barbarian Hero", "BARBARIAN_TRIBAL": "Barbarian Tribal", "BASE": "Base", "BATTLESHIP": "Battleship", - "BEAST": "Créature", + "BEAST": "Bête", "BEZOAR": "Bezoar", "BEZOAR_DESC": "Requires Heal-1. A complex antibiotic cocktail, Bezoar is an effective default treatment for a wide variety of infectious diseases. When applied to a sufferer, roll 1d6; on a 1, this victim cannot be helped by Bezoar, while otherwise the affliction is cured within 24 hours. Each application of Bezoar adds 1 System Strain to the target, and it cannot cure cancers, bioweapons, or congenital diseases.", - "BINOCULARS": "Binoculars", + "BINOCULARS": "Jumelles", "BINOCULARS_DESC": "Standard 7x50 binoculars. TL4 versions are available that have integral low-light optics and up to 25x150 power. TL 4 binocs cost 200 credits and require a type A power cell for up to a week of regular usage.", "BIOADAPTATION_AUGMENTS": "Bioadaptation Augments", "BIOADAPTATION_AUGMENTS_DESC": "These additional synthetic organs and filters allow the bearer to survive in thin-atmosphere conditions, as well as tolerate temperatures ranging from Antarctic chill to heat sufficient to boil water. They can also eat a wide range of native life forms for sustenance; no normal planet’s native biology is ever considered immiscible for consumption.", - "BIOPSIONICS": "Biopsionics", + "BIOPSIONICS": "Biopsioniques", "BIOSCANNER": "Bioscanner", "BIOSCANNER_DESC": "While an untrained user can use this tool to discern internal bleeding, gross physical distress, or toxins in a plant or animal, it requires Heal-0 skill to use this tool to its fullest. Such operators can use the bioscanner for a full spectrum of diagnosis and DNA sequencing achievable in minutes. One type A power cell will power it for up to twenty-four hours of regular usage.", "BLACK_SLAB": "Black slab", @@ -113,7 +113,7 @@ "BODY_ARSENAL_ARRAY_DESC": "Some personnel need to be armed at all times without giving any indication of such. Improvised weaponry and conventional holdout weapons are useful enough against soft targets, but disabling a target in powered armor requires more. The details of the array vary from user to user, but usually act as advanced medium weapons that can be used with either Punch or Stab skills and at least one integral energy projector equal to a laser rifle, one that must be powered by an insertable type A power cell. Retracted body arsenals can be detected only by a medical examination.", "BODY_SCULPTING": "Body Sculpting", "BODY_SCULPTING_DESC": "Not so much a single implant as a series of complex surgeries, body sculpting is available on many TL4 worlds with fairly advanced medical services. After a week of alterations and treatments a subject’s external appearance can be set within any human or near-human range, including full retinal and fingerprint matching to a desired target. A TL5 version of this treatment that costs ten times as much can involve extensive DNA reprogramming to change the subject at a genetic level, making their alterations heritable and allowing female-targeted shapes to bear offspring. This TL5 treatment is not reversible, and any further major alterations to the subject require further permanent System Strain.", - "BOMBER": "Bomber", + "BOMBER": "Bombardier", "BOMBER_DESC": "The drone is fitted to drop up to two grenade-sized explosives, one or both in lieu of a different weapon attack. Dropping a grenade from more than 30 meters up automatically causes the grenade to scatter from its intended target point.", "BONUS": "Bonus", "BOOSTS": "Boosts", @@ -137,7 +137,7 @@ "CARGO_SPACE_DESC": "Pressurized cargo space.", "CARRIER": "Carrier", "CHARACTER": "Personnage", - "CHARACTER_OPTIONS": "Character options", + "CHARACTER_OPTIONS": "Options de personnage", "CHARGED_PARTICLE_CASTER": "Charged Particle Caster", "CHARISMA": "Charisme", "CHARISMA_DESC": "Commanding, charming, attracting attention, being taken seriously", @@ -154,13 +154,13 @@ "CHOOSE_WEAPON": "Choose weapon", "CIVILIAN_SECURITY_BOT": "Civilian Security Bot", "CLASS": "Classe", - "CLASS_ABILITY": "Class ability", + "CLASS_ABILITY": "Capacité de classe", "CLIMBING_HARNESS": "Climbing harness", "CLIMBING_HARNESS_DESC": "A collection of straps, ropes, pitons, and other climbing aids that grant a +1 bonus on any Exert climbing skill test. Using a climbing harness is noisy, and any Sneak skill checks while climbing with one suffer a -2 penalty.", "CLOAK_POWERS": "Cloak Powers", "CLOAK_POWERS_DESC": "The metapsion can conceal their own psychic abilities from metapsionic senses. They must Commit Effort for as long as they wish to cloak their powers. While hidden, only a metapsion with equal or higher skill in Metapsionics can detect their abilities with their level-0 or level-2 Psychic Refinement abilities. In such cases, an opposed Wis/Metapsionics roll is made between the metapsion and the investigator. If the investigator wins, the cloak is pierced, while if the metapsion wins, the investigator’s Psychic Refinement remains oblivious.", - "CLOSE_COMBATANT": "Close Combatant", - "CLOSE_COMBATANT_DESC": "You’ve had all too much practice at close-in fighting and desperate struggles with pistol or blade. You’re extremely skilled at avoiding injury in melee combat, and at level 2 you can dodge through a melee scrum without fear of being knifed in passing.\nLevel 1: Gain any combat skill as a bonus skill. You can use pistol-sized ranged weapons in melee without suffering penalties for the proximity of melee attackers. You ignore Shock damage from melee assailants, even if you’re unarmored at the time.\nLevel 2: The Shock damage from your melee attacks treats all targets as if they were AC 10. The Fighting Withdrawal combat action is treated as an On Turn action for you and can be performed freely.", + "CLOSE_COMBATANT": "Combattant de corps à corps", + "CLOSE_COMBATANT_DESC": "Vous avez beaucoup d’entraînement en combat rapproché et en luttes désespérées avec un pistolet ou une lame. Vous êtes extrêmement doué pour éviter les blessures en combat au corps à corps, et au niveau 2, vous pouvez esquiver en pleine mêlée sans craindre d'être poignardé au passage.\nNiveau 1: Gagner n'importe quelle compétence de combat en compétence bonus. Vous pouvez utiliser des armes à distance de la taille d'un pistolet en mêlée sans subir de pénalités pour la proximité des attaquants de mêlée. Vous ignorez les dégâts de Choc des assaillants de mêlée, même si vous n'êtes pas armé à ce moment-là.\nNiveau 2: Les dégâts de Choc de vos attaques de mêlée traitent toutes les cibles comme si elles avaient CA 10. L'action de combat Retrait de combat est traitée comme une action Au tour pour vous et peut être effectuée librement.", "CLOUD": "Cloud", "CLUMSY": "Maladroit", "COLD_SLEEP_PODS": "Cold sleep pods", @@ -182,7 +182,7 @@ "COMBAT_UNARMED": "Combat/Unarmed", "COMMITTED_EFFORT": "Committed Effort", "COMMUNICATIONS": "Communications", - "COMM_SERVER": "Comm server", + "COMM_SERVER": "Serveur de comm", "COMM_SERVER_DESC": "A powerful base unit for providing communications without comsats. The server provides service between up to three dozen compads within 300 kilometers of the unit. Server usage can be locked to specific compads, and all transmissions are heavily encrypted. A comm server can function for several months on a type B cell.", "COMPAD": "Compad", "COMPAD_DESC": "One of a host of different hand-held portable communications devices. Most TL4 worlds have global comm coverage, but primitive worlds render these devices useless without a nearby comm server to provide connectivity.", @@ -191,9 +191,9 @@ "COMPUTING_GEAR": "Computing Gear", "CONCERT_OF_MINDS": "Concert of Minds", "CONCERT_OF_MINDS_DESC": "As an On Turn action, the metapsion may Commit Effort and form a psychic gestalt with one or more willing psychics within three meters, including up to one other psychic per Metapsion skill level. This gestalt persists as long as the Effort remains committed, regardless of the subsequent distance between psychics. On their own turn, any member of the gestalt may use any power or technique known by any other member, using the other member’s skill levels as necessary and paying any Effort cost from their own pool. This gestalt shares only psychic power, not thoughts or senses. At the end of each round in which one or more members have used some other member’s powers or abilities on their turn of action, the metapsion must Commit Effort for the scene or the gestalt drops and cannot be re-established for the rest of the scene.", - "CONNECT": "Connect", - "CONNECTED": "Influent", - "CONNECTED_DESC": "You’re remarkably gifted at making friends and forging ties with the people around you. Wherever you go, you always seem to know somebody useful to your ends.\nLevel 1: Gain Connect as a bonus skill. If you’ve spent at least a week in a not-entirely-hostile location, you’ll have built a web of contacts willing to do favors for you that are no more than mildly illegal. You can call on one favor per game day and the GM decides how far they’ll go for you.\nLevel 2: Once per game session, if it’s not entirely implausible, you meet someone you know who is willing to do modest favors for you. You can decide when and where you want to meet this person, but the GM decides who they are and what they can do for you.", + "CONNECT": "Contacter", + "CONNECTED": "Rentrer en contact", + "CONNECTED_DESC": "Vous êtes remarquablement doué pour vous faire des amis et tisser des liens avec les gens qui vous entourent. Où que vous alliez, vous semblez toujours connaître quelqu'un d'utile à vos fins.\nNiveau 1: Gagner Contacter en compétence bonus. Si vous avez passé au moins une semaine dans un endroit pas entièrement hostile, vous aurez créé un réseau de contacts prêts à vous rendre des services qui ne peuvent pas être plus que légèrement illégaux. Vous pouvez demander une faveur par jour de jeu et le MJ décide jusqu'où il ira pour vous. \nNiveau 2: Une fois par session de jeu, si ce n'est pas totalement invraisemblable, vous rencontrez quelqu'un que vous connaissez qui est prêt à faire de modestes faveurs pour vous. Vous pouvez décider quand et où vous souhaitez rencontrer cette personne, mais le MJ décide qui elle est et ce qu'elle peut faire pour vous.", "CONSTITUTION": "Constitution", "CONSTITUTION_DESC": "Hardiness, enduring injury, resisting toxins, going without food or sleep", "CONSTITUTION_SHORT": "CON", @@ -202,7 +202,7 @@ "CORE_STATISTICS": "Core Statistics", "CORE_TECHNIQUE": "Core technique", "CORVETTE": "Corvette", - "CREDITS": "Credits", + "CREDITS": "Crédits", "CREDITS_OWED": "Credits Owed", "CREW_MIN": "Crew Min", "CRUDE_PISTOL": "Crude Pistol", @@ -249,10 +249,10 @@ "DEXTERITY": "Dextérité", "DEXTERITY_DESC": "Speed, evasion, manual dexterity, reaction time, combat initiative", "DEXTERITY_SHORT": "DEX", - "DIE_HARD": "Die Hard", - "DIE_HARD_DESC": "You are surprisingly hard to kill. You can survive injuries or bear up under stresses that would incapacitate a less determined hero.\nLevel 1: You gain an extra 2 maximum hit points per level. This bonus applies retroactively if you take this focus after first level. You automatically stabilize if mortally wounded by anything smaller than a Heavy weapon.\nLevel 2: The first time each day that you are reduced to zero hit points by an injury, you instead survive with one hit point remaining. This ability can’t save you from Heavy weapons or similar trauma.", + "DIE_HARD": "Résistant", + "DIE_HARD_DESC": "Vous êtes étonnamment difficile à tuer. Vous pouvez survivre à des blessures ou supporter du stress qui neutraliserait un héros moins déterminé.\nNiveau 1: Vous gagnez 2 points de vie maximum supplémentaires par niveau. Ce bonus s'applique rétroactivement si vous prenez ce focus après le premier niveau. Vous vous stabilisez automatiquement si vous êtes mortellement blessé par quelque chose de plus petit qu'une arme lourde.\nLevel 2: La première fois chaque jour où vous êtes réduit à zéro point de vie par une blessure, vous survivez à la place avec un point de vie restant. Cette capacité ne peut pas vous sauver des armes lourdes ou des traumatismes similaires.", "DIPLOMAT": "Diplomate", - "DIPLOMAT_DESC": "Vous savez comment faire votre chemin dans les négociations personnelles et pouvez manipuler les attitudes de ceux qui vous entourent. Même si les mots doux sont polyvalents, ils ne fonctionneront que si votre interlocuteur est réellement disposé à vous écouter.\nNiveau 1 : Gagner Parole en tant que compétence bonus. Vous parlez toutes les langues communes au secteur et pouvez en apprendre de nouvelles à un niveau pratique en une semaine, en devenant fluide en un mois. Relancez les 1 sur n'importe quel dé de test de compétence lié à la négociation ou à la diplomatie.\nNiveau 2 : Une fois par session de jeu, décalez le jet de réaction d'un PNJ intelligent d'un pas supplémentaire vers l'amitié si vous pouvez lui parler pendant au moins trente secondes.", + "DIPLOMAT_DESC": "Vous savez comment vous frayer votre chemin dans les négociations personnelles et pouvez manipuler les attitudes de ceux qui vous entourent. Même si les mots doux sont polyvalents, ils ne fonctionneront que si votre interlocuteur est réellement disposé à vous écouter.\nNiveau 1 : Gagner Parler en compétence bonus. Vous parlez toutes les langues communes au secteur et pouvez en apprendre de nouvelles à un niveau pratique en une semaine, en devenant expert en un mois. Relancez les 1 sur n'importe quel dé de test de compétence lié à la négociation ou à la diplomatie.\nNiveau 2 : Une fois par session de jeu, décalez le jet de réaction d'un PNJ intelligent d'un cran vers l'amitié si vous pouvez lui parler pendant au moins trente secondes.", "DISCIPLINE": "Discipline", "DISTORTION_CANNON": "Distortion Cannon", "DISTORTION_CANNON_DESC": "Distortion cannons are among the most sophisticated man-portable weapons designed before the Scream. These two-handed energy weapons rely on the same principle as does a spike drive, manipulating the underlying fabric of space to disrupt a target. Provided the wielder can see a target within range or accurately fix its location within one meter, the distortion cannon can ignore up to one meter of solid cover between the gun and its target.", @@ -270,7 +270,7 @@ "EDIT_MODE_ONLY": "Edit mode only", "EELSKIN_CAPACITOR_MESH": "Eelskin Capacitor Mesh", "EELSKIN_CAPACITOR_MESH_DESC": "A hair-fine mesh of almost imperceptible wiring along the user’s palms and fingers allow them to trigger brief, controlled bursts of electrical energy at targets within five meters.\nAs an Instant action it adds 2d4 non-lethal damage to a successful Punch attack. In its intended use, it also allows the user to override and disable most electronic locks and security systems with a successful Sneak or Fix skill check. Both triggering a burst and hacking a security system tax the user’s biology; one System Strain point is gained with each attack or skill check.", - "EFFECT": "Effets", + "EFFECT": "Effet", "EFFORTLESS_APPORTATION": "Effortless Apportation", "EFFORTLESS_APPORTATION_DESC": "The psychic does not need to Commit Effort to use Personal Apportation. If the technique is augmented by other techniques that come with their own extra or increased cost, however, this extra cost must still be paid.", "EFFORT_MODIFIER": "Effort modifier", @@ -283,10 +283,10 @@ "ENVIRONMENTAL_POWER_DESC": "The drone draws operating power from sunlight or thermal variances. It can operate indefinitely so long as it can draw power from its environment.", "EQUIPMENT": "Équipement", "EVASION": "Evasion", - "EVASION_SAVE": "Evasion Save", + "EVASION_SAVE": "Jet de sauv. d'Evasion", "EXECUTIVE_SECURITY_SUIT": "Executive Security Suit", "EXECUTIVE_SECURITY_SUIT_DESC": "This suit of stylish pretech clothing can self-modify in one minute to appear as any normal suit of clothing and grants AC 15 to the wearer. Originally designed for VIP protection, the executive security suit automatically stabilizes a mortally-wounded wearer provided they haven’t taken enough damage to make revival impossible. Like the majority of pretech artifact armor, the suit is so light that it does not add to the wearer’s encumbrance.", - "EXERT": "Exert", + "EXERT": "Exercer", "EXODUS_BAY": "Exodus bay", "EXODUS_BAY_DESC": "House vast number of cold sleep passengers.", "EXOSUIT": "Exosuit", @@ -307,7 +307,7 @@ "FACILE_MIND": "Facile Mind", "FACILE_MIND_DESC": "The telepath is practiced at opening a Telepathic Contact, and need only Commit Effort for the scene to do so, instead of Committing Effort for the day. If contacting an ally who has practiced the process with the psychic for at least a week, opening the contact normally requires no Effort at all. In both cases, if the telepath chooses to Commit Effort for the day, they can open a Telepathic Contact as an Instant action rather than a Main Action.", "FACTION": "Faction", - "FAILURE!": "Failure!", + "FAILURE!": "Echec !", "FAR_THOUGHT": "Far Thought", "FAR_THOUGHT_DESC": "Once a telepath has made a Telepathic Contact with a target, they can thereafter activate the technique whenever that target is within 100 kilometers, whether or not the psychic knows where they are. At Telepathy-3 the range increases to 1,000 kilometers, and at Telepathy-4 it extends over an entire planet and up to orbital distances. This distant connection is tenuous, however, and the psychic cannot use any technique through it that would allow the target a saving throw to resist.", "FIELD_EMITTER_PANOPLY": "Field Emitter Panoply", @@ -323,7 +323,7 @@ "FIRST_EDITION": "First Edition", "FIRST_LEVEL": "1er niveau", "FITTING": "Fitting", - "FIX": "Fix", + "FIX": "Réparer", "FLAK": "Flak", "FLAK_EMITTER_BATTERY": "Flak Emitter Battery", "FLAWLESS_MASTERY": "Flawless Mastery", @@ -351,10 +351,10 @@ "FUEL_SCOOPS": "Fuel scoops", "FUEL_SCOOPS_DESC": "Ship can scoop fuel from a gas giant or star.", "FULL_PLATE_LAYERED_MAIL": "Full plate, layered mail", - "GAMBLING": "Jeu", + "GAMBLING": "Jeu d'argent", "GANG_BOSS": "Gang Boss", "GANG_MEMBER": "Gang Member", - "GEAR": "Gear", + "GEAR": "Outil", "GECKO_ANCHORS": "Gecko Anchors", "GECKO_ANCHORS_DESC": "Miniaturized gravitic manipulators are embedded in the subject’s hands and feet as part of this complex surgery. While they are too weak to allow levitation or damping fall damage, they can twist localized gravity around those limbs to anchor the subject to the nearest surface capable of bearing their weight. As a result, the user can freely run or climb up or down sheer surfaces at their normal movement rate, carrying no more than their normal maximum encumbrance.", "GENEENGINEERED_KILLER": "Geneengineered Killer", @@ -386,18 +386,18 @@ "GRENADE_DESC": "Grenade users always roll to attack AC 10. On a miss, the grenade lands 1d10 meters away from the target in a random direction. Hit or miss, the grenade then explodes for 2d6 damage to all targets within 5 meters. Victims are allowed an Evasion save for half damage. Targets take 1 less point of damage for each point of AC above 14. Grenades can be thrown with the Exert skill instead of Shoot, if desired.", "GROUND_SPEED": "Ground speed", "GUNSLINGER": "Pistolero", - "GUNSLINGER_DESC": "You have a gift with a gun. While this talent most commonly applies to slugthrowers or energy weapons, it is also applicable to thrown weapons, bows, or other ranged weapons that can be used with the Shoot skill. For thrown weapons, you can’t use the benefits of the Armsman focus at the same time as Gunslinger.\nLevel 1: Gain Shoot as a bonus skill. You can draw or holster a Stowed ranged weapon as an On Turn action. You may add your Shoot skill level to a ranged weapon’s damage roll.\nLevel 2: Once per round, you can reload a ranged weapon as an On Turn action if it takes no more than one round to reload. Even on a miss with a Shoot attack, you do an unmodified 1d4 damage.", + "GUNSLINGER_DESC": "Vous avez un talent pour les pistolets. Bien qu'il ne s'applique le plus souvent qu'aux armes à feu ou aux armes à énergies, il s'applique également aux armes lancées, aux arcs ou à d'autres armes à distance pouvant être utilisées avec la compétence Tirer. Pour les armes lancées, vous ne pouvez pas utiliser les avantages du focus Hommes d'arme en même temps que Pistolero. \nNiveau 1: Gagnez Tirer en tant que compétence bonus. Vous pouvez dégainer ou rengainer une arme à distance rangée en action Au tour. Vous pouvez ajouter votre niveau de compétence Tirer au jet de dégâts d'une arme à distance.\nLevel 2: Une fois par tour, vous pouvez recharger une arme à distance en tant qu'action Au tour si le rechargement ne prend pas plus d'un tour. Même en cas d'échec avec une attaque Tirer, vous infligez 1d4 dégâts non modifiés.", "HACKER": "Hacker", - "HACKER_DESC": "You have a considerable fluency with digital security measures and standard encryption methods. You know how to make computerized systems obey you until their automatic failsafes come down on your control.\nLevel 1: Gain Program as a bonus skill. When attempting to hack a database or computerized system, roll 3d6 on the skill check and drop the lowest die.\nLevel 2: Your hack duration increases to 1d4+Program skill x 10 minutes. You have an instinctive understanding of the tech; you never need to learn the data protocols for a strange system and are always treated as familiar with it.", + "HACKER_DESC": "Vous maîtrisez parfaitement les mesures de sécurité numérique et les méthodes de cryptage standard. Vous savez comment faire en sorte que les systèmes informatiques vous obéissent jusqu'à ce que leurs sécurités automatiques tombent sous votre contrôle.\nNiveau 1: Gagner Programmer en compétence bonus. Lorsque vous essayez de pirater une base de données ou un système informatisé, lancez 3d6 au test de compétence et omettez le dé le plus bas.\nNiveau 2: La durée de votre piratage passe à 1d4 Compétence Programmer x 10 minutes. Vous avez une compréhension instinctive de la technologie; vous n'avez jamais besoin d'apprendre les protocoles de données d'un système étrange et êtes toujours traité comme familier avec celui-ci.", "HARDENED_POLYCERAMIC_OVERLAY": "Hardened Polyceramic Overlay", "HARDENED_POLYCERAMIC_OVERLAY_DESC": "AP quality of attacking weapons reduced by 5.", "HARDPOINTS": "Hardpoints", "HARDPOINTS_INIT": "H", "HARDPOINTS_SHORT": "Hardpts", "HD": "DV", - "HEAL": "Soins", + "HEAL": "Soigner", "HEALER": "Guérisseur", - "HEALER_DESC": "Healing comes naturally to you, and you’re particularly gifted at preventing the quick bleed-out of wounded allies and comrades.\nLevel 1: Gain Heal as a bonus skill. You may attempt to stabilize one mortally-wounded adjacent person per round as an On Turn action. When rolling Heal skill checks, roll 3d6 and drop the lowest die.\nLevel 2: Stims or other technological healing devices applied by you heal twice as many hit points as normal. Using only basic medical supplies, you can heal 1d6+Heal skill hit points of damage to every injured or wounded person in your group with ten minutes of first aid spread among them. Such healing can be applied to a given target only once per day.", + "HEALER_DESC": "La médecine vous vient naturellement et vous êtes particulièrement doué pour empêcher le saignement rapide des alliés et camarades blessés.\nNiveau 1: Gagner Soigner en compétence bonus. Vous pouvez tenter de stabiliser une personne adjacente mortellement blessée par round lors d'une action Au tour. Lorsque vous faites un jet de compétence Soigner, lancez 3 d6 et omettez le dé le plus bas.\nNiveau 2: Les Stims ou autres technologie de guérison appliqués par vous soignent deux fois plus de points de vie que la normale. En utilisant uniquement des fournitures médicales de base, vous pouvez soigner 1d6 compétence Soigner points de dégâts à chaque personne blessée de votre groupe avec dix minutes de premiers soins réparties entre elles. Une telle guérison ne peut être appliquée à une cible donnée qu'une fois par jour.", "HEAVY_FRIGATE": "Heavy Frigate", "HEAVY_LIFT": "Heavy Lift", "HEAVY_LIFT_DESC": "While most drones can lift no more than a kilogram of excess weight, the drone’s gravitic units have been upgraded to carry up to twenty kilos of cargo. This can be fitted multiple times.", @@ -405,9 +405,9 @@ "HEAVY_MACHINE_GUN_DESC": "Heavy machine guns represent a large family of air- or water-cooled projectile weapons that are usually fed with belts of linked ammunition. HMGs require a vehicle mounting or emplaced firing position for effective results. An HMG magazine contains enough ammunition for 10 rounds of firing, but each round of firing eats 25 credits worth of projectile ammunition.", "HEAVY_WARBOT": "Heavy Warbot", "HEAVY_WEAPONS": "Heavy weapons", - "HENCHKEEPER": "Henchkeeper", - "HENCHKEEPER_DESC": "You have an distinct knack for picking up lost souls who willingly do your bidding. You might induce them with promises of money, power, excitement, sex, or some other prize that you may or may not eventually grant. A henchman obtained with this focus will serve in loyal fashion until clearly betrayed or placed in unacceptable danger. Henchmen are not “important” people in their society, and are usually marginal sorts, outcasts, the desperate, or other persons with few options.\nYou can use more conventional pay or inducements to acquire additional henchmen, but these extra hirelings are no more loyal or competent than your pay and treatment can purchase.\nLevel 1: Gain Lead as a bonus skill. You can acquire henchmen within 24 hours of arriving in a community, assuming anyone is suitable hench material. These henchmen will not fight except to save their own lives, but will escort you on adventures and risk great danger to help you. Most henchmen will be treated as Peaceful Humans from the Xenobestiary section of the book. You can have one henchmen at a time for every three character levels you have, rounded up. You can release henchmen with no hard feelings at any plausible time and pick them back up later should you be without a current henchman.\nLevel 2: Your henchmen are remarkably loyal and determined, and will fight for you against anything but clearly overwhelming odds. Whether through natural competence or their devotion to you, they’re treated as Martial Humans from the Xenobestiary section. You can make faithful henchmen out of skilled and highly-capable NPCs, but this requires that you actually have done them some favor or help that would reasonably earn such fierce loyalty.", - "HEROIC_CHARACTERS": "Heroic characters", + "HENCHKEEPER": "Gourou", + "HENCHKEEPER_DESC": "Vous avez un talent distinct pour amasser les âmes perdues qui vont faire ce que vous désirez. Vous pourriez les inciter avec des promesses d'argent, de pouvoir, d'excitation, de sexe ou de tout autre prix que vous pourriez éventuellement accorder ou non. Un homme de main obtenu avec ce focus vous servira loyalement jusqu'à ce qu'il soit clairement trahi ou mis dans une situation de danger inacceptable. Les hommes de main ne sont pas des personnes «importantes» dans leur société et sont généralement des personnes marginales, des parias, des désespérés ou d'autres personnes avec peu d'options.\nVous pouvez utiliser une rémunération ou des incitations plus conventionnelles pour acquérir des hommes de main supplémentaires, mais ces recrues supplémentaires seront aussi loyal ou compétent que ce que votre paye et votre traitement peut acheter. \nNiveau 1: Gagner Mener en compétence bonus. Vous pouvez acquérir des hommes de main dans les 24 heures suivant votre arrivée dans une communauté, en supposant que quelqu'un puisse le devenir. Ces hommes de main ne se battront que pour sauver leur propre vie, mais vous accompagneront dans vos aventures et prendront de grands risques pour vous aider. La plupart des hommes de main seront traités comme des humains pacifiques de la section Xénobestiaire du livre. Vous pouvez avoir un homme de main à la fois pour tous les trois niveaux de personnage que vous avez, arrondi au supérieur. Vous pouvez libérer des hommes de main sans rancune à tout moment plausible et les reprendre plus tard si vous êtes sans homme de main actuel.\nNiveau 2: Vos hommes de main sont remarquablement loyaux et déterminés et se battront pour vous contre tout sauf dans des situations extrèmement mauvaises. Que ce soit par compétence naturelle ou par leur dévouement envers vous, ils sont traités comme des humains martiaux de la section du Xénobestiaire. Vous pouvez faire des hommes de main fidèles à partir de PNJ qualifiés et hautement compétents, mais cela nécessite que vous leur ayez fait une faveur ou une aide qui gagnerait raisonnablement une loyauté aussi intense.", + "HEROIC_CHARACTERS": "Personnages héroiques", "HEROIC_CHARACTERS_DESC": "Run a space opera campaign with Heroic characters. Rules for this are in the Deluxe edition.", "HEROIC_FIGHTER": "Heroic Fighter", "HIDDEN": "Caché", @@ -448,7 +448,7 @@ "INDUCED_COMA_TRIGGER_DESC": "A series of implants are wired to the user’s brain stem, allowing them to trigger an induced therapeutic coma at a mental command. The user appears dead to anything short of a medical inspection, and has no need of respiration, food, or water while the coma is in effect. The user does not heal while in a coma, but any diseases or poisons also halt progression. The user determines how long the coma is to last before triggering it, and is unconscious for its duration. A character can survive in a coma up to two weeks before needing to regain consciousness for as long as they were in the coma.", "INDUSTRIAL_WORK_BOT": "Industrial Work Bot", "INITIATIVE_FIXED": "Initiative", - "INNATE_AC": "Innate AC", + "INNATE_AC": "Ca naturelle", "INSTAPANEL": "Instapanel", "INSTAPANEL_DESC": "In its compressed form, an instapanel is a two-kilo cube of ceraplast five centimeters on a side. When a type A power cell is inserted in the cube’s side, it immediately expands to an opaque, waterproof ceraplast sheet 2 meters on each side and a centimeter thick. Five minutes later the ceraplast hardens into a tough, rigid shape, but until then it can be folded or bent by hand. Instapanels can be bonded to one another with a metatool or a toolkit. Breaking an instapanel requires inflicting at least twelve points of damage on it.", "INSTRUCTOR": "Instructeur", @@ -461,15 +461,15 @@ "INTUITIVE_RESPONSE_DESC": "As an Instant action, the precog can Commit Effort for the scene just before they roll initiative. Their initiative score is treated as one better than anyone else’s involved in the scene. If another participant has this power or some other ability that grants automatic initiative success, roll initiative normally to determine which of them goes first, and then the rest of the combatants act. This ability cannot be used if the precog has been surprised.", "INVINCIBLE_STAND": "Invincible Stand", "INVINCIBLE_STAND_DESC": "The biopsion has mastered techniques of emergency tissue reinforcement and system stabilization. As an Instant action, they can Commit Effort for the scene to keep themself or a target they can touch active even at zero hit points. This technique must be used once every round on the target or they collapse at the end of the round. If the target suffers hit point damage, the biopsion must Instantly Commit Effort for the scene or the target goes down immediately with a mortal wound. A Heavy weapon hit on a subject of this power or similar physical dismemberment will always kill a target, regardless of this technique.", - "IRONHIDE": "Ironhide", - "IRONHIDE_DESC": "Whether through uncanny reflexes, remarkable luck, gengineered skin fibers, or subtle telekinetic shielding, you have natural defenses equivalent to high-quality combat armor. The benefits of this focus don’t stack with armor, though Dexterity or shield modifiers apply.\nLevel 1: You have an innate Armor Class of 15 plus half your character level, rounded up.\nLevel 2: Your abilities are so effective that they render you immune to unarmed attacks or primitive weaponry as if you wore powered armor.", + "IRONHIDE": "Peau de fer", + "IRONHIDE_DESC": "Que ce soit par des réflexes fantastiques, une chance remarquable, des fibres de peau artificielles ou un blindage télékinésique subtil, vous disposez de défenses naturelles équivalentes à une armure de combat de haute qualité. Les avantages de ce focus ne se cumulent pas avec une armure, bien que les modificateurs de Dextérité ou de bouclier s'appliquent.\nNiveau 1: Vous avez une classe d'armure innée de 15 plus la moitié du niveau de votre personnage, arrondi au point supérieur. \nNiveau 2: Vos capacités sont si efficaces qu'elles vous immunisent contre les attaques non armées ou les armes primitives comme si vous portiez une armure motorisée.", "ITEM": "Objet", "JANITOR_BOT": "Janitor Bot", "JUGGERNAUT_STIMS": "Juggernaut Stims", "JUGGERNAUT_STIMS_DESC": "Originally designed for pretech shock troops, this skinspray stimulant charges the user with fearless aggression and indifference to pain. The user immediately gains 3d6 temporary hit points and +2 to hit for a period of ten rounds. At the end of that period, any remaining temporary hit points are lost, and the subject suffers -2 to hit for the next hour as their system recovers. Use of this stim adds 1 point of System Strain.", "KINETIC_TRANSVERSAL": "Kinetic Transversal", "KINETIC_TRANSVERSAL_DESC": "The adept may Commit Effort as an On Turn action to move freely over vertical or overhanging surfaces as if they were flat ground, crossing any solid surface strong enough to bear five kilos of weight. They can also move over liquids at their full movement rate. This movement ability lasts as long as the Effort is committed.", - "KNOW": "Know", + "KNOW": "Connaître", "KNOW_MAGIC": "Know Magic", "LANGUAGE": "Langue", "LANGUAGES": "Langues", @@ -487,7 +487,7 @@ "LAST_MAINTENANCE": "Last Maintenance", "LAZARUS_PATCH": "Lazarus patch", "LAZARUS_PATCH_DESC": "A vital tool for adventurers, the lazarus patch is a heavy compress laced with antibiotics, coagulants, system stabilizers, plasma, and a oneshot diagnostic suite. If the patch is applied to a character that has fallen to 0 hit points, the user can make an Int/Heal or Dex/Heal skill check against difficulty 6 to stabilize the subject. The more time between injury and application, the less chance the patch has to work. Each round after the first, an additional -1 penalty is applied to the skill check. The patch is no use after six rounds. If the medic fails the first skill check, they can keep trying the check once per round until the victim is revived or time runs out. Lazarus patches are no use on victims that have died of disease, poison, or have been mangled beyond surgical repair by Heavy weapons or similar trauma. Only one patch can be applied to a victim. Revived victims are critically wounded until sufficient medical help has been tendered; see the Systems chapter for details.", - "LEAD": "Charisme", + "LEAD": "Mener", "LEADERSHIP": "Leadership", "LEATHER_JACKS_THICK_HIDES_QUILTED_ARMOR": "Leather jacks, thick hides, quilted armor", "LEFT_COLUMN": "Left column", @@ -504,7 +504,7 @@ "LOW_LIGHT_GOGGLES": "Low-light goggles", "LOW_LIGHT_GOGGLES_DESC": "These goggles provide a monochrome but serviceable view out to the wearer’s normal visual distance, provided that there is any illumination available at all. A type A power cell will operate these goggles for a week.", "LUCK": "Chance", - "LUCK_SAVE": "Luck Save", + "LUCK_SAVE": "Jet de sauv. de Chance", "LUXURY_CABINS": "Luxury cCabins", "LUXURY_CABINS_DESC": "10% of max crew get luxurious quarters.", "MAGIC": "Magie", @@ -543,12 +543,12 @@ "MEMORY_EDITING": "Memory Editing", "MEMORY_EDITING_DESC": "The telepath can make simple edits to the memory of a target currently linked by a Telepathic Contact. Events of no more than 24 hours in duration can be erased from memory, conversations can be created or changed, new events can be added to a day, or other similar alterations made. The psychic can make these changes as a Main Action by Committing Effort for the day. If the psychic doesn’t have a good understanding of the memories they’re changing, such as might be granted by the level-4 degree of Telepathic Contact, the edits they make may not fit well. The target gets a Mental saving throw to resist editing for the rest of the scene, but on a failure, they will not notice the changed memories until given a reason to recollect them.", "MENTAL": "Mental", - "MENTAL_SAVE": "Mental Save", + "MENTAL_SAVE": "Jet de sauv. Mental", "METADIMENSIONAL_FRICTION": "Metadimensional Friction", "METADIMENSIONAL_FRICTION_DESC": "As a Main Action, the metapsion Commits Effort for the scene to create localized MES turbulence around a visible target psychic within 200 meters. Each time the target Commits Effort or an NPC initiates a psychic power, they suffer 1d8 damage per Metapsionics skill level of the adept. Each time the target suffers the damage they can attempt a Mental saving throw to throw off the effect. It lasts no longer than the rest of the scene at most. Only one application of this friction can affect a target at once.", - "METAMORPH": "Metamorph", + "METAMORPH": "Metamorphe", "METAMORPH_DESC": "The biopsion can now shape their own or another willing target’s physical form as a Main Action, transforming a touched target into any humanoid form within 50% of their own mass. Claws and other body armaments can be fashioned equivalent to Light or Medium melee weapons and innate armor equivalent to AC 13. Gills and other environmental-survival alterations are also viable at the GM’s discretion, but flight is a bridge too far for this power.\nA person can be impersonated down to the DNA level, provided a blood or hair sample is available. The use of this adds one System Strain point to the target that does not recover so long as the change is in effect. Applying Metamorph requires that the biopsion Commit Effort for as long as the change is to be maintained. If applied to a target other than the psychic, the power automatically ends if the psychic gets more than one hundred kilometers away.", - "METAPSIONICS": "Metapsionics", + "METAPSIONICS": "Metapsioniques", "METATOOL": "Metatool", "METATOOL_DESC": "This wrist-mounted housing contains a myriad of small, useful tools designed to handle the widest possible range of technical needs. While a metatool is too limited to handle major jobs, it is usually sufficient to manage jury-rigged repairs and temporary fixes until the tech has time to apply a larger wrench to the problem.", "MICROPURGATOR_STIMS": "Micropurgator Stims", @@ -569,8 +569,8 @@ "MODIFIER": "Modifier", "MODIFIER_SHORT": "Modérer", "MONEY": "Argent", - "MORALE": "Morale", - "MOVE": "Action", + "MORALE": "Moral", + "MOVE": "Se Déplacer", "MULTIFOCAL_LASER": "Multifocal Laser", "MUSKET": "Musket", "MUSKET_DESC": "Crude pistols and muskets represent the rawest and most primitive forms of gunpowder weaponry, usually makeshift weapons improvised by criminals or the desperate. Reloading a crude pistol or a musket requires two rounds instead of one.", @@ -590,7 +590,7 @@ "NORMAL_HUMAN": "Normal Human", "NORMAL_XP": "Normal XP", "NOTES": "Notes", - "NOTICE": "Vigilance", + "NOTICE": "Remarquer", "NOT_MY_TIME": "Not My Time", "NOT_MY_TIME_DESC": "The precog instinctively wrenches the lines of probability away from futures in which they are about to die. This technique triggers automatically when the precog is about to die, provided they can Commit Effort for the day. On triggering, random events somehow conspire to leave the precog alive, even if outrageous coincidences and ridiculous luck are required. Provided the precog doesn’t intentionally thrust herself back into danger, their life is secured for the next few minutes at least, though there’s no guarantee the psychic will survive intact in mind or body. This technique can trigger no more often than once per week.", "NPC": "PNJ", @@ -619,15 +619,15 @@ "PERCEPTION": "Perception", "PERCEPTIVE_DISLOCATION": "Perceptive Dislocation", "PERCEPTIVE_DISLOCATION_DESC": "Commit Effort for the day to sense any location the psychic could teleport to. The psychic perceives the location as if there, lasting for fifteen minutes at most.", - "PERFORM": "Représentation", + "PERFORM": "Représenter", "PERMANENT_STRAIN": "Permanent Strain", "PERMANENT_STRAIN_EXTRA": "Permanent Strain Extra", "PERSONAL_APPORTATION": "Personal Apportation", "PERSONAL_APPORTATION_DESC": "The teleporter can translocate to another location they have either occupied before or can see with their unaided vision. Locations are fixed in reference to the nearest major gravity well. For example, it is not possible to teleport to the cockpit of a distant moving vehicle they once occupied, but they can teleport to another point on a planet’s surface even though the planet has since moved far through the stellar void.\nThe core technique allows the teleporter to move himself and any mass he is able to carry with his own natural strength. Resisting targets cannot be carried along, and unresisting ones must be touched. A teleporter can leave any clothing, shackles, adhesions, or other matter behind when he teleports, but he cannot leave behind matter that has been inserted into his body, such as cybernetics or shrapnel. Matter cannot be partially left behind.\nA teleporter will instinctively abort any apportation that would leave him embedded in a solid object or in an environment of imminent physical harm. Any Committed Effort on such aborted jumps is wasted, as is any action spent triggering the power.\nThe maximum range of Personal Apportation depends on the teleporter’s skill level. Teleporting with Personal Apportation counts as a Main Action and requires that the psychic Commit Effort for the scene.\nLevel-0: The psychic can teleport up to 10 meters.\nLevel-1: The psychic can teleport up to 100 meters.\nLevel-2: The psychic can teleport up to 10 kilometers.\nLevel-3: The psychic can teleport up to 1,000 kilometers.\nLevel-4: The psychic can teleport anywhere on a planet’s surface or near orbit.", "PERSUADE": "Persuasion", - "PHARMACEUTICALS": "Pharmaceuticals", + "PHARMACEUTICALS": "Médicaments", "PHYSICAL": "Physique", - "PHYSICAL_SAVE": "Physical Save", + "PHYSICAL_SAVE": "Jet de sauv. Physique", "PILOT": "Piloter", "PIRATE_KING": "Pirate King", "PLANETARY_DEFENSE_ARRAY": "Planetary Defense Array", @@ -646,8 +646,8 @@ "PORTABOX": "Portabox", "PORTABOX_DESC": "A small cube of ceraplast attached to an electronic keycard. When a type A power cell is inserted, the portabox immediately unfolds into a rigid locker with 1.5 x 1 x 1 meter dimensions. The portabox is air-tight and has a simple electronic lock which can only be opened with the keycard or a successful difficulty 8 Sneak or Fix skill check. Failing the check will cause the lock to short-circuit and seal the box until it can be cut open with a metatool or broken open with twenty points of damage.", "POSITIVE": "Positif", - "POWER": "Power", - "POWERED": "Powered", + "POWER": "Pouvoir", + "POWERED": "Motorisé", "POWER_CELL_TYPE_A": "Power cell, type A", "POWER_CELL_TYPE_A_DESC": "One of the few standardized artifacts inherited from before the Silence, power cells are small cylindrical objects designed to take and hold electrical charges. Type A cells are usually used for personal equipment, and the larger type B cells for vehicles and heavy gear. The engineering for the cells is substantially different, and they cannot be exchanged or recharge each other without a trained tech’s modifications or a converter unit. Power cells can be recharged off a ship’s power plant or other grid. Recharging requires 30 minutes for a type A cell.", "POWER_CELL_TYPE_B": "Power cell, type B", @@ -666,14 +666,14 @@ "PRETECH_COSMETIC": "Pretech Cosmetic", "PRETECH_COSMETIC_DESC": "Before the Silence stims existed for a host of cosmetic, hygiene, and health purposes. While these effects are trivial, the basic pretech stim substrate also works to heal 1d6 lost hit points in the user at a cost of 1 System Strain.", "PRIMITIVE": "Primitif", - "PRIMITIVE_BOW": "Primitive Bow", + "PRIMITIVE_BOW": "Arc primitif", "PRIMITIVE_BOW_DESC": "Bows are uncommon weapons in the far future, though some lostworlder barbarians have nothing better. Some sophisticated \"conversion bows\" use special materials to convert the kinetic energy of the draw into a force field \"glazing\" around the arrow, improving penetration. Bows can be reloaded with a Move action, or faster if the Gunslinger focus is applied.", "PRIMITIVE_DRONE": "Primitive Drone", "PROFESSION": "Profession", "PROFICIENT": "Maîtrise", "PROFICIENT_APPORTATION": "Proficient Apportation", "PROFICIENT_APPORTATION_DESC": "Personal Apportation now counts as a Move action, though it still can be performed only once per round. Apportations of 10 meters or less no longer require Effort to be Committed, though any augments to the technique must still be paid for normally.", - "PROGRAM": "Programme", + "PROGRAM": "Programmer", "PROPHECY": "Prophecy", "PROPHECY_DESC": "The power of the precog extends to dictating future events that directly involve them. As a Main Action, the precognitive PC may make one prediction involving their personal future or future condition within the next year. Provided they take reasonable measures to enable this prediction, that no direct resistance is mounted by an enemy, and that the prediction doesn’t seem highly improbable to the GM, it will come to pass. The adept must Commit Effort when this power is used, and the Effort remains Committed until the prophecy comes to pass or is abandoned. This ability cannot be used more than once per month and only one prophecy may be active at a time.", "PROSTHETIC_LIMB": "Prosthetic Limb", @@ -687,7 +687,7 @@ "PSITECH_COMBAT_SUIT": "Psitech Combat Suit", "PSITECH_COMBAT_SUIT_DESC": "One of the rare psitech artifacts originally designed for use by military combat psychics, this snug-fitting armored undersuit grants the wearer an AC of 16. Its special ability functions only for psychics; it can allow the user to reflexively fuel the suit’s defenses with their own psychic reserves. As an Instant action, they can Commit Effort for the day to negate up to 15 points of damage from in incoming source of physical injury. Each time they do this, they must make a Mental saving throw or the psychic conversion shock leaves them unable to use psionic techniques until after the end of their next turn.", "PSYCH": "Psych", - "PSYCHIC": "Psy", + "PSYCHIC": "Psychique", "PSYCHIC_CLASS_ABILITY": "Unlike Warriors or Experts, you are capable of learning psychic disciplines and their associated techniques, as described starting on page 28.\nWhen you pick this class, choose any two psychic skills as bonus skills. You can pick the same one twice to obtain level-1 proficiency in it and a free level-1 technique from that discipline.\nYou have an Effort score, which can be used to fuel psychic abilities. Your maximum Effort is equal to 1 plus your highest psychic skill plus the better of your Wisdom or Constitution modifiers. Even with a penalty, your maximum Effort cannot be lower than 1.", "PSYCHIC_REFINEMENT": "Psychic Refinement", "PSYCHIC_REFINEMENT_DESC": "The metapsion gains improved mastery over their own powers and an innate sensitivity to the use of psionic abilities in their presence.\nLevel-0: The adept can visually and audibly detect the use of psychic powers. If both the source and target are visible to the metapsion, they can tell who’s using the power, even if it’s normally imperceptible. They gain a +2 bonus on any saving throw versus a psionic power.\nLevel-1: The metapsion’s maximum Effort increases by an additional point.\nLevel-2: The adept can determine whether or not a person is a psychic or has latent psionic abilities through one round of visual inspection. Their saving throw bonus against psionic powers increases to +3.\nLevel-3: The metapsion’s maximum Effort increases by an additional point.\nLevel-4: The metapsion can perform a slightly safer version of torching. Instead of rolling the torching damage die, they simply suffer 10 hit points of damage after torching is used. The damage occurs after the fueled power activates, allowing a psychic at low hit points to trigger a power before falling unconscious. This damage cannot be healed by anything but natural bed rest, though a psychic can be stabilized if this technique drops her to zero hit points.", @@ -696,14 +696,14 @@ "PSYCHIC_STATIC_DESC": "As an Instant action, the metapsion may Commit Effort for the day to negate a perceived psychic power. The psychic responsible for the effect must Commit Effort for the day as an Instant action to resist this negation, otherwise the power ends and any action used to trigger it is wasted. The PC may then Commit Effort for the day again, with each spending and counter-spending until one runs out of Effort or chooses to stop. Psychic Static can be applied only once per round to any particular power. The target of the Psychic Static automatically knows the position of the interfering metapsion, though other onlookers do not have any obvious way of identifying the metapsion.", "PSYCHIC_SUCCOR": "Psychic Succor", "PSYCHIC_SUCCOR_DESC": "The adept’s touch stabilizes critically-wounded organisms. More sophisticated practitioners can heal tissue injuries, though curing diseases, detoxifying poisons, and fixing congenital deformities require additional techniques. Each use of Psychic Succor adds one point of System Strain to the target, or two points if they were mortally wounded at the time.\nActivating Psychic Succor requires the biopsion to Commit Effort for the day. Once used, they can continue to use it for the rest of that scene without Committing Effort again.\nLevel-0: The psychic’s touch can automatically stabilize a mortally-wounded target as a Main Action. This power must be used on a target within six rounds of their collapse, and does not function on targets that have been decapitated or killed by Heavy weapons. It’s the GM’s decision as to whether a target is intact enough for this power to work.\nLevel-1: As level-0, and heal 1d6+1 hit points of damage. If used on a mortally-wounded target, they revive with the rolled hit points and can act normally on the next round.\nLevel-2: As level-1, but healing 2d6+2 hit points instead. Level-3: As level-2, but healing 2d6+6 hit points instead. Level-4: As level-3, but healing 3d6+8 hit points instead.", - "PSYCHIC_TECHNIQUE": "Psychic Technique", - "PSYCHIC_TECHNIQUES": "Psychic Techniques", - "PSYCHIC_TRAINING": "Psychic Training", - "PSYCHIC_TRAINING_DESC": "You’ve had special training in a particular psychic discipline. You must be a Psychic or have taken the Partial Psychic class option as an Adventurer to pick this focus. In the latter case, you can only take training in the discipline you initially chose as a Partial Psychic. As with most foci, this focus can be taken only once.\nLevel 1: Gain any psychic skill as a bonus. If this improves it to level-1 proficiency, choose a free level-1 technique from that discipline. Your maximum Effort increases by one.\nLevel 2: When you advance a level, the bonus psychic skill you chose for the first level of the focus automatically gets one skill point put toward increasing it or purchasing a technique from it. You may save these points for later, if more are required to raise the skill or buy a particular technique. These points are awarded retroactively if you take this focus level later in the game.", + "PSYCHIC_TECHNIQUE": "Technique Psychique", + "PSYCHIC_TECHNIQUES": "Techniques Psychique", + "PSYCHIC_TRAINING": "Entraînement psychique", + "PSYCHIC_TRAINING_DESC": "Vous avez suivi une formation spéciale dans une discipline psychique particulière. Vous devez être un Psychique ou avoir choisi l'option Psychique partiel en tant qu'aventurier pour choisir ce focus. Dans ce dernier cas, vous ne pouvez suivre une formation que dans la discipline que vous avez initialement choisie comme Psychique partiel. Comme pour la plupart des foci, ce focus ne peut être pris qu'une seule fois.\nNiveau 1: Gagnez n'importe quelle compétence Psychique en bonus. Si cela l'améliore au niveau 1, choisissez une technique gratuite de niveau 1 de cette discipline. Votre effort maximum augmente de un.\nNiveau 2: Lorsque vous avancez d'un niveau, vous gagnez un point pour augmenter la compétence Psychique bonus que vous avez choisie pour le premier niveau de ce focus ou pour acheter une technique. Vous pouvez conserver ces points pour plus tard, s'il en faut plus pour augmenter la compétence ou acheter une technique particulière. Ces points sont attribués rétroactivement si vous prenez ce niveau de focus plus tard dans le jeu.", "PSYCHIC_TUTELAGE": "Psychic Tutelage", "PSYCHIC_TUTELAGE_DESC": "An expert metapsion can modulate and temper the metadimensional energy that surges through an untrained psychic’s mind. This “safety buffer” allows the novice to experiment with their abilities and gradually develop the control they need to channel their powers without causing permanent brain damage. Without this technique, it is virtually impossible to turn a normal with untapped potential into a trained psychic.\nAn adept with Metapsionics-3 skill can train up to ten pupils at once. One with Metapsionics-4 can train up to one hundred. It requires only a week to train a potential in ways to avoid accidentally triggering their powers and suffering the damage that follows, but actually teaching them to use their powers effectively takes anywhere from one to four years depending on their natural aptitude and the availability of other psychics willing to assist the metapsion in the training process.", "PSYCH_DESC": "A military drug duplicated in rougher form by many street chemists, Psych fills the user with an intense sense of confidence and reckless courage. Unfortunately, it also cripples their judgment regarding danger. A person affected by Psych immediately gains a Morale score of 12 and a +1 bonus on all skill checks, but will ignore cover during combat and cannot decide not to attempt a skill check after learning its difficulty. The effect lasts fifteen minutes, adds 1 System Strain to the user, and is highly psychologically addictive.", - "PUNCH": "Punch", + "PUNCH": "Frapper", "QUALITIES": "Qualités", "QUERY": "Demander", "QUERY_FOR_MODIFIERS": "Demander les modificateurs", @@ -717,8 +717,8 @@ "RAILGUN": "Railgun", "RAILGUN_DESC": "Railguns are simply scaled-up versions of personal mag rifles. They accelerate large metallic slugs along the weapon’s barrel, creating a steady spray of hypervelocity rounds. Ammunition sufficient for one round of firing costs 50 credits.", "RANGE": "Portée", - "RANGED_WEAPONS": "Ranged weapons", - "RATIONS_1_DAY": "Rations, 1 day", + "RANGED_WEAPONS": "Armes à distance", + "RATIONS_1_DAY": "Rations, 1 jour", "RATIONS_1_DAY_DESC": "Dried or otherwise preserved foodstuffs sufficient for one day. If water is not otherwise available, add another item’s worth of encumbrance for the water necessary for a person’s daily needs.", "REDIVIVUS_SHEATH": "Redivivus Sheath", "REDIVIVUS_SHEATH_DESC": "When found, a redivivus sheath resembles a tightly-rolled body bag with a fist-sized computing module affixed to it. When a freshly-dead human body is sealed into the bag the module releases a cloud of nanites to repair and revive the subject. Revivification will work on any victim no more than five minutes dead, assuming the head is intact and most of their mass is present. Subjects are revived in critically wounded condition with maximized System Strain. The redivivus sheath functions only once before burning out.", @@ -762,13 +762,13 @@ "ROPE_20_METERS": "Rope, 20 meters", "ROPE_20_METERS_DESC": "Light and sturdy. A metatool can be used to cut and join the synthetics used in TL4 rope, which counts as one encumbrance item per 40 meters and costs 40 credits.", "SANDTHROWER": "Sandthrower", - "SAVAGE_FRAY": "Savage Fray", - "SAVAGE_FRAY_DESC": "You are a whirlwind of bloody havoc in melee combat, and can survive being surrounded far better than most combatants.\nLevel 1: Gain Stab as a bonus skill. All enemies adjacent to you at the end of your turn whom you have not attacked suffer the Shock damage of your weapon if their Armor Class is not too high to be affected.\nLevel 2: After suffering your first melee hit in a round, any further melee attacks from other assailants automatically miss you. If the attacker who hits you has multiple attacks, they may attempt all of them, but other foes around you simply miss.", + "SAVAGE_FRAY": "Combat brutal", + "SAVAGE_FRAY_DESC": "Vous êtes un tourbillon de dévastation sanglante dans des combats au corps à corps et pouvez survivre bien mieux que la plupart des combattants. \nNiveau 1: Gagner Poignarder en compétence bonus. Tous les ennemis adjacents à vous à la fin de votre tour que vous n'avez pas attaqués subissent les dégâts de choc de votre arme si leur classe d'armure n'est pas trop élevée pour être affectée.\nLevel 2: Après avoir subi votre premier coup en mêlée lors d'un round, toutes les autres attaques de mêlée d'autres assaillants vous manquent automatiquement. Si l'attaquant qui vous frappe a plusieurs attaques, il peut les tenter toutes, mais les autres ennemis autour de vous ratent tout simplement.", "SAVE": "Sauvegarde", "SAVES": "Sauvegardes", "SAVING_THROW": "Jet de Sauvegarde", "SAVING_THROWS": "Jets de Sauvegarde", - "SCENE": "Scene", + "SCENE": "Scène", "SCIENCE": "Science", "SCOUT_REPORT": "Scout report", "SCOUT_REPORT_DESC": "A collation of survey scans and merchant reports on a particular lost world or isolated colony. Scouting reports are available for all but the most unknown worlds and provide maps, basic information, and note any critical cultural taboos.", @@ -801,12 +801,12 @@ "SHIP_BAY_FRIGATE": "Ship Bay/Frigate", "SHIP_BAY_FRIGATE_DESC": "Carrier housing for a frigate.", "SHOCK": "Choc", - "SHOCKING_ASSAULT": "Shocking Assault", - "SHOCKING_ASSAULT_DESC": "You’re extremely dangerous to enemies around you. The ferocity of your melee attacks stresses and distracts enemies even when your blows don’t draw blood.\nLevel 1: Gain Punch or Stab as a bonus skill. The Shock damage of your weapon treats all targets as if they were AC 10, assuming your weapon is capable of harming the target in the first place.\nLevel 2: In addition, you gain a +2 bonus to the Shock damage rating of all melee weapons and unarmed attacks. Regular hits never do less damage than this Shock would do on a miss.", + "SHOCKING_ASSAULT": "Assault de choc", + "SHOCKING_ASSAULT_DESC": "Vous êtes extrêmement dangereux pour les ennemis autour de vous. La férocité de vos attaques de mêlée stresse et distrait les ennemis même lorsque vos coups ne font pas couler de sang.\nNiveau 1: Gagner Frapper ou Poignarder en compétence bonus. Les dégâts de Choc de votre arme traitent toutes les cibles comme si elles avaient CA 10, en supposant que votre arme est capable de blesser la cible en premier lieu.\nNiveau 2: Additionnellement, vous gagnez un bonus de +2 au score de dégâts de Choc de toutes les armes de mêlée et attaques à mains nues. Les coups réguliers ne font jamais moins de dégâts que Ce choc ne le ferait en cas d'échec.", "SHOCK_AC": "Shock AC", "SHOCK_DAMAGE": "Shock damage", "SHOCK_DAMAGE_AGAINST_AC_LEQ": "shock damage against AC ≤", - "SHOOT": "Shoot", + "SHOOT": "Tirer", "SHOTGUN": "Shotgun", "SHOTGUN_DESC": "Shotguns are cheaper and more easily manufactured than rifles, and are popular weapons for home defense on the frontier. The statistics given are for shot ammunition. Slug rounds do 2d6 damage and have ranges of 50/75 meters.", "SHOW_HIDE": "show/hide", @@ -840,9 +840,9 @@ "SMART_CLOUD": "Smart Cloud", "SMUGGLERS_HOLD": "Smuggler's hold", "SMUGGLERS_HOLD_DESC": "Small amount of well-hidden cargo space.", - "SNEAK": "Furtivité", + "SNEAK": "Se Faufiler", "SNIPER": "Sniper", - "SNIPER_DESC": "You are an expert at placing a bullet or beam on an unsuspecting target. These special benefits only apply when making an Execution Attack with a firearm or bow, as described on page 52.\nLevel 1: Gain Shoot as a bonus skill. When making a skill check for an Execution Attack or target shooting, roll 3d6 and drop the lowest die.\nLevel 2: A target hit by your Execution Attack takes a -4 penalty on the Physical saving throw to avoid\nimmediate mortal injury. Even if the save is successful, the target takes double the normal damage inflicted by the attack.", + "SNIPER_DESC": "Vous êtes un expert pour placer une balle ou un laser sur une cible sans méfiance. Ces avantages spéciaux s'appliquent uniquement lorsque vous effectuez une Attaque d'exécution avec une arme à feu ou un arc, comme décrit à la page 52.\nLevel 1: Gagnez Tirer en compétence bonus. Lors d'un test de compétence pour une Attaque d'exécution ou un tir de cible, lancez 3d6 et omettez le dé le plus bas.\nNiveau 2: Une cible touchée par votre Attaque d'exécution subit une pénalité de -4 au jet de sauvegarde Physique pour éviter une blessure mortelle immédiate. Même si le jet de sauvegarde est réussi, la cible subit le double des dégâts normaux infligés par l'attaque.", "SNIPER_RIFLE": "Sniper Rifle", "SNIPER_RIFLE_DESC": "Sniper rifles are designed to be exceptionally effective at dropping unsuspecting targets at long range. Aside from the additional effective range of a sniper rifle, any target it mortally wounds via an execution attack will die instantly, with no chance for stabilization. The execution attack must qualify according to the terms on page 52. If the rifle is used outside of such conditions, it has no special qualities.", "SOLAR_RECHARGER": "Solar recharger", @@ -855,14 +855,14 @@ "SPATIAL_AWARENESS_DESC": "The psychic may Commit Effort as an On Turn action to gain an intuitive 360-degree awareness of their physical surroundings. The sense is roughly equivalent to sight out to 100 meters, though it cannot read text or distinguish colors. It is blocked by solid objects but is unimpeded by darkness, mist, blinding light, holograms, or optical illusions. The sense lasts as long as the Effort remains Committed to the technique.", "SPATIAL_SYNCHRONY_MANDALA": "Spatial Synchrony Mandala", "SPATIAL_SYNCHRONY_MANDALA_DESC": "The psychic imprints a particular object or person on their psionic awareness. Provided the object is relatively intact and in range of their Personal Apportation, the psychic always knows its exact location and can teleport to within three meters of it with Personal Apportation even if it has moved from its original location. Imprinting an object requires an hour’s meditation with it, and only one object can be imprinted at a time. If imprinting on a person, the target must be willing and cooperative to make the imprint. Objects must be at least one kilogram in mass to be effectively tracked.", - "SPECIALIST": "Specialist", - "SPECIALIST_DESC": "You are remarkably talented at a particular skill. Whether a marvelous cat burglar, a world-famous athlete, a brilliant engineer, or some other savant, your expertise is extremely reliable. You may take this focus more than once for different skills.\nLevel 1: Gain a non-combat, non-psychic skill as a bonus. Roll 3d6 and drop the lowest die for all skill checks in this skill.\nLevel 2: Roll 4d6 and drop the two lowest dice for all skill checks in this skill.", + "SPECIALIST": "Specialiste", + "SPECIALIST_DESC": "Vous êtes remarquablement doué dans une compétence particulière. Que ce soit un cambrioleur merveilleux, un athlète de renommée mondiale, un ingénieur brillant ou tout autre savant, votre expertise est extrêmement fiable. Vous pouvez utiliser ce focus plus d'une fois pour différentes compétences.\nNiveau 1: Gagnez une compétence hors combat et hors psychique en bonus. Lancez 3d6 et omettez le dé le plus bas pour tous les tests de cette compétence.\nLevel 2: Lancez 4d6 et omettez les deux dés les plus bas pour tous les tests de cette compétence.", "SPECIES_GENDER": "Species / Gender", "SPECIFIC_HUMAN": "Specific human", "SPEED": "Vitesse", "SPELL": "Sort", "SPELLS": "Sorts", - "SPELL_SLOTS": "Spell Slots", + "SPELL_SLOTS": "Emplacements de sort", "SPIKE_DRIVE_2": "Drive-2 upgrade", "SPIKE_DRIVE_2_DESC": "Upgrade a spike drive to drive-2 rating.", "SPIKE_DRIVE_3": "Drive-3 upgrade", @@ -879,14 +879,14 @@ "SPINAL_BEAM_CANNON": "Spinal Beam Cannon", "SQUEAL": "Squeal", "SQUEAL_DESC": "Requires Heal-1. This “truth serum” is unreliable but still one of the best available options for field interrogations. The subject must be immobilized or willing to be affected by it. For five minutes afterwards they will be unable to avoid answering questions about facts known to them; they will be unable to exercise anything resembling a hypothesis or a judgment, but they will answer specific questions about facts known to them truthfully. Unwilling victims can attempt a Physical saving throw; on a success, they can simply refuse to speak about one particular topic of their choice. Targets pass out for 1d6 hours after the drug wears off and are immune to it for a week thereafter", - "STAB": "Stab", + "STAB": "Poignarder", "STABILIZATION_OVERRIDES": "Stabilization Overrides", "STABILIZATION_OVERRIDES_DESC": "An intricate interweaving of microcapillaries and backup organs is implanted in the subject’s torso and spinal column. These overrides can stabilize the user when severe physical trauma would otherwise kill them. A user reduced to 0 hit points is automatically stabilized, as if a Lazarus patch had been successfully applied to them, assuming that a patch could have saved them. Stabilization overrides tend to interfere with the ordinary operation of the user’s organs, however, and the wearer’s Constitution modifier is lowered by 1, with all the attendant consequences in loss of maximum hit points.", "STALKER": "Stalker", - "STARFARER": "Starfarer", - "STARFARER_DESC": "You are an expert in the plotting and execution of interstellar spike drills. While most experienced pilots can manage conventional drills along well-charted spike routes, you have the knack for forging new drill paths and cutting courses too dangerous for lesser navigators.\nLevel 1: Gain Pilot as a bonus skill. You automatically succeed at all spike drill-related skill checks of difficulty 10 or less.\nLevel 2: Double your Pilot skill for all spike drill-related skill checks. Spike drives of ships you navigate are treated as one level higher; thus, a drive-1 is treated as a drive-2, up to a maximum of drive-7. Spike drills you personally oversee take only half the time they would otherwise require.", - "STAR_CAPTAIN": "Star Captain", - "STAR_CAPTAIN_DESC": "You have a tremendous natural talent for ship combat, and can make any starship you captain a significantly more fearsome opponent. You must take the captain’s role during a fight as described on page 117 of the Ship Combat rules in order to benefit from this focus.\nLevel 1: Gain Lead as a bonus skill. Your ship gains 2 extra Command Points at the start of each turn.\nLevel 2: A ship you captain gains bonus hit points equal to 20% of its maximum at the start of each combat. Damage is taken from these bonus points first, and they vanish at the end of the fight and do not require repairs to replenish before the next. In addition, once per engagement, you may resolve a Crisis as an Instant action by explaining how your leadership resolves the problem.", + "STARFARER": "Voyageur stellaire", + "STARFARER_DESC": "Vous êtes un expert dans le calcul et l'exécution de voyages interstellaires. Alors que la plupart des pilotes expérimentés peuvent gérer des voyages sur des routes bien cartographiées, vous avez le don de forger de nouveaux chemins et créér des parcours trop dangereux pour les navigateurs mineurs.\nNiveau 1: Gagner Piloter en compétence bonus. Vous réussissez automatiquement tous les tests de compétences liés au voyage interstellaire de difficulté 10 ou moins.\nNiveau 2: Doublez votre compétence Piloter pour tous les tests de compétence liés au voyage interstellaire. Les moteurs des navires sur lesquels vous naviguez sont traitées comme un niveau supérieur; ainsi, un drive-1 est traité comme un drive-2, jusqu'à un maximum de drive-7. Les voyages interstellaires que vous supervisez personnellement ne prennent que la moitié du temps nécessaire.", + "STAR_CAPTAIN": "Capitaine de vaisseau spatial", + "STAR_CAPTAIN_DESC": "Vous avez un énorme talent naturel pour le combat contre les navires et pouvez faire de n'importe quel vaisseau dont vous êtes le capitaine un adversaire beaucoup plus redoutable. Vous devez assumer le rôle de capitaine pendant un combat tel que décrit à la page 117 des règles de combat de vaisseau pour bénéficier de ce focus.\nNiveau 1: Gagnez Mener en compétence bonus. Votre vaisseau gagne 2 points de Commandement supplémentaires au début de chaque tour.\nNiveau 2: Un vaisseau dont vous êtes le capitaine gagne des points de vie supplémentaires égaux à 20% de son maximum au début de chaque combat. Les dégâts sont prélevés sur ces points bonus en premier, et ils disparaissent à la fin du combat, ne nécessitant pas des réparations pour se reconstituer avant le suivant. De plus, une fois par engagement, vous pouvez résoudre une Crise comme une action instantanée en expliquant comment votre leadership résout le problème.", "STATBLOCK": "Bloc de stats", "STATIONKEEPING": "Stationkeeping", "STATIONKEEPING_DESC": "The drone does not need to be constantly controlled; when the operator does not spend a Main Action to pilot it, it simply remains stationary. If equipped with an Observation Suite, it can ping the operator if any anomalous reading is obtained.", @@ -905,11 +905,11 @@ "STRAIN_COST": "Strain cost", "STREET": "Street", "STRENGTH": "Force", - "STRENGTH/2": "Strength/2", + "STRENGTH/2": "Force/2", "STRENGTH_DESC": "Physical prowess, melee combat, carrying gear, brute force", "STRENGTH_SHORT": "FOR", "STRIKE_FIGHTER": "Strike Fighter", - "STR_DEX": "STR/DEX", + "STR_DEX": "FOR/DEX", "STUN_BATON": "Stun baton", "STUN_BATON_DESC": "Stun batons are common law enforcement tools. The damage they do can drop a target to zero hit points, but will not kill them, the victim awakening in ten minutes with one hit point. Stun batons trickle-charge from normal movement and will not run out of electrical energy under normal use conditions.", "STUTTERJUMP": "Stutterjump", @@ -920,7 +920,7 @@ "SUBMACHINE_GUN_DESC": "Submachine guns take pistol ammunition but fire it at a high rate of speed. These weapons can fire in burst mode.", "SUBSYSTEMS": "Subsystems", "SUBSYSTEMS_DESC": "Determine which subsystems to show: Psionics, Space Magic, both, or neither.", - "SUCCESS!": "Réussite !", + "SUCCESS!": "Succès !", "SUICIDE_CHARGE": "Suicide Charge", "SUICIDE_CHARGE_DESC": "The drone is loaded with a demo charge as per page 69. The operator can trigger it as an attack, but unless they can move the drone in by surprise, the approach will always give onlookers a chance to spot it before it gets within range.", "SUIT_RIPPER": "Suit ripper", @@ -935,9 +935,9 @@ "SURVEY_SENSOR_ARRAY": "Survey sensor array", "SURVEY_SENSOR_ARRAY_DESC": "Improved planetary sensory array", "SURVIVAL": "Survie", - "SURVIVAL_KIT": "Survival kit", + "SURVIVAL_KIT": "Kit de survie", "SURVIVAL_KIT_DESC": "A standard belt-worn kit with fire lighter, water filter, three thermal flares, knife, thermal blanket, a brightly-colored 3 x 3 meter waterproof tarp, a glowbug, and a radio beacon that can transmit a distress signal up to fifty kilometers for one month on the included type A power cell. Survival kits sold on a particular world will usually also include a small booklet on specific dangers or edible organics. Possession of a survival kit grants a +1 to all relevant Survive skill checks, assuming its contents are helpful on a given planet. Survival kits are well-organized, and count as only one item for encumbrance purposes.", - "SURVIVE": "Survive", + "SURVIVE": "Survivre", "SUSPENDED_MANIFESTATION": "Suspended Manifestation", "SUSPENDED_MANIFESTATION_DESC": "The metapsion is capable of “hanging” a psychic power in their brain, forming the energy patterns and then suspending them in a self-sustaining loop until it’s time to trigger their release. The psychic must Commit Effort for the day to hang a power, along with the Effort normally necessary to trigger it. None of this Effort can be recovered until the power is expended, after which it recovers at its usual speed. Activating the power is an Instant action, or an On Turn action if it allows the target a saving throw of some kind. Only one ability can be held suspended at any one time.", "SYNTHETIC_ADAPTATION": "Synthetic Adaptation", @@ -952,7 +952,7 @@ "TAGGER_NANITES_DESC": "While true nanotechnology is beyond the grasp of standard TL4 science, this cyberware allows for the implantation of very simple nanofactories in the user, ones that exude a constant imperceptible “smart dust”. Objects the user touches can be tagged by these nanites, which generate more of their kind for up to 48 hours after tagging. The dust then lays down a trail behind the tagged object, one that is visible to the user or to someone using a properly-keyed tracer. Only counter-nanite measures can remove the dust, as ordinary bathing or scrubbing is insufficient. The dust can be pinged by radio to announce its location to anyone within five kilometers, but most users prefer to leave the dust in passive mode, where it is undetectable to most TL4 sensors. Tagging an object adds one System Strain to the user.", "TAILORED_ANTIALLERGENS": "Tailored antiallergens", "TAILORED_ANTIALLERGENS_DESC": "A dose of tailored antiallergens can be used to render a local world’s organics largely edible by humans and its atmosphere breathable without severe allergic reactions. While many worlds have been seeded with Terran life forms or have produced organics that are edible by humans, others are toxic without the appropriate chemical augmentation. A dose of these antiallergens lasts for twenty-four hours.", - "TALK": "Talk", + "TALK": "Parler", "TANGIBLE_FORCE_CONSTRUCT": "Tangible Force Construct", "TANGIBLE_FORCE_CONSTRUCT_DESC": "Once per turn, as an On Turn action, the psychic can Commit Effort for the scene to create a telekinetic force construct at a visible point, provided it can fit within a three-meter cube. The force construct can be shaped in any way the psychic wishes, and can remain fixed in its location without external supports if desired. It is as sturdy as a TL4 construction and may be visible or invisible at the adept’s choice. The construct lasts until the end of the scene, until the psychic dispels it, or until it is smashed with 20 points of damage against AC 15.", "TECHNIQUE": "Technique", @@ -1003,8 +1003,8 @@ "THUNDER_GUN_DESC": "Thunder guns are named for the basso vibrations caused by their operation, a sound that can be felt as far as thirty meters away from an operator. This two-handed weapon uses grav plates to create rapid, randomized disruptions in a target that increase the chance of complete structural collapse. If a thunder gun hits a target with an unmodified hit roll of 16 or higher an extra 1d10 damage is rolled. This bonus damage always applies to inanimate targets.", "TIGHTBEAM_LINK_UNIT": "Tightbeam link unit", "TIGHTBEAM_LINK_UNIT_DESC": "Much like a remote link unit, a tightbeam unit uses a laser to connect via lineof-sight transmission. Unlike a remote link unit, there’s almost no chance for a conventional security system to detect this link, but it requires that the infiltrators get a clear line of sight between the unit and the receiving end. Commercial satellite reception units can be employed for skyward aiming at 500 credits/hour if a second land unit is unavailable, but indoor use is impossible.", - "TINKER": "Bricolage", - "TINKER_DESC": "You have a natural knack for modifying and improving equipment, as given in the rules on page 100.\nLevel 1: Gain Fix as a bonus skill. Your Maintenance score is doubled, allowing you to maintain twice as many mods. Both ship and gear mods cost only half their usual price in credits, though pretech salvage requirements remain the same.\nLevel 2: Your Fix skill is treated as one level higher for purposes of building and maintaining mods and calculating your Maintenance score. Advanced mods require one fewer pretech salvage part to make, down to a minimum of zero.", + "TINKER": "Bricoleur", + "TINKER_DESC": "Vous avez un talent naturel pour modifier et améliorer l'équipement, comme indiqué dans les règles à la page 100. \nNiveau 1: Gagnez Réparer en compétence bonus. Votre score de maintenance est doublé, vous permettant de maintenir deux fois plus de mods. Les mods de vaisseau et d'équipement ne coûtent que la moitié de leur prix habituel en crédits, bien que les exigences de récupération de prétech restent les mêmes. \nLevel 2: Votre compétence Réparer est traitée comme un niveau supérieur pour la construction et la maintenance des mods et le calcul de votre score de maintenance. Les mods avancés nécessitent une pièce de prétech récupérée en moins, jusqu'à un minimum de zéro.", "TISSUE_INTEGRITY_FIELD": "Tissue Integrity Field", "TISSUE_INTEGRITY_FIELD_DESC": "The biopsion’s Psychic Succor may now also affect all allies within ten meters of the target. Allies can decline the healing if they don’t require it or don’t want to take the additional System Strain. Each use of this technique requires that the biopsion Commit Effort for the day in addition to the cost of the Psychic Succor.", "TITAN_POWERED_ARMOR": "Titan Powered Armor", @@ -1021,7 +1021,7 @@ "TOXIN_INJECTOR_DESC": "The user’s canines or fingernails are altered to allow for the injection of one of two types of poison. If the user attempts to inject an unsuspecting victim they are already touching, the attempt is automatically successful. If the victim is wary or in combat, they can only be affected if they are unarmored and the user succeeds in a Punch attack roll. On a success, the victim must make a Physical saving throw at -2 or be incapacitated by the poison, dying in 1d6 rounds or being incapacitated for 1d6 hours at the user’s discretion. Each poison attack adds 2 System Strain to the user.", "TRACTOR_BEAMS": "Tractor beams", "TRACTOR_BEAMS_DESC": "Manipulate objects in space at a distance.", - "TRADE": "Commerce", + "TRADE": "Marchander", "TRADE_GOODS": "Trade goods", "TRADE_GOODS_DESC": "Glowbugs, ceramic fire lighters, antibiotics, ceraplast tools, and the other fruits of a TL4 civilization that might be valuable on more primitive worlds. A kilo of trade goods can usually be traded for at least a hundred credits worth of local products on more primitive worlds that are not well-served by interstellar merchants. The profit margin shrinks rapidly as interstellar trade becomes more common, and there is always the difficulty of finding local products that are actually worth a merchant’s journey.", "TRADE_METALS": "Trade metals", @@ -1037,11 +1037,11 @@ "TWITCHLOCK_ACTUATORS_DESC": "Neural override fibers are woven into the user’s hands and arms and linked to a perceptual modulator implanted at the base of the user’s brain stem. When presented with a direct exercise of hand-eye coordination, the twitchlock can be engaged to produce superhuman accuracy and precision. Any attack roll or skill check reliant chiefly on manual dexterity or aim can be rerolled, though the power surge inflicts two points of System Strain on the user. A given roll can only be rerolled once with this cyberware. While the twitchlock allows superhuman accuracy when engaged, the overrides fuzz ordinary nerve impulses and reduce the user’s Dexterity modifier by 1 when active. Activating or deactivating the cyberware requires a Main Action.", "TYPE": "Type", "TYPE_OF_MAGIC": "Type of Magic", - "UNARMED_COMBATANT": "Unarmed Combatant", - "UNARMED_COMBATANT_DESC": "Your empty hands are more dangerous than knives and guns in the grip of the less gifted. Your unarmed attacks are counted as melee weapons when it comes to binding up opponents wielding rifles and similar long arms, though you need at least one hand free to do so.\nLevel 1: Gain Punch as a bonus skill. Your unarmed attacks become more dangerous as your Punch skill increases. At level-0, they do 1d6 damage. At level-1, they do 1d8 damage. At level-2 they do 1d10, level-3 does 1d12, and level-4 does 1d12+1. At Punch-1 or better, they have the Shock quality equal to your Punch skill against AC 15 or less. While you normally add your Punch skill level to any unarmed damage, don’t add it twice to this Shock damage.\nLevel 2: You know locks and twists that use powered servos against their wearer. Your unarmed attacks count as TL4 weapons for the purpose of overcoming advanced armors. Even on a miss with a Punch attack, you do an unmodified 1d6 damage.", + "UNARMED_COMBATANT": "Combattant sans arme", + "UNARMED_COMBATANT_DESC": "Vos mains vides sont plus dangereuses que les couteaux et les fusils sous l'emprise des moins doués. Vos attaques à mains nues sont comptées comme des armes de mêlée lorsqu'il s'agit d'engager des adversaires brandissant des fusils et des armes longues similaires, bien que vous ayez besoin d'au moins une main libre pour le faire. \nNiveau 1: Gagnez Frapper en compétence bonus. Vos attaques non armées deviennent plus dangereuses à mesure que votre compétence Frapper augmente. Au niveau 0, ils infligent 1d6 dégâts. Au niveau 1, ils infligent 1d8 dégâts. Au niveau 2, ils font 1d10, le niveau 3 1d12 et le niveau 4 1d12+1. A Frapper-1 ou mieux, ils ont la qualité Choc égale à votre compétence Frapper contre CA 15 ou moins. Bien que vous ajoutiez normalement votre niveau de compétence Frapper à tout dommage non armé, ne l'ajoutez pas deux fois à ces dégâts de choc.\nNiveau 2: Vous connaissez les verrous et les torsions qui utilisent des servos motorisés contre leur porteur. Vos attaques non armées comptent comme des armes TL4 dans le but de vaincre les armures avancées. Même en cas d'échec avec une attaque Frapper, vous infligez 1d6 dégâts non modifiés.", "UNCOMMITTED": "Uncommitted", - "UNIQUE_GIFT": "Unique Gift", - "UNIQUE_GIFT_DESC": "Whether due to exotic technological augmentation, a unique transhuman background, or a remarkable human talent, you have the ability to do something that’s simply impossible for a normal human.\nThis is a special focus which serves as a catch-all for some novel power or background perk that doesn’t have a convenient fit in the existing rules. A transhuman who can function normally in lethal environments, a nanotech-laden experimental subject with a head full of exotic sensors, or a brilliant gravitic scientist who can fly thanks to their personal tech might all take this focus to cover their special abilities.\nIt’s up to the GM to decide what’s reasonable and fair to be covered under this gift. If an ability is particularly powerful, it might require the user to take System Strain to use it, as described on page 32.\nAs a general rule this ability should be better than a piece of gear the PC could buy for credits. The player is spending a very limited resource when they make this focus pick, so what they get should be good enough that they can’t just duplicate it with a fat bank account.", + "UNIQUE_GIFT": "Don Unique", + "UNIQUE_GIFT_DESC": "Que ce soit en raison d'une augmentation technologique exotique, d'un bagage transhumain unique ou un talent humain remarquable, vous avez la capacité de faire quelque chose qui est tout simplement impossible pour un humain normal. \nC'est un focus spécial qui sert de fourre-tout à un nouveau pouvoir ou avantage d'arrière-plan qui ne correspond pas aux règles existantes. Un transhumain capable de fonctionner normalement dans des environnements mortels, un sujet expérimental chargé de nanotechnologies avec une tête pleine de capteurs exotiques ou un brillant scientifique gravitique capable de voler grâce à sa technologie personnelle pourraient tous se concentrer sur leurs capacités spéciales.\nC'est au MJ de décider de ce qui est raisonnable et juste d'être couvert par ce don. Si une capacité est particulièrement puissante, elle peut obliger l'utilisateur à subir du Stress pour l'utiliser, comme décrit à la page 32.\nEn règle générale, cette capacité devrait être meilleure qu'un équipement que le PC pourrait acheter pour des crédits. Le joueur dépense une ressource très limitée lorsqu'il choisit ce focus, donc ce qu'il obtient doit être suffisamment bon pour qu'il ne puisse pas simplement le dupliquer avec un gros compte bancaire.", "UNITY_OF_THOUGHT": "Unity of Thought", "UNITY_OF_THOUGHT_DESC": "The telepath becomes exceptionally skilled at weaving together multiple allied minds. When they establish a Telepathic Contact with a willing ally they may bind up to six willing participants into the same contact without further Effort. This multi-person link is relatively shallow, and allows only the Instant exchange of thoughts, images, and sensory impressions. While under its effect, every participant knows the exact location and condition of all others, and uses the best Initiative roll of any of them if combat commences. At the table, up to five minutes of discussion and coordination among the players can be arranged each round without incurring delays for the PCs. Every combat turn, one gestalt member of the psychic’s choice gets an extra round of action to represent the benefits of the perfect coordination of the group. The psychic cannot gain this bonus round himself. The telepathic link lasts as long as the psychic initiates no new Telepathic Contact, and it has a range that extends to any point within a solar system.", "UNSPENT_PSIONIC_SKILL_POINTS": "Unspent psionic skill points", @@ -1077,7 +1077,7 @@ "VS": "vs", "VS_AC_LEQ": "vs AC ≤", "WANDERER": "Vagabond", - "WANDERER_DESC": "Your hero gets around. As part of a life on the road, they’ve mastered a number of tricks for ensuring their mobility and surviving the inevitable difficulties of a vagabond existence.\nLevel 1: Gain Survive as a bonus skill. You can convey basic ideas in all the common languages of the sector. You can always find free transport to a desired destination for yourself and a small group of your friends provided any traffic goes to the place. Finding this transport takes no more than an hour, but it may not be a strictly legitimate means of travel and may require working passage.\nLevel 2: You can forge, scrounge, or snag travel papers and identification for the party with 1d6 hours of work. These papers and permits will stand up to ordinary scrutiny, but require an opposed Int/Administer versus Wis/Notice check if examined by an official while the PC is actually wanted by the state for some crime. When finding transport for the party, the transportation always makes the trip at least as fast as a dedicated charter would.", + "WANDERER_DESC": "Votre héros voyage. Dans le cadre d'une vie sur la route, il a maîtrisé un certain nombre d'astuces pour assurer sa mobilité et survivre aux inévitables difficultés d'une existence vagabonde.\nNiveau 1: Gagnez Survivre en compétence bonus. Vous pouvez transmettre des idées de base dans toutes les langues communes du secteur. Vous pouvez toujours trouver un transport gratuit vers une destination souhaitée pour vous-même et un petit groupe de vos amis à condition que tout trafic se rende à l'endroit. Trouver ce moyen de transport ne prend pas plus d'une heure, mais il peut ne pas être un moyen de transport strictement légitime et peut nécessiter un droit de passage.\nNiveau 2: Vous pouvez falsifier, récupérer ou mettre la main sur des papiers de voyage et des pièces d'identité pour l'équipe avec 1d6 heures de travail. Ces papiers et permis résisteront à un examen ordinaire, mais nécessiteront une vérification opposée Int / Administrer contre Sag / Percevoir s'ils sont examinés par un fonctionnaire alors que le PC est en fait recherché par l'État pour un crime. Lors de la recherche d'un moyen de transport pour l'équipe, le transport fait toujours le voyage au moins aussi vite qu'un charter dédié.", "WARPAINT": "Warpaint", "WARPAINT_DESC": "Warpaint is the common term for the bizarre combat fashions and scrap-built street harness of gangers, cult enforcers, street toughs, and other marginal sorts with little money but much need for protection. Most warpaint is fashioned of scrounged scraps of TL4 materials that are exceptionally tough or rigid, filled out with gang colors, body paint, intimidating tattoos, and the usual threatening grimace. It is often exceedingly impractical but inspirational to its wearer; an NPC in warpaint that is meaningful to them gains a +1 Morale bonus. Most warpaint is either pieced together over years or taken from the dead. Actually purchasing a finished suit comes at the listed price, assuming someone can be found willing to part with theirs.", "WARRIOR": "Guerrier", @@ -1091,18 +1091,18 @@ "WEAPON_FITTING_DESC": "The drone can be mounted with 1 encumbrance worth of ranged weaponry, which must be purchased separately. This fitting may be taken more than once to mount more weapons or heavier weapons. The weapon requires one or more ammo units to feed it.", "WIDEAWAKE_SERUM": "Wideawake Serum", "WIDEAWAKE_SERUM_DESC": "Originally designed to facilitate spike drills for single-man ships that couldn’t afford a sleeping pilot, wideawake serum gives the user enormous vigor and alertness for up to seven days at a time. The user need not sleep or even rest, but during this time it is impossible to recover accrued System Strain. A successful Heal check at difficulty 10, made at most once per day, can flush the drug from the user prematurely.", - "WILD_PSYCHIC_TALENT": "Wild Psychic Talent", - "WILD_PSYCHIC_TALENT_DESC": "Some men and women are born with a very limited form of MES, the mental condition that allows for the use of psychic powers. While these people are not true psychics, these “wild talents” can create one limited psychic effect. Training is not always required to develop this ability, and their MES is so mild that they don’t suffer the risk of madness or brain damage that more developed psychics risk should they use their powers without proper training.\nWild talents are not treated as psychics for general purposes and cannot “torch” their powers. When relevant, they are treated as having one point of Effort. Psychics and Partial Psychics cannot take this focus.\nLevel 1: Pick a psychic discipline. You gain an ability equivalent to the level-0 core power of that discipline. Optionally, you may instead pick a level-1 technique from that discipline, but that technique must stand alone; you can’t pick one that augments another technique or core ability. For example, you could pick the Telekinetic Armory technique from Telekinesis, because that ability does not require the use of any other Telekinesis power. You could not pick the Mastered Succor ability from Biopsionics, because that technique is meant to augment another power you don’t have.\nLevel 2: You now have a maximum Effort of two points. You may pick a second ability according to the guidelines above. This second does not need to be a stand-alone technique if it augments the power you chose for level 1 of this focus. Thus, if your first pick was gaining the level-0 power of Psychic Succor, your second could be Mastered Succor. You still could not get the level-1 core power of Psychic Succor, however, as you’re still restricted to level-0.", + "WILD_PSYCHIC_TALENT": "Talent Psychique Primitif", + "WILD_PSYCHIC_TALENT_DESC": "Certains hommes et femmes naissent avec une forme très limitée de MES, la condition mentale qui permet l'utilisation de pouvoirs psychiques. Bien que ces personnes ne soient pas de véritables psychiques, ces «talents primitifs» peuvent créer un effet psychique limité. L'entraînement n'est pas toujours nécessaire pour développer cette capacité, et leur MES est si doux qu'ils ne subissent pas le risque de folie ou de lésions cérébrales que les psychiques plus développés risquent s'ils utilisent leurs pouvoirs sans entraînement approprié. \nCeux ayant un talent primitif ne sont pas traités comme psychiques et ne peuvent pas «torch» leurs pouvoirs. Le cas échéant, ils sont traités comme ayant un point d'effort. Les psychiques et les psychiques partiels ne peuvent pas prendre ce focus. \nNiveau 1: Choisissez une discipline psychique. Vous gagnez une capacité équivalente à la puissance de base de niveau 0 de cette discipline. Vous pouvez éventuellement choisir une technique de niveau 1 dans cette discipline, mais cette technique doit être autonome; vous ne pouvez pas en choisir une qui augmente une autre technique ou capacité de base. Par exemple, vous pouvez choisir la technique de l'armurerie télékinésique de Télékinésie, car cette capacité ne nécessite l'utilisation d'aucun autre pouvoir de télékinésie. Vous ne pouvez pas choisir la capacité Mastered Succor de Biopsioniques, car cette technique est destinée à augmenter un autre pouvoir que vous n’avez pas.\nNiveau 2: Vous avez maintenant un effort maximum de deux points. Vous pouvez choisir une deuxième capacité selon les directives ci-dessus. Cette seconde n'a pas besoin d'être une technique autonome si elle augmente la puissance que vous avez choisie pour le niveau 1 de ce focus. Ainsi, si votre premier choix gagnait la puissance de niveau 0 de Psychic Succor, votre second pourrait être Mastered Succor. Cependant, vous ne pouvez toujours pas obtenir la puissance de base de niveau 1 de Psychic Succor, car vous êtes toujours limité au niveau 0.", "WISDOM": "Sagesse", "WISDOM_DESC": "Noticing things, making judgments, reading situations, intuition", "WISDOM_SHORT": "SAG", - "WORK": "Work", + "WORK": "Travailler", "WORKSHOP": "Atelier", "WORKSHOP_DESC": "Automated tech workshops for maintenance.", "WOVEN_BODY_ARMOR": "Woven Body Armor", "WOVEN_BODY_ARMOR_DESC": "Woven Body Armor represents the best armor that a TL3 world can manufacture, or an up-armored version of security armor used by TL4 high-threat response teams. The design is significantly more cumbersome, but allows for multiple layers of protection.", "XP": "PX", - "XP_NEXT_LEVEL": "XP / Next Level", + "XP_NEXT_LEVEL": "PX / Prochain niveau", "XP_SCHEME": "XP scheme", "XP_SCHEME_DESC": "Chose what to show in the \"next level xp\" field, if anything.", "YES": "Oui" diff --git a/Strato Shout/sheet.json b/Strato Shout/sheet.json new file mode 100644 index 0000000000..6b62203e9e --- /dev/null +++ b/Strato Shout/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "stratoshout.html", + "css": "stratoshout.css", + "authors": "Tateck", + "roll20userid": "356257", + "preview": "stratoshout.png", + "instructions": "青春バンドTRPG ストラトシャウト" +} \ No newline at end of file diff --git a/Strato Shout/stratoshout.css b/Strato Shout/stratoshout.css new file mode 100644 index 0000000000..d8b716403c --- /dev/null +++ b/Strato Shout/stratoshout.css @@ -0,0 +1,414 @@ +select, div, button, textarea, span, input, img, label{box-sizing: border-box; outline:0; margin:0;} +fieldset {margin:0; padding:0; border:none;} +.ui-dialog .charsheet {padding:0;} +.repcontrol {margin-top:5px;} +.repcontainer .repitem {margin-top:8px;} + +.sheet-hidden {display:none !important;} +.sheet-st-wrap .sheet-old-roll {margin:0 !important; padding:0 !important; width:20px; height:20px; overflow:hidden; color:#000 !important; font-weight: 600 !important;} + +.sheet-st-wrap input {color:#000;} +.sheet-st-wrap input[type="number"]::-webkit-outer-spin-button, +.sheet-st-wrap input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;} +.sheet-st-wrap button {cursor:pointer;} + +.sheet-st-wrap {display:block; position:relative; width:860px; margin:0 -10px; min-height:400px; background:url('https://i.imgur.com/OWNRuAT.jpg') no-repeat 50% 0; font-size:13px;} +.sheet-st-wrap:after {content:""; display:block; position:relative; height:38px; margin-top:20px; background:url('https://i.imgur.com/IHogK15.jpg') no-repeat 50% 100%;} + +.sheet-st-wrap fieldset {border:none; margin:0; padding:0;} +.sheet-st-wrap .repcontrol {margin-top:10px; padding:0 0 0 30px;} +.sheet-st-wrap .itemcontrol {z-index:3;} + +.sheet-st-wrap * {box-sizing:border-box;} +.sheet-st-wrap > .sheet-acc {display:block; position:absolute; top:33px; left:0; width:104px; height:202px; background:no-repeat 0 0;} + +.sheet-position-V[value="1"] ~ .sheet-st-wrap > .sheet-acc {background-image:url('https://i.imgur.com/vcdN5oJ.png');} +.sheet-position-K[value="1"] ~ .sheet-st-wrap > .sheet-acc {background-image:url('https://i.imgur.com/C9P7PAD.png');} +.sheet-position-G[value="1"] ~ .sheet-st-wrap > .sheet-acc {background-image:url('https://i.imgur.com/Ckkfs9h.png');} +.sheet-position-B[value="1"] ~ .sheet-st-wrap > .sheet-acc {background-image:url('https://i.imgur.com/PELJ14b.png');} +.sheet-position-D[value="1"] ~ .sheet-st-wrap > .sheet-acc {background-image:url('https://i.imgur.com/SJW1aSJ.png');} +.sheet-adv-1[value="1"] ~ .sheet-st-wrap .sheet-adv-1 {display:block;} +.sheet-adv-2[value="1"] ~ .sheet-st-wrap .sheet-adv-2 {display:block;} +.sheet-adv-3[value="1"] ~ .sheet-st-wrap .sheet-adv-3 {display:block;} + +.sheet-st-top {display:block; position:relative; padding-top:70px; padding-left:130px; margin-bottom:38px;} +.sheet-st-top .sheet-st-player {display:block; position:absolute; width:160px; height:22px; top:8px; right:8px;} +.sheet-st-top .sheet-st-player > input[type="text"] {display:block; position:relative; width:100%; height:100%; border:none; background:transparent; text-align:center; font-size:12px;} +.sheet-st-top .sheet-st-profile {position:relative; height:120px; padding:5px;} +.sheet-st-top .sheet-adv-desc {display:none;} +.sheet-st-top .sheet-st-row {display:block; padding:5px 0; overflow:hidden;} +.sheet-st-top .sheet-st-pofile-input {display:block; float:left; position:relative; box-sizing:border-box; min-height:25px; padding-left:60px;} +.sheet-st-top .sheet-st-pofile-input:before {content:""; display:block; position:absolute; bottom:0; left:8px; right:0; height:1px; background:#000;} +.sheet-st-top .sheet-st-pofile-input + .sheet-st-pofile-input {margin-left:5px;} +.sheet-st-top .sheet-st-pofile-input strong {display:block; position:absolute; top:0; left:0; font-size:12px; height:25px; text-align:center; width:60px; line-height:25px; color:#fff; border-radius:5px; background:#000;} +.sheet-st-top .sheet-st-pofile-input input, +.sheet-st-top .sheet-st-pofile-input select {height:25px; border:none; display:block; margin:0; padding:0 10px; background:transparent; cursor:pointer; width:100%;} +.sheet-st-top .sheet-st-pofile-input input:hover {background:rgba(0,0,0,.05);} +.sheet-st-top .sheet-st-pofile-input input[readonly] {cursor:default;} +.sheet-st-top .sheet-st-pofile-input input[readonly]:hover {background:transparent;} +.sheet-st-top .sheet-st-pofile-input > span {display:block; position:relative; float:left; min-height:25px;} +.sheet-st-top .sheet-st-pofile-input > span + span {margin-left:5px; padding-left:15px;} +.sheet-st-top .sheet-st-pofile-input > span + span:after {content:""; display:block; position:absolute; left:-1px; bottom:-5px; width:1px; height:10px; background:#000; transform:rotate(40deg); -webkit-transform:rotate(40deg);} +.sheet-st-top .sheet-st-pofile-input.sheet-ty1 {width:265px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty2 {width:192px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty3 {width:240px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty3 > span {width:35%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty3 > span + span {width:55%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty3 > span + span:before {content:"Lv."; display:block; position:absolute; left:15px; top:0; bottom:0; line-height:25px; font-size:14px; font-weight:800;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty3 > span + span input {padding-left:35px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty4 {width:123px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty5 {width:150px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty6 {width:425px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty6 > span {width:23%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty6 > span + span {width:75%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty6 > span + span input {padding-left:5px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty6 .sheet-adv-desc {line-height:25px; text-align:center; letter-spacing:-0.01em;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty7 {width:325px;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty7 > span {width:33%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty7 > span + span {width:63%;} +.sheet-st-top .sheet-st-pofile-input.sheet-ty7 > span + span input {padding-left:10px;} +.sheet-st-top .sheet-st-state {display:block; position:absolute; right:48px; bottom:-30px;} +.sheet-st-top .sheet-st-state .sheet-item {display:block; position:relative; width:70px; height:70px; float:left; margin-left:5px;} +.sheet-st-top .sheet-st-state .sheet-item.sheet-ty2 + .sheet-item {margin-left:20px;} +.sheet-st-top .sheet-st-state .sheet-c {display:block; position:relative; width:100%; height:100%; border-radius:100%; border:2px solid #000; overflow:hidden; background:#fff;} +.sheet-st-top .sheet-st-state .sheet-c strong {display:block; position:relative; height:30px; line-height:30px; background:#000; color:#fff; text-align:center; font-size:11px;} +.sheet-st-top .sheet-st-state .sheet-c input {border:none; text-align:center; height:30px; display:block; width:100%; font-size:15px; font-weight:800;} +.sheet-st-top .sheet-st-state .sheet-ori {display:block; position:absolute; width:23px; height:23px; border-radius:100%; border:2px solid #000; background:#989898; right:-16px; top:18px; overflow:hidden;} +.sheet-st-top .sheet-st-state .sheet-ori input {display:block; position:relative; height:19px; font-size:11px; text-align:center; width:100%; border:none; background:transparent; z-index:1;} +.sheet-st-top .sheet-st-state .sheet-add {display:block; position:absolute; width:23px; height:23px; border-radius:100%; border:2px solid #000; background:#fff; right:-8px; top:45px; overflow:hidden;} +.sheet-st-top .sheet-st-state .sheet-add input {display:block; position:relative; height:19px; font-size:11px; text-align:center; width:100%; border:none; background:transparent; z-index:1; font-weight:600;} +.sheet-st-top .sheet-st-state .sheet-plus {display:block; position:absolute; width:13px; height:12px; background:url('https://i.imgur.com/9lZVPgC.png') no-repeat 50% 50%; z-index:2; top:38px; right:-7px;} + +.sheet-st-bust {display:block; position:relative; background:#000; color:#fff;} +.sheet-st-bust .sheet-color {display:block; position:absolute; left:20px; bottom:20px;} +.sheet-st-bust .sheet-color input {width:70px; background:none; border:none; border-bottom:1px solid #fff; color:#fff;} +.sheet-st-bust .sheet-st-bustItem {display:none; text-align:right;} +.sheet-st-bust .sheet-st-bustItem:before {content:""; display:block; position:absolute; top:-7px; left:0; width:290px; height:75px; border:none; padding:0; margin:0; background:url('https://i.imgur.com/AIKb7NW.png') no-repeat 50% 50%; overflow:hidden; text-indent:-999px; text-align:left;} +.sheet-st-bust .sheet-st-bustItem .sheet-tit {line-height:60px; font-size:24px; font-weight:800; padding:0 17px 0 335px; font-style:italic;} +.sheet-st-bust .sheet-st-bustItem .sheet-detail {padding:0 17px 20px; font-size:14px; line-height:1.5;} + +.sheet-position-V[value="1"] ~ .sheet-st-wrap > .sheet-st-bust .sheet-st-V {display:block;} +.sheet-position-K[value="1"] ~ .sheet-st-wrap > .sheet-st-bust .sheet-st-K {display:block;} +.sheet-position-G[value="1"] ~ .sheet-st-wrap > .sheet-st-bust .sheet-st-G {display:block;} +.sheet-position-B[value="1"] ~ .sheet-st-wrap > .sheet-st-bust .sheet-st-B {display:block;} +.sheet-position-D[value="1"] ~ .sheet-st-wrap > .sheet-st-bust .sheet-st-D {display:block;} + +.sheet-st-dicebox {display:block; padding:7px 10px; background:#000; border-radius:5px; overflow:hidden; color:#fff;} +.sheet-st-dicebox .sheet-item {float:left;} +.sheet-st-dicebox .sheet-item + .sheet-item {margin-left:15px;} +.sheet-st-dicebox .sheet-item input, +.sheet-st-dicebox .sheet-item select {font-size:13px; border-radius:3px; border:none; height:23px; font-size:12px;} +.sheet-st-dicebox .sheet-item strong {line-height:23px;} +.sheet-st-dicebox .sheet-item strong, +.sheet-st-dicebox .sheet-item input, +.sheet-st-dicebox .sheet-item select, +.sheet-st-dicebox .sheet-item button {vertical-align:middle; margin:0;} +.sheet-st-dicebox .sheet-item select {width:80px; margin:0;} +.sheet-st-dicebox .sheet-item input {width:50px; text-align:center;} +.sheet-st-dicebox .sheet-item.sheet-ty2 {float:right;} + +.sheet-st-spectable {position:relative; margin:10px 0;} +.sheet-st-spectable .sheet-guide {display:block; padding-bottom:5px; text-align:right; font-size:12px;} +.sheet-st-spectable .sheet-guide input {width:20px; border:none; font-size:12px; text-align:right; background:transparent !important;} +.sheet-st-spectable .sheet-st-spec {border:1px solid #000;} +.sheet-st-spec table {width:100%; font-size:12px; border-spacing:0; border-collapse:collapse;} +.sheet-st-spec table td {border:1px solid #000;} +.sheet-st-spec table th {border:1px solid #fff; background:#000; color:#fff; text-align:center;} +.sheet-st-spec table tr > *:first-child {border-left-width:0 !important;} +.sheet-st-spec table tr > *:last-child {border-right-width:0 !important;} +.sheet-st-spec table thead th {position:relative; padding:5px 0; border-top-width:0;} +.sheet-st-spec table thead th.sheet-chk {background:#fff; border:1px solid #000;} +.sheet-st-spec table thead th.sheet-chk input[type="checkbox"] {display:block; position:absolute; top:0; left:0; width:21px; height:29px; border:none; background:transparent !important; opacity:0; margin:0; cursor:pointer;} +.sheet-st-spec table tbody > tr:last-child > * {border-bottom-width:0 !important;} +.sheet-st-spec p {display:block; position:relative; width:119px; height:25px; box-sizing:border-box; padding: 0 20px 0 0; z-index:0; margin:0;} +.sheet-st-spec p input[type="checkbox"] {display:block; position:absolute; top:0; left:0; width:20px; height:25px; border:none; background:#fff; margin:0; opacity:0; z-index:1; cursor:pointer;} +.sheet-st-spec p input[type="text"] {display:block; position:absolute; top:0; right:0; width:20px; height:25px; border:none; background:transparent; border-radius:0; text-align:right; padding:2px; text-align:center; border-left:1px solid rgba(0,0,0,.2); color:#666; font-size:11px;} +.sheet-st-spec .sheet-spec-roll {display:block; position:relative; width:100% !important; height:100% !important; padding:0 0 0 20px !important; border:none !important; background:transparent !important; z-index:0; margin:0 !important; font-size:12px !important;} +.sheet-st-spec .sheet-spec-roll:before {content:"" !important; display:block; position:absolute; top:50%; left:3px; width:14px; height:14px; box-sizing:border-box; margin-top:-7px; border:2px solid #333; border-radius:100%;} +.sheet-st-spec .sheet-spec-roll:after {content:"" !important; display:block; position:absolute; top:0; bottom:0; left:0px; width:20px; background:rgba(0,0,0,.2); opacity:0;} +.sheet-st-spec p input[type="checkbox"]:checked + .sheet-spec-roll:before {background:#d20000; border-color:#d20000;} +.sheet-st-spec p input[type="checkbox"]:hover + .sheet-spec-roll:after {opacity:1;} +.sheet-element-to-determine-style-A[value='1'] ~ div .sheet-st-style-A {background:#000 !important; border-color:#fff !important;} +.sheet-element-to-determine-style-B[value='1'] ~ div .sheet-st-style-B {background:#000 !important; border-color:#fff !important;} +.sheet-element-to-determine-style-C[value='1'] ~ div .sheet-st-style-C {background:#000 !important; border-color:#fff !important;} +.sheet-element-to-determine-style-D[value='1'] ~ div .sheet-st-style-D {background:#000 !important; border-color:#fff !important;} +.sheet-element-to-determine-style-E[value='1'] ~ div .sheet-st-style-E {background:#000 !important; border-color:#fff !important;} +.sheet-element-to-determine-style-A[value='1'] ~ div th.sheet-st-style-A {border-color:#fff !important;} +.sheet-element-to-determine-style-B[value='1'] ~ div th.sheet-st-style-B {border-color:#fff !important;} +.sheet-element-to-determine-style-C[value='1'] ~ div th.sheet-st-style-C {border-color:#fff !important;} +.sheet-element-to-determine-style-D[value='1'] ~ div th.sheet-st-style-D {border-color:#fff !important;} +.sheet-element-to-determine-style-E[value='1'] ~ div th.sheet-st-style-E {border-color:#fff !important;} + +.sheet-st-grid {display:block; overflow:hidden; margin-bottom:40px;} +.sheet-st-grid .sheet-left, +.sheet-st-grid .sheet-right {display:block; position:relative; width:54%; float:left;} +.sheet-st-grid .sheet-right {padding-left:15px; width:46%;} +.sheet-st-grid .sheet-title {display:block; position:relative; height:40px; line-height:30px; background:#000000; color:#fff; padding:0 10px; font-size:14px;} +.sheet-st-grid .sheet-title strong {display:block; float:left; font-weight:800;} +.sheet-st-grid .sheet-title span {float:right; font-size:12px;} +.sheet-st-grid .sheet-title span input {width:30px; height:30px; text-align:center; color:#fff;} +.sheet-st-grid .sheet-title:after {content:""; display:block; position:absolute; left:0; bottom:0; right:0; background:#fff; height:10px; border-radius:10px 0 0 0; } + +.sheet-st-grid input, +.sheet-st-grid textarea, +.sheet-st-grid select, +.sheet-st-grid .uneditable-input {margin:0;} +.sheet-st-grid input[type="text"], +.sheet-st-grid input[type="number"] {border:none; height:30px; border-radius:8px; background:rgba(0,0,0,.1); padding:0 5px; font-size:12px; width:100%; color:#000;} +.sheet-st-grid select {border:none; height:30px; padding:0 5px; font-size:12px; width:100%;} + +.sheet-abillty-list {display:block; position:relative;} +.sheet-ab-item {display:block; position:relative; z-index:0; overflow:hidden;} +.sheet-ab-item + * {margin-top:10px !important;} +.sheet-ab-item > * {float:left; position:relative;} +.sheet-ab-item > input[type="checkbox"] {display:block; position:absolute; top:0; left:0; width:30px; height:30px; border:none; margin:0; opacity:0; z-index:1; cursor:pointer;} +.sheet-ab-item > input[type="checkbox"] + * {display:block; position:relative; min-height:30px; padding-left:30px !important; box-sizing:content-box; z-index:0;} +.sheet-ab-item > input[type="checkbox"] + *:before {content:""; display:block; position:absolute; top:50%; left:3px; width:20px; height:20px; box-sizing:border-box; margin-top:-10px; background:url('https://i.imgur.com/mUcvIHM.png') no-repeat 50% 50%;} +.sheet-ab-item > input[type="checkbox"]:checked + *:before {background-image:url('https://i.imgur.com/b0F6erg.png');} +.sheet-ab-item > input[type="checkbox"]:checked ~ .sheet-st-effect {display:block;} +.sheet-ab-item .sheet-st-effect {display:none; position:relative; clear:both; float:none; padding-top:5px;} +.sheet-ab-item .sheet-st-effect textarea {display:block; width:100%; border-radius:8px; background:rgba(0,0,0,.1); height:100px; resize:none; border:none; padding:10px; box-sizing:border-box; line-height:1.5;} +.sheet-ab-item .sheet-st-control {width:30px;} +.sheet-ab-item .sheet-st-control button {width:30px; height:30px; color:green !important; font-size:17px; font-weight:800;} +.sheet-ab-item .sheet-st-chname {padding:0 5px; width:150px; float:left;} +.sheet-ab-item .sheet-st-name {padding:0 5px; width:190px; float:left;} +.sheet-ab-item .sheet-st-type {width:70px;} +.sheet-ab-item .sheet-st-type select {width:100%; border-radius:8px; background:rgba(0,0,0,.1);} +.sheet-ab-item .sheet-st-spec {width:80px; padding:0 5px;} +.sheet-ab-item .sheet-st-mod {width:60px; text-align:center;} +.sheet-ab-item .sheet-st-mod * {text-align:center;} +.sheet-ab-item .sheet-st-option {width:115px;} +.sheet-ab-item .sheet-st-emotion {width:80px; padding-left:5px;} + +.sheet-st-attack {position:relative; padding:5px 0 10px; border-bottom:1px dashed #dadada;} +.sheet-st-attack .sheet-item {padding:7px; border:1px solid #000000; border-radius:5px; margin:7px 0; overflow:hidden;} +.sheet-st-attack .sheet-item button {display:block; position:relative; float:left; width:30px; height:30px;} +.sheet-st-attack .sheet-item input, +.sheet-st-attack .sheet-item select {margin-left:5px; display:block; float:left; border:none; height:30px; border-radius:5px; background:rgba(0,0,0,.1); padding:0 5px; font-size:12px; width:100%; color:#000;} +.sheet-st-attack .sheet-item button + * {width:85px;} +.sheet-st-attack .sheet-item button + * + * {width:85px;} +.sheet-st-attack .sheet-item button + * + * + * {width:549px;} +.sheet-st-attack .sheet-item button + * + * + * + * {width:75px;} + +.sheet-st-phrase {position:relative; padding:10px 0 10px;} +.sheet-st-phrase .sheet-item {position:relative; padding:0; border:1px solid #000000; border-radius:5px; margin:7px 0; overflow:hidden; z-index:0;} +.sheet-st-phrase .sheet-item-in {display:block; position:relative; padding:7px 7px 7px 46px; overflow:hidden;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice {display:block; position:relative; float:left; width:30px; height:30px; z-index:0;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice button {position:relative; width:100%; height:100%;} +.sheet-st-phrase .sheet-item-in input, +.sheet-st-phrase .sheet-item-in select {margin-left:5px; display:block; float:left; border:none; height:30px; border-radius:5px; background:rgba(0,0,0,.1); padding:0 5px; font-size:12px; width:100%; color:#000;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice + * {width:75px;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice + * + * {width:610px;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice + * + * + * {width:75px;} +.sheet-st-phrase .sheet-item input[type="checkbox"] {display:block; position:absolute; top:0; left:0; width:45px; height:100%; bottom:0; border:none; z-index:3; margin:0; opacity:0; cursor:pointer;} +.sheet-st-phrase .sheet-item input[type="checkbox"]:checked + .sheet-item-in:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.5); z-index:2;} +.sheet-st-phrase .sheet-item-in:after {content:""; display:block; position:absolute; top:0; left:0; width:40px; bottom:0; background:url('https://i.imgur.com/pBBrBuB.png') no-repeat 50% 50%;} +.sheet-st-phrase .sheet-item input[type="checkbox"]:checked + .sheet-item-in:after {background-image:url('https://i.imgur.com/tLeZkJi.png');} + +.sheet-st-phrase .sheet-guide {padding-bottom:5px;} +.sheet-st-phrase .sheet-bust-use {display:inline-block; position:relative; width:51px; height:19px; vertical-align:middle; margin-right:10px;} +.sheet-st-phrase .sheet-bust-use input[type="checkbox"] {display:block; position:absolute; top:0; left:0; width:100%; height:100%; bottom:0; border:none; z-index:0; margin:0; opacity:0; cursor:pointer;} +.sheet-st-phrase .sheet-bust-use input[type="checkbox"] + span {display:block; position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1; background:url('https://i.imgur.com/fqHNW9o.png') no-repeat 50% 50%; opacity:.5;} +.sheet-st-phrase .sheet-bust-use input[type="checkbox"]:checked + span {opacity:1; background-image:url('https://i.imgur.com/LbZHKrf.png');} + +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice button {display:none;} +.sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-default {display:block;} + +.sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item {border-color:red; background:#ffc1c1;} + +.sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-default {display:none;} +.sheet-position-V[value="1"] ~ .sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-V {display:block !important;} +.sheet-position-K[value="1"] ~ .sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-K {display:block !important;} +.sheet-position-G[value="1"] ~ .sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-G {display:block !important;} +.sheet-position-B[value="1"] ~ .sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-B {display:block !important;} +.sheet-position-D[value="1"] ~ .sheet-use-Bust[value="1"] ~ div .sheet-st-phrase .sheet-item-in .sheet-phrase-dice button.sheet-D {display:block !important;} + +/** Dice + Content Template */ +.sheet-rolltemplate-StratoDiceContent {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap:before {content:""; display:block; position:absolute; top:24px; left:0; right:0; bottom:0; background:#fff; z-index:-1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/VRqzoZQ.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#fff; text-align:center; padding:15px 0; font-size:22px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center; padding-bottom:10px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:5px; background:#111; color:#fff; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-subject strong > span {font-size:12px; font-weight:400; padding-left:5px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-descript {padding:0 10px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-descript p {display:block; position:relative; background:#eaeaea; border:1px dashed #ccc; padding:10px; line-height:1.5; color:#000; font-size:12px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-result-fumble {display:block; position:relative; text-align:center; color:#fff; background:red; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-result-special {display:block; position:relative; text-align:center; color:#000; background:#a9ffb7; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoDiceContent .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} +.sheet-rolltemplate-StratoDiceContent .sheet-stratioDice-wrap .sheet-subject .inlinerollresult {font-size:1em !important; color:#fff !important;} + +/** Dice Templete */ +.sheet-rolltemplate-StratoDice {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap:before {content:""; display:block; position:absolute; top:24px; left:0; right:0; bottom:0; background:#fff; z-index:-1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/VRqzoZQ.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#fff; text-align:center; padding:15px 0; font-size:22px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center; padding-bottom:10px;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:5px; background:#111; color:#fff; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-subject strong > span {font-size:12px; font-weight:400; padding-left:5px;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-result-fumble {display:block; position:relative; text-align:center; color:#fff; background:red; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-result-special {display:block; position:relative; text-align:center; color:#000; background:#a9ffb7; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoDice .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} +.sheet-rolltemplate-StratoDice .sheet-stratioDice-wrap .sheet-subject .inlinerollresult {font-size:1em !important; color:#fff !important;} + +/** Content Template **/ +.sheet-rolltemplate-StratoContent {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap:before {content:""; display:block; position:absolute; top:24px; left:0; right:0; bottom:0; background:#fff; z-index:-1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/ik0qJF3.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center; padding:10px; border-bottom:1px dashed #000;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:0px; text-align:center; font-size:15px; font-weight:600;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript {padding:10px 20px; font-size:12px; line-height:1.5;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript strong {display:inline-block; padding:2px 5px; border-radius:2px; color:#fff; background:#0064b0;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript em {font-weight:800; color:#0091ff; font-style:normal;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript em.sheet-discode {color:#ff0000;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript.sheet-emotion {font-size:15px; text-align:center;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript.sheet-emotion:after {content:""; display:block; clear:both;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript.sheet-emotion em {display:block; width:50%; float:left; padding:0 10px; box-sizing:border-box;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript.sheet-emotion em {text-align:right;} +.sheet-rolltemplate-StratoContent .sheet-stratioDice-wrap .sheet-descript.sheet-emotion em + em {text-align:left; border-left:1px solid #ddd;} + +/** Skill Template */ +.sheet-rolltemplate-StratoSkillDice {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap:before {content:""; display:block; position:absolute; top:24px; left:0; right:0; bottom:0; background:#fff; z-index:-1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/XR0UWvD.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-title-skill {display:block; position:relative; background:#fff; text-align:center; padding:15px 0 0; font-size:15px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#fff; text-align:center; padding:15px 0; font-size:22px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center; padding-bottom:10px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:5px; background:#111; color:#fff; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-subject strong > span {font-size:12px; font-weight:400; padding-left:5px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-descript {padding:0 10px 20px; font-size:12px; line-height:1.5;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-descript strong {display:inline-block; padding:2px 5px; border-radius:2px; color:#fff; background:#0064b0; margin-right:10px; vertical-align:middle;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-result-fumble {display:block; position:relative; text-align:center; color:#fff; background:red; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-result-special {display:block; position:relative; text-align:center; color:#000; background:#a9ffb7; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoSkillDice .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-stratioDice-wrap .sheet-subject .inlinerollresult {font-size:1em !important; color:#fff !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage {display:block; text-align:center; font-size:14px; font-weight:800; color:#fff !important; background:#000; padding:5px;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage .inlinerollresult {color:#fff !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-dice-side {font-weight:400; color:#2f73b3;} +.sheet-rolltemplate-StratoSkillDice .sheet-dice-side .inlinerollresult {color:#2f73b3 !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-dice-side.sheet-cond {color:#dd4861;} +.sheet-rolltemplate-StratoSkillDice .sheet-dice-side.sheet-cond .inlinerollresult {color:#dd4861 !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage .sheet-dice-side {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage .sheet-dice-side .inlinerollresult {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage .sheet-dice-side.sheet-cond {color:#f6ff00 !important;} +.sheet-rolltemplate-StratoSkillDice .sheet-damage .sheet-dice-side.sheet-cond .inlinerollresult {color:#f6ff00 !important;} + +/** Phrase Template */ +.sheet-rolltemplate-StratoPhrase {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/iqZutO4.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-title-skill {display:block; position:relative; background:#fff; text-align:center; padding:15px 0 0; font-size:15px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#fff; text-align:center; padding:15px 0; font-size:22px; color:#000; font-weight:800; z-index:1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center; padding-bottom:10px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:5px; background:#111; color:#fff; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-subject strong > span {font-size:12px; font-weight:400; padding-left:5px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-descript {padding:0 10px 20px; font-size:12px; line-height:1.5;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-descript p {display:block; position:relative; background:#eaeaea; border:1px dashed #ccc; padding:10px; line-height:1.5; color:#000; font-size:12px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-descript strong {display:inline-block; padding:2px 5px; border-radius:2px; color:#fff; background:#0064b0; margin-right:10px; vertical-align:middle;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-result-fumble {display:block; position:relative; text-align:center; color:#fff; background:red; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-result-special {display:block; position:relative; text-align:center; color:#000; background:#a9ffb7; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoPhrase .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-subject .inlinerollresult {font-size:1em !important; color:#fff !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage {display:block; text-align:center; font-size:14px; font-weight:800; color:#fff !important; background:#000; padding:5px;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage .inlinerollresult {color:#fff !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-dice-side {font-weight:400; color:#2f73b3;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-dice-side .inlinerollresult {color:#2f73b3 !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-dice-side.sheet-cond {color:#dd4861;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-dice-side.sheet-cond .inlinerollresult {color:#dd4861 !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side .inlinerollresult {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side.sheet-cond {color:#f6ff00 !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side.sheet-cond .inlinerollresult {color:#f6ff00 !important;} + +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text {display:block; position:relative; padding:20px 0; box-sizing:border-box; background:none !important;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; background:url('https://i.imgur.com/KZa7DGp.png') no-repeat 50% 50%;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text:after {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; z-index:1; + background-image: url('https://i.imgur.com/ZzCNFm7.png'), url('https://i.imgur.com/TBqU82a.png'); + background-repeat: repeat-x, repeat-x; + background-position: 0 0, 0 100%; +} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in {display:table; table-layout:fixed; width:100%; position:relative; z-index:2;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p {display:table-cell; vertical-align:middle; min-height:120px; color:#000; padding:20px; word-break:keep-all; text-align:center; font-size:17px; font-weight:600; line-height:1.5;} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p:before {content:'"';} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p:after {content:'"';} +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage a[href^="!"], +.sheet-rolltemplate-StratoPhrase .sheet-stratioDice-wrap .sheet-damage a[href^="~"] {background:transparent; padding:0; color:#a9d4fd; border:none !important; text-decoration:underline;} + +/** Phrase Bust Template */ +.sheet-rolltemplate-StratoBustPhrase {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/iqZutO4.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#222; text-align:center; padding:15px 0; font-size:22px; color:#fff; font-weight:800; z-index:1; border:1px solid #000; border-top-width:0; border-bottom-width:0;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice .inlinerollresult {color:#fff !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-subject {display:block; position:relative; text-align:center;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-subject strong {display:block; position:relative; padding:5px; background:#111; color:#fff; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-subject strong > span {font-size:12px; font-weight:400; padding-left:5px;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-descript {padding:10px; font-size:12px; line-height:1.5; text-align:center; background:#222; color:#fff;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-descript strong {display:block; text-align:center; font-size:14px; text-decoration:none; font-weight:400;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-descript strong em {display:block; position:Relative; font-size:20px; font-style:normal; font-family: '微软雅黑体', 'Microsoft YaHei', 'Malgun Gothic'; color:#ff6767; font-weight:800;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-result-fumble {display:block; position:relative; text-align:center; color:#fff; background:red; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-result-special {display:block; position:relative; text-align:center; color:#000; background:#a9ffb7; padding:2px; font-size:12px; margin-top:10px;} +.sheet-rolltemplate-StratoBustPhrase .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-subject .inlinerollresult {font-size:1em !important; color:#fff !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage {display:block; text-align:center; font-size:14px; font-weight:800; color:#fff !important; background:#000; padding:5px;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage .inlinerollresult {color:#fff !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice-side {font-weight:400; color:#2f73b3;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice-side .inlinerollresult {color:#2f73b3 !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice-side.sheet-cond {color:#dd4861;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-dice-side.sheet-cond .inlinerollresult {color:#dd4861 !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side .inlinerollresult {color:#7bc9ff !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side.sheet-cond {color:#f6ff00 !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage .sheet-dice-side.sheet-cond .inlinerollresult {color:#f6ff00 !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text {display:block; position:relative; padding:20px 0; box-sizing:border-box; background:none !important;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; background:url('https://i.imgur.com/KZa7DGp.png') no-repeat 50% 50%;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text:after {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; z-index:1; + background-image: url('https://i.imgur.com/9rUGIVM.png'), url('https://i.imgur.com/vXxcXIC.png'); + background-repeat: repeat-x, repeat-x; + background-position: 0 0, 0 100%; +} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in {display:table; table-layout:fixed; width:100%; position:relative; z-index:2;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p {display:table-cell; vertical-align:middle; min-height:120px; color:#000; padding:20px; word-break:keep-all; text-align:center; font-size:17px; font-weight:600; line-height:1.5;} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p:before {content:'"';} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-Phrase-text-in p:after {content:'"';} +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage a[href^="!"], +.sheet-rolltemplate-StratoBustPhrase .sheet-stratioDice-wrap .sheet-damage a[href^="~"] {background:transparent; padding:0; color:#ff5e5e; border:none !important; text-decoration:underline;} + +.sheet-rolltemplate-StratoDamage {display:block; position:relative; max-width:967px; margin:0 auto;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap {display:block; position:relative; border-bottom:2px solid #000; z-index:0; border-top:1px solid #000;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; background:#fff; z-index:-1; border:1px solid #000; border-bottom-width:0;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap:after {content:""; display:block; position:absolute; bottom:-10px; right:5px; width:35px; height:24px; background:url('https://i.imgur.com/wJdhPG6.png') no-repeat 50% 50%; z-index:1;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap .sheet-title {display:block; position:relative; height:29px; background:url('https://i.imgur.com/VRqzoZQ.png') no-repeat 0 0; z-index:2;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap .sheet-title + * {margin-top:-4px !important;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap .sheet-title span {display:block; position:absolute; top:7px; bottom:4px; right:0; background:#000; color:#fff; line-height:18px; padding:0 10px; font-size:12px;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap .sheet-title span:before {content:""; display:block; position:absolute; top:0; left:-18px; width:0; height:0; border:18px solid transparent; border-right-width:0; border-top-width:0; border-bottom-color:#000;} +.sheet-rolltemplate-StratoDamage .sheet-stratioDice-wrap .sheet-dice {display:block; position:relative; background:#fff; text-align:center; padding:15px 0; font-size:22px; color:#000; font-weight:800; z-index:1; margin:0 1px;} +.sheet-rolltemplate-StratoDamage .inlinerollresult {background:none !important; padding:0 !important; border:none !important; color:#000 !important;} diff --git a/Strato Shout/stratoshout.html b/Strato Shout/stratoshout.html new file mode 100644 index 0000000000..7eb9247a86 --- /dev/null +++ b/Strato Shout/stratoshout.html @@ -0,0 +1,2397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    + +
    +
    +
    + 이름 + +
    +
    + 밴드명 + +
    +
    + 경험점 + + +
    +
    +
    +
    + 나이 + +
    +
    + 경위 + +
    +
    + 작전 + + + + + 대미지 산출 직후. 대미지 2D6 추가. + 상시.【컨디션】이 1D6점 증가. + 판정 직후. 판정 주사위 재굴림. + +
    +
    + +
    +
    + 악기 + + + + + + +
    +
    + +
    +
    +
    + 악기위력 + +
    +
    + +
    +
    + 역량 + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + 디스코드 + +
    +
    + +
    +
    + 컨디션 + +
    +
    +
    +
    +
    + +
    +
    + 경위표 + + +
    +
    + 장면표 + + +
    +
    + 장면 전개표 + +
    +
    + 트러블표 + +
    +
    + 유대 + +
    +
    + 악기위력 + +
    +
    + 결의 + +
    +
    + + +
    +
    + +
    +
    + 갭 획득 갯수 : 개 +
    +
    +
    - + @@ -1984,7 +2023,7 @@ - + - + @@ -2387,7 +2426,7 @@ - + + {{#rollhasboon}} + + + + {{/rollhasboon}} + {{#rollhasbane}} + + + + {{/rollhasbane}} {{#dm}} + {{#bb}} + + + + {{/bb}}
    -
    + - +
    @@ -2238,7 +2277,7 @@ Magazine
    - +
    - +
    - +
    - +
    - +
    - +
    Skill Level
    - + + {{#rollhasboon}} + + + + {{/rollhasboon}} + {{#rollhasbane}} + + + + {{/rollhasbane}} @@ -2455,10 +2504,26 @@ + {{#rollhasboon}} + + + + {{/rollhasboon}} + {{#rollhasbane}} + + + + {{/rollhasbane}} + {{#bb}} + + + + {{/bb}} @@ -2481,10 +2546,26 @@ + {{#rollhasboon}} + + + + {{/rollhasboon}} + {{#rollhasbane}} + + + + {{/rollhasbane}} + {{#bb}} + + + + {{/bb}}
    {{character}}
    Rolling with BOON
    Rolling with BANE
    Roll {{roll}}
    {{character}}
    Rolling with BOON
    Rolling with BANE
    Attack {{roll}}
    Boon/Bane + {{bb}}
    Damage {{damage}}
    {{character}}
    Rolling with BOON
    Rolling with BANE
    Roll {{roll}}
    Boon/Bane + {{bb}}
    @@ -2498,6 +2579,16 @@
    {{character}}
    Rolling with BOON
    Rolling with BANE
    DM @@ -2516,10 +2607,106 @@ Roll {{roll}}
    Boon/Bane + {{bb}}
    \ No newline at end of file diff --git a/Nephilim-Legende-Selenim/sheet.json b/Nephilim-Legende-Selenim/sheet.json new file mode 100644 index 0000000000..ec832a3ef3 --- /dev/null +++ b/Nephilim-Legende-Selenim/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "selenim-legende.html", + "css": "selenim-legende.css", + "authors": "kappj, Fennelin, KingYami", + "roll20userid": "910862, 2348003, 7057352", + "preview": "preview.png", + "instructions": "version 1.0 french only" +} \ No newline at end of file diff --git a/Official Savage Worlds/translations/pt.json b/Official Savage Worlds/translations/pt.json index a138f054c2..745d1750bb 100644 --- a/Official Savage Worlds/translations/pt.json +++ b/Official Savage Worlds/translations/pt.json @@ -543,12 +543,12 @@ "defend-description": "Aparar +4. Toma todo o turno e o personagem não pode correr.", "disarm-description": "Ataque Localizado em membro ou arma. Se em arma, role como Ataque Localizado em Item e o alvo deve fazer uma rolagem de For ≥ que o dano ou ele larga a arma. Se em membro, um defensor Abalado ou Ferido deve fazer uma rolagem de For com -2 (membro) ou (-4) na mão ou ele larga o item. ", "distracted-description": "-2 para todas as rolagens de Características até o final do próximo turno do personagem.", - "the-drop-description": "+4 to attack and damage if target is defenseless. If Shaken or Wounded, victim must make a Vigor roll (at –2 versus attacks to the head) or be KO’ed.", - "evasion-description": "Characters may avoid attacks that specifically say they may be evaded, by making an Agility roll at –2.", - "fatigue-description": "–1 to all actions (–2 if Exhausted). Fatigue improves one level every hour unless the source says otherwise. Incapacitated victims fall unconscious for 2d6 hours.", - "finishing-move-description": "Instant kill to helpless foe with a lethal weapon.", + "the-drop-description": "+4 no ataque e dano se o alvo estiver indefeso. Se Abalada ou Ferida, a vítima deverá fazer uma rolagem de Vigor (com -2 contra ataques na cabeça) ou ficar Incapacitado.", + "evasion-description": "Personagens podem evitar ataques que digam especificamente que podem ser esquivados, fazendo uma rolagem de Agilidade com -2.", + "fatigue-description": "-1 em todas as ações (-2 se Exausto). Fadiga se recupera 1 nível a cada hora a não ser que a origem diga outra coisa. Vítimas Incapacitadas ficam inconscientes por 2d6 horas.", + "finishing-move-description": "Morte instantânea em alvo indefeso com uma arma letal.", "free-attacks-description": "The character gets to make an attack with no special maneuvers or optional combat Edges such as Frenzy or Sweep.", - "ganging-up-description": "+1 Fighting per additional adjacent attacker to a maximum of +4.", + "ganging-up-description": "+1 de Lutar por atacante adjacente adicional até o máximo de +4.", "grappling-description": "If the attacker succeeds at an opposed Athletics roll, the victim is Entangled if successful, or Bound with a raise and the grappler is also Vulnerable.", "crush-description": "Once grappled, the attacker may take an action to make an opposed Strength roll, causing his Strength in damage if successful (those with the Bite Special Ability may bite instead).", "hold-description": "The character “Holds” her Action Card to go later in the current or later round. She loses her Hold status if Shaken or Stunned. She may interrupt foe’s actions with an opposed Athletics roll.", @@ -578,7 +578,7 @@ "suppressive-fire-description": "Attacker places Medium Blast Template and makes Shooting roll. Each target hit by the attack total is Distracted, or hit for damage with a raise (up to the weapon’s Rate of Fire).", "surprise-description": "Ambushers start on Hold, victims make Notice roll or get no Action Card on first round.", "tests-description": "Describe action and make opposed skill test versus foe’s linked attribute. If successful, foe is Distracted or Vulnerable (attacker’s choice), and Shaken with a raise.", - "touch-attack-description": "+2 to Fighting roll.", + "touch-attack-description": "+2 para a rolagem de Lutar.", "two-weapons-description": "+1 to Fighting if foe has a single weapon, no shield, or is unarmed.", "unstable-platform-description": "−2 Shooting from a moving vehicle, animal, or other unstable surface.", "vulnerable-description": "Actions against the character are made at +2 until the end of their next turn. (Does not stack with The Drop.)", @@ -613,7 +613,7 @@ "read-releasenotes": "Ler Notas da Versão", "on-character-profile-tab": "Aba perfil do personagem", "go-to-statblock-view": "Go to stat block view", - "go-to-full-edit-view": "Go to full edit view", + "go-to-full-edit-view": "Ir para o modo completo de edição", "jump-to-character-profile-tab": "Pular para a Aba de Perfil do Personagem", "jump-to-vehicle-tab": "Pular para a Aba de Veículos", "on-vehicle-tab": "Na Aba de Veículos", @@ -678,12 +678,12 @@ "introduction-shortened-u": "INTRO", "top-bar-u": "TOP BAR", "configuration-u": "CONFIGURAÇÕES", - "json-importer": "JSON Importer", - "character-profile-u": "CHARACTER PROFILE", + "json-importer": "Importador de JSON", + "character-profile-u": "PERFIL DO PERSONAGEM", "top-bar": "Top Bar", "powers": "Poderes", - "combat-options-page-u": "COMBAT OPTIONS PAGE", - "roll20-wiki-link": "Roll20 Character Sheet documentation wiki", + "combat-options-page-u": "PÁGINA DE OPÇÕES DE COMBATE", + "roll20-wiki-link": "Wiki do Roll20 de documentação da Ficha de Personagem", "intro-paragraph": "This “in-sheet” documentation is not meant to be comprehensive, but rather highlight some features that may be less understood, but play a bigger part during a game session. For full documentation you should visit the", "top-bar-paragraph": "This contains the buttons that allow you to navigate to different aspects/views of the character sheet. The buttons are (from left to right):", "edit-mode-character-profile": "Edit Mode of Character Profile (not always visible)", @@ -772,7 +772,7 @@ "miscellaneous-abbr-damage-modifier-plural-singular": "Mod. de Característica Geral", "initial-release": "Initial Release", "initial-release-info": "This is the intial release of the Official Savage Worlds Character Sheet for Roll20. This sheet includes a lot of automation for things like Pace, Parry, and Toughness. It also keeps track of the weight carried by your character, etc.", - "highlights": "Highlights", + "highlights": "Vantagens", "single-click-trait-assignmet": "A single click will set a Trait's rank; for skills, just hover over the Rank die type to auto-expand the selection.", "dice-rolling": "All Traits can be rolled directly from the character sheet.", "bonus-dice-control": "Control over whether the sheet automatically rolls bonus dice or not.", diff --git a/Old School Essentials - AAC/CHANGELOG.md b/Old School Essentials - AAC/CHANGELOG.md index 4c1d6f0596..5722504214 100644 --- a/Old School Essentials - AAC/CHANGELOG.md +++ b/Old School Essentials - AAC/CHANGELOG.md @@ -2,6 +2,14 @@ [GitHub Project Status board](https://github.com/wesbaker/roll20-character-sheets/projects/1) +## 1.6.2 + +### Fixed + +- Fix a bug where the strength bonus was not added to new melee weapons +- Fix a bug where strength and dexterity weapon modifiers didn't change when the attributes changed +- Fix colored borders shown for skill rolls + ## 1.6.1 ### Fixed diff --git a/Old School Essentials - AAC/OSE-AAC.css b/Old School Essentials - AAC/OSE-AAC.css index 03a829d2c3..f4c29a4bd7 100644 --- a/Old School Essentials - AAC/OSE-AAC.css +++ b/Old School Essentials - AAC/OSE-AAC.css @@ -310,6 +310,11 @@ input[name="attr_armorClassType"][value="aac"] ~ .sheet-matrix { padding: 4px; } +.sheet-rolltemplate-skill .inlinerollresult.fullcrit, +.sheet-rolltemplate-skill .inlinerollresult.fullfail { + border: 0 none; +} + .sheet-rolltemplate-simple h3, .sheet-rolltemplate-greater h3, .sheet-rolltemplate-less h3, diff --git a/Old School Essentials - AAC/OSE-AAC.html b/Old School Essentials - AAC/OSE-AAC.html index 11cc628b91..0b48c4fd5c 100644 --- a/Old School Essentials - AAC/OSE-AAC.html +++ b/Old School Essentials - AAC/OSE-AAC.html @@ -452,8 +452,8 @@
    - - + +
    @@ -1302,33 +1302,7 @@ }); // Set attackType based on heuristics of the bonus damage (0 for ranged, otherwise STR bonus) - getSectionIDs("repeating_weapons", function (idArray) { - idArray.forEach(function (id) { - const attributes = ["attackType", "weaponAttributeBonusDamage"] - .map((name) => `repeating_weapons_${id}_${name}`) - .concat(["BonusSTR", "BonusDEX"]); - getAttrs(attributes, function (values) { - if (!values[`repeating_weapons_${id}_attackType`]) { - if ( - values.BonusSTR !== 0 && - values[`repeating_weapons_${id}_weaponAttributeBonusDamage`] === 0 - ) { - setAttrs({ - [`repeating_weapons_${id}_attackType`]: "Ranged", - [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusDEX, - [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: "0", - }); - } else { - setAttrs({ - [`repeating_weapons_${id}_attackType`]: "Melee", - [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusSTR, - [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: values.BonusSTR, - }); - } - } - }); - }); - }); + updateWeaponBonuses(); // Set armorValue per armorBenefit if >= 2 getSectionIDs("repeating_armor", function (idArray) { @@ -1415,6 +1389,8 @@ // Attribute Changes on("sheet:opened change:dex", function () { + updateWeaponBonuses(); + getAttrs(["dex"], function (values) { // dexMod applies both to AC and Missile Attacks const [dexMod, initMod] = getModifiers(values.dex, [ @@ -1438,6 +1414,8 @@ }); }); on("change:str", function () { + updateWeaponBonuses(); + getAttrs(["str"], function (values) { const [BonusSTR, OpenDoor] = getModifiers(values.str, [ [-3, 1], @@ -1487,6 +1465,47 @@ } } + function updateWeaponBonuses() { + getSectionIDs("repeating_weapons", function (idArray) { + idArray.forEach(function (id) { + const attributes = ["attackType", "weaponAttributeBonusDamage"] + .map((name) => `repeating_weapons_${id}_${name}`) + .concat(["BonusSTR", "BonusDEX"]); + getAttrs(attributes, function (values) { + const attackType = values[`repeating_weapons_${id}_attackType`]; + if (!attackType) { + if ( + values.BonusSTR !== 0 && + values[`repeating_weapons_${id}_weaponAttributeBonusDamage`] === 0 + ) { + setAttrs({ + [`repeating_weapons_${id}_attackType`]: "Ranged", + [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusDEX, + [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: "0", + }); + } else { + setAttrs({ + [`repeating_weapons_${id}_attackType`]: "Melee", + [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusSTR, + [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: values.BonusSTR, + }); + } + } else if (attackType.toLowerCase() === 'melee') { + setAttrs({ + [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusSTR, + [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: values.BonusSTR, + }); + } else if (attackType.toLowerCase() === 'ranged') { + setAttrs({ + [`repeating_weapons_${id}_weaponAttributeBonus`]: values.BonusDEX, + [`repeating_weapons_${id}_weaponAttributeBonusDamage`]: "0", + }); + } + }); + }); + }); + } + // Set speeds based on Exploration Speed on("sheet:opened change:movementExploration", function () { getAttrs(["movementExploration"], function (values) { diff --git a/Only-War-Enhanced/OnlyWarEnhanced.css b/Only-War-Enhanced/OnlyWarEnhanced.css index 8ef345c6c9..a3b83ba01f 100644 --- a/Only-War-Enhanced/OnlyWarEnhanced.css +++ b/Only-War-Enhanced/OnlyWarEnhanced.css @@ -462,7 +462,7 @@ ______________________________ start of minimisable infographic ________________ .sheet-minimisable_infographic_toggles { /* This is the spacing of the whisper buttons, scatter button, etc */ display: grid; grid-column-gap: 10px; - grid-template-columns: 100px 60px 100px 70px 100px 80px 80px auto; + grid-template-columns: 100px 60px 100px 70px 100px 80px 80px 150px auto; } .sheet-minimisable_infographic_grid { @@ -587,84 +587,97 @@ ______________________________ start of equipment tab __________________________ .sheet-equipment_numerics { grid-area: e3; margin-top: 10px; } .sheet-equipment_ranged_weapons_rep, .sheet-equipment_melee_weapons_rep { background:#6E8B3D; border:1px solid white; border-radius: 10px; padding: 2px; } -.sheet-equipment_ranged_weapons_gs1 { grid-area: rw1; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs2 { grid-area: rw2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs3 { grid-area: rw3; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs4 { grid-area: rw4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs5 { grid-area: rw5; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs6 { grid-area: rw6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; border-top-right-radius: 10px; } +.sheet-equipment_ranged_weapons_gs1 { grid-area: rw1; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs2 { grid-area: rw2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs3 { grid-area: rw3; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs4 { grid-area: rw4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs7 { grid-area: rw7; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs8 { grid-area: rw8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs9 { grid-area: rw9; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } -.sheet-equipment_ranged_weapons_gs10 { grid-area: rw10; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs11 { grid-area: rw11; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } -.sheet-equipment_ranged_weapons_gs12 { grid-area: rw12; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs13 { grid-area: rw13; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs14 { grid-area: rw14; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs15 { grid-area: rw15; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs16 { grid-area: rw16; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs17 { grid-area: rw17; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs18 { grid-area: rw18; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs5 { grid-area: rw5; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs6 { grid-area: rw6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; border-top-right-radius: 10px; } +.sheet-equipment_ranged_weapons_gs7 { grid-area: rw7; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs8 { grid-area: rw8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs9 { grid-area: rw9; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs10 { grid-area: rw10; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs11 { grid-area: rw11; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs12 { grid-area: rw12; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs19 { grid-area: rw19; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs20 { grid-area: rw20; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs21 { grid-area: rw21; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } -.sheet-equipment_ranged_weapons_gs22 { grid-area: rw22; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs23 { grid-area: rw23; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs24 { grid-area: rw24; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs25 { grid-area: rw25; color: white; font-size: 12px; width: 50px!important;} -.sheet-equipment_ranged_weapons_gs26 { grid-area: rw26; color: white; font-size: 12px; width: 50px!important;} +.sheet-equipment_ranged_weapons_gs13 { grid-area: rw13; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs14 { grid-area: rw14; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs15 { grid-area: rw15; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } +.sheet-equipment_ranged_weapons_gs16 { grid-area: rw16; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs17 { grid-area: rw17; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } +.sheet-equipment_ranged_weapons_gs18 { grid-area: rw18; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs19 { grid-area: rw19; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs20 { grid-area: rw20; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs21 { grid-area: rw21; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 15px; } +.sheet-equipment_ranged_weapons_gs22 { grid-area: rw22; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs23 { grid-area: rw23; color: white; font-size: 12px; width: 50px!important;} +.sheet-equipment_ranged_weapons_gs24 { grid-area: rw24; color: white; font-size: 12px; width: 50px!important;} -.sheet-equipment_ranged_weapons_gs27 { grid-area: rw27; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs28 { grid-area: rw28; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs29 { grid-area: rw29; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs30 { grid-area: rw30; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs31 { grid-area: rw31; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs32 { grid-area: rw32; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_gs33 { grid-area: rw33; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-equipment_ranged_weapons_gs34 { grid-area: rw34; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs25 { grid-area: rw25; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs26 { grid-area: rw26; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs27 { grid-area: rw27; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs28 { grid-area: rw28; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs29 { grid-area: rw29; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs30 { grid-area: rw30; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs31 { grid-area: rw31; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs32 { grid-area: rw32; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } -.sheet-equipment_ranged_weapons_grid1 { /* gs1-6, Name, Class, Range */ +.sheet-equipment_ranged_weapons_gs33 { grid-area: rw33; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs34 { grid-area: rw34; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs35 { grid-area: rw35; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs36 { grid-area: rw36; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs37 { grid-area: rw37; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-equipment_ranged_weapons_gs38 { grid-area: rw38; color: white; font-size: 12px; padding: 0px 2px; } + +.sheet-equipment_ranged_weapons_grid1 { /* gs1-4, Name, Class */ align-items: center; display: grid; grid-template-columns: auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'rw1 rw2 rw2 rw2 rw3 rw4 rw4 rw5 rw6 rw6'; + 'rw1 rw2 rw2 rw2 rw2 rw2 rw3 rw4 rw4 rw4'; } -.sheet-equipment_ranged_weapons_grid2 { /* gs7-18, RoF, Dmg, Type, Pen */ +.sheet-equipment_ranged_weapons_grid2 { /* gs5-12, Range, Dmg, Pen, Type */ align-items: center; display: grid; - grid-template-columns: auto 8% 4% 8% 4% 8% auto auto auto auto; + grid-template-columns: auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'rw7 rw8 rw9 rw10 rw11 rw12 rw13 rw14 rw15 rw16 rw17 rw18'; + 'rw5 rw6 rw7 rw8 rw8 rw9 rw10 rw11 rw12 rw12'; } -.sheet-equipment_ranged_weapons_grid3 { /* gs19-26 Magazine, Hit/Dmg buttons */ +.sheet-equipment_ranged_weapons_grid3 { /* gs13-24 RoF, Magazine, Hit/Dmg buttons */ align-items: center; display: grid; - grid-template-columns: auto auto auto auto auto auto auto auto 61px 61px; + grid-template-columns: auto 8% 4% 8% 4% 8% auto 8% 4% 8% 61px 61px; /* 12 columns, nonstandard */ grid-template-areas: - 'rw19 rw20 rw21 rw22 rw23 rw24 rw24 rw24 rw25 rw26'; + 'rw13 rw14 rw15 rw16 rw17 rw18 rw19 rw20 rw21 rw22 rw23 rw24'; } -.sheet-equipment_ranged_weapons_grid4 { /* gs27-34 Trained?, HitMod, Reload, Weight */ +.sheet-equipment_ranged_weapons_grid4 { /* gs25-32 Trained?, HitMod, Reload, Weight */ align-items: center; display: grid; - grid-template-columns: auto 20px auto auto auto auto auto auto auto auto; + grid-template-columns: auto 20px auto auto auto auto auto auto auto; /* 9 columns, nonstandard */ grid-template-areas: - 'rw27 rw28 rw29 rw30 rw31 rw31 rw32 rw32 rw33 rw34'; + 'rw25 rw26 rw27 rw28 rw29 rw30 rw30 rw31 rw32'; +} + +.sheet-equipment_ranged_weapons_grid5 { /* gs33-38 Domain, Mishap chance, Spray */ + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto auto auto auto auto auto 20px; + grid-template-areas: + 'rw33 rw34 rw34 rw35 rw35 rw36 rw36 rw36 rw37 rw38'; } .sheet-equipment_melee_weapons_gs1 { grid-area: mw1; color: white; font-size: 12px; padding: 0px 2px; } .sheet-equipment_melee_weapons_gs2 { grid-area: mw2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } .sheet-equipment_melee_weapons_gs3 { grid-area: mw3; color: white; font-size: 12px; padding: 0px 2px; } .sheet-equipment_melee_weapons_gs4 { grid-area: mw4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } + .sheet-equipment_melee_weapons_gs5 { grid-area: mw5; color: white; font-size: 12px; padding: 0px 2px; } .sheet-equipment_melee_weapons_gs6 { grid-area: mw6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } - .sheet-equipment_melee_weapons_gs7 { grid-area: mw7; color: white; font-size: 12px; padding: 0px 2px; } .sheet-equipment_melee_weapons_gs8 { grid-area: mw8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } .sheet-equipment_melee_weapons_gs9 { grid-area: mw9; color: white; font-size: 12px; padding: 0px 2px; } @@ -681,20 +694,20 @@ ______________________________ start of equipment tab __________________________ .sheet-equipment_melee_weapons_gs19 { grid-area: mw19; color: white; font-size: 12px; width: 50px!important; } .sheet-equipment_melee_weapons_gs20 { grid-area: mw20; color: white; font-size: 12px; width: 50px!important; } -.sheet-equipment_melee_weapons_grid1 { /* gs1-6 name, domain, reach */ +.sheet-equipment_melee_weapons_grid1 { /* gs1-4 name, domain */ align-items: center; display: grid; grid-template-columns: auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'mw1 mw2 mw2 mw2 mw3 mw4 mw4 mw5 mw6 mw6'; + 'mw1 mw2 mw2 mw2 mw2 mw2 mw2 mw3 mw4 mw4'; } -.sheet-equipment_melee_weapons_grid2 { /* gs7-12 damage, type, pen */ +.sheet-equipment_melee_weapons_grid2 { /* gs5-12 reach, damage, pen, type */ align-items: center; display: grid; grid-template-columns: auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'mw7 mw8 mw8 mw8 mw9 mw10 mw10 mw11 mw12 mw12'; + 'mw5 mw6 mw7 mw8 mw8 mw9 mw10 mw11 mw12 mw12'; } .sheet-equipment_melee_weapons_grid3 { /* gs13-20 trained?, hitmod, weight, buttons */ @@ -1001,14 +1014,14 @@ ______________________________ start of Psykana tab ____________________________ .sheet-psykana_ability_gs12 { grid-area: pa12; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } .sheet-psykana_ability_gs13 { grid-area: pa13; color: white; font-size: 12px; padding: 0px 2px; } -.sheet-psykana_ability_gs14 { grid-area: pa14; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-psykana_ability_gs14 { grid-area: pa14; color: white; font-size: 12px; padding: 0px 2px; } .sheet-psykana_ability_gs15 { grid-area: pa15; color: white; font-size: 12px; padding: 0px 2px; } .sheet-psykana_ability_gs16 { grid-area: pa16; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } .sheet-psykana_ability_gs17 { grid-area: pa17; color: white; font-size: 12px; width: 50px!important;} .sheet-psykana_ability_gs18 { grid-area: pa18; color: white; font-size: 12px; width: 50px!important;} -.sheet-psykana_ability_gs19 { grid-area: pa19; color: white; font-size: 12px; padding: 0px 5px; } -.sheet-psykana_ability_gs20 { grid-area: pa20; color: white; font-size: 12px; padding: 0px 5px; } +.sheet-psykana_ability_gs19 { grid-area: pa19; color: white; font-size: 12px; padding: 0px 2px; } +.sheet-psykana_ability_gs20 { grid-area: pa20; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } .sheet-psykana_ability_gs21 { grid-area: pa21; color: white; font-size: 12px; padding: 0px 2px; } .sheet-psykana_ability_gs22 { grid-area: pa22; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } @@ -1023,25 +1036,25 @@ ______________________________ start of Psykana tab ____________________________ .sheet-psykana_ability_grid2 { /* gs5-12, Range, Dmg, Type, Pen */ align-items: center; display: grid; - grid-template-columns: auto auto auto auto auto auto auto auto auto auto; + grid-template-columns: auto auto auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'pa5 pa6 pa6 pa6 pa7 pa8 pa8 pa9 pa10 pa10 pa11 pa12'; + 'pa5 pa6 pa6 pa7 pa8 pa8 pa9 pa10 pa10 pa10 pa11 pa12'; } -.sheet-psykana_ability_grid3 { /* gs13-18 Action, Sustain, Hit/Dmg buttons */ +.sheet-psykana_ability_grid3 { /* gs13-18 Focus Power, Hit Mod, Hit/Dmg buttons */ align-items: center; display: grid; grid-template-columns: auto auto auto auto auto auto auto auto 61px 61px; grid-template-areas: - 'pa13 pa14 pa14 pa14 pa15 pa16 pa16 pa16 pa17 pa18'; + 'pa13 pa14 pa14 pa14 pa14 pa15 pa16 pa16 pa17 pa18'; } -.sheet-psykana_ability_grid4 { /* gs19-22 Focus Power, HitMod, extra space */ +.sheet-psykana_ability_grid4 { /* gs19-22 Actions to cast, Actions to sustain */ align-items: center; display: grid; grid-template-columns: auto auto auto auto auto auto auto auto auto auto; grid-template-areas: - 'pa19 pa19 pa20 pa20 pa20 pa21 pa22 . . . '; + 'pa19 pa19 pa20 pa20 pa20 pa21 pa22 pa22 pa22 .'; } diff --git a/Only-War-Enhanced/OnlyWarEnhanced.html b/Only-War-Enhanced/OnlyWarEnhanced.html index 6fa2a01f21..a42ed88490 100644 --- a/Only-War-Enhanced/OnlyWarEnhanced.html +++ b/Only-War-Enhanced/OnlyWarEnhanced.html @@ -267,7 +267,8 @@

    - + +
    @@ -334,652 +335,1310 @@
    -
    + +
    + +
    -
    -

    Skills

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    -

    Acrobatics

    - - - - - - - -
    -
    -

    Athletics

    - - - - - - - -
    -
    -

    Awareness

    - - - - - - - -
    -
    -

    Charm

    - - - - - - - -
    -
    -

    Command

    - - - - - - - -
    -
    -

    Commerce

    - - - - - - - -
    -
    -

    Deceive

    - - - - - - - -
    -
    -

    Dodge

    - - - - - - - -
    -
    -

    Inquiry

    - - - - - - - -
    -
    -

    Interrogation

    - - - - - - - -
    -
    -

    Intimidate

    - - - - - - - -
    -
    -

    Logic

    - - - - - - - -
    -
    -

    Medicae

    - - - - - - - -
    -
    -

    Navigate: Surface

    - - - - - - - -
    -
    -

    Navigate: Stellar

    - - - - - - - -
    -
    -

    Navigate: Warp

    - - - - - - - -
    -
    -

    Operate: Surface

    - - - - - - - -
    -
    -

    Operate: Aeronautica

    - - - - - - - -
    -
    -

    Operate: Voidship

    - - - - - - - -
    -
    -

    Parry

    - - - - - - - -
    -
    -

    Psyniscience

    - - - - - - - -
    -
    -

    Scrutiny

    - - - - - - - -
    -
    -

    Security

    - - - - - - - -
    -
    -

    Sleight of Hand

    - - - - - - - -
    -
    -

    Stealth

    - - - - - - - -
    -
    -

    Survival

    - - - - - - - -
    -
    -

    Tech-Use

    - - - - - - - -
    -
    -
    - - - - - - - - -
    -
    -
    - -
    -

    Linguistics

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    - - - - - - - - -
    -
    -
    - - - - - - - - -
    -
    -
    - -
    -

    Common Lore

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    - - - - - - - - -
    -
    -
    - - + + + + + + + + + +
    +
    +

    Athletics

    + + + + + + + +
    +
    +

    Awareness

    + + + + + + + +
    +
    +

    Charm

    + + + + + + + +
    +
    +

    Command

    + + + + + + + +
    +
    +

    Commerce

    + - - - - - - + + + + + + + +
    +
    +

    Deceive

    + + + + + + + +
    +
    +

    Dodge

    + + + + + + + +
    +
    +

    Inquiry

    + + + + + + + +
    +
    +

    Interrogation

    + + + + + + + +
    +
    +

    Intimidate

    + + + + + + + +
    +
    +

    Logic

    + + + + + + + +
    +
    +

    Medicae

    + + + + + + + +
    +
    +

    Navigate: Surface

    + + + + + + + +
    +
    +

    Navigate: Stellar

    + + + + + + + +
    +
    +

    Navigate: Warp

    + + + + + + + +
    +
    +

    Operate: Surface

    + + + + + + + +
    +
    +

    Operate: Aeronautica

    + + + + + + + +
    +
    +

    Operate: Voidship

    + + + + + + + +
    +
    +

    Parry

    + + + + + + + +
    +
    +

    Psyniscience

    + + + + + + + +
    +
    +

    Scrutiny

    + + + + + + + +
    +
    +

    Security

    + + + + + + + +
    +
    +

    Sleight of Hand

    + + + + + + + +
    +
    +

    Stealth

    + + + + + + + +
    +
    +

    Survival

    + + + + + + + +
    +
    +

    Tech-Use

    + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    -
    - - -
    -

    Scholastic Lore

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    - - - - - - - - -
    -
    -
    - - - - - - - - + +
    +

    Linguistics

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    -
    -
    - -
    -

    Forbidden Lore

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    - - - - - - - - -
    -
    -
    - - - - - - - - -
    -
    -
    - -
    -

    Trade

    -
    -

    Name

    -

    Char

    -

    Mod

    -

    T

    -

    +10

    -

    +20

    -

    +30

    -

    Roll

    -
    -
    - - - - - - - - -
    -
    -
    - - - - - - - - -
    -
    -
    +
    +

    Common Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Scholastic Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Forbidden Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Trade

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + + +
    + + + +

    Special Abilities / Traits

    +

    Expand ⯆

    +
    + + + + + +
    + + + + + +
    +
    -
    + + + + +
    + +
    + +
    +

    Skills

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    +

    Acrobatics

    + + + + + + + +
    +
    +

    Athletics

    + + + + + + + +
    +
    +

    Awareness

    + + + + + + + +
    +
    +

    Charm

    + + + + + + + +
    +
    +

    Command

    + + + + + + + +
    +
    +

    Commerce

    + + + + + + + +
    +
    +

    Deceive

    + + + + + + + +
    +
    +

    Dodge

    + + + + + + + +
    +
    +

    Inquiry

    + + + + + + + +
    +
    +

    Interrogation

    + + + + + + + +
    +
    +

    Intimidate

    + + + + + + + +
    +
    +

    Logic

    + + + + + + + +
    +
    +

    Medicae

    + + + + + + + +
    +
    +

    Navigate: Surface

    + + + + + + + +
    +
    +

    Navigate: Stellar

    + + + + + + + +
    +
    +

    Navigate: Warp

    + + + + + + + +
    +
    +

    Operate: Surface

    + + + + + + + +
    +
    +

    Operate: Aeronautica

    + + + + + + + +
    +
    +

    Operate: Voidship

    + + + + + + + +
    +
    +

    Parry

    + + + + + + + +
    +
    +

    Psyniscience

    + + + + + + + +
    +
    +

    Scrutiny

    + + + + + + + +
    +
    +

    Security

    + + + + + + + +
    +
    +

    Sleight of Hand

    + + + + + + + +
    +
    +

    Stealth

    + + + + + + + +
    +
    +

    Survival

    + + + + + + + +
    +
    +

    Tech-Use

    + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Linguistics

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Common Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Scholastic Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Forbidden Lore

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Trade

    +
    +

    Name

    +

    Char

    +

    Mod

    +

    T

    +

    +10

    +

    +20

    +

    +30

    +

    Roll

    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +
    -

    Special Abilities / Traits

    -

    Expand ⯆

    -
    - - - - - -
    - - - - - -
    +

    Special Abilities / Traits

    +

    Expand ⯆

    +
    + + + + + +
    + + + + + +
    +
    @@ -998,47 +1657,61 @@
    Class
    -
    Range
    -
    -
    RoF
    - -
    /
    - -
    /
    - -
    Damage
    - -
    Type
    - -
    Pen
    - +
    Range
    + +
    Damage
    + +
    Pen
    + +
    Type
    +
    +
    RoF
    + +
    /
    + +
    /
    +
    Magazine
    /
    -
    Domain
    - - - + +
    -
    Trained?
    - -
    Hit Mod
    - -
    Reload
    - -
    Weight
    - +
    Trained?
    + +
    Hit Mod
    + +
    Reload
    + +
    Weight
    + +
    +
    +
    Domain
    + +
    Mishap Chance
    + + +
    Spray?
    +
    - +
    @@ -1056,16 +1729,16 @@
    Domain
    -
    Reach
    -
    +
    Reach
    +
    Damage
    -
    Type
    - -
    Pen
    - +
    Pen
    + +
    Type
    +
    Trained?
    @@ -1080,7 +1753,7 @@
    - +
    @@ -1205,7 +1878,7 @@
    - + @@ -1217,7 +1890,7 @@ - + @@ -1259,7 +1932,7 @@
    - +
    @@ -1397,7 +2070,7 @@
    - +
    @@ -1455,7 +2128,7 @@
    - +
    @@ -1483,28 +2156,28 @@
    -
    Action
    - -
    Sustained
    - - - -
    -
    -
    Focus Power
    +
    Focus Power
    - -
    Power Mod
    - +
    Power Mod
    + + + +
    +
    +
    Action
    + +
    Sustained
    +
    - +
    @@ -1533,7 +2206,7 @@

    Auto Roll Hit Locations


    @@ -1541,13 +2214,27 @@

    Weapon Special in Damage Roll

    +
    + +

    Crunch Summary in Righteous Fury

    +

    Vehicle Sheet


    + +

    Firefox Compatibility Mode Enable

    + +
    @@ -1572,9 +2259,11 @@

    - + - + + +
    @@ -1658,21 +2347,21 @@
    - +
    - +
    - + @@ -1685,81 +2374,95 @@

    Vehicle Ranged Weapons

    -
    +
    Name
    Class
    -
    Range
    -
    -
    RoF
    - -
    /
    - -
    /
    - -
    Damage
    - -
    Type
    - -
    Pen
    - +
    Range
    + +
    Damage
    + +
    Pen
    + +
    Type
    +
    +
    RoF
    + +
    /
    + +
    /
    +
    Magazine
    /
    -
    Domain
    - - - + +
    -
    Trained?
    - -
    Hit Mod
    - -
    Reload
    - -
    Weight
    - +
    Trained?
    + +
    Hit Mod
    + +
    Reload
    + +
    Weight
    + +
    +
    +
    Domain
    + +
    Mishap Chance
    + + +
    Spray?
    +
    - +

    -
    +

    Vehicle Melee Weaponry

    -
    +
    Name
    Domain
    -
    Reach
    -
    +
    Reach
    +
    Damage
    -
    Type
    - -
    Pen
    - +
    Pen
    + +
    Type
    +
    Trained?
    @@ -1768,21 +2471,19 @@
    Weight
    - -
    - +

    -
    +
    @@ -2060,14 +2761,14 @@ case 1: psykana_limit_factor = 1; setAttrs({ - psy_roll: ('cs11cs22cs33cs44cs55cs66cs77cs88cs99cs100') + psy_roll: ('cf11cf22cf33cf44cf55cf66cf77cf88cf99cf100') }); break; case 2: psykana_limit_factor = 1; push_addend_epr = psy_push; setAttrs({ - psy_roll: ('cs>0cf0') + psy_roll: ('cf>0') }); break; } @@ -2217,13 +2918,13 @@ - {{#target}} + {{#d100}}
    {{character}} just rolls a d100
    Target: {{target}} Roll: {{roll}}
    Difference: {{difference}}
    - {{/target}} + {{/d100}} @@ -2267,15 +2968,22 @@ {{#rollLess() roll 0 }}
    Additional DoF
    {{/rollLess() roll 0 }} - {{#rollWasCrit() roll }}
    That's not good...
    {{/rollWasCrit() roll }} - {{#rollWasFumble() roll }}
    How about that?
    {{/rollWasFumble() roll }} + {{#rollWasCrit() roll }} + {{#psy}}
    Failed to Cast
    {{/psy}} + {{^psy}}
    That's not good...
    {{/psy}} + {{/rollWasCrit() roll }} + {{#rollWasFumble() roll }} + {{#psy}}
    Psychic Phenomena
    {{/psy}} + {{^psy}}
    How about that?
    {{/psy}} + + {{/rollWasFumble() roll }} {{/attack}} {{#loc}} - {{^attack}}
    {{/attack}} + {{^attack}}
    {{/attack}} {{#attack}}
    {{/attack}}
    Hit Location {{loc}}
    @@ -2298,7 +3006,7 @@ {{#damage}}
    {{character}} rolls for damage with {{weapon}}
    - {{#description}}
    {{/description}} + {{#description}}
    {{/description}} {{^description}}
    {{/description}}
    @@ -2317,13 +3025,783 @@
    - {{/damage}} - {{#description}} + {{/damage}} + {{#description}} {{#name}}
    {{name}}
    {{/name}}
    {{description}}
    + {{#spray}} +
    Spray weapons jam on any Damage die roll of 9.
    + {{/spray}}
    - {{/description}} + {{/description}} + + + + {{#righteousfury}} +
    {{character}} attacks with Righteous Fury (p258/p276)
    +
    + + {{#rollTotal() target 0}} + + {{#rollTotal() location 0}} + + {{#rollTotal() type 0}} +
    Energy critcal to Arm.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    All Tests involving the arm take a -30 for 1d5 Rounds.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Arm is useless for 1d5 Rounds. Target takes 1 Fatigue.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target may only take a Half Action in the next Round, takes 1d5 Fatigue.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target is Stunned for 1 Round, knocked Prone. Arm is useless for 1d10 Rounds.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is Stunned for 1 Round, arm is useless until target receives medical treatment.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target takes 1d5 WS and BS damage, 1d5 Fatigue. +0 TOU Test or permanently lose use of the hand.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Until arm is repaired, target counts as having only one arm. Target is Stunned for 1 Round, takes 1d5 Fatigue.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    +0 TOU Test or be Stunned for 1d5 Rounds. Target takes 1d10 Fatigue, loses arm.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    +0 TOU Test or die of shock. On survival, target takes 1d10 Fatigue and is Stunned for 1 Round, loses arm.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Arm is burned to a stump, target dies.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 0}} + + {{#rollTotal() type 1}} +
    Explosive critcal to Arm.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes 1 Fatigue.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target drops anything held in that hand, +0 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target loses 1 finger (and up to 1d5 other fingertips), takes 1d10 WS and BS damage, destroys anything carried in the hand. If it is an explosive, kill target instantly.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target is Stunned for 1 Round, arm is useless until medical treatment is received. +0 TOU check or suffer Blood Loss.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    +10 TOU check or lose the hand. On success, 1 permanent WS and BS damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target takes 1d5 Fatigue. Until medical attention is received, target counts as only having one arm. Target gains Blood Loss.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    +0 TOU Test or die of shock. On success, target is Stunned for 1d10 Rounds, takes 1d10 Fatigue, gains Blood Loss, loses arm.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Arm explodes, target dies. If carrying a weapon with a power source, that explodes, dealing 1d10+5 Impact damage to anyone within 2 meters.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies. If carrying a weapon with a power source, that explodes, dealing 1d10+5 Impact damage to anyone within 2 meters. If carrying ammunition, it cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. If target is carrying other explosives, they detonate centered on the target.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 1}} + + {{#rollTotal() type 2}} +
    Impact critcal to Arm.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target drops anything held in that hand.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target takes 1 Fatigue.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target is Stunned for 1 Round, drops anything held in that hand. 10% chance that the thing dropped is unusable until repaired.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target drops anything held in that hand. +0 TOU Test or take 1d10 WS and BS damage.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target's limb is useless until target receives medical treatment.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target crushes 1d5 fingers, takes 1 Fatigue, +0 TOU Test or take 2 permanent WS and BS damage.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target's arm is broken; until repaired, target counts as not having the arm. Target suffers Blood Loss.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    +0 TOU Test or die of shock. On success, Stunned for 1d10 Rounds, takes 1d5 Fatigue, suffers Blood Loss, loses the arm.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, anyone within 2 meters of the target suffers 1d5-3 Impact damage to a random body part.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 2}} + + {{#rollTotal() type 3}} +
    Rending critcal to Arm.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target drops anything held in that arm.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target drops anything held in that arm, takes 1 Fatigue.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target drops anything held in that arm, +0 TOU Test or suffer Blood Loss.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target falls Prone, takes 2 Fatigue. Limb is useless for 1d10 Rounds.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target suffers Blood Loss. Limb is useless without medical treatment.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target loses 1d5 fingers, Stunned for 1 Round, +0 TOU Test or lose the whole hand.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target takes 1d10 STR damage. Target only counts as having one arm until receiving medical treatment. Suffers Blood Loss.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target loses the arm, +0 TOU or die of shock. On success, Stunned for 1d10 Rounds and suffers Blood Loss.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies. If carrying a ranged weapon, 5% chance to hit a single random target within 2d10 meters. Treated as a single shot from the weapon.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 3}} + {{/rollTotal() location 0}} + + + {{#rollTotal() location 1}} + + {{#rollTotal() type 0}} +
    Energy critcal to Body.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target can only take a Half Action next Turn.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    +0 TOU Test or be knocked Prone.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 2 Fatigue and 1d5 TOU damage.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target takes 1d10 Fatigue, can only take a Half Action on next Round.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target knocked Prone, +0 AGI Test or catch fire (p266), and +0 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target knocked Prone, Stunned for 1d10 Rounds, takes 1d5 Fatigue. +0 AGI Test or catch fire (p266)
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target is Stunned for 2d10 Rounds, takes 1d10 permanent TOU damage.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target is Stunned for 2d10 Rounds. STR, TOU, AGI are halved until target can get medical treatment. 2d5 permanent FEL damage.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies in a fire.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies in a fire, carried ammo has a 50% chance to cook off. All creatures within 1d5 meters must pass an Evasion Test or take 1d10+5 X damage. Carried grenades or missiles will explode one Round later, centered on the Target.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 0}} + + {{#rollTotal() type 1}} +
    Explosive critcal to Body.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target knocked backwards 1d5 meters, knocked Prone.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target knocked backwards 1d5 meters (gaining 1 Fatigue per meter), knocked Prone.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target knocked backwards 1d5 meters, Stunned for 1 Round, knocked Prone.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    +0 TOU Test or suffer Blood Loss and be Stunned for 1 Round.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    +0 TOU Test or suffer Blood Loss and 1 permanent TOU damage. Target gains 1d5 Fatigue, knocked Prone.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target is Stunned for 1 Round, may only take a Half Action next Round, and is knocked Prone.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target suffers Blood Loss, is knocked Prone, is Stunned for 1d10 Rounds, +0 TOU Test or fall unconscious
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well. Anyone within 1d10 meters of the target must make a +0 AGI Test or take -10 to all WS and BS Tests for 1 Round.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 1}} + + {{#rollTotal() type 2}} +
    Impact critcal to Body.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target can only take a Half Action next Turn.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target takes 1 Fatigue, knocked Prone.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target breaks a rib, knocked Prone, Stunned for 1 Round.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target takes 1d10 Toughness damage, +0 AGI Test or be knocked Prone.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is Stunned for 2 Rounds, +0 TOU Test or take 1d5 Fatigue.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target is flung out 1d5 meters and falls Prone (unless hitting a solid object), takes 1d5 Fatigue, Stunned for 2 Rounds.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target breaks 1d5 ribs. 1d5 permanent TOU damage. Target can either await medical attention (+0 Medicae Test to set ribs) or continue (20% chance each Round to die instantly).
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target suffers Blood Loss, 1d10 permanent TOU damage.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, is flung 1d10 meters. Anyone in the path must make a +0 AGI Test or be knocked Prone.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 2}} + + {{#rollTotal() type 3}} +
    Rending critcal to Body.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes 1 Fatigue if not wearing armor.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target gains 1 Fatigue, +0 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target is Stunned for 1 Round, +0 TOU Test or gain Blood Loss.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target suffers Blood Loss, Stunned for 1 Round.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target suffers 1d10 TOU damage and Blood Loss, drops a puddle of blood on the floor. Anyone crossing this puddle must make a +0 AGI Test or fall Prone.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target is knocked Prone, takes 1d10 TOU damage, Blood Loss.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target takes 1d5 permanent TOU damage, Blood Loss. Option to hold guts in with one arm (+0 Medicae Test to bind them in) or continue (%20 chance each round to spill guts for 2d10 damage).
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    +0 TOU test or die. On success, target takes 1d10 permanent TOU damage, is Stunned for 1 Round, and suffers Blood Loss.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target drops a 4 meter radius puddle of blood and dies. For the rest of the encounter, anyone moving through this puddle must make a +0 AGI Test or fall Prone.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 3}} + {{/rollTotal() location 1}} + + {{#rollTotal() location 2}} + + {{#rollTotal() type 0}} +
    Energy critcal to Head.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes -10 to all Tests except TOU for 1 Round.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target is Blinded for 1 Round.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target is deafened for 1d5 hours or until receiving first aid.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target loses hair, takes 2 Fatigue and is Blinded for 1d5 Rounds.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target loses hair, is Blinded for 1d10 Rounds, Stunned for 1 Round, takes 1 permanent FEL damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target is Blinded for 1d10 hours, takes 1d5 Fatigue, 1d5 permanent FEL and PER damage.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target is Blinded permanently, takes 1d10 Fatigue. Reroll 1d10 as new FEL, unless FEL is already 10 or less.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, catches fire, runs headless 2d10 meters in a random direction. Anyone or anything flammable it passes makes a +0 AGI Test or catches fire.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 0}} + + {{#rollTotal() type 1}} +
    Explosive critcal to Head.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target can only take a Half Action next Turn.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target is Blinded and Deafened for 1 Round.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 2 Fatigue, +0 TOU Test or take 1d10 PER and FEL damage.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target takes 1d10 INT damage, is knocked Prone. +0 TOU Test or take 1 permanent INT damage and be Stunned for 2 Rounds.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is Stunned for 1d10 Rounds, permanently Deafened, takes 1d5 permanent FEL damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target dies.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target dies. Any carried ammunition cooks off, dealing 1d10+5 Impact damage to anyone within 1d10 meters. Any other explosives immediately detonate as well.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies, leaving a gore puddle. Anyone passing over this spot takes a +0 AGI Test or falls Prone.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, any allies within 2 meters take a +0 Fear Test or take the next Turn fleeing from the attacker.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 1}} + + {{#rollTotal() type 2}} +
    Impact critcal to Head.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target passes +0 TOU Test or takes 1 Fatigue.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target takes a -10 to PER and INT Tests for 1d5 Rounds.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target is Blinded for 1 Round, +0 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target passes +0 TOU Test or be Stunned for 1 Round and knocked Prone.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is Stunned for 1 Round, gains 1 Fatigue, staggers back 1d5 meters, takes 1 permanent INT damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target is Stunned for 1d5 Rounds, knocked backwards 1d5 meters, +0 AGI Test or fall Prone.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target is Stunned for 1d10 Rounds, halves all movement for 1d10 hours.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies, anyone within 4 meters of target takes a +0 AGI Test or takes a -10 to WS and BS Tests on the next Turn.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, anyone within 4 meters of target takes a +0 AGI Test or takes a -10 to WS and BS Tests on the next Turn. If hit was from a melee weapon, attacker can immediately make an attack (same weapon) against any other target that can be reached without moving. If ranged, attacker can immediately make an attack (same weapon) against any target standing directly behind the original and still within range.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 2}} + + {{#rollTotal() type 3}} +
    Rending critcal to Head.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes 1 Fatigue, unless wearing helmet.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target takes a +10 to all WS and BS Tests for 1d10 Rounds. +0 TOU Test or suffer Blood Loss.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target is Stunned for 1d5 Rounds, drops helmet if worn, suffers Blood Loss.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target takes 1d10 PER damage, +20 TOU Test or lose an eye. (p266)
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is sTunned for 1d5 Rounds, drops helmet if worn. If no helmet, loses an ear (Deafened) until receiving medical treatment, +0 TOU Test or suffer 1 permanent FEL damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Roll 1d10. 1-3: Target loses an eye. (p266) 4-7: nose. (1d10 permanent FEL damage) 8-10: ear (Deafened until receiving medical treatment). Target suffers Blood Loss, is Stunned for 1 Round.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target rerolls FEL as 1d10, is permanently Blinded, suffers Blood Loss, Stunned for 1 Round.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies, head lands 2d10 meters away.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, head lands 2d10 meters away. Anyone nearby makes a +0 AGI Test or takes -10 to all WS and BS for 1 Round.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 3}} + {{/rollTotal() location 2}} + + {{#rollTotal() location 3}} + + {{#rollTotal() type 0}} +
    Energy critcal to Leg.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target cannot Run or Charge for 2 Rounds.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target must pass +0 TOU Test or takes 1 Fatigue.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 1 Fatigue, is knocked Prone, and reduces movement by half for 1d10 Rounds.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target reduces movement by half, may not Run or Charge until receiving medical treatment.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target takes 1 Fatigue, knocked Prone, reduces movement by half for 2d10 Rounds.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target takes 2 Fatigue, makes a +0 TOU Test or loses the foot. On success, target reduces movement by half until receiving medical treatment.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Targettakes 1d5 Fatigue. +0 TOU Test or be Stunned for 1 Round. Target considered to only have one leg until receiving medical treatment.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target takes 1d10 Fatigue, suffers Blood Loss, loses the leg, +0 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target passes a +0 TOU Test or dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 0}} + + {{#rollTotal() type 1}} +
    Explosive critcal to Leg.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target sent back 1 meter, +0 TOU Test or be knocked Prone.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target knocked Prone, may only take Half Moves for movement actions for 1d5 Rounds.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 2d10 AGI damage.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target flung 1d5 meters away from explosion, knocked prone. Needs a Full Action to stand back up, movement reduced by half for 1d10 Rounds.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target takes 1d5 permanent AGI damage, -10 TOU Test or take 1d5 Fatigue.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target takes 1d10 Fatigue, counts as only having one leg until receiving medical treatment. +0 TOU Test or lose the foot.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target takes a +0 TOU Test or dies. On success, Stunned for 1d10 Rounds, takes 1d10 Fatigue, suffers Blood Loss, loses the leg.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target dies.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies, anyone within 2 meters takes 1d10+2 Impact damage.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, anyone within 2 meters takes 1d10+2 Impact damage, (if ammunition carried) anyone within 1d10 meters also takes 1d10+5 Impact damage, any other carried explosives detonate.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 1}} + + {{#rollTotal() type 2}} +
    Impact critcal to Leg.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes 1 Fatigue.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target's movement reduced by half for 1 Round, +0 TOU Test or be Stunned for 1 Round and fall Prone.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 1d10 AGI damage and is knocked Prone.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target takes 2d10 AGI damage and is knocked Prone.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target is Stunned for 1 Round, knocked Prone, movement reduced to 1 Meter until receiving medical treatment.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target's movment reduced by half until receiving medical treatment. Target takes 2 Fatigue, +0 TOU Test or lose the foot.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target is Stunned for 2 Rounds, knocked Prone, counts as not having the leg until receiving medical treatment.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target suffers Blood Loss, 1d5 permanent AGI damage, loses the leg, +0 TOU Test or die.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies, drowning out conversation within 2d10 meters for the rest of the Round.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 2}} + + {{#rollTotal() type 3}} +
    Rending critcal to Leg.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Target takes 1 Fatigue.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Target takes a +0 AGI Test or falls Prone and gains Blood Loss.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Target takes 1d5 AGI damage, gains Blood Loss.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Target knocked Prone, takes 1d10 AGI damage, movement reduced by half until receiving medical treatment.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Target gains Blood Loss, +0 TOU Test or take 1 permanent AGI damage.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Target gains Blood Loss, +0 TOU Test or lose the foot. On success, movement reduced by half until receiving medical treatment.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Target gains Blood Loss, is Stunned for 1 Round, knocked Prone, counts as not having the leg until receiving medical treatment.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Target loses the leg. +0 TOU Test or die. On success, target is Stunned for 1d10 Rounds and gains Blood Loss.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Target dies.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    Target dies. Anyone making a Run or Charge within 6 meters of the target makes a +0 AGI Test or falls Prone.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() type 3}} + {{/rollTotal() location 3}} + {{/rollTotal() target 0}} + + {{#rollTotal() target 1}} + + {{#rollTotal() location 0}} +
    Weapon critical.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Gunner is Stunned for 1 Round.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Weapon jams, jam can be cleared conventionally.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Shots made on this weapon take a -10 for 1d5 Rounds.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Weapon Locked (p286). Weapon can only fire in whatever direction it was used last. If Fixed Weapon, Weapon Disabled (p286) until repaired.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Weapon Disabled (p286) until repaired.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    Weapon Targeting Systems Destroyed (p285).
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Using the weapon now carries a 30% chance to cook off all ammunition. In this event, roll half the weapon damage against vehicle and gunners, Weapon Destroyed (p286).
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Weapon removed from housing. Gunner has a 20% chance of taking 1/4 the damage of the shot that caused this RF.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    All crew takes 1d10+6 Explosive damage to Body, take 1 Fatigue, +0 AGI Test or catch fire (p284). Victims can attempt to put out the fire (p266).
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    That's too much text, go to p276.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() location 0}} + + {{#rollTotal() location 1}} +
    Motive Systems critical.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Driver takes +0 Operate Test. On fail, roll Scatter to change vehicle facing, driver takes 1 Fatigue.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Vehicle may only move up to Tactical Speed next Turn.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Motive Systems Impaired (p284).
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    -10 Operate Test to move the vehicle faster than Tactical Speed. On fail, no movement. Skimmers would crash.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    That's too much text, go to p277.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    That's too much text, go to p277.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    That's too much text, go to p277.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Motive Systems Destroyed (p285). Skimmers crash.
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Motive Systems Destroyed (p285), Skimmers crash, vehicle catches fire (p284).
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    That's too much text, go to p277.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() location 1}} + + {{#rollTotal() location 2}} +
    Turret critical.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Anyone in the Turret is Stunned for 1 Round.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    Turret weapon jammed.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Shots from the turret weapon take a -10 for 1d5 Rounds.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Turret Locked (p286). Gun can only fire in the direction it fired last. Pintles OK.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    That's too much text, go to p278.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    All weapons within the turret gain Targeting Systems Destroyed (p285).
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    That's too much text, go to p278.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    All weapons on the turret gains Weapon Destroyed (p286). Turret Locked. Turret catches fire (p284).
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    All weapons on the turret gains Weapon Destroyed (p286). Turret Locked. Turret catches fire (p284). All Crew +0 AGI Test or catch fire. Victims can put themselves out (p266).
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    That's too much text, go to p278.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() location 2}} + + {{#rollTotal() location 3}} +
    Hull critical.
    +
    Severity: {{roll}}
    + {{#crunch}} + {{#rollTotal() roll 1}} +
    Unbuckled crew take a +10 TOU Test or be Stunned for 1 Round.
    + {{/rollTotal() roll 1}} + {{#rollTotal() roll 2}} +
    All crew takes -20 to do anything until someone takes a Full Action to close a gas leak.
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 3}} +
    Unbuckled crew take a +10 TOU Test or be Stunned for 1 Round. All shooting from the vehicle takes a -10 for 1 Round.
    + {{/rollTotal() roll 3}} + {{#rollTotal() roll 4}} +
    Random crewmember takes 1d10+6 Impact damage to Body, takes 1 Fatigue.
    + {{/rollTotal() roll 4}} + {{#rollTotal() roll 5}} +
    Hit vehicle facing reduces AP by 1d10.
    + {{/rollTotal() roll 5}} + {{#rollTotal() roll 6}} +
    That's too much text, go to p279.
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    Hit vehicle facing reduces AP by half. If it was a ranged hit, each crewmember has a 20% chance to take 1/4 the damage, vehicle now Open Topped.
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    Hit vehicle facing reduces AP by half. If it was a ranged hit, each crewmember has a 20% chance to take 1/4 the damage, vehicle now Open Topped. Vehicle catches fire (p284).
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    Vehicle Destroyed (p285). Each weapon has 50% chance for Weapon Destroyed. Everyone takes 1d10+6 Explosive damage, -10 TOU Test or be Stunned for 1d10 Rounds. Skimmers crash.
    + {{/rollTotal() roll 9}} + {{#rollGreater() roll 9}} +
    That's too much text, go to p279.
    + {{/rollGreater() roll 9}} + {{/crunch}} + {{/rollTotal() location 3}} + {{/rollTotal() target 1}} +
    + {{/righteousfury}} @@ -2346,7 +3824,7 @@ {{#shock}} -
    {{character}} experiences Shock
    +
    {{character}} experiences Shock (p304)
    Severity: {{shock}}
    {{#rollBetween() shock 1 20}} diff --git a/Only-War-Enhanced/sheet.json b/Only-War-Enhanced/sheet.json index 9c58dfb360..d4bfe3b667 100644 --- a/Only-War-Enhanced/sheet.json +++ b/Only-War-Enhanced/sheet.json @@ -29,6 +29,17 @@ "default": "{{loc=[[1d100]]}}", "description": "Select the Auto Hit Location setting to use on the character sheet." }, + { + "attribute": "settings_crunchsummary", + "displayname": "Crunch Summary in Righteous Fury", + "type": "select", + "options": [ + "Include Crunch Summary|crunch", + "Exclude Crunch Summary| " + ], + "default": " ", + "description": "Includes a summary of the gameplay-related information for Righteous Fury rolls." + }, { "attribute": "settings_weapondescription", "displayname": "Weapon Special in Damage Roll", diff --git a/P.I.R.A.T.E.S/PIRATES.css b/P.I.R.A.T.E.S/PIRATES.css new file mode 100644 index 0000000000..e46c7c9d32 --- /dev/null +++ b/P.I.R.A.T.E.S/PIRATES.css @@ -0,0 +1,56 @@ +@import url('https://fonts.googleapis.com/css?family=Milonga&display=swap'); + +.sheet-CharacterName{ + font-family: 'Milonga'; +} + +.sheet-Caracteristique{ + font-family: 'Milonga'; +} + +.sheet-PJ{ + width: 55px; +} + +.sheet-Statut{ + font-family: 'Milonga'; +} + +.sheet-RSTATUT{ + width: 30px; +} + +.sheet-Description{ + font-family: 'Milonga'; +} + +.sheet-Coins{ + width: 300px; + height:75px; + font-family: 'Milonga'; +} + +.sheet-Balaises{ + float: left; + width: 45%; +} +.sheet-ToutPourris{ + float: right; + width: 45%; +} +.sheet-AttrBalaises{ + height:70px; +} +.sheet-AttrToutPourris{ + height:70px; +} +.sheet-Description{ + width: 300px; +} +.sheet-AttrDescription{ + height: 70px; +} +.sheet-Equipement{ + height: 70px; + font-family: 'Milonga'; +} \ No newline at end of file diff --git a/P.I.R.A.T.E.S/PIRATES.html b/P.I.R.A.T.E.S/PIRATES.html new file mode 100644 index 0000000000..95722d5458 --- /dev/null +++ b/P.I.R.A.T.E.S/PIRATES.html @@ -0,0 +1,73 @@ +
    + +
    +
    + Nom : + +
    +
    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + +
    +
    +
    +
    + Statut : + Ouai - + Aïe - + Gargl - + ... +
    +
    +
    +
    + Coin Balaises :
    +
    +
    + Coin Tout Pourris :
    +
    +
    +
    + Description : +
    +
    +
    + Equipement :
    +
    + +
    +
    diff --git a/P.I.R.A.T.E.S/ReadMe.md b/P.I.R.A.T.E.S/ReadMe.md new file mode 100644 index 0000000000..75cb662317 --- /dev/null +++ b/P.I.R.A.T.E.S/ReadMe.md @@ -0,0 +1,17 @@ +# P.I.R.A.T.E.S. + +_A fun & easy french Pirates RPG._ + +P.I.R.A.T.E.S est un petit jeu de rôle sur le thème bien connu et farfelu des pirates dans les Caraïbes. +Ecrit sur le ton humoristique, il permet des parties courtes et endiablées en petit ou grand groupe. Par David Coimbran Stephane Chaussat & Camille Schnakenbourg + +Cette feuille de personnage inclue quelques jets + +Plus d'infos sur le facebook : https://www.facebook.com/groups/1705929009442551 + +# Version courante +1.0 + +# Notes de version +## v1.0 (2020-08-13). +Création. diff --git a/P.I.R.A.T.E.S/piratesv1.jpg b/P.I.R.A.T.E.S/piratesv1.jpg new file mode 100644 index 0000000000..1aadfff825 Binary files /dev/null and b/P.I.R.A.T.E.S/piratesv1.jpg differ diff --git a/P.I.R.A.T.E.S/sheet.json b/P.I.R.A.T.E.S/sheet.json new file mode 100644 index 0000000000..925d671e00 --- /dev/null +++ b/P.I.R.A.T.E.S/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "PIRATES.html", + "css": "PIRATES.css", + "authors": "ElGothiko", + "roll20userid": "4134639", + "preview": "piratesv1.jpg", + "instructions": "Feuille de Personnage (avec jets) pour [P.I.R.A.T.E.S.](https://www.facebook.com/groups/1705929009442551). Feuille version 1.0 (13/08/2020). [Lisez-moi](https://github.com/Roll20/roll20-character-sheets/blob/master/P.I.R.A.T.E.S./ReadMe.md). Pour faire des jets cachés que seul l'Amiral puisse lire, mettre le perso en PNJ" +} diff --git a/Palladium Fantasy 1E/palladium_fantasy_1e.css b/Palladium Fantasy 1E/palladium_fantasy_1e.css index b3b726b8d1..bf2942ccc4 100644 --- a/Palladium Fantasy 1E/palladium_fantasy_1e.css +++ b/Palladium Fantasy 1E/palladium_fantasy_1e.css @@ -21,17 +21,17 @@ display: flex; text-align: left; flex-wrap: nowrap; - flex: 1 0 35%; + flex: 1 0 75%; } .sheet-line-divider{ - flex: 0 1 40%; + flex: 0 1 10%; align-items:center; } .sheet-docbuttons { text-align: right; - flex: 1 0 25%; + flex: 1 0 15%; } /*Configure the tab*/ .sheet-character, @@ -44,6 +44,7 @@ .sheet-healer, .sheet-wards, .sheet-circles, +.sheet-structures, .sheet-journal, .sheet-config, .sheet-release{ @@ -61,6 +62,7 @@ .sheet-tabstoggle[value="healer"] ~ div.sheet-healer, .sheet-tabstoggle[value="wards"] ~ div.sheet-wards, .sheet-tabstoggle[value="circles"] ~ div.sheet-circles, +.sheet-tabstoggle[value="structures"] ~ div.sheet-structures, .sheet-tabstoggle[value="journal"] ~ div.sheet-journal, .sheet-tabstoggle[value="configuration"] ~ div.sheet-config, .sheet-tabstoggle[value="release"] ~ div.sheet-release { @@ -72,7 +74,8 @@ input[value="1"].sheet-showspells ~ .sheet-confspells, input[value="1"].sheet-showpsionics ~ .sheet-confpsionics, input[value="1"].sheet-showhealer ~ .sheet-confhealer, input[value="1"].sheet-showwards ~ .sheet-confwards, -input[value="1"].sheet-showcircles ~ .sheet-confcircles{ +input[value="1"].sheet-showcircles ~ .sheet-confcircles, +input[value="1"].sheet-showstructures ~ .sheet-confstructures{ display:inline; } .sheet-topbuttons { @@ -105,7 +108,8 @@ input[value="1"].sheet-showcircles ~ .sheet-confcircles{ .sheet-confpsionics, .sheet-confhealer, .sheet-confwards, -.sheet-confcircles{ +.sheet-confcircles, +.sheet-confstructures{ display: none; } @@ -113,7 +117,7 @@ input[value="1"].sheet-showcircles ~ .sheet-confcircles{ /* Sheet Background Color */ .sheet-character, .sheet-social, .sheet-skill, .sheet-combat, .sheet-equipment, .sheet-journal, .sheet-spells, .sheet-psionics, -.sheet-healer, .sheet-wards, .sheet-circles{ +.sheet-healer, .sheet-wards, .sheet-circles, .sheet-structures{ background: #9cb09b; } .sheet-release, .sheet-config{ @@ -762,6 +766,97 @@ button[type=roll].sheet-rollhealer::before { grid-template-columns: 80px 215px 80px 80px 80px 215px } +/* ------ Structures Tab -----*/ +.sheet-structures{ + padding-left: 5px; +} +.sheet-ship-name{ + display:grid; + align-items:center; + padding-bottom:5px; + grid-template-columns: 215px 215px 65px 65px; +} +.sheet-ship-details{ + width:550px; + max-height:75px; +} +.sheet-shipattack-container{ + width:770px; +} +.sheet-ship-attacks{ + display:grid; + align-items:center; + grid-template-columns:110px 110px 110px 110px 330px +} +.sheet-ship-text{ + max-width: 100px; +} +button[type=roll].sheet-shiproll::before { + content: ''; +} +.sheet-shiproll{ + color:#ebebeb; + background: #6b8a76; + width:90px; +} +.sheet-ship-textarea{ + height:18px; + width:300px; + margin:0px; + overflow:auto; + resize:vertical; +} +.sheet-ship-parts{ + display: grid; + align-items: center; + padding-top:10px; + padding-bottom: 10px; + grid-template-columns: 80px 80px 80px 80px 80px 80px 80px +} +.sheet-structure-name{ + display:grid; + align-items:center; + padding-bottom:5px; + grid-template-columns: 215px 215px 65px 65px; +} +.sheet-structure-details{ + width:550px; + max-height:75px; +} +.sheet-structureattack-container{ + width:770px; +} +.sheet-structure-attacks{ + display:grid; + align-items:center; + grid-template-columns:110px 110px 110px 110px 330px +} +.sheet-structure-text{ + max-width: 100px; +} +button[type=roll].sheet-structureroll::before { + content: ''; +} +.sheet-structureroll{ + color:#ebebeb; + background: #6b8a76; + width:90px; +} +.sheet-structure-textarea{ + height:18px; + width:300px; + margin:0px; + overflow:auto; + resize:vertical; +} +.sheet-structure-parts{ + display: grid; + align-items: center; + padding-top:10px; + padding-bottom: 5px; + grid-template-columns: 80px 80px 80px 80px 80px 80px 80px 80px +} + /* ------ Journal Tab ------*/ .sheet-journal-container{ padding-left: 5px; diff --git a/Palladium Fantasy 1E/palladium_fantasy_1e.html b/Palladium Fantasy 1E/palladium_fantasy_1e.html index b3cf685991..7b60e9fe8b 100644 --- a/Palladium Fantasy 1E/palladium_fantasy_1e.html +++ b/Palladium Fantasy 1E/palladium_fantasy_1e.html @@ -7,6 +7,7 @@ + @@ -18,6 +19,7 @@ +
    @@ -154,7 +156,7 @@ **4** Easy **8** Moderate **14** Challenging - **17** Difficult}}" >Percep. + **17** Difficult}}" >Percep. @@ -1522,6 +1524,178 @@
    + +
    +

    Ships and Structures

    +
    + +

    Ship

    +
    +
    +

    Ship Name/Style

    +
    Type
    +
    Length
    +
    Width
    + + + + + + + +
    +
    +
    +
    +
    +
    +
    +

    Attack Name

    +

    Strike Macro

    +

    Damage Macro

    +

    Notes

    +
    +
    +
    + + + + + +
    +
    +
    +
    +

    Ship S.D.C.

    +
    +
    +
    +
    +
    +
    + +
    Foremast
    +
    Mainmast
    +
    Mizzenmast
    +
    Jiggermast
    +
    Main Sails
    +
    Small Sails
    +
    Rudder
    + + + + + + + + + +
    Hull Section
    +
    Keel Section
    +
    Fore Ship
    +
    Mid Ship
    +
    Rear Ship
    +
    Ram Prow
    +
    + + + + + + + +
    +
    +
    +
    +
    + +

    Structures

    +
    +
    +

    Structure Name

    +
    Type
    +
    Material
    +
    Dimensions
    + + + + + + + +
    +
    +
    +
    +
    +
    +
    +

    Attack Name

    +

    Strike Macro

    +

    Damage Macro

    +

    Notes

    +
    +
    +
    + + + + + +
    +
    +
    +
    +

    Structure S.D.C.

    +
    +
    +
    +
    +
    +
    +
    + +
    Wall Rating
    +
    Wall Rating
    +
    Wall Rating
    +
    Wall Rating
    +
    Door Type
    +
    Door Type
    +
    Misc.
    +
    Misc.
    + + + + + + + + + + +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Door S.D.C.
    +
    Door S.D.C.
    +
    Misc. S.D.C.
    +
    Misc. S.D.C.
    + + + + + + + + + +
    +
    +
    +
    +
    @@ -1581,6 +1755,7 @@

    Show Healer Tab

    Show Wards Tab

    Show Circles Tab

    +

    Show Structures Tab

    @@ -1652,7 +1827,11 @@

    Sheet Version: 1.0

    For more information on this sheet, check the page dedicated to it on the Roll20 wiki.

    -
    Recent Changes: 7-21-20
    +
    Recent Changes: 8-18-20
    +
      +
    • Added a new tab named Structures, which has a place to set up some stats for Ships and Structures. Since those are all in static attributes, they can be linked to token bars to track mast, sail, hull, wall, etc. S.D.C.. There is also a repeating section to set up attacks for each one. Since the rules for attacking out of the High Seas book aren't always conventional rolls, I left the attack and damage blank, so you need to make whatever macros you want for those. Or you can do everything in notes for some of the stranger setups based on percentages or whatever.
    • +
    +
    Past Changes: 7-21-20
    • Added a new roll template: spells.
    • Added tabs for Spells, Psionics, Healer, Wards, Circles, and Configuration.
    • @@ -1691,7 +1870,7 @@ on('sheet:opened', function() { }); }); // sheet tab action buttons -const buttonlist = ["character","social","skill","equipment","combat","spells","psionics","healer","wards","circles","journal","configuration","release"]; +const buttonlist = ["character","social","skill","equipment","combat","spells","psionics","healer","wards","circles","structures","journal","configuration","release"]; buttonlist.forEach(button => { on(`clicked:${button}`, function() { setAttrs({ diff --git a/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.css b/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.css index a04885f8bc..b19fe50134 100644 --- a/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.css +++ b/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.css @@ -10,17 +10,17 @@ background: #acb47f; } -.sheet-navbuttons, -.sheet-docbuttons { - flex: 10 1; -} - .sheet-navbuttons { + display:flex; + flex-wrap:flex; text-align: left; + flex: 1 0 85%; } .sheet-docbuttons { + display:flex; text-align: right; + flex: 1 0 15%; } /*Configure the tab buttons*/ .sheet-character, @@ -32,6 +32,7 @@ .sheet-psionics, .sheet-wards, .sheet-circles, +.sheet-structures, .sheet-journal, .sheet-config, .sheet-documentation { @@ -70,7 +71,8 @@ .sheet-confspells, .sheet-confpsionics, .sheet-confwards, -.sheet-confcircles{ +.sheet-confcircles, +.sheet-confstructures{ display: none; } @@ -84,6 +86,7 @@ .sheet-tabstoggle[value="psionics"] ~ div.sheet-psionics, .sheet-tabstoggle[value="wards"] ~ div.sheet-wards, .sheet-tabstoggle[value="circles"] ~ div.sheet-circles, +.sheet-tabstoggle[value="structures"] ~ div.sheet-structures, .sheet-tabstoggle[value="journal"] ~ div.sheet-journal, .sheet-tabstoggle[value="configuration"] ~ div.sheet-config, .sheet-tabstoggle[value="documentation"] ~ div.sheet-documentation { @@ -94,7 +97,8 @@ input[value="1"].sheet-showspells ~ .sheet-confspells, input[value="1"].sheet-showpsionics ~ .sheet-confpsionics, input[value="1"].sheet-showwards ~ .sheet-confwards, -input[value="1"].sheet-showcircles ~ .sheet-confcircles{ +input[value="1"].sheet-showcircles ~ .sheet-confcircles, +input[value="1"].sheet-showstructures ~ .sheet-confstructures{ display:inline; } @@ -119,6 +123,7 @@ input.sheet-arrow:checked ~ .sheet-body { .sheet-psionics, .sheet-wards, .sheet-circles, +.sheet-structures, .sheet-journal, .sheet-config, .sheet-documentation { @@ -807,6 +812,97 @@ button[type=roll].sheet-rollpsion::before { grid-template-columns: 80px 215px 80px 80px 80px 215px } +/* ------ Structures Tab -----*/ +.sheet-structures{ + padding-left: 5px; +} +.sheet-ship-name{ + display:grid; + align-items:center; + padding-bottom:5px; + grid-template-columns: 215px 215px 65px 65px; +} +.sheet-ship-details{ + width:550px; + max-height:75px; +} +.sheet-shipattack-container{ + width:770px; +} +.sheet-ship-attacks{ + display:grid; + align-items:center; + grid-template-columns:110px 110px 110px 110px 330px +} +.sheet-ship-text{ + max-width: 100px; +} +button[type=roll].sheet-shiproll::before { + content: ''; +} +.sheet-shiproll{ + color:#ffffdd; + background: #553359; + width:90px; +} +.sheet-ship-textarea{ + height:18px; + width:300px; + margin:0px; + overflow:auto; + resize:vertical; +} +.sheet-ship-parts{ + display: grid; + align-items: center; + padding-top:10px; + padding-bottom: 10px; + grid-template-columns: 80px 80px 80px 80px 80px 80px 80px +} +.sheet-structure-name{ + display:grid; + align-items:center; + padding-bottom:5px; + grid-template-columns: 215px 215px 65px 65px; +} +.sheet-structure-details{ + width:550px; + max-height:75px; +} +.sheet-structureattack-container{ + width:770px; +} +.sheet-structure-attacks{ + display:grid; + align-items:center; + grid-template-columns:110px 110px 110px 110px 330px +} +.sheet-structure-text{ + max-width: 100px; +} +button[type=roll].sheet-structureroll::before { + content: ''; +} +.sheet-structureroll{ + color:#ffffdd; + background: #553359; + width:90px; +} +.sheet-structure-textarea{ + height:18px; + width:300px; + margin:0px; + overflow:auto; + resize:vertical; +} +.sheet-structure-parts{ + display: grid; + align-items: center; + padding-top:10px; + padding-bottom: 5px; + grid-template-columns: 80px 80px 80px 80px 80px 80px 80px 80px +} + /* ---------------Journal Tab------------------ */ .sheet-journal { padding-left: 5px; @@ -860,6 +956,7 @@ button[type=roll].sheet-noteroll::before { } .sheet-strengthtoggle-container{ display:grid; + padding-bottom:20px; grid-template-columns: 0px 75px 0px 75px 0px 75px 0px 75px } .sheet-toggle-mleft, .sheet-toggle-mright{ diff --git a/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.html b/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.html index 531e9ffdab..7ae7fa7fcc 100644 --- a/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.html +++ b/Palladium Fantasy 2E Sheet/palladium_fantasy_2E.html @@ -5,6 +5,7 @@ + @@ -15,6 +16,7 @@ +
    @@ -1583,6 +1585,178 @@
    + +
    +

    Ships and Structures

    +
    + +

    Ship

    +
    +
    +

    Ship Name/Style

    +
    Type
    +
    Length
    +
    Width
    + + + + + + + +
    +
    +
    +
    +
    +
    +
    +

    Attack Name

    +

    Strike Macro

    +

    Damage Macro

    +

    Notes

    +
    +
    +
    + + + + + +
    +
    +
    +
    +

    Ship S.D.C.

    +
    +
    +
    +
    +
    +
    + +
    Foremast
    +
    Mainmast
    +
    Mizzenmast
    +
    Jiggermast
    +
    Main Sails
    +
    Small Sails
    +
    Rudder
    + + + + + + + + + +
    Hull Section
    +
    Keel Section
    +
    Fore Ship
    +
    Mid Ship
    +
    Rear Ship
    +
    Ram Prow
    +
    + + + + + + + +
    +
    +
    +
    +
    + +

    Structures

    +
    +
    +

    Structure Name

    +
    Type
    +
    Material
    +
    Dimensions
    + + + + + + + +
    +
    +
    +
    +
    +
    +
    +

    Attack Name

    +

    Strike Macro

    +

    Damage Macro

    +

    Notes

    +
    +
    +
    + + + + + +
    +
    +
    +
    +

    Structure S.D.C.

    +
    +
    +
    +
    +
    +
    +
    + +
    Wall Rating
    +
    Wall Rating
    +
    Wall Rating
    +
    Wall Rating
    +
    Door Type
    +
    Door Type
    +
    Misc.
    +
    Misc.
    + + + + + + + + + + +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Wall S.D.C.
    +
    Door S.D.C.
    +
    Door S.D.C.
    +
    Misc. S.D.C.
    +
    Misc. S.D.C.
    + + + + + + + + + +
    +
    +
    +
    +

    Journal

    @@ -1636,6 +1810,7 @@

    Tab Display Options

    +

    Show Structures Tab

    Show Psionics Tab

    Show Spells Tab

    Show Wards Tab

    @@ -1706,6 +1881,8 @@

    +

    Recent Change 8-18-20

    +

    Added a new tab named Structures, which has a place to set up some stats for Ships and Structures. Since those are all in static attributes, they can be linked to token bars to track mast, sail, hull, wall, etc. S.D.C.. There is also a repeating section to set up attacks for each one. Since the rules for attacking out of the High Seas book aren't always conventional rolls, I left the attack and damage blank, so you need to make whatever macros you want for those. Or you can do everything in notes for some of the stranger setups based on percentages or whatever.

    Initial Release

    The colors of this sheet are based on the scales and horns of the dragon on the Palladium Fantasy 2nd Edition Core book, with the input fields not far off some of the yellowish color of the orb the wizard is focused on in the foreground.

    All light blue-gray fields are readonly fields that will be filled in by sheetworkers.

    @@ -1721,7 +1898,7 @@ \ No newline at end of file + diff --git a/Shadowrun6th-German/translation.json b/Shadowrun6th-German/translation.json index 41208dd074..d131551218 100644 --- a/Shadowrun6th-German/translation.json +++ b/Shadowrun6th-German/translation.json @@ -57,21 +57,30 @@ "agility_short": "GES", "am": "AM", "ammo_apds": "APDS-Munition", + "ammo_damage": "Schaden (Munition)", "ammo_explosive": "Explosivmunition", "ammo_flechette": "Flechettemunition", "ammo_gel": "Gelmunition", + "ammo_mods": "Modifikator (Munition)", "ammo_precision": "Präzisionsmunition", "ammo_revo": "REVO-Munition", "ammo_selfmade": "selbst gemachte Munition", "ammo_shocker": "Schockermunition", "ammo_standard": "Standardmunition", "ammo_standardac": "Sturmkanonenmunition", + "ammo_title": "Munition", "assaultcannon": "Sturmkanone", "assaultrifle": "Sturmgewehr", "attackroll": "Angriffswurf", "attacks": "Angriffe", + "attack_dice_pool": "Angriffswurf", + "attack_value": "Angriffswert", + "attack_value_mod_ammo_title": "Angriffswertmodifikator (Munition)", "attributeorskill": "Attributs- oder Fertigkeitswurf", "attributes": "Attribute", + "available_firemods": "verfügbare Feuermodi", + "banishing": "Verbannen", + "banishing_title": "Verbannen", "basis": "Basis", "beast": "Tier", "blades": "Klingen", @@ -81,9 +90,11 @@ "bod_wil": "KON + WIL", "carbine": "Karabiner", "character": "Charakter", + "character_sheet_author": "Shadowrun 6 Charakterbogen von Avalia", "charisma": "Charisma", "charisma_short": "CHA", "cha_wil": "CHA + WIL", + "close_combat_weapons": "Nahkampfwaffen", "clubs": "Knüppel", "combat_air": "Kampf (Luft)", "combat_beast": "Kampf (Tier)", @@ -95,9 +106,12 @@ "combat_plant": "Kampf (Pflanze)", "combat_task": "Kampf (Helfer)", "combat_water": "Kampf (Wasser)", + "complex_damage_options": "komplexer Schaden", + "complex_ammo_options": "komplexe Munition", "composure": "Selbstbeherrschung", "condition_monitor": "Monitor", "config": "Einstellungen", + "conjuration_title": "Herbeirufen", "conjuring": "Beschwören", "conjuring_expertise": "+3", "conjuring_force": "Kraftstufe", @@ -107,6 +121,11 @@ "contacts": "Connections", "customization_explanation": "Hier können Standardwerte für die Würfe im Bereich 'Generische Würfelwürfe' festgelegt werden.", "customization_monitors": "Anpassung der Schadensmonitore", + "damage": "Schaden", + "damage_base": "Grundschaden", + "damage_title": "Schaden:", + "damage_type_title": "Schadensart:", + "damage_value": "Schaden", "defense": "Verteidigungswurf", "defense_autosoak": "Autoerfolge beim Schadenswiderstand", "defense_pool": "Verteidigungspool", @@ -123,7 +142,9 @@ "detection_plant": "Wahrn. (Pflanze)", "detection_task": "Wahrn. (Helfer)", "detection_water": "Wahrn. (Wasser)", + "dice_pool_title": "Pool:", "display_agility": "Geschicklichkeit", + "display_all_skills": "alle Fertigkeiten sichtbar machen", "display_body": "Konstitution", "display_charisma": "Charisma", "display_edge": "Edge", @@ -142,12 +163,14 @@ "editrules": "Eingabemodus", "em": "nur EM", "empty": " ", + "endscene": "Reset", "exotic": "Exotisch", "exoticmelee": "Exotische Nahkampfwaffe", "expertise": "  Expertise", "exp_short": "Exp.", "fire": "Feuer", "firemode_am": "AM", + "firemode_choice": "Feuermodus wählen:", "firemode_em": "EM", "firemode_hm": "HM", "firemode_sm": "SM", @@ -164,6 +187,7 @@ "health_task": "Heilung (Helfer)", "health_water": "Heilung (Wasser)", "heavypistol": "Schwere Pistole", + "hide_skills_without_ranks": "Fertigkeiten ohne Punkte ausblenden", "hm": "HM", "hmam": "HM/AM", "hmsm": "HM/SM", @@ -186,9 +210,11 @@ "iniphys": "Initiative (physisch)", "inimatrix": "Initiative (Heißes Sim)", "initiative": "Initiative", + "initiative_title": "Nebenhandlungen", "intuition": "Intuition", "intuition_short": "INT", "int_wil": "INT + WIL", + "invoked_spirits": "Vorhandene Geister", "judgeintent": "Menschenkenntnis", "lightpistol": "Leichte Pistole", "liftcarry": "Heben & Tragen", @@ -199,6 +225,8 @@ "machinepistol": "Automatikpistole", "magic": "Magie", "magic_short": "MAG", + "major_action_one": "Haupthandlung #1", + "major_action_two": "Haupthandlung #2", "man": "Mensch", "manipulation_air": "Manip. (Luft)", "manipulation_beast": "Manip. (Tier)", @@ -212,15 +240,34 @@ "manipulation_water": "Manip. (Wasser)", "matrix": "Matrix", "memory": "Erinnerungsvermögen", + "minor_action_five": "Neben #5", + "minor_action_four": "Neben #4", + "minor_action_one": "Neben #1", + "minor_action_three": "Neben #3", + "minor_action_two": "Neben #2", "mod": "Mod", + "mods_ammo_title": "Schadensmodifikator (Munition)", "mod_conjuring": "Allgemeiner Beschwörenmodifikator", "mod_magic": "Allgemeiner Magiemodifikator", "mod_spells": "Allgemeiner Zaubereimodifikator", + "mod_wounds": "Modifikator (Wundabzüge)", "monitor_modifier_phys": "Modifikator körperlicher Monitor", "monitor_modifier_stun": "Modifikator geistiger Monitor", + "nb_hits": "Erfolge", + "nb_hits_drain": "Erfolge (Entzug)", + "nb_hits_spirit": "Erfolge (Geist)", "noedge": "Du hast kein Edge.", "notes": "Notizen", + "not_implemented_yet": "Dieser Bereich wird zu einem späteren Zeitpunkt hinzugefügt", "offense": "Angriffswurf", + "option_am": "AM", + "option_em": "nur EM", + "option_hm": "HM", + "option_hmam": "HM/AM", + "option_hmsm": "HM/SM", + "option_hmsmam": "HM/SM/AM", + "option_sm": "SM", + "option_smam": "SM/AM", "phys": "körperlich", "phys_short": "K", "phys_short_shifted": "  K", @@ -233,10 +280,13 @@ "pp_three": "0.75", "pp_two": "0.50", "projectile": "Projektilwaffen", - "range_vclose": "sehr nah", + "ranged_weapons": "Fernkampfwaffen", + "range_attack_value_title": "Angriffswert", "range_close": "nah", - "range_medium": "mittel", "range_long": "weit", + "range_medium": "mittel", + "range_title": "Reichweiten (Meter)", + "range_vclose": "sehr nah", "range_vlong": "sehr weit", "reaction": "Reaktion", "reaction_short": "REA", @@ -249,6 +299,8 @@ "reload_t": "Trommelmagazin (t)", "reload_tr": "Trommel. aufklappbar (tr)", "reload_v": "Vorderlader", + "reset": "Zurücksetzen", + "reset_skills": "Fertigkeiten zurücksetzen", "resonance": "Resonanz", "resonance_short": "RES", "rigging": "Rigger", @@ -293,6 +345,7 @@ "spells_combat": "Kampf", "spells_combat_direct": "Kampf (direkt)", "spells_combat_indirect": "Kampf (indirekt)", + "spell_drain_code": "Entzugscode", "spells_duration_i": "S", "spells_duration_l": "ZB", "spells_duration_s": "A", @@ -303,6 +356,7 @@ "spells_range_b": "B", "spells_range_bf": "BF", "spells_range_bff": "BF (F)‎", + "spell_resist": "Probe", "spells_resist_choose": "Widerstand auswählen", "spells_resist_bodstr": "vs KON + STÄ", "spells_resist_bodwil": "vs KON + WIL", @@ -350,7 +404,20 @@ "summoner": "Herbeirufer", "task": "Helfer", "taser": "Taser", + "test_modifiers": "Probenmodifikatoren", "thrown": "Wurfwafen", + "title_action_monitor": "Handlungsmonitor", + "title_apply_wounds": "Wunden anwenden", + "title_condition_monitor": "Zustandsmonitor und Wundabzüge", + "title_edge": "Edge", + "title_exploding_dice": "explodierende Würfel", + "title_generic_rolls": "Generische Würfelwürfe", + "title_gm_roll": "Würfe an Spielleiter", + "title_options": "Optionen", + "title_overflow": "Überzähliger Schaden", + "title_physical": "körperlich", + "title_stun": "geistig", + "title_total_wounds": "Gesamtwert (Wundabzüge)", "total": "Total", "unarmed": "Waffenlos", "unown": "?", @@ -359,6 +426,7 @@ "use_wilddie_short": "Schicksalswürfel", "water": "Wasser", "weapon_attackrating": "Angriffswert", + "weapon_attack_value_title": "Angriffswert:", "weapon_damage": "Schadenswert", "weapon_dicepool": "Würfelpool", "weapon_name": "Waffenname", @@ -367,4 +435,4 @@ "willpower_short": "WIL", "yourresult": "Dein Ergebnis: ", "copyrightfooter": "The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever." -} \ No newline at end of file +} diff --git a/Shadowrun6th-German/translations/fr.json b/Shadowrun6th-German/translations/fr.json index f32b4e73d8..5b30fd5b18 100644 --- a/Shadowrun6th-German/translations/fr.json +++ b/Shadowrun6th-German/translations/fr.json @@ -311,7 +311,7 @@ "spells_resist_perc": "vs INT + Perception", "spells_resist_reaint": "vs REA + INT", "spells_resist_reawil": "vs REA + VOL", - "spells_resist_threshold": "vs (5 - Essenz)", + "spells_resist_threshold": "vs (5 - Essence)", "spells_resist_wilint": "vs VOL + INT", "spells_resist_willog": "vs VOL + LOG", "spells_specific": "bonus spécifique ↓", @@ -355,16 +355,16 @@ "unarmed": "Désarmé", "unown": "?", "unown_shifted": "  ?", - "use_wilddie": "Schicksalswürfel verwenden?", - "use_wilddie_short": "Schicksalswürfel", + "use_wilddie": "Utiliser les dés explosifs ?", + "use_wilddie_short": "Dés explosif", "water": "Eau", "weapon_attackrating": "Score d'Attaque", "weapon_damage": "Dégat", "weapon_dicepool": "Pool de dés", "weapon_name": "Nom de l'arme", - "wilddie": "Schicksalswürfel (W6)", + "wilddie": "Dés explosifs (d6)", "willpower": "Volonté", "willpower_short": "VOL", - "yourresult": "Dein Ergebnis: ", + "yourresult": "Résultat:", "copyrightfooter": "The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever." } \ No newline at end of file diff --git a/Shadowrun6th-German/translations/pt.json b/Shadowrun6th-German/translations/pt.json index 29b8223b89..c09cfa1aa9 100644 --- a/Shadowrun6th-German/translations/pt.json +++ b/Shadowrun6th-German/translations/pt.json @@ -72,7 +72,7 @@ "attacks": "Angriffe", "attributeorskill": "Attributs- oder Fertigkeitswurf", "attributes": "Atributo", - "basis": "Basis", + "basis": "Base", "beast": "Tier", "blades": "Klingen", "blood": "Blut", @@ -327,7 +327,7 @@ "spell_drain": "Entzug", "spelldrainampup": "Hochdrehen", "spell_drain_area": "Fläche+", - "spell_duration": "Dauer", + "spell_duration": "Duração", "spell_range": "Reichweite", "spell_type": "Art", "spirit_fire": "Feuergeist", diff --git a/Songs for the Dusk/translations/fr.json b/Songs for the Dusk/translations/fr.json index 946229219e..4dce1fdd0c 100644 --- a/Songs for the Dusk/translations/fr.json +++ b/Songs for the Dusk/translations/fr.json @@ -51,7 +51,7 @@ "command": "Command", "command_description": "When you COMMAND, you employ good leadership or compel by force of personality.", "consequence": "Conséquence", - "connect": "Connect", + "connect": "Contacter", "connect_description": "When you CONNECT, you socialize with friends and contacts, form sincere emotional bonds, or persuade from a position of genuine belief.", "contact_name": "Nom du contact", "contacts": "Contacts", diff --git a/SotS/Swords of the Serpentine.css b/SotS/Swords of the Serpentine.css index ea2c7435cc..6d75cb31b6 100644 --- a/SotS/Swords of the Serpentine.css +++ b/SotS/Swords of the Serpentine.css @@ -178,7 +178,7 @@ label.sheet-health { label.sheet-abilitiessection { display: inline-block; vertical-align: middle; - width: 47%; + width: 62%; font-size: 18px; margin-bottom: 0px; margin-top: 5px; @@ -187,7 +187,7 @@ label.sheet-abilitiessection { label.sheet-abilities { display: inline-block; vertical-align: middle; - width: 44%; + width: 60%; font-size: 13px; margin-bottom: 0px; margin-top: 5px; @@ -221,6 +221,7 @@ label.sheet-number-red { display: inline-block; vertical-align: middle; width: 11px; + min-width: 11px; color: red; } @@ -228,6 +229,7 @@ label.sheet-number-yellow { display: inline-block; vertical-align: middle; width: 10px; + min-width: 10px; color: orange; } @@ -235,6 +237,7 @@ label.sheet-number-green { display: inline-block; vertical-align: middle; width: 10px; + min-width: 10px; color: green; } diff --git a/SotS/Swords of the Serpentine.html b/SotS/Swords of the Serpentine.html index 087baf7a18..f79c4f0437 100644 --- a/SotS/Swords of the Serpentine.html +++ b/SotS/Swords of the Serpentine.html @@ -6,6 +6,7 @@

    +


    @@ -81,7 +82,7 @@
                      Max -           +             @@ -180,7 +181,7 @@

    Abilities

    -
    +
    @@ -225,7 +226,7 @@  
    -
    +
    @@ -250,7 +251,7 @@  
    -
    +
    @@ -276,43 +277,44 @@

     

    -
    - +
    + -
    + +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    @@ -320,7 +322,7 @@  
    -
    +
    @@ -344,7 +346,7 @@  
    -
    +
    @@ -386,7 +388,13 @@
    -
    -

    Gear

    - +
    +
    +

    Gear

    + +
    +
    +

    Sorcerous Spheres

    + +
    \ No newline at end of file diff --git a/Spire - The City Must Fall/translations/fr.json b/Spire - The City Must Fall/translations/fr.json index b8aafb9fd6..090ada82bb 100644 --- a/Spire - The City Must Fall/translations/fr.json +++ b/Spire - The City Must Fall/translations/fr.json @@ -12,7 +12,7 @@ "compel": "Contrainte", "deceive": "Subterfuge", "fight": "Fight", - "fix": "Fix", + "fix": "Réparer", "investigate": "Découverte", "pursue": "Pursue", "resist": "Résister", diff --git a/Spirit_of_77/ReadMe.md b/Spirit_of_77/ReadMe.md new file mode 100644 index 0000000000..71dc9827d1 --- /dev/null +++ b/Spirit_of_77/ReadMe.md @@ -0,0 +1,12 @@ +# Spirit of 77 Character Sheet + +This sheet is designed for use with the Spirit of 77 role-playing game by Monkeyfun Studios. Where possible, it supports the 'rules as written' as listed in the Spirit of 77 handbook that was released in 2015. + +### Changelog + +No changes. + +### Other resources + +* None + diff --git a/Spirit_of_77/Spirit_of_77.css b/Spirit_of_77/Spirit_of_77.css new file mode 100644 index 0000000000..e4e80dc84a --- /dev/null +++ b/Spirit_of_77/Spirit_of_77.css @@ -0,0 +1,56 @@ +.charsheet { + background-color: #fff; + min-width: 800px; +} + +/* Universal styling applied to all elements of these types */ + +div { + margin: 0px; + padding: 0px; +} + +h2 { + font-size: 2em; + margin-bottom: 10px; + text-align: center; +} + +label { + display: inline-block; + width: 31%; +} + +input { + display: inline-block; + width: 165px; +} + +img { + max-height: 100px; +} + +textarea { + resize: both; + width: 450px; + height:50px; +} + +input[type=number] { + width: 50px; +} +/* Custom styling applied to all elements of these classes */ + +/*Configure the tab buttons*/ + +.sheet-character, +.sheet-config { + display: none; +} + +/* show the selected tab */ + +.sheet-tabstoggle[value="character"] ~ div.sheet-character, +.sheet-tabstoggle[value="configuration"] ~ div.sheet-config { + display: block; +} diff --git a/Spirit_of_77/Spirit_of_77.html b/Spirit_of_77/Spirit_of_77.html new file mode 100644 index 0000000000..58df9a0488 --- /dev/null +++ b/Spirit_of_77/Spirit_of_77.html @@ -0,0 +1,327 @@ +
    +
    +
     
    +
    + Spirit of 77 +
    +
     
    +
    + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +

                       + +        + +


    +
    + + + +
    + +
    +

    Attributes and Moves

    +
    +
    +
    +

    Attributes

    +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    + + + +
    +
    +
    + +
    +

    Moves

    + +
    +
    +

    Deliver a Beatdown

    +
    +
    +

    Smoke His Ass

    +
    +
    +

    Take a Hit or Get Outta the Way

    +
    +
    +

    Keep Your Cool

    +
    +
    +

    Get In Their Face

    +
    +
    +

    Getting What You Want

    +
    +
    +

    Give Someone the Third Degree

    +
    +
    +

    Free Your Mind

    +
    +
    +

    Scope Out a Scene

    +
    +
    +

    Help a Brother Out

    +
    +
    +
    +
    + +
    +
    +
    +

    Role Moves

    + + + +
    +
    +
    +
    +
    +

    Story Moves

    + + + +
    +
    +
    +
    +
    + +
    +

    Gear and Thangs

    +
    +
    +
    +

    Gear:

    +


    +
    +
    +
    +
    +
    +

    Thangs:

    +





    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/Spirit_of_77/Spirit_of_77.png b/Spirit_of_77/Spirit_of_77.png new file mode 100644 index 0000000000..a527bb9d03 Binary files /dev/null and b/Spirit_of_77/Spirit_of_77.png differ diff --git a/Spirit_of_77/sheet.json b/Spirit_of_77/sheet.json new file mode 100644 index 0000000000..9116745c0a --- /dev/null +++ b/Spirit_of_77/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "Spirit_of_77.html", + "css": "Spirit_of_77.css", + "authors": "Dennison Frasier", + "roll20userid": "", + "preview": "Spirit_of_77.png", + "compendium": "Spirit_of_77", + "instructions": "This sheet is designed for use with the Spirit of 77 role-playing game by Monkeyfun Studios. Where possible, it supports the 'rules as written' as listed in the Spirit of 77 handbook that was released in 2015." +} diff --git a/Star Wars FFG Alternate/translations/fr.json b/Star Wars FFG Alternate/translations/fr.json index d78027adec..7f1f18b09f 100644 --- a/Star Wars FFG Alternate/translations/fr.json +++ b/Star Wars FFG Alternate/translations/fr.json @@ -443,7 +443,7 @@ "hp": "PV", "benefit": "Bénéfices", "combat_talents": "Combat Talents", - "active_": "Active?", + "active_": "Actif ?", "description": "Description ", "armor": "Armure", "encum": "Encomb.", diff --git a/Starfinder (simple)/Starfinder (simple).html b/Starfinder (simple)/Starfinder (simple).html index 8fb28cf898..47375d17f6 100644 --- a/Starfinder (simple)/Starfinder (simple).html +++ b/Starfinder (simple)/Starfinder (simple).html @@ -1866,6 +1866,7 @@
    +
    - + / - + Show Description? - + +
    @@ -2203,34 +2205,38 @@ Range Area/Effect/Target Duration - Save + Save + Save Effect SR
    +
    - - - - - - - + + + + + + + + - Show Description? - +
    Show Macro Text?
    +
    @@ -2249,28 +2255,31 @@ Area/Effect/Target Duration Save - SR -
    -
    -
    -
    - - - - - - - - - - - - Show Description? + Save Effect + SR +
    +
    +
    +
    +
    + + + + + + + + + + + + + Show Description? - +
    Show Macro Text? @@ -2294,28 +2303,31 @@ Area/Effect/Target Duration Save - SR -
    -
    -
    -
    - - - - - - - - - - - - Show Description? + Save Effect + SR +
    +
    +
    +
    +
    + + + + + + + + + + + + + Show Description? - +
    Show Macro Text? @@ -2339,28 +2351,31 @@ Area/Effect/Target Duration Save - SR -
    -
    -
    -
    - - - - - - - - - - - - Show Description? - - + Save Effect + SR +
    +
    +
    +
    +
    + + + + + + + + + + + + + Show Description? + +
    Show Macro Text? @@ -2384,28 +2399,31 @@ Area/Effect/Target Duration Save - SR -
    -
    -
    -
    - - - - - - - - - - - - Show Description? + Save Effect + SR +
    +
    +
    +
    +
    + + + + + + + + + + + + + Show Description? - +
    Show Macro Text? @@ -2429,28 +2447,31 @@ Area/Effect/Target Duration Save - SR -
    -
    -
    -
    - - - - - - - - - - - - Show Description? + Save Effect + SR +
    +
    +
    +
    +
    + + + + + + + + + + + + + Show Description? - +
    Show Macro Text? @@ -2474,29 +2495,32 @@ Area/Effect/Target Duration Save - SR -
    -
    + Save Effect + SR +
    +
    -
    - - - - - - - - - - + + + + + + + + + - - Show Description? - - -
    + + Show Description? + + +
    Show Macro Text? @@ -5092,7 +5116,9 @@ to foil enemy targeting arrays and incoming projectiles forcing gunners onboard {{#duration}}
    Duration {{duration}}
    Saving Throw {{saving_throw}}
    Saving Throw {{saving_throw}}
    Save Effect {{save_effect}}
    Spell Resistance {{sr}}
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    주의신체모티브정서행동역경
    2 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    3 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    4 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    5 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    6 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    7 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    8 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    9 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    10 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    11 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    12 +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    +

    + + + +

    +
    + + + +
    +
    +
    + 스킬 + 획득가능 스킬 : 개 +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    인물 관계
    +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    天唱 : Strato Shout
    +
    + 대상에게 프레이즈 공격과 똑같이 데미지를 입힌다.
    이 데미지는 현재 무력화하고 있는 얽매임 1개마다 2D6점 상승한다. +
    +
    +
    + +
    +
    +
    軽階 : Scale Dance
    +
    + 대상에게 프레이즈 공격과 같은 대미지를 주며,
    이 판정에 소비한 【컨디션】의 절반(소수점 올림)을 자신 이외의 PC전원에게 전달한다. +
    +
    +
    + +
    +
    +
    弦語 : Chord Talker
    +
    + 통상 공격의 대미지를 산출한다.
    【지배력】이 이 대미지 이하인 얽매임을 [현재 라운드] 수만큼 골라 전부 무력화한다. +
    +
    +
    + +
    +
    +
    隙殺 : Moment Killer
    +
    + 대상에게 [【악기위력】+【역량】+이 판정에 소비한 【컨디션】 D6]점의
    대미지를 전달한다. +
    +
    +
    + +
    +
    +
    追鳴 : Chase Round
    +
    + 이하의 효과가 함께 발생한다.
    + ① 대상에게 프레이즈 공격과 같은 대미지를 준다.
    + ② 이 프레이즈 버스트를 사용한 라운드의 종료 직후, 추가 라운드가 발생한다.
    + 단, 추가 라운드 중 모든 PC는 【컨디션】과 【프레이즈】를 사용할 수 없다.
    + 또한, 이 프레이즈 버스트를 사용한 타이밍이 3라운드 째였을 경우, 얽매임이 전부 무력화 된다. +
    +
    +
    +
    + +
    +
    +
    + + + + + + +
    +
    +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    + + +
    + 프레이즈 버스트 이용 시 체크 +
    +
    + +
    +
    + + + + + + +
    + + + + +
    +
    +
    + +
    +
    + + + + + + +
    + + + + +
    +
    +
    + +
    +
    + + + + + + +
    + + + + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    + + + + +
    +
    +
    +
    + + + + + + +
    +
    + {{name}} +
    +
    + {{#roll}} + {{roll}} + {{#cond}}{{#rollGreater() cond 0}}+{{cond}}{{/rollGreater() cond 0}}{{/cond}} + + {{#rollTotal() roll 2}} +
    FUMBLE!
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 12}} +
    SPECIAL!
    + {{/rollTotal() roll 12}} + {{/roll}} +
    + {{#subject}} +
    + {{subject}} {{#sub_subject}}{{sub_subject}}{{/sub_subject}} +
    + {{/subject}} + {{#descript}} +
    +

    {{descript}}

    +
    + {{/descript}} +
    +
    + + +
    +
    + {{name}} +
    + {{#subject}} +
    + {{subject}} +
    + {{/subject}} + {{#descript}} +
    +

    {{descript}}

    +
    + {{/descript}} + + {{#role_roll}} +
    + {{#rollTotal() role_type 1}} + + {{#rollTotal() role_roll 1}} + 지루함 당신은 지루한 나날에 싫증이 나서, 밴드를 시작했습니다. 악기 경험은 전혀 없거나, 다소 공백기를 가지고 있습니다. + {{/rollTotal() role_roll 1}} + {{#rollTotal() role_roll 2}} + 이별 당신이 맺고 있던 밴드가 해산, 혹은 밴드에서 쫓겨났습니다. 음악을 그만두고 싶지 않은 당신은 다른 밴드 멤버를 모읍니다. + {{/rollTotal() role_roll 2}} + {{#rollTotal() role_roll 3}} + 동경 당신은 밴드에 대해 강한 동경심을 가지고 있었습니다. 자신도 그 열광의 중심에 서보고 싶다. 당신은 밤낮으로 악기 연습에 몰두하고 밴드 멤버를 찾기 시작합니다. + {{/rollTotal() role_roll 3}} + {{#rollTotal() role_roll 4}} + 보은 당신은 어떤 밴드의 음악에 의해, 절망에 늪에서 구해졌습니다. 당신은 밴드에게 감사를 전하기 위해, 아니면 다른 누군가를 구하기 위해, 밴드를 만들자고 결의합니다. + {{/rollTotal() role_roll 4}} + {{#rollTotal() role_roll 5}} + 동료 당신은 어떤 만남에 의해 밴드를 만들자고 결의합니다. 만남은 당신의 운명을 바꾸었습니다. 다음은 당신이 누군가의 운명을 바꿀 차례입니다. + {{/rollTotal() role_roll 5}} + {{#rollTotal() role_roll 6}} + 무기 당신은 현실에 대한 도피행동으로, 또는 대항수단으로 밴드를 시작했습니다. 당신에게 있어서 음악은 마법이든가, 아니면 마법처럼 보이는 잔혹한 무언가겠죠. + {{/rollTotal() role_roll 6}} + {{/rollTotal() role_type 1}} + + {{#rollTotal() role_type 2}} + + {{#rollTotal() role_roll 1}} + 불가피 당신은 어쩔 수 없는 사정으로 인해, 밴드에 소속하게 됐습니다. 부활동이나 사무소에서 강제적으로 들어가게 했거나, 허세를 부려서 「한다」고 말해버렸다든가...... + {{/rollTotal() role_roll 1}} + {{#rollTotal() role_roll 2}} + 기연 당신이 신기한 인연에 이끌려서 전혀 모르는 밴드에 들어가게 됐습니다. 주된 이유는 착각이나 우연에 의한 것이 되겠죠. + {{/rollTotal() role_roll 2}} + {{#rollTotal() role_roll 3}} + 발견 당신은 전부터 밴드에 들어가고 싶다고 강하게 바라고 있었고, 드디어 멤버가 부족한 밴드를 발견했습니다. 그 밴드가 이상적인 것인지, 타협의 대상인지는 모릅니다. + {{/rollTotal() role_roll 3}} + {{#rollTotal() role_roll 4}} + 신앙 당신은 밴드의, 혹은 특정한 멤버의 팬입니다. 상대가 멤버를 찾고 있다는 걸 안 당신은 안절부절 못하며 밴드에 잠입했습니다. + {{/rollTotal() role_roll 4}} + {{#rollTotal() role_roll 5}} + 직감 당신이 어째서 밴드의 멤버가 되었는가는 누구도 알지 못합니다. 당신을 스카우트한 멤버는 「직감으로 『이 녀석밖에 없다』고 확신했다」고 합니다. + {{/rollTotal() role_roll 5}} + {{#rollTotal() role_roll 6}} + 천재 당신의 비교할 수 없는 재능에 매료된 멤버가 당신을 스카우트 했습니다. 멤버에게 재능을 간파당하든가, 아니면 이미 그 이름이 유명할지도 모릅니다. + {{/rollTotal() role_roll 6}} + {{/rollTotal() role_type 2}} +
    + {{/role_roll}} + + {{#scene_roll}} +
    + {{#rollTotal() scene_type 1}} + + {{#rollTotal() scene_roll 2}} + 혼자만의 시간. 문득 과거의 기억을 더듬어 본다. 그러고 보면 예전에 이런 일이 있었던 것 같은데...... + {{/rollTotal() scene_roll 2}} + {{#rollTotal() scene_roll 3}} + 어디선가 언쟁하는 듯한 소리가 들려온다. 싸우는 걸까? + {{/rollTotal() scene_roll 3}} + {{#rollTotal() scene_roll 4}} + 밤의 장막이 걷히고, 주변은 정적에 휩싸여 간다. 그녀석은 지금 뭘 하고있을까. + {{/rollTotal() scene_roll 4}} + {{#rollTotal() scene_roll 5}} + 동료와 함께 식사를 하고있자니, 화제는 자연스레 그 이야기로...... + {{/rollTotal() scene_roll 5}} + {{#rollTotal() scene_roll 6}} + 웃음소리로 가득 찬 공간. 계속 이런 시간이 이어지면 좋을텐데. + {{/rollTotal() scene_roll 6}} + {{#rollTotal() scene_roll 7}} + 햇볕이 드는 장소. 바쁜 일상에서 잠시 빠져나와 평온한 시간이 흘러간다. + {{/rollTotal() scene_roll 7}} + {{#rollTotal() scene_roll 8}} + 스마트폰에서 착신 알람이 울린다. 전화? 메시지? 누구한테서 온 걸까. + {{/rollTotal() scene_roll 8}} + {{#rollTotal() scene_roll 9}} + 갑작스레 누군가가 당신을 찾아왔다. 뭔가 전할 것이 있는 모양이다. + {{/rollTotal() scene_roll 9}} + {{#rollTotal() scene_roll 10}} + 누군가가 잃어버린 물건을 발견했다. 전해주는 게 좋으려나. + {{/rollTotal() scene_roll 10}} + {{#rollTotal() scene_roll 11}} + 누군가 소문에 대한 이야기를 하고 있다. 들을 생각이 없어도 그것은 제멋대로 들려온다. + {{/rollTotal() scene_roll 11}} + {{#rollTotal() scene_roll 12}} + 어쩐지 오한이 인다. 좋지 않은 일이 일어날 것만 같은...... + {{/rollTotal() scene_roll 12}} + {{/rollTotal() scene_type 1}} + + {{#rollTotal() scene_type 2}} + + {{#rollTotal() scene_roll 2}} + 교정 뒤에서 무언가에 대해 이야기하는 두 사람을 발견했다. 대체 무슨 얘기를 하고 있는 걸까...... + {{/rollTotal() scene_roll 2}} + {{#rollTotal() scene_roll 3}} + 어느 동아리실, 부원들은 집중한 채 부활동에 힘쓰고 있는 것 같은데...... + {{/rollTotal() scene_roll 3}} + {{#rollTotal() scene_roll 4}} + 선생님한테서 타겟에 대한 질문을 받았다. 뭔가 신경쓰이는 게 있는 모양이다. + {{/rollTotal() scene_roll 4}} + {{#rollTotal() scene_roll 5}} + 나뭇잎 사이로 아침햇살이 비쳐드는 등굣길. 어떤 사람은 바쁜 듯이, 또 어떤 사람은 즐거운 듯이 학교로 향하고 있다. + {{/rollTotal() scene_roll 5}} + {{#rollTotal() scene_roll 6}} + 쉬는 시간. 교실 여기저기에 떠도는 시시한 소문들. 그 중에서 신경쓰이는 화제가 들려왔다. + {{/rollTotal() scene_roll 6}} + {{#rollTotal() scene_roll 7}} + 모든 것이 노을빛으로 물드는 해질녘. 학생들은 학업에서 해방되어 자유롭게 얼마 남지 않은 하루를 보내고 있다. + {{/rollTotal() scene_roll 7}} + {{#rollTotal() scene_roll 8}} + 이동수업용 교실로 향하는 구름다리에서 아래를 내려다보면, 낯익은 인물이 있다. + {{/rollTotal() scene_roll 8}} + {{#rollTotal() scene_roll 9}} + 점심 시간. 학생들은 제각각의 장소에서 점심 식사를 하고 있다. 자 그럼, 난 어디서 먹지? + {{/rollTotal() scene_roll 9}} + {{#rollTotal() scene_roll 10}} + 선생님에게서 심부름을 부탁받아 떠맡고 말았다. 얼른 해치워버리자. + {{/rollTotal() scene_roll 10}} + {{#rollTotal() scene_roll 11}} + 슬슬 학교의 문이 닫힐 시간이다. 불이 들어와 있는 교실은 이제 거의 없다. + {{/rollTotal() scene_roll 11}} + {{#rollTotal() scene_roll 12}} + 스피커에서 교내방송이 들려온다. 누군가를 부르고 있는 것 같은데......? + {{/rollTotal() scene_roll 12}} + {{/rollTotal() scene_type 2}} + + {{#rollTotal() scene_type 3}} + + {{#rollTotal() scene_roll 2}} + 들어간 적 없는 곳에 처음으로 발을 내딛었다. 조금 긴장되네. + {{/rollTotal() scene_roll 2}} + {{#rollTotal() scene_roll 3}} + 아르바이트를 하는 곳. 함께 일하는 동료가 의외의 사실을 알려주었다. + {{/rollTotal() scene_roll 3}} + {{#rollTotal() scene_roll 4}} + 대화하는 것조차 어려울 정도로 큰 소리의 음악. 그 곳에 있는 것만으로도 기분이 고양된다. + {{/rollTotal() scene_roll 4}} + {{#rollTotal() scene_roll 5}} + 횡단보도에서 신호를 기다리고 있다보니 낯익은 인물의 모습을 발견했다. + {{/rollTotal() scene_roll 5}} + {{#rollTotal() scene_roll 6}} + 갑작스럽게 내리는 비에 당황해서 발걸음을 빨리 하는 사람들. 나도 빨리 돌아가야 하는데. + {{/rollTotal() scene_roll 6}} + {{#rollTotal() scene_roll 7}} + 무심코 들른 가게 안에서 아는 사람과 딱 마주쳤다. 이런 곳에서 뭘 하는 거야? + {{/rollTotal() scene_roll 7}} + {{#rollTotal() scene_roll 8}} + 연습을 끝내고 들른 음식점에서 의외의 인물을 발견. 잠시 그 모습을 지켜보자. + {{/rollTotal() scene_roll 8}} + {{#rollTotal() scene_roll 9}} + 여기저기서 어린 아이들의 신이 난 소목소리가 들려온다. 나도 저런 때가 있었을까? + {{/rollTotal() scene_roll 9}} + {{#rollTotal() scene_roll 10}} + 아무 소리도 없는 정적의 세계. 가끔은 소리를 멀리 하는 것도 좋겠지. + {{/rollTotal() scene_roll 10}} + {{#rollTotal() scene_roll 11}} + 전차 안. 손잡이를 붙잡은 채 흔들리고 있다보니, 승객 중에서 낯익은 사람을 발견했다. + {{/rollTotal() scene_roll 11}} + {{#rollTotal() scene_roll 12}} + 가라오케의 복도를 걷고 있다보면 어디선가 들어본 적 있는 목소리가......? + {{/rollTotal() scene_roll 12}} + {{/rollTotal() scene_type 3}} + + {{#rollTotal() scene_type 4}} + + {{#rollTotal() scene_roll 2}} + 음악 전문 인터넷 뉴스 사이트를 체크. 크고 작은 기사가 투고되어 있다. + {{/rollTotal() scene_roll 2}} + {{#rollTotal() scene_roll 3}} + 의외의 장소에서 연습하고 있는 인물을 발견. 살짝 말을 걸어볼까. + {{/rollTotal() scene_roll 3}} + {{#rollTotal() scene_roll 4}} + 사소한 벽에 부딪쳤다. 누군가한테 상담하는 게 좋을지도...... + {{/rollTotal() scene_roll 4}} + {{#rollTotal() scene_roll 5}} + 라이브를 보기 위해 라이브 하우스에 찾아왔다. 어떤 스테이지가 되려나. + {{/rollTotal() scene_roll 5}} + {{#rollTotal() scene_roll 6}} + 멤버들과 만나기로 한 라이브하우스. 도착해 있는 건 우리들만이 아닌 것 같다. + {{/rollTotal() scene_roll 6}} + {{#rollTotal() scene_roll 7}} + 연습이 끝난 후 돌아가는 길. 그녀석도 지금쯤 연습이 끝났으려나. + {{/rollTotal() scene_roll 7}} + {{#rollTotal() scene_roll 8}} + 어디선가 악기 소리가 들려온다. 누가 연주하고 있는 걸까. + {{/rollTotal() scene_roll 8}} + {{#rollTotal() scene_roll 9}} + 열기로 가득한 방에서 나와 스튜디오의 대합실에서 쿨 다운. 소파에 앉아있는 건...... + {{/rollTotal() scene_roll 9}} + {{#rollTotal() scene_roll 10}} + 악기점에 방문했다가 낯익은 인물을 발견. 뭘 하러 온 걸까. + {{/rollTotal() scene_roll 10}} + {{#rollTotal() scene_roll 11}} + 최신 히트곡이 흐르고 있는 CD가게 안. 다음 곡은 어떤 걸로 할까...... + {{/rollTotal() scene_roll 11}} + {{#rollTotal() scene_roll 12}} + 무심코 울린 소리에서 즉흥 세션으로 발전. 가볍게 실력을 보여줄까. + {{/rollTotal() scene_roll 12}} + {{/rollTotal() scene_type 4}} +
    + {{/scene_roll}} + + {{#scene_roll1}} +
    + {{#rollTotal() scene_roll1 1}} + {{#rollTotal() scene_roll2 1}} + 절망 절차를 역으로 크게 하거나 혹은, 장면 플레이어를 파멸로 몰아넣는 상황에 빠져듭니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 붕괴 절차에 의해 장면 플레이어의 소중한 것이 붕괴되거나 혹은, 붕괴 직전에 몰립니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 단절 장면 플레이어는 절차에 의해 무언가와 절연 상태가 됩니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 공포 절차에 공포를 느낄만한 일과 조우합니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 오해 장면 플레이어가 절차에 관련된 어떤 오해를 받습니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 시련 장면 플레이어는 절차에 관련된 시련에 직면합니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 1}} + + {{#rollTotal() scene_roll1 2}} + {{#rollTotal() scene_roll2 1}} + 붕괴 절차에 의해 장면 플레이어의 소중한 것이 붕괴되거나 혹은, 붕괴 직전에 몰립니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 악의 장면 플레이어의 마음에 순간적으로 나쁜 마음이 깃들어, 절차를 불합리하게 해결하려 합니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 속박 절차에 관련된 무언가에 속박되어, 자유로운 행동이 불가능해집니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 흉조 절차에 대해 나쁜 일이 일어날 것만 같은 조짐이 찾아옵니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 가속 장면 플레이어는 절차의 해결에 쫓깁니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 일상 장면 플레이어는 한가로운 일상을 보냅니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 2}} + + {{#rollTotal() scene_roll1 3}} + {{#rollTotal() scene_roll2 1}} + 단절 장면 플레이어는 절차에 의해 무언가와 절연 상태가 됩니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 속박 절차에 관련된 무언가에 속박되어, 자유로운 행동이 불가능해집니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 휴식 절차를 잊어버릴만큼 평온한 한 때를 보냅니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 길조 절차에 대해 좋은 일이 일어날 것 같은 조짐이 찾아옵니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 발견 장면 플레이어는 절차에 대한 무언가를 발견합니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 희망 장면 플레이어의 마음 속에 절차에 대해 긍정적으로 맞설 의사가 생겨납니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 3}} + + {{#rollTotal() scene_roll1 4}} + {{#rollTotal() scene_roll2 1}} + 공포 절차에 공포를 느낄만한 일과 조우합니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 흉조 절차에 대해 나쁜 일이 일어날 것만 같은 조짐이 찾아옵니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 길조 절차에 대해 좋은 일이 일어날 것 같은 조짐이 찾아옵니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 성장 절차를 통해 장면 플레이어가 성장합니다. 【컨디션】 +2점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 애정 절차를 통해 장면 플레이어가 애정에 닿게 됩니다. 【컨디션】 +2점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 낭보 절차에 대한 좋은 소식이 날아들어옵니다. 【컨디션】 +2점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 4}} + + {{#rollTotal() scene_roll1 5}} + {{#rollTotal() scene_roll2 1}} + 오해 장면 플레이어가 절차에 관련된 어떤 오해를 받습니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 가속 장면 플레이어는 절차의 해결에 쫓깁니다. 【디스코드】 +1점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 발견 장면 플레이어는 절차에 대한 무언가를 발견합니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 애정 절차를 통해 장면 플레이어가 애정에 닿게 됩니다. 【컨디션】 +2점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 호전 절차가 좋은 방향으로 향할 것 같은 사건이 일어납니다. 【컨디션】 +3점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 직감 절차를 해결할 수 있는 결정적인 번뜩임을 얻습니다. 【컨디션】 +3점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 5}} + + {{#rollTotal() scene_roll1 6}} + {{#rollTotal() scene_roll2 1}} + 시련 장면 플레이어는 절차에 관련된 시련에 직면합니다. 【디스코드】 +2점 + {{/rollTotal() scene_roll2 1}} + {{#rollTotal() scene_roll2 2}} + 일상 장면 플레이어는 한가로운 일상을 보냅니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 2}} + {{#rollTotal() scene_roll2 3}} + 희망 장면 플레이어의 마음 속에 절차에 대해 긍정적으로 맞설 의사가 생겨납니다. 【컨디션】 +1점 + {{/rollTotal() scene_roll2 3}} + {{#rollTotal() scene_roll2 4}} + 낭보 절차에 대한 좋은 소식이 날아들어옵니다. 【컨디션】 +2점 + {{/rollTotal() scene_roll2 4}} + {{#rollTotal() scene_roll2 5}} + 직감 절차를 해결할 수 있는 결정적인 번뜩임을 얻습니다. 【컨디션】 +3점 + {{/rollTotal() scene_roll2 5}} + {{#rollTotal() scene_roll2 6}} + 기적 절차에 관한 기적적인 행운이 찾아옵니다. 【컨디션】 +3점 + {{/rollTotal() scene_roll2 6}} + {{/rollTotal() scene_roll1 6}} +
    + {{/scene_roll1}} + + {{#position_roll}} +
    + {{#rollTotal() position 1}} + {{#rollTotal() position_roll 1}}가사를 잊어버렸다! 어떤 말도 나오지 않아……{{/rollTotal() position_roll 1}} + {{#rollTotal() position_roll 2}}마이크 코드에 발이 걸려버렸다!위험해!{{/rollTotal() position_roll 2}} + {{#rollTotal() position_roll 3}}마이크 스탠드가 쓰러져버렸다!{{/rollTotal() position_roll 3}} + {{#rollTotal() position_roll 4}}음정이 어긋나고 있지만、쉽게 고칠 수가 없어!{{/rollTotal() position_roll 4}} + {{#rollTotal() position_roll 5}}리듬이 어긋나고 있는 것 같다……수정할 수 없어!{{/rollTotal() position_roll 5}} + {{#rollTotal() position_roll 6}}목이 갈라질 것 같다.위험해、비축하지 않으면……!{{/rollTotal() position_roll 6}} + {{/rollTotal() position 1}} + + {{#rollTotal() position 2}} + {{#rollTotal() position_roll 1}}손 끝의 감각이 둔해지기 시작했다。안 움직여……!{{/rollTotal() position_roll 1}} + {{#rollTotal() position_roll 2}}실수로 볼륨 슬라이드를 건드렸다!굉음이 나올거야!{{/rollTotal() position_roll 2}} + {{#rollTotal() position_roll 3}}어라?지금 어디 치고 있었지……?{{/rollTotal() position_roll 3}} + {{#rollTotal() position_roll 4}}음이 안 나는 건반이 있어……고장!?{{/rollTotal() position_roll 4}} + {{#rollTotal() position_roll 5}}음색 잘못 골랐다!원래 음색 몇 번에 저장해뒀었지……!?{{/rollTotal() position_roll 5}} + {{#rollTotal() position_roll 6}}건반 한 개를 잘못 짚었어……!불협화음이다!{{/rollTotal() position_roll 6}} + {{/rollTotal() position 2}} + + {{#rollTotal() position 3}} + {{#rollTotal() position_roll 1}}위험해、코드를 틀렸다!어떻게든 무마시키자……{{/rollTotal() position_roll 1}} + {{#rollTotal() position_roll 2}} 겍、실드(신호를 전달하는 코드)가 빠져버렸다!소리가 안 나와!{{/rollTotal() position_roll 2}} + {{#rollTotal() position_roll 3}}기타 소리에 노이즈가 낀 것 같은데……고쳐져라……!{{/rollTotal() position_roll 3}} + {{#rollTotal() position_roll 4}}어라?지금 곡의 어느 부분이더라……?{{/rollTotal() position_roll 4}} + {{#rollTotal() position_roll 5}}현이 끊겨버렸다!무슨 불길한…….{{/rollTotal() position_roll 5}} + {{#rollTotal() position_roll 6}}피크가 날아가버렸다!손가락으로 칠 수밖에 없어……!{{/rollTotal() position_roll 6}} + {{/rollTotal() position 3}} + + {{#rollTotal() position 4}} + {{#rollTotal() position_roll 1}}위험해、코드를 틀렸다!안 틀린 척 넘어가자……{{/rollTotal() position_roll 1}} + {{#rollTotal() position_roll 2}}겍、실드(신호를 전달하는 코드)가 뽑혔다!소리가 안 나!{{/rollTotal() position_roll 2}} + {{#rollTotal() position_roll 3}}베이스 소리에 노이즈가 섞인 것 같은데……고쳐져라……!{{/rollTotal() position_roll 3}} + {{#rollTotal() position_roll 4}}어라?지금 어디 치고 있었더라……?{{/rollTotal() position_roll 4}} + {{#rollTotal() position_roll 5}}손 끝의 감각이 둔해지기 시작했다.안 움직여……!{{/rollTotal() position_roll 5}} + {{#rollTotal() position_roll 6}}템포가 좀 빨라졌지만、멈출 수 없어!{{/rollTotal() position_roll 6}} + {{/rollTotal() position 4}} + + {{#rollTotal() position 5}} + {{#rollTotal() position_roll 1}}팔이 꼬이기 시작했다!다시 제대로 자릴 잡지 않으면……!{{/rollTotal() position_roll 1}} + {{#rollTotal() position_roll 2}}어라?지금 어디 치고 있었더라……?{{/rollTotal() position_roll 2}} + {{#rollTotal() position_roll 3}}하이햇이 열리지 않아!나사가 풀려있는 건가……!?{{/rollTotal() position_roll 3}} + {{#rollTotal() position_roll 4}}애드립을 넣었는데、다음 프레이즈가 기억나지 않는다……!{{/rollTotal() position_roll 4}} + {{#rollTotal() position_roll 5}}템포가 점점 빨라지고 있지만、멈출 수 없어!{{/rollTotal() position_roll 5}} + {{#rollTotal() position_roll 6}}스틱이 날아갔다!여분을 어디다 뒀더라…….{{/rollTotal() position_roll 6}} + {{/rollTotal() position 5}} +
    + {{/position_roll}} + + {{#emotion_roll}} +
    + {{#rollTotal() emotion_roll 1}} + 공감불신 + {{/rollTotal() emotion_roll 1}} + {{#rollTotal() emotion_roll 2}} + 우정질투 + {{/rollTotal() emotion_roll 2}} + {{#rollTotal() emotion_roll 3}} + 호적수짜증 + {{/rollTotal() emotion_roll 3}} + {{#rollTotal() emotion_roll 4}} + 불가결경원 + {{/rollTotal() emotion_roll 4}} + {{#rollTotal() emotion_roll 5}} + 존경열등감 + {{/rollTotal() emotion_roll 5}} + {{#rollTotal() emotion_roll 6}} + 애정부담감 + {{/rollTotal() emotion_roll 6}} +
    + {{/emotion_roll}} +
    +
    + + +
    +
    + {{name}} +
    +
    + {{#roll}} + {{roll}} + {{#rollTotal() roll 2}} +
    FUMBLE!
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 12}} +
    SPECIAL!
    + {{/rollTotal() roll 12}} + {{/roll}} +
    + {{#spec}} +
    + {{spec}} 목표치 : {{target}} +
    + {{/spec}} +
    +
    + + +
    +
    + {{name}} +
    + {{#subject}} +
    + {{subject}} +
    + {{/subject}} + {{#roll}} +
    + {{roll}} + {{#mod}}{{#rollGreater() mod 0}}+{{mod}}{{/rollGreater() mod 0}}{{/mod}} + {{#cond}}{{#rollGreater() cond 0}}+{{cond}}{{/rollGreater() cond 0}}{{/cond}} + + {{#rollTotal() roll 2}} +
    FUMBLE!
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 12}} +
    SPECIAL!
    + {{/rollTotal() roll 12}} +
    + {{/roll}} + {{#AssignedSkill}} +
    + {{AssignedSkill}} {{#target}}목표치 : {{target}}{{/target}} +
    + {{/AssignedSkill}} + {{#Effect}} +
    + {{#Types}}{{Types}}{{/Types}} {{Effect}} +
    + {{/Effect}} + {{#damage}}
    Dice : {{damage}} {{#etctype}}{{#rollTotal() etctype 1}}{{#cond}}{{#rollGreater() cond 0}}+{{cond}}{{/rollGreater() cond 0}}{{/cond}}{{/rollTotal() etctype 1}}{{/etctype}}
    {{/damage}} +
    +
    + + +
    +
    + {{name}} +
    + {{#roll}} +
    + {{roll}} + {{#cond}}{{#rollGreater() cond 0}}+{{cond}}{{/rollGreater() cond 0}}{{/cond}} + + {{#rollTotal() roll 2}} +
    FUMBLE!
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 12}} +
    SPECIAL!
    + {{/rollTotal() roll 12}} +
    + {{/roll}} + {{#Phrase}} +
    +
    +

    {{Phrase}}

    +
    +
    + {{/Phrase}} + {{#AssignedSkill}} +
    + {{AssignedSkill}} {{#target}}목표치 : {{target}}{{/target}} +
    + {{/AssignedSkill}} + {{#Effect}} +
    +

    {{#Types}}{{Types}}{{/Types}} {{Effect}}

    +
    + {{/Effect}} + + {{#etctype}} + {{#rollTotal() etctype 1}} +
    {{damage}}
    + {{/rollTotal() etctype 1}} + {{#rollTotal() etctype 2}} +
    {{heal}}
    + {{/rollTotal() etctype 2}} + {{/etctype}} +
    +
    + + +
    +
    + {{name}} +
    + {{#roll}} +
    + {{roll}} + {{#cond}}{{#rollGreater() cond 0}}+{{cond}}{{/rollGreater() cond 0}}{{/cond}} + + {{#rollTotal() roll 2}} +
    FUMBLE!
    + {{/rollTotal() roll 2}} + {{#rollTotal() roll 12}} +
    SPECIAL!
    + {{/rollTotal() roll 12}} +
    + {{/roll}} + {{#Phrase}} +
    +
    +

    {{Phrase}}

    +
    +
    + {{/Phrase}} + {{#AssignedSkill}} +
    + {{AssignedSkill}} {{#target}}목표치 : {{target}}{{/target}} +
    + {{/AssignedSkill}} + + {{#rollTotal() position 1}} + +
    + 天唱 Strato Shout (천창) + 대상에게 프레이즈 공격과 똑같이 대미지를 입힌다. 이 대미지는 현재 무력화하고 있는 얽매임 1개마다 2D6점 상승한다. +
    +
    {{damage}}
    + {{/rollTotal() position 1}} + + {{#rollTotal() position 2}} + +
    + 軽階 Scale Dance (경계) + 대상에게 프레이즈 공격과 같은 대미지를 주며, 이 판정에 소비한 【컨디션】의 절반(소수점 올림)을 자신 이외의 PC전원에게 전달한다. +
    +
    {{damage}}
    + {{/rollTotal() position 2}} + + {{#rollTotal() position 3}} + +
    + 弦語 Chord Talker (현어) + 통상 공격의 대미지를 산출한다. 【지배력】이 이 대미지 이하인 얽매임을 {{round}}개를 골라 전부 무력화한다. +
    +
    {{damage}}
    + {{/rollTotal() position 3}} + + {{#rollTotal() position 4}} + +
    + 隙殺 Moment Killer (극살) + 대상에게 [【악기위력】+【역량】+이 판정에 소비한 【컨디션】 D6]점의 데미지를 전달한다. +
    +
    {{damage}}
    + {{/rollTotal() position 4}} + + {{#rollTotal() position 5}} + +
    + 追鳴 Chase Round (추명) + 이하의 효과가 함께 발생한다.
    + ① 대상에게 프레이즈 공격과 같은 데미지를 준다.
    + ② 이 프레이즈 버스트를 사용한 라운드의 종료 직후, 추가 라운드가 발생한다. 단, 추가 라운드 중 모든 PC는 【컨디션】과 【프레이즈】를 사용할 수 없다. 또한, 이 프레이즈 버스트를 사용한 타이밍이 3라운드 째였을 경우, 얽매임이 전부 무력화 된다. +
    +
    {{damage}}
    + {{/rollTotal() position 5}} +
    +
    + + +
    +
    + {{roll}} +
    +
    +
    \ No newline at end of file diff --git a/Strato Shout/stratoshout.png b/Strato Shout/stratoshout.png new file mode 100644 index 0000000000..6621286973 Binary files /dev/null and b/Strato Shout/stratoshout.png differ diff --git a/Tales from the Loop Official/translations/fr.json b/Tales from the Loop Official/translations/fr.json index 421ae527c1..68edc1fe2c 100644 --- a/Tales from the Loop Official/translations/fr.json +++ b/Tales from the Loop Official/translations/fr.json @@ -14,7 +14,7 @@ "Sneak (Body)": "Furtivité (Phy)", "Force (Body)": "Force (Phy)", "Move (Body)": "Agilité (Phy)", - "Tinker (Tech)": "Bricolage (Phy)", + "Tinker (Tech)": "Bricolage (Tech)", "Program (Tech)": "Programmation (Tech)", "Calculate (Tech)": "Analyse (Tech)", "Contact (Heart)": "Réseau (Coeur)", diff --git a/TerraDevastada/README.md b/TerraDevastada/README.md new file mode 100644 index 0000000000..017bec4ced --- /dev/null +++ b/TerraDevastada/README.md @@ -0,0 +1 @@ +This is an unofficial character sheet for the Terra Devastada RPG game by John Bogéa. \ No newline at end of file diff --git a/TerraDevastada/imgs/circle_checked.png b/TerraDevastada/imgs/circle_checked.png new file mode 100644 index 0000000000..56dc4c3096 Binary files /dev/null and b/TerraDevastada/imgs/circle_checked.png differ diff --git a/TerraDevastada/imgs/circle_filled.png b/TerraDevastada/imgs/circle_filled.png new file mode 100644 index 0000000000..ac3da23316 Binary files /dev/null and b/TerraDevastada/imgs/circle_filled.png differ diff --git a/TerraDevastada/imgs/circleblank.png b/TerraDevastada/imgs/circleblank.png new file mode 100644 index 0000000000..f30d0445b7 Binary files /dev/null and b/TerraDevastada/imgs/circleblank.png differ diff --git a/TerraDevastada/imgs/terradevastada-background.jpg b/TerraDevastada/imgs/terradevastada-background.jpg new file mode 100644 index 0000000000..bff93cba7b Binary files /dev/null and b/TerraDevastada/imgs/terradevastada-background.jpg differ diff --git a/TerraDevastada/imgs/terradevastadalogo.png b/TerraDevastada/imgs/terradevastadalogo.png new file mode 100644 index 0000000000..0730222134 Binary files /dev/null and b/TerraDevastada/imgs/terradevastadalogo.png differ diff --git a/TerraDevastada/sheet.json b/TerraDevastada/sheet.json new file mode 100644 index 0000000000..bfb331735a --- /dev/null +++ b/TerraDevastada/sheet.json @@ -0,0 +1,8 @@ +{ + "html": "terradevastada.html", + "css": "terradevastada.css", + "authors": "Daniel Tschiedel", + "roll20userid": "1408312", + "preview": "terradevastada.png", + "instructions": "This is an unofficial character sheet for the Terra Devastada RPG game by John Bogéa." +} diff --git a/TerraDevastada/terradevastada.css b/TerraDevastada/terradevastada.css new file mode 100644 index 0000000000..55fff4d287 --- /dev/null +++ b/TerraDevastada/terradevastada.css @@ -0,0 +1,249 @@ +/*----------------- MAIN CONTAINER DEFINITIONS ------------------*/ +@import url('https://fonts.googleapis.com/css?family=Special+Elite&display=swap'); + +.sheet-main-container { + min-height: 600px; + min-width: 800px; + max-width: 1000px; + padding: 10px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/terradevastada-background.jpg"); +} + +/*----------------- GENERAL CSS ------------------*/ + +.sheet-main-font { + font-family: 'Special Elite'; + font-size: 17px; + color: #604241; +} + +.sheet-flex-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.sheet-flex-column { + display: flex; + flex-direction: column; + flex-wrap: wrap; +} + +.sheet-nowrap { + flex-wrap: nowrap; +} + +.sheet-main-container input[type=text] { + margin: 2px; + width: 100%; + flex-grow: 1; + border: none; + border-bottom: 1.5px solid #604241; + background-color: transparent; + color: black; +} + +.sheet-main-container input[type=text]:focus, .sheet-main-container textarea:focus { + background-color: white; +} + +.sheet-main-container ::placeholder { + color:#604241; + font-style: italic; +} + +.sheet-main-container input[type=number] { + width: 40px; +} + +.sheet-main-container fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +.sheet-main-container textarea { + margin: 2px; + flex-grow: 1; + min-height: 10em; + border: 1.5px solid #604241; + background-color: transparent; + color: black; +} + +.sheet-section { + margin: 0.7em; +} + +.sheet-section-title { + margin-bottom: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-button-title { + margin-right: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-grow { + flex-grow: 1; +} + +.sheet-center { + justify-content: center; + align-items: center; +} + +.sheet-vertical-divisor { + border-right: 1.5px solid #443a39; +} + +.sheet-big-margin-bottom { + margin-bottom: 20px; +} + +.sheet-repeatable-item { + margin-bottom: 5px; +} + + +/*------------- GRID SECTIONS -------------*/ +.sheet-header { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-areas: ". logo buttons"; +} + +.sheet-logo-area { + grid-area: logo; +} + +.sheet-buttons-area { + grid-area: buttons; + justify-content: flex-end; + align-items: flex-end; +} + +.sheet-logo { + +} + +.sheet-dice-box { + justify-content: flex-end; + align-items: center; + margin-bottom: 10px; +} + +.sheet-middle-section { + justify-content: flex-start; +} + +.sheet-left-column { + justify-content: stretch; + width: 50%; +} + +.sheet-right-column { + width: 50%; +} + +.sheet-bottom-section { + margin: 30px; +} + +.sheet-conviction-bonus { + justify-content: space-evenly; + width:100%; + font-style: italic; + margin-top: 10px; +} + +.sheet-footer { + font-style: italic; + font-size: 12px; + justify-content: flex-end; +} + + +/******* conviction boxes ********/ + +.sheet-conviction-box { + margin: 0px 10px 0px 10px; +} + +.sheet-conviction-box-size1 { + width: 25px !important; + height: 25px !important; +} + +.sheet-conviction-box-size2 { + width: 30px !important; + height: 30px !important; + margin-top: 10px !important; +} + +.sheet-conviction-box-size3 { + width: 35px !important; + height: 35px !important; + margin-top: 15px !important; +} + +.sheet-conviction-box-size4 { + width: 40px !important; + height: 40px !important; + margin-top: 20px !important; +} + +.sheet-conviction-box-size5 { + width: 45px !important; + height: 45px !important; + margin-top: 25px !important; +} + +.sheet-conviction-box-size6 { + width: 50px !important; + height: 50px !important; + margin-top: 30px !important; +} + +.sheet-conviction-radio { + position: absolute; + margin: 0px !important; + z-index: 1; + opacity: 0; +} + +.sheet-circle-box { + display: none; + height: 100%; + width: 100%; +} + +.sheet-blank-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circleblank.png"); + background-size: 100%; +} + +.sheet-checked-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circle_checked.png"); + background-size: 100%; +} + +.sheet-filled-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circle_filled.png"); + background-size: 100%; +} + +input.sheet-blank-radio { z-index: 2; } + +input.sheet-blank-radio:checked + input.sheet-checked-radio, +input.sheet-checked-radio:checked + input.sheet-filled-radio { z-index: 3; } + +input.sheet-blank-radio:checked ~ div.sheet-blank-box, +input.sheet-checked-radio:checked ~ div.sheet-checked-box, +input.sheet-filled-radio:checked ~ div.sheet-filled-box { display: inline-block; } + +/***** end conviction boxes ****/ diff --git a/TerraDevastada/terradevastada.html b/TerraDevastada/terradevastada.html new file mode 100644 index 0000000000..806865a6b2 --- /dev/null +++ b/TerraDevastada/terradevastada.html @@ -0,0 +1,317 @@ +
    + + +
    + +
    + +
    + + +
    + +
    + Dado de Sorte + +
    +
    + Teste de Dados + +
    +
    + +
    + + +
    + +
    +
    + Nome + +
    + +
    +
    + Alcunhas +
    +
    +
    + +
    +
    +
    + +
    +
    + Condições +
    +
    +
    + +
    +
    +
    + +
    +
    + Tormentos +
    +
    +
    + +
    +
    +
    +
    + +
    + + +
    +
    +
    + Características +
    +
    +
    + +
    +
    +
    + + +
    +
    + Anotações +
    +
    + +
    +
    +
    +
    + + +
    +
    + Convicção +
    +
    + +3/-3 + +2/-2 + +1/-1 +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    + + + + +
    + Dado de Sorte + Sucessos + Quantidade de dados +
    + + + \ No newline at end of file diff --git a/TerraDevastada/terradevastada.png b/TerraDevastada/terradevastada.png new file mode 100644 index 0000000000..f4e0b1f5b7 Binary files /dev/null and b/TerraDevastada/terradevastada.png differ diff --git a/TerraDevastada/test/test.css b/TerraDevastada/test/test.css new file mode 100644 index 0000000000..55fff4d287 --- /dev/null +++ b/TerraDevastada/test/test.css @@ -0,0 +1,249 @@ +/*----------------- MAIN CONTAINER DEFINITIONS ------------------*/ +@import url('https://fonts.googleapis.com/css?family=Special+Elite&display=swap'); + +.sheet-main-container { + min-height: 600px; + min-width: 800px; + max-width: 1000px; + padding: 10px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/terradevastada-background.jpg"); +} + +/*----------------- GENERAL CSS ------------------*/ + +.sheet-main-font { + font-family: 'Special Elite'; + font-size: 17px; + color: #604241; +} + +.sheet-flex-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; +} + +.sheet-flex-column { + display: flex; + flex-direction: column; + flex-wrap: wrap; +} + +.sheet-nowrap { + flex-wrap: nowrap; +} + +.sheet-main-container input[type=text] { + margin: 2px; + width: 100%; + flex-grow: 1; + border: none; + border-bottom: 1.5px solid #604241; + background-color: transparent; + color: black; +} + +.sheet-main-container input[type=text]:focus, .sheet-main-container textarea:focus { + background-color: white; +} + +.sheet-main-container ::placeholder { + color:#604241; + font-style: italic; +} + +.sheet-main-container input[type=number] { + width: 40px; +} + +.sheet-main-container fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +.sheet-main-container textarea { + margin: 2px; + flex-grow: 1; + min-height: 10em; + border: 1.5px solid #604241; + background-color: transparent; + color: black; +} + +.sheet-section { + margin: 0.7em; +} + +.sheet-section-title { + margin-bottom: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-button-title { + margin-right: 10px; + text-transform: uppercase; + font-weight: 1000; +} + +.sheet-grow { + flex-grow: 1; +} + +.sheet-center { + justify-content: center; + align-items: center; +} + +.sheet-vertical-divisor { + border-right: 1.5px solid #443a39; +} + +.sheet-big-margin-bottom { + margin-bottom: 20px; +} + +.sheet-repeatable-item { + margin-bottom: 5px; +} + + +/*------------- GRID SECTIONS -------------*/ +.sheet-header { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-areas: ". logo buttons"; +} + +.sheet-logo-area { + grid-area: logo; +} + +.sheet-buttons-area { + grid-area: buttons; + justify-content: flex-end; + align-items: flex-end; +} + +.sheet-logo { + +} + +.sheet-dice-box { + justify-content: flex-end; + align-items: center; + margin-bottom: 10px; +} + +.sheet-middle-section { + justify-content: flex-start; +} + +.sheet-left-column { + justify-content: stretch; + width: 50%; +} + +.sheet-right-column { + width: 50%; +} + +.sheet-bottom-section { + margin: 30px; +} + +.sheet-conviction-bonus { + justify-content: space-evenly; + width:100%; + font-style: italic; + margin-top: 10px; +} + +.sheet-footer { + font-style: italic; + font-size: 12px; + justify-content: flex-end; +} + + +/******* conviction boxes ********/ + +.sheet-conviction-box { + margin: 0px 10px 0px 10px; +} + +.sheet-conviction-box-size1 { + width: 25px !important; + height: 25px !important; +} + +.sheet-conviction-box-size2 { + width: 30px !important; + height: 30px !important; + margin-top: 10px !important; +} + +.sheet-conviction-box-size3 { + width: 35px !important; + height: 35px !important; + margin-top: 15px !important; +} + +.sheet-conviction-box-size4 { + width: 40px !important; + height: 40px !important; + margin-top: 20px !important; +} + +.sheet-conviction-box-size5 { + width: 45px !important; + height: 45px !important; + margin-top: 25px !important; +} + +.sheet-conviction-box-size6 { + width: 50px !important; + height: 50px !important; + margin-top: 30px !important; +} + +.sheet-conviction-radio { + position: absolute; + margin: 0px !important; + z-index: 1; + opacity: 0; +} + +.sheet-circle-box { + display: none; + height: 100%; + width: 100%; +} + +.sheet-blank-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circleblank.png"); + background-size: 100%; +} + +.sheet-checked-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circle_checked.png"); + background-size: 100%; +} + +.sheet-filled-box { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/TerraDevastada/imgs/circle_filled.png"); + background-size: 100%; +} + +input.sheet-blank-radio { z-index: 2; } + +input.sheet-blank-radio:checked + input.sheet-checked-radio, +input.sheet-checked-radio:checked + input.sheet-filled-radio { z-index: 3; } + +input.sheet-blank-radio:checked ~ div.sheet-blank-box, +input.sheet-checked-radio:checked ~ div.sheet-checked-box, +input.sheet-filled-radio:checked ~ div.sheet-filled-box { display: inline-block; } + +/***** end conviction boxes ****/ diff --git a/TerraDevastada/test/test.html b/TerraDevastada/test/test.html new file mode 100644 index 0000000000..a28a24c92d --- /dev/null +++ b/TerraDevastada/test/test.html @@ -0,0 +1,334 @@ + + + + + + + + My New Pen! + + + + + + +
    + + +
    + +
    + +
    + + +
    + +
    + Dado de Sorte + +
    +
    + Teste de Dados + +
    +
    + +
    + + +
    + +
    +
    + Nome + +
    + +
    +
    + Alcunhas +
    +
    +
    + +
    +
    +
    + +
    +
    + Condições +
    +
    +
    + +
    +
    +
    + +
    +
    + Tormentos +
    +
    +
    + +
    +
    +
    +
    + +
    + + +
    +
    +
    + Características +
    +
    +
    + +
    +
    +
    + + +
    +
    + Anotações +
    +
    + +
    +
    +
    +
    + + +
    +
    + Convicção +
    +
    + +3/-3 + +2/-2 + +1/-1 +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + +
    + + + + +
    + Dado de Sorte + Sucessos + Quantidade de dados +
    + + + + + + \ No newline at end of file diff --git a/TerraDevastada/translation.json b/TerraDevastada/translation.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translation.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/af.json b/TerraDevastada/translations/af.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/af.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/cs.json b/TerraDevastada/translations/cs.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/cs.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/da.json b/TerraDevastada/translations/da.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/da.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/de.json b/TerraDevastada/translations/de.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/de.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/el.json b/TerraDevastada/translations/el.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/el.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/en.json b/TerraDevastada/translations/en.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/en.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/es.json b/TerraDevastada/translations/es.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/es.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/fr.json b/TerraDevastada/translations/fr.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/fr.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/he.json b/TerraDevastada/translations/he.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/he.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/it.json b/TerraDevastada/translations/it.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/it.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/ja.json b/TerraDevastada/translations/ja.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/ja.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/ko.json b/TerraDevastada/translations/ko.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/ko.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/nl.json b/TerraDevastada/translations/nl.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/nl.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/pl.json b/TerraDevastada/translations/pl.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/pl.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/pt.json b/TerraDevastada/translations/pt.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/pt.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/ru.json b/TerraDevastada/translations/ru.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/ru.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/sv.json b/TerraDevastada/translations/sv.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/sv.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/tr.json b/TerraDevastada/translations/tr.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/tr.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/zh.json b/TerraDevastada/translations/zh.json new file mode 100644 index 0000000000..fb559b4993 --- /dev/null +++ b/TerraDevastada/translations/zh.json @@ -0,0 +1,19 @@ +{ + "name": "Nome", + "nicknames": "Alcunhas", + "nickname": "Alcunha", + "conditions": "Condições", + "condition": "Condição", + "torments": "Tormentos", + "torment": "Tormento", + "traits": "Características", + "trait": "Característica", + "conviction": "Convicção", + "notes": "Anotações", + "luckdie": "Dado de Sorte", + "successes": "Sucessos", + "numberofdice": "Quantidade de dados", + "dice-check": "Teste de Dados", + "conviction-explanation": "Clique para alternar entre os três estados: não marcada, marcada e obstruída", + "copyright": "Terra Devastada é um jogo criado por John Bogéa e publicado pela RETROPUNK Publicações." +} diff --git a/TerraDevastada/translations/zu.json b/TerraDevastada/translations/zu.json new file mode 100644 index 0000000000..ed5f04ac99 --- /dev/null +++ b/TerraDevastada/translations/zu.json @@ -0,0 +1,19 @@ +{ + "name": "crwdns398290:0crwdne398290:0", + "nicknames": "crwdns398292:0crwdne398292:0", + "nickname": "crwdns398294:0crwdne398294:0", + "conditions": "crwdns398296:0crwdne398296:0", + "condition": "crwdns398298:0crwdne398298:0", + "torments": "crwdns398300:0crwdne398300:0", + "torment": "crwdns398302:0crwdne398302:0", + "traits": "crwdns398304:0crwdne398304:0", + "trait": "crwdns398306:0crwdne398306:0", + "conviction": "crwdns398308:0crwdne398308:0", + "notes": "crwdns398310:0crwdne398310:0", + "luckdie": "crwdns398312:0crwdne398312:0", + "successes": "crwdns398314:0crwdne398314:0", + "numberofdice": "crwdns398316:0crwdne398316:0", + "dice-check": "crwdns398318:0crwdne398318:0", + "conviction-explanation": "crwdns398320:0crwdne398320:0", + "copyright": "crwdns398322:0crwdne398322:0" +} diff --git a/Torchbearer 2E/torchbearer.css b/Torchbearer 2E/torchbearer.css index 57ed3a3dbe..0470c40a62 100644 --- a/Torchbearer 2E/torchbearer.css +++ b/Torchbearer 2E/torchbearer.css @@ -1,1084 +1,1198 @@ /* Fonts */ -@import url('https://fonts.googleapis.com/css?family=Architects+Daughter|Inknut+Antiqua|Inknut+Antiqua:700&display=swap'); +@import url("https://fonts.googleapis.com/css?family=Architects+Daughter|Inknut+Antiqua|Inknut+Antiqua:700&display=swap"); /* General Styling */ .sheet-bold { - font-weight: bold; + font-weight: bold; } .sheet-italic { - font-style: italic; + font-style: italic; } .sheet-center { - text-align: center; + text-align: center; } .sheet-hidden { - display: none; + display: none; } .sheet-font-smallest { - font-size: 0.75em + font-size: 0.75em; } .sheet-font-smaller { - font-size: 0.8em + font-size: 0.8em; } .sheet-font-small { - font-size: 0.9em + font-size: 0.9em; } .sheet-font-big { - font-size: 1.1em + font-size: 1.1em; } .sheet-font-bigger { - font-size: 1.2em + font-size: 1.2em; } .sheet-font-biggest { - font-size: 1.4em + font-size: 1.4em; } span { - font-family: 'Inknut Antiqua'; - letter-spacing: -1px; + font-family: "Inknut Antiqua"; + letter-spacing: -1px; } .sheet-column-2 { - width: calc(49% - 5px); - display: inline-block; - vertical-align: top; - padding-right: 5px; + width: calc(49% - 5px); + display: inline-block; + vertical-align: top; + padding-right: 5px; } .sheet-column-3 { - width: calc(32% - 5px); - display: inline-block; - vertical-align: top; - padding-right: 5px; + width: calc(32% - 5px); + display: inline-block; + vertical-align: top; + padding-right: 5px; } .sheet-compact { - display: block; - line-height: 1.2; + display: block; + line-height: 1.2; } .sheet-left { - float: left; + float: left; } .sheet-right { - float: right; + float: right; } .sheet-faint { - color: rgba(150, 150, 150, 0.8); + color: rgba(150, 150, 150, 0.8); } .sheet-footer { - bottom: 0; - left: 0; - position: absolute; - text-align: center; - width: 100%; + bottom: 0; + left: 0; + position: absolute; + text-align: center; + width: 100%; } .sheet-danger { - color: red; + color: red; } .sheet-relative { - position: relative; + position: relative; } /* Tab Styling */ -input[type=radio].sheet-tab { - opacity: 0; - position: absolute; - z-index: 2; - height: 20px; +input[type="radio"].sheet-tab { + opacity: 0; + position: absolute; + z-index: 2; + height: 20px; } -input[type=radio].sheet-tab + span { - position: absolute; - border: 2px solid rgba(165, 165, 165, 0.8); - border-radius: 5px 5px 0px 0px; - background-color: #E8E8E8; - color: rgb(64, 64, 64); - text-align: center; - font-weight: bold; +input[type="radio"].sheet-tab + span { + position: absolute; + border: 2px solid rgba(165, 165, 165, 0.8); + border-radius: 5px 5px 0px 0px; + background-color: #e8e8e8; + color: rgb(64, 64, 64); + text-align: center; + font-weight: bold; } -input[type=radio].sheet-tab:checked + span { - color: #FFFFFF; - background-color: #3155a4; +input[type="radio"].sheet-tab:checked + span { + color: #ffffff; + background-color: #3155a4; } -input[type=radio].sheet-tab.sheet-page1:checked ~ .sheet-page1, -input[type=radio].sheet-tab.sheet-page2:checked ~ .sheet-page2, -input[type=radio].sheet-tab.sheet-page3:checked ~ .sheet-page3, -input[type=radio].sheet-tab.sheet-page4:checked ~ .sheet-page4, -input[type=radio].sheet-tab.sheet-page5:checked ~ .sheet-page5, -input[type=radio].sheet-tab.sheet-page6:checked ~ .sheet-page6 -{ - display: block; +input[type="radio"].sheet-tab.sheet-page1:checked ~ .sheet-page1, +input[type="radio"].sheet-tab.sheet-page2:checked ~ .sheet-page2, +input[type="radio"].sheet-tab.sheet-page3:checked ~ .sheet-page3, +input[type="radio"].sheet-tab.sheet-page4:checked ~ .sheet-page4, +input[type="radio"].sheet-tab.sheet-page5:checked ~ .sheet-page5, +input[type="radio"].sheet-tab.sheet-page6:checked ~ .sheet-page6 { + display: block; } -input[type=radio].sheet-tab.sheet-page1, -input[type=radio].sheet-tab.sheet-page1 + span { - top: -20px; - left: 0px; - width: 95px; +input[type="radio"].sheet-tab.sheet-page1, +input[type="radio"].sheet-tab.sheet-page1 + span { + top: -20px; + left: 0px; + width: 95px; } -input[type=radio].sheet-tab.sheet-page2, -input[type=radio].sheet-tab.sheet-page2 + span { - top: -20px; - left: 99px; - width: 50px; +input[type="radio"].sheet-tab.sheet-page2, +input[type="radio"].sheet-tab.sheet-page2 + span { + top: -20px; + left: 99px; + width: 50px; } -input[type=radio].sheet-tab.sheet-page3, -input[type=radio].sheet-tab.sheet-page3 + span { - top: -20px; - left: 153px; - width: 60px; +input[type="radio"].sheet-tab.sheet-page3, +input[type="radio"].sheet-tab.sheet-page3 + span { + top: -20px; + left: 153px; + width: 60px; } -input[type=radio].sheet-tab.sheet-page4, -input[type=radio].sheet-tab.sheet-page4 + span { - top: -20px; - left: 217px; - width: 90px; +input[type="radio"].sheet-tab.sheet-page4, +input[type="radio"].sheet-tab.sheet-page4 + span { + top: -20px; + left: 217px; + width: 90px; } -input[type=radio].sheet-tab.sheet-page5, -input[type=radio].sheet-tab.sheet-page5 + span { - top: -20px; - left: 311px; - width: 50px; +input[type="radio"].sheet-tab.sheet-page5, +input[type="radio"].sheet-tab.sheet-page5 + span { + top: -20px; + left: 311px; + width: 50px; } -input[type=radio].sheet-tab.sheet-page6, -input[type=radio].sheet-tab.sheet-page6 + span { - top: -20px; - left: 365px; - width: 65px; +input[type="radio"].sheet-tab.sheet-page6, +input[type="radio"].sheet-tab.sheet-page6 + span { + top: -20px; + left: 365px; + width: 65px; } -input[type=radio].sheet-tab.sheet-editing, -input[type=radio].sheet-tab.sheet-editing + span { - top: -20px; - right: 79px; - width: 75px; +input[type="radio"].sheet-tab.sheet-editing, +input[type="radio"].sheet-tab.sheet-editing + span { + top: -20px; + right: 79px; + width: 75px; } -input[type=radio].sheet-tab.sheet-playing, -input[type=radio].sheet-tab.sheet-playing + span { - top: -20px; - right: 0px; - width: 75px; +input[type="radio"].sheet-tab.sheet-playing, +input[type="radio"].sheet-tab.sheet-playing + span { + top: -20px; + right: 0px; + width: 75px; } .sheet-tabcontainer { - width: 1075px; + width: 1075px; } /* Edit/Play Mode Styles */ -input[type=radio].sheet-playing:checked ~ .sheet-edit, -input[type=radio].sheet-editing:checked ~ .sheet-play, -input[type=radio].sheet-playing:checked ~ .sheet-tabcontainer .sheet-edit, -input[type=radio].sheet-editing:checked ~ .sheet-tabcontainer .sheet-play { - display: none; +input[type="radio"].sheet-playing:checked ~ .sheet-edit, +input[type="radio"].sheet-editing:checked ~ .sheet-play, +input[type="radio"].sheet-playing:checked ~ .sheet-tabcontainer .sheet-edit, +input[type="radio"].sheet-editing:checked ~ .sheet-tabcontainer .sheet-play { + display: none; } .sheet-edit, .sheet-edit > select { - background-color: rgb(255, 255, 0, 0.2); + background-color: rgb(255, 255, 0, 0.2); } .sheet-name .sheet-edit { - width: 102px; + width: 102px; } .sheet-stock .sheet-edit { - width: 103px; + width: 103px; } .sheet-class .sheet-edit { - width: 107px; + width: 107px; } .sheet-home .sheet-edit { - width: 101px; + width: 101px; } .sheet-raiment .sheet-edit { - width: 333px; + width: 333px; } .sheet-parents .sheet-edit { - width: 90px; + width: 90px; } .sheet-mentor .sheet-edit { - width: 91px; + width: 91px; } .sheet-friend .sheet-edit { - width: 98px; + width: 98px; } .sheet-enemy .sheet-edit { - width: 95px; + width: 95px; } /* Button Styling */ -button[type=roll] -{ - background-color: transparent; - color: rgb(64, 64, 64); - border: none; - font-size: 1em !important; - text-align: left; - background-image: none; - text-shadow: none; - box-shadow: none; - padding: 0px; - margin: 0px; - width: 100%; - overflow: hidden; +button[type="roll"] { + background-color: transparent; + color: rgb(64, 64, 64); + border: none; + font-size: 1em !important; + text-align: left; + background-image: none; + text-shadow: none; + box-shadow: none; + padding: 0px; + margin: 0px; + width: 100%; + overflow: hidden; } -button[type=roll]::before -{ - content: "" !important; +button[type="roll"]::before { + content: "" !important; } -button[type=roll]:hover, -input[type="checkbox"].sheet-complex_roll:hover + span.sheet-complex_roll -{ - color: #3155a4; +button[type="roll"]:hover, +input[type="checkbox"].sheet-complex_roll:hover + span.sheet-complex_roll { + color: #3155a4; } -.sheet-complex_roll{ - position: absolute; - right: 0; - top: 0; - width: 100%; - height: 100%; +.sheet-complex_roll { + position: absolute; + right: 0; + top: 0; + width: 100%; + height: 100%; } input[type="checkbox"].sheet-complex_roll { - opacity: 0.0; - cursor: pointer; - z-index: 10; - height: 100%; + opacity: 0; + cursor: pointer; + z-index: 10; + height: 100%; } /* Header Styling */ .sheet-header { - color: #3155a4; - font-family: 'Inknut Antiqua'; - font-size: 1.6em; - font-weight: 700; - font-variant: small-caps; - letter-spacing: -2px; - text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0; - background-image: linear-gradient(to right, rgba(216, 216, 216, 0.6), rgba(238, 222, 222, 0)); - border-radius: 25px; - padding-left: 8px; - margin-top: 5px; + color: #3155a4; + font-family: "Inknut Antiqua"; + font-size: 1.6em; + font-weight: 700; + font-variant: small-caps; + letter-spacing: -2px; + text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0; + background-image: linear-gradient( + to right, + rgba(216, 216, 216, 0.6), + rgba(238, 222, 222, 0) + ); + border-radius: 25px; + padding-left: 8px; + margin-top: 5px; } .sheet-center-column .sheet-header { - text-align: center; - padding: 0px; + text-align: center; + padding: 0px; } /* Handwritten Styling */ .sheet-handwritten { - font-family: 'Architects Daughter'; - color: #3155a4; - font-weight: bold; - text-transform: uppercase; - -webkit-text-stroke-width: 0.3px; - -webkit-text-stroke-color: #3155a4; - letter-spacing: normal; + font-family: "Architects Daughter"; + color: #3155a4; + font-weight: bold; + text-transform: uppercase; + -webkit-text-stroke-width: 0.3px; + -webkit-text-stroke-color: #3155a4; + letter-spacing: normal; } .sheet-underlined-input, input[type="checkbox"].sheet-underlined + span, input[type="radio"].sheet-underlined + span, -.sheet-persona-input -{ - font-family: 'Architects Daughter'; - color: #3155a4; - font-weight: bold; - text-transform: uppercase; - -webkit-text-stroke-width: 0.3px; - -webkit-text-stroke-color: #3155a4; - letter-spacing: normal; - background: none; - border-top: none; - border-left: none; - border-right: none; - border-radius: 0px; - border-bottom: 2px solid rgba(165, 165, 165, 0.8); - width: 30px !important; - -webkit-appearance: textfield; - margin: 0; - -moz-appearance: textfield; - text-align: center; - padding: 0px; - font-size: 1.2em; - display: inline-block; +.sheet-persona-input { + font-family: "Architects Daughter"; + color: #3155a4; + font-weight: bold; + text-transform: uppercase; + -webkit-text-stroke-width: 0.3px; + -webkit-text-stroke-color: #3155a4; + letter-spacing: normal; + background: none; + border-top: none; + border-left: none; + border-right: none; + border-radius: 0px; + border-bottom: 2px solid rgba(165, 165, 165, 0.8); + width: 30px !important; + -webkit-appearance: textfield; + margin: 0; + -moz-appearance: textfield; + text-align: center; + padding: 0px; + font-size: 1.2em; + display: inline-block; } .sheet-underlined-input::-webkit-outer-spin-button, .sheet-underlined-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; + -webkit-appearance: none; + margin: 0; } .sheet-persona-input::-webkit-outer-spin-button, .sheet-persona-input::-webkit-inner-spin-button { - opacity: 1; + opacity: 1; } .sheet-persona-input { - width: 45px !important; - -moz-appearance: number-input; + width: 45px !important; + -moz-appearance: number-input; } .sheet-persona-input.sheet-edit, -.sheet-underlined-input.sheet-edit -{ - border: none; - background-color: rgb(255, 255, 0, 0.2); +.sheet-underlined-input.sheet-edit { + border: none; + background-color: rgb(255, 255, 0, 0.2); } .sheet-underlined-select { - font-family: 'Architects Daughter'; - color: #3155a4; - font-weight: bold; - text-transform: uppercase; - -webkit-text-stroke-width: 0.3px; - -webkit-text-stroke-color: #3155a4; - letter-spacing: normal; - background: none; - border-top: none; - border-left: none; - border-right: none; - border-radius: 0px; - border-bottom: 2px solid rgba(165, 165, 165, 0.8); - padding: 0px; - font-size: 1.2em; - height: 20px; + font-family: "Architects Daughter"; + color: #3155a4; + font-weight: bold; + text-transform: uppercase; + -webkit-text-stroke-width: 0.3px; + -webkit-text-stroke-color: #3155a4; + letter-spacing: normal; + background: none; + border-top: none; + border-left: none; + border-right: none; + border-radius: 0px; + border-bottom: 2px solid rgba(165, 165, 165, 0.8); + padding: 0px; + font-size: 1.2em; + height: 20px; } /* Layout Styling */ .sheet-container { - width: 1075px; - position: relative; - margin-left: -15px; - background: url('https://i.imgur.com/MzNsfJi.jpg'); - background-size: 100% 100%; - min-height: 935px; - display: flex; + width: 1075px; + position: relative; + margin-left: -15px; + background: url("https://i.imgur.com/MzNsfJi.jpg"); + background-size: 100% 100%; + min-height: 935px; + display: flex; } .sheet-left-column { - display: inline-block; - vertical-align: top; - width: 355px; - height: 100%; - border-right: 2px solid rgba(165, 165, 165, 0.8); - position: relative; + display: inline-block; + vertical-align: top; + width: 355px; + height: 100%; + border-right: 2px solid rgba(165, 165, 165, 0.8); + position: relative; } .sheet-center-column { - display: inline-block; - vertical-align: top; - width: 188px; - margin-left: -5px; - margin-right: -5px; - height: 100%; - position: relative; + display: inline-block; + vertical-align: top; + width: 188px; + margin-left: -5px; + margin-right: -5px; + height: 100%; + position: relative; } .sheet-right-column { - display: inline-block; - vertical-align: top; - width: 530px; - height: 100%; - border-left: 2px solid rgba(165, 165, 165, 0.8); - position: relative; + display: inline-block; + vertical-align: top; + width: 530px; + height: 100%; + border-left: 2px solid rgba(165, 165, 165, 0.8); + position: relative; } .sheet-section { - padding: 10px; - border-top: 2px solid rgba(165, 165, 165, 0.8); + padding: 10px; + border-top: 2px solid rgba(165, 165, 165, 0.8); } .sheet-container { - border-bottom: 2px solid rgba(165, 165, 165, 0.8); + border-bottom: 2px solid rgba(165, 165, 165, 0.8); } .sheet-traits, .sheet-fate, -.sheet-check-info -{ - position: relative; +.sheet-check-info { + position: relative; } .sheet-logo { - background: url('https://i.imgur.com/5SuVIW0.png'); - background-size: 100% 100%; - height: 53px; - width: 98%; - position: absolute; - top: 0; - left: 1%; + background: url("https://i.imgur.com/5SuVIW0.png"); + background-size: 100% 100%; + height: 53px; + width: 98%; + position: absolute; + top: 0; + left: 1%; } /* Bubble Styling */ -input[type="radio"].sheet-normal -{ - position: absolute; - opacity: 0.0; - width: 10px; - cursor: pointer; - z-index: 10; - margin-top: 5px; - margin-right: -4px; +input[type="radio"].sheet-normal { + position: absolute; + opacity: 0; + width: 10px; + cursor: pointer; + z-index: 10; + margin-top: 5px; + margin-right: -4px; } -input[type="radio"].sheet-normal + span::before -{ - border: solid 1px #000000; - line-height: 11px; - text-align: center; - display: inline-block; - vertical-align: middle; - -moz-box-shadow: 0 0 0px #000; - -webkit-box-shadow: 0 0 0px #000; - box-shadow: 0 0 0px #000; - background: #000000; - background: -moz-radial-gradient(#f6f6f6, #dfdfdf); - background: -webkit-radial-gradient(#f6f6f6, #dfdfdf); - background: -ms-radial-gradient(#f6f6f6, #dfdfdf); - background: -o-radial-gradient(#f6f6f6, #dfdfdf); - background: radial-gradient(#f6f6f6, #dfdfdf); +input[type="radio"].sheet-normal + span::before { + border: solid 1px #000000; + line-height: 11px; + text-align: center; + display: inline-block; + vertical-align: middle; + -moz-box-shadow: 0 0 0px #000; + -webkit-box-shadow: 0 0 0px #000; + box-shadow: 0 0 0px #000; + background: #000000; + background: -moz-radial-gradient(#f6f6f6, #dfdfdf); + background: -webkit-radial-gradient(#f6f6f6, #dfdfdf); + background: -ms-radial-gradient(#f6f6f6, #dfdfdf); + background: -o-radial-gradient(#f6f6f6, #dfdfdf); + background: radial-gradient(#f6f6f6, #dfdfdf); } -input[type="radio"].sheet-normal + span::before -{ - content: "•"; - width: 8px; - height: 8px; - font-size: 40.9px; - font-family: "Arial"; - text-indent: -3px; - font-weight: normal; - -webkit-font-smoothing: antialiased; - -moz-border-radius: 50%; - -webkit-border-radius: 50%; - border-radius: 50%; - margin-right: -4px; +input[type="radio"].sheet-normal + span::before { + content: "•"; + width: 8px; + height: 8px; + font-size: 40.9px; + font-family: "Arial"; + text-indent: -3px; + font-weight: normal; + -webkit-font-smoothing: antialiased; + -moz-border-radius: 50%; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-right: -4px; } -input[type="radio"].sheet-normal:checked ~ input[type="radio"] + span::before -{ - content: ""; +input[type="radio"].sheet-normal:checked ~ input[type="radio"] + span::before { + content: ""; } -input.sheet-zero:checked + span::before -{ - opacity: 0; +input.sheet-zero:checked + span::before { + opacity: 0; } -input.sheet-zero:hover + span::before -{ - opacity: 0.25; - font-size: 12px; - content: "✖"; - text-indent: -1px; +input.sheet-zero:hover + span::before { + opacity: 0.25; + font-size: 12px; + content: "✖"; + text-indent: -1px; } -input.sheet-zero + span::before -{ - opacity: 0; +input.sheet-zero + span::before { + opacity: 0; } .sheet-advancement-flag[value="0"] ~ .sheet-advancement-pass .sheet-0, - .sheet-advancement-flag[value="1"] ~ .sheet-advancement-pass .sheet-1, - .sheet-advancement-flag[value="2"] ~ .sheet-advancement-pass .sheet-1, .sheet-advancement-flag[value="2"] ~ .sheet-advancement-pass .sheet-2, - .sheet-advancement-flag[value="3"] ~ .sheet-advancement-pass .sheet-1, .sheet-advancement-flag[value="3"] ~ .sheet-advancement-pass .sheet-2, .sheet-advancement-flag[value="3"] ~ .sheet-advancement-pass .sheet-3, - .sheet-advancement-flag[value="4"] ~ .sheet-advancement-pass .sheet-1, .sheet-advancement-flag[value="4"] ~ .sheet-advancement-pass .sheet-2, .sheet-advancement-flag[value="4"] ~ .sheet-advancement-pass .sheet-3, .sheet-advancement-flag[value="4"] ~ .sheet-advancement-pass .sheet-4, - .sheet-advancement-flag[value="5"] ~ .sheet-advancement-pass .sheet-1, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-pass .sheet-2, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-pass .sheet-3, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-pass .sheet-4, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-pass .sheet-5, - -.sheet-max10.sheet-advancement-flag[value="0"] ~ .sheet-advancement-pass .sheet-1, - -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-1, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-2, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-3, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-4, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-5, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-pass .sheet-6, - -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-1, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-2, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-3, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-4, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-5, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-6, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-pass .sheet-7, - -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-1, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-2, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-3, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-4, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-5, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-6, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-7, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-pass .sheet-8, - -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-1, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-2, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-3, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-4, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-5, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-6, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-7, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-8, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-pass .sheet-9, - +.sheet-max10.sheet-advancement-flag[value="0"] + ~ .sheet-advancement-pass + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-pass + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-pass + .sheet-7, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-7, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-pass + .sheet-8, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-7, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-8, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-pass + .sheet-9, .sheet-advancement-flag[value="2"] ~ .sheet-advancement-fail .sheet-1, - .sheet-advancement-flag[value="3"] ~ .sheet-advancement-fail .sheet-1, .sheet-advancement-flag[value="3"] ~ .sheet-advancement-fail .sheet-2, - .sheet-advancement-flag[value="4"] ~ .sheet-advancement-fail .sheet-1, .sheet-advancement-flag[value="4"] ~ .sheet-advancement-fail .sheet-2, .sheet-advancement-flag[value="4"] ~ .sheet-advancement-fail .sheet-3, - .sheet-advancement-flag[value="5"] ~ .sheet-advancement-fail .sheet-1, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-fail .sheet-2, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-fail .sheet-3, .sheet-advancement-flag[value="5"] ~ .sheet-advancement-fail .sheet-4, - -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-fail .sheet-1, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-fail .sheet-2, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-fail .sheet-3, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-fail .sheet-4, -.sheet-max10.sheet-advancement-flag[value="6"] ~ .sheet-advancement-fail .sheet-5, - -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-1, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-2, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-3, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-4, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-5, -.sheet-max10.sheet-advancement-flag[value="7"] ~ .sheet-advancement-fail .sheet-6, - -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-1, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-2, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-3, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-4, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-5, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-6, -.sheet-max10.sheet-advancement-flag[value="8"] ~ .sheet-advancement-fail .sheet-7, - -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-1, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-2, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-3, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-4, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-5, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-6, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-7, -.sheet-max10.sheet-advancement-flag[value="9"] ~ .sheet-advancement-fail .sheet-8, - +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-fail + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-fail + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-fail + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-fail + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="6"] + ~ .sheet-advancement-fail + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="7"] + ~ .sheet-advancement-fail + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="8"] + ~ .sheet-advancement-fail + .sheet-7, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-1, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-2, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-3, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-4, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-5, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-6, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-7, +.sheet-max10.sheet-advancement-flag[value="9"] + ~ .sheet-advancement-fail + .sheet-8, .sheet-untaxed_nature[value="1"] ~ div .sheet-beginner-checks .sheet-1, - .sheet-untaxed_nature[value="2"] ~ div .sheet-beginner-checks .sheet-1, .sheet-untaxed_nature[value="2"] ~ div .sheet-beginner-checks .sheet-2, - .sheet-untaxed_nature[value="3"] ~ div .sheet-beginner-checks .sheet-1, .sheet-untaxed_nature[value="3"] ~ div .sheet-beginner-checks .sheet-2, .sheet-untaxed_nature[value="3"] ~ div .sheet-beginner-checks .sheet-3, - .sheet-untaxed_nature[value="4"] ~ div .sheet-beginner-checks .sheet-1, .sheet-untaxed_nature[value="4"] ~ div .sheet-beginner-checks .sheet-2, .sheet-untaxed_nature[value="4"] ~ div .sheet-beginner-checks .sheet-3, .sheet-untaxed_nature[value="4"] ~ div .sheet-beginner-checks .sheet-4, - .sheet-untaxed_nature[value="5"] ~ div .sheet-beginner-checks .sheet-1, .sheet-untaxed_nature[value="5"] ~ div .sheet-beginner-checks .sheet-2, .sheet-untaxed_nature[value="5"] ~ div .sheet-beginner-checks .sheet-3, .sheet-untaxed_nature[value="5"] ~ div .sheet-beginner-checks .sheet-4, .sheet-untaxed_nature[value="5"] ~ div .sheet-beginner-checks .sheet-5, - .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-1, .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-2, .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-3, .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-4, .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-5, .sheet-untaxed_nature[value="6"] ~ div .sheet-beginner-checks .sheet-6, - .sheet-show-advancement[value="1"] ~ .sheet-advancement-checkbox, -.sheet-roll_type[value="simple"] ~ div .sheet-beginner_luck_flag[value="0"] ~ .sheet-simple_roll.sheet-beginner_luck, -.sheet-roll_type[value="simple"] ~ div .sheet-beginner_luck_flag:not([value="0"]) ~ .sheet-simple_roll.sheet-normal, -.sheet-roll_type[value="complex"] ~ div .sheet-complex_roll -{ - display: inline-block; +.sheet-roll_type[value="simple"] + ~ div + .sheet-beginner_luck_flag[value="0"] + ~ .sheet-simple_roll.sheet-beginner_luck, +.sheet-roll_type[value="simple"] + ~ div + .sheet-beginner_luck_flag:not([value="0"]) + ~ .sheet-simple_roll.sheet-normal, +.sheet-roll_type[value="complex"] ~ div .sheet-complex_roll { + display: inline-block; } .sheet-advancement-flag[value="0"]:not(.sheet-max10) ~ .sheet-advancement-pass, .sheet-advancement-flag[value="0"]:not(.sheet-max10) ~ .sheet-advancement-fail, -.sheet-advancement-flag:not([value="0"]) ~ .sheet-beginner-checks -{ - display: none; +.sheet-advancement-flag:not([value="0"]) ~ .sheet-beginner-checks { + display: none; } .sheet-advancement-checkbox { - position: absolute; - right: 0; - top: 0; - width: 15px; - height: 15px; + position: absolute; + right: 0; + top: 0; + width: 15px; + height: 15px; } input[type="checkbox"].sheet-advancement-checkbox { - opacity: 0.0; - cursor: pointer; - z-index: 10; - height: 15px; + opacity: 0; + cursor: pointer; + z-index: 10; + height: 15px; } input[type="checkbox"].sheet-advancement-checkbox + span { - background: url('https://i.imgur.com/lz44L8d.png'); - background-size: 100% 100%; + background: url("https://i.imgur.com/lz44L8d.png"); + background-size: 100% 100%; } /* Condition Checkbox Styling */ -.sheet-conditions .sheet-body .sheet-condition -{ - position: relative; +.sheet-conditions .sheet-body .sheet-condition { + position: relative; } input[type="checkbox"].sheet-underlined, -input[type="radio"].sheet-underlined -{ - position: absolute; - opacity: 0.0; - width: 30px; - cursor: pointer; - z-index: 10; +input[type="radio"].sheet-underlined { + position: absolute; + opacity: 0; + width: 30px; + cursor: pointer; + z-index: 10; } input[type="checkbox"].sheet-underlined:checked + span::before, -input[type="radio"].sheet-underlined:checked + span::before -{ - content: "x"; - position: absolute; - top: -4px; - left: 11px; +input[type="radio"].sheet-underlined:checked + span::before { + content: "x"; + position: absolute; + top: -4px; + left: 11px; } .sheet-conditions .sheet-body .sheet-leftside, -.sheet-conditions .sheet-body .sheet-rightside -{ - height: 19px; - display: inline-block; +.sheet-conditions .sheet-body .sheet-rightside { + height: 19px; + display: inline-block; } .sheet-conditions .sheet-body .sheet-leftside { - width: 70%; + width: 70%; } .sheet-conditions .sheet-body .sheet-rightside { - width: 27%; - position: relative; + width: 27%; + position: relative; } .sheet-conditions .sheet-body .sheet-rightside .sheet-complex_roll { - top: 7px; + top: 7px; } .sheet-conditions .sheet-body .sheet-rightside .sheet-simple_roll { - vertical-align: bottom; + vertical-align: bottom; +} + +.sheet-conditions .sheet-right { + text-align: right; +} + +.sheet-conditions .sheet-right .sheet-complex_roll, +.sheet-conditions .sheet-right .sheet-complex_roll + span { + width: 60px; } .sheet-hidden.sheet-condition-display { - display: none; + display: none; } input.sheet-condition-flag[value="1"] + .sheet-condition-display { - display: block; + display: block; } .sheet-warning { - background-color: rgb(255, 255, 0, 0.2); - border: 1px solid rgba(165, 165, 165, 0.8); - border-radius: 5px; - padding: 5px; - margin-top: 5px; - margin-bottom: 5px; + background-color: rgb(255, 255, 0, 0.2); + border: 1px solid rgba(165, 165, 165, 0.8); + border-radius: 5px; + padding: 5px; + margin-top: 5px; + margin-bottom: 5px; } .sheet-skills .sheet-row.sheet-warning { - height: 18px; + height: 18px; } -.sheet-skills input.sheet-afraid-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input.sheet-beginner_luck_flag[value="0"] ~ button, -.sheet-skills input.sheet-afraid-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input.sheet-beginner_luck_flag[value="0"] ~ input, -.sheet-skills input.sheet-afraid-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input.sheet-beginner_luck_flag[value="0"] ~ input + span -{ - cursor: not-allowed; - pointer-events: none; - color: rgba(150, 150, 150, 0.8); +.sheet-skills + input.sheet-afraid-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input.sheet-beginner_luck_flag[value="0"] + ~ button, +.sheet-skills + input.sheet-afraid-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input.sheet-beginner_luck_flag[value="0"] + ~ input, +.sheet-skills + input.sheet-afraid-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input.sheet-beginner_luck_flag[value="0"] + ~ input + + span { + cursor: not-allowed; + pointer-events: none; + color: rgba(150, 150, 150, 0.8); } -.sheet-skills input.sheet-sick-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input[type="radio"], -.sheet-skills input.sheet-sick-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input[type="radio"] + span -{ - cursor: not-allowed; - pointer-events: none; - color: rgba(150, 150, 150, 0.8); +.sheet-skills + input.sheet-sick-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input[type="radio"], +.sheet-skills + input.sheet-sick-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input[type="radio"] + + span { + cursor: not-allowed; + pointer-events: none; + color: rgba(150, 150, 150, 0.8); } -.sheet-skills input.sheet-sick-flag.sheet-condition-flag[value="1"] ~ .sheet-column-skills input[type="radio"] + span::before { - background: radial-gradient(rgba(150, 150, 150, 0.8), rgba(150, 150, 150, 0.8)); - border: 1px solid rgba(150, 150, 150, 0.8) +.sheet-skills + input.sheet-sick-flag.sheet-condition-flag[value="1"] + ~ .sheet-column-skills + input[type="radio"] + + span::before { + background: radial-gradient( + rgba(150, 150, 150, 0.8), + rgba(150, 150, 150, 0.8) + ); + border: 1px solid rgba(150, 150, 150, 0.8); } /* Who You Are Styling */ .sheet-who-you-are .sheet-column-2 .sheet-row span:first-of-type { - margin-right: 5px; + margin-right: 5px; } /* Traits */ .sheet-trait { - margin-bottom: 10px; - min-height: 40px; + margin-bottom: 10px; + min-height: 40px; } .sheet-trait div { - vertical-align: top; + vertical-align: top; } .sheet-trait-name { - width: 120px; - display: inline-block; + width: 120px; + display: inline-block; } .sheet-trait-level { - width: 80px; - display: inline-block; + width: 80px; + display: inline-block; } .sheet-trait-uses { - width: 90px; - display: inline-block; + width: 90px; + display: inline-block; } .sheet-trait-checks { - width: 28px; - display: inline-block; + width: 28px; + display: inline-block; } .sheet-traits-flag[value="1"] ~ div .sheet-1, .sheet-traits-flag[value="2"] ~ div .sheet-2, .sheet-traits-flag[value="3"] ~ div .sheet-3 { - display: inline-block; + display: inline-block; } .sheet-trait-name input { - width: 115px; + width: 115px; } .sheet-trait-level select { - width: 80px; + width: 80px; } /* ABILITIES AND SKILLS */ .sheet-raw-abilities, .sheet-town-abilities { - display: inline-block; - width: 95px; - padding-right: 5px; - vertical-align: top; - position: relative; - height: 30px; + display: inline-block; + width: 95px; + padding-right: 5px; + vertical-align: top; + position: relative; + height: 30px; } .sheet-rating { - display: inline-block; - width: 25px; - margin-right: 10px; - text-align: center; - vertical-align: top; + display: inline-block; + width: 25px; + margin-right: 10px; + text-align: center; + vertical-align: top; } .sheet-advancement { - display: inline-block; - width: 110px; - line-height: 10px; + display: inline-block; + width: 110px; + line-height: 10px; } .sheet-nature-descriptor { - display: inline-block; - margin-left: 5px; + display: inline-block; + margin-left: 5px; } .sheet-nature-descriptor:not(:last-child) span::after { - content: ","; + content: ","; } .sheet-abilities .sheet-row, -.sheet-skills .sheet-row -{ - height: 30px; +.sheet-skills .sheet-row { + height: 30px; } .sheet-abilities .sheet-rating:not(.sheet-header-only), .sheet-skills .sheet-rating:not(.sheet-header-only) { - border-radius: 0px; - border-bottom: 2px solid rgba(165, 165, 165, 0.8); - font-size: 1.2em; - line-height: .9; + border-radius: 0px; + border-bottom: 2px solid rgba(165, 165, 165, 0.8); + font-size: 1.2em; + line-height: 0.9; } .sheet-raw-abilities.sheet-nature { - width: 80px; + width: 80px; } .sheet-rating.sheet-nature { - width: 40px; + width: 40px; } .sheet-rating.sheet-nature .sheet-edit { - width: 12px !important; + width: 12px !important; } .sheet-might-container { - vertical-align: top; + vertical-align: top; } .sheet-might { - display: inline-block; - margin-right: 15px; + display: inline-block; + margin-right: 15px; } -input[type=radio].sheet-editing:checked ~ .sheet-tabcontainer .sheet-might + .sheet-rating { - position: relative; - min-height: 25px; +input[type="radio"].sheet-editing:checked + ~ .sheet-tabcontainer + .sheet-might + + .sheet-rating { + position: relative; + min-height: 25px; } .sheet-beginner-checks .sheet-bl-label { - margin-right: -7px; + margin-right: -7px; } .sheet-skill-footer .sheet-footer-left, .sheet-skill-footer .sheet-footer-right { - display: inline-block; + display: inline-block; } .sheet-skill-footer .sheet-footer-left { - width: 22.5%; - border-right: 1px solid black; + width: 22.5%; + border-right: 1px solid black; } .sheet-skill-footer .sheet-footer-right { - width: 76%; + width: 76%; } .sheet-skill-footer .sheet-row { - height: 12px; + height: 12px; } .sheet-roll_type[value="simple"] ~ div .sheet-precedence { - margin-left: 9px; + margin-left: 9px; } .sheet-nature-descriptor input { - width: 120px; + width: 120px; } .sheet-town-abilities input.sheet-edit { - width: 100px; + width: 100px; } .sheet-advancement { - position: relative; + position: relative; } .sheet-advancement .sheet-edit { - width: 68px; - position: absolute; - top: -5px; - right: 0px; + width: 68px; + position: absolute; + top: -5px; + right: 0px; } .sheet-advancement .sheet-edit select { - width: 68px; + width: 68px; } .sheet-column-skills { - width: calc(50% - 2px); - display: inline-block; - vertical-align: top; + width: calc(50% - 2px); + display: inline-block; + vertical-align: top; } .sheet-bl-ability { - position: absolute; - right: 14px; - font-size: .8em; + position: absolute; + right: 14px; + font-size: 0.8em; } .sheet-bl-ability-flag[value="w"] ~ .sheet-w, -.sheet-bl-ability-flag[value="h"] ~ .sheet-h -{ - display: inline-block; +.sheet-bl-ability-flag[value="h"] ~ .sheet-h { + display: inline-block; } /* Fate Styling */ .sheet-fate .sheet-box { - display: inline-block; - padding: 5px; - border: 2px solid rgba(150, 150, 150, 0.8); - margin-right: -5px; - width: 60px; - position: relative; + display: inline-block; + padding: 5px; + border: 2px solid rgba(150, 150, 150, 0.8); + margin-right: -5px; + width: 60px; + position: relative; } .sheet-fate .sheet-name-header { - margin-top: 10px; + margin-top: 10px; } .sheet-fate .sheet-compact, .sheet-check-info .sheet-compact { - margin-top: 3px; + margin-top: 3px; } /* Who You Are & What You Fight For Styling */ .sheet-who-you-are .sheet-row, -.sheet-what-you-fight-for .sheet-body > .sheet-row -{ - margin-top: 6px; +.sheet-what-you-fight-for .sheet-body > .sheet-row { + margin-top: 6px; } .sheet-conditions .sheet-body > .sheet-row { - margin-top: 12px; + margin-top: 12px; } .sheet-who-you-are .sheet-row { - min-height: 25px; + min-height: 25px; } .sheet-what-you-fight-for .sheet-body > .sheet-row { - min-height: 75px; + min-height: 75px; } .sheet-what-you-fight-for textarea { - width: calc(100% - 15px); - resize: vertical; - height: 40px; + width: calc(100% - 15px); + resize: vertical; + height: 40px; } /* Wises Styling */ .sheet-wise-check-container { - position: relative; - display: inline-block; + position: relative; + display: inline-block; } .sheet-wise-check-container:not(:last-child) { - border-right: 1px solid black; - padding-right: 5px; + border-right: 1px solid black; + padding-right: 5px; } .sheet-wise-check-container input[type="checkbox"].sheet-underlined, .sheet-wise-check-container input[type="checkbox"].sheet-underlined + span, .sheet-wise-check-container input[type="radio"].sheet-underlined, -.sheet-wise-check-container input[type="radio"].sheet-underlined + span -{ - width: 15px !important; +.sheet-wise-check-container input[type="radio"].sheet-underlined + span { + width: 15px !important; } -.sheet-wise-check-container input[type="checkbox"].sheet-underlined + span:before, -.sheet-wise-check-container input[type="radio"].sheet-underlined + span:before -{ - left: 3px; +.sheet-wise-check-container + input[type="checkbox"].sheet-underlined + + span:before, +.sheet-wise-check-container input[type="radio"].sheet-underlined + span:before { + left: 3px; } .sheet-wises .sheet-name-container { - min-height: 20px; - border-bottom: 1px solid black; - margin-bottom: 5px; + min-height: 20px; + border-bottom: 1px solid black; + margin-bottom: 5px; } .sheet-wises .sheet-row { - margin-bottom: 10px; + margin-bottom: 10px; } .sheet-wises-left, .sheet-wises-right { - width: 45%; - display: inline-block; + width: 45%; + display: inline-block; } .sheet-wises-left { - margin-right: 5%; + margin-right: 5%; } /* Complex Roll Styling */ -.sheet-modal-flag[value="1"] + .sheet-complex-roll-modal -{ - display: block; - position: fixed; - top: 100px; - right: 0; - left: 0; - margin-right: auto; - margin-left: auto; - z-index: 100; - width: 500px; - background: rgb(240, 240, 240); - border: 2px solid rgba(64, 64, 64, 0.8); - border-radius: 5px; - padding: 10px; +.sheet-modal-flag[value="1"] + .sheet-complex-roll-modal { + display: block; + position: fixed; + top: 100px; + right: 0; + left: 0; + margin-right: auto; + margin-left: auto; + z-index: 100; + width: 500px; + background: rgb(240, 240, 240); + border: 2px solid rgba(64, 64, 64, 0.8); + border-radius: 5px; + padding: 10px; } -input[type=checkbox].sheet-close-complex-modal, -input[type=checkbox].sheet-close-complex-modal + span { - position: absolute; - top: 0px; - right: 0px; - width: 15px; - height: 15px; +input[type="checkbox"].sheet-close-complex-modal, +input[type="checkbox"].sheet-close-complex-modal + span { + position: absolute; + top: 0px; + right: 0px; + width: 15px; + height: 15px; } -input[type=checkbox].sheet-close-complex-modal { - cursor: pointer; - opacity: 0; - z-index: 101; +input[type="checkbox"].sheet-close-complex-modal { + cursor: pointer; + opacity: 0; + z-index: 101; } -input[type=checkbox].sheet-close-complex-modal + span::before { - content: "✖"; +input[type="checkbox"].sheet-close-complex-modal + span::before { + content: "✖"; } .sheet-check-container { - position: relative; - height: 25px; + position: relative; + height: 25px; } input.sheet-ob-flag[value="independent"] ~ .sheet-independent, input.sheet-ob-flag[value="versus"] ~ .sheet-versus, input.sheet-ob-flag[value="versus"] ~ div .sheet-versus, -input.sheet-ob-flag[value="conflict"] ~ .sheet-conflict -{ - display: block; +input.sheet-ob-flag[value="conflict"] ~ .sheet-conflict { + display: block; } .sheet-roll-choices { - border-top: 2px solid rgba(165, 165, 165, 0.8); - margin-top: 10px; - padding-top: 10px; + border-top: 2px solid rgba(165, 165, 165, 0.8); + margin-top: 10px; + padding-top: 10px; } .sheet-trait-mod:checked ~ .sheet-trait-mod-options, @@ -1093,63 +1207,61 @@ input.sheet-mod-flag:not([value="0"]) + .sheet-mod, /* input.sheet-mod-flag[value="1"] + .sheet-mod, */ input.sheet-mod-flag[value="1"] + input.sheet-not-town[value="1"] + .sheet-mod, input.sheet-mod-flag-bl[value="ceil(("] + .sheet-mod, -input.sheet-in-or-out[value="outside"] + .sheet-out -{ - display: inline-block; +input.sheet-in-or-out[value="outside"] + .sheet-out { + display: inline-block; } .sheet-row.sheet-check-container.sheet-hidden, -.sheet-row.sheet-conflict.sheet-hidden -{ - display: none; +.sheet-row.sheet-conflict.sheet-hidden { + display: none; } .sheet-trait-select { - width: 130px; + width: 130px; } .sheet-nature-select { - width: 80px; + width: 80px; } -input[type=number].sheet-ob-input { - font-family: 'Architects Daughter'; - color: #3155a4; - font-weight: bold; - text-transform: uppercase; - -webkit-text-stroke-width: 0.3px; - -webkit-text-stroke-color: #3155a4; - letter-spacing: normal; - background: none; - border-top: none; - border-left: none; - border-right: none; - border-radius: 0px; - border-bottom: 2px solid rgba(165, 165, 165, 0.8); - width: 50px; - text-align: center; - padding: 0px; - font-size: 2.5em; +input[type="number"].sheet-ob-input { + font-family: "Architects Daughter"; + color: #3155a4; + font-weight: bold; + text-transform: uppercase; + -webkit-text-stroke-width: 0.3px; + -webkit-text-stroke-color: #3155a4; + letter-spacing: normal; + background: none; + border-top: none; + border-left: none; + border-right: none; + border-radius: 0px; + border-bottom: 2px solid rgba(165, 165, 165, 0.8); + width: 50px; + text-align: center; + padding: 0px; + font-size: 2.5em; } .sheet-roll-obstacle { - position: relative; + position: relative; } .sheet-rolling { - margin-top: 17px; + margin-top: 17px; } -button[type=roll].sheet-complex-roll-button { - position: absolute; - right: 10px; - bottom: -5px; - width: 33%; - height: 25px; - background: #3155a4; - border: 2px solid rgba(165, 165, 165, 0.8); - text-align: center; - z-index: 10; +button[type="roll"].sheet-complex-roll-button { + position: absolute; + right: 10px; + bottom: -5px; + width: 33%; + height: 25px; + background: #3155a4; + border: 2px solid rgba(165, 165, 165, 0.8); + text-align: center; + z-index: 10; } /* input[type=checkbox].sheet-complex-roll-listener { @@ -1162,107 +1274,102 @@ button[type=roll].sheet-complex-roll-button { z-index: 10; } */ -button[type=roll].sheet-complex-roll-button span { - color: white; - -webkit-text-stroke-color: white; +button[type="roll"].sheet-complex-roll-button span { + color: white; + -webkit-text-stroke-color: white; } .sheet-disposition-type { - width: 110%; + width: 110%; } .sheet-disposition-type input[type="radio"].sheet-underlined + span { - margin-right: 3px; + margin-right: 3px; } .sheet-disposition-type input[type="radio"].sheet-underlined + span::before { - left: 3px; + left: 3px; } .sheet-disposition-type input[type="radio"].sheet-underlined, .sheet-disposition-type input[type="radio"].sheet-underlined + span { - width: 15px !important; + width: 15px !important; } .sheet-disposition-type div { - display: inline-block; + display: inline-block; } .sheet-disposition-type .sheet-disposition-subtype { - position: absolute; - right: 0px; - top: 10px; - width: 85px; + position: absolute; + right: 0px; + top: 10px; + width: 85px; } .sheet-check-container.sheet-bottom { - height: 40px; + height: 40px; } /* Roll Template Styling */ .sheet-rolltemplate-simple .sheet-container, -.sheet-rolltemplate-complex .sheet-container -{ - background: rgb(240, 240, 240); - border: 2px solid rgba(150, 150, 150, 0.8); - border-radius: 5px; - padding: 10px; +.sheet-rolltemplate-complex .sheet-container { + background: rgb(240, 240, 240); + border: 2px solid rgba(150, 150, 150, 0.8); + border-radius: 5px; + padding: 10px; } .sheet-rolltemplate-simple .sheet-name, -.sheet-rolltemplate-complex .sheet-name -{ - color: #3155a4; - font-family: 'Inknut Antiqua'; - font-size: 1.4em; - font-weight: 700; - font-variant: small-caps; - letter-spacing: -2px; - text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0; +.sheet-rolltemplate-complex .sheet-name { + color: #3155a4; + font-family: "Inknut Antiqua"; + font-size: 1.4em; + font-weight: 700; + font-variant: small-caps; + letter-spacing: -2px; + text-shadow: 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0, + 0 0 2px #bac6e0, 0 0 2px #bac6e0, 0 0 2px #bac6e0; } .sheet-rolltemplate-simple .sheet-faint, -.sheet-rolltemplate-complex .sheet-faint -{ - color: rgba(150, 150, 150, 0.8); - font-size: 0.85em; - font-family: 'Inknut Antiqua'; - letter-spacing: -1px; +.sheet-rolltemplate-complex .sheet-faint { + color: rgba(150, 150, 150, 0.8); + font-size: 0.85em; + font-family: "Inknut Antiqua"; + letter-spacing: -1px; } .sheet-rolltemplate-simple .sheet-result, -.sheet-rolltemplate-complex .sheet-result -{ - text-align: center; - font-size: 2em; +.sheet-rolltemplate-complex .sheet-result { + text-align: center; + font-size: 2em; } .sheet-rolltemplate-simple .sheet-success-footer, -.sheet-rolltemplate-complex .sheet-success-footer -{ - font-size: 0.35em; +.sheet-rolltemplate-complex .sheet-success-footer { + font-size: 0.35em; } .sheet-rolltemplate-simple .sheet-dead, -.sheet-rolltemplate-complex .sheet-dead -{ - font-size: 0.8em; - line-height: 1; +.sheet-rolltemplate-complex .sheet-dead { + font-size: 0.8em; + line-height: 1; } .sheet-rolltemplate-simple .sheet-conditions, -.sheet-rolltemplate-complex .sheet-conditions -{ - line-height: 10px; +.sheet-rolltemplate-complex .sheet-conditions { + line-height: 10px; } .sheet-rolltemplate-simple .sheet-conditions .sheet-handwritten, -.sheet-rolltemplate-complex .sheet-conditions .sheet-handwritten -{ - font-size: 0.8em; - color: rgba(150, 150, 150, 0.8); - -webkit-text-stroke-color: rgba(150, 150, 150, 0.8); +.sheet-rolltemplate-complex .sheet-conditions .sheet-handwritten { + font-size: 0.8em; + color: rgba(150, 150, 150, 0.8); + -webkit-text-stroke-color: rgba(150, 150, 150, 0.8); } .sheet-rolltemplate-simple .inlinerollresult, @@ -1272,104 +1379,109 @@ button[type=roll].sheet-complex-roll-button span { .sheet-rolltemplate-complex .inlinerollresult, .sheet-rolltemplate-complex .inlinerollresult.fullcrit, .sheet-rolltemplate-complex .inlinerollresult.fullfail, -.sheet-rolltemplate-complex .inlinerollresult.importantroll -{ - background: none; - border: none; +.sheet-rolltemplate-complex .inlinerollresult.importantroll { + background: none; + border: none; } .sheet-rolltemplate-simple .sheet-caps, -.sheet-rolltemplate-complex .sheet-caps -{ - text-transform: uppercase; +.sheet-rolltemplate-complex .sheet-caps { + text-transform: uppercase; } .sheet-rolltemplate-simple .sheet-handwritten, -.sheet-rolltemplate-complex .sheet-handwritten -{ - font-family: 'Architects Daughter'; - color: #3155a4; - font-weight: bold; - text-transform: uppercase; - -webkit-text-stroke-width: 0.3px; - -webkit-text-stroke-color: #3155a4; - letter-spacing: normal; +.sheet-rolltemplate-complex .sheet-handwritten { + font-family: "Architects Daughter"; + color: #3155a4; + font-weight: bold; + text-transform: uppercase; + -webkit-text-stroke-width: 0.3px; + -webkit-text-stroke-color: #3155a4; + letter-spacing: normal; } .sheet-rolltemplate-simple .sheet-handwritten.sheet-failure, -.sheet-rolltemplate-complex .sheet-handwritten.sheet-failure -{ - color: #a4110e; - -webkit-text-stroke-color: #a4110e; +.sheet-rolltemplate-complex .sheet-handwritten.sheet-failure { + color: #a4110e; + -webkit-text-stroke-color: #a4110e; } .sheet-rolltemplate-complex .sheet-comma { - margin-left: -5px; + margin-left: -5px; } .sheet-rolltemplate-complex .sheet-column-3 { - /* width: calc(30% - 5px); */ - display: inline-block; - vertical-align: top; - padding-right: 5px; + /* width: calc(30% - 5px); */ + display: inline-block; + vertical-align: top; + padding-right: 5px; } .sheet-rolltemplate-complex .sheet-vs { - color: rgba(150, 150, 150, 0.8); - font-size: 0.55em; - font-family: 'Inknut Antiqua'; - letter-spacing: -1px; - margin-left: -15px; - margin-right: -15px; + color: rgba(150, 150, 150, 0.8); + font-size: 0.55em; + font-family: "Inknut Antiqua"; + letter-spacing: -1px; + margin-left: -15px; + margin-right: -15px; } .sheet-rolltemplate-complex .sheet-conflict-subtype { - text-align: center; + text-align: center; +} + +.sheet-rolltemplate-complex .sheet-operator { + margin-right: -15px; } /* INVENTORY STYLING */ .sheet-inventory .sheet-name-header { - border-bottom: 2px solid rgba(165, 165, 165, 0.8); + border-bottom: 2px solid rgba(165, 165, 165, 0.8); } .sheet-inventory-row { - display: inline-block; - margin-right: 10px; - vertical-align: top; - max-height: 450px; + display: inline-block; + margin-right: 10px; + vertical-align: top; + max-height: 450px; } .sheet-inventory-section { - width: 190px; - margin-bottom: 20px; + width: 190px; + margin-bottom: 20px; } .sheet-inventory-container { - min-height: 30px; - width: 100%; + min-height: 30px; + width: 100%; } .sheet-inventory-container .sheet-status-container { - position: relative; + position: relative; } -input[type=radio].sheet-editing:not(:checked) ~ .sheet-tabcontainer .sheet-inventory-container .sheet-status-container input[type="checkbox"]:checked ~ span.sheet-status { - display: inline-block; - position: absolute; - left: 55px; - top: -5px; +input[type="radio"].sheet-editing:not(:checked) + ~ .sheet-tabcontainer + .sheet-inventory-container + .sheet-status-container + input[type="checkbox"]:checked + ~ span.sheet-status { + display: inline-block; + position: absolute; + left: 55px; + top: -5px; } .sheet-inventory-container .sheet-textinput { - width: 140px; + width: 140px; } .sheet-status { - background: none; + background: none; } .sheet-worn { - margin-right: 5px; + margin-right: 5px; } input.sheet-backpack-flag[value="none"] ~ .sheet-none, @@ -1377,150 +1489,142 @@ input.sheet-backpack-flag[value="satchel"] ~ .sheet-satchel, input.sheet-backpack-flag[value="backpack"] ~ .sheet-backpack, input.sheet-container-flag[value="small"] ~ .sheet-small, input.sheet-container-flag[value="large"] ~ .sheet-large, -input.sheet-container-flag[value="cache"] ~ .sheet-cache -{ - display: inline-block; +input.sheet-container-flag[value="cache"] ~ .sheet-cache { + display: inline-block; } .sheet-inventory .repitem { - display: inline-block; - vertical-align: top; - margin-right: 10px; + display: inline-block; + vertical-align: top; + margin-right: 10px; } .sheet-inventory-row.sheet-end { - max-width: 400px; + max-width: 400px; } .sheet-carried-options div { - display: inline-block; - position: relative; + display: inline-block; + position: relative; } .sheet-carried-options input.sheet-underlined, -.sheet-carried-options input.sheet-underlined + span -{ - width: 15px !important; +.sheet-carried-options input.sheet-underlined + span { + width: 15px !important; } -.sheet-carried-options input[type="radio"].sheet-underlined:checked + span::before { - left: 3px; +.sheet-carried-options + input[type="radio"].sheet-underlined:checked + + span::before { + left: 3px; } .sheet-inventory-row .itemcontrol { - z-index: 99; + z-index: 99; } /* MAGIC STYLING */ .sheet-relic-name, .sheet-relic-inventory, -.sheet-relic-invocation -{ - display: inline-block; - min-height: 25px; - position: relative; +.sheet-relic-invocation { + display: inline-block; + min-height: 25px; + position: relative; } .sheet-relic-name span, .sheet-relic-inventory span, -.sheet-relic-invocation span -{ - position: absolute; - bottom: 0px; +.sheet-relic-invocation span { + position: absolute; + bottom: 0px; } .sheet-relic-name input, .sheet-relic-inventory input, -.sheet-relic-invocation input -{ - position: absolute; - bottom: -3px; +.sheet-relic-invocation input { + position: absolute; + bottom: -3px; } .sheet-relic-name, -.sheet-relic-name input -{ - width: 200px; +.sheet-relic-name input { + width: 200px; } .sheet-relic-inventory, -.sheet-relic-inventory input -{ - width: 200px; +.sheet-relic-inventory input { + width: 200px; } .sheet-relic-invocation, -.sheet-relic-invocation input -{ - width: 300px; +.sheet-relic-invocation input { + width: 300px; } .sheet-relics .sheet-row { - border-bottom: 1px solid rgba(165, 165, 165, 0.8); + border-bottom: 1px solid rgba(165, 165, 165, 0.8); } .sheet-relic-section { - margin-right: 25px; - display: inline-block; + margin-right: 25px; + display: inline-block; } .sheet-urdr-burden-section { - display: inline-block; - vertical-align: top; + display: inline-block; + vertical-align: top; } .sheet-urdr-burden-section, -.sheet-urdr-burden-section .sheet-row -{ - width: 250px; +.sheet-urdr-burden-section .sheet-row { + width: 250px; } .sheet-urdr-burden-section span.sheet-faint, .sheet-urdr-burden-section span.sheet-handwritten { - padding-left: 15px; + padding-left: 15px; } span.sheet-handwritten.sheet-danger { - color: red; - -webkit-text-stroke-color:red; + color: red; + -webkit-text-stroke-color: red; } .sheet-relics { - width: 100%; + width: 100%; } .sheet-relics .sheet-header { - width: 100%; + width: 100%; } -input.sheet-stigmata-flag[value="1"] ~ .sheet-stigmata -{ - display: inline-block; +input.sheet-stigmata-flag[value="1"] ~ .sheet-stigmata { + display: inline-block; } .sheet-spells { - position: relative; + position: relative; } .sheet-spells .sheet-header { - width: 100%; + width: 100%; } .sheet-spells .sheet-memory-palace { - position: absolute; - top: 0px; - right: 45px; + position: absolute; + top: 0px; + right: 45px; } .sheet-spell-name { - width: 200px; - min-height: 25px; - position: relative; - vertical-align: top; + width: 200px; + min-height: 25px; + position: relative; + vertical-align: top; } .sheet-spell-name input { - width: 200px; + width: 200px; } .sheet-spell-ob, @@ -1530,152 +1634,144 @@ input.sheet-stigmata-flag[value="1"] ~ .sheet-stigmata .sheet-spell-cast, .sheet-spell-scroll, .sheet-spell-supplies { - width: 70px; - min-height: 25px; - position: relative; - text-align: center; - vertical-align: top; + width: 70px; + min-height: 25px; + position: relative; + text-align: center; + vertical-align: top; } .sheet-spell-effect { - width: 355px; - min-height: 25px; - position: relative; - vertical-align: top; - padding-left: 5px; + width: 355px; + min-height: 25px; + position: relative; + vertical-align: top; + padding-left: 5px; } .sheet-spell-effect.sheet-title { - text-align: center; + text-align: center; } .sheet-spell-effect span { - margin-left: 15px; + margin-left: 15px; } .sheet-spell-effect input { - width: 355px; + width: 355px; } .sheet-spell-ob, .sheet-spell-book, .sheet-spell-cast, -.sheet-spell-supplies -{ - background-color: rgba(165, 165, 165, 0.3); +.sheet-spell-supplies { + background-color: rgba(165, 165, 165, 0.3); } .sheet-spells .sheet-underlined { - border-bottom: 1px solid rgba(165, 165, 165, 0.8); - padding-left: 15px; + border-bottom: 1px solid rgba(165, 165, 165, 0.8); + padding-left: 15px; } .sheet-memory-palace span.sheet-faint { - width: 250px; + width: 250px; } .sheet-spells input[type="checkbox"].sheet-underlined:checked + span::before { - left: 30px; + left: 30px; } .sheet-spells .sheet-row { - display: flex; - border-bottom: 1px solid rgba(165, 165, 165, 0.8); + display: flex; + border-bottom: 1px solid rgba(165, 165, 165, 0.8); } .sheet-spells-section { - width: 1060px; + width: 1060px; } /* RELATIONSHIP STYLING */ .sheet-relationships .sheet-row { - display: flex; - width: 1060px; - border-bottom: 1px solid rgba(165, 165, 165, 0.8); + display: flex; + width: 1060px; + border-bottom: 1px solid rgba(165, 165, 165, 0.8); } .sheet-relationship-name, -.sheet-relationship-name input -{ - width: 200px; +.sheet-relationship-name input { + width: 200px; } .sheet-relationship-location, -.sheet-relationship-location input -{ - width: 150px; +.sheet-relationship-location input { + width: 150px; } .sheet-relationship-status, -.sheet-relationship-status input -{ - width: 150px; +.sheet-relationship-status input { + width: 150px; } .sheet-relationship-notes, -.sheet-relationship-notes input -{ - width: 560px; +.sheet-relationship-notes input { + width: 560px; } .sheet-relationship-notes span { - margin-left: 15px; + margin-left: 15px; } /* LEVELS STYLING */ .sheet-level-number, .sheet-level-f, -.sheet-level-p -{ - display: inline-block; - text-align: center; - border-bottom: 1px solid rgba(165, 165, 165, 0.8); +.sheet-level-p { + display: inline-block; + text-align: center; + border-bottom: 1px solid rgba(165, 165, 165, 0.8); } .sheet-level-benefits { - display: inline-block; + display: inline-block; - border-bottom: 1px solid rgba(165, 165, 165, 0.8); + border-bottom: 1px solid rgba(165, 165, 165, 0.8); } .sheet-level-row:not(:first-child) .sheet-level-number, .sheet-level-row:not(:first-child) .sheet-level-f, .sheet-level-row:not(:first-child) .sheet-level-p, -.sheet-level-row:not(:first-child) .sheet-level-benefits -{ - padding-top: 15px; - padding-bottom: 15px; +.sheet-level-row:not(:first-child) .sheet-level-benefits { + padding-top: 15px; + padding-bottom: 15px; } .sheet-level-number { - width: 50px; - font-weight: bold; + width: 50px; + font-weight: bold; } .sheet-level-f { - width: 30px; + width: 30px; } .sheet-level-p { - width: 30px; + width: 30px; } .sheet-level-benefits { - width: 930px; - padding-left: 10px; + width: 930px; + padding-left: 10px; } .sheet-levels .sheet-row:first-child, .sheet-row.sheet-level-row { - display: flex; + display: flex; } .sheet-level-row.sheet-shaded { - background-color: rgba(165, 165, 165, 0.3); + background-color: rgba(165, 165, 165, 0.3); } .sheet-level-row:not(:first-child) .sheet-level-f, .sheet-level-row:not(:first-child) .sheet-level-p, -.sheet-level-row:not(:first-child) .sheet-level-benefits -{ - border-left: 1px solid rgba(165, 165, 165, 0.8); +.sheet-level-row:not(:first-child) .sheet-level-benefits { + border-left: 1px solid rgba(165, 165, 165, 0.8); } .sheet-levels textarea { - height: 18px; - margin: 0px; - width: 920px; - resize: vertical; -} \ No newline at end of file + height: 18px; + margin: 0px; + width: 920px; + resize: vertical; +} diff --git a/Torchbearer 2E/torchbearer.html b/Torchbearer 2E/torchbearer.html index c8fbda74f9..fb82df14c0 100644 --- a/Torchbearer 2E/torchbearer.html +++ b/Torchbearer 2E/torchbearer.html @@ -1,3891 +1,11589 @@
    - Edit Mode - Play Mode + Edit Mode + Play Mode - Anatomy - Kit - Magic - Relationships - Level - Options + Anatomy + Kit + Magic + Relationships + Level + Options - -
    -
    - -
    -
    - - - Who You Are - -
    -
    -
    - Name: - - -
    -
    - Stock: - - -
    -
    - Class: - - -
    -
    - Age: - - -
    -
    - Home: - - -
    -
    - Raiment: - - -
    -
    -
    -
    - Parents: - - -
    -
    - Mentor: - - -
    -
    - Friend: - - -
    -
    - Enemy: - - -
    -
    - Level: - - -
    -
    -
    - -
    -
    - - - What You Fight For - -
    -
    -
    - Belief - Uphold your belief in your actions and earn a fate point - - -
    -
    - Creed - Endure a moral test driven by your creed and earn a persona point - - -
    -
    - Goal - Accomplish a goal to earn a persona point - - -
    -
    - Instinct - Use an instinct to aid the group and earn a fate point - - Exhausted: May not use instinct for free. - - -
    -
    -
    - -
    -
    - - - Traits - -
    -
    -
    -
    - Trait name -
    -
    - Trait level -
    -
    - Beneficial uses -
    -
    - Checks -
    -
    - - Angry: No beneficial traits. -
    - -
    - - -
    -
    - - 1 +1D per session - 2 +2D per session - 3 +1s on suc/tie roll -
    -
    - - - - All appropriate tests -
    -
    - - - -
    -
    -
    - -
    - - -
    -
    - - 1 +1D per session - 2 +2D per session - 3 +1s on suc/tie roll -
    -
    - - - - All appropriate tests -
    -
    - - - -
    -
    -
    - -
    - - -
    -
    - - 1 +1D per session - 2 +2D per session - 3 +1s on suc/tie roll -
    -
    - - - - All appropriate tests -
    -
    - - - -
    -
    -
    - -
    - - -
    -
    - - 1 +1D per session - 2 +2D per session - 3 +1s on suc/tie roll -
    -
    - - - - All appropriate tests -
    -
    - - - -
    -
    -
    - -
    -
    -
    - -
    - -
    - - - Fate - - -
    -
    -
    - Fate -
    -
    - Current Total / Total Spent -
    -
    - -
    -
    - -
    -
    -
    -
    - Spend one point to reroll all 6s as new dice, use a wise or learn from help. -
    -
    - Persona -
    -
    - Current Total / Total Spent -
    -
    - -
    -
    - -
    -
    -
    -
    - Spend one point to add 1D, tap nature, or use a wise. You may spend up to three points to add up to 3D per roll. -
    -
    -
    - -
    -
    - - - Conditions - - -
    -
    - -
    -
    - Condition -
    -
    - - - Recovery -
    -
    -
    -
    - - Fresh -
    -
    - +1D all tests until other condition. -
    -
    -
    -
    - - Hungry and Thirsty -
    -
    - -1S to disposition to any conflict. -
    -
    -
    -
    - - Angry - Will Ob 2 -
    -
    - No wises or beneficial traits. -
    -
    -
    -
    - - Afraid - Will Ob 3 -
    -
    - No help or use Beginner's Luck -
    -
    -
    -
    - - Exhausted - Health Ob 3 -
    -
    - -1S to disposition to any conflict; may not use instinct for free. -
    -
    -
    -
    - - Injured - Health Ob 4 -
    -
    - -1D to skills, Nature, Will, and Health (but not recovery) -
    -
    -
    -
    - - Sick - Will Ob 3 -
    -
    - -1D to skills, Nature, Will, and Health (but not recovery); can not practice, learn, or advance. -
    -
    -
    -
    - - Dead -
    -
    - May not test, help, or use wises. -
    -
    -
    -
    -
    -
    - Earning Checks -
    -
    - 1: -1D to your ind. or versus test -
    -
    - 2: +2D to opponent's versus test -
    -
    - 2: Break versus test tie in opponent's favor -
    -
    - Spending Checks -
    -
    - 1: One test or conflict during camp phase -
    -
    - 1: Recover when entering town -
    -
    - -
    -
    -
    - - -
    -
    - - - Abilities - - -
    -
    -
    - Raw Abilities -
    -
    - Rating -
    -
    - Advancement -
    -
    - Town Abilities -
    -
    - Rating -
    -
    - Advancement -
    -
    -
    -
    - - - - Will - - -
    -
    - - -
    -
    - -
    - P: - - - - - - -
    -
    - F: - - - - - -
    -
    -
    - - - - Resources - - -
    -
    - - -
    -
    - -
    - P: - - - - - - - - - - -
    -
    - F: - - - - - - - - - -
    -
    -
    -
    -
    - - - - Health - - -
    -
    - - -
    -
    - -
    - P: - - - - - - -
    -
    - F: - - - - - -
    -
    -
    - - - - Circles - - -
    -
    - - -
    -
    - -
    - P: - - - - - - - - - - -
    -
    - F: - - - - - - - - - -
    -
    -
    -
    -
    - - - - Nature - - -
    -
    - - - / - - -
    -
    - -
    - P: - - - - - - - -
    -
    - F: - - - - - - -
    -
    -
    - Precedence -
    -
    - - -
    -
    -
    - Might -
    -
    - - -
    -
    -
    -
    - Nature Descriptors: -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -
    - - - -
    -
    - - - Skills - - -
    - - Afraid: No help or Beginner's Luck. - - Sick: Can not practice, learn, or advance. + +
    +
    + +
    +
    + + + Who You Are + +
    +
    +
    + Name: + + +
    +
    + Stock: + + +
    +
    + Class: + + +
    +
    + Age: + + +
    +
    + Home: + + +
    +
    + Raiment: + + +
    +
    +
    +
    + Parents: + + +
    +
    + Mentor: + + +
    +
    + Friend: + + +
    +
    + Enemy: + + +
    +
    + Level: + + +
    +
    +
    + +
    +
    + + + What You Fight For + +
    +
    +
    + Belief + Uphold your belief in your actions and earn a fate point + + +
    +
    + Creed + Endure a moral test driven by your creed and earn a persona + point + + +
    +
    + Goal + Accomplish a goal to earn a persona point + + +
    +
    + Instinct + Use an instinct to aid the group and earn a fate point + + Exhausted: May not use instinct for free. + + +
    +
    +
    + +
    +
    + + + Traits + +
    +
    +
    +
    + Trait name +
    +
    + Trait level +
    +
    + Beneficial uses +
    +
    + Checks +
    +
    + + Angry: No beneficial traits. +
    + +
    + + +
    +
    + + 1 +1D per session + 2 +2D per session + 3 +1s on suc/tie roll +
    +
    + + + + All appropriate tests +
    +
    + + + +
    +
    +
    + +
    + + +
    +
    + + 1 +1D per session + 2 +2D per session + 3 +1s on suc/tie roll +
    +
    + + + + All appropriate tests +
    +
    + + + +
    +
    +
    + +
    + + +
    +
    + + 1 +1D per session + 2 +2D per session + 3 +1s on suc/tie roll +
    +
    + + + + All appropriate tests +
    +
    + + + +
    +
    +
    + +
    + + +
    +
    + + 1 +1D per session + 2 +2D per session + 3 +1s on suc/tie roll +
    +
    + + + + All appropriate tests +
    +
    + + + +
    +
    +
    + +
    +
    +
    + +
    + +
    + + + Fate + + +
    +
    +
    + Fate +
    +
    + Current Total / Total Spent +
    +
    + +
    +
    + +
    +
    +
    +
    + Spend one point to reroll all 6s as new dice, use a wise or learn + from help. +
    +
    + Persona +
    +
    + Current Total / Total Spent +
    +
    + +
    +
    + +
    +
    +
    +
    + Spend one point to add 1D, tap nature, or use a wise. You may + spend up to three points to add up to 3D per roll. +
    +
    +
    + +
    +
    + + + Conditions + + +
    +
    + +
    +
    + Condition +
    +
    + Recovery +
    +
    +
    +
    + + Fresh +
    +
    + +1D all tests until other condition. +
    +
    +
    +
    + + Hungry and Thirsty +
    +
    + -1S to disposition to any conflict. +
    +
    +
    +
    + + Angry +
    + + + Will Ob 2 +
    +
    +
    + No wises or beneficial traits. +
    +
    +
    +
    + + Afraid +
    + + + Will Ob 3 +
    +
    +
    + No help or use Beginner's Luck +
    +
    +
    +
    + + Exhausted +
    + + + Health Ob 3 +
    +
    +
    + -1S to disposition to any conflict; may not use instinct for + free. +
    +
    +
    +
    + + Injured +
    + + + Health Ob 4 +
    +
    +
    + -1D to skills, Nature, Will, and Health (but not + recovery) +
    +
    +
    +
    + + Sick +
    + + + Will Ob 3 +
    +
    +
    + -1D to skills, Nature, Will, and Health (but not recovery); can + not practice, learn, or advance. +
    +
    +
    +
    + + Dead +
    +
    + May not test, help, or use wises. +
    +
    +
    +
    +
    +
    + Earning Checks +
    +
    + 1: -1D to your ind. or versus test +
    +
    + 2: +2D to opponent's versus test +
    +
    + 2: Break versus test tie in opponent's favor +
    +
    + Spending Checks +
    +
    + 1: One test or conflict during camp phase +
    +
    + 1: Recover when entering town +
    +
    + +
    +
    +
    + + +
    +
    + + + Abilities + + +
    +
    +
    + Raw Abilities +
    +
    + Rating +
    +
    + Advancement +
    +
    + Town Abilities +
    +
    + Rating +
    +
    + Advancement +
    +
    +
    +
    + + + + Will + + +
    +
    + + +
    +
    + +
    + P: + + + + + + +
    +
    + F: + + + + + +
    +
    +
    + + + + Resources + + +
    +
    + + +
    +
    + +
    + P: + + + + + + + + + + +
    +
    + F: + + + + + + + + + +
    +
    +
    +
    +
    + + + + Health + + +
    +
    + + +
    +
    + +
    + P: + + + + + + +
    +
    + F: + + + + + +
    +
    +
    + + + + Circles + + +
    +
    + + +
    +
    + +
    + P: + + + + + + + + + + +
    +
    + F: + + + + + + + + + +
    +
    +
    +
    +
    + + + + Nature + + +
    +
    + + + / + + +
    +
    + +
    + P: + + + + + + + +
    +
    + F: + + + + + + +
    +
    +
    + Precedence +
    +
    + + +
    +
    +
    + Might +
    +
    + + +
    +
    +
    +
    + Nature Descriptors: +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    + + + +
    +
    + + + Skills + + +
    + + Afraid: No help or Beginner's Luck. + + Sick: Can not practice, learn, or advance.
    -
    -
    - Skill -
    -
    - Rating -
    -
    - Advancement -
    -
    - -
    +
    + Rating +
    +
    + Advancement +
    +
    +
    +
    + + - - Alchemist - - + Alchemist + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Arcanist - - + Arcanist + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Armorer - - + Armorer + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Cartographer - - + Cartographer + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Commander - - + Commander + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Cook - - + Cook + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Criminal - - + Criminal + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Dungeoneer - - + Dungeoneer + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Fighter - - + Fighter + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Haggler - - + Haggler + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Healer - - + Healer + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Hunter - - + Hunter + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Laborer - - + Laborer + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Loremaster - - + Lore Master + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Manipulator - - + Manipulator + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Mentor - - + Mentor + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Orator - - + Orator + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    -
    -
    - Skill -
    -
    - Rating -
    -
    - Advancement -
    -
    +
    +
    + Skill +
    +
    + Rating +
    +
    + Advancement +
    +
    - - - - Pathfinder - - + Pathfinder + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Peasant - - + Peasant + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Persuader - - + Persuader + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Rider - - + Rider + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Ritualist - - + Ritualist + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Sapper - - + Sapper + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Scavenger - - + Scavenger + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Scholar - - + Scholar + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Scout - - + Scout + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - - - - Survivalist - - + Survivalist + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + H
    - - - - Theologian - - + Theologian + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - + BL: + + + + + + + W
    - +
    - - - - - - + + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - - - W - H + BL: + + + + + + + + + W + H
    - +
    - - - - - - + + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - - - W - H + BL: + + + + + + + + + W + H
    - +
    - - - - - - + + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - - - W - H + BL: + + + + + + + + + W + H
    - +
    - - - - - - + + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - - - W - H + BL: + + + + + + + + + W + H
    - +
    - - - - - - + + +
    - - + +
    - +
    P: - - - - - - + + + + + +
    F: - - - - - + + + + +
    - BL: - - - - - - - - - W - H + BL: + + + + + + + + + W + H
    -
    - -
    -
    - - - -
    -
    - - - Wises - - -
    - - Angry: No wises. -
    -
    -
    - - -
    -
    -
    - - Pass -
    -
    - - Fail -
    -
    - - Fate -
    -
    - - Persona -
    -
    -
    -
    -
    - - -
    -
    -
    - - Pass -
    -
    - - Fail -
    -
    - - Fate -
    -
    - - Persona -
    -
    -
    -
    -
    -
    -
    - - -
    -
    -
    - - Pass -
    -
    - - Fail -
    -
    - - Fate -
    -
    - - Persona -
    -
    -
    -
    -
    - - -
    -
    -
    - - Pass -
    -
    - - Fail -
    -
    - - Fate -
    -
    - - Persona -
    -
    -
    -
    -
    -
    -
    -
    - -
    - -
    -
    - - Inventory - -
    -
    -
    -
    - Head -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    -
    -
    - Neck -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    -
    -
    - Hands -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    - Carried - - -
    - - Damaged -
    -
    -
    - Carried - - -
    - - Damaged -
    -
    -
    -
    -
    - Feet -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    -
    -
    -
    -
    - Torso -
    - -
    - Worn - Satchel -
    - - Damaged -
    -
    -
    - Worn - Backpack -
    - - Damaged -
    -
    -
    - Worn - Backpack -
    - - Damaged -
    -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    - Worn - - -
    - - Damaged -
    -
    -
    -
    -
    - Belt -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    - 3 - - -
    - - Damaged -
    -
    -
    - Belt items: belt 1, pack 1, or weapon 1. Bundled pack items must be kept in a purse or pouch. -
    -
    -
    -
    - Pocket -
    -
    - Trinkets - - -
    - - Damaged -
    -
    -
    -
    -
    -
    -
    - - No Bag -
    -
    - - Satchel -
    -
    - - Backpack -
    -
    - -
    -
    - Satchel -
    -
    - Satchel: Torso/Worn 1 -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    - 3 - - -
    - - Damaged -
    -
    -
    -
    -
    - Backpack -
    -
    - Backpack: Torso/Worn 2. Factor for Dungeoneer and Fighter. -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    - 3 - - -
    - - Damaged -
    -
    -
    - 4 - - -
    - - Damaged -
    -
    -
    - 5 - - -
    - - Damaged -
    -
    -
    - 6 - - -
    - - Damaged -
    -
    -
    -
    -
    -
    -
    -
    -
    - - Small Sack -
    -
    - - Large Sack -
    -
    - - Cache -
    -
    - -
    -
    - Small Sack -
    -
    -
    - - Carried -
    -
    - - Dropped -
    -
    - - Lost -
    -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    -
    -
    - Large Sack -
    -
    - Requires two hands to carry or pack 1 when empty -
    -
    -
    - - Carried -
    -
    - - Dropped -
    -
    - - Lost -
    -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    - 3 - - -
    - - Damaged -
    -
    -
    - 4 - - -
    - - Damaged -
    -
    -
    - 5 - - -
    - - Damaged -
    -
    -
    - 6 - - -
    - - Damaged -
    -
    -
    -
    -
    - Cache -
    -
    - Stashed in camp, in your home, or at your mom's house -
    -
    - 1 - - -
    - - Damaged -
    -
    -
    - 2 - - -
    - - Damaged -
    -
    -
    - 3 - - -
    - - Damaged -
    -
    -
    - 4 - - -
    - - Damaged -
    -
    -
    - 5 - - -
    - - Damaged -
    -
    -
    - 6 - - -
    - - Damaged -
    -
    -
    - 7 - - -
    - - Damaged -
    -
    -
    - 8 - - -
    - - Damaged -
    -
    -
    - 9 - - -
    - - Damaged -
    -
    -
    - 10 - - -
    - - Damaged -
    -
    -
    - 11 - - -
    - - Damaged -
    -
    -
    - 12 - - -
    - - Damaged -
    -
    -
    -
    -
    -
    -
    -
    - -
    - -
    -
    - - Relics - -
    -
    -
    -
    - Relic -
    -
    - Inventory -
    -
    - Invocation/Patron/Circle -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -
    -
    - Urdr -
    - - - - - -
    - Burden -
    - - - - - - - - - - - -
    - - Stigmata -
    -
    -
    - -
    -
    - - Arcane Spells - -
    -
    -
    - Memory Palace -
    - - - - - - -
    -
    -
    -
    -
    -
    - Spell -
    -
    - Ob -
    -
    - known -
    -
    - spell book -
    -
    - mem. -
    -
    - cast -
    -
    - scroll -
    -
    - supplies -
    -
    - effect -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    -
    -
    -
    - -
    - -
    -
    - - Allies & Enemies - -
    -
    -
    -
    - Name -
    -
    - Location -
    -
    - Status -
    -
    - Notes -
    -
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    -
    -
    -
    -
    - -
    - -
    -
    - - Level Requirements and Benefits - -
    -
    -
    -
    - Level -
    -
    - F -
    -
    - P -
    -
    - Level Benefits -
    -
    -
    -
    - 1 -
    -
    - 0 -
    -
    - 0 -
    -
    - - +1D to Resources in your home town, - -
    -
    -
    -
    - 2 -
    -
    - 3 -
    -
    - 3 -
    -
    - - -
    -
    -
    -
    - 3 -
    -
    - 7 -
    -
    - 6 -
    -
    - - +1D to Circles in your home town, - -
    -
    -
    -
    - 4 -
    -
    - 14 -
    -
    - 12 -
    -
    - - -
    -
    -
    -
    - 5 -
    -
    - 22 -
    -
    - 20 -
    -
    - - -
    -
    -
    -
    - 6 -
    -
    - 31 -
    -
    - 30 -
    -
    - - -
    -
    -
    -
    - 7 -
    -
    - 41 -
    -
    - 42 -
    -
    - - -
    -
    -
    -
    - 8 -
    -
    - 52 -
    -
    - 56 -
    -
    - - -
    -
    -
    -
    - 9 -
    -
    - 64 -
    -
    - 72 -
    -
    - - -
    -
    -
    -
    - 10 -
    -
    - 78 -
    -
    - 98 -
    -
    - - -
    -
    -
    -
    -
    - -
    - -
    -
    - - Sheet Settings - -
    -
    - Roll Style -
    - - Complex - - Uses advanced roll modal -
    -
    - - Simple - - Roll directly to chat -
    -
    -
    -
    +
    + +
    +
    + + + +
    +
    + + + Wises + + +
    + + Angry: No wises. +
    +
    +
    + + +
    +
    +
    + + Pass +
    +
    + + Fail +
    +
    + + Fate +
    +
    + + Persona +
    +
    +
    +
    +
    + + +
    +
    +
    + + Pass +
    +
    + + Fail +
    +
    + + Fate +
    +
    + + Persona +
    +
    +
    +
    +
    +
    +
    + + +
    +
    +
    + + Pass +
    +
    + + Fail +
    +
    + + Fate +
    +
    + + Persona +
    +
    +
    +
    +
    + + +
    +
    +
    + + Pass +
    +
    + + Fail +
    +
    + + Fate +
    +
    + + Persona +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + + Inventory + +
    +
    +
    +
    + Head +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    +
    +
    + Neck +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    +
    +
    + Hands +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    + Carried + + +
    + + Damaged +
    +
    +
    + Carried + + +
    + + Damaged +
    +
    +
    +
    +
    + Feet +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    +
    +
    +
    +
    + Torso +
    + +
    + Worn + Satchel +
    + + Damaged +
    +
    +
    + Worn + Backpack +
    + + Damaged +
    +
    +
    + Worn + Backpack +
    + + Damaged +
    +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    + Worn + + +
    + + Damaged +
    +
    +
    +
    +
    + Belt +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    + 3 + + +
    + + Damaged +
    +
    +
    + Belt items: + belt 1, pack 1, or weapon 1. Bundled pack items must be kept in a + purse or pouch. +
    +
    +
    +
    + Pocket +
    +
    + Trinkets + + +
    + + Damaged +
    +
    +
    +
    +
    +
    +
    + + No Bag +
    +
    + + Satchel +
    +
    + + Backpack +
    +
    + +
    +
    + Satchel +
    +
    + Satchel: Torso/Worn 1 +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    + 3 + + +
    + + Damaged +
    +
    +
    +
    +
    + Backpack +
    +
    + Backpack: Torso/Worn 2. Factor for Dungeoneer and Fighter. +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    + 3 + + +
    + + Damaged +
    +
    +
    + 4 + + +
    + + Damaged +
    +
    +
    + 5 + + +
    + + Damaged +
    +
    +
    + 6 + + +
    + + Damaged +
    +
    +
    +
    +
    +
    +
    +
    +
    + + Small Sack +
    +
    + + Large Sack +
    +
    + + Cache +
    +
    + +
    +
    + Small Sack +
    +
    +
    + + Carried +
    +
    + + Dropped +
    +
    + + Lost +
    +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    +
    +
    + Large Sack +
    +
    + Requires two hands to carry or pack 1 when empty +
    +
    +
    + + Carried +
    +
    + + Dropped +
    +
    + + Lost +
    +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    + 3 + + +
    + + Damaged +
    +
    +
    + 4 + + +
    + + Damaged +
    +
    +
    + 5 + + +
    + + Damaged +
    +
    +
    + 6 + + +
    + + Damaged +
    +
    +
    +
    +
    + Cache +
    +
    + Stashed in camp, in your home, or at your mom's house +
    +
    + 1 + + +
    + + Damaged +
    +
    +
    + 2 + + +
    + + Damaged +
    +
    +
    + 3 + + +
    + + Damaged +
    +
    +
    + 4 + + +
    + + Damaged +
    +
    +
    + 5 + + +
    + + Damaged +
    +
    +
    + 6 + + +
    + + Damaged +
    +
    +
    + 7 + + +
    + + Damaged +
    +
    +
    + 8 + + +
    + + Damaged +
    +
    +
    + 9 + + +
    + + Damaged +
    +
    +
    + 10 + + +
    + + Damaged +
    +
    +
    + 11 + + +
    + + Damaged +
    +
    +
    + 12 + + +
    + + Damaged +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + + Relics + +
    +
    +
    +
    + Relic +
    +
    + Inventory +
    +
    + Invocation/Patron/Circle +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    + Urdr +
    + + + + + +
    + Burden +
    + + + + + + + + + + + +
    + + Stigmata +
    +
    +
    + +
    +
    + + Arcane Spells + +
    +
    +
    + Memory Palace +
    + + + + + + +
    +
    +
    +
    +
    +
    + Spell +
    +
    + Ob +
    +
    + known +
    +
    + spell book +
    +
    + mem. +
    +
    + cast +
    +
    + scroll +
    +
    + supplies +
    +
    + effect +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + + Allies & Enemies + +
    +
    +
    +
    + Name +
    +
    + Location +
    +
    + Status +
    +
    + Notes +
    +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + + Level Requirements and Benefits + +
    +
    +
    +
    + Level +
    +
    + F +
    +
    + P +
    +
    + Level Benefits +
    +
    +
    +
    + 1 +
    +
    + 0 +
    +
    + 0 +
    +
    + + +1D to Resources in your home town, + + +
    +
    +
    +
    + 2 +
    +
    + 3 +
    +
    + 3 +
    +
    + + +
    +
    +
    +
    + 3 +
    +
    + 7 +
    +
    + 6 +
    +
    + + +1D to Circles in your home town, + + +
    +
    +
    +
    + 4 +
    +
    + 14 +
    +
    + 12 +
    +
    + + +
    +
    +
    +
    + 5 +
    +
    + 22 +
    +
    + 20 +
    +
    + + +
    +
    +
    +
    + 6 +
    +
    + 31 +
    +
    + 30 +
    +
    + + +
    +
    +
    +
    + 7 +
    +
    + 41 +
    +
    + 42 +
    +
    + + +
    +
    +
    +
    + 8 +
    +
    + 52 +
    +
    + 56 +
    +
    + + +
    +
    +
    +
    + 9 +
    +
    + 64 +
    +
    + 72 +
    +
    + + +
    +
    +
    +
    + 10 +
    +
    + 78 +
    +
    + 98 +
    +
    + + +
    +
    +
    +
    +
    + +
    + +
    +
    + + Sheet Settings + +
    +
    + Roll Style +
    + + Complex + + - Uses advanced roll modal +
    +
    + + Simple + + - Roll directly to chat +
    +
    +
    +
    - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
    - +
    - -
    - - Check - -
    -
    -
    - Obstacle Type -
    - - Independent -
    -
    - - Versus -
    -
    - - Disposition -
    -
    - - Simple -
    -
    -
    - You're Rolling - -
    -
    - - Versus - Disposition - Obstacle # - Opponent's # of Dice -
    -
    - Will -
    -
    - Health -
    -
    - Nature -
    -
    - -
    -
    - - - - -
    -
    -
    -
    - Options - -
    - - Using Trait -
    - -
    -
    -
    - - Spend Persona -
    - -
    -
    -
    - - Use Nature (+D) -
    - -
    -
    -
    - - Help or Aid -
    - -
    -
    -
    - - Gear or Supplies -
    - -
    -
    -
    - - Party is Hungry and Thirsty (-1S) -
    - -
    - - Home Town (+1D) -
    -
    - - Enchanted Item Effect (+1D) -
    -
    - - Invocation Effect (+1D) -
    -
    - - Spell Effect (+1D) -
    -
    - - Level Benefit (+1D) -
    -
    - - Dim Light (-1S) -
    -
    - - Evil GM Factor (-1S) -
    -
    - - Other Modifiers -
    - Dice - - Successes - -
    -
    -
    -
    - - Active Modifiers -
    - - (+D) - -
    -
    - - - Fresh (+1D) - -
    -
    - - - - Injured (-1D) - -
    -
    - - - - Sick (-1D) - -
    -
    - - - Exhausted (-1S) - -
    -
    - - - Hungry and Thirsty (-1S) - -
    -
    - - - Party is Hungry and Thirsty (-1S) - -
    -
    - - - Wearing a Backpack (+1 Ob) - -
    -
    - - - Trait (+D) - -
    -
    - - - Persona (+D) - - Spending Persona - - -
    -
    - - - Nature (+D) - - - - Outside Taxes Nature - -
    -
    - - - Help or Aid (+D) - -
    -
    - - - Gear or Supplies (+D) - -
    - -
    - - - Home Town (+1D) - -
    -
    - - - Enchanted Item Effect (+1D) - -
    -
    - - - Invocation Effect (+1D) - -
    -
    - - - Spell Effect (+1D) - -
    -
    - - - Level Benefit (+1D) - -
    -
    - - - Dim Light (-1S) - -
    -
    - - - Evil GM Factor (-1S) - -
    -
    - - - Other Modifiers (+D) (+S) - -
    -
    - - - - Beginner's Luck (Total Halved) - -
    -
    -
    + +
    + Check +
    +
    +
    + Obstacle Type +
    + + Independent +
    +
    + + Versus +
    +
    + + Disposition +
    +
    + + Simple +
    +
    +
    + You're Rolling + +
    +
    + + Against + Disposition + Obstacle # + Opponent's # of Dice +
    +
    + Will +
    +
    + Health +
    +
    + Nature +
    +
    + +
    +
    + + + + +
    +
    +
    +
    + Options + +
    + + Using Trait +
    + +
    +
    +
    + + Spend Persona +
    + +
    +
    +
    + + Use Nature (+D) +
    + +
    +
    +
    + + Help or Aid +
    + +
    +
    +
    + + Gear or Supplies +
    + +
    +
    +
    + + Party is Hungry and Thirsty (-1S) +
    + +
    + + Home Town (+1D) +
    +
    + + Enchanted Item Effect (+1D) +
    +
    + + Invocation Effect (+1D) +
    +
    + + Spell Effect (+1D) +
    +
    + + Level Benefit (+1D) +
    +
    + + Dim Light (-1S) +
    +
    + + Evil GM Factor (-1S) +
    +
    + + Other Modifiers +
    + Dice + + Successes + +
    +
    +
    +
    + + Active Modifiers +
    + + (+D) + +
    +
    + + + Fresh (+1D) + +
    +
    + + + + Injured (-1D) + +
    +
    + + + + Sick (-1D) + +
    +
    + + + Exhausted (-1S) + +
    +
    + + + Hungry and Thirsty (-1S) + +
    +
    + + + Party is Hungry and Thirsty (-1S) + +
    +
    + + + Wearing a Backpack (-1S) + +
    +
    + + + Trait (+D) + +
    +
    + + + Persona (+D) + + Spending Persona + + +
    +
    + + + Nature (+D) + + + + Outside Taxes Nature + +
    +
    + + + Help or Aid (+D) + +
    +
    + + + Gear or Supplies (+D) + +
    + +
    + + + Home Town (+1D) + +
    +
    + + + Enchanted Item Effect (+1D) + +
    +
    + + + Invocation Effect (+1D) + +
    +
    + + + Spell Effect (+1D) + +
    +
    + + + Level Benefit (+1D) + +
    +
    + + + Dim Light (-1S) + +
    +
    + + + Evil GM Factor (-1S) + +
    +
    + + + Other Modifiers (D) (S) + +
    +
    + + + + Beginner's Luck (Total Halved) + +
    +
    +
    - - -
    -
    - {{roll_name}} {{number_of_dice}} -
    - {{#character}} - {{character}} + +
    +
    + {{roll_name}} {{number_of_dice}} +
    + {{#character}} + {{character}} {{#bl}} - {{/bl}} {{/character}} {{#bl}} - Beginner's Luck ({{bl}}) - {{/bl}} -
    -
    -
    - {{#dead}} + Beginner's Luck ({{bl}}) + {{/bl}} +
    +
    +
    + {{#dead}}
    You're dead, seems unlikely
    @@ -3900,13 +11598,13 @@
    {{/rollGreater() result 1}} {{#rollTotal() result 1}} -
    - {{result}} -
    - - {{/rollTotal() result 1}} +
    + {{result}} +
    + + {{/rollTotal() result 1}} {{#rollTotal() result 0}}
    {{result}} @@ -3916,34 +11614,34 @@
    {{/rollTotal() result 0}} {{/dead}} -
    -
    - {{#conditions}} - {{conditions}} - {{/conditions}} -
    -
    - +
    +
    + {{#conditions}} + {{conditions}} + {{/conditions}} +
    +
    + - -
    -
    - {{roll_name}} {{number_of_dice}} -
    - {{#character}} - {{character}} - {{#bl}} - {{/bl}} - {{/character}} - {{#bl}} - Beginner's Luck ({{bl}}) - {{/bl}} -
    -
    -
    - {{#dead}} -
    - You're dead, seems unlikely -
    + +
    +
    + {{roll_name}} {{number_of_dice}} +
    + {{#character}} + {{character}} + {{#bl}} - {{/bl}} {{/character}} {{#bl}} + Beginner's Luck ({{bl}}) + {{/bl}} +
    +
    +
    + {{#dead}} +
    + You're dead, seems unlikely +
    {{/dead}} {{^dead}} {{#simple}} @@ -3956,13 +11654,13 @@
    {{/rollGreater() result 1}} {{#rollTotal() result 1}} -
    - {{result}} -
    - - {{/rollTotal() result 1}} +
    + {{result}} +
    + + {{/rollTotal() result 1}} {{#rollTotal() result 0}}
    {{result}} @@ -3981,8 +11679,7 @@ @@ -3999,6 +11696,39 @@ Successes {{/^rollTotal() result 1}}
    +
    + {{#success_mod}} + {{#^rollTotal() success_mod 0}} + {{#^rollLess() success_mod 0}} +
    + + + {{success_mod}} +
    + + {{/^rollLess() success_mod 0}} + {{#rollLess() success_mod 0}} +
    + {{success_mod}} +
    + + {{/rollLess() success_mod 0}} + {{/^rollTotal() success_mod 0}} + {{/success_mod}} +
    {{/^rollLess() result ob}}
    {{#conflict}} @@ -4024,67 +11754,62 @@
    {{#rollLess() ob result}} -
    - {{ob}} -
    - - {{/rollLess() ob result}} - {{#^rollLess() ob result}} -
    - {{ob}} -
    - +
    + {{ob}} +
    + + {{/rollLess() ob result}} {{#^rollLess() ob result}} +
    + {{ob}} +
    + {{/^rollLess() ob result}}
    {{/conflict}} {{/simple}} {{/dead}} -
    - {{#conflict}} + + {{#conflict}}
    - {{#might}}Might {{might}}{{/might}} - {{#precedence}}Precedence {{precedence}}{{/precedence}} + {{#might}}Might {{might}}{{/might}} {{#precedence}}Precedence + {{precedence}}{{/precedence}}
    - {{/conflict}} -
    - {{#conditions}} - {{conditions}} + {{/conflict}} +
    + {{#conditions}} + {{conditions}} {{/conditions}} {{#modifiers}} {{#conditions}} - , - {{/conditions}} - {{modifiers}} - {{/modifiers}} -
    -
    -
    - + , + {{/conditions}} + {{modifiers}} + {{/modifiers}} + + + - diff --git a/Trudvang Chronicles/translations/de.json b/Trudvang Chronicles/translations/de.json index 6151ed32d9..1ddb6e7752 100644 --- a/Trudvang Chronicles/translations/de.json +++ b/Trudvang Chronicles/translations/de.json @@ -1,16 +1,16 @@ { "version-1-0": "Version 1.0", "traits-and-personal-information": "Traits and personal information", - "character-name": "Character Name", + "character-name": "Charakter Name", "name": "Name", "type": "Typ", "roll": "Wurf", "race": "Rasse", "human": "Mensch", "stormlanders": "Stormlanders", - "mittlanders": "Mittlanders", + "mittlanders": "Mittländer", "viranns": "Viranns", - "wildfolk": "Wildfolk", + "wildfolk": "Wildlinge", "elf": "Elf", "korpikalli": "Korpikalli", "illmalaini": "Illmalaini", @@ -33,7 +33,7 @@ "height": "Höhe", "weight": "Gewicht", "archetype": "Archetype", - "mother-tongue": "Mother Tongue", + "mother-tongue": "Muttersprache", "charisma": "Charisma", "constitution": "Konstitution", "disciplines---specialties-": "Disciplines & Specialties:", diff --git a/Ultima Torcia - Mono Pagina/lutss.html b/Ultima Torcia - Mono Pagina/lutss.html deleted file mode 100644 index b4124b7e38..0000000000 --- a/Ultima Torcia - Mono Pagina/lutss.html +++ /dev/null @@ -1,545 +0,0 @@ -
    - - - -
    -
    -
    - Nome - Sono - Pregio -
    -
    - - - -
    -
    -
    - Punti Avventura -
    -
    - Fiorini -
    -
    - - - -
    -
    -
    - - - - - - - - -
    -
    - Agilità - Coraggio - Forza - Intelligenza - Magia - Percezione - Manualità - Socialità -
    -
    - - - - - - - - -
    -
    - D - D - D - D - D - D - D - D -
    -
    - - - - - - - - -
    -
    - - - - - - - - -
    -
    - - - -
    -
    -
    - Orso - -
    - - - - - - - - -
    - -
    - - - - - - - - - -
    - -
    -
    - Cervo - -
    - - - - - - - - -
    - -
    - - - - - - - - - -
    - -
    -
    - Aquila - -
    - - - - - - - - -
    - -
    - - - - - - - - - -
    - -
    -
    - Serpente - -
    - - - - - - - - -
    - -
    - - - - - - - - - -
    - -
    -
    - - - -
    -
    -
    -
    - Salute -
    -
    - Attuale -
    -
    - Massima -
    -
    -
    -
    - Mana -
    -
    - Attuale -
    -
    - Massimo -
    -
    -
    -
    - Armatura -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    Arma
    -
    -
    -
    - Attacco -
    -
    - -
    -
    - -
    -
    - Danno -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    Arma
    -
    -
    -
    - Attacco -
    -
    - -
    -
    - -
    -
    - Danno -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    Arma
    -
    -
    -
    - Attacco -
    -
    - -
    -
    - -
    -
    - Danno -
    -
    - -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    Arma
    -
    -
    -
    - Attacco -
    -
    - -
    -
    - -
    -
    - Danno -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - - - -
    -
    -
    - Freccie/Dardi -
    - -
    -
    -
    - Razioni -
    - -
    -
    -
    - Borraccia -
    - -
    -
    -
    -
    -
    Abilità
    -
    - - - - -
    -
    -
    -
    Abilità
    -
    - - - - -
    -
    -
    -
    Abilità
    -
    - - - - -
    -
    -
    -
    Abilità
    -
    - - - - -
    -
    -
    -
    Abilità
    -
    - - - - -
    -
    -
    - - -
    - Orso -
    -
    - Attuale -
    -
    - Massima -
    -
    - Cervo -
    -
    - Attuale -
    -
    - Massima -
    -
    - Aquila -
    -
    - Attuale -
    -
    - Massima -
    -
    - Serpente -
    -
    - Attuale -
    -
    - Massima -
    -
    -
    - -
    - - - -
    -
    -
    Abilità di razza
    - -
    Equipaggiamento
    - -
    -
    -
    Abilità di ruolo
    - -
    -
    - -
    - - \ No newline at end of file diff --git a/Ultima Torcia - Mono Pagina/sheet_preview.jpg b/Ultima Torcia - Mono Pagina/sheet_preview.jpg deleted file mode 100644 index 490aaff83a..0000000000 Binary files a/Ultima Torcia - Mono Pagina/sheet_preview.jpg and /dev/null differ diff --git a/Ultima Torcia - Mono Pagina/lutss.css b/Ultima Torcia - Pagina Singola/lutps.css similarity index 67% rename from Ultima Torcia - Mono Pagina/lutss.css rename to Ultima Torcia - Pagina Singola/lutps.css index 4c787c79a7..ffb82329cf 100644 --- a/Ultima Torcia - Mono Pagina/lutss.css +++ b/Ultima Torcia - Pagina Singola/lutps.css @@ -1,93 +1,76 @@ .sheet-background_image{ - background-image: url('https://lh3.googleusercontent.com/proxy/DnedhAlHP7F5gQZVN02yrdTFmezTpobr3Ge6yC3Rt83IazxPsYujZ0WRNRjgsFtGUT5jGBkx4c47ZkXuGvfth7buktk0'); + background-image: url('https://i.pinimg.com/564x/94/4b/8b/944b8bc440e1fabaedfd57be0f31ba2f.jpg'); background-repeat: no-repeat; background-size: cover; - width: 100%; + min-width: 800px; height: auto; } .sheet-info{ display: flex; flex-direction: row; align-items: center; - width: 100%; + justify-content: space-around; } -.sheet-info_names{ +.sheet-infoNames{ display: flex; flex-direction: column; justify-content: space-around; } -.sheet-info_names_input{ +.sheet-infoNamesInput{ display: flex; flex-direction: column; margin-left: 10px; } -.sheet-info_names_input1{ - font-size: 15; +.sheet-infoNamesInput1{ + font-size: 15px; width: 300px; } .sheet-pa_input{ - width: 60px; - height: 40px; - font-size: 30; + font-size: 30px; + text-align: center; } .sheet-florins_input{ - width: 80px; - height: 40px; - font-size: 30; + font-size: 30px; + text-align: center; } -.sheet-bs_name_bear{ +.sheet-bsNameBear{ display: flex; width: 55px; } -.sheet-bs_name_deer{ +.sheet-bsNameDeer{ display: flex; width: 60px; } -.sheet-bs_name_eagle{ +.sheet-bsNameEagle{ display: flex; width: 70px; } -.sheet-bs_name_snake{ +.sheet-bsNameSnake{ display: flex; width: 80px; } -.sheet-bs_buttons{ +.sheet-bsButtons{ display: flex; - flex-direction: column; + flex-direction: row; align-items: center; justify-content: space-around; } -.sheet-all_stats{ +.sheet-allStats{ display: flex; - margin-top: 20px; - width: 100%; + margin-top: 10px; + flex-direction: row; + justify-content: space-around; } -.sheet-character_info{ +.sheet-characterInfo{ display: flex; flex-direction: row; margin-top: 20px; - width: 50%; margin-left: 20px; } -.sheet-character_info_1{ +.sheet-characterInfo2{ display: flex; flex-direction: column; align-items: center; - width: 20%; -} -.sheet-character_info_2{ - display: flex; - flex-direction: column; - align-items: center; - width: 20%; -} -.sheet-info_button{ - display: flex; - flex-direction: column; - align-items: center; - margin-top: 15px; - margin-right: 10px; - width: 20%; } .sheet-merit{ display: flex; @@ -95,42 +78,48 @@ margin-top: 10px; } .sheet-stats{ - font-size: 30; + font-size: 25px; margin-left: 10px; display: flex; flex-direction: column; justify-content: space-around; } .sheet-dice{ - font-size: 30; + font-size: 25px; margin-left: 10px; display: flex; flex-direction: column; justify-content: space-around; } -.sheet-stats_left { +.sheet-statsLeft { display: flex; flex-direction: row; align-self: center; margin-left: 15px; - width: 45%; } -.sheet-stats_right{ +.sheet-statsRight{ display: flex; - flex-direction: row; + flex-direction: column; justify-content: space-evenly; - width: 55%; } .sheet-bs{ display: flex; - flex-direction: column; + flex-direction: row; align-items: center; justify-content: space-around; } -.sheet-input_bs{ +.sheet-inputBs{ display: flex; - justify-content: center; - align-content: center; + justify-content: space-around; + width: 50px; + height: 30px; + font-size: 15px; + margin-left: 10px; + margin-right: 10px; +} +.sheet-bsCheckbox{ + display: flex; + justify-content: space-around; width: 60px; font-size: 20px; } @@ -149,17 +138,15 @@ display: flex; justify-content: center; align-content: center; - width: 25px; - height: 30px; - font-size: 25; + width: 23px; + font-size: 20px; } .sheet-ability_input_mod{ display: flex; justify-content: center; align-content: center; - width: 40px; - height: 30px; - font-size: 25; + width: 35px; + font-size: 20px; } .sheet-stats_buttons{ display: flex; @@ -167,46 +154,49 @@ justify-content: space-around; margin-left: 10px; } -.sheet-input_stats{ - width: 55px; - font-size: 25; -} -.sheet-central_sheet{ +.sheet-centralSheet{ display: flex; - margin-top: 20; + margin-top: 10px; + flex-direction: row; justify-content: space-around; - width: 100%; } -.sheet-central_left_sheet{ +.sheet-centralLeft{ display: flex; - flex-direction: column; - width: 40%; + flex-direction: column; + justify-content: space-around; } -.sheet-central_left_sheet_healt{ +.sheet-centralHealt{ display: flex; justify-content: space-around; align-items: center; } -.sheet-central_left_sheet_healt_stats{ +.sheet-centralStats{ display: flex; flex-direction: column; justify-content: center; align-items: center; } -.sheet-central_left_sheet_stats_name{ +.sheet-centralLeftSheetStatsName{ font-size: 20; margin-bottom: 5px; } -.sheet-central_left_sheet_stats_name2{ +.sheet-centralLeftSheetStatsName2{ font-size: 20; margin-bottom: 21px; } -.sheet-input_stats_min_max{ + +.sheet-inputStats{ + width: 55px; + font-size: 15px; + text-align: center; +} +.sheet-inputStatsMinMax{ display: flex; justify-content: space-around; align-items: center; flex-direction: column; margin-bottom: 10px; + text-align: center; } .sheet-makeWeapon{ display: flex; @@ -217,8 +207,7 @@ flex-direction: row; justify-content: space-around; align-self: center; - margin-bottom: 15; - margin-top: 5; + margin-top: 5px; } .sheet-weaponName{ display: flex; @@ -226,13 +215,14 @@ font-size: 15; align-items: center; } -.sheet-weapon_input{ +.sheet-weaponInput{ margin-left: 10; } .sheet-weapons{ - font-size: 20; - margin-left: 5px; display: flex; + font-size: 20; + margin-left: 5px; + align-items: center; } .sheet-weaponsStats { display: flex; @@ -245,7 +235,16 @@ display: flex; justify-content: center; align-content: center; - width: 65px; + width: 42px; + height: 20px; + font-size: 15; +} +.sheet-inputWeaponDiceMod{ + display: flex; + justify-content: center; + align-content: center; + margin-left: 5px; + width: 25px; height: 20px; font-size: 15; } @@ -255,7 +254,7 @@ justify-content: space-around; margin-left: 10px; } -.sheet-utility_container{ +.sheet-utilityContainer{ display: flex; flex-direction: column; justify-content: space-around; @@ -266,41 +265,46 @@ align-items: center; justify-content: space-around; } -.sheet-utility_stats{ +.sheet-utilityStats{ display: flex; flex-direction: column; } -.sheet-utility_stats_name{ +.sheet-utilityStatsName{ font-size: 15; - margin-bottom: 10px; } -.sheet-extra_ability{ +.sheet-extraAbility{ display: flex; flex-direction: column; justify-content: space-around; } -.sheet-extra_ability_input{ +.sheet-extraAbilityInput{ display: flex; flex-direction: row; align-items: center; justify-content: space-around; - margin-top: 10px; + margin-bottom: 10px; } -.sheet-extra_ability_input2{ - width: 65px; +.sheet-extraAbilityInput2{ + width: 45px; font-size: 15; + margin-top: 5px; } -.sheet-stats_right_bottom{ +.sheet-extraAbilityInput3{ + width: 27px; + font-size: 15; + margin-top: 5px; +} +.sheet-statsRightBottom{ display: flex; flex-direction: column; align-items: center; justify-content: center; } -.sheet-stats_right_bottom_name{ +.sheet-statsRightBottomName{ font-size: 20; margin-bottom: 5px; } -.sheet-stats_right_bottom_display{ +.sheet-statsRightBottomDisplay{ display: flex; } .sheet-inputUtility{ @@ -313,25 +317,40 @@ .sheet-ability_input{ margin-left: 10px; } -.sheet-equip_ability{ +.sheet-equipAbility{ display: flex; flex-direction: column; align-items: center; justify-content: space-around; } -.sheet-equip_ability_input_left{ - width: 340px; - height: 190px; - font-size: 20; -} -.sheet-equip_ability_input_right{ - width: 340px; - height: 400px; - font-size: 20; -} .sheet-notes{ display: flex; justify-content: space-around; margin-top: 10px; - width: 100%; +} +.sheet-equipAbilityInputLeft{ + width: 370px; + height: 190px; + font-size: 18px; + margin-bottom: 10px; +} +.sheet-equipAbilityInputRight{ + width: 370px; + height: 420px; + font-size: 18px; + margin-bottom: 10px; +} + +.sheet-columns { + display: flex; + justify-content: space-between; + margin: 15px; +} +.sheet-columns > * { + flex: 1; +} + +input.sheet-toggle-show:not(:checked) ~ div.sheet-body, +input.sheet-toggle-hide:checked ~ div.sheet-body { + display: none; } \ No newline at end of file diff --git a/Ultima Torcia - Pagina Singola/lutps.html b/Ultima Torcia - Pagina Singola/lutps.html new file mode 100644 index 0000000000..a045ac36ba --- /dev/null +++ b/Ultima Torcia - Pagina Singola/lutps.html @@ -0,0 +1,594 @@ +
    + + + +
    +
    +
    + Nome + Sono + Pregio +
    +
    + + + +
    +
    +
    + Punti Avventura +
    +
    + Fiorini +
    +
    + +
    +
    + + Mostra/Nascondi suggerimenti Caratteristiche Personaggio e Bestie Sovrane +
    Caratteristiche Personaggio: mettere a sinistra il numero di dadi (2 o 1) e a destra il modificatore con il simbolo (+1 o -1), come nella scheda originale.

    Bestie Sovrane: negli spazi appositi, inserire i dadi da usare completi di numero, D e facce del dado (2D10 o 2d10).

    IMPORTANTE: le caselle di selezione a sinistra delle Caratteristiche Personaggio e a destra del nome delle Bestie Sovrane, servono solo a ricordare quale Pregio si possiede e quale trasformazione si possiede e non vanno a modificare il lancio dei dadi. Dovrete ricordarvi di ritirare il Pregio se il dado o i dadi fanno 1 o 2 su quella caratteristica.
    +
    +
    + + + +
    +
    +
    + + + + + + + + +
    +
    + Agilità + Coraggio + Forza + Intelligenza + Magia + Percezione + Manualità + Socialità +
    +
    + + + + + + + + +
    +
    + D + D + D + D + D + D + D + D +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + +
    +
    +
    + Orso + +
    +
    + Cervo + +
    +
    + Aquila + +
    +
    + Serpente + +
    +
    + +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    +
    + + + + + + + + +
    + +
    +
    + +
    +
    + + Mostra/Nascondi suggerimenti Armi e Abilità +
    Armi e Abilità: inserire il nome dell'arma o dell'abilità nella parte di sopra. Nella parte di sotto, a sinistra i dadi da usare completi di numero, D e facce del dado (2D10 o 2d10) e a destra il modificatore (+1 o -1), poi premere il bottone adiacente che li tirerà. Si possono mettere fino a tre tiri di dado per abilità (esempio: Getto di Fiamme ha bersagli, tiro per colpire e danno)
    +
    +
    + + + +
    +
    +
    +
    + Salute +
    +
    + Attuale +
    +
    + Massima +
    +
    +
    +
    + Mana +
    +
    + Attuale +
    +
    + Massimo +
    +
    +
    +
    + Armatura +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    Arma +
    +
    +
    +
    + Attacco +
    +
    + + +
    +
    + +
    +
    + Danno +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    Arma +
    +
    +
    +
    + Attacco +
    +
    + + +
    +
    + +
    +
    + Danno +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    Arma +
    +
    +
    +
    + Attacco +
    +
    + + +
    +
    + +
    +
    + Danno +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    Arma +
    +
    +
    +
    + Attacco +
    +
    + + +
    +
    + +
    +
    + Danno +
    +
    + + +
    +
    + +
    +
    +
    +
    +
    + + + +
    +
    +
    + Freccie/Dardi +
    + +
    +
    +
    + Razioni +
    + +
    +
    +
    + Borraccia +
    + +
    +
    +
    + +
    +
    Abilità
    +
    + + + + + + + + + +
    +
    + +
    +
    Abilità
    +
    + + + + + + + + + +
    +
    +
    +
    Abilità
    +
    + + + + + + + + + +
    +
    +
    +
    Abilità
    +
    + + + + + + + + + +
    +
    +
    +
    Abilità
    +
    + + + + + + + + + +
    +
    +
    + +
    + Orso +
    +
    + Attuale +
    +
    + Massima +
    +
    + Cervo +
    +
    + Attuale +
    +
    + Massima +
    +
    + Aquila +
    +
    + Attuale +
    +
    + Massima +
    +
    + Serpente +
    +
    + Attuale +
    +
    + Massima +
    +
    +
    + +
    + + + +
    +
    +
    Abilità di razza
    + +
    Equipaggiamento
    + +
    +
    +
    Abilità di ruolo
    + +
    +
    + +
    \ No newline at end of file diff --git a/Ultima Torcia - Mono Pagina/sheet.json b/Ultima Torcia - Pagina Singola/sheet.json similarity index 50% rename from Ultima Torcia - Mono Pagina/sheet.json rename to Ultima Torcia - Pagina Singola/sheet.json index c2073add42..c640699837 100644 --- a/Ultima Torcia - Mono Pagina/sheet.json +++ b/Ultima Torcia - Pagina Singola/sheet.json @@ -1,8 +1,8 @@ { - "html": "lutss.html", - "css": "lutss.css", - "authors": "Alberto Aresu (DiabloVarius on Roll20)", + "html": "lutps.html", + "css": "lutps.css", + "authors": "Alberto Aresu (DiabloVarius on Roll20, DiabloVarius#7522 on Discord)", "roll20userid": "2122249", "instructions": "Simple italian version of L'Ultima Torcia (The Last Torch) character sheet, with only one page and Beasts Stats", - "preview": "sheet_preview.jpg" + "preview": "sheet_preview.png" } \ No newline at end of file diff --git a/Ultima Torcia - Pagina Singola/sheet_preview.png b/Ultima Torcia - Pagina Singola/sheet_preview.png new file mode 100644 index 0000000000..56bf46e41c Binary files /dev/null and b/Ultima Torcia - Pagina Singola/sheet_preview.png differ diff --git a/Vaesen-dodgepong/Assets/vaesen-d66.png b/Vaesen-dodgepong/Assets/vaesen-d66.png new file mode 100644 index 0000000000..4583e62b98 Binary files /dev/null and b/Vaesen-dodgepong/Assets/vaesen-d66.png differ diff --git a/Vaesen-dodgepong/Assets/vaesen-fail.png b/Vaesen-dodgepong/Assets/vaesen-fail.png new file mode 100644 index 0000000000..5f365a4f85 Binary files /dev/null and b/Vaesen-dodgepong/Assets/vaesen-fail.png differ diff --git a/Vaesen-dodgepong/Assets/vaesen-resources.png b/Vaesen-dodgepong/Assets/vaesen-resources.png new file mode 100644 index 0000000000..71dd868992 Binary files /dev/null and b/Vaesen-dodgepong/Assets/vaesen-resources.png differ diff --git a/Vaesen-dodgepong/Assets/vaesen-success.png b/Vaesen-dodgepong/Assets/vaesen-success.png new file mode 100644 index 0000000000..413f240a49 Binary files /dev/null and b/Vaesen-dodgepong/Assets/vaesen-success.png differ diff --git a/Vaesen-dodgepong/vaesen.css b/Vaesen-dodgepong/vaesen.css index ac40e5c1e0..1d72acbc43 100644 --- a/Vaesen-dodgepong/vaesen.css +++ b/Vaesen-dodgepong/vaesen.css @@ -1,6 +1,17 @@ +.sheet-preload { + opacity: 0; + position: absolute; +} + +.sheet-preload img { + width: 1px; + height: 1px; +} + .charsheet { box-sizing: border-box; position: absolute; + font-family: Georgia, 'Times New Roman', Times, serif } .sheet-container { width: 882px; @@ -122,12 +133,22 @@ textarea.sheet-label { background-color: #efefef; } +.sheet-marginless-section { + padding: 4px; + background-color: #efefef; + border: 1px #dddddd solid; +} + .sheet-usedbox { display: flex; align-items: center; padding: 5px; } +.sheet-experience { + text-align: center +} + .sheet-conditionbox { margin: 4px; } @@ -139,13 +160,14 @@ textarea.sheet-label { .sheet-condition { display: flex; align-items: center; - text-transform: uppercase; + font-variant: small-caps; font-size: 11px; } .sheet-statpoints { display: flex; align-items: center; + justify-content: center; } /* headquarters */ @@ -305,11 +327,23 @@ button[type="action"].sheet-skill-button:hover { } button[type="roll"].sheet-skill-button.btn { - text-transform: uppercase; + font-variant: small-caps; font-size: 12px; font-weight: bold; } +.sheet-fullbutton { + display: flex; + flex-direction: column; + justify-content: center; + text-align: center; +} + +.sheet-die { + font-family: pictos; + font-variant: normal; + padding-right: 4px; +} /* CHECKBOXES */ @@ -412,8 +446,102 @@ input.sheet-checkbox { background: white; } +/* Roll Templates */ - /* COLUMN LAYOUT */ +.sheet-rolltemplate-vaesen-d66 .inlinerollresult, +.sheet-rolltemplate-vaesen-resources .inlinerollresult, +.sheet-rolltemplate-vaesen-skill .inlinerollresult { + border: none !important; + background-color: transparent; + font-weight: bold; + padding: 0 3px 0 0; + font-family: Georgia, 'Times New Roman', Times, serif; + font-size: 50px; + color: white; +} + +.sheet-rolltemplate-vaesen-d66 .sheet-vaesen-d66-roll .sheet-vaesen-d66-roll-title { + font-family: Georgia, 'Times New Roman', Times, serif; + text-align: left; + color: white; + font-size: 16px; + position: relative; + top: -40px; +} + +.sheet-rolltemplate-vaesen-resources .sheet-vaesen-resources-roll .sheet-vaesen-resources-roll-title, +.sheet-rolltemplate-vaesen-skill .sheet-vaesen-skill-roll .sheet-vaesen-skill-roll-title { + font-family: Georgia, 'Times New Roman', Times, serif; + text-align: left; + color: white; + font-size: 16px; + position: relative; + top: -30px; +} + +.sheet-rolltemplate-vaesen-resources .sheet-vaesen-resources-roll .sheet-vaesen-resources-roll-successtext, +.sheet-rolltemplate-vaesen-skill .sheet-vaesen-skill-roll .sheet-vaesen-skill-roll-successtext { + font-family: Georgia, 'Times New Roman', Times, serif; + text-align: center; + color: white; + font-size: 12px; + padding-top: 4px; +} + +.sheet-rolltemplate-vaesen-d66 .sheet-vaesen-d66-roll { + display: flex; + flex-direction: column; + justify-content: center; + margin: 10px 30px 0 0; + text-align: center; + padding: 10px; + width: 200px; + height: 125px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen-dodgepong/Assets/vaesen-d66.png"); + background-repeat: no-repeat; + background-size: contain; +} + +.sheet-rolltemplate-vaesen-resources .sheet-vaesen-resources-roll { + display: flex; + flex-direction: column; + justify-content: center; + margin: 10px 30px 0 0; + text-align: center; + padding: 10px; + width: 200px; + height: 125px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen-dodgepong/Assets/vaesen-resources.png"); + background-repeat: no-repeat; + background-size: contain; +} + + +.sheet-rolltemplate-vaesen-skill .sheet-vaesen-skill-roll { + display: flex; + flex-direction: column; + justify-content: center; + margin: 10px 30px 0 0; + text-align: center; + padding: 10px; + width: 200px; + height: 125px; +} + +.sheet-rolltemplate-vaesen-skill .sheet-vaesen-skill-roll-fail { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen-dodgepong/Assets/vaesen-fail.png"); + background-repeat: no-repeat; + background-size: contain; +} + +.sheet-rolltemplate-vaesen-skill .sheet-vaesen-skill-roll-success { + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen-dodgepong/Assets/vaesen-success.png"); + background-repeat: no-repeat; + background-size: contain; +} + + +/* COLUMN LAYOUT */ .sheet-flex { display: flex; } @@ -497,5 +625,8 @@ input.sheet-checkbox { width: 100%; } .sheet-colspace { + margin-right: 8px; +} +.sheet-colpad { padding-right: 8px; } \ No newline at end of file diff --git a/Vaesen-dodgepong/vaesen.html b/Vaesen-dodgepong/vaesen.html index b203f8d1b6..1cad8b0056 100644 --- a/Vaesen-dodgepong/vaesen.html +++ b/Vaesen-dodgepong/vaesen.html @@ -1,3 +1,4 @@ +
    @@ -13,7 +14,7 @@
    Name
    -
    +
    Archetype
    @@ -127,10 +128,8 @@
    Agility Modifier
    -
    -
    -
    +
    +
    @@ -162,8 +161,8 @@
    Bonus
    -
    -
    @@ -171,28 +170,33 @@
    -
    -

    Experience

    -
    - - -
    - -
    - -
    - -
    - +
    +
    +

    Experience

    +
    + + +
    + +
    + +
    + +
    + +
    +
    +
    +

    Attributes

    -
    - +
    +
    -
    +
    @@ -206,10 +210,10 @@
    -
    - +
    +
    -
    +
    @@ -223,10 +227,10 @@
    -
    - +
    +
    -
    +
    @@ -240,10 +244,10 @@
    -
    - +
    +
    -
    +
    @@ -260,7 +264,7 @@
    -
    @@ -304,7 +308,7 @@
    - +
    @@ -338,7 +342,7 @@
    - +
    @@ -347,10 +351,10 @@

    Skills

    -
    - +
    +
    -
    +
    @@ -364,10 +368,10 @@
    -
    - +
    +
    -
    +
    @@ -381,10 +385,10 @@
    -
    - +
    +
    -
    +
    @@ -398,10 +402,10 @@
    -
    - +
    +
    -
    +
    @@ -415,10 +419,10 @@
    -
    - +
    +
    -
    +
    @@ -432,10 +436,10 @@
    -
    - +
    +
    -
    +
    @@ -449,10 +453,10 @@
    -
    - +
    +
    -
    +
    @@ -466,10 +470,10 @@
    -
    - +
    +
    -
    +
    @@ -483,10 +487,10 @@
    -
    - +
    +
    -
    +
    @@ -500,10 +504,10 @@
    -
    - +
    +
    -
    +
    @@ -517,10 +521,10 @@
    -
    - +
    +
    -
    +
    @@ -534,10 +538,10 @@
    -
    - +
    +
    -
    +
    @@ -566,11 +570,11 @@
    Type of Building
    -
    +
    Location
    -
    +
    Development Points
    @@ -661,4 +665,39 @@
    -
    \ No newline at end of file +
    + +
    +
    {{title}}
    +
    {{result}}
    +
    +
    + +
    +
    {{title}}
    +
    {{result}}
    + {{#rollTotal() result 1}} +
    Success
    + {{/rollTotal() result 1}} + {{#^rollTotal() result 1}} +
    Successes
    + {{/^rollTotal() result 1}} +
    +
    + + {{#rollGreater() result 0}} +
    + {{/rollGreater() result 0}} + {{#rollLess() result 1}} +
    + {{/rollLess() result 1}} +
    {{title}}
    +
    {{result}}
    + {{#rollTotal() result 1}} +
    Success
    + {{/rollTotal() result 1}} + {{#^rollTotal() result 1}} +
    Successes
    + {{/^rollTotal() result 1}} +
    + \ No newline at end of file diff --git a/Vaesen-dodgepong/vaesen.png b/Vaesen-dodgepong/vaesen.png index 3c75e72280..811e18d690 100644 Binary files a/Vaesen-dodgepong/vaesen.png and b/Vaesen-dodgepong/vaesen.png differ diff --git a/Vaesen/Images/footer.png b/Vaesen/Images/footer.png new file mode 100644 index 0000000000..23024b5c9a Binary files /dev/null and b/Vaesen/Images/footer.png differ diff --git a/Vaesen/Images/footer2.png b/Vaesen/Images/footer2.png new file mode 100644 index 0000000000..9e1877fd6a Binary files /dev/null and b/Vaesen/Images/footer2.png differ diff --git a/Vaesen/SheetSample.png b/Vaesen/SheetSample.png index 9dfc8e439d..3874b306d1 100644 Binary files a/Vaesen/SheetSample.png and b/Vaesen/SheetSample.png differ diff --git a/Vaesen/desktop.ini b/Vaesen/desktop.ini new file mode 100644 index 0000000000..1886d29b54 --- /dev/null +++ b/Vaesen/desktop.ini @@ -0,0 +1,2 @@ +[.ShellClassInfo] +LocalizedResourceName=Vaesen diff --git a/Vaesen/vaesen_sheet.css b/Vaesen/vaesen_sheet.css index 1576cfd7e9..97a6f2bcb9 100644 --- a/Vaesen/vaesen_sheet.css +++ b/Vaesen/vaesen_sheet.css @@ -1,8 +1,14 @@ /* Configure Tab Buttons */ .sheet-main, -.sheet-NPC { +.sheet-Vaesen, +.sheet-NPC, +.sheet-HQ, { display: none; } +.gmtab{ + background-color:#4a2e22; + color:white; +} .sheet-break { align:center; @@ -19,24 +25,62 @@ .sheet-header-image { background-color: transparent; /*transparent */ - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/VaesenLogo.png"); + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/VaesenLogo.png"); background-repeat: no-repeat; background-size: contain; grid-area: header-right; } +.sheet-footer-image { + background-color: transparent; /*transparent */ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/footer.png"); + background-repeat: no-repeat; + background-size: contain; + grid-area: footer; + +} +.sheet-footer-image2 { + background-color: transparent; /*transparent */ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/footer2.png"); + background-repeat: no-repeat; + background-size: contain; + grid-area: footer2; +} +.sheet-footer-image3 { + background-color: transparent; /*transparent */ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/footer2.png"); + background-repeat: no-repeat; + background-size: contain; + grid-area: footer3; +} .sheet-areaheader { text-align: center; - background-color: rgba(232, 230, 230, 0.5); + background-color: rgba(109, 109, 109, 0.5); font-style:italic; - font-size:large; + font-size:medium; color:#4a2e22; } .sheet-biglabel{ padding-right:1em; + font-size:medium; color:#4a2e22; } +.sheet-normallabel{ + padding-right:1em; + color:#4a2e22; + font-size:small; + font-weight:bold; +} +.sheet-normallabel-nb{ + padding-right:1em; + color:#4a2e22; + font-size:small; + font-weight:normal; +} .sheet-longtext { - width: 30em; + width: 45em; +} +.sheet-longtext2 { + width: 40em; } .sheet-med2text{ width:28em; @@ -44,16 +88,36 @@ .sheet-medtext { width:20em; } +.sheet-medtext2 { + width:19em; +} +.sheet-shorttext2{ + width:15em; +} .sheet-shorttext { width: 10em; } .sheet-tinytext { - width: 5em; + width: 4em; } .sheet-vaesentextarea{ height:30px; resize: none; } +.sheet-HQupradetextarea{ + height:5em; + width:25em; +} +.sheet-HQtextarea{ + height:20em; + resize: none; +} + +.sheet-NPCtextarea{ + height:60px; + resize: none; +} + .sheet-attribtext { width: 3em; } @@ -67,13 +131,18 @@ color:#4a2e22; } .sheet-nametext{ - width: 500px; + width: 15em; + font-size:x-large; + color:#4a2e22; +} +.sheet-nametext-med{ + width: 10em; font-size:xx-large; color:#4a2e22; } .sheet-resourcetext{ - width: 50px; - font-size:xx-large; + width: 3em; + font-size:x-large; text-align:center; color:#4a2e22; } @@ -109,63 +178,152 @@ .sheet-rightstats{ grid-area:stats-right; } +.sheet-mainspanning { + grid-area: spanning; +} + +/* Vaesen-GridAreas */ +.sheet-LeftVaesen { + grid-area: Vaesen-Left; +} +.sheet-RightVaesen { + grid-area: Vaesen-Right; +} +.sheet-VaesenAbilities { + grid-area: Vaesen-Abilities; +} +.sheet-VaesenName { + grid-area: Vaesen-Name; +} /* NPC-GridAreas */ -.sheet-LeftNPC { - grid-area: NPC-Left; -} -.sheet-RightNPC { - grid-area: NPC-Right; -} -.sheet-NPCAbilities { - grid-area: NPC-Abilities; -} .sheet-NPCName { grid-area: NPC-Name; } +.sheet-NPCAttribs { + grid-area: NPC-Attribs; +} +.sheet-NPCSkills { + grid-area: NPC-Skills; +} +.sheet-NPCEquip { + grid-area: NPC-Equipment; +} +.sheet-NPCMisc { + grid-area: NPC-Misc; +} +/* HQ-GridAreas */ -/*NPC Sheet Layout*/ +.sheet-HQimage { + background-color: transparent; /*transparent */ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/VaesenLogo.png"); + background-repeat: no-repeat; + background-size: contain; + grid-area: HQ-image; +} +.sheet-HQhistory { + grid-area: HQ-history; +} +.sheet-HQheader { + grid-area: HQ-header; +} +.sheet-HQupgrades { + grid-area: HQ-upgrades; +} +.sheet-HQleftupgrades { + grid-area: HQ-leftupgrades; +} +.sheet-HQrightupgrades { + grid-area: HQ-rightupgrades; +} + +/*PC Sheet Layout*/ .sheet-tabstoggle[value="main"] ~ div.sheet-main { display: grid; - grid-template-columns [gutter] 10px [Body-Left] 100px [Body-Right] 100px [break] 20px [skills] 300px [gutter] 10px; - grid-template-rows: [gutter] 5px [Name] auto [stats] auto [Body] auto [equipment] auto [Footer] auto [gutter] 5px; + width: 833px; + border: 1px solid black; + grid-template-columns: [gutter] 1em [Body-Left] 20em [Body-Right] 20em [break] 20px [skills] 15em [gutter] 1em; + grid-template-rows: [gutter] 2em [Name] auto [stats] 15em [spanning] 3em [Body] auto [equipment] auto [Footer] 5em [gutter] 2em; grid-template-areas: ". . . . . ." ". header-name header-name verticalrule header-right ." ". stats-left stats-right verticalrule skills ." + ". spanning spanning verticalrule skills ." ". body-left body-right verticalrule skills ." ". equipment equipment . skills ." - ". footer footer footer footer ." + ". footer footer2 footer2 footer3 ." ". . . . . ."; grid-gap: 10px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ background-repeat: repeat; - background-size: contain; + background-size: cover; } /*NPC Sheet Layout*/ .sheet-tabstoggle[value="NPC"] ~ div.sheet-NPC { display: grid; - grid-template-columns [gutter] 10px [Body-Left] 100px [break] 20px [body-right] 100px [gutter] 10px; + width: 732px; + border: 1px solid black; + grid-template-columns: [gutter] auto [Body-Left] 25em [break] 20px [body-right] 20em [gutter] auto; + grid-template-rows: [gutter] 5px [Name] auto [Attribs] auto [Skills] auto [Notes] auto [gutter] 5px; + grid-template-areas: + ". . . . ." + ". NPC-Name NPC-Name NPC-Name ." + ". NPC-Attribs . NPC-Equipment . " + ". NPC-Skills . NPC-Equipment ." + ". NPC-Misc NPC-Misc NPC-Misc ." + ". . . . ."; + grid-gap: 10px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-repeat: repeat; + background-size: cover; +} + +/*Vaesen Sheet Layout*/ +.sheet-tabstoggle[value="Vaesen"] ~ div.sheet-Vaesen { + display: grid; + width: 850px; + border: 1px solid black; + grid-template-columns: [gutter] auto [Body-Left] 30em [break] 20px [body-right] 30em [gutter] auto; grid-template-rows: [gutter] 5px [Name] auto [Stats] auto [Abilities] auto [gutter] 5px; grid-template-areas: ". . . . . " - ". NPC-Name NPC-Name . ." - ". NPC-Left . NPC-Right . " - ". NPC-Abilities . NPC-Right ." + ". Vaesen-Name Vaesen-Name . ." + ". Vaesen-Left . Vaesen-Right . " + ". Vaesen-Abilities . Vaesen-Right ." ". . . . . "; grid-gap: 10px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ background-repeat: repeat; - background-size: contain; + background-size: cover; } +/*Vaesen HQ Layout*/ +.sheet-tabstoggle[value="HQ"] ~ div.sheet-HQ { + display: grid; + border: 1px solid black; + width: 850px; + grid-template-columns: [gutter] auto [Body-Left] 25em [break] 10em [body-right] 25em [gutter] 10em; + grid-template-rows: [gutter] 5px [image] auto [header] auto [upgradespan] auto [upgrades] auto [gutter] 5px; + grid-template-areas: + ". . . . . " + ". HQ-image . HQ-history ." + ". HQ-header . HQ-history . " + ". HQ-upgrades HQ-upgrades HQ-upgrades ." + ". HQ-leftupgrades . HQ-rightupgrades ." + ". . . . . "; + grid-gap: 10px; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-repeat: repeat; + background-size: cover; +} + /*Attribute Roll Template*/ .sheet-rolltemplate-vaesen-attrib div.sheet-vaesen-container { border: 2px solid #000 !important; border-radius: 3px 3px 3px 3px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); /*Desaturated Paper Teture*/ - background-size: cover; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-size: cover; } .sheet-rolltemplate-vaesen-attrib .sheet-vaesen-header{ @@ -207,8 +365,8 @@ .sheet-rolltemplate-vaesen-skill div.sheet-vaesen-container { border: 2px solid #000 !important; border-radius: 3px 3px 3px 3px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); /*Desaturated Paper Teture*/ - background-size: cover; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-size: cover; } .sheet-rolltemplate-vaesen-skill .sheet-vaesen-header{ @@ -248,8 +406,8 @@ .sheet-rolltemplate-vaesen-attack div.sheet-vaesen-container { border: 2px solid #000 !important; border-radius: 3px 3px 3px 3px; - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); /*Desaturated Paper Teture*/ - background-size: cover; + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); /*Desaturated Paper Teture*/ + background-size: cover; } .sheet-rolltemplate-vaesen-attack .sheet-vaesen-header{ @@ -286,6 +444,58 @@ text-align:center; } +/*Repeating Setions*/ +.repcontrol { + display: flex; + margin-top: 3px; +} + +.repcontrol .repcontrol_edit { + margin-left: auto; + order: 1; +} + +.repcontrol button { + background: transparent; + color: #555; + border-radius: 0; + border-color: #999; + transition: all 0.2s; + font-family: pictos; + font-size: 0; + font-weight: bold; + padding: 5px 3px 2px; + line-height: 8px; +} + +.repcontrol button:hover { + color: green; + border-color: green; + background: #ddd; +} + +.repcontrol button.repcontrol_edit::after { + content: "("; +} + +.repcontrol button.repcontrol_add::after { + content: "&"; +} + +.repcontrol button.repcontrol_edit::after, .repcontrol button.repcontrol_add::after { + font-size: 20px; +} + +.repcontainer.editmode + .repcontrol button.repcontrol_edit::after { + content: ")"; +} + +.itemcontrol { + z-index: 20; +} + + + button[type="roll"].sheet-main:before{ content: ' '; @@ -296,8 +506,7 @@ button[type="roll"].sheet-main:hover{ } button[type="roll"].sheet-main{ - background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/vaesen/images/vasen_background.jpg"); - + background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Vaesen/Images/vasen_background.jpg"); background-size: 26px 26px; background-repeat: no-repeat; width: 26px; diff --git a/Vaesen/vaesen_sheet.html b/Vaesen/vaesen_sheet.html index 9068892856..858ef8fa1c 100644 --- a/Vaesen/vaesen_sheet.html +++ b/Vaesen/vaesen_sheet.html @@ -1,400 +1,684 @@ -
    - - +
    + + + + +
    + + +
    +
    +




    +
    +
    + + + + + + + + +
    +

    Development Points

    +
    + +
    +
    +
    + +
    +
    +
    +

    Upgrades

    +
    +
    +

    Facilities

    +
    + + + +
    +
    +

    contacts

    +
    + + + +
    +
    +
    +
    +

    Discovered Facilities

    +
    + + + +
    +
    +

    Personnel

    +
    + + + +
    +
    +
    +
    +
    +
    +
    + + + +
    +
    - - -
    -
    -
    - -
    - -
    - -
    - - - -
    - -
    - - -
    - -
    -
    -

    Relationships

    - -
    - - -
    -
    -
    -

    Talents

    - -
    - -
    -
    - -
    -
    -

    Insights & Defects

    -
    - -
    -
    -

    Advantages

    -
    - -
    -
    - -
    -
    - -

    Equipment

    - -
    -
    - - - -
    -
    -

    Mementos

    -
    - -
    -
    -

    Armor

    - - - - - - - -
    NameProtectAgility
    -
    -

    Weapons

    - - - - -
    Name Dmg Type Bonus
    -
    - - - - - -
    -
    - -
    - - -

    Attributes

    - - - - - - - - - +
    +

    + + + +
    - - - - - - - - - -
    Physique
    Precision
    Logic
    Empathy
    -
    - - - - - -

    Resources

    -
    -

    Physical Condtion

    - + +
    + +
    +
    +
    + +
    +

    Relationships

    + +
    + + +
    +
    +

    Talents

    + +
    + +
    +
    + +
    +

    Insights & Defects

    +
    + +
    +

    Advantages

    +
    + +
    +
    + +
    +
    +

    Equipment

    + +
    +
    + + + +
    +

    Mementos

    +
    + +
    +

    Armor

    + + + + + + + +
    NameProtectAgility
    +

    Weapons

    + + + + +
    NameRangeDamageType Bonus
    +
    + + + + -
    -

    Mental Condition

    - -
    - - -

    Skills

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Agility
    Close Combat
    Force
    Medicine
    Ranged Combat
    Stealth
    Investigation
    Learning
    Vigilance
    Inspiration
    Manipulation
    Observation
    -
    -

    Experience

    - - - - - - - - - - -
    - - - - - -

    Bonus Dice

    - - - -
    + + +
    -
    -
    - -
    -
    -
    - - -

    Attributes

    - - - - - - - - - - - - - - - - - - - - - - -
    Might
    Body Control
    Magic
    Manipulation
    Fear
    -
    -
    -
    -

    Conditions

    -
    - -
    + +
    + + +

    Attributes

    + + + + + + + + + + + + + + + + + + + +
    Physique
    Precision
    Logic
    Empathy
    +
    + + + + + +
    +

    Resources

    +
    + +
    + + + + + + + + +
    Capital:
    Spent:
    + +
    + Lifestyle: +
    +

    Conditions

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Physical + + Exhausted + + +
    + + + Battered + + +
    + + Wounded + + +
    + + Broken + + +
    + Mental + + Angry + + +
    + + + Frightened + + +
    + + Hopeless + + +
    + + Broken + + +
    +
    + + +

    Skills

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Agility
    Close Combat
    Force
    Medicine
    Ranged Combat
    Stealth
    Investigation
    Learning
    Vigilance
    Inspiration
    Manipulation
    Observation
    +
    +

    Experience

    + + + + + + + + + +
    - - + +

    Bonus Dice

    Dice mod.

    - - - -
    -
    -

    Abilities

    -
    - -
    -
    + + +
    +
    +
    +
    + +
    +
    +
    + + +

    Attributes

    + + + + + + + + + + + + + + + + + + + +
    Physique
    Precision
    Logic
    Empathy
    +
    + + + + + + + + + +
    Mental Toughness
    Physical Toughness
    +
    +
    +
    +

    Skills

    +
    + + + +
    +
    +
    +

    Equipment

    +
    +
    + + + +
    +
    + + + + + +

    Dice mod.

    + + + +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + + +

    Attributes

    + + + + + + + + + + + + + + + + + + + + + + +
    Might
    Body Control
    Magic
    Manipulation
    Fear
    +
    +
    +
    +

    Attacks

    + + + + +
    NameRangeDamage Bonus
    +
    + + + + + +
    +

    Conditions

    +
    + +
    +
    + + + + + +

    Dice Mod.

    + + + +
    +
    +

    Abilities

    +
    + +
    +
    +
    + -
    -
    - {{playername}} -
    -
    - {{attribname}} -
    -
    Attribute Dice: {{attribvalue}}
    -
    - Extra Dice: {{bonus}} -
    -
    {{result}}
    +
    +
    + {{playername}}
    +
    + {{attribname}} +
    +
    Attribute Dice: {{attribvalue}}
    +
    + Extra Dice: {{bonus}} +
    + {{#condition}} +
    + Condition Penalty: {{condition}} +
    + {{/condition}} +
    {{result}}
    +
    + -
    -
    - {{playername}} -
    -
    - {{skillname}} -
    -
    - Atrribute Dice: {{attribvalue}} -
    -
    - Skill Dice: {{skillvalue}} -
    -
    - Extra Dice: {{bonus}} -
    - {{#agility}} -
    - Armor Penalty: {{agility}} -
    - {{/agility}} -
    {{result}}
    +
    +
    + {{playername}}
    +
    + {{skillname}} +
    + {{#attribvalue}} +
    + Atrribute Dice: {{attribvalue}} +
    + {{/attribvalue}} + {{#skillvalue}} +
    + Skill Dice: {{skillvalue}} +
    + {{/skillvalue}} + {{#bonus}} +
    + Extra Dice: {{bonus}} +
    + {{/bonus}} + {{#agility}} +
    + Armor Penalty: {{agility}} +
    + {{/agility}} + {{#condition}} +
    + Condition Penalty: {{condition}} +
    + {{/condition}} +
    {{result}}
    +
    + -
    -
    - {{playername}} -
    -
    - {{attribname}} -
    -
    Attribute Dice: {{attribvalue}}
    -
    - Weapon Bonus: {{weabonus}} -
    -
    - Extra Dice: {{bonus}} -
    -
    - Damage: {{damage}} -
    -
    {{result}}
    +
    +
    + {{playername}}
    +
    + {{attribname}} +
    +
    Attribute Dice: {{attribvalue}}
    +
    + Weapon Bonus: {{weabonus}} +
    +
    + Extra Dice: {{bonus}} +
    +
    + Damage: {{damage}} +
    +
    {{result}}
    +
    - + diff --git a/WIthin/Within_sheet.css b/WIthin/Within_sheet.css index 5f5ee79ae7..48b2b0fee5 100644 --- a/WIthin/Within_sheet.css +++ b/WIthin/Within_sheet.css @@ -6,7 +6,10 @@ } .charsheet { - background: url(https://cdn.inspirationhut.net/wp-content/uploads/2012/11/Grungy-Paper-Textures.jpg); +/* + background: url(https://cdn.inspirationhut.net/wp-content/uploads/2012/11/Grungy-Paper-Textures.jpg); +*/ + background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/WIthin/images/within_background.jpg); width: 800px; color: black; } diff --git a/WIthin/Within_sheet.html b/WIthin/Within_sheet.html index de932fb828..5379100e79 100644 --- a/WIthin/Within_sheet.html +++ b/WIthin/Within_sheet.html @@ -23,8 +23,11 @@
    {{name}}
    rolls -
    {{#roll_name}}{{roll_name}}{{/roll_name}}{{#roll_mod}} ({{roll_mod}}){{/roll_mod}}
    +
    {{#roll_name}}{{roll_name}}{{/roll_name}}{{#roll_mod}} + ({{roll_mod}}){{/roll_mod}} +
    {{result}}SuccessSuccess{{result}}Partial SuccessPartial Success{{result}}MissMiss
    {{hold}}Current HoldCurrent Hold
    diff --git a/Worlds in Peril/translation.json b/Worlds in Peril/translation.json new file mode 100644 index 0000000000..70e1fc0f22 --- /dev/null +++ b/Worlds in Peril/translation.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Name", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/af.json b/Worlds in Peril/translations/af.json new file mode 100644 index 0000000000..70e1fc0f22 --- /dev/null +++ b/Worlds in Peril/translations/af.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Name", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/cs.json b/Worlds in Peril/translations/cs.json new file mode 100644 index 0000000000..e24da1a161 --- /dev/null +++ b/Worlds in Peril/translations/cs.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Velikost", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Stavy", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Pouto", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Jméno", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Úspěchy", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Hotovo", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/da.json b/Worlds in Peril/translations/da.json new file mode 100644 index 0000000000..355638c40e --- /dev/null +++ b/Worlds in Peril/translations/da.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Navn", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/de.json b/Worlds in Peril/translations/de.json new file mode 100644 index 0000000000..d0b41b853c --- /dev/null +++ b/Worlds in Peril/translations/de.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinkt", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Größe", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifikator", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Ermitteln", + "protect": "Protect", + "influence": "Einfluss", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Konditionen", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Unmöglich", + "bonds": "Verpflichtungen", + "threshold": "Schwellenwert", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Name", + "origin": "Herkunft", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Erfolge", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Erfolg", + "partial-success": "Partial Success", + "miss": "Verfehlt", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/el.json b/Worlds in Peril/translations/el.json new file mode 100644 index 0000000000..c380bf8e09 --- /dev/null +++ b/Worlds in Peril/translations/el.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Όνομα", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Επιτυχία", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/en.json b/Worlds in Peril/translations/en.json new file mode 100644 index 0000000000..70e1fc0f22 --- /dev/null +++ b/Worlds in Peril/translations/en.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Name", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/es.json b/Worlds in Peril/translations/es.json new file mode 100644 index 0000000000..9998e780d2 --- /dev/null +++ b/Worlds in Peril/translations/es.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mente Maestra", + "organizations": "Organizations", + "instinct": "Instinto", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigar", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderada", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Crítico", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Imposible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "Ciudad", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Nombre", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Logros", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Ventajas", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Éxito", + "partial-success": "Éxito Parcial", + "miss": "Falla", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/fr.json b/Worlds in Peril/translations/fr.json new file mode 100644 index 0000000000..d96a73c0e2 --- /dev/null +++ b/Worlds in Peril/translations/fr.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Tête Pensante", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Catégorie de taille", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Déplacements", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Invite", + "maneuver": "Parcourir", + "investigater": "Découverte", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description ", + "hold": "Je retiens..", + "conditions": "Conditions", + "minor": "Mineur", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Modéré", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critique", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficile", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Liens", + "threshold": "Seuil", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "Cité", + "value": "Valeur", + "law-enforcement": "Law Enforcement", + "name": "Nom", + "origin": "Origine", + "nemesis": "Némésis", + "working-towards": "Working Towards", + "achievements": "Trophées", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Avantages", + "psychological-profile": "Psychological Profile", + "drive": "Conduite", + "unlocks-when": "Unlocks When", + "success": "Succès ", + "partial-success": "Partial Success", + "miss": "Raté", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/he.json b/Worlds in Peril/translations/he.json new file mode 100644 index 0000000000..798d5c40ee --- /dev/null +++ b/Worlds in Peril/translations/he.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "שם", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/it.json b/Worlds in Peril/translations/it.json new file mode 100644 index 0000000000..c86c453332 --- /dev/null +++ b/Worlds in Peril/translations/it.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Pianificatore", + "organizations": "Organizations", + "instinct": "Istinto", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Taglia", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influenza", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Condizioni", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critico", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Legami", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Nome", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Riconoscimenti", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Guidare", + "unlocks-when": "Unlocks When", + "success": "Successo", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/ja.json b/Worlds in Peril/translations/ja.json new file mode 100644 index 0000000000..bbe1e5627e --- /dev/null +++ b/Worlds in Peril/translations/ja.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "サイズ", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "状態異常", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "絆・束縛", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "アイテム名", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "実績", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/ko.json b/Worlds in Peril/translations/ko.json new file mode 100644 index 0000000000..489dc3868d --- /dev/null +++ b/Worlds in Peril/translations/ko.json @@ -0,0 +1,75 @@ +{ + "chief": "편집장", + "mastermind": "마스터마인드", + "organizations": "조직", + "instinct": "본능", + "master-plan": "전체 음모의 최종 목표", + "step-1": "단계 1", + "fail-1": "실패시", + "step-2": "단계 2", + "fail-2": "실패시", + "mob": "졸개", + "mob-name": "이름", + "size": "규모", + "motivat-ties": "동기/연결고리", + "move-power": "액션/파워", + "punching-bags": "샌드백", + "punching-bag-name": "이름", + "condition-threshold": "상태 한계", + "codename": "히어로명", + "maneuver-u": "기교", + "investigate-u": "관찰", + "protect-u": "보호", + "influence-u": "영향", + "smash-u": "무력", + "push-u": "분투", + "moves": "액션", + "note": "노트:", + "note_move": "수정치 드롭다운에서 수동을 선택하면 수동으로 수정치를 입력할수 있습니다. 양수의 경우, 플러스(+) 기호를 넣지 않아도 되지만, 음수의 경우, 무조건 마이너스 (-) 기호가 들어가야 됩니다.", + "move-name": "열망 이름", + "modifier": "수정치", + "prompt": "수동", + "maneuver": "기교", + "investigater": "관찰", + "protect": "보호", + "influence": "영향", + "smash": "무력", + "description": "설명", + "hold": "Hold", + "conditions": "상태", + "minor": "경미함", + "minor-desc": "무시하면 악화될 수 있습니다", + "moderate": "큼", + "moderate-desc": "상태와 관련한 행동에 -1 페널티", + "critical": "심각함", + "critical-desc": "모든 행동에 -1 페널티 (최대 -3)", + "power-profile": "파워 목록", + "simple": "간단함", + "difficult": "힘듦", + "borderline": "한계선", + "possible": "잠재능력", + "impossible": "불가능", + "bonds": "인연", + "threshold": "한계", + "bonds-desc": "인연을 소모하여 성공을 확정할수 있습니다. 판정 결과가 6-가 나오면 결과를 7-9로 간주하며, 7-9가 나오면 10+로, 10+이 나오면 12+로 간주합니다.", + "city": "도시", + "value": "수치", + "law-enforcement": "사법 기관", + "name": "이름", + "origin": "기원", + "nemesis": "숙적", + "working-towards": "현재 추구하는 열망", + "achievements": "성취", + "hero-profile": "히어로 소개", + "team-profile": "팀 소개", + "powers": "파워", + "limitations": "제한", + "advantages": "이점", + "psychological-profile": "심리 프로필", + "drive": "열망 액션", + "unlocks-when": "액션 잠금 해제", + "success": "성공", + "partial-success": "불완전한 성공", + "miss": "실패", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/nl.json b/Worlds in Peril/translations/nl.json new file mode 100644 index 0000000000..48c7491548 --- /dev/null +++ b/Worlds in Peril/translations/nl.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Naam", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/pl.json b/Worlds in Peril/translations/pl.json new file mode 100644 index 0000000000..d03bdf0855 --- /dev/null +++ b/Worlds in Peril/translations/pl.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Śledztwo", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Nazwa", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Osiągnięcia", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Pudło", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/pt.json b/Worlds in Peril/translations/pt.json new file mode 100644 index 0000000000..58ddf8eca1 --- /dev/null +++ b/Worlds in Peril/translations/pt.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Visionário", + "organizations": "Organizations", + "instinct": "Instinto", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Domínio", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Crítico", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difícil", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossível", + "bonds": "Bonds", + "threshold": "Limite", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "Cidade", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Nome", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Conquistas", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Poderes", + "limitations": "Limitations", + "advantages": "Vantagens", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Sucesso", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/ru.json b/Worlds in Peril/translations/ru.json new file mode 100644 index 0000000000..55209d0c9b --- /dev/null +++ b/Worlds in Peril/translations/ru.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Размер", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Влияние", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Состояния", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Привязанность", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Название", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Достижения", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Успех", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/sv.json b/Worlds in Peril/translations/sv.json new file mode 100644 index 0000000000..d58f25a70f --- /dev/null +++ b/Worlds in Peril/translations/sv.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Undersöka", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "Namn", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Prestationer", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/tr.json b/Worlds in Peril/translations/tr.json new file mode 100644 index 0000000000..f18e451c0f --- /dev/null +++ b/Worlds in Peril/translations/tr.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "Size", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "Conditions", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "Critical", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "Bonds", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "İsim", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "Achievements", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "Success", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/zh.json b/Worlds in Peril/translations/zh.json new file mode 100644 index 0000000000..365769eb34 --- /dev/null +++ b/Worlds in Peril/translations/zh.json @@ -0,0 +1,75 @@ +{ + "chief": "Editor in Chief", + "mastermind": "Mastermind", + "organizations": "Organizations", + "instinct": "Instinct", + "master-plan": "Master Plan End Goal", + "step-1": "Step 1", + "fail-1": "Failure 1", + "step-2": "Step 2", + "fail-2": "Failure 2", + "mob": "Mobs", + "mob-name": "Mob Name", + "size": "體型", + "motivat-ties": "Motivations/Ties", + "move-power": "Moves/Powers", + "punching-bags": "Punching Bags", + "punching-bag-name": "Punching Bag Name", + "condition-threshold": "Condition Threshold", + "codename": "CODENAME", + "maneuver-u": "MANEUVER", + "investigate-u": "INVESTIGATE", + "protect-u": "PROTECT", + "influence-u": "INFLUENCE", + "smash-u": "SMASH", + "push-u": "PUSH", + "moves": "Moves", + "note": "Note:", + "note_move": "Selecting Prompt in the Modifier dropdown on a Move will enable you to manually enter the roll modifier when rolling that Move. For positive modifiers, do not include the plus (+) sign, but for negative modifiers, be sure to include the minus (-) sign.", + "move-name": "Move Name", + "modifier": "Modifier", + "prompt": "Prompt", + "maneuver": "Maneuver", + "investigater": "Investigate", + "protect": "Protect", + "influence": "Influence", + "smash": "Smash", + "description": "Description", + "hold": "Hold", + "conditions": "狀態", + "minor": "Minor", + "minor-desc": "Could be dangerous if ignored", + "moderate": "Moderate", + "moderate-desc": "Take a -1 if I do anything involving this", + "critical": "致命一擊", + "critical-desc": "Take a -1 to everything (Maximum -4)", + "power-profile": "Power Profile", + "simple": "Simple", + "difficult": "Difficult", + "borderline": "Borderline", + "possible": "Possible", + "impossible": "Impossible", + "bonds": "羈絆", + "threshold": "Threshold", + "bonds-desc": "Burn a bond to ensure success on a roll. A 6- becomes a 7-9, a 7-9 becomes a 10+, and a 10+ becomes a 12+.", + "city": "City", + "value": "Value", + "law-enforcement": "Law Enforcement", + "name": "名稱", + "origin": "Origin", + "nemesis": "Nemesis", + "working-towards": "Working Towards", + "achievements": "成就", + "hero-profile": "Hero Profile", + "team-profile": "Team Profile", + "powers": "Powers", + "limitations": "Limitations", + "advantages": "Advantages", + "psychological-profile": "Psychological Profile", + "drive": "Drive", + "unlocks-when": "Unlocks When", + "success": "成功", + "partial-success": "Partial Success", + "miss": "Miss", + "current-hold": "Current Hold" +} \ No newline at end of file diff --git a/Worlds in Peril/translations/zu.json b/Worlds in Peril/translations/zu.json new file mode 100644 index 0000000000..ef16c57ee4 --- /dev/null +++ b/Worlds in Peril/translations/zu.json @@ -0,0 +1,75 @@ +{ + "chief": "crwdns398464:0crwdne398464:0", + "mastermind": "crwdns398466:0crwdne398466:0", + "organizations": "crwdns398468:0crwdne398468:0", + "instinct": "crwdns398470:0crwdne398470:0", + "master-plan": "crwdns398472:0crwdne398472:0", + "step-1": "crwdns398474:0crwdne398474:0", + "fail-1": "crwdns398476:0crwdne398476:0", + "step-2": "crwdns398478:0crwdne398478:0", + "fail-2": "crwdns398480:0crwdne398480:0", + "mob": "crwdns398482:0crwdne398482:0", + "mob-name": "crwdns398484:0crwdne398484:0", + "size": "crwdns398486:0crwdne398486:0", + "motivat-ties": "crwdns398488:0crwdne398488:0", + "move-power": "crwdns398490:0crwdne398490:0", + "punching-bags": "crwdns398492:0crwdne398492:0", + "punching-bag-name": "crwdns398494:0crwdne398494:0", + "condition-threshold": "crwdns398496:0crwdne398496:0", + "codename": "crwdns398498:0crwdne398498:0", + "maneuver-u": "crwdns398500:0crwdne398500:0", + "investigate-u": "crwdns398502:0crwdne398502:0", + "protect-u": "crwdns398504:0crwdne398504:0", + "influence-u": "crwdns398506:0crwdne398506:0", + "smash-u": "crwdns398508:0crwdne398508:0", + "push-u": "crwdns398510:0crwdne398510:0", + "moves": "crwdns398512:0crwdne398512:0", + "note": "crwdns398514:0crwdne398514:0", + "note_move": "crwdns398516:0crwdne398516:0", + "move-name": "crwdns398518:0crwdne398518:0", + "modifier": "crwdns398520:0crwdne398520:0", + "prompt": "crwdns398522:0crwdne398522:0", + "maneuver": "crwdns398524:0crwdne398524:0", + "investigater": "crwdns398526:0crwdne398526:0", + "protect": "crwdns398528:0crwdne398528:0", + "influence": "crwdns398530:0crwdne398530:0", + "smash": "crwdns398532:0crwdne398532:0", + "description": "crwdns398534:0crwdne398534:0", + "hold": "crwdns398536:0crwdne398536:0", + "conditions": "crwdns398538:0crwdne398538:0", + "minor": "crwdns398540:0crwdne398540:0", + "minor-desc": "crwdns398542:0crwdne398542:0", + "moderate": "crwdns398544:0crwdne398544:0", + "moderate-desc": "crwdns398546:0crwdne398546:0", + "critical": "crwdns398548:0crwdne398548:0", + "critical-desc": "crwdns398550:0crwdne398550:0", + "power-profile": "crwdns398552:0crwdne398552:0", + "simple": "crwdns398554:0crwdne398554:0", + "difficult": "crwdns398556:0crwdne398556:0", + "borderline": "crwdns398558:0crwdne398558:0", + "possible": "crwdns398560:0crwdne398560:0", + "impossible": "crwdns398562:0crwdne398562:0", + "bonds": "crwdns398564:0crwdne398564:0", + "threshold": "crwdns398566:0crwdne398566:0", + "bonds-desc": "crwdns398568:0crwdne398568:0", + "city": "crwdns398570:0crwdne398570:0", + "value": "crwdns398572:0crwdne398572:0", + "law-enforcement": "crwdns398574:0crwdne398574:0", + "name": "crwdns398576:0crwdne398576:0", + "origin": "crwdns398578:0crwdne398578:0", + "nemesis": "crwdns398580:0crwdne398580:0", + "working-towards": "crwdns398582:0crwdne398582:0", + "achievements": "crwdns398584:0crwdne398584:0", + "hero-profile": "crwdns398586:0crwdne398586:0", + "team-profile": "crwdns398588:0crwdne398588:0", + "powers": "crwdns398590:0crwdne398590:0", + "limitations": "crwdns398592:0crwdne398592:0", + "advantages": "crwdns398594:0crwdne398594:0", + "psychological-profile": "crwdns398596:0crwdne398596:0", + "drive": "crwdns398598:0crwdne398598:0", + "unlocks-when": "crwdns398600:0crwdne398600:0", + "success": "crwdns398602:0crwdne398602:0", + "partial-success": "crwdns398604:0crwdne398604:0", + "miss": "crwdns398606:0crwdne398606:0", + "current-hold": "crwdns398608:0crwdne398608:0" +} \ No newline at end of file diff --git a/approved.yaml b/approved.yaml index 23b6181422..4ef45691fb 100644 --- a/approved.yaml +++ b/approved.yaml @@ -32,6 +32,12 @@ bandofbladesofficial: - "Forged in the Dark" - "publisher" +basicfantasy: + - "Basic Fantasy RPG" + - "Basic Fantasy RPG by Chris Gonnerman" + - "Basic Fantasy Role-Playing Game" + - "publisher" + bladesinthedarkadvancedofficial: - "Blades in the Dark" - "Blades in the Dark by Evil Hat Productions" @@ -513,12 +519,6 @@ nephilim: - "Nephilim" - "Basic Role-Playing" -#Nephilim-Legende -nephilimlegende: - - "Nephilim-Legende" - - "Nephilim Legende" - - "Nephilim Legende" - runequest3ed: - "Runequest3" - "RuneQuest 3rd Edition" @@ -822,6 +822,13 @@ serenity: - "Serenity" - "Cortex System" +#CRIANCAS ENXERIDAS +criancasenxeridas: + - "CriancasEnxeridas" + - "Criancas Enxeridas" + - "Criancas Enxeridas" + + #CRONICAS cronicasrpg: - "Cronicas-RPG" @@ -1290,6 +1297,12 @@ emberwind: - "Emberwind" - "Emberwind" +#L'EMPIRE DES CERISIERS +empiredescerisiers: + - "Empire_des_cerisiers" + - "L'Empire des Cerisiers" + - "L'Empire des Cerisiers" + #Emysfer emysfer: - "Emysfer" @@ -3010,9 +3023,8 @@ shadowrun5th: shadowrun6egerman: - "Shadowrun6th-German" - - "Shadow Run 6th Edition (German)" - - "Shadow Run 6th Edition" - + - "Shadowrun 6th Edition (German)" + - "Shadowrun 6th Edition" #SHADOWRUN ANARCHY newshadowrunanarchy: @@ -3238,6 +3250,11 @@ cwodchangeling: - "Changeling: The Dreaming" - "Storyteller System" +cwodtechnocracy: + - "CWOD-Technocracy" + - "Classic World of Darkness" + - "Storyteller System" + changeling20: - CWOD-C20 - "Changeling 20th Anniversary Edition" @@ -3398,6 +3415,12 @@ strain: - "Strain" - "Strain" +#STRATO SHOUT +stratoshout: + - "Strato Shout" + - "Strato Shout" + - "Strato Shout" + #STRIKE strike: - "Strike!" @@ -4028,8 +4051,8 @@ ultimatorcia: - "Ultima Torcia" ultimatorciamono: - - "Ultima Torcia - Mono Pagina" - - "Ultima Torcia - Mono Pagina" + - "Ultima Torcia - Pagina Singola" + - "Ultima Torcia - Pagina Singola" - "Ultima Torcia" @@ -4135,12 +4158,6 @@ thesprawl: - "Powered by the Apocalypse" - "hidden" -basicfantasy: - - "Basic Fantasy RPG" - - "Basic Fantasy RPG" - - "Basic Fantasy Role-Playing Game" - - "hidden" - callofcthulu: - "Call_of_Cthulhu" - "Call of Cthulhu 5th Edition" @@ -4603,6 +4620,11 @@ derbydrama: - "Derby Drama" - "Powered by the Apocalypse" +spiritof77: + - "Spirit_of_77" + - "Spirit of 77" + - "Powered by the Apocalypse" + fhtagn: - "FHTAGN" - "FHTAGN" @@ -4677,4 +4699,45 @@ vaesen: Vaesen-dodgepong: - "Vaesen-dodgepong" - "Vaesen" - - "Vaesen" \ No newline at end of file + - "Vaesen" + +#FAR WEST +farwestlaleyenda: + - "FarWest_LaLeyenda" + - "FarWest La Leyenda" + - "FarWest La Leyenda" + +#Terra Devastada +terradevastada: + - "TerraDevastada" + - "Terra Devastada" + - "Terra Devastada" + +#Invisible Sun +invisiblesun: + - "Invisible Sun" + - "Invisible Sun" + - "Invisible Sun" + +#Nephilim-Legende +nephilimlegende: + - "Nephilim-Legende" + - "Nephilim Legende" + - "Nephilim Legende" + +nephilimlegendeselenim: + - "Nephilim-Legende-Selenim" + - "Nephilim Legende Selenim" + - "Nephilim Legende" + +#PIRATES +piratesfr: + - "P.I.R.A.T.E.S" + - "P.I.R.A.T.E.S" + - "P.I.R.A.T.E.S" + +#Adventure time +adventuretime: + - "AdventureTime" + - "Adventure Time" + - "Adventure Time" \ No newline at end of file diff --git a/inSANe auto cal/translations/fr.json b/inSANe auto cal/translations/fr.json index 5606c7eac9..0f2e6f1527 100644 --- a/inSANe auto cal/translations/fr.json +++ b/inSANe auto cal/translations/fr.json @@ -138,7 +138,7 @@ "magic": "Magie", "cut_off": "Cut off", "shocked": "Shocked", - "scene": "Scene", + "scene": "Scène", "photography": "Photographie", "humanity": "Humanité", "dark": "Obscur", @@ -148,7 +148,7 @@ "drive": "Conduite", "history": "Histoire", "the_end": "The end", - "shoot": "Shoot", + "shoot": "Tirer", "hate": "Haine", "art": "Pratique artistique", "mechanical": "Mechanical", diff --git a/nechronica/nechronica.css b/nechronica/nechronica.css index 63cd2d6b54..46e5e0d495 100644 --- a/nechronica/nechronica.css +++ b/nechronica/nechronica.css @@ -1,9 +1,323 @@ -.sheet-block-a, -.sheet-block-switch:checked ~ .sheet-block-b { - display: block; -} -.sheet-block-b, -.sheet-block-switch:checked ~ .sheet-block-a { - display: none; +select, div, button, textarea, span, input, img, label{box-sizing: border-box; outline:0;} +fieldset {margin:0; padding:0; border:none;} +.ui-dialog .charsheet {padding:0;} + +.repcontrol {margin-top:5px;} +.sheet-nc-wrap .repcontainer.editmode .repitem .itemcontrol {position:static; height:auto;} +.sheet-nc-wrap .repcontainer.editmode .repitem .itemcontrol > * {display:block; position:absolute; float:none; top:0; left:0; z-index:1;} +.sheet-nc-wrap .repcontainer.editmode .repitem .itemcontrol .repcontrol_del {right:0; left:auto;} + +.sheet-chk {display:inline-block; position:relative; width:15px; height:15px; vertical-align:middle; box-sizing:border-box; z-index:0;} +.sheet-chk span {display:block; position:absolute; top:0; left:0; right:0; bottom:0; background:#fff; border:1px solid #000; border-radius:100%; box-sizing:border-box; z-index:-1;} +.sheet-chk input[type="checkbox"] {display:block; position:absolute; width:100%; height:100%; top:0; left:0; right:0; bottom:0; border:none; background:none; opacity:0; z-index:0; cursor:pointer;} +.sheet-chk input[type="checkbox"]:checked + span {background:red;} + +.sheet-nc-wrap {position:relative; width:850px; min-height:400px; margin:0 -10px; font-size:12px; font-family:'Malgun Gothic'; color:#222; padding-bottom:50px; line-height:1.2; background:url('https://i.imgur.com/DHnvCOe.jpg') no-repeat 50% 0;} +.sheet-nc-wrap * {font-family:'Malgun Gothic';} +.sheet-nc-wrap p {margin:0;} +.sheet-nc-wrap .sheet-label {display:block; position:relative; border-radius:13px; background:#000; line-height:24px; vertical-align:middle; color:#fff; text-align:center; height:24px;} + +.sheet-nc-wrap input, +.sheet-nc-wrap textarea, +.sheet-nc-wrap select, +.sheet-nc-wrap .uneditable-input {margin:0;} + +.sheet-nc-wrap input[type="number"]::-webkit-outer-spin-button, +.sheet-nc-wrap input[type="number"]::-webkit-inner-spin-button {-webkit-appearance:none; margin:0;} + +.sheet-nc-wrap input[type="text"], +.sheet-nc-wrap input[type="number"] {border:none; height:25px; border-radius:8px; background:rgba(0,0,0,.1); padding:0 5px; font-size:12px; width:100%; color:#000;} +.sheet-nc-wrap select {border:none; height:25px; padding:0 5px; font-size:12px; width:100%;} + +.sheet-nc-wrap input[type="text"].sheet-underline, +.sheet-nc-wrap input[type="number"].sheet-underline, +.sheet-nc-wrap select.sheet-underline {border-radius:0; background:none; border-bottom:1px solid #000;} + +.sheet-nc-wrap .sheet-old-roll {margin:0 !important; padding:0 !important; vertical-align:middle; width:20px; height:20px; overflow:hidden; color:#000 !important; font-weight: 600 !important; cursor:pointer;} +.sheet-nc-wrap .sheet-old-roll.sheet-ty2 {color:#fff !important; background:red; border-color:red;} +.sheet-nc-wrap .sheet-old-roll.sheet-ty2:hover {background:#9c0e0e; border-color:#9c0e0e;} + +.sheet-inputbox-line {display:block; position:relative; padding:5px 0 5px 90px; border-bottom:1px solid #000;} +.sheet-inputbox-line .sheet-label {position:absolute; top:8px; left:0; width:80px;} +.sheet-inputbox-line input[type="text"].sheet-underline {border-bottom:none;} + +.sheet-gridbox {display:block;} +.sheet-gridbox:after {content:""; display:block; clear:both;} +.sheet-gridbox .sheet-col {display:block; position:relative; width:50%; float:left; padding:10px; box-sizing:border-box;} + + +.sheet-memoBox {display:block; position:relative; z-index:0; padding:20px; margin-top:20px;} +.sheet-memoBox:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; z-index:-1; + border:40px solid transparent; + border-image: url('https://i.imgur.com/uE6nLSr.png'); + border-image-slice: 40; + border-image-repeat: round; + border-image-width: 40px; } +.sheet-memoBox textarea {display:block; position:relative; width:100% !important; min-height:200px; border:none;} + +/************** + Header +***************/ +.sheet-nc-header {display:block; position:relative; height:123px;} +.sheet-nc-name {position:absolute; left:265px; right:265px; top:31px; height:32px;} +.sheet-nc-name input[type="text"] {border:none; height:100%; text-align:center; color:#000; background:none; font-weight:800; font-size:20px;} + +.sheet-player {display:block; position:absolute; left:265px; right:265px; bottom:15px; padding-left:95px; border-bottom:1px solid #000;} +.sheet-player .sheet-label {position:absolute; top:0px; left:0; width:80px;} +.sheet-player input[type="text"].sheet-underline {border-bottom:none;} + +.sheet-nc-info {display:block; position:absolute; right:10px; width:190px; top:28px;} +.sheet-nc-info > * {display:block; width:33.33%; float:left; box-sizing:border-box; padding:2px;} +.sheet-nc-info > * .sheet-label {border-radius:8px 8px 0 0 !important;} +.sheet-nc-info > * input {text-align:center; border-radius:0 0 8px 8px !important; height:40px !important;} + + +/************** + Act Box +***************/ +.sheet-act-box {display:block; position:relative; overflow:hidden; padding:10px;} +.sheet-act-box > * {display:block; position:relative; float:left; line-height:25px; margin:0 2px; padding:5px 5px 5px 12px; background:#000; border-radius:5px; overflow:hidden; color:#fff;} +.sheet-act-box .sheet-position {padding-right:11px;} +.sheet-act-box .sheet-move {padding-right:11px;} +.sheet-act-box strong {font-size:13px; vertical-align:middle; margin-right:10px;} +.sheet-act-box strong, +.sheet-act-box .sheet-item {display:inline-block; vertical-align:middle; position:relative; z-index:0;} +.sheet-act-box .sheet-item {margin-left:3px;} +.sheet-act-box .sheet-item input[type="radio"] {display:block; position:absolute; width:100%; height:100%; top:0; left:0; right:0; bottom:0; border:none; background:none; opacity:0; z-index:0; cursor:pointer;} +.sheet-act-box .sheet-item span {display:block; position:relative; padding-left:19px; z-index:-1;} +.sheet-act-box .sheet-item input[type="radio"] + span:before {content:""; display:block; position:absolute; top:50%; left:0; margin-top:-8px; width:15px; height:15px; background:#fff; border:1px solid #000; border-radius:100%; box-sizing:border-box;} +.sheet-act-box .sheet-item input[type="radio"]:checked + span:before {background:red;} + +.sheet-act-box .sheet-item2 {display:inline-block; font-weight:600; vertical-align:middle; font-size:13px;} +.sheet-act-box .sheet-item2 + .sheet-item2 {margin-left:15px;} +.sheet-act-box .sheet-item2 input[type="text"], +.sheet-act-box .sheet-item2 input[type="number"] {border-radius:2px; background:#fff; color:#000; height:25px; width:30px; text-align:center; margin-right:3px;} +.sheet-act-box .sheet-item2 input[type="text"][readonly], +.sheet-act-box .sheet-item2 input[type="number"][readonly] {color:red; font-weight:600;} +.sheet-act-box .sheet-item2 .sheet-old-roll {margin-right:10px !important; margin-top:-4px !important;} + + +/************** + Doll Box +***************/ +.sheet-dollwrap .sheet-col {padding-top:0;} +.sheet-dollwrap .sheet-col-in {margin-right:160px;} +.sheet-dollwrap .sheet-col-status {position:absolute; width:160px; height:126px; top:0; right:10px; padding:23px 10px 0 13px; background:url('https://i.imgur.com/nWh3MFt.png') no-repeat 0 0;} +.sheet-dollwrap .sheet-col-status .sheet-inputbox-line {padding:6px 0 6px 55px; border-bottom:none;} +.sheet-dollwrap .sheet-col-status .sheet-inputbox-line input[type="text"], +.sheet-dollwrap .sheet-col-status .sheet-inputbox-line input[type="number"] {text-align:center; border-radius:3px; background:#fff; color:#000; height:20px;} +.sheet-dollwrap .sheet-col-status .sheet-inputbox-line .sheet-label {width:50px; top:4px; left:4px;} +.sheet-dollwrap .sheet-col-title {display:block; position:relative; margin:5px 0 8px; font-size:14px; font-weight:600; padding-left:15px;} +.sheet-dollwrap .sheet-col-title:before {content:""; display:block; position:absolute; top:5px; left:0; width:8px; height:8px; background:#000; transform:rotate(-45deg);} +.sheet-dollwrap .sheet-carma-item {display:block; position:relative;} +.sheet-dollwrap .sheet-ca-check {display:block; position:absolute; top:0; bottom:0; left:0; width:33px; z-index:0;} +.sheet-dollwrap .sheet-ca-check input[type="checkbox"] {display:block; position:absolute; width:100%; height:100%; top:0; left:0; right:0; bottom:0; border:none; background:none; opacity:0; z-index:0; cursor:pointer;} +.sheet-dollwrap .sheet-ca-check span {display:block; position:relative; width:100%; height:100%; z-index:-1;} +.sheet-dollwrap .sheet-ca-check input[type="checkbox"] + span {background:url('https://i.imgur.com/rD2gD7n.png') no-repeat 0 50%;} +.sheet-dollwrap .sheet-ca-check input[type="checkbox"]:checked + span {background-image:url('https://i.imgur.com/oZirjLZ.png');} + +.sheet-dollwrap .sheet-carma-item .sheet-underline {height:32px; padding-left:35px;} + + + +/************** + Doll Table BOx +***************/ +.sheet-dollset .sheet-col {padding:0 0 15px 0 !important;} + +.sheet-table {display:block; position:relative; margin-top:-26px; padding:0 10px;} +.sheet-table .sheet-ta-header {height:26px; color:#fff; text-align:center;} +.sheet-table .sheet-ta-row {display:table; table-layout:fixed; width:100%;} +.sheet-table *[class^="sheet-ta-col"] {display:table-cell; padding:2px; vertical-align:middle; text-align:center;} +.sheet-table .sheet-ta-item {display:block; position:relative; padding:10px 0; border-bottom:1px solid #000;} +.sheet-table .sheet-ta-side {display:block; position:relative; overflow:hidden; padding-top:2px;} +.sheet-table .sheet-ta-side .sheet-ty1 {display:block; position:absolute; top:0; left:0; width:80px; z-index:1;} +.sheet-table .sheet-ta-side .sheet-ty2 {display:block; position:relative; padding-left:85px; z-index:0;} + +.sheet-memories .sheet-ta-col-1 {width:130px;} + +.sheet-mind .sheet-ta-col-1 {width:100px;} +.sheet-mind .sheet-ta-col-2 {width:80px;} +.sheet-mind .sheet-ta-col-3 {width:80px;} + +.sheet-skill select {background:rgba(0,0,0,.1); border-radius:8px;} +.sheet-skill .sheet-ta-body {margin-top:-8px;} +.sheet-skill .sheet-ta-col-1 {width:30px;} +.sheet-skill .sheet-ta-col-3 {width:40px;} +.sheet-skill .sheet-ta-col-4 {width:30px;} +.sheet-skill .sheet-ta-col-5 {width:70px;} +.sheet-skill .sheet-ta-col-6 {width:50px;} +.sheet-skill .sheet-ta-col-7 {width:50px;} + +.sheet-dollparts {background:#ddd; margin-top:10px;} +.sheet-dollparts select {background:rgba(0,0,0,.1); border-radius:8px;} +.sheet-dollparts .sheet-gridbox .sheet-col {padding:25px 0;} +.sheet-dollparts .sheet-gridbox .sheet-col.sheet-p-head, +.sheet-dollparts .sheet-gridbox .sheet-col.sheet-p-body {padding-left:36px; padding-right:8px; z-index:0;} +.sheet-dollparts .sheet-gridbox .sheet-col.sheet-p-arm, +.sheet-dollparts .sheet-gridbox .sheet-col.sheet-p-leg {padding-right:32px; z-index:0;} + +.sheet-dollparts .sheet-col {position:relative;} +.sheet-dollparts .sheet-col.sheet-p-head:before {content:""; display:block; position:absolute; top:-10px; left:0; width:110px; height:210px; background:url('https://i.imgur.com/9xrM97M.png') no-repeat 0 0; z-index:-1;} +.sheet-dollparts .sheet-col.sheet-p-body:before {content:""; display:block; position:absolute; top:-10px; left:0; width:110px; height:210px; background:url('https://i.imgur.com/CCxF7qE.png') no-repeat 0 0; z-index:-1;} +.sheet-dollparts .sheet-col.sheet-p-arm:before {content:""; display:block; position:absolute; top:-10px; right:0; width:110px; height:210px; background:url('https://i.imgur.com/rYfaP6k.png') no-repeat 100% 0; z-index:-1;} +.sheet-dollparts .sheet-col.sheet-p-leg:before {content:""; display:block; position:absolute; top:-10px; right:0; width:110px; height:210px; background:url('https://i.imgur.com/9N1VhoO.png') no-repeat 100% 0; z-index:-1;} + +.sheet-dollparts .sheet-gridbox .sheet-table.sheet-p-head, +.sheet-dollparts .sheet-gridbox .sheet-table.sheet-p-body {padding-left:0px; padding-right:0;} +.sheet-dollparts .sheet-gridbox .sheet-table.sheet-p-arm , +.sheet-dollparts .sheet-gridbox .sheet-table.sheet-p-leg {padding-right:0;} + +.sheet-dollparts .sheet-ta-body {margin-top:-10px;} +.sheet-dollparts .sheet-ta-header {height:28px;} +.sheet-dollparts .sheet-ta-body {margin-top:-8px; border-top-width:0;} +.sheet-dollparts .sheet-title {position:Relative; height:48px; box-sizing:border-box;} +.sheet-dollparts .sheet-p-head .sheet-title, +.sheet-dollparts .sheet-p-body .sheet-title {padding-top:2px;} + +.sheet-dollparts .sheet-ta-item {padding:0; background:rgba(255,255,255,.8);} +.sheet-dollparts .sheet-ta-item > input[type="checkbox"] {display:block; position:absolute; top:40px; left:5px; height:20px; width:20px; z-index:1; opacity:0; cursor:pointer;} +.sheet-dollparts .sheet-ta-it {display:block; position:relative; padding:10px 5px 10px 30px; z-index:0;} +.sheet-dollparts .sheet-ta-it:before {content:""; display:block; position:absolute; top:42px; left:5px; width:20px; height:20px; background:#fff; border:1px solid #000; border-radius:100%; box-sizing:border-box; z-index:2;} +.sheet-dollparts .sheet-ta-item > input[type="checkbox"]:checked + .sheet-ta-it:before {background:#000;} +.sheet-dollparts .sheet-ta-item > input[type="checkbox"]:checked + .sheet-ta-it:after {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:0; z-index:1; background:rgba(0,0,0,.5);} +.sheet-dollparts .sheet-ta-dice {display:block; position:absolute; top:14px; left:5px; width:25px; height:25px;} +.sheet-dollparts .sheet-ta-col-0 {width:30px;} +.sheet-dollparts .sheet-ta-col-1 {width:0px;} +.sheet-dollparts .sheet-ta-col-3 {width:40px;} +.sheet-dollparts .sheet-ta-col-4 {width:30px;} +.sheet-dollparts .sheet-ta-col-5 {width:70px;} +.sheet-dollparts .sheet-ta-col-6 {width:50px;} +.sheet-dollparts .sheet-ta-col-7 {width:50px;} + +.sheet-act-dice-box {position:Relative; background:#000; color:#fff; padding:10px; text-align:center; font-size:16px;} +.sheet-act-dice-box p {display:inline-block; vertical-align:middle; font-weight:800; -webkit-text-stroke: 2px #000; font-size:40px; font-style:italic;} +.sheet-act-dice-box input[type="text"], +.sheet-act-dice-box input[type="number"] {border-radius:0; background:#000; color:#fff; border-bottom:2px solid #fff; height:35px; width:50px; text-align:center; margin-right:3px; font-size:16px; font-weight:800;} +.sheet-act-dice-box input[type="text"][readonly], +.sheet-act-dice-box input[type="number"][readonly] {color:red; font-weight:600;} +.sheet-act-dice-box .sheet-dice {width:40px; height:40px; border:none; padding:0; margin:0; background:url('https://i.imgur.com/tALq41m.png') no-repeat 50% 50% transparent; box-shadow:none;} + +.sheet-rolltemplate-NcAct .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcAct .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcAct .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcAct .sheet-top {display:block; position:relative; padding:20px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcAct .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcAct .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcAct .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcAct .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcAct .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcAct .sheet-bottom {display:block; margin-top:-35px; padding:10px 20px 15px; font-size:12px; border-top: 1px solid rgba(255,255,255,.4); text-align:center; color: #fff;} +.sheet-rolltemplate-NcAct .sheet-bottom .inlinerollresult {display:inline; position:relative; width:auto; height:auto; background:none !important; color: #fff !important; border: none; font-size: 25px; text-align:center;} +.sheet-rolltemplate-NcAct .sheet-bottom .inlinerollresult ~ * {color:#000; margin-top:20px;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-title {font-size:14px; font-weight:600; padding:10px 0 0; text-align:center;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-ciritical ~ * {display:none !important;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-succed ~ * {display:none !important;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-fumble ~ * {display:none !important;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-fail ~ * {display:none !important;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-fumble .sheet-result-title {color:red;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-fail .sheet-result-title {color:#777;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-succed .sheet-result-title {color:#000;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-ciritical .sheet-result-title {color:#00b7e5;} +.sheet-rolltemplate-NcAct .sheet-bottom .sheet-result-title + .sheet-con {padding-top:10px; margin-top:0 !important;} + +.sheet-rolltemplate-NcTal .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcTal .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcTal .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcTal .sheet-top {display:block; position:relative; padding:20px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcTal .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcTal .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcTal .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcTal .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcTal .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcTal .sheet-bottom {display:block; padding:20px 20px 15px; font-size:12px;} +.sheet-rolltemplate-NcTal .sheet-bottom .inlinerollresult {display:block; position:absolute; left:0; right:0; width:auto; height:auto; background:none !important; top:-60px; color: #fff !important; border: none; border-top: 1px solid rgba(255,255,255,.4); font-size: 25px; padding-top: 13px; text-align:center;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-fumble {display:none !important;} +.sheet-rolltemplate-NcTal .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fumble {display:block !important;} +.sheet-rolltemplate-NcTal .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fail {display:none !important;} +.sheet-rolltemplate-NcTal .sheet-bottom *[class^="sheet-result-"] {display:block; position:relative;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-title {font-size:14px; font-weight:600; padding:10px 0 0; text-align:center;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-fumble .sheet-result-title {color:red;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-fail .sheet-result-title {color:#777;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-succed .sheet-result-title {color:#000;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-ciritical .sheet-result-title {color:#00b7e5;} +.sheet-rolltemplate-NcTal .sheet-bottom .sheet-result-title + .sheet-con {padding-top:10px;} + +.sheet-rolltemplate-NcIns .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcIns .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcIns .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcIns .sheet-top {display:block; position:relative; padding:20px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcIns .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcIns .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcIns .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcIns .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcIns .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcIns .sheet-bottom {display:block; padding:20px 20px 15px; font-size:12px;} +.sheet-rolltemplate-NcIns .sheet-bottom .inlinerollresult {display:block; position:absolute; left:0; right:0; width:auto; height:auto; background:none !important; top:-60px; color: #fff !important; border: none; border-top: 1px solid rgba(255,255,255,.4); font-size: 25px; padding-top: 13px; text-align:center;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-fumble {display:none !important;} +.sheet-rolltemplate-NcIns .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fumble {display:block !important;} +.sheet-rolltemplate-NcIns .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fail {display:none !important;} +.sheet-rolltemplate-NcIns .sheet-bottom *[class^="sheet-result-"] {display:block; position:relative;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-title {font-size:14px; font-weight:600; padding:10px 0 0; text-align:center;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-fumble .sheet-result-title {color:red;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-fail .sheet-result-title {color:#777;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-succed .sheet-result-title {color:#000;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-ciritical .sheet-result-title {color:#00b7e5;} +.sheet-rolltemplate-NcIns .sheet-bottom .sheet-result-title + .sheet-con {padding-top:10px;} + +.sheet-rolltemplate-NcAttack .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcAttack .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcAttack .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcAttack .sheet-top {display:block; position:relative; padding:20px 20px 5px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcAttack .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcAttack .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcAttack .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcAttack .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcAttack .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcAttack .sheet-bottom {display:block; padding:20px 20px 15px; font-size:12px;} +.sheet-rolltemplate-NcAttack .sheet-bottom .sheet-result-title + .sheet-con {padding-top:10px;} +.sheet-rolltemplate-NcAttack .sheet-detail {text-align:center; color:#000; font-size:11px; padding: 5px 0; border-bottom: 1px solid #000;} +.sheet-rolltemplate-NcAttack .sheet-detail span + span:before {content:" | ";} +.sheet-rolltemplate-NcAttack .sheet-txt {padding-top:10px;} +.sheet-rolltemplate-NcAttack .sheet-txt strong {color:red; margin-right:5px; font-weight:600;} + + +.sheet-rolltemplate-NcAttacker .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcAttacker .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcAttacker .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcAttacker .sheet-top {display:block; position:relative; padding:20px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcAttacker .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcAttacker .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcAttacker .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcAttacker .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcAttacker .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcAttacker .sheet-bottom {display:block; padding:20px 20px 15px; font-size:12px;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .inlinerollresult {display:block; position:absolute; left:0; right:0; width:auto; height:auto; background:none !important; top:-60px; color: #fff !important; border: none; border-top: 1px solid rgba(255,255,255,.4); font-size: 25px; padding-top: 13px; text-align:center;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-fumble {display:none !important;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fumble {display:block !important;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .inlinerollresult.fullfail ~ .sheet-result-fail {display:none !important;} +.sheet-rolltemplate-NcAttacker .sheet-bottom *[class^="sheet-result-"] {display:block; position:relative;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-title {font-size:14px; font-weight:600; padding:10px 0 0; text-align:center;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-fumble .sheet-result-title {color:red;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-fail .sheet-result-title {color:#777;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-succed .sheet-result-title {color:#000;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-ciritical .sheet-result-title {color:#00b7e5;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-title + .sheet-con {padding-top:10px;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-con {text-align:center;} +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-result-title strong, +.sheet-rolltemplate-NcAttacker .sheet-bottom .sheet-con strong {font-weight:800; color:red;} + +.sheet-rolltemplate-NcDefault .sheet-nc-dicebox {display:block; position:relative; z-index:1;} +.sheet-rolltemplate-NcDefault .sheet-nc-dicebox:before {content:""; display:block; position:absolute; top:15px; left:10px; right:10px; bottom:0; background:#fff; border:1px solid #000; border-radius:0 0 10px 10px; z-index:-1;} +.sheet-rolltemplate-NcDefault .sheet-nc-in {display:block; position:relative; z-index:2;} +.sheet-rolltemplate-NcDefault .sheet-top {display:block; position:relative; padding:20px 20px 10px; color:#fff; text-align:center;} +.sheet-rolltemplate-NcDefault .sheet-top:before {content:""; display:block; position:absolute; top:0; left:0; right:0; bottom:-20px; z-index:0; border:35px solid transparent; border-image: url('https://i.imgur.com/kelonvu.png'); border-image-slice: 35; border-image-repeat: round;} +.sheet-rolltemplate-NcDefault .sheet-top:after {content:""; display:block; position:absolute; top:10px; left:10px; right:10px; bottom:0px; z-index:-1; background:#000;} +.sheet-rolltemplate-NcDefault .sheet-name {display:block; text-align:center; font-size:11px; padding-bottom:5px;} +.sheet-rolltemplate-NcDefault .sheet-subj {display:block; text-align:center; font-size:14px; font-weight:600;} +.sheet-rolltemplate-NcDefault .sheet-dt-area {height:30px;} +.sheet-rolltemplate-NcDefault .sheet-bottom {display:block; padding:20px 20px 15px; font-size:12px;} +.sheet-rolltemplate-NcDefault .sheet-bottom .sheet-con {padding-top:10px;} +.sheet-rolltemplate-NcDefault .sheet-bottom .inlinerollresult {display:block; position:absolute; left:0; right:0; width:auto; height:auto; background:none !important; top:-52px; color: #fff !important; border: none; border-top: 1px solid rgba(255,255,255,.4); font-size: 25px; padding-top: 13px; text-align:center;} diff --git a/nechronica/nechronica.html b/nechronica/nechronica.html index 07e50f49a7..7f64e909a8 100644 --- a/nechronica/nechronica.html +++ b/nechronica/nechronica.html @@ -1,1012 +1,2009 @@ -
    - -
    - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Karma
    -
    -
    -
    -
    -Fragment of -Memory
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Title
    -
    No.Content of Memory
    - - -
    - - -
    - - -
    - -
    -Skill
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Name
    -
    UsedTimingCostRangeEffect
    - -
    - -
    - -
    - -
    - -
    - -
    -Fetters
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Target
    -
    TypeMadness PointsEffect of Madness
    to
    to
    to
    to
    to
    to
    +
    +
    +
    + +
    +
    + 플레이어 + +
    + +
    +
    + 향연 + +
    +
    + 암시 + +
    +
    + 총애점 + +
    +
    +
    + +
    +
    + 초기배치 + + + 연옥 + + + + 화원 + + + + 낙원 + +
    + +
    + 최대행동값 + + 6 + = + +
    + +
    + 판정 + + D10+ + + + 행동 + 대화 + 광기 + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + 포지션 + +
    +
    + 메인클래스 + +
    +
    + 서브클래스 + +
    +
    +
    +
    + 무장 + +
    +
    + 변이 + +
    +
    + 개조 + +
    +
    +
    +
    +
    카르마
    +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    + +
    +
    +
    + + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + 기억의 조각 +
    +
    +
    +
    +
    이름
    +
    내용
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + 미련 +
    + +
    +
    +
    +
    대상
    +
    종류
    +
    광기점
    +
    발광내용
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 스킬 +
    + +
    +
    +
    +
    +
    이름
    +
    수정
    +
    사용
    +
    타이밍
    +
    코스트
    +
    사거리
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    + +
    +

    Attack!

    + D10+ + +
    + + +
    +
    +
    + 머리 +
    + +
    +
    +
    +
    손상
    + +
    이름
    +
    수정
    +
    사용
    +
    타이밍
    +
    코스트
    +
    사거리
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 팔 +
    + +
    +
    +
    +
    손상
    + +
    이름
    +
    수정
    +
    사용
    +
    타이밍
    +
    코스트
    +
    사거리
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 몸통 +
    + +
    +
    +
    +
    손상
    + +
    이름
    +
    수정
    +
    사용
    +
    타이밍
    +
    코스트
    +
    사거리
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + 다리 +
    + +
    +
    +
    +
    손상
    +
    이름
    +
    수정
    +
    사용
    +
    타이밍
    +
    코스트
    +
    사거리
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    -
    - - - - - - - - - - - - - - - - - - - - -

    -

    -
    -Head
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DamageNameUsedTimingRangeCostEffect
    -Arm
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DamageNameUsedTimingRangeCostEffect
    -Body
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DamageNameUsedTimingRangeCostEffect
    -Leg
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    DamageNameUsedTimingRangeCostEffect
    -
    -
    \ No newline at end of file + + + + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} + {{#roll1}} +
    + {{/roll1}} +
    +
    + +
    +
    + {{#rollGreater() dicecount 0}} + + {{roll1}} + {{#rollGreater() dicecount 1}} + + / {{roll2}} + {{#rollGreater() dicecount 2}} + + / {{roll3}} + {{#rollGreater() dicecount 3}} + + / {{roll4}} + {{/rollGreater() dicecount 3}} + {{/rollGreater() dicecount 2}} + {{/rollGreater() dicecount 1}} + {{/rollGreater() dicecount 0}} + + + {{#rollGreater() dicecount 0}} + {{#rollWasCrit() roll1}} +
    +
    대성공
    +
    + {{/rollWasCrit() roll1}} + {{/rollGreater() dicecount 0}} + + {{#rollGreater() dicecount 1}} + {{#rollWasCrit() roll2}} +
    +
    대성공
    +
    + {{/rollWasCrit() roll2}} + {{/rollGreater() dicecount 1}} + + {{#rollGreater() dicecount 2}} + {{#rollWasCrit() roll3}} +
    +
    대성공
    +
    + {{/rollWasCrit() roll3}} + {{/rollGreater() dicecount 2}} + {{#rollGreater() dicecount 3}} + {{#rollWasCrit() roll4}} +
    +
    대성공
    +
    + {{/rollWasCrit() roll4}} + {{/rollGreater() dicecount 3}} + + + {{#rollGreater() dicecount 0}} + {{#rollGreater() roll1 5}} +
    +
    성공
    +
    + {{/rollGreater() roll1 5}} + {{/rollGreater() dicecount 0}} + + {{#rollGreater() dicecount 1}} + {{#rollGreater() roll2 5}} +
    +
    성공
    +
    + {{/rollGreater() roll2 5}} + {{/rollGreater() dicecount 1}} + + {{#rollGreater() dicecount 2}} + {{#rollGreater() roll3 5}} +
    +
    성공
    +
    + {{/rollGreater() roll3 5}} + {{/rollGreater() dicecount 2}} + {{#rollGreater() dicecount 3}} + {{#rollGreater() roll4 5}} +
    +
    성공
    +
    + {{/rollGreater() roll4 5}} + {{/rollGreater() dicecount 3}} + + + {{#rollGreater() dicecount 0}} + {{#rollWasFumble() roll1}} +
    +
    대실패
    +
    + 행동 실패. 자신의 파츠를 1개 손상한다. 또한 판정에 사용한 파츠가 있을 경우 그 파츠도 함께 손상된다. +
    +
    + {{/rollWasFumble() roll1}} + {{/rollGreater() dicecount 0}} + + {{#rollGreater() dicecount 1}} + {{#rollWasFumble() roll2}} +
    +
    대실패
    +
    + 행동 실패. 자신의 파츠를 1개 손상한다. 또한 판정에 사용한 파츠가 있을 경우 그 파츠도 함께 손상된다. +
    +
    + {{/rollWasFumble() roll2}} + {{/rollGreater() dicecount 1}} + + {{#rollGreater() dicecount 2}} + {{#rollWasFumble() roll3}} +
    +
    대실패
    +
    + 행동 실패. 자신의 파츠를 1개 손상한다. 또한 판정에 사용한 파츠가 있을 경우 그 파츠도 함께 손상된다. +
    +
    + {{/rollWasFumble() roll3}} + {{/rollGreater() dicecount 2}} + {{#rollGreater() dicecount 3}} + {{#rollWasFumble() roll4}} +
    +
    대실패
    +
    + 행동 실패. 자신의 파츠를 1개 손상한다. 또한 판정에 사용한 파츠가 있을 경우 그 파츠도 함께 손상된다. +
    +
    + {{/rollWasFumble() roll4}} + {{/rollGreater() dicecount 3}} + + + {{#rollGreater() dicecount 0}} + {{#^rollGreater() roll1 5}} +
    +
    성공
    +
    + {{/^rollGreater() roll1 5}} + {{/rollGreater() dicecount 0}} + + {{#rollGreater() dicecount 1}} + {{#^rollGreater() roll2 5}} +
    +
    성공
    +
    + {{/^rollGreater() roll2 5}} + {{/rollGreater() dicecount 1}} + + {{#rollGreater() dicecount 2}} + {{#^rollGreater() roll3 5}} +
    +
    성공
    +
    + {{/^rollGreater() roll3 5}} + {{/rollGreater() dicecount 2}} + {{#rollGreater() dicecount 3}} + {{#^rollGreater() roll4 5}} +
    +
    성공
    +
    + {{/^rollGreater() roll4 5}} + {{/rollGreater() dicecount 3}} +
    +
    +
    +
    + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} + {{#roll}} +
    + {{/roll}} +
    +
    + {{#roll}} +
    +
    + {{#roll}} + {{roll}} + {{/roll}} + + {{#rollLess() roll 6}} +
    +
    대실패
    +
    + 미련을 리롤 후 강제변경. 광기점 감소 없음 +
    +
    +
    +
    실패
    +
    + 광기점 감소 없음 +
    +
    + {{/rollLess() roll 6}} + {{#rollGreater() roll 5}} + {{#rollGreater() roll 10}} +
    +
    대성공
    +
    + 미련을 리롤 후 변경할지 선택. 광기점 1 감소 +
    +
    + {{/rollGreater() roll 10}} + {{#^rollGreater() roll 10}} +
    +
    성공
    +
    + 광기점 1 감소 +
    +
    + {{/^rollGreater() roll 10}} + {{/rollGreater() roll 5}} +
    +
    + {{/roll}} +
    +
    + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} + {{#roll}} +
    + {{/roll}} +
    +
    + {{#roll}} +
    +
    + {{#roll}} + {{roll}} + {{/roll}} + + {{#rollLess() roll 6}} +
    +
    대실패
    +
    + 자신의 파츠 하나 손상. 광기점 1 추가 +
    +
    +
    +
    실패
    +
    + 광기점 1 추가 +
    +
    + {{/rollLess() roll 6}} + {{#rollGreater() roll 5}} + {{#rollGreater() roll 10}} +
    +
    대성공
    +
    + 광기점 추가 없음 +
    +
    + {{/rollGreater() roll 10}} + {{#^rollGreater() roll 10}} +
    +
    성공
    +
    + 광기점 추가 없음 +
    +
    + {{/^rollGreater() roll 10}} + {{/rollGreater() roll 5}} +
    +
    + {{/roll}} +
    +
    + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} + {{#roll}} +
    + {{/roll}} +
    +
    + {{#roll}} +
    +
    + {{#roll}} + {{roll}} + {{/roll}} + + {{#rollLess() roll 6}} +
    +
    대실패
    +
    + 시도한 공격이 아군이나 자신에게 맞는다. +
    +
    +
    +
    실패
    +
    + {{/rollLess() roll 6}} + {{#rollGreater() roll 5}} + {{#rollGreater() roll 10}} +
    +
    대성공
    +
    + 명중부위 공격측 임의선택. 10을 초과한만큼 대미지 추가! +
    +
    + {{/rollGreater() roll 10}} + {{#^rollGreater() roll 10}} + {{#rollTotal() roll 6}} +
    +
    성공
    +
    + 명중부위 방어측 임의선택. +
    +
    + {{/rollTotal() roll 6}} + {{#rollTotal() roll 7}} +
    +
    성공! 다리 명중!
    +
    + {{/rollTotal() roll 7}} + {{#rollTotal() roll 8}} +
    +
    성공! 몸 명중!
    +
    + {{/rollTotal() roll 8}} + {{#rollTotal() roll 9}} +
    +
    성공! 팔 명중!
    +
    + {{/rollTotal() roll 9}} + {{#rollTotal() roll 10}} +
    +
    성공! 머리 명중!
    +
    + {{/rollTotal() roll 10}} + + {{/^rollGreater() roll 10}} + {{/rollGreater() roll 5}} +
    +
    + {{/roll}} +
    +
    + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} +
    +
    +
    +
    +
    + {{#cate}}타입 : {{cate}}{{/cate}}{{#cost}}코스트 : {{cost}}{{/cost}}{{#distance}}거리 : {{distance}}{{/distance}} +
    +
    + {{#etc}}{{etc}} {{/etc}}{{effect}} +
    +
    +
    +
    +
    + + +
    +
    +
    + {{#name}}
    {{name}}
    {{/name}} + {{#subject}}
    {{subject}}
    {{/subject}} + {{#roll}} +
    + {{/roll}} +
    +
    + {{#desc}} +
    +
    + {{#roll}} + {{roll}} + {{/roll}} +
    + {{desc}} +
    +
    +
    + {{/desc}} + {{#^desc}} +
    +
    + {{#roll}} + {{roll}} + {{/roll}} +
    +
    + {{/^desc}} +
    +
    diff --git a/nechronica/nechronica.png b/nechronica/nechronica.png index c0cf130eb8..d855a04f53 100644 Binary files a/nechronica/nechronica.png and b/nechronica/nechronica.png differ diff --git a/nechronica/sheet.json b/nechronica/sheet.json index 11692773e8..0832c7e8de 100644 --- a/nechronica/sheet.json +++ b/nechronica/sheet.json @@ -1,8 +1,8 @@ { "html": "nechronica.html", "css": "nechronica.css", - "authors": "Austin Sines", - "roll20userid": "3231284", + "authors": "Tateck", + "roll20userid": "356257", "preview": "nechronica.png", - "instructions": "best viewed in a full window" + "instructions": "Nechronica Character Sheet : Auto Dice Roll and Auto check result" } \ No newline at end of file diff --git a/urbanheroes/urbanheroes.css b/urbanheroes/urbanheroes.css index ccae0ec02b..fdf1681574 100644 --- a/urbanheroes/urbanheroes.css +++ b/urbanheroes/urbanheroes.css @@ -45,11 +45,14 @@ input[type="text"].sheet-shortinput{max-width:30%;width:30%; } .sheet-contenitore-tattiche{width:90%;} +.sheet-contenitore-tattiche input{width:200px;} .sheet-contenitore-tattiche input[type="text"]{width:200px;} .sheet-intestazione-lunga.sheet-intestzione-tattica {width:200px;} .sheet-intestazione-lunga.sheet-intestzione-descrizione {width:300px;} input[type="text"].sheet-tattica-descrizione {width:350px;} -.sheet-contenitore-tattiche .sheet-abilita input.sheet-short { + +.sheet-contenitore-tattiche .sheet-abilita input.sheet-short[type="text"] { + width: 50px; } @@ -58,4 +61,6 @@ input[type="text"].sheet-tattica-descrizione {width:350px;} .sheet-singolo-trasporto label {height:36px;font-size: 1em; } -.sheet-short-label{width:100px; font-weight:bold;font-size: 1em; display: inline-block;} +.sheet-short_label{width:100px; font-weight:bold;font-size: 1em; display: inline-block;} + +