Roll template darkmode

This commit is contained in:
nesuprachy
2024-01-03 22:47:00 +01:00
parent 092cccb845
commit 29e335aa87
2 changed files with 99 additions and 82 deletions
+29 -6
View File
@@ -1323,6 +1323,7 @@ input.drd-companion-bond-pool[value="4"] ~ button.gt-4 {
border-radius: 5px;
padding-right: 5px;
padding-left: 5px;
height: 150px;
}
.sheet-rolltemplate-drd-default .sheet-template-header {
padding-top: 15px;
@@ -1354,10 +1355,12 @@ input.drd-companion-bond-pool[value="4"] ~ button.gt-4 {
font-size: 1.5em;
padding-bottom: 10px;
}
.sheet-rolltemplate-drd-default .sheet-template-value {
.sheet-rolltemplate-drd-default .sheet-template-result,
.sheet-rolltemplate-drd-default .sheet-template-result-success {
font-size: 2em;
}
.sheet-rolltemplate-drd-default .sheet-template-value .inlinerollresult {
.sheet-rolltemplate-drd-default .sheet-template-result .inlinerollresult,
.sheet-rolltemplate-drd-default .sheet-template-result-success .inlinerollresult {
background-color: #9b3f2b;
border: 1px outset #9b3f2b;
border-radius: 50%;
@@ -1370,14 +1373,24 @@ input.drd-companion-bond-pool[value="4"] ~ button.gt-4 {
text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.75);
font-weight: bold;
}
.sheet-rolltemplate-drd-default .sheet-template-value .inlinerollresult:hover {
.sheet-rolltemplate-drd-default .sheet-template-result .inlinerollresult {
border: 1px outset #9b3f2b;
}
.sheet-rolltemplate-drd-default .sheet-template-result-success .inlinerollresult {
border: 5px outset #0f960f;
}
.sheet-rolltemplate-drd-default .sheet-template-result .inlinerollresult:hover,
.sheet-rolltemplate-drd-default .sheet-template-result-success .inlinerollresult:hover {
background-color: #c04631;
border-color: #c04631;
color: gold;
border-style: inset;
}
/*.sheet-rolltemplate-drd-default .sheet-template-value .inlinerollresult.fullcrit {}*/
/*.sheet-rolltemplate-drd-default .sheet-template-value .inlinerollresult.fullfail {}*/
.sheet-rolltemplate-drd-default .sheet-template-result .inlinerollresult:hover {
border-color: #c04631;
}
.sheet-rolltemplate-drd-default .sheet-template-result-success .inlinerollresult:hover {
border-color: #12c512;
}
/*
//===========================================\\
@@ -1580,4 +1593,14 @@ body.sheet-darkmode .drd-popup .popup-content {
box-shadow: inset 0px 0px 15px 0px #000000;
background: #0003;
border: 1px inset #6e6e6e;
}
/* Roll template darkmode */
.sheet-rolltemplate-darkmode.sheet-rolltemplate-drd-default .sheet-template-bg {
background: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Draci%20doupe%20II/assets/bg-tile-darkmode.jpg") no-repeat;
color: #ddd;
}
.sheet-rolltemplate-darkmode.sheet-rolltemplate-drd-default .sheet-template-result .inlinerollresult,
.sheet-rolltemplate-darkmode.sheet-rolltemplate-drd-default .sheet-template-result-success .inlinerollresult {
color: #000;
}
+70 -76
View File
@@ -2047,6 +2047,7 @@
</div>
<div class="drd-flex" tabindex="-1">
<button type="roll" tabindex="-1" value="@{whisper_option} &{template:drd-default} @{name_option} {{character_id=@{character_id}}} {{subtitle=@{network5_name}}} {{profession=charakteristika}} {{level=@{network5_char}}} {{result=[[?{Zvol typ hodu|obyčejně, 2d6 [obyčejně]|přesně, 3d6kh2 [přesně]|nepřesně, 3d6dh1 [nepřesně]}+@{network5_char}]]}}"></button>
<button class="drd-roll-flat" type="roll" tabindex="-1" value="@{whisper_option} &{template:drd-default} @{name_option} {{character_id=@{character_id}}} {{subtitle=@{network5_name}}} {{profession=bez charakteristiky}} {{level=0}} {{result=[[?{Zvol typ hodu|obyčejně, 2d6 [obyčejně]|přesně, 3d6kh2 [přesně]|nepřesně, 3d6dh1 [nepřesně]}]]}}"></button>
<span class="drd-hint" tabindex="-1">
<span class="drd-hint-text">
<p><span style="font-family: 'dicefontd6'; font-size: 1.5em;">L</span> k hodu se <b>přičte</b> charakteristika</p>
@@ -2680,67 +2681,63 @@
});
});
});
on('change:sheet_type', function(eventInfo){
let prevVal = eventInfo.previousValue;
let newVal = eventInfo.newValue;
switch(newVal) {
case 'pc':
setAttrs({
sheet_tab: 'pc_character'
}, {silent: true});
break;
case 'npc':
setAttrs({
sheet_tab: 'npc_character'
}, {silent: true});
break;
default:
break;
}
if(newVal != prevVal){
}
});
/*
* Tab switching
* https://wiki.roll20.net/CSS_Wizardry#Tabs
*/
* Tab switching
* https://wiki.roll20.net/CSS_Wizardry#Tabs
*/
const tabButtons = [
'pc_character', 'pc_skills', 'pc_journal', 'pc_networks', 'pc_organisations', 'pc_inventory',
'npc_character', 'npc_journal'
'pc_character', 'pc_skills', 'pc_journal', 'pc_networks', 'pc_organisations', 'pc_inventory',
'npc_character', 'npc_journal',
'journal_page1', 'journal_page2', 'journal_page3', 'journal_page4', 'journal_page5',
'networks_page1', 'networks_page2',
'orgs_page1', 'orgs_page2'
];
tabButtons.forEach(button => {
on(`clicked:${button}`, function() {
let substring = button.substring(0, button.search(/_/));
let attr = '';
switch (substring) {
case 'pc':
case 'npc':
attr = 'sheet_tab';
break;
case 'journal':
attr = 'journal_page';
break;
case 'networks':
attr = 'networks_page';
break;
case 'orgs':
attr = 'orgs_page';
break;
default:
break;
}
setAttrs({
sheet_tab: button
[attr]: button
});
});
});
const journalButtonList = ['journal_page1', 'journal_page2', 'journal_page3', 'journal_page4', 'journal_page5'];
journalButtonList.forEach(button => {
on(`clicked:${button}`, function () {
setAttrs({
journal_page: button
});
});
on('change:sheet_type', function(eventInfo){
let prevVal = eventInfo.previousValue;
let newVal = eventInfo.newValue;
let tab = '';
switch(newVal) {
case 'pc':
tab = 'pc_character';
break;
case 'npc':
tab = 'npc_character';
break;
default:
break;
}
setAttrs({
sheet_tab: tab
}, {silent: true});
});
const networksButtonList = ['networks_page1', 'networks_page2'];
networksButtonList.forEach(button => {
on(`clicked:${button}`, function () {
setAttrs({
networks_page: button
});
});
});
const orgsButtonList = ['orgs_page1', 'orgs_page2'];
orgsButtonList.forEach(button => {
on(`clicked:${button}`, function () {
setAttrs({
orgs_page: button
});
});
});
/*
* https://wiki.roll20.net/Building_Character_Sheets#Storing_User_Data
* Attributes are only created after having been edited for the first time
@@ -2755,6 +2752,7 @@
initializeAttrs(Object.getOwnPropertyNames(v), Object.values(v));
});
});
getAttrs(professions, function(v){
initializeAttrs(Object.getOwnPropertyNames(v), Object.values(v));
});
@@ -2786,11 +2784,9 @@
getAttrs(['group_size'], function(v) {
showGroupCount(v.group_size);
});
getAttrs(['is_companion'], function(v) {
showCompanionStats(v.is_companion);
});
getAttrs(['categories_shown'], function(v) {
showCategories(toArray(v.categories_shown));
});
@@ -2800,12 +2796,12 @@
function prePopulateSection(sectionName, minRows, fieldName) {
getSectionIDs(sectionName, function(idArray) {
var currentRows = idArray.length;
var newrowattrs = {};
var newrowAttrs = {};
for(var i = currentRows; i < minRows; i++) {
var newrowid = generateRowID();
newrowattrs["repeating_" + sectionName + "_" + newrowid + "_" + fieldName] = 0;
var newRowId = generateRowID();
newrowAttrs["repeating_" + sectionName + "_" + newRowId + "_" + fieldName] = 0;
}
setAttrs(newrowattrs);
setAttrs(newrowAttrs);
});
}
@@ -2910,14 +2906,13 @@
let newVal = parseInt(eventInfo.newValue)||0;
workerLog(`change:${eventInfo.sourceAttribute}`, { eventInfo });
if(newVal != prevVal) {
orderProfessions();
calculateLevel();
}
});
/* JQuery to show/hide group count */
function showGroupCount(groupSize) {
if((groupSize === 'individual') || (groupSize === 'swarm')) {
if((groupSize == 'individual') || (groupSize == 'swarm')) {
$20('.drd-group-count').addClass('drd-hidden');
}else $20('.drd-group-count').removeClass('drd-hidden');
}
@@ -2932,11 +2927,11 @@
/* JQuery to show/hide companion stats */
function showCompanionStats(isCompanion) {
if(isCompanion === '✗') {
if(isCompanion == '✗') {
$20('.drd-companion-wage').addClass('drd-hidden');
$20('.drd-npc-companion').addClass('drd-hidden');
$20('.drd-companion-butt').removeClass('drd-toggled');
}else if(isCompanion === '✓') {
}else if(isCompanion == '✓') {
$20('.drd-companion-wage').removeClass('drd-hidden');
$20('.drd-npc-companion').removeClass('drd-hidden');
$20('.drd-companion-butt').addClass('drd-toggled');
@@ -2999,7 +2994,6 @@
let srcAttr = eventInfo.sourceAttribute;
let prevVal = parseInt(eventInfo.previousValue)||0;
let newVal = parseInt(eventInfo.newValue)||0;
let diff = Math.abs(newVal - prevVal);
if(newVal != prevVal || (srcAttr.includes('current'))){
workerLog(`change:${srcAttr}`, { eventInfo });
let attrs = [`${group}_level`, `${group}_pool`, `${group}_current`, `${group}_scarred`, `${group}_exhausted`, 'sheet_type'];
@@ -3029,7 +3023,7 @@
level = 16;
}
pool = level;
if(scarred == 0) {current = level - exhausted;} else {current = currentMax - exhausted;}
if(scarred === 0) {current = level - exhausted;} else {current = currentMax - exhausted;}
clearSquares(group);
}else if(srcAttr.includes('current')){
exhausted = currentMax - current;
@@ -3075,15 +3069,15 @@
let scarred = parseInt(values[2]);
let sheetType = String(values[3]);
workerLog(`(${sheetType}) ${button} square clicked`);
if (prevChar === '/') {
if (prevChar == '/') {
newChar = 'X';
scarred++;
} else if (prevChar === 'X') {
} else if (prevChar == 'X') {
newChar = ' ';
scarred--;
current++;
} else if (prevChar === ' ') {
if(sheetType === 'pc') {
} else if (prevChar == ' ') {
if(sheetType == 'pc') {
newChar='/';
current--;
}else {
@@ -3123,14 +3117,14 @@
let scarred = parseInt(values[2]);
let sheetType = String(values[3]);
workerLog(`[${sheetType}] ${button} square clicked`);
if (prevChar === '/') {
if (prevChar == '/') {
newChar = 'X';
scarred++;
} else if (prevChar === 'X') {
} else if (prevChar == 'X') {
newChar = ' ';
scarred--;
current++;
} else if (prevChar === ' ') {
} else if (prevChar == ' ') {
newChar='/';
current--;
}
@@ -3165,14 +3159,14 @@
let current = parseInt(values[1]);
let scarred = parseInt(values[2]);
workerLog(`(${sheetType}) ${button} square clicked`);
if (prevChar === '/') {
if (prevChar == '/') {
newChar = 'X';
scarred++;
} else if (prevChar === 'X') {
} else if (prevChar == 'X') {
newChar = ' ';
scarred--;
current++;
} else if (prevChar === ' ') {
} else if (prevChar == ' ') {
newChar='/';
current--;
}
@@ -3202,9 +3196,9 @@
let newChar = 'L';
if (!prevChar) {
newChar = 'S';
} else if (prevChar === 'L') {
} else if (prevChar == 'L') {
newChar = 'S';
} else if (prevChar === 'S') {
} else if (prevChar == 'S') {
newChar = 'T';
}
setAttrs({
@@ -3220,7 +3214,7 @@
getAttrs(['is_companion'], function (v) {
let prevChar = v.is_companion;
let newChar = '✓';
if (prevChar === '✓') {
if (prevChar == '✓') {
newChar = '✗';
}
setAttrs({