forked from GitHub-Mirrors/foundry-sw5e
Merge branch 'pr/39' into Develop
This commit is contained in:
commit
105ebc16b7
72 changed files with 12515 additions and 1599 deletions
BIN
fonts/Aurebesh.ttf
Normal file
BIN
fonts/Aurebesh.ttf
Normal file
Binary file not shown.
BIN
fonts/OpenSans-Bold.ttf
Normal file
BIN
fonts/OpenSans-Bold.ttf
Normal file
Binary file not shown.
BIN
fonts/OpenSans-BoldItalic.ttf
Normal file
BIN
fonts/OpenSans-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
fonts/OpenSans-Italic.ttf
Normal file
BIN
fonts/OpenSans-Italic.ttf
Normal file
Binary file not shown.
21
gulpfile.js
21
gulpfile.js
|
@ -5,13 +5,28 @@ const less = require('gulp-less');
|
|||
/* Compile LESS
|
||||
/* ----------------------------------------- */
|
||||
|
||||
const SW5E_LESS = ["less/*.less"];
|
||||
const SW5E_LESS = ["less/**/*.less"];
|
||||
function compileLESS() {
|
||||
return gulp.src("less/sw5e.less")
|
||||
return gulp.src("less/original/sw5e.less")
|
||||
.pipe(less())
|
||||
.pipe(gulp.dest("./"))
|
||||
}
|
||||
const css = gulp.series(compileLESS);
|
||||
function compileGlobalLess() {
|
||||
return gulp.src("less/update/sw5e-global.less")
|
||||
.pipe(less())
|
||||
.pipe(gulp.dest("./"))
|
||||
}
|
||||
function compileLightLess() {
|
||||
return gulp.src("less/update/sw5e-light.less")
|
||||
.pipe(less())
|
||||
.pipe(gulp.dest("./"))
|
||||
}
|
||||
function compileDarkLess() {
|
||||
return gulp.src("less/update/sw5e-dark.less")
|
||||
.pipe(less())
|
||||
.pipe(gulp.dest("./"))
|
||||
}
|
||||
const css = gulp.series(compileLESS, compileGlobalLess, compileLightLess, compileDarkLess);
|
||||
|
||||
/* ----------------------------------------- */
|
||||
/* Watch Updates
|
||||
|
|
|
@ -583,6 +583,7 @@
|
|||
"SW5E.RollSituationalBonus": "Situational Bonus?",
|
||||
"SW5E.Save": "Save",
|
||||
"SW5E.SheetClassCharacter": "Default Character Sheet",
|
||||
"SW5E.SheetClassCharacterOld": "Old Character Sheet",
|
||||
"SW5E.SheetClassNPC": "Default NPC Sheet",
|
||||
"SW5E.SheetClassVehicle": "Default Vehicle Sheet",
|
||||
"SW5E.SheetClassItem": "Default Item Sheet",
|
||||
|
@ -858,5 +859,9 @@
|
|||
"SETTINGS.5eRestN": "Rest Variant",
|
||||
"SETTINGS.5eRestPHB": "Player's Handbook (LR: 8 hours, SR: 1 hour)",
|
||||
"SETTINGS.5eRestGritty": "Gritty Realism (LR: 7 days, SR: 8 hours)",
|
||||
"SETTINGS.5eRestEpic": "Epic Heroism (LR: 1 hour, SR: 1 min)"
|
||||
"SETTINGS.5eRestEpic": "Epic Heroism (LR: 1 hour, SR: 1 min)",
|
||||
"SETTINGS.SWColorL": "Set the color theme of the game",
|
||||
"SETTINGS.SWColorN": "Display Theme",
|
||||
"SETTINGS.SWColorLight": "Light Theme",
|
||||
"SETTINGS.SWColorDark": "Dark Theme"
|
||||
}
|
||||
|
|
146
less/update/_variables-dark.less
Normal file
146
less/update/_variables-dark.less
Normal file
|
@ -0,0 +1,146 @@
|
|||
//override Primary Red
|
||||
@colorRed: #E81111;
|
||||
@colorDarkBg: #2b2b2b;
|
||||
//Background
|
||||
@primaryBackground: linear-gradient(90deg,#626262 0,#4d4d4d 30%,#4d4d4d 70%,#626262);
|
||||
|
||||
//Typography
|
||||
@headingColor: @colorRed;
|
||||
@headerBorderColor: @colorBlue;
|
||||
@bodyFontColor: white;
|
||||
@linkColor: @colorRed;
|
||||
@linkSecondaryColor: @colorPaleGray;
|
||||
|
||||
@blockquoteBackground: @colorPaleRed;
|
||||
@blockquoteBorder: @colorRed;
|
||||
@blockquoteShadow: 0 0 20px rgba(@colorRed, 0.8);
|
||||
|
||||
//forms
|
||||
@inputBackgroundColor: @colorDarkGray;
|
||||
@inputBorderNormal: @colorLightGray;
|
||||
@inputBorderHover: @colorGray;
|
||||
@inputBorderFocus: @colorRed;
|
||||
@inputTextColor: white;
|
||||
|
||||
@buttonBackground: @colorRed;
|
||||
@buttonTextColor: white;
|
||||
@buttonHoverBackground: lighten(@colorRed, 5);
|
||||
@buttonSecondaryBackground: @colorLightGray;
|
||||
@buttonSecondaryTextColor: white;
|
||||
@buttonSecondaryHoverBackground: lighten(@colorLightGray, 5);
|
||||
|
||||
//other bits
|
||||
@hrColor: @colorBlue;
|
||||
@tableTextColor: white;
|
||||
@tableHeaderTextColor: @colorPaleGray;
|
||||
@tableBackground: @colorGray;
|
||||
@tableRowHoverBackground: lighten(@colorLightGray, 10);
|
||||
@tableRowBorderColor: @colorLightGray;
|
||||
|
||||
//universalColors
|
||||
@windowHeaderBackground: @colorDarkBg;
|
||||
@windowHeaderLinkColor: @colorRed;
|
||||
|
||||
//Sidebar
|
||||
@sidebarTabBackground: @windowHeaderBackground;
|
||||
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
||||
@sidebarTabLinkUnderline: @colorRed;
|
||||
|
||||
@chatBackground: @colorDarkGray;
|
||||
@chatHeaderColor: @colorRed;
|
||||
@chatHeaderBottomBorderColor: @colorBlue;
|
||||
@chatNotificationColor: @colorBlue;
|
||||
@cardButtonBorder: @colorLightGray;
|
||||
@cardFooterBorder: @colorLightBlue;
|
||||
@cardFooterSeparator: @colorPaleGray;
|
||||
|
||||
@diceFormulaBackground: @colorGray;
|
||||
@diceFormualColor: white;
|
||||
@diceTotalBackground: @colorPaleRed;
|
||||
@diceTotalBorder: @colorRed;
|
||||
@diceTotalShadow: @colorRed;
|
||||
@diceSuccessColor: @colorGreen;
|
||||
@diceFailureColor: @colorRed;
|
||||
@diceCriticalBackground: @colorPaleGreen;
|
||||
@diceCriticalColor: @colorGreen;
|
||||
@diceFumbleBackground: @colorPaleRed;
|
||||
@diceFumbleColor: @colorRed;
|
||||
|
||||
@altRowBackground: @colorGray;
|
||||
|
||||
@combatRoundColor: @colorRed;
|
||||
@combatRoundBorder: @colorBlue;
|
||||
@combatCombatantControlColor: @colorPaleGray;
|
||||
@combatCombatantControlColorActive: @colorRed;
|
||||
@combatActiveCombatantColor: @colorBlue;
|
||||
@combatTokenResourceColor: white;
|
||||
@combatTokenResouceBorder: @colorLightGray;
|
||||
@combatControlsBorder: @colorBlue;
|
||||
|
||||
@folderSearchIconColor: @colorBlue;
|
||||
@folderSubdirectoryBackground: @colorDarkBg;
|
||||
@folderSubdirectoryBorder: @colorLightGray;
|
||||
@directoryListItemBorder: @colorBlue;
|
||||
@folderHeaderBackground: @colorDarkBg;
|
||||
@folderHeaderColor: white;
|
||||
@folderIconColor: @colorBlue;
|
||||
|
||||
@entityBackgroundColor: @colorDarkBg;
|
||||
@entityNameColor: @colorBlack;
|
||||
|
||||
@sceneBorderColor: @colorBlue;
|
||||
@sceneBackgroundColor: @colorDarkBg;
|
||||
|
||||
@playlistBackgroundColor: @colorDarkBg;
|
||||
@playlistHeaderBorder: @colorBlue;
|
||||
@playlistSoundColor: @colorBlack;
|
||||
|
||||
@compendiumEntityBackground: @colorDarkBg;
|
||||
@compendiumStatusIcon: @colorLightGray;
|
||||
|
||||
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
||||
@foundryNavTextColor: white;
|
||||
@foundryNavBorderColor: @colorBlue;
|
||||
@foundryNavBgColorGM: @colorBlue;
|
||||
@foundryNavBorderColorGM: @colorPaleBlue;
|
||||
@foundryNavSceneLinkColor: white;
|
||||
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
||||
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
||||
@foundryNavActiveGlow: darken(@colorRed, 20);
|
||||
@foundryNavContextShadow: darken(@colorBlue, 20);
|
||||
@foundryNavContextBorderColor: @colorBlue;
|
||||
|
||||
@foundryPlayersArrowColor: @colorLightGray;
|
||||
|
||||
@actorPanelBgColor: white;
|
||||
@actorNameColor: @colorRed;
|
||||
@actorXPBarBorder: @colorGray;
|
||||
@actorXPBarBackground: @colorPaleBlue;
|
||||
@actorXPBarColor: @colorBlue;
|
||||
@actorProficiencyTextColor: @colorGray;
|
||||
@actorAttributeInputColor: @colorGray;
|
||||
@actorSeparatorColor: @colorLightGray;
|
||||
@actorAttributeButtonBorder: @colorPaleGray;
|
||||
@actorAttributeButtonBorderHover: @colorRed;
|
||||
@actorNavigationTabsColor: @colorGray;
|
||||
@actorNavigationTabsActiveColor: @colorRed;
|
||||
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
||||
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
||||
@actorFilterBorderColor: @colorLightGray;
|
||||
@actorFilterHoverColor: @colorRed;
|
||||
@actorFilterActiveColor: @colorRed;
|
||||
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
||||
@actorGroupListTitleBorderColor: @colorBlue;
|
||||
@actorGroupListColumnBorderColor: @colorPaleGray;
|
||||
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
||||
@actorItemRollableD20Color: @colorGray;
|
||||
@actorItemRollableD20HoverColor: @colorRed;
|
||||
@actorItemControlToggleColor: @colorLightGray;
|
||||
@actorAbilityScoreColor: @colorGray;
|
||||
@actorAbilityBorderColor: @colorPaleGray;
|
||||
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
||||
@actorEncumbranceLabelBackground: @colorPaleGray;
|
||||
@actorEncumbranceTextColor: @colorBlack;
|
||||
@actorEncumbranceBorderColor: @colorBlack;
|
||||
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
||||
@actorEncumbranceBarColor: @colorBlue;
|
143
less/update/_variables-light.less
Normal file
143
less/update/_variables-light.less
Normal file
|
@ -0,0 +1,143 @@
|
|||
//Background
|
||||
@primaryBackground: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);// linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue);
|
||||
|
||||
//Typography
|
||||
@headingColor: @colorRed;
|
||||
@headerBorderColor: @colorBlue;
|
||||
@bodyFontColor: @colorBlack;
|
||||
@linkColor: @colorRed;
|
||||
@linkSecondaryColor: @colorGray;
|
||||
|
||||
@blockquoteBackground: @colorPaleBlue;
|
||||
@blockquoteBorder: @colorBlue;
|
||||
@blockquoteShadow: 0 0 20px rgba(@colorBlue, 0.8);
|
||||
|
||||
//forms
|
||||
@inputBackgroundColor: white;
|
||||
@inputBorderNormal: @colorLightGray;
|
||||
@inputBorderHover: @colorGray;
|
||||
@inputBorderFocus: @colorRed;
|
||||
@inputTextColor: @colorBlack;
|
||||
|
||||
@buttonBackground: @colorRed;
|
||||
@buttonTextColor: white;
|
||||
@buttonHoverBackground: lighten(@colorRed, 5);
|
||||
@buttonSecondaryBackground: @colorPaleGray;
|
||||
@buttonSecondaryTextColor: @colorBlack;
|
||||
@buttonSecondaryHoverBackground: lighten(@colorPaleGray, 5);
|
||||
|
||||
//other bits
|
||||
@hrColor: @colorBlue;
|
||||
@tableTextColor: @colorBlack;
|
||||
@tableHeaderTextColor: @colorLightGray;
|
||||
@tableBackground: white;
|
||||
@tableRowHoverBackground: lighten(@colorPaleGray, 10);
|
||||
@tableRowBorderColor: @colorPaleGray;
|
||||
|
||||
//universalColors
|
||||
@windowHeaderBackground: white;
|
||||
@windowHeaderLinkColor: @colorRed;
|
||||
|
||||
//Sidebar
|
||||
@sidebarTabBackground: @windowHeaderBackground;
|
||||
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
||||
@sidebarTabLinkUnderline: @colorRed;
|
||||
|
||||
@chatBackground: white;
|
||||
@chatHeaderColor: @colorRed;
|
||||
@chatHeaderBottomBorderColor: @colorBlue;
|
||||
@chatNotificationColor: @colorBlue;
|
||||
@cardButtonBorder: @colorLightGray;
|
||||
@cardFooterBorder: @colorLightBlue;
|
||||
@cardFooterSeparator: @colorPaleGray;
|
||||
|
||||
@diceFormulaBackground: @colorPaleGray;
|
||||
@diceFormualColor: @colorBlack;
|
||||
@diceTotalBackground: @colorPaleBlue;
|
||||
@diceTotalBorder: @colorBlue;
|
||||
@diceTotalShadow: @colorBlue;
|
||||
@diceSuccessColor: @colorGreen;
|
||||
@diceFailureColor: @colorRed;
|
||||
@diceCriticalBackground: @colorPaleGreen;
|
||||
@diceCriticalColor: @colorGreen;
|
||||
@diceFumbleBackground: @colorPaleRed;
|
||||
@diceFumbleColor: @colorRed;
|
||||
|
||||
@altRowBackground: @colorPaleBlue;
|
||||
|
||||
@combatRoundColor: @colorRed;
|
||||
@combatRoundBorder: @colorBlue;
|
||||
@combatCombatantControlColor: @colorLightGray;
|
||||
@combatCombatantControlColorActive: @colorDarkGray;
|
||||
@combatActiveCombatantColor: @colorBlue;
|
||||
@combatTokenResourceColor: @colorGray;
|
||||
@combatTokenResouceBorder: @colorLightGray;
|
||||
@combatControlsBorder: @colorBlue;
|
||||
|
||||
@folderSearchIconColor: @colorBlue;
|
||||
@folderSubdirectoryBackground: white;
|
||||
@folderSubdirectoryBorder: @colorBlack;
|
||||
@directoryListItemBorder: @colorBlue;
|
||||
@folderHeaderBackground: white;
|
||||
@folderHeaderColor: @colorBlack;
|
||||
@folderIconColor: @colorBlue;
|
||||
|
||||
@entityBackgroundColor: white;
|
||||
@entityNameColor: @colorBlack;
|
||||
|
||||
@sceneBorderColor: @colorBlue;
|
||||
@sceneBackgroundColor: white;
|
||||
|
||||
@playlistBackgroundColor: white;
|
||||
@playlistHeaderBorder: @colorBlue;
|
||||
@playlistSoundColor: @colorBlack;
|
||||
|
||||
@compendiumEntityBackground: white;
|
||||
@compendiumStatusIcon: @colorLightGray;
|
||||
|
||||
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
||||
@foundryNavTextColor: white;
|
||||
@foundryNavBorderColor: @colorBlue;
|
||||
@foundryNavBgColorGM: @colorBlue;
|
||||
@foundryNavBorderColorGM: @colorPaleBlue;
|
||||
@foundryNavSceneLinkColor: white;
|
||||
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
||||
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
||||
@foundryNavActiveGlow: darken(@colorRed, 20);
|
||||
@foundryNavContextShadow: darken(@colorBlue, 20);
|
||||
@foundryNavContextBorderColor: @colorBlue;
|
||||
|
||||
@foundryPlayersArrowColor: @colorLightGray;
|
||||
|
||||
@actorPanelBgColor: white;
|
||||
@actorNameColor: @colorRed;
|
||||
@actorXPBarBorder: @colorGray;
|
||||
@actorXPBarBackground: @colorPaleBlue;
|
||||
@actorXPBarColor: @colorBlue;
|
||||
@actorProficiencyTextColor: @colorGray;
|
||||
@actorAttributeInputColor: @colorGray;
|
||||
@actorSeparatorColor: @colorLightGray;
|
||||
@actorAttributeButtonBorder: @colorPaleGray;
|
||||
@actorAttributeButtonBorderHover: @colorRed;
|
||||
@actorNavigationTabsColor: @colorGray;
|
||||
@actorNavigationTabsActiveColor: @colorRed;
|
||||
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
||||
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
||||
@actorFilterBorderColor: @colorLightGray;
|
||||
@actorFilterHoverColor: @colorRed;
|
||||
@actorFilterActiveColor: @colorRed;
|
||||
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
||||
@actorGroupListTitleBorderColor: @colorBlue;
|
||||
@actorGroupListColumnBorderColor: @colorPaleGray;
|
||||
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
||||
@actorItemRollableD20Color: @colorGray;
|
||||
@actorItemRollableD20HoverColor: @colorRed;
|
||||
@actorItemControlToggleColor: @colorLightGray;
|
||||
@actorAbilityScoreColor: @colorGray;
|
||||
@actorAbilityBorderColor: @colorPaleGray;
|
||||
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
||||
@actorEncumbranceLabelBackground: @colorPaleGray;
|
||||
@actorEncumbranceTextColor: @colorBlack;
|
||||
@actorEncumbranceBorderColor: @colorBlack;
|
||||
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
||||
@actorEncumbranceBarColor: @colorBlue;
|
67
less/update/_variables.less
Normal file
67
less/update/_variables.less
Normal file
|
@ -0,0 +1,67 @@
|
|||
|
||||
/* ----------------------------------------- */
|
||||
/* Fonts */
|
||||
/* ----------------------------------------- */
|
||||
.russoOne(@size: 20px) {
|
||||
font-family: 'Russo One';
|
||||
font-size: @size;
|
||||
font-weight: 400;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.openSans(@size: 13px, @weight: 400) {
|
||||
font-family: 'Open Sans';
|
||||
font-size: @size;
|
||||
font-weight: @weight;
|
||||
}
|
||||
.fontAwesome() {
|
||||
font-family: "Font Awesome 5 Free";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
/* ----------------------------------------- */
|
||||
/* Sheet Styles */
|
||||
/* ----------------------------------------- */
|
||||
|
||||
@colorDark: #191813;
|
||||
@colorFaint: #c9c7b8;
|
||||
@colorBeige: #b5b3a4;
|
||||
@colorTan: #7a7971;
|
||||
@colorOlive: #4b4a44;
|
||||
@colorCrimson: #44191A;
|
||||
@borderGroove: 2px groove #eeede0;
|
||||
//@sheetBackground: url("ui/parchment.jpg") repeat;
|
||||
|
||||
|
||||
//SW5e Colors
|
||||
@colorBlack: #1C1C1C;
|
||||
@colorDarkGray: #363636;
|
||||
@colorGray: #4f4f4f;
|
||||
@colorLightGray: #828282;
|
||||
@colorPaleGray: #D6D6D6;
|
||||
@colorRed: #c40f0f;
|
||||
@colorPaleRed: #FBF4F4;
|
||||
@colorLightRed: #F6E1E1;
|
||||
@colorBlue: #0d99cc;
|
||||
@colorLightBlue: #7ed6f7;
|
||||
@colorPaleBlue: #afc6d6;
|
||||
@colorGreen: #0dce0d;
|
||||
@colorPaleGreen: #bcdcbe;
|
||||
|
||||
@sheetBackground: linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue);
|
||||
|
||||
|
||||
.dropShadow1(){
|
||||
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);
|
||||
}
|
||||
.dropShadow2() {
|
||||
box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);
|
||||
}
|
||||
.dropShadow3() {
|
||||
box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
|
||||
}
|
988
less/update/components/actor-global.less
Normal file
988
less/update/components/actor-global.less
Normal file
|
@ -0,0 +1,988 @@
|
|||
|
||||
.panel {
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
.dropShadow1();
|
||||
}
|
||||
.sw5e.sheet.actor.character {
|
||||
min-width: 780px;
|
||||
min-height: 720px;
|
||||
}
|
||||
.sw5e.sheet .window-content {
|
||||
.openSans(12px);
|
||||
|
||||
input,
|
||||
select {
|
||||
height: 24px;
|
||||
line-height: 20px;
|
||||
padding: 1px 4px;
|
||||
&:hover {
|
||||
box-shadow: none;
|
||||
}
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
&:hover,
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sw5e.sheet.actor {
|
||||
|
||||
.swalt-sheet {
|
||||
display: grid;
|
||||
grid-template-rows: 182px 40px auto;
|
||||
|
||||
section>h1 {
|
||||
.russoOne(17px);
|
||||
text-align: left;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
header {
|
||||
display: grid;
|
||||
grid-template-rows: 1fr 26px auto;
|
||||
grid-template-columns: 128px 1fr;
|
||||
column-gap: 8px;
|
||||
row-gap: 8px;
|
||||
|
||||
img {
|
||||
grid-column-start: 1;
|
||||
grid-row-start: 1;
|
||||
grid-row-end: 4;
|
||||
}
|
||||
|
||||
h1.character-name {
|
||||
grid-row: 1;
|
||||
grid-column: 2;
|
||||
margin: 0;
|
||||
border: none;
|
||||
align-self: center;
|
||||
height: auto;
|
||||
|
||||
.russoOne(32px);
|
||||
text-transform: uppercase;
|
||||
height: auto;
|
||||
|
||||
input[type="text"] {
|
||||
.russoOne(32px);
|
||||
text-transform: uppercase;
|
||||
height: auto;
|
||||
|
||||
&:focus {
|
||||
text-transform: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.level-experience {
|
||||
grid-row: 1;
|
||||
grid-column: 3;
|
||||
|
||||
.charlevel {
|
||||
.russoOne(17px);
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.experience {
|
||||
.russoOne(17px);
|
||||
text-align: right;
|
||||
line-height: 26px;
|
||||
input {
|
||||
display: inline-block;
|
||||
width: 120px;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.xpbar {
|
||||
height: 8px;
|
||||
|
||||
.bar {
|
||||
display: block;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.summary {
|
||||
grid-column-start: 2;
|
||||
grid-row-start: 2;
|
||||
grid-column-end: 4;
|
||||
display: grid;
|
||||
grid-template-rows: 1fr;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
|
||||
input,
|
||||
.proficiency {
|
||||
display: inline;
|
||||
height: auto;
|
||||
.russoOne(17px);
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.proficiency {
|
||||
line-height: 26px;
|
||||
}
|
||||
}
|
||||
|
||||
.attributes {
|
||||
grid-column-start: 2;
|
||||
grid-row-start: 3;
|
||||
grid-column-end: 4;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
column-gap: 12px;
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.attribute-value,
|
||||
.attribute-value input {
|
||||
.russoOne(22px);
|
||||
text-align: center;
|
||||
line-height: 1;
|
||||
|
||||
}
|
||||
|
||||
.attribute-value {
|
||||
|
||||
&.multiple {
|
||||
display: grid;
|
||||
grid-template-columns: auto 14px auto;
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.value-number {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
|
||||
padding: 0px 3px;
|
||||
|
||||
&:last-child {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
span.value-number {
|
||||
padding: 1px 4px;
|
||||
}
|
||||
|
||||
.initiative {
|
||||
padding: 1px 4px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
|
||||
|
||||
button {
|
||||
background: none;
|
||||
padding: 1px 3px;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
|
||||
&:hover {
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
|
||||
&.hit-points,
|
||||
&.hit-dice,
|
||||
&.initiative {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
column-gap: 8px;
|
||||
margin-top: 0;
|
||||
input,
|
||||
button {
|
||||
//border: 1px solid @colorPaleGray;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
button {
|
||||
|
||||
font-weight: 400;
|
||||
margin-top: 2px;
|
||||
|
||||
}
|
||||
|
||||
span {
|
||||
display: block;
|
||||
padding: 3px 4px;
|
||||
}
|
||||
}
|
||||
|
||||
&.speed {
|
||||
margin-top: 0;
|
||||
input {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav.sheet-navigation {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(6, 1fr);
|
||||
column-gap: 16px;
|
||||
margin: 4px 0;
|
||||
|
||||
.item {
|
||||
background: none;
|
||||
border: none;
|
||||
border-bottom: 3px solid transparent;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
padding: 0 0 8px;
|
||||
line-height: 1.6;
|
||||
.russoOne(16px);
|
||||
}
|
||||
}
|
||||
.editor {
|
||||
position: static;
|
||||
min-height: 32px;
|
||||
padding: 0;
|
||||
.editor-edit {
|
||||
display: block;
|
||||
font-size: 12px;
|
||||
background: none;
|
||||
border: none;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
top: 0;
|
||||
right: 0;
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
.tox.tox-tinymce {
|
||||
height: 250px !important;
|
||||
}
|
||||
}
|
||||
.tab {
|
||||
display: none;
|
||||
|
||||
&.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.filter-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0 0 8px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
max-width: 100%;
|
||||
|
||||
.filter-title {
|
||||
display: none;
|
||||
font-weight: bold;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.filter-item {
|
||||
width: 100px;
|
||||
text-align: center;
|
||||
|
||||
&+.filter-item {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.group-list-header {
|
||||
display: grid;
|
||||
padding-right: 6px;
|
||||
}
|
||||
|
||||
.group-list-title {
|
||||
h3 {
|
||||
.russoOne(17px);
|
||||
margin: 4px 0 0;
|
||||
padding: 0 4px;
|
||||
display: inline;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.item-create {
|
||||
font-size: 12px;
|
||||
i {
|
||||
font-size: 10px;
|
||||
}
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.group-list-header,
|
||||
.group-list {
|
||||
.item-detail {
|
||||
text-align: left;
|
||||
padding: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.group-list {
|
||||
height: 100%;
|
||||
overflow-y: scroll;
|
||||
& > li:first-child {
|
||||
padding-top: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.group-list,
|
||||
.group-list ol {
|
||||
list-style: none;
|
||||
margin: 0 0 8px;
|
||||
padding: 0;
|
||||
|
||||
.item-uses {
|
||||
input {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
span {
|
||||
padding-left: 8px;
|
||||
}
|
||||
.slot-max-override {
|
||||
margin-left: 5px;
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
li.item {
|
||||
display: grid;
|
||||
|
||||
h4 {
|
||||
.openSans(13px, 700);
|
||||
letter-spacing: 0;
|
||||
}
|
||||
.item-name,
|
||||
.item-detail {
|
||||
padding: 4px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.item-name {
|
||||
display: flex;
|
||||
|
||||
.item-image {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
background-size: contain;
|
||||
&::before {
|
||||
font-family: "Font Awesome 5 Free";
|
||||
font-weight: 900;
|
||||
content: '\f6cf';
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 2px;
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
h4 {
|
||||
line-height: 30px;
|
||||
display: inline-block;
|
||||
height: 30px;
|
||||
padding-left: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
&.rollable:hover {
|
||||
text-shadow: none;
|
||||
|
||||
.item-image {
|
||||
background-image: none !important;
|
||||
|
||||
&::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-image: none !important;
|
||||
|
||||
&::before {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-summary {
|
||||
grid-column-start: 1;
|
||||
grid-column-end: -1;
|
||||
padding: 4px 4px 4px 38px;
|
||||
}
|
||||
|
||||
.item-controls {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-evenly;
|
||||
}
|
||||
|
||||
.item-control {
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.group-grid-inventory {
|
||||
grid-template-columns: auto 60px 100px 100px 100px;
|
||||
|
||||
&.group-list-title {
|
||||
.item-controls {
|
||||
grid-column-start: 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
.group-grid-features {
|
||||
grid-template-columns: auto 100px 100px 100px;
|
||||
&.group-list-title {
|
||||
display: grid;
|
||||
}
|
||||
.item-controls {
|
||||
grid-column-start: 4;
|
||||
}
|
||||
|
||||
}
|
||||
.group-grid-powers {
|
||||
grid-template-columns: auto repeat(5, 100px);
|
||||
&.group-list-title {
|
||||
display: grid;
|
||||
align-items: end;
|
||||
.item-detail {
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
.group-grid-fav-items {
|
||||
grid-template-columns: auto 60px 30px 30px 50px;
|
||||
&.group-list-title {
|
||||
display: grid;
|
||||
align-items: end;
|
||||
.item-detail {
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tab > .panel {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.tab.attributes {
|
||||
&.active {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
grid-template-columns: 350px auto;
|
||||
grid-template-rows: auto;
|
||||
column-gap: 16px;
|
||||
|
||||
.abilities {
|
||||
display: grid;
|
||||
grid-template-columns: 128px auto;
|
||||
grid-template-rows: auto;
|
||||
column-gap: 12px;
|
||||
|
||||
ol {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.scores {
|
||||
li {
|
||||
border-radius: 0;
|
||||
padding: 4px;
|
||||
&+li {
|
||||
border-top: 0 !important;
|
||||
}
|
||||
&:first-child {
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-bottom-width: 1px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
.russoOne(14px);
|
||||
border: none;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.ability-score {
|
||||
.russoOne(22px);
|
||||
text-align: center;
|
||||
width: 48px;
|
||||
margin: 0 auto;
|
||||
height: 24px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.ability-modifiers {
|
||||
margin: 0 -4px -4px;
|
||||
display: grid;
|
||||
grid-template-columns: 28px auto 28px;
|
||||
|
||||
.ability-mod,
|
||||
.ability-save {
|
||||
padding: 2px 4px;
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.ability-mod {
|
||||
border-width: 1px 1px 0 0;
|
||||
border-radius: 0 4px 0 0;
|
||||
}
|
||||
|
||||
.ability-save {
|
||||
border-width: 1px 0 0 1px;
|
||||
border-radius: 4px 0 0 0;
|
||||
}
|
||||
|
||||
.proficiency-toggle {
|
||||
border: none;
|
||||
background: none;
|
||||
line-height: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.skills {
|
||||
li {
|
||||
display: grid;
|
||||
grid-template-columns: 28px auto 18px 28px;
|
||||
align-items: center;
|
||||
|
||||
|
||||
.proficiency-toggle {
|
||||
border: none;
|
||||
background: none;
|
||||
height: 23px;
|
||||
line-height: 23px;
|
||||
padding: 0 4px;
|
||||
}
|
||||
|
||||
.skill-name {
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.skill-ability {
|
||||
text-transform: capitalize;
|
||||
}
|
||||
|
||||
.skill-mod {
|
||||
text-align: right;
|
||||
padding-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.traits-resources {
|
||||
grid-template-rows: 32px auto;
|
||||
nav {
|
||||
margin-bottom: 4px;
|
||||
|
||||
button {
|
||||
display: inline-block;
|
||||
width: auto;
|
||||
background: none;
|
||||
border: none;
|
||||
border-bottom: 3px solid transparent;
|
||||
border-radius: 0;
|
||||
margin: 0;
|
||||
padding: 0 4px;
|
||||
line-height: 1.6;
|
||||
.russoOne(14px);
|
||||
|
||||
&+button {
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.traits {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-gap: 16px;
|
||||
row-gap: 8px;
|
||||
|
||||
input,
|
||||
select {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
label {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.trait-selector {
|
||||
background: none;
|
||||
border: none;
|
||||
display: inline;
|
||||
width: auto;
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
i.fas {
|
||||
float: none;
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.languages {
|
||||
grid-column-end: span 2;
|
||||
label {
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.traits-list {
|
||||
li {
|
||||
display: inline;
|
||||
|
||||
&::after {
|
||||
content: ',';
|
||||
}
|
||||
|
||||
&:last-child::after {
|
||||
content: '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ul.passives {
|
||||
grid-column-end: span 2;
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-gap: 4px;
|
||||
row-gap: 4px;
|
||||
|
||||
strong {
|
||||
font-size: 13px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.resources {
|
||||
.resource-items {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
column-gap: 12px;
|
||||
|
||||
.resource {
|
||||
|
||||
h1 {
|
||||
border: none;
|
||||
margin: 0;
|
||||
|
||||
input {
|
||||
font-family: 'Russo One';
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
margin-bottom: 4px;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.attribute-value,
|
||||
.attribute-value input {
|
||||
.russoOne(22px);
|
||||
text-align: center;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.attribute-value {
|
||||
display: grid;
|
||||
grid-template-columns: auto 14px auto;
|
||||
|
||||
input {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.value-number {
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px 3px;
|
||||
&:last-child {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
span.value-number {
|
||||
padding: 1px 4px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.attribute-footer {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
|
||||
label {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.counters {
|
||||
border: none;
|
||||
margin: 16px 0;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
|
||||
.counter {
|
||||
height: auto;
|
||||
border: none;
|
||||
text-align: center;
|
||||
|
||||
h4 {
|
||||
font-size: 13px;
|
||||
|
||||
//display: inline;
|
||||
&.rollable {
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.counter-value {
|
||||
display: inline;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
input[type="text"] {
|
||||
display: inline-block;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.death-success,
|
||||
.death-fail {
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
|
||||
.death-success {
|
||||
margin-right: 8px;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.inventory {
|
||||
&>.panel {
|
||||
grid-template-rows: 32px 32px 24px auto;
|
||||
}
|
||||
|
||||
.currency-encumbrance {
|
||||
display: grid;
|
||||
grid-template-columns: 200px auto;
|
||||
margin-bottom: 8px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.currency {
|
||||
.russoOne(14px);
|
||||
|
||||
input {
|
||||
display: inline-block;
|
||||
width: 128px;
|
||||
.openSans(13px);
|
||||
}
|
||||
}
|
||||
|
||||
.encumbrance-wrapper {
|
||||
display: grid;
|
||||
grid-template-columns: 400px 100px;
|
||||
width: 500px;
|
||||
justify-self: end;
|
||||
|
||||
.encumbrance-label {
|
||||
font-size: 12px;
|
||||
line-height: 14px;
|
||||
width: 100%;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: auto;
|
||||
text-align: center;
|
||||
margin-left: -2px;
|
||||
border-radius: 0 4px 4px 0;
|
||||
}
|
||||
|
||||
.encumbrance {
|
||||
position: relative;
|
||||
border-radius: 4px;
|
||||
height: 16px;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
|
||||
.encumbrance-bar {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.tab.features {
|
||||
&>.panel {
|
||||
grid-template-rows: 24px auto;
|
||||
}
|
||||
}
|
||||
.tab.powerbook {
|
||||
&>.panel {
|
||||
grid-template-rows: 32px 24px 24px auto;
|
||||
}
|
||||
.powercasting-ability {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr 1fr;
|
||||
label, h3 {
|
||||
.russoOne(13px);
|
||||
border-bottom: none;
|
||||
}
|
||||
.power-dc {
|
||||
grid-column-start: 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tab.biography {
|
||||
grid-template-columns: 1fr 2fr;
|
||||
grid-template-rows: 100%;
|
||||
column-gap: 16px;
|
||||
padding-bottom: 8px;
|
||||
max-width: 100%;
|
||||
&.active {
|
||||
display: grid;
|
||||
}
|
||||
&>.panel {
|
||||
display: block;
|
||||
overflow-y: auto;
|
||||
}
|
||||
section {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
}
|
||||
.tab.notes {
|
||||
&>.panel {
|
||||
display: block;
|
||||
overflow-y: auto;
|
||||
}
|
||||
section {
|
||||
position: relative;
|
||||
&>input {
|
||||
.russoOne(16px);
|
||||
text-align: left;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.editor .editor-edit {
|
||||
top: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.limited {
|
||||
grid-template-rows: 144px auto;
|
||||
row-gap: 8px;
|
||||
header {
|
||||
grid-template-rows: 1fr;
|
||||
}
|
||||
|
||||
.tab.biography {
|
||||
grid-template-columns: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
397
less/update/components/actor-themes.less
Normal file
397
less/update/components/actor-themes.less
Normal file
|
@ -0,0 +1,397 @@
|
|||
.panel {
|
||||
background: @actorPanelBgColor;
|
||||
}
|
||||
|
||||
.sw5e.sheet .window-content {
|
||||
color: @colorBlack;
|
||||
background: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);
|
||||
input,
|
||||
select {
|
||||
color: @colorBlack;
|
||||
&:hover {
|
||||
border-color: @inputBorderHover;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: @inputBorderFocus;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
border-color: @inputBorderFocus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sw5e.sheet.actor {
|
||||
color: @colorBlack;
|
||||
.swalt-sheet {
|
||||
section>h1 {
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
}
|
||||
|
||||
header {
|
||||
|
||||
h1.character-name {
|
||||
color: @actorNameColor;
|
||||
|
||||
input[type="text"] {
|
||||
color: @actorNameColor;
|
||||
}
|
||||
}
|
||||
|
||||
.level-experience {
|
||||
|
||||
.xpbar {
|
||||
border: 1px solid @actorXPBarBorder;
|
||||
background-color: @actorXPBarBackground;
|
||||
|
||||
.bar {
|
||||
background-color: @actorXPBarColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.summary {
|
||||
|
||||
input,
|
||||
.proficiency {
|
||||
color: @actorProficiencyTextColor;
|
||||
}
|
||||
}
|
||||
|
||||
.attributes {
|
||||
|
||||
.attribute-value,
|
||||
.attribute-value input {
|
||||
color: @actorAttributeInputColor;
|
||||
}
|
||||
|
||||
.attribute-value {
|
||||
|
||||
.value-separator {
|
||||
color: @actorSeparatorColor;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
button {
|
||||
border: 1px solid @actorAttributeButtonBorder;
|
||||
|
||||
&:hover {
|
||||
color: @actorAttributeButtonBorderHover;
|
||||
}
|
||||
}
|
||||
|
||||
&.hit-points,
|
||||
&.hit-dice,
|
||||
&.initiative {
|
||||
button {
|
||||
border: 1px solid @actorAttributeButtonBorder;
|
||||
color: @colorRed;
|
||||
|
||||
&:hover {
|
||||
border-color: @actorAttributeButtonBorderHover;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nav.sheet-navigation {
|
||||
.item {
|
||||
color: @actorNavigationTabsColor;
|
||||
|
||||
&.active {
|
||||
color: @actorNavigationTabsActiveColor;
|
||||
border-bottom-color: @actorNavigationTabsActiveColor;
|
||||
|
||||
&:hover {
|
||||
background: @actorNavigationTabsHoverBgColor;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: @actorNavigationTabsHoverBgColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab {
|
||||
|
||||
.filter-list {
|
||||
|
||||
.filter-item {
|
||||
border-bottom: 2px solid @actorFilterBorderColor;
|
||||
|
||||
&:hover {
|
||||
color: @actorFilterHoverColor;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: @actorFilterActiveColor;
|
||||
border-bottom-color: @actorFilterActiveColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.group-list-header {
|
||||
background: @actorGroupListHeaderBgColor;
|
||||
}
|
||||
|
||||
.group-list-title {
|
||||
border-bottom: 1px solid @actorGroupListTitleBorderColor;
|
||||
}
|
||||
|
||||
.group-list-header,
|
||||
.group-list {
|
||||
.item-detail {
|
||||
border-left: 1px solid @actorGroupListColumnBorderColor;
|
||||
}
|
||||
}
|
||||
|
||||
.group-list,
|
||||
.group-list ol {
|
||||
li.item {
|
||||
&:nth-child(even) {
|
||||
background-color: @actorGroupListAltRowColor;
|
||||
}
|
||||
|
||||
h4 {
|
||||
color: @colorBlack;
|
||||
}
|
||||
|
||||
|
||||
.item-name {
|
||||
|
||||
.item-image {
|
||||
|
||||
&::before {
|
||||
color: @actorItemRollableD20Color;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
&.rollable:hover {
|
||||
|
||||
.item-image {
|
||||
&:hover {
|
||||
&::before {
|
||||
color: @actorItemRollableD20HoverColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-control {
|
||||
&:hover {
|
||||
color: @linkColor !important;
|
||||
}
|
||||
|
||||
&.item-toggle {
|
||||
color: @actorItemControlToggleColor;
|
||||
|
||||
&.active {
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.tab.attributes {
|
||||
.abilities {
|
||||
|
||||
.scores {
|
||||
li {
|
||||
border: 1px solid @actorAbilityBorderColor;
|
||||
|
||||
h2 {
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
|
||||
.ability-score {
|
||||
color: @actorAbilityScoreColor;
|
||||
}
|
||||
|
||||
.ability-modifiers {
|
||||
|
||||
.ability-mod,
|
||||
.ability-save {
|
||||
border-color: @actorAbilityBorderColor;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.skills {
|
||||
li {
|
||||
&:nth-child(even) {
|
||||
background-color: @actorSkillsAltRowColor;
|
||||
}
|
||||
|
||||
|
||||
.skill-name {
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.traits-resources {
|
||||
nav {
|
||||
button {
|
||||
color: @actorNavigationTabsColor;
|
||||
|
||||
&.active {
|
||||
color: @actorNavigationTabsActiveColor;
|
||||
border-bottom-color: @actorNavigationTabsActiveColor;
|
||||
|
||||
&:hover {
|
||||
background: @actorNavigationTabsActiveHoverBgColor;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: @actorNavigationTabsHoverBgColor;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
section.traits {
|
||||
.trait-selector {
|
||||
i.fas {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
|
||||
.languages {
|
||||
label {
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
section.resources {
|
||||
.resource-items {
|
||||
.resource {
|
||||
h1 {
|
||||
|
||||
input {
|
||||
color: @headingColor;
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
}
|
||||
|
||||
.attribute-value,
|
||||
.attribute-value input {
|
||||
color: @actorAttributeInputColor;
|
||||
}
|
||||
|
||||
.attribute-value {
|
||||
.value-separator {
|
||||
color: @actorSeparatorColor;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.counters {
|
||||
.counter {
|
||||
h4 {
|
||||
&.rollable {
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.death-success {
|
||||
i {
|
||||
color: @colorGreen;
|
||||
}
|
||||
}
|
||||
|
||||
.death-fail {
|
||||
i {
|
||||
color: @colorRed;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.inventory {
|
||||
.currency {
|
||||
color: @headingColor;
|
||||
}
|
||||
|
||||
.encumbrance-wrapper {
|
||||
.encumbrance-label {
|
||||
background: @actorEncumbranceLabelBackground;
|
||||
color: @actorEncumbranceTextColor;
|
||||
border: 1px solid @actorEncumbranceBorderColor;
|
||||
}
|
||||
|
||||
.encumbrance {
|
||||
background: @actorEncumbranceBarBgColor;
|
||||
.encumbrance-bar {
|
||||
background: @actorEncumbranceBarColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.tab.powerbook {
|
||||
.powercasting-ability {
|
||||
label,
|
||||
h3 {
|
||||
color: @headingColor;
|
||||
|
||||
span {
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tab.notes {
|
||||
section {
|
||||
&>input {
|
||||
color: @headingColor;
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
105
less/update/components/forms-global.less
Normal file
105
less/update/components/forms-global.less
Normal file
|
@ -0,0 +1,105 @@
|
|||
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
||||
border-radius: 4px;
|
||||
transition: all 0.3s;
|
||||
&:hover {
|
||||
box-shadow: none;
|
||||
}
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
input[type=range] {
|
||||
-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
|
||||
width: 100%; /* Specific width is required for Firefox. */
|
||||
background: transparent; /* Otherwise white in Chrome */
|
||||
}
|
||||
|
||||
input[type=range]::-webkit-slider-thumb{
|
||||
-webkit-appearance: none;
|
||||
background: @colorRed;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-moz-range-thumb{
|
||||
-webkit-appearance: none;
|
||||
background: @colorRed;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-ms-thumb {
|
||||
-webkit-appearance: none;
|
||||
background: @colorRed;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
input[type=range]::-webkit-slider-runnable-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: @colorLightBlue;
|
||||
border-radius: 4px;
|
||||
border: 1px solid @colorBlue;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]:focus::-webkit-slider-runnable-track {
|
||||
background: @colorBlue;
|
||||
}
|
||||
input[type=range]::-moz-range-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: @colorLightBlue;
|
||||
border-radius: 4px;
|
||||
border: 1px solid @colorBlue;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-ms-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: @colorLightBlue;
|
||||
border-radius: 4px;
|
||||
border: 1px solid @colorBlue;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]:focus {
|
||||
outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
|
||||
}
|
||||
|
||||
input[type=range]::-ms-track {
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
|
||||
/* Hides the slider so custom styles can be added */
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
||||
.openSans(13px, 700);
|
||||
text-align: center;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
&:hover, &:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
&:disabled {
|
||||
opacity: 0.6;
|
||||
cursor: default;
|
||||
|
||||
}
|
||||
|
||||
}
|
53
less/update/components/forms-themes.less
Normal file
53
less/update/components/forms-themes.less
Normal file
|
@ -0,0 +1,53 @@
|
|||
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
||||
border: 1px solid @inputBorderNormal;
|
||||
color: @inputTextColor;
|
||||
&:hover {
|
||||
border-color: @inputBorderHover;
|
||||
}
|
||||
&:focus {
|
||||
border-color: @inputBorderFocus;
|
||||
}
|
||||
&::placeholder {
|
||||
color: @inputTextColor;
|
||||
opacity: 0.5;
|
||||
}
|
||||
::-ms-input-placeholder { /* Microsoft Edge */
|
||||
color: @inputTextColor;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
||||
background: @buttonBackground;
|
||||
color: @buttonTextColor;
|
||||
&:hover, &:focus {
|
||||
background: @buttonHoverBackground;
|
||||
}
|
||||
&:disabled {
|
||||
&:hover, &:focus {
|
||||
background: @buttonBackground;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
input[type="reset"], button.secondary, button[type="reset"], input[type="button"].secondary, input[type="submit"].secondary {
|
||||
background: @buttonSecondaryBackground;
|
||||
color: @buttonSecondaryTextColor;
|
||||
&:hover {
|
||||
background: @buttonSecondaryHoverBackground;
|
||||
}
|
||||
&:disabled {
|
||||
&:hover, &:focus {
|
||||
background: @buttonSecondaryBackground;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
form {
|
||||
button {
|
||||
border: none;
|
||||
}
|
||||
.notes, .hint {
|
||||
color: rgba(@bodyFontColor, 0.8);
|
||||
}
|
||||
}
|
49
less/update/components/foundry-app-window-themes.less
Normal file
49
less/update/components/foundry-app-window-themes.less
Normal file
|
@ -0,0 +1,49 @@
|
|||
.window-app {
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
.dropShadow2();
|
||||
& > header {
|
||||
background: @windowHeaderBackground;
|
||||
border-radius: 4px 4px 0 0;
|
||||
border: none;
|
||||
.dropShadow1();
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.window-content {
|
||||
background: @primaryBackground;
|
||||
color: @bodyFontColor;
|
||||
footer {
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
&.minimized {
|
||||
& > header, & > .window-header {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#client-settings {
|
||||
nav.tabs {
|
||||
border: none;
|
||||
font-size: 17px;
|
||||
line-height: 1.6;
|
||||
a.item {
|
||||
border-bottom: 3px solid transparent;
|
||||
color: @bodyFontColor;
|
||||
&:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
&.active {
|
||||
text-shadow: none;
|
||||
border-bottom-color: @sidebarTabLinkUnderline;
|
||||
}
|
||||
}
|
||||
}
|
||||
section.content {
|
||||
border: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
}
|
84
less/update/components/foundry-nav-themes.less
Normal file
84
less/update/components/foundry-nav-themes.less
Normal file
|
@ -0,0 +1,84 @@
|
|||
#navigation {
|
||||
#nav-toggle {
|
||||
background: @foundryNavBgColor;
|
||||
color: @foundryNavTextColor;
|
||||
|
||||
transform: rotate(-90deg);
|
||||
|
||||
}
|
||||
.nav-item {
|
||||
border: 1px solid @foundryNavBorderColor;
|
||||
}
|
||||
#scene-list {
|
||||
.scene {
|
||||
border: 1px solid @foundryNavBorderColor;
|
||||
background: rgba(@foundryNavBgColor, 0.4);
|
||||
a {
|
||||
color: @foundryNavSceneLinkColor;
|
||||
}
|
||||
&.gm {
|
||||
border: 1px solid @foundryNavBorderColorGM;
|
||||
background: rgba(@foundryNavBgColorGM, 0.4);
|
||||
}
|
||||
&.view, &.context {
|
||||
box-shadow: 0 0 8px @foundryNavContextShadow;
|
||||
border-color: @foundryNavContextBorderColor;
|
||||
}
|
||||
&.active {
|
||||
border-color: @foundryNavActiveBorderColor;
|
||||
background: @foundryNavActiveBgColor;
|
||||
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#controls {
|
||||
.scene-control, .control-tool {
|
||||
background: @foundryNavBgColor;
|
||||
color: @foundryNavTextColor;
|
||||
border: 1px solid @foundryNavBorderColor;
|
||||
box-shadow: none;
|
||||
&:hover {
|
||||
background: @foundryNavBgColor;
|
||||
box-shadow: 0 0 8px @foundryNavContextShadow;
|
||||
}
|
||||
&.active {
|
||||
border-color: @foundryNavActiveBorderColor;
|
||||
background: @foundryNavActiveBgColor;
|
||||
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
||||
}
|
||||
}
|
||||
}
|
||||
#players {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
h3 {
|
||||
background: @sidebarTabBackground;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0 8px;
|
||||
font-size: 17px;
|
||||
line-height: 30px;
|
||||
.dropShadow1();
|
||||
border-radius: 4px 4px 0 0;
|
||||
.players-mode {
|
||||
color: @foundryPlayersArrowColor;
|
||||
}
|
||||
}
|
||||
ol {
|
||||
margin: 4px 0;
|
||||
.player-name.self {
|
||||
color: inherit;
|
||||
font-weight: 700;
|
||||
}
|
||||
.player {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
.player-active {
|
||||
margin-top: 7px;
|
||||
&.active {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
381
less/update/components/sidebar-global.less
Normal file
381
less/update/components/sidebar-global.less
Normal file
|
@ -0,0 +1,381 @@
|
|||
#sidebar {
|
||||
border: none; //1px solid @colorBlue;
|
||||
&.collapsed {
|
||||
#sidebar-tabs {
|
||||
min-height: 370px;
|
||||
justify-content: center;
|
||||
& > .item.active {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#sidebar-tabs {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
justify-content: space-between;
|
||||
.dropShadow1();
|
||||
|
||||
.item {
|
||||
font-size: 16px;
|
||||
}
|
||||
.item.active {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
|
||||
#chat-log {
|
||||
.chat-message {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 8px;
|
||||
.dropShadow1();
|
||||
& > header {
|
||||
color: @colorRed;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
margin-bottom: 4px;
|
||||
span {
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.notification-pip {
|
||||
color: @colorBlue;
|
||||
}
|
||||
|
||||
.sw5e.chat-card {
|
||||
.card-header {
|
||||
padding: 0;
|
||||
border: none;
|
||||
img {
|
||||
flex: 0 0 36px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
line-height: 36px;
|
||||
.russoOne(17px);
|
||||
border-bottom: none;
|
||||
&:hover {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-content {
|
||||
margin: 4px 0;
|
||||
|
||||
h3 {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
> * {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
}
|
||||
|
||||
.card-buttons {
|
||||
margin: 4px 0;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
line-height: 28px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
button {
|
||||
.openSans(13px, 700);
|
||||
padding: 4px 0;
|
||||
height: auto;
|
||||
line-height: 1.6;
|
||||
margin: 4px 0;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
&:hover, &:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
padding: 4px 0 0;
|
||||
|
||||
span {
|
||||
padding: 0 4px 0 0;
|
||||
font-size: 10px;
|
||||
|
||||
&:last-child {
|
||||
border-right: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.dice-roll {
|
||||
.dice-formula {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.dice-total {
|
||||
border-radius: 0;
|
||||
padding: 4px 0;
|
||||
}
|
||||
}
|
||||
#chat-controls {
|
||||
padding-top: 4px;
|
||||
}
|
||||
#chat-form textarea {
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
#combat {
|
||||
h3 {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#combat-tracker {
|
||||
li.combatant {
|
||||
padding: 4px 0;
|
||||
background: none;
|
||||
.token-name {
|
||||
text-shadow: none;
|
||||
}
|
||||
h4 {
|
||||
color: @colorBlack;
|
||||
}
|
||||
.roll {
|
||||
background: none;
|
||||
&::before {
|
||||
content: "\f6cf";
|
||||
.fontAwesome();
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.initiative {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
&.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
||||
#combat-controls {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
.sidebar-tab {
|
||||
.directory-header {
|
||||
margin-bottom: 4px;
|
||||
.header-search {
|
||||
position: relative;
|
||||
i.fa-search {
|
||||
position: absolute;
|
||||
left: 8px;
|
||||
}
|
||||
input {
|
||||
text-align: left;
|
||||
padding-left: 22px;
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.subdirectory {
|
||||
border: none;
|
||||
margin-left: 8px;
|
||||
min-height: 8px;
|
||||
|
||||
}
|
||||
.directory-list {
|
||||
padding-bottom: 4px;
|
||||
.folder {
|
||||
& > .folder-header {
|
||||
line-height: default;
|
||||
padding: 0 0 0 8px;
|
||||
position: relative;
|
||||
border: none;
|
||||
h3 {
|
||||
padding: 8px 4px;
|
||||
.openSans(13px, 700);
|
||||
line-height: 1.6;
|
||||
& > i {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
a {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 4px;
|
||||
height: 100%;
|
||||
padding: 0 4px;
|
||||
i {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
&.create-folder {
|
||||
right: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.directory-item img {
|
||||
flex: 0 0 32px;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
align-self: center;
|
||||
}
|
||||
.actor, .item, .journal, .table {
|
||||
border: none;
|
||||
.entity-name {
|
||||
.openSans(13px, 700);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#scenes {
|
||||
.subdirectory {
|
||||
border-left: none;
|
||||
}
|
||||
.scene {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
height: 128px;
|
||||
& + .scene {
|
||||
margin-top: 4px;
|
||||
}
|
||||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 99px;
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 0;
|
||||
}
|
||||
h3 {
|
||||
.openSans(13px, 700);
|
||||
text-align: left;
|
||||
text-shadow: none;
|
||||
padding: 4px 4px 4px 12px;
|
||||
line-height: 1.6;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#playlists {
|
||||
.directory-list {
|
||||
padding: 0 8px;
|
||||
li.playlist {
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 8px;
|
||||
border-top: inherit;
|
||||
.dropShadow1();
|
||||
.playlist-header {
|
||||
text-decoration: none;
|
||||
}
|
||||
li.sound {
|
||||
border: none;
|
||||
h4 {
|
||||
.openSans(13px, 400);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#compendium {
|
||||
.compendium-entity {
|
||||
margin: 0 4px;
|
||||
padding: 8px;
|
||||
.dropShadow1();
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
&+ .compendium-entity {
|
||||
margin-top: 4px;
|
||||
}
|
||||
h3 {
|
||||
background: none;
|
||||
border: none;
|
||||
.russoOne(17px);
|
||||
padding: 0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
ol.compendium-list {
|
||||
li.compendium-pack {
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
border: none;
|
||||
.pack-title {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
a {
|
||||
.openSans(13px, 700);
|
||||
i {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.status-icons {
|
||||
top: 4px;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#settings {
|
||||
h2 {
|
||||
border: none;
|
||||
margin: 0 8px;
|
||||
padding: 0;
|
||||
background: none;
|
||||
}
|
||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||
padding: 0 8px;
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
}
|
295
less/update/components/sidebar-themes.less
Normal file
295
less/update/components/sidebar-themes.less
Normal file
|
@ -0,0 +1,295 @@
|
|||
#sidebar-tabs {
|
||||
background: @sidebarTabBackground;
|
||||
& > .collapse {
|
||||
color: @sidebarTabLinkColor;
|
||||
}
|
||||
.item.active {
|
||||
color: @sidebarTabLinkColor;
|
||||
border-bottom: 3px solid @sidebarTabLinkUnderline;
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
|
||||
#chat-log {
|
||||
.chat-message {
|
||||
background: @chatBackground;
|
||||
color: @bodyFontColor;
|
||||
& > header {
|
||||
color: @chatHeaderColor;
|
||||
border-bottom: 2px solid @chatHeaderBottomBorderColor;
|
||||
span {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.notification-pip {
|
||||
color: @chatNotificationColor;
|
||||
}
|
||||
|
||||
.sw5e.chat-card {
|
||||
|
||||
.card-header {
|
||||
h3 {
|
||||
color: @bodyFontColor;
|
||||
&:hover {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.card-buttons {
|
||||
span {
|
||||
border: 1px solid @cardButtonBorder;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
border-top: 1px solid @cardFooterBorder;
|
||||
|
||||
span {
|
||||
border-right: 1px solid @cardFooterSeparator;
|
||||
&:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.dice-roll {
|
||||
|
||||
.dice-formula {
|
||||
background: @diceFormulaBackground;
|
||||
color: @diceFormualColor;
|
||||
box-shadow: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.dice-total {
|
||||
background: @diceTotalBackground;
|
||||
border: 1px solid @diceTotalBorder;
|
||||
box-shadow: 0 0 12px rgba(@diceTotalShadow,.8);
|
||||
&.success {
|
||||
color: @diceSuccessColor;
|
||||
}
|
||||
&.failure {
|
||||
color: @diceFailureColor;
|
||||
}
|
||||
&.critical {
|
||||
color: @diceCriticalColor;
|
||||
background: @diceCriticalBackground;
|
||||
box-shadow: 0 0 12px rgba(@diceCriticalColor,.5);
|
||||
}
|
||||
&.fumble {
|
||||
color: @diceFumbleColor;
|
||||
background: @diceFumbleBackground;
|
||||
box-shadow: 0 0 12px rgba(@diceFumbleColor,.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
#chat-controls {
|
||||
.roll-type-select {
|
||||
background: @inputBackgroundColor;
|
||||
}
|
||||
label {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
|
||||
}
|
||||
#chat-form textarea {
|
||||
background: @inputBackgroundColor;
|
||||
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
#combat {
|
||||
#combat-round {
|
||||
color: @combatRoundColor;
|
||||
border-bottom: 2px solid @combatRoundColor;
|
||||
.encounters {
|
||||
h4 {
|
||||
color: @combatRoundColor;
|
||||
}
|
||||
a {
|
||||
color: @linkSecondaryColor;
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#combat-tracker {
|
||||
//padding-top: 4px;
|
||||
li.combatant {
|
||||
color: @bodyFontColor;
|
||||
&:nth-child(even) {
|
||||
background: rgba(@altRowBackground, 0.5);
|
||||
}
|
||||
h4 {
|
||||
color: @bodyFontColor
|
||||
}
|
||||
.roll {
|
||||
color: @linkSecondaryColor;
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
.combatant-control {
|
||||
color: @combatCombatantControlColor;
|
||||
&.active {
|
||||
color: @combatCombatantControlColorActive;
|
||||
}
|
||||
}
|
||||
.token-resource {
|
||||
color: @combatTokenResourceColor;
|
||||
border-right: 1px solid @combatTokenResouceBorder;
|
||||
}
|
||||
&.active {
|
||||
color: @combatActiveCombatantColor;
|
||||
.initiative, h4 {
|
||||
color: @combatActiveCombatantColor;
|
||||
}
|
||||
}
|
||||
&.hidden {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
#combat-controls {
|
||||
border-top: 1px solid @combatControlsBorder;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
.sidebar-tab {
|
||||
.directory-header {
|
||||
.header-search {
|
||||
i.fa-search {
|
||||
color: @folderSearchIconColor;
|
||||
}
|
||||
input {
|
||||
background: @inputBackgroundColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
.subdirectory {
|
||||
background: @folderSubdirectoryBackground;
|
||||
.folder {
|
||||
border-left: 2px solid rgba(@folderSubdirectoryBorder, 0.4);
|
||||
}
|
||||
}
|
||||
.directory-list {
|
||||
li + li {
|
||||
border-top: 1px solid @directoryListItemBorder;
|
||||
}
|
||||
.folder {
|
||||
& > .folder-header {
|
||||
background: @folderHeaderBackground;
|
||||
h3 {
|
||||
background: @folderHeaderBackground;
|
||||
color: @folderHeaderColor;
|
||||
& > i {
|
||||
color: @folderIconColor;
|
||||
}
|
||||
}
|
||||
a {
|
||||
color: @linkSecondaryColor;
|
||||
&:hover {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.collapsed > .folder-header {
|
||||
background: @folderHeaderBackground;
|
||||
}
|
||||
& + .entity {
|
||||
border-top: 1px solid @directoryListItemBorder;
|
||||
}
|
||||
}
|
||||
|
||||
.actor, .item, .journal, .table {
|
||||
background: @entityBackgroundColor;
|
||||
.entity-name {
|
||||
color: @entityNameColor;
|
||||
}
|
||||
&:nth-child(even) {
|
||||
background: rgba(@altRowBackground, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#scenes {
|
||||
.scene {
|
||||
border-top: 1px solid @sceneBorderColor;
|
||||
border-left: 4px solid @sceneBorderColor;
|
||||
&::after {
|
||||
box-shadow: 0 0 20px @sceneBorderColor inset;
|
||||
}
|
||||
h3 {
|
||||
background: @sceneBackgroundColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#playlists {
|
||||
.directory-list {
|
||||
li.playlist {
|
||||
background: @playlistBackgroundColor;
|
||||
.playlist-header {
|
||||
background: @playlistBackgroundColor;
|
||||
color: @colorRed;
|
||||
border-bottom: 2px solid @playlistHeaderBorder;
|
||||
}
|
||||
li.sound {
|
||||
color: @playlistSoundColor;
|
||||
|
||||
}
|
||||
a.sound-control {
|
||||
color: @linkColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#compendium {
|
||||
.compendium-entity {
|
||||
background: @compendiumEntityBackground !important;
|
||||
h3 {
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
ol.compendium-list {
|
||||
li.compendium-pack {
|
||||
&:nth-child(even) {
|
||||
background: rgba(@altRowBackground, 0.3);
|
||||
}
|
||||
.pack-title {
|
||||
.status-icons {
|
||||
color: @compendiumStatusIcon;
|
||||
}
|
||||
}
|
||||
footer.compendium-footer {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#settings {
|
||||
h2 {
|
||||
color: @headingColor;
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||
color: @bodyFontColor;
|
||||
}
|
||||
}
|
495
less/update/components/sidebar.less
Normal file
495
less/update/components/sidebar.less
Normal file
|
@ -0,0 +1,495 @@
|
|||
#sidebar {
|
||||
border: none; //1px solid @colorBlue;
|
||||
}
|
||||
|
||||
#sidebar-tabs {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background: white;
|
||||
.dropShadow1();
|
||||
& > .collapse {
|
||||
color: @colorRed;
|
||||
}
|
||||
.item {
|
||||
font-size: 16px;
|
||||
}
|
||||
.item.active {
|
||||
color: @colorRed;
|
||||
border: none;
|
||||
border-bottom: 3px solid @colorRed;
|
||||
box-shadow: none;
|
||||
background: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
|
||||
#chat-log {
|
||||
.chat-message {
|
||||
background: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 8px;
|
||||
.dropShadow1();
|
||||
& > header {
|
||||
color: @colorRed;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
margin-bottom: 4px;
|
||||
span {
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.notification-pip {
|
||||
color: @colorBlue;
|
||||
text-shadow: none;
|
||||
|
||||
}
|
||||
|
||||
.sw5e.chat-card {
|
||||
font-size: 13px;
|
||||
|
||||
.card-header {
|
||||
padding: 0;
|
||||
border: none;
|
||||
|
||||
img {
|
||||
flex: 0 0 36px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
line-height: 36px;
|
||||
.russoOne(17px);
|
||||
color: @colorBlack;
|
||||
&:hover {
|
||||
color: @colorBlack;
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-content {
|
||||
margin: 4px 0;
|
||||
|
||||
h3 {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
> * {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
}
|
||||
|
||||
.card-buttons {
|
||||
margin: 4px 0;
|
||||
|
||||
span {
|
||||
display: block;
|
||||
line-height: 28px;
|
||||
text-align: center;
|
||||
border: 1px solid @colorLightGray;
|
||||
}
|
||||
|
||||
button {
|
||||
.openSans(13px, 700);
|
||||
padding: 4px 0;
|
||||
height: auto;
|
||||
line-height: 1.6;
|
||||
margin: 4px 0;
|
||||
background: @colorRed;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
&:hover, &:focus {
|
||||
background-color: lighten(@colorRed, 5);
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-footer {
|
||||
padding: 4px 0 0;
|
||||
border-top: 1px solid @colorLightBlue;
|
||||
|
||||
span {
|
||||
border-right: 2px groove #FFF;
|
||||
padding: 0 4px 0 0;
|
||||
font-size: 10px;
|
||||
|
||||
&:last-child {
|
||||
border-right: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.dice-roll {
|
||||
|
||||
.dice-formula {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
.dice-total {
|
||||
background: @colorPaleBlue;
|
||||
border: 1px solid @colorBlue;
|
||||
border-radius: 0;
|
||||
padding: 4px 0;
|
||||
box-shadow: 0 0 12px rgba(@colorBlue,.5);
|
||||
&.success {
|
||||
color: inherit;
|
||||
background: #c7d0c0;
|
||||
border: 1px solid #006c00;
|
||||
}
|
||||
&.failure {
|
||||
color: inherit;
|
||||
background: #ffdddd;
|
||||
border: 1px solid #6e0000;
|
||||
}
|
||||
&.critical {
|
||||
color: @colorGreen;
|
||||
background: @colorPaleGreen;
|
||||
box-shadow: 0 0 12px rgba(@colorGreen,.5);
|
||||
}
|
||||
&.fumble {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
}
|
||||
#chat-controls {
|
||||
padding-top: 4px;
|
||||
label {
|
||||
color: @colorBlack;
|
||||
}
|
||||
|
||||
}
|
||||
#chat-form textarea {
|
||||
background: white;
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
#combat {
|
||||
#combat-round {
|
||||
color: @colorRed;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
.encounters {
|
||||
h4 {
|
||||
color: @colorRed;
|
||||
}
|
||||
a {
|
||||
color: @colorGray;
|
||||
&:hover {
|
||||
color: @colorRed;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#combat-tracker {
|
||||
//padding-top: 4px;
|
||||
li.combatant {
|
||||
padding: 4px 0;
|
||||
color: @colorBlack;
|
||||
background: none;
|
||||
&:nth-child(even) {
|
||||
background: rgba(@colorPaleBlue, 0.5);
|
||||
}
|
||||
h4 {
|
||||
color: @colorBlack;
|
||||
text-shadow: none;
|
||||
}
|
||||
.roll {
|
||||
background: none;
|
||||
color: @colorGray;
|
||||
&::before {
|
||||
content: "\f6cf";
|
||||
.fontAwesome();
|
||||
font-size: 28px;
|
||||
}
|
||||
&:hover {
|
||||
color: @colorRed;
|
||||
}
|
||||
}
|
||||
.combatant-control {
|
||||
color: @colorLightGray;
|
||||
text-shadow: none;
|
||||
&.active {
|
||||
color: @colorDarkGray;
|
||||
}
|
||||
}
|
||||
.token-resource {
|
||||
color: @colorGray;
|
||||
border-right: 1px solid @colorLightGray;
|
||||
}
|
||||
.initiative {
|
||||
text-shadow: none;
|
||||
}
|
||||
&.active {
|
||||
color: @colorBlue;
|
||||
.initiative, h4 {
|
||||
color: @colorBlue;
|
||||
}
|
||||
}
|
||||
&.hidden {
|
||||
opacity: 0.5;
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
}
|
||||
#combat-controls {
|
||||
padding-top: 0;
|
||||
border-top: 1px solid @colorBlue;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
.sidebar-tab {
|
||||
.directory-header {
|
||||
margin-bottom: 4px;
|
||||
.header-search {
|
||||
position: relative;
|
||||
i.fa-search {
|
||||
position: absolute;
|
||||
left: 8px;
|
||||
color: @colorBlue;
|
||||
}
|
||||
input {
|
||||
text-align: left;
|
||||
padding-left: 22px;
|
||||
background: white;
|
||||
&:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.subdirectory {
|
||||
border: none;
|
||||
margin-left: 8px;
|
||||
background: white;
|
||||
min-height: 8px;
|
||||
.folder {
|
||||
border-left: 2px solid rgba(@colorBlack, 0.4);
|
||||
}
|
||||
}
|
||||
.directory-list {
|
||||
padding-bottom: 4px;
|
||||
li + li {
|
||||
border-top: 1px solid @colorBlue;
|
||||
}
|
||||
.folder {
|
||||
& > .folder-header {
|
||||
line-height: default;
|
||||
padding: 0 0 0 8px;
|
||||
position: relative;
|
||||
border: none;
|
||||
background: white;
|
||||
h3 {
|
||||
padding: 8px 4px;
|
||||
background: white;
|
||||
color: @colorBlack;
|
||||
.openSans(13px, 700);
|
||||
line-height: 1.6;
|
||||
& > i {
|
||||
margin-right: 4px;
|
||||
color: @colorBlue;
|
||||
}
|
||||
}
|
||||
a {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 4px;
|
||||
height: 100%;
|
||||
padding: 0 4px;
|
||||
color: @colorLightGray;
|
||||
&:hover {
|
||||
color: @colorRed;
|
||||
}
|
||||
i {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
&.create-folder {
|
||||
right: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.collapsed > .folder-header {
|
||||
background: white;
|
||||
}
|
||||
& + .entity {
|
||||
border-top: 1px solid @colorBlue;
|
||||
}
|
||||
}
|
||||
.directory-item img {
|
||||
flex: 0 0 32px;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
align-self: center;
|
||||
}
|
||||
.actor, .item, .journal, .table {
|
||||
background: white;
|
||||
border: none;
|
||||
.entity-name {
|
||||
.openSans(13px, 700);
|
||||
color: @colorBlack;
|
||||
}
|
||||
&:nth-child(even) {
|
||||
background: rgba(@colorPaleBlue, 0.3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#scenes {
|
||||
.subdirectory {
|
||||
border-left: none;
|
||||
}
|
||||
.scene {
|
||||
border: none;
|
||||
border-top: 1px solid @colorBlue;
|
||||
border-left: 4px solid @colorBlue;
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
height: 128px;
|
||||
//margin-bottom: 4px;
|
||||
& + .scene {
|
||||
margin-top: 4px;
|
||||
}
|
||||
&::after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 99px;
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 0;
|
||||
box-shadow: 0 0 20px @colorBlue inset;
|
||||
}
|
||||
h3 {
|
||||
.openSans(13px, 700);
|
||||
text-align: left;
|
||||
text-shadow: none;
|
||||
padding: 4px 4px 4px 12px;
|
||||
background: white;
|
||||
line-height: 1.6;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#playlists {
|
||||
.directory-list {
|
||||
padding: 0 8px;
|
||||
li.playlist {
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background: white;
|
||||
margin-bottom: 8px;
|
||||
border-top: inherit;
|
||||
.dropShadow1();
|
||||
.playlist-header {
|
||||
background: white;
|
||||
color: @colorRed;
|
||||
text-decoration: none;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
}
|
||||
li.sound {
|
||||
border: none;
|
||||
color: @colorBlack;
|
||||
h4 {
|
||||
.openSans(13px, 400);
|
||||
}
|
||||
|
||||
}
|
||||
a.sound-control {
|
||||
color: @colorRed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#compendium {
|
||||
.compendium-entity {
|
||||
margin: 0 4px;
|
||||
padding: 8px;
|
||||
background: white !important;
|
||||
.dropShadow1();
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
&+ .compendium-entity {
|
||||
margin-top: 4px;
|
||||
}
|
||||
h3 {
|
||||
border: none;
|
||||
color: @colorRed;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
.russoOne(17px);
|
||||
padding: 0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
ol.compendium-list {
|
||||
li.compendium-pack {
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
border: none;
|
||||
&:nth-child(even) {
|
||||
background: rgba(@colorPaleBlue, 0.3);
|
||||
}
|
||||
.pack-title {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
a {
|
||||
.openSans(13px, 700);
|
||||
i {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.status-icons {
|
||||
top: 4px;
|
||||
color: @colorLightGray;
|
||||
font-size: 13px;
|
||||
}
|
||||
}
|
||||
footer.compendium-footer {
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#settings {
|
||||
h2 {
|
||||
color: @colorRed;
|
||||
border: none;
|
||||
border-bottom: 2px solid @colorBlue;
|
||||
margin: 0 8px;
|
||||
padding: 0;
|
||||
}
|
||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||
padding: 0 8px;
|
||||
margin: 0 0 8px;
|
||||
color: @colorBlack;
|
||||
}
|
||||
}
|
47
less/update/sw5e-dark.less
Normal file
47
less/update/sw5e-dark.less
Normal file
|
@ -0,0 +1,47 @@
|
|||
@import "_variables.less";
|
||||
@import "_variables-dark.less";
|
||||
|
||||
body.dark-theme {
|
||||
.app {
|
||||
background: @primaryBackground;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: @headingColor;
|
||||
}
|
||||
h3 {
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @linkColor;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 4px 8px;
|
||||
background-color: @blockquoteBackground;
|
||||
border: 1px solid @blockquoteBorder;
|
||||
box-shadow: @blockquoteShadow;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-width: 0 0 1px 0;
|
||||
border-bottom: 1px solid @hrColor;
|
||||
}
|
||||
@import "components/forms-themes.less";
|
||||
@import "components/sidebar-themes.less";
|
||||
@import "components/foundry-nav-themes.less";
|
||||
@import "components/foundry-app-window-themes.less";
|
||||
@import "components/actor-themes.less";
|
||||
}
|
185
less/update/sw5e-global.less
Normal file
185
less/update/sw5e-global.less
Normal file
|
@ -0,0 +1,185 @@
|
|||
/* open-sans-regular - latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/OpenSans-Regular.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/OpenSans-Italic.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/OpenSans-Bold.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/OpenSans-BoldItalic.ttf');
|
||||
}
|
||||
/* russo-one-regular - latin */
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Aurebesh';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/Aurebesh.ttf');
|
||||
}
|
||||
@import "_variables.less";
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
// ::-webkit-scrollbar {
|
||||
// width: 6px;
|
||||
// height: 6px;
|
||||
// }
|
||||
::-webkit-scrollbar-track {
|
||||
border: 1px solid @colorBlue;
|
||||
border-radius: 4px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
outline: none;
|
||||
border-radius: 4px;
|
||||
background: @colorBlue;
|
||||
border: none;
|
||||
}
|
||||
:root {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: @colorBlue @colorPaleBlue;
|
||||
}
|
||||
|
||||
body {
|
||||
.openSans(13px, 400);
|
||||
}
|
||||
|
||||
h1 {
|
||||
.russoOne(34px);
|
||||
}
|
||||
h2 {
|
||||
.russoOne(27px);
|
||||
}
|
||||
h3 {
|
||||
.russoOne(21px);
|
||||
}
|
||||
h4 {
|
||||
.russoOne(17px);
|
||||
}
|
||||
h5, h6 {
|
||||
.russoOne(13px);
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
&:hover, &:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.app {
|
||||
border: none;// 1px solid @colorBlue;
|
||||
.dropShadow1();
|
||||
}
|
||||
#pause {
|
||||
img {display: none;}
|
||||
background: none;
|
||||
height: 128px;
|
||||
&::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-left: -64px;
|
||||
left: 50%;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
background: url("ui/pause-inner.svg") no-repeat 50% 50%;
|
||||
animation-name: pause-spin;
|
||||
animation-duration: 10000ms;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
margin-left: -64px;
|
||||
left: 50%;
|
||||
width: 128px;
|
||||
height: 128px;
|
||||
background: url("ui/pause-outer.svg") no-repeat 50% 50%;
|
||||
animation-name: pause-spin;
|
||||
animation-duration: 5000ms;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
animation-direction: reverse;
|
||||
}
|
||||
h3 {
|
||||
border-bottom: 0;
|
||||
line-height: 1;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 256px;
|
||||
margin-left: -128px;
|
||||
margin-top: -13px;
|
||||
text-shadow: 0 0 24px @colorBlue;
|
||||
&::before, &::after {
|
||||
position: absolute;
|
||||
font-family: "Aurebesh", sans-serif;
|
||||
font-size: 13px;
|
||||
color: @colorGray;
|
||||
animation: none;
|
||||
opacity: 0.8;
|
||||
text-shadow: 0 0 8px @colorBlue;
|
||||
}
|
||||
&::before {
|
||||
content: "GAME";
|
||||
top: -13px;
|
||||
left: 42px;
|
||||
}
|
||||
&::after {
|
||||
content: "PAUSED";
|
||||
bottom: -13px;
|
||||
right: 42px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@import "components/forms-global.less";
|
||||
@import "components/sidebar-global.less";
|
||||
@import "components/actor-global.less";
|
||||
|
||||
@keyframes pause-spin {
|
||||
from {
|
||||
transform:rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
47
less/update/sw5e-light.less
Normal file
47
less/update/sw5e-light.less
Normal file
|
@ -0,0 +1,47 @@
|
|||
@import "_variables.less";
|
||||
@import "_variables-light.less";
|
||||
|
||||
body.light-theme {
|
||||
.app {
|
||||
background: @primaryBackground;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: @headingColor;
|
||||
}
|
||||
h3 {
|
||||
border-bottom: 2px solid @headerBorderColor;
|
||||
}
|
||||
|
||||
a {
|
||||
color: @linkColor;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
blockquote {
|
||||
padding: 4px 8px;
|
||||
background-color: @blockquoteBackground;
|
||||
border: 1px solid @blockquoteBorder;
|
||||
box-shadow: @blockquoteShadow;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-width: 0 0 1px 0;
|
||||
border-bottom: 1px solid @hrColor;
|
||||
}
|
||||
@import "components/forms-themes.less";
|
||||
@import "components/sidebar-themes.less";
|
||||
@import "components/foundry-nav-themes.less";
|
||||
@import "components/foundry-app-window-themes.less";
|
||||
@import "components/actor-themes.less";
|
||||
}
|
61
less/update/sw5e-update.less
Normal file
61
less/update/sw5e-update.less
Normal file
|
@ -0,0 +1,61 @@
|
|||
@import "variables.less";
|
||||
|
||||
|
||||
|
||||
a {
|
||||
color: @colorRed;
|
||||
text-decoration: none;
|
||||
&:hover, &:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.app {
|
||||
background: @sheetBackground;
|
||||
border: none;// 1px solid @colorBlue;
|
||||
.dropShadow1();
|
||||
}
|
||||
|
||||
#context-menu {
|
||||
background: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
color: @colorBlack;
|
||||
padding: 0 8px;
|
||||
ol.context-items {
|
||||
background: white;
|
||||
border-radius: 4px;
|
||||
border: 1px solid @colorLightGray;
|
||||
.dropShadow2();
|
||||
li.context-item {
|
||||
&:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
i {
|
||||
color: @colorBlue;
|
||||
}
|
||||
&:hover {
|
||||
background: @colorRed;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
cursor: pointer;
|
||||
i {
|
||||
color: white;
|
||||
}
|
||||
}
|
||||
& + li {
|
||||
border-top: 1px solid @colorPaleGray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@import "components/forms.less";
|
||||
@import "components/sidebar.less";
|
|
@ -43,8 +43,8 @@ export default class ActorSheet5e extends ActorSheet {
|
|||
|
||||
/** @override */
|
||||
get template() {
|
||||
if ( !game.user.isGM && this.actor.limited ) return "systems/sw5e/templates/actors/limited-sheet.html";
|
||||
return `systems/sw5e/templates/actors/${this.actor.data.type}-sheet.html`;
|
||||
if ( !game.user.isGM && this.actor.limited ) return "systems/sw5e/templates/actors/oldActor/limited-sheet.html";
|
||||
return `systems/sw5e/templates/actors/oldActor/${this.actor.data.type}-sheet.html`;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
|
631
module/actor/sheets/newSheet/character.js
Normal file
631
module/actor/sheets/newSheet/character.js
Normal file
|
@ -0,0 +1,631 @@
|
|||
import ActorSheet5e from "../base.js";
|
||||
import Actor5e from "../../entity.js";
|
||||
|
||||
/**
|
||||
* An Actor sheet for player character type actors in the SW5E system.
|
||||
* Extends the base ActorSheet5e class.
|
||||
* @type {ActorSheet5e}
|
||||
*/
|
||||
export default class ActorSheet5eCharacterNew extends ActorSheet5e {
|
||||
|
||||
get template() {
|
||||
if (!game.user.isGM && this.actor.limited) return "systems/sw5e/templates/actors/newActor/limited-sheet.html";
|
||||
return "systems/sw5e/templates/actors/newActor/character-sheet.html";
|
||||
}
|
||||
/**
|
||||
* Define default rendering options for the NPC sheet
|
||||
* @return {Object}
|
||||
*/
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["swalt", "sw5e", "sheet", "actor", "character"],
|
||||
blockFavTab: true,
|
||||
subTabs: null,
|
||||
width: 800,
|
||||
tabs: [{
|
||||
navSelector: ".root-tabs",
|
||||
contentSelector: ".sheet-body",
|
||||
initial: "attributes"
|
||||
}],
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Add some extra data when rendering the sheet to reduce the amount of logic required within the template.
|
||||
*/
|
||||
getData() {
|
||||
const sheetData = super.getData();
|
||||
|
||||
// Temporary HP
|
||||
let hp = sheetData.data.attributes.hp;
|
||||
if (hp.temp === 0) delete hp.temp;
|
||||
if (hp.tempmax === 0) delete hp.tempmax;
|
||||
|
||||
// Resources
|
||||
sheetData["resources"] = ["primary", "secondary", "tertiary"].reduce((arr, r) => {
|
||||
const res = sheetData.data.resources[r] || {};
|
||||
res.name = r;
|
||||
res.placeholder = game.i18n.localize("SW5E.Resource"+r.titleCase());
|
||||
if (res && res.value === 0) delete res.value;
|
||||
if (res && res.max === 0) delete res.max;
|
||||
return arr.concat([res]);
|
||||
}, []);
|
||||
|
||||
// Experience Tracking
|
||||
sheetData["disableExperience"] = game.settings.get("sw5e", "disableExperienceTracking");
|
||||
sheetData["classLabels"] = this.actor.itemTypes.class.map(c => c.name).join(", ");
|
||||
|
||||
// Return data for rendering
|
||||
return sheetData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Organize and classify Owned Items for Character sheets
|
||||
* @private
|
||||
*/
|
||||
_prepareItems(data) {
|
||||
|
||||
// Categorize items as inventory, powerbook, features, and classes
|
||||
const inventory = {
|
||||
weapon: { label: "SW5E.ItemTypeWeaponPl", items: [], dataset: {type: "weapon"} },
|
||||
equipment: { label: "SW5E.ItemTypeEquipmentPl", items: [], dataset: {type: "equipment"} },
|
||||
consumable: { label: "SW5E.ItemTypeConsumablePl", items: [], dataset: {type: "consumable"} },
|
||||
tool: { label: "SW5E.ItemTypeToolPl", items: [], dataset: {type: "tool"} },
|
||||
backpack: { label: "SW5E.ItemTypeContainerPl", items: [], dataset: {type: "backpack"} },
|
||||
loot: { label: "SW5E.ItemTypeLootPl", items: [], dataset: {type: "loot"} }
|
||||
};
|
||||
|
||||
// Partition items by category
|
||||
let [items, powers, feats, classes, species, archetypes, classfeatures, backgrounds, lightsaberforms] = data.items.reduce((arr, item) => {
|
||||
|
||||
// Item details
|
||||
item.img = item.img || DEFAULT_TOKEN;
|
||||
item.isStack = Number.isNumeric(item.data.quantity) && (item.data.quantity !== 1);
|
||||
|
||||
// Item usage
|
||||
item.hasUses = item.data.uses && (item.data.uses.max > 0);
|
||||
item.isOnCooldown = item.data.recharge && !!item.data.recharge.value && (item.data.recharge.charged === false);
|
||||
item.isDepleted = item.isOnCooldown && (item.data.uses.per && (item.data.uses.value > 0));
|
||||
item.hasTarget = !!item.data.target && !(["none",""].includes(item.data.target.type));
|
||||
|
||||
// Item toggle state
|
||||
this._prepareItemToggleState(item);
|
||||
|
||||
// Classify items into types
|
||||
if ( item.type === "power" ) arr[1].push(item);
|
||||
else if ( item.type === "feat" ) arr[2].push(item);
|
||||
else if ( item.type === "class" ) arr[3].push(item);
|
||||
else if ( item.type === "species" ) arr[4].push(item);
|
||||
else if ( item.type === "archetype" ) arr[5].push(item);
|
||||
else if ( item.type === "classfeature" ) arr[6].push(item);
|
||||
else if ( item.type === "background" ) arr[7].push(item);
|
||||
else if ( item.type === "lightsaberform" ) arr[8].push(item);
|
||||
else if ( Object.keys(inventory).includes(item.type ) ) arr[0].push(item);
|
||||
return arr;
|
||||
}, [[], [], [], [], [], [], [], [], []]);
|
||||
|
||||
// Apply active item filters
|
||||
items = this._filterItems(items, this._filters.inventory);
|
||||
powers = this._filterItems(powers, this._filters.powerbook);
|
||||
feats = this._filterItems(feats, this._filters.features);
|
||||
|
||||
// Organize items
|
||||
for ( let i of items ) {
|
||||
i.data.quantity = i.data.quantity || 0;
|
||||
i.data.weight = i.data.weight || 0;
|
||||
i.totalWeight = Math.round(i.data.quantity * i.data.weight * 10) / 10;
|
||||
inventory[i.type].items.push(i);
|
||||
}
|
||||
|
||||
// Organize Powerbook and count the number of prepared powers (excluding always, at will, etc...)
|
||||
const powerbook = this._preparePowerbook(data, powers);
|
||||
const nPrepared = powers.filter(s => {
|
||||
return (s.data.level > 0) && (s.data.preparation.mode === "prepared") && s.data.preparation.prepared;
|
||||
}).length;
|
||||
|
||||
// Organize Features
|
||||
const features = {
|
||||
classes: { label: "SW5E.ItemTypeClassPl", items: [], hasActions: false, dataset: {type: "class"}, isClass: true },
|
||||
classfeatures: { label: "SW5E.ItemTypeClassFeats", items: [], hasActions: false, dataset: {type: "classfeature"}, isClassfeature: true },
|
||||
archetype: { label: "SW5E.ItemTypeArchetype", items: [], hasActions: false, dataset: {type: "archetype"}, isArchetype: true },
|
||||
species: { label: "SW5E.ItemTypeSpecies", items: [], hasActions: false, dataset: {type: "species"}, isSpecies: true },
|
||||
background: { label: "SW5E.ItemTypeBackground", items: [], hasActions: false, dataset: {type: "background"}, isBackground: true },
|
||||
lightsaberform: { label: "SW5E.ItemTypeLightsaberForm", items: [], hasActions: false, dataset: {type: "lightsaberform"}, isLightsaberform: true },
|
||||
active: { label: "SW5E.FeatureActive", items: [], hasActions: true, dataset: {type: "feat", "activation.type": "action"} },
|
||||
passive: { label: "SW5E.FeaturePassive", items: [], hasActions: false, dataset: {type: "feat"} }
|
||||
};
|
||||
for ( let f of feats ) {
|
||||
if ( f.data.activation.type ) features.active.items.push(f);
|
||||
else features.passive.items.push(f);
|
||||
}
|
||||
classes.sort((a, b) => b.levels - a.levels);
|
||||
features.classes.items = classes;
|
||||
features.classfeatures.items = classfeatures;
|
||||
features.archetype.items = archetypes;
|
||||
features.species.items = species;
|
||||
features.background.items = backgrounds;
|
||||
features.lightsaberform.items = lightsaberforms;
|
||||
|
||||
// Assign and return
|
||||
data.inventory = Object.values(inventory);
|
||||
data.powerbook = powerbook;
|
||||
data.preparedPowers = nPrepared;
|
||||
data.features = Object.values(features);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* A helper method to establish the displayed preparation state for an item
|
||||
* @param {Item} item
|
||||
* @private
|
||||
*/
|
||||
_prepareItemToggleState(item) {
|
||||
if (item.type === "power") {
|
||||
const isAlways = getProperty(item.data, "preparation.mode") === "always";
|
||||
const isPrepared = getProperty(item.data, "preparation.prepared");
|
||||
item.toggleClass = isPrepared ? "active" : "";
|
||||
if ( isAlways ) item.toggleClass = "fixed";
|
||||
if ( isAlways ) item.toggleTitle = CONFIG.SW5E.powerPreparationModes.always;
|
||||
else if ( isPrepared ) item.toggleTitle = CONFIG.SW5E.powerPreparationModes.prepared;
|
||||
else item.toggleTitle = game.i18n.localize("SW5E.PowerUnprepared");
|
||||
}
|
||||
else {
|
||||
const isActive = getProperty(item.data, "equipped");
|
||||
item.toggleClass = isActive ? "active" : "";
|
||||
item.toggleTitle = game.i18n.localize(isActive ? "SW5E.Equipped" : "SW5E.Unequipped");
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Event Listeners and Handlers
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Activate event listeners using the prepared sheet HTML
|
||||
* @param html {HTML} The prepared HTML object ready to be rendered into the DOM
|
||||
*/
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
if ( !this.options.editable ) return;
|
||||
|
||||
// Inventory Functions
|
||||
html.find(".currency-convert").click(this._onConvertCurrency.bind(this));
|
||||
|
||||
// Item State Toggling
|
||||
html.find('.item-toggle').click(this._onToggleItem.bind(this));
|
||||
|
||||
// Short and Long Rest
|
||||
html.find('.short-rest').click(this._onShortRest.bind(this));
|
||||
html.find('.long-rest').click(this._onLongRest.bind(this));
|
||||
|
||||
// Death saving throws
|
||||
html.find('.death-save').click(this._onDeathSave.bind(this));
|
||||
|
||||
// Send Languages to Chat onClick
|
||||
html.find('[data-options="share-languages"]').click(event => {
|
||||
event.preventDefault();
|
||||
let langs = this.actor.data.data.traits.languages.value.map(l => SW5E.languages[l] || l).join(", ");
|
||||
let custom = this.actor.data.data.traits.languages.custom;
|
||||
if (custom) langs += ", " + custom.replace(/;/g, ",");
|
||||
let content = `
|
||||
<div class="sw5e chat-card item-card" data-acor-id="${this.actor._id}">
|
||||
<header class="card-header flexrow">
|
||||
<img src="${this.actor.data.token.img}" title="" width="36" height="36" style="border: none;"/>
|
||||
<h3>Known Languages</h3>
|
||||
</header>
|
||||
<div class="card-content">${langs}</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// Send to Chat
|
||||
let rollWhisper = null;
|
||||
let rollBlind = false;
|
||||
let rollMode = game.settings.get("core", "rollMode");
|
||||
if (["gmroll", "blindroll"].includes(rollMode)) rollWhisper = ChatMessage.getWhisperIDs("GM");
|
||||
if (rollMode === "blindroll") rollBlind = true;
|
||||
ChatMessage.create({
|
||||
user: game.user._id,
|
||||
content: content,
|
||||
speaker: {
|
||||
actor: this.actor._id,
|
||||
token: this.actor.token,
|
||||
alias: this.actor.name
|
||||
},
|
||||
type: CONST.CHAT_MESSAGE_TYPES.OTHER
|
||||
});
|
||||
});
|
||||
|
||||
// Item Delete Confirmation
|
||||
html.find('.item-delete').off("click");
|
||||
html.find('.item-delete').click(event => {
|
||||
let li = $(event.currentTarget).parents('.item');
|
||||
let itemId = li.attr("data-item-id");
|
||||
let item = this.actor.getOwnedItem(itemId);
|
||||
new Dialog({
|
||||
title: `Deleting ${item.data.name}`,
|
||||
content: `<p>Are you sure you want to delete ${item.data.name}?</p>`,
|
||||
buttons: {
|
||||
Yes: {
|
||||
icon: '<i class="fa fa-check"></i>',
|
||||
label: 'Yes',
|
||||
callback: dlg => {
|
||||
this.actor.deleteOwnedItem(itemId);
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
icon: '<i class="fas fa-times"></i>',
|
||||
label: 'No'
|
||||
},
|
||||
},
|
||||
default: 'cancel'
|
||||
}).render(true);
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Handle rolling a death saving throw for the Character
|
||||
* @param {MouseEvent} event The originating click event
|
||||
* @private
|
||||
*/
|
||||
_onDeathSave(event) {
|
||||
event.preventDefault();
|
||||
return this.actor.rollDeathSave({event: event});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
|
||||
/**
|
||||
* Handle toggling the state of an Owned Item within the Actor
|
||||
* @param {Event} event The triggering click event
|
||||
* @private
|
||||
*/
|
||||
_onToggleItem(event) {
|
||||
event.preventDefault();
|
||||
const itemId = event.currentTarget.closest(".item").dataset.itemId;
|
||||
const item = this.actor.getOwnedItem(itemId);
|
||||
const attr = item.data.type === "power" ? "data.preparation.prepared" : "data.equipped";
|
||||
return item.update({[attr]: !getProperty(item.data, attr)});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Take a short rest, calling the relevant function on the Actor instance
|
||||
* @param {Event} event The triggering click event
|
||||
* @private
|
||||
*/
|
||||
async _onShortRest(event) {
|
||||
event.preventDefault();
|
||||
await this._onSubmit(event);
|
||||
return this.actor.shortRest();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Take a long rest, calling the relevant function on the Actor instance
|
||||
* @param {Event} event The triggering click event
|
||||
* @private
|
||||
*/
|
||||
async _onLongRest(event) {
|
||||
event.preventDefault();
|
||||
await this._onSubmit(event);
|
||||
return this.actor.longRest();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/**
|
||||
* Handle mouse click events to convert currency to the highest possible denomination
|
||||
* @param {MouseEvent} event The originating click event
|
||||
* @private
|
||||
*/
|
||||
async _onConvertCurrency(event) {
|
||||
event.preventDefault();
|
||||
return Dialog.confirm({
|
||||
title: `${game.i18n.localize("SW5E.CurrencyConvert")}`,
|
||||
content: `<p>${game.i18n.localize("SW5E.CurrencyConvertHint")}</p>`,
|
||||
yes: () => this.actor.convertCurrency()
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
/** @override */
|
||||
async _onDropItemCreate(itemData) {
|
||||
|
||||
// Upgrade the number of class levels a character has and add features
|
||||
if ( itemData.type === "class" ) {
|
||||
const cls = this.actor.itemTypes.class.find(c => c.name === itemData.name);
|
||||
const classWasAlreadyPresent = !!cls;
|
||||
|
||||
// Add new features for class level
|
||||
if ( !classWasAlreadyPresent ) {
|
||||
Actor5e.getClassFeatures(itemData).then(features => {
|
||||
this.actor.createEmbeddedEntity("OwnedItem", features);
|
||||
});
|
||||
}
|
||||
|
||||
// If the actor already has the class, increment the level instead of creating a new item
|
||||
// then add new features as long as level increases
|
||||
if ( classWasAlreadyPresent ) {
|
||||
const lvl = cls.data.data.levels;
|
||||
const newLvl = Math.min(lvl + 1, 20 + lvl - this.actor.data.data.details.level);
|
||||
if ( !(lvl === newLvl) ) {
|
||||
cls.update({"data.levels": newLvl});
|
||||
itemData.data.levels = newLvl;
|
||||
Actor5e.getClassFeatures(itemData).then(features => {
|
||||
this.actor.createEmbeddedEntity("OwnedItem", features);
|
||||
});
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
super._onDropItemCreate(itemData);
|
||||
}
|
||||
}
|
||||
|
||||
async function addFavorites(app, html, data) {
|
||||
// Thisfunction is adapted for the SwaltSheet from the Favorites Item
|
||||
// Tab Module created for Foundry VTT - by Felix Müller (Felix#6196 on Discord).
|
||||
// It is licensed under a Creative Commons Attribution 4.0 International License
|
||||
// and can be found at https://github.com/syl3r86/favtab.
|
||||
let favItems = [];
|
||||
let favFeats = [];
|
||||
let favPowers = {
|
||||
0: {
|
||||
isCantrip: true,
|
||||
powers: []
|
||||
},
|
||||
1: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power1.value,
|
||||
max: data.actor.data.powers.power1.max
|
||||
},
|
||||
2: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power2.value,
|
||||
max: data.actor.data.powers.power2.max
|
||||
},
|
||||
3: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power3.value,
|
||||
max: data.actor.data.powers.power3.max
|
||||
},
|
||||
4: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power4.value,
|
||||
max: data.actor.data.powers.power4.max
|
||||
},
|
||||
5: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power5.value,
|
||||
max: data.actor.data.powers.power5.max
|
||||
},
|
||||
6: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power6.value,
|
||||
max: data.actor.data.powers.power6.max
|
||||
},
|
||||
7: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power7.value,
|
||||
max: data.actor.data.powers.power7.max
|
||||
},
|
||||
8: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power8.value,
|
||||
max: data.actor.data.powers.power8.max
|
||||
},
|
||||
9: {
|
||||
powers: [],
|
||||
value: data.actor.data.powers.power9.value,
|
||||
max: data.actor.data.powers.power9.max
|
||||
}
|
||||
}
|
||||
|
||||
let powerCount = 0
|
||||
let items = data.actor.items;
|
||||
for (let item of items) {
|
||||
if (item.type == "class") continue;
|
||||
if (item.flags.favtab === undefined || item.flags.favtab.isFavourite === undefined) {
|
||||
item.flags.favtab = {
|
||||
isFavourite: false
|
||||
};
|
||||
}
|
||||
let isFav = item.flags.favtab.isFavourite;
|
||||
if (app.options.editable) {
|
||||
let favBtn = $(`<a class="item-control item-toggle item-fav ${isFav ? "active" : ""}" data-fav="${isFav}" title="${isFav ? "Remove from Favourites" : "Add to Favourites"}"><i class="fas fa-star"></i></a>`);
|
||||
favBtn.click(ev => {
|
||||
app.actor.getOwnedItem(item._id).update({
|
||||
"flags.favtab.isFavourite": !item.flags.favtab.isFavourite
|
||||
});
|
||||
});
|
||||
html.find(`.item[data-item-id="${item._id}"]`).find('.item-controls').prepend(favBtn);
|
||||
}
|
||||
|
||||
if (isFav) {
|
||||
item.powerComps = "";
|
||||
if (item.data.components) {
|
||||
let comps = item.data.components;
|
||||
let v = (comps.vocal) ? "V" : "";
|
||||
let s = (comps.somatic) ? "S" : "";
|
||||
let m = (comps.material) ? "M" : "";
|
||||
let c = (comps.concentration) ? true : false;
|
||||
let r = (comps.ritual) ? true : false;
|
||||
item.powerComps = `${v}${s}${m}`;
|
||||
item.powerCon = c;
|
||||
item.powerRit = r;
|
||||
}
|
||||
|
||||
item.editable = app.options.editable;
|
||||
switch (item.type) {
|
||||
case 'feat':
|
||||
if (item.flags.favtab.sort === undefined) {
|
||||
item.flags.favtab.sort = (favFeats.count + 1) * 100000; // initial sort key if not present
|
||||
}
|
||||
favFeats.push(item);
|
||||
break;
|
||||
case 'power':
|
||||
if (item.data.preparation.mode) {
|
||||
item.powerPrepMode = ` (${CONFIG.SW5E.powerPreparationModes[item.data.preparation.mode]})`
|
||||
}
|
||||
if (item.data.level) {
|
||||
favPowers[item.data.level].powers.push(item);
|
||||
} else {
|
||||
favPowers[0].powers.push(item);
|
||||
}
|
||||
powerCount++;
|
||||
break;
|
||||
default:
|
||||
if (item.flags.favtab.sort === undefined) {
|
||||
item.flags.favtab.sort = (favItems.count + 1) * 100000; // initial sort key if not present
|
||||
}
|
||||
favItems.push(item);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Alter core CSS to fit new button
|
||||
// if (app.options.editable) {
|
||||
// html.find('.powerbook .item-controls').css('flex', '0 0 88px');
|
||||
// html.find('.inventory .item-controls, .features .item-controls').css('flex', '0 0 90px');
|
||||
// html.find('.favourite .item-controls').css('flex', '0 0 22px');
|
||||
// }
|
||||
|
||||
let tabContainer = html.find('.favtabtarget');
|
||||
data.favItems = favItems.length > 0 ? favItems.sort((a, b) => (a.flags.favtab.sort) - (b.flags.favtab.sort)) : false;
|
||||
data.favFeats = favFeats.length > 0 ? favFeats.sort((a, b) => (a.flags.favtab.sort) - (b.flags.favtab.sort)) : false;
|
||||
data.favPowers = powerCount > 0 ? favPowers : false;
|
||||
data.editable = app.options.editable;
|
||||
|
||||
await loadTemplates(['systems/sw5e/templates/actors/newActor/item.hbs']);
|
||||
let favtabHtml = $(await renderTemplate('systems/sw5e/templates/actors/newActor/template.hbs', data));
|
||||
favtabHtml.find('.item-name h4').click(event => app._onItemSummary(event));
|
||||
|
||||
if (app.options.editable) {
|
||||
favtabHtml.find('.item-image').click(ev => app._onItemRoll(ev));
|
||||
let handler = ev => app._onDragItemStart(ev);
|
||||
favtabHtml.find('.item').each((i, li) => {
|
||||
if (li.classList.contains("inventory-header")) return;
|
||||
li.setAttribute("draggable", true);
|
||||
li.addEventListener("dragstart", handler, false);
|
||||
});
|
||||
//favtabHtml.find('.item-toggle').click(event => app._onToggleItem(event));
|
||||
favtabHtml.find('.item-edit').click(ev => {
|
||||
let itemId = $(ev.target).parents('.item')[0].dataset.itemId;
|
||||
app.actor.getOwnedItem(itemId).sheet.render(true);
|
||||
});
|
||||
favtabHtml.find('.item-fav').click(ev => {
|
||||
let itemId = $(ev.target).parents('.item')[0].dataset.itemId;
|
||||
let val = !app.actor.getOwnedItem(itemId).data.flags.favtab.isFavourite
|
||||
app.actor.getOwnedItem(itemId).update({
|
||||
"flags.favtab.isFavourite": val
|
||||
});
|
||||
});
|
||||
|
||||
// Sorting
|
||||
favtabHtml.find('.item').on('drop', ev => {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
|
||||
let dropData = JSON.parse(ev.originalEvent.dataTransfer.getData('text/plain'));
|
||||
// if (dropData.actorId !== app.actor.id || dropData.data.type === 'power') return;
|
||||
if (dropData.actorId !== app.actor.id) return;
|
||||
let list = null;
|
||||
if (dropData.data.type === 'feat') list = favFeats;
|
||||
else list = favItems;
|
||||
let dragSource = list.find(i => i._id === dropData.data._id);
|
||||
let siblings = list.filter(i => i._id !== dropData.data._id);
|
||||
let targetId = ev.target.closest('.item').dataset.itemId;
|
||||
let dragTarget = siblings.find(s => s._id === targetId);
|
||||
|
||||
if (dragTarget === undefined) return;
|
||||
const sortUpdates = SortingHelpers.performIntegerSort(dragSource, {
|
||||
target: dragTarget,
|
||||
siblings: siblings,
|
||||
sortKey: 'flags.favtab.sort'
|
||||
});
|
||||
const updateData = sortUpdates.map(u => {
|
||||
const update = u.update;
|
||||
update._id = u.target._id;
|
||||
return update;
|
||||
});
|
||||
app.actor.updateEmbeddedEntity("OwnedItem", updateData);
|
||||
});
|
||||
}
|
||||
tabContainer.append(favtabHtml);
|
||||
|
||||
// try {
|
||||
// if (game.modules.get("betterrolls5e") && game.modules.get("betterrolls5e").active) BetterRolls.addItemContent(app.object, favtabHtml, ".item .item-name h4", ".item-properties", ".item > .rollable div");
|
||||
// }
|
||||
// catch (err) {
|
||||
// // Better Rolls not found!
|
||||
// }
|
||||
Hooks.callAll("renderedSwaltSheet", app, html, data);
|
||||
}
|
||||
async function addSubTabs(app, html, data) {
|
||||
if(data.options.subTabs == null) {
|
||||
//let subTabs = []; //{subgroup: '', target: '', active: false}
|
||||
data.options.subTabs = {};
|
||||
html.find('[data-subgroup-selection] [data-subgroup]').each((idx, el) => {
|
||||
let subgroup = el.getAttribute('data-subgroup');
|
||||
let target = el.getAttribute('data-target');
|
||||
let targetObj = {target: target, active: el.classList.contains("active")}
|
||||
if(data.options.subTabs.hasOwnProperty(subgroup)) {
|
||||
data.options.subTabs[subgroup].push(targetObj);
|
||||
} else {
|
||||
data.options.subTabs[subgroup] = [];
|
||||
data.options.subTabs[subgroup].push(targetObj);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
for(const group in data.options.subTabs) {
|
||||
data.options.subTabs[group].forEach(tab => {
|
||||
if(tab.active) {
|
||||
html.find(`[data-subgroup=${group}][data-target=${tab.target}]`).addClass('active');
|
||||
} else {
|
||||
html.find(`[data-subgroup=${group}][data-target=${tab.target}]`).removeClass('active');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
html.find('[data-subgroup-selection]').children().on('click', event => {
|
||||
let subgroup = event.target.closest('[data-subgroup]').getAttribute('data-subgroup');
|
||||
let target = event.target.closest('[data-target]').getAttribute('data-target');
|
||||
html.find(`[data-subgroup=${subgroup}]`).removeClass('active');
|
||||
html.find(`[data-subgroup=${subgroup}][data-target=${target}]`).addClass('active');
|
||||
let tabId = data.options.subTabs[subgroup].find(tab => {
|
||||
return tab.target == target
|
||||
});
|
||||
data.options.subTabs[subgroup].map(el => {
|
||||
if(el.target == target) {
|
||||
el.active = true;
|
||||
} else {
|
||||
el.active = false;
|
||||
}
|
||||
return el;
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Hooks.on("renderActorSheet5eCharacterNew", (app, html, data) => {
|
||||
addFavorites(app, html, data);
|
||||
addSubTabs(app, html, data);
|
||||
});
|
|
@ -1,5 +1,5 @@
|
|||
import ActorSheet5e from "./base.js";
|
||||
import Actor5e from "../entity.js";
|
||||
import ActorSheet5e from "../base.js";
|
||||
import Actor5e from "../../entity.js";
|
||||
|
||||
/**
|
||||
* An Actor sheet for player character type actors in the SW5E system.
|
|
@ -1,4 +1,4 @@
|
|||
import ActorSheet5e from "../sheets/base.js";
|
||||
import ActorSheet5e from "../base.js";
|
||||
|
||||
/**
|
||||
* An Actor sheet for NPC type characters in the SW5E system.
|
|
@ -1,4 +1,4 @@
|
|||
import ActorSheet5e from "./base.js";
|
||||
import ActorSheet5e from "../base.js";
|
||||
|
||||
/**
|
||||
* An Actor sheet for Vehicle type actors.
|
|
@ -142,4 +142,16 @@ export const registerSystemSettings = function() {
|
|||
transformTokens: true
|
||||
}
|
||||
});
|
||||
game.settings.register("sw5e", "colorTheme", {
|
||||
name: "SETTINGS.SWColorN",
|
||||
hint: "SETTINGS.SWColorL",
|
||||
scope: "world",
|
||||
config: true,
|
||||
default: "light",
|
||||
type: String,
|
||||
choices: {
|
||||
"light": "SETTINGS.SWColorLight",
|
||||
"dark": "SETTINGS.SWColorDark"
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
|
@ -9,12 +9,22 @@ export const preloadHandlebarsTemplates = async function() {
|
|||
const templatePaths = [
|
||||
|
||||
// Actor Sheet Partials
|
||||
"systems/sw5e/templates/actors/parts/actor-traits.html",
|
||||
"systems/sw5e/templates/actors/parts/actor-inventory.html",
|
||||
"systems/sw5e/templates/actors/parts/actor-features.html",
|
||||
"systems/sw5e/templates/actors/parts/actor-powerbook.html",
|
||||
"systems/sw5e/templates/actors/parts/actor-effects.html",
|
||||
"systems/sw5e/templates/actors/oldActor/parts/actor-traits.html",
|
||||
"systems/sw5e/templates/actors/oldActor/parts/actor-inventory.html",
|
||||
"systems/sw5e/templates/actors/oldActor/parts/actor-features.html",
|
||||
"systems/sw5e/templates/actors/oldActor/parts/actor-powerbook.html",
|
||||
"systems/sw5e/templates/actors/oldActor/parts/actor-effects.html",
|
||||
|
||||
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-biography.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-core.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-features.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-notes.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-resources.html",
|
||||
"systems/sw5e/templates/actors/newActor/parts/swalt-traits.html",
|
||||
|
||||
// Item Sheet Partials
|
||||
"systems/sw5e/templates/items/parts/item-action.html",
|
||||
"systems/sw5e/templates/items/parts/item-activation.html",
|
||||
|
|
1787
sw5e copy.css
Normal file
1787
sw5e copy.css
Normal file
File diff suppressed because it is too large
Load diff
733
sw5e-dark.css
Normal file
733
sw5e-dark.css
Normal file
|
@ -0,0 +1,733 @@
|
|||
/* ----------------------------------------- */
|
||||
/* Fonts */
|
||||
/* ----------------------------------------- */
|
||||
/* ----------------------------------------- */
|
||||
/* Sheet Styles */
|
||||
/* ----------------------------------------- */
|
||||
body.dark-theme {
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
}
|
||||
body.dark-theme .app {
|
||||
background: linear-gradient(90deg, #626262 0, #4d4d4d 30%, #4d4d4d 70%, #626262);
|
||||
}
|
||||
body.dark-theme h1,
|
||||
body.dark-theme h2,
|
||||
body.dark-theme h3,
|
||||
body.dark-theme h4,
|
||||
body.dark-theme h5,
|
||||
body.dark-theme h6 {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme h3 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme a {
|
||||
color: #E81111;
|
||||
text-decoration: none;
|
||||
}
|
||||
body.dark-theme a:hover,
|
||||
body.dark-theme a:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
body.dark-theme blockquote {
|
||||
padding: 4px 8px;
|
||||
background-color: #FBF4F4;
|
||||
border: 1px solid #E81111;
|
||||
box-shadow: 0 0 20px rgba(232, 17, 17, 0.8);
|
||||
}
|
||||
body.dark-theme hr {
|
||||
border-width: 0 0 1px 0;
|
||||
border-bottom: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme input[type="text"],
|
||||
body.dark-theme input[type="number"],
|
||||
body.dark-theme input[type="password"],
|
||||
body.dark-theme input[type="date"],
|
||||
body.dark-theme input[type="time"],
|
||||
body.dark-theme select,
|
||||
body.dark-theme textarea {
|
||||
border: 1px solid #828282;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme input[type="text"]:hover,
|
||||
body.dark-theme input[type="number"]:hover,
|
||||
body.dark-theme input[type="password"]:hover,
|
||||
body.dark-theme input[type="date"]:hover,
|
||||
body.dark-theme input[type="time"]:hover,
|
||||
body.dark-theme select:hover,
|
||||
body.dark-theme textarea:hover {
|
||||
border-color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme input[type="text"]:focus,
|
||||
body.dark-theme input[type="number"]:focus,
|
||||
body.dark-theme input[type="password"]:focus,
|
||||
body.dark-theme input[type="date"]:focus,
|
||||
body.dark-theme input[type="time"]:focus,
|
||||
body.dark-theme select:focus,
|
||||
body.dark-theme textarea:focus {
|
||||
border-color: #E81111;
|
||||
}
|
||||
body.dark-theme input[type="text"]::placeholder,
|
||||
body.dark-theme input[type="number"]::placeholder,
|
||||
body.dark-theme input[type="password"]::placeholder,
|
||||
body.dark-theme input[type="date"]::placeholder,
|
||||
body.dark-theme input[type="time"]::placeholder,
|
||||
body.dark-theme select::placeholder,
|
||||
body.dark-theme textarea::placeholder {
|
||||
color: white;
|
||||
opacity: 0.5;
|
||||
}
|
||||
body.dark-theme input[type="text"] ::-ms-input-placeholder,
|
||||
body.dark-theme input[type="number"] ::-ms-input-placeholder,
|
||||
body.dark-theme input[type="password"] ::-ms-input-placeholder,
|
||||
body.dark-theme input[type="date"] ::-ms-input-placeholder,
|
||||
body.dark-theme input[type="time"] ::-ms-input-placeholder,
|
||||
body.dark-theme select ::-ms-input-placeholder,
|
||||
body.dark-theme textarea ::-ms-input-placeholder {
|
||||
/* Microsoft Edge */
|
||||
color: white;
|
||||
opacity: 0.5;
|
||||
}
|
||||
body.dark-theme button,
|
||||
body.dark-theme input[type="button"],
|
||||
body.dark-theme input[type="submit"],
|
||||
body.dark-theme input[type="reset"] {
|
||||
background: #E81111;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme button:hover,
|
||||
body.dark-theme input[type="button"]:hover,
|
||||
body.dark-theme input[type="submit"]:hover,
|
||||
body.dark-theme input[type="reset"]:hover,
|
||||
body.dark-theme button:focus,
|
||||
body.dark-theme input[type="button"]:focus,
|
||||
body.dark-theme input[type="submit"]:focus,
|
||||
body.dark-theme input[type="reset"]:focus {
|
||||
background: #ef2424;
|
||||
}
|
||||
body.dark-theme button:disabled:hover,
|
||||
body.dark-theme input[type="button"]:disabled:hover,
|
||||
body.dark-theme input[type="submit"]:disabled:hover,
|
||||
body.dark-theme input[type="reset"]:disabled:hover,
|
||||
body.dark-theme button:disabled:focus,
|
||||
body.dark-theme input[type="button"]:disabled:focus,
|
||||
body.dark-theme input[type="submit"]:disabled:focus,
|
||||
body.dark-theme input[type="reset"]:disabled:focus {
|
||||
background: #E81111;
|
||||
}
|
||||
body.dark-theme input[type="reset"],
|
||||
body.dark-theme button.secondary,
|
||||
body.dark-theme button[type="reset"],
|
||||
body.dark-theme input[type="button"].secondary,
|
||||
body.dark-theme input[type="submit"].secondary {
|
||||
background: #828282;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme input[type="reset"]:hover,
|
||||
body.dark-theme button.secondary:hover,
|
||||
body.dark-theme button[type="reset"]:hover,
|
||||
body.dark-theme input[type="button"].secondary:hover,
|
||||
body.dark-theme input[type="submit"].secondary:hover {
|
||||
background: #8f8f8f;
|
||||
}
|
||||
body.dark-theme input[type="reset"]:disabled:hover,
|
||||
body.dark-theme button.secondary:disabled:hover,
|
||||
body.dark-theme button[type="reset"]:disabled:hover,
|
||||
body.dark-theme input[type="button"].secondary:disabled:hover,
|
||||
body.dark-theme input[type="submit"].secondary:disabled:hover,
|
||||
body.dark-theme input[type="reset"]:disabled:focus,
|
||||
body.dark-theme button.secondary:disabled:focus,
|
||||
body.dark-theme button[type="reset"]:disabled:focus,
|
||||
body.dark-theme input[type="button"].secondary:disabled:focus,
|
||||
body.dark-theme input[type="submit"].secondary:disabled:focus {
|
||||
background: #828282;
|
||||
}
|
||||
body.dark-theme form button {
|
||||
border: none;
|
||||
}
|
||||
body.dark-theme form .notes,
|
||||
body.dark-theme form .hint {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
body.dark-theme #sidebar-tabs {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme #sidebar-tabs > .collapse {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #sidebar-tabs .item.active {
|
||||
color: #E81111;
|
||||
border-bottom: 3px solid #E81111;
|
||||
}
|
||||
body.dark-theme #chat-log .chat-message {
|
||||
background: #363636;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #chat-log .chat-message > header {
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #chat-log .chat-message > header span {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme .notification-pip {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-header h3 {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-header h3:hover {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-buttons span {
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-footer {
|
||||
border-top: 1px solid #7ed6f7;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-footer span {
|
||||
border-right: 1px solid #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sw5e.chat-card .card-footer span:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-formula {
|
||||
background: #4f4f4f;
|
||||
color: white;
|
||||
box-shadow: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-total {
|
||||
background: #FBF4F4;
|
||||
border: 1px solid #E81111;
|
||||
box-shadow: 0 0 12px rgba(232, 17, 17, 0.8);
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-total.success {
|
||||
color: #0dce0d;
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-total.failure {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-total.critical {
|
||||
color: #0dce0d;
|
||||
background: #bcdcbe;
|
||||
box-shadow: 0 0 12px rgba(13, 206, 13, 0.5);
|
||||
}
|
||||
body.dark-theme .dice-roll .dice-total.fumble {
|
||||
color: #E81111;
|
||||
background: #FBF4F4;
|
||||
box-shadow: 0 0 12px rgba(232, 17, 17, 0.5);
|
||||
}
|
||||
body.dark-theme #chat-controls .roll-type-select {
|
||||
background: #363636;
|
||||
}
|
||||
body.dark-theme #chat-controls label {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #chat-form textarea {
|
||||
background: #363636;
|
||||
}
|
||||
body.dark-theme #combat #combat-round {
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #E81111;
|
||||
}
|
||||
body.dark-theme #combat #combat-round .encounters h4 {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #combat #combat-round .encounters a {
|
||||
color: #D6D6D6;
|
||||
}
|
||||
body.dark-theme #combat #combat-round .encounters a:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant:nth-child(even) {
|
||||
background: rgba(79, 79, 79, 0.5);
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant h4 {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant .roll {
|
||||
color: #D6D6D6;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant .roll:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant .combatant-control {
|
||||
color: #D6D6D6;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant .combatant-control.active {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant .token-resource {
|
||||
color: white;
|
||||
border-right: 1px solid #828282;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant.active {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant.active .initiative,
|
||||
body.dark-theme #combat #combat-tracker li.combatant.active h4 {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.dark-theme #combat #combat-tracker li.combatant.hidden {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #combat #combat-controls {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-header .header-search i.fa-search {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-header .header-search input {
|
||||
background: #363636;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .subdirectory {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .subdirectory .folder {
|
||||
border-left: 2px solid rgba(130, 130, 130, 0.4);
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list li + li {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder > .folder-header {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder > .folder-header h3 {
|
||||
background: #2b2b2b;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder > .folder-header h3 > i {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder > .folder-header a {
|
||||
color: #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder > .folder-header a:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder.collapsed > .folder-header {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .folder + .entity {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .actor,
|
||||
body.dark-theme .sidebar-tab .directory-list .item,
|
||||
body.dark-theme .sidebar-tab .directory-list .journal,
|
||||
body.dark-theme .sidebar-tab .directory-list .table {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .actor .entity-name,
|
||||
body.dark-theme .sidebar-tab .directory-list .item .entity-name,
|
||||
body.dark-theme .sidebar-tab .directory-list .journal .entity-name,
|
||||
body.dark-theme .sidebar-tab .directory-list .table .entity-name {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sidebar-tab .directory-list .actor:nth-child(even),
|
||||
body.dark-theme .sidebar-tab .directory-list .item:nth-child(even),
|
||||
body.dark-theme .sidebar-tab .directory-list .journal:nth-child(even),
|
||||
body.dark-theme .sidebar-tab .directory-list .table:nth-child(even) {
|
||||
background: rgba(79, 79, 79, 0.3);
|
||||
}
|
||||
body.dark-theme #scenes .scene {
|
||||
border-top: 1px solid #0d99cc;
|
||||
border-left: 4px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #scenes .scene::after {
|
||||
box-shadow: 0 0 20px #0d99cc inset;
|
||||
}
|
||||
body.dark-theme #scenes .scene h3 {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme #playlists .directory-list li.playlist {
|
||||
background: #2b2b2b;
|
||||
}
|
||||
body.dark-theme #playlists .directory-list li.playlist .playlist-header {
|
||||
background: #2b2b2b;
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #playlists .directory-list li.playlist li.sound {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme #playlists .directory-list li.playlist a.sound-control {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme #compendium .compendium-entity {
|
||||
background: #2b2b2b !important;
|
||||
}
|
||||
body.dark-theme #compendium .compendium-entity h3 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) {
|
||||
background: rgba(79, 79, 79, 0.3);
|
||||
}
|
||||
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons {
|
||||
color: #828282;
|
||||
}
|
||||
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #settings h2 {
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #settings #game-details,
|
||||
body.dark-theme #settings #settings-game,
|
||||
body.dark-theme #settings #settings-documentation,
|
||||
body.dark-theme #settings #settings-access {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #navigation #nav-toggle {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
color: white;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
body.dark-theme #navigation .nav-item {
|
||||
border: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme #navigation #scene-list .scene {
|
||||
border: 1px solid #0d99cc;
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
}
|
||||
body.dark-theme #navigation #scene-list .scene a {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #navigation #scene-list .scene.gm {
|
||||
border: 1px solid #afc6d6;
|
||||
background: rgba(13, 153, 204, 0.4);
|
||||
}
|
||||
body.dark-theme #navigation #scene-list .scene.view,
|
||||
body.dark-theme #navigation #scene-list .scene.context {
|
||||
box-shadow: 0 0 8px #07516c;
|
||||
border-color: #0d99cc;
|
||||
}
|
||||
body.dark-theme #navigation #scene-list .scene.active {
|
||||
border-color: #f46b6b;
|
||||
background: rgba(232, 17, 17, 0.6);
|
||||
box-shadow: 0 0 8px #890a0a;
|
||||
}
|
||||
body.dark-theme #controls .scene-control,
|
||||
body.dark-theme #controls .control-tool {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
color: white;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
}
|
||||
body.dark-theme #controls .scene-control:hover,
|
||||
body.dark-theme #controls .control-tool:hover {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
box-shadow: 0 0 8px #07516c;
|
||||
}
|
||||
body.dark-theme #controls .scene-control.active,
|
||||
body.dark-theme #controls .control-tool.active {
|
||||
border-color: #f46b6b;
|
||||
background: rgba(232, 17, 17, 0.6);
|
||||
box-shadow: 0 0 8px #890a0a;
|
||||
}
|
||||
body.dark-theme #players {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
body.dark-theme #players h3 {
|
||||
background: #2b2b2b;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0 8px;
|
||||
font-size: 17px;
|
||||
line-height: 30px;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
body.dark-theme #players h3 .players-mode {
|
||||
color: #828282;
|
||||
}
|
||||
body.dark-theme #players ol {
|
||||
margin: 4px 0;
|
||||
}
|
||||
body.dark-theme #players ol .player-name.self {
|
||||
color: inherit;
|
||||
font-weight: 700;
|
||||
}
|
||||
body.dark-theme #players ol .player {
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #players ol .player-active {
|
||||
margin-top: 7px;
|
||||
}
|
||||
body.dark-theme #players ol .player-active.active {
|
||||
box-shadow: none;
|
||||
}
|
||||
body.dark-theme .window-app {
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
body.dark-theme .window-app > header {
|
||||
background: #2b2b2b;
|
||||
border-radius: 4px 4px 0 0;
|
||||
border: none;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
body.dark-theme .window-app .window-content {
|
||||
background: linear-gradient(90deg, #626262 0, #4d4d4d 30%, #4d4d4d 70%, #626262);
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme .window-app .window-content footer {
|
||||
margin-top: 8px;
|
||||
}
|
||||
body.dark-theme .window-app.minimized > header,
|
||||
body.dark-theme .window-app.minimized > .window-header {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin: 0;
|
||||
}
|
||||
body.dark-theme #client-settings nav.tabs {
|
||||
border: none;
|
||||
font-size: 17px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
body.dark-theme #client-settings nav.tabs a.item {
|
||||
border-bottom: 3px solid transparent;
|
||||
color: white;
|
||||
}
|
||||
body.dark-theme #client-settings nav.tabs a.item:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
body.dark-theme #client-settings nav.tabs a.item.active {
|
||||
text-shadow: none;
|
||||
border-bottom-color: #E81111;
|
||||
}
|
||||
body.dark-theme #client-settings section.content {
|
||||
border: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
body.dark-theme .panel {
|
||||
background: white;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet .window-content {
|
||||
color: #1C1C1C;
|
||||
background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6);
|
||||
}
|
||||
body.dark-theme .sw5e.sheet .window-content input,
|
||||
body.dark-theme .sw5e.sheet .window-content select {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet .window-content input:hover,
|
||||
body.dark-theme .sw5e.sheet .window-content select:hover {
|
||||
border-color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet .window-content input:focus,
|
||||
body.dark-theme .sw5e.sheet .window-content select:focus {
|
||||
border-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet .window-content button:hover,
|
||||
body.dark-theme .sw5e.sheet .window-content button:focus {
|
||||
border-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet section > h1 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"] {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
||||
border: 1px solid #4f4f4f;
|
||||
background-color: #afc6d6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
||||
background-color: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
||||
color: #828282;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button {
|
||||
border: 1px solid #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button {
|
||||
border: 1px solid #D6D6D6;
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button:hover,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button:hover,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button:hover {
|
||||
border-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
||||
color: #E81111;
|
||||
border-bottom-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
||||
border-bottom: 2px solid #828282;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item.active {
|
||||
color: #E81111;
|
||||
border-bottom-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-title {
|
||||
border-bottom: 1px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header .item-detail,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list .item-detail {
|
||||
border-left: 1px solid #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item:nth-child(even),
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item:nth-child(even) {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item h4,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image::before,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover::before,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control:hover,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control:hover {
|
||||
color: #E81111 !important;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle {
|
||||
color: #828282;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle.active,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle.active {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li {
|
||||
border: 1px solid #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
||||
border-color: #D6D6D6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li:nth-child(even) {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-name:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
||||
color: #E81111;
|
||||
border-bottom-color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active:hover {
|
||||
background: rgba(232, 17, 17, 0.1);
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages label:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 input {
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
||||
color: #828282;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4.rollable:hover {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success i {
|
||||
color: #0dce0d;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-fail i {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .currency {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance-label {
|
||||
background: #D6D6D6;
|
||||
color: #1C1C1C;
|
||||
border: 1px solid #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance {
|
||||
background: #afc6d6;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar {
|
||||
background: #0d99cc;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 {
|
||||
color: #E81111;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span,
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||
color: #E81111;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
1567
sw5e-global.css
Normal file
1567
sw5e-global.css
Normal file
File diff suppressed because it is too large
Load diff
733
sw5e-light.css
Normal file
733
sw5e-light.css
Normal file
|
@ -0,0 +1,733 @@
|
|||
/* ----------------------------------------- */
|
||||
/* Fonts */
|
||||
/* ----------------------------------------- */
|
||||
/* ----------------------------------------- */
|
||||
/* Sheet Styles */
|
||||
/* ----------------------------------------- */
|
||||
body.light-theme {
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
}
|
||||
body.light-theme .app {
|
||||
background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6);
|
||||
}
|
||||
body.light-theme h1,
|
||||
body.light-theme h2,
|
||||
body.light-theme h3,
|
||||
body.light-theme h4,
|
||||
body.light-theme h5,
|
||||
body.light-theme h6 {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme h3 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme a {
|
||||
color: #c40f0f;
|
||||
text-decoration: none;
|
||||
}
|
||||
body.light-theme a:hover,
|
||||
body.light-theme a:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
body.light-theme blockquote {
|
||||
padding: 4px 8px;
|
||||
background-color: #afc6d6;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: 0 0 20px rgba(13, 153, 204, 0.8);
|
||||
}
|
||||
body.light-theme hr {
|
||||
border-width: 0 0 1px 0;
|
||||
border-bottom: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme input[type="text"],
|
||||
body.light-theme input[type="number"],
|
||||
body.light-theme input[type="password"],
|
||||
body.light-theme input[type="date"],
|
||||
body.light-theme input[type="time"],
|
||||
body.light-theme select,
|
||||
body.light-theme textarea {
|
||||
border: 1px solid #828282;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme input[type="text"]:hover,
|
||||
body.light-theme input[type="number"]:hover,
|
||||
body.light-theme input[type="password"]:hover,
|
||||
body.light-theme input[type="date"]:hover,
|
||||
body.light-theme input[type="time"]:hover,
|
||||
body.light-theme select:hover,
|
||||
body.light-theme textarea:hover {
|
||||
border-color: #4f4f4f;
|
||||
}
|
||||
body.light-theme input[type="text"]:focus,
|
||||
body.light-theme input[type="number"]:focus,
|
||||
body.light-theme input[type="password"]:focus,
|
||||
body.light-theme input[type="date"]:focus,
|
||||
body.light-theme input[type="time"]:focus,
|
||||
body.light-theme select:focus,
|
||||
body.light-theme textarea:focus {
|
||||
border-color: #c40f0f;
|
||||
}
|
||||
body.light-theme input[type="text"]::placeholder,
|
||||
body.light-theme input[type="number"]::placeholder,
|
||||
body.light-theme input[type="password"]::placeholder,
|
||||
body.light-theme input[type="date"]::placeholder,
|
||||
body.light-theme input[type="time"]::placeholder,
|
||||
body.light-theme select::placeholder,
|
||||
body.light-theme textarea::placeholder {
|
||||
color: #1C1C1C;
|
||||
opacity: 0.5;
|
||||
}
|
||||
body.light-theme input[type="text"] ::-ms-input-placeholder,
|
||||
body.light-theme input[type="number"] ::-ms-input-placeholder,
|
||||
body.light-theme input[type="password"] ::-ms-input-placeholder,
|
||||
body.light-theme input[type="date"] ::-ms-input-placeholder,
|
||||
body.light-theme input[type="time"] ::-ms-input-placeholder,
|
||||
body.light-theme select ::-ms-input-placeholder,
|
||||
body.light-theme textarea ::-ms-input-placeholder {
|
||||
/* Microsoft Edge */
|
||||
color: #1C1C1C;
|
||||
opacity: 0.5;
|
||||
}
|
||||
body.light-theme button,
|
||||
body.light-theme input[type="button"],
|
||||
body.light-theme input[type="submit"],
|
||||
body.light-theme input[type="reset"] {
|
||||
background: #c40f0f;
|
||||
color: white;
|
||||
}
|
||||
body.light-theme button:hover,
|
||||
body.light-theme input[type="button"]:hover,
|
||||
body.light-theme input[type="submit"]:hover,
|
||||
body.light-theme input[type="reset"]:hover,
|
||||
body.light-theme button:focus,
|
||||
body.light-theme input[type="button"]:focus,
|
||||
body.light-theme input[type="submit"]:focus,
|
||||
body.light-theme input[type="reset"]:focus {
|
||||
background: #dc1111;
|
||||
}
|
||||
body.light-theme button:disabled:hover,
|
||||
body.light-theme input[type="button"]:disabled:hover,
|
||||
body.light-theme input[type="submit"]:disabled:hover,
|
||||
body.light-theme input[type="reset"]:disabled:hover,
|
||||
body.light-theme button:disabled:focus,
|
||||
body.light-theme input[type="button"]:disabled:focus,
|
||||
body.light-theme input[type="submit"]:disabled:focus,
|
||||
body.light-theme input[type="reset"]:disabled:focus {
|
||||
background: #c40f0f;
|
||||
}
|
||||
body.light-theme input[type="reset"],
|
||||
body.light-theme button.secondary,
|
||||
body.light-theme button[type="reset"],
|
||||
body.light-theme input[type="button"].secondary,
|
||||
body.light-theme input[type="submit"].secondary {
|
||||
background: #D6D6D6;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme input[type="reset"]:hover,
|
||||
body.light-theme button.secondary:hover,
|
||||
body.light-theme button[type="reset"]:hover,
|
||||
body.light-theme input[type="button"].secondary:hover,
|
||||
body.light-theme input[type="submit"].secondary:hover {
|
||||
background: #e3e3e3;
|
||||
}
|
||||
body.light-theme input[type="reset"]:disabled:hover,
|
||||
body.light-theme button.secondary:disabled:hover,
|
||||
body.light-theme button[type="reset"]:disabled:hover,
|
||||
body.light-theme input[type="button"].secondary:disabled:hover,
|
||||
body.light-theme input[type="submit"].secondary:disabled:hover,
|
||||
body.light-theme input[type="reset"]:disabled:focus,
|
||||
body.light-theme button.secondary:disabled:focus,
|
||||
body.light-theme button[type="reset"]:disabled:focus,
|
||||
body.light-theme input[type="button"].secondary:disabled:focus,
|
||||
body.light-theme input[type="submit"].secondary:disabled:focus {
|
||||
background: #D6D6D6;
|
||||
}
|
||||
body.light-theme form button {
|
||||
border: none;
|
||||
}
|
||||
body.light-theme form .notes,
|
||||
body.light-theme form .hint {
|
||||
color: rgba(28, 28, 28, 0.8);
|
||||
}
|
||||
body.light-theme #sidebar-tabs {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme #sidebar-tabs > .collapse {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme #sidebar-tabs .item.active {
|
||||
color: #c40f0f;
|
||||
border-bottom: 3px solid #c40f0f;
|
||||
}
|
||||
body.light-theme #chat-log .chat-message {
|
||||
background: white;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #chat-log .chat-message > header {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #chat-log .chat-message > header span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .notification-pip {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-header h3 {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-header h3:hover {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-buttons span {
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-footer {
|
||||
border-top: 1px solid #7ed6f7;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-footer span {
|
||||
border-right: 1px solid #D6D6D6;
|
||||
}
|
||||
body.light-theme .sw5e.chat-card .card-footer span:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
body.light-theme .dice-roll .dice-formula {
|
||||
background: #D6D6D6;
|
||||
color: #1C1C1C;
|
||||
box-shadow: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
body.light-theme .dice-roll .dice-total {
|
||||
background: #afc6d6;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: 0 0 12px rgba(13, 153, 204, 0.8);
|
||||
}
|
||||
body.light-theme .dice-roll .dice-total.success {
|
||||
color: #0dce0d;
|
||||
}
|
||||
body.light-theme .dice-roll .dice-total.failure {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .dice-roll .dice-total.critical {
|
||||
color: #0dce0d;
|
||||
background: #bcdcbe;
|
||||
box-shadow: 0 0 12px rgba(13, 206, 13, 0.5);
|
||||
}
|
||||
body.light-theme .dice-roll .dice-total.fumble {
|
||||
color: #c40f0f;
|
||||
background: #FBF4F4;
|
||||
box-shadow: 0 0 12px rgba(196, 15, 15, 0.5);
|
||||
}
|
||||
body.light-theme #chat-controls .roll-type-select {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme #chat-controls label {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #chat-form textarea {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme #combat #combat-round {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #c40f0f;
|
||||
}
|
||||
body.light-theme #combat #combat-round .encounters h4 {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme #combat #combat-round .encounters a {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme #combat #combat-round .encounters a:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.5);
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant h4 {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant .roll {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant .roll:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant .combatant-control {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant .combatant-control.active {
|
||||
color: #363636;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant .token-resource {
|
||||
color: #4f4f4f;
|
||||
border-right: 1px solid #828282;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant.active {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant.active .initiative,
|
||||
body.light-theme #combat #combat-tracker li.combatant.active h4 {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.light-theme #combat #combat-tracker li.combatant.hidden {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #combat #combat-controls {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-header .header-search i.fa-search {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-header .header-search input {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sidebar-tab .subdirectory {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sidebar-tab .subdirectory .folder {
|
||||
border-left: 2px solid rgba(28, 28, 28, 0.4);
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list li + li {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header h3 {
|
||||
background: white;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header h3 > i {
|
||||
color: #0d99cc;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder.collapsed > .folder-header {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .folder + .entity {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .actor,
|
||||
body.light-theme .sidebar-tab .directory-list .item,
|
||||
body.light-theme .sidebar-tab .directory-list .journal,
|
||||
body.light-theme .sidebar-tab .directory-list .table {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .actor .entity-name,
|
||||
body.light-theme .sidebar-tab .directory-list .item .entity-name,
|
||||
body.light-theme .sidebar-tab .directory-list .journal .entity-name,
|
||||
body.light-theme .sidebar-tab .directory-list .table .entity-name {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sidebar-tab .directory-list .actor:nth-child(even),
|
||||
body.light-theme .sidebar-tab .directory-list .item:nth-child(even),
|
||||
body.light-theme .sidebar-tab .directory-list .journal:nth-child(even),
|
||||
body.light-theme .sidebar-tab .directory-list .table:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.3);
|
||||
}
|
||||
body.light-theme #scenes .scene {
|
||||
border-top: 1px solid #0d99cc;
|
||||
border-left: 4px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #scenes .scene::after {
|
||||
box-shadow: 0 0 20px #0d99cc inset;
|
||||
}
|
||||
body.light-theme #scenes .scene h3 {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme #playlists .directory-list li.playlist {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme #playlists .directory-list li.playlist .playlist-header {
|
||||
background: white;
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #playlists .directory-list li.playlist li.sound {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #playlists .directory-list li.playlist a.sound-control {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme #compendium .compendium-entity {
|
||||
background: white !important;
|
||||
}
|
||||
body.light-theme #compendium .compendium-entity h3 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.3);
|
||||
}
|
||||
body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #settings h2 {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #settings #game-details,
|
||||
body.light-theme #settings #settings-game,
|
||||
body.light-theme #settings #settings-documentation,
|
||||
body.light-theme #settings #settings-access {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #navigation #nav-toggle {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
color: white;
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
body.light-theme #navigation .nav-item {
|
||||
border: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme #navigation #scene-list .scene {
|
||||
border: 1px solid #0d99cc;
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
}
|
||||
body.light-theme #navigation #scene-list .scene a {
|
||||
color: white;
|
||||
}
|
||||
body.light-theme #navigation #scene-list .scene.gm {
|
||||
border: 1px solid #afc6d6;
|
||||
background: rgba(13, 153, 204, 0.4);
|
||||
}
|
||||
body.light-theme #navigation #scene-list .scene.view,
|
||||
body.light-theme #navigation #scene-list .scene.context {
|
||||
box-shadow: 0 0 8px #07516c;
|
||||
border-color: #0d99cc;
|
||||
}
|
||||
body.light-theme #navigation #scene-list .scene.active {
|
||||
border-color: #f14848;
|
||||
background: rgba(196, 15, 15, 0.6);
|
||||
box-shadow: 0 0 8px #650808;
|
||||
}
|
||||
body.light-theme #controls .scene-control,
|
||||
body.light-theme #controls .control-tool {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
color: white;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
}
|
||||
body.light-theme #controls .scene-control:hover,
|
||||
body.light-theme #controls .control-tool:hover {
|
||||
background: rgba(126, 214, 247, 0.4);
|
||||
box-shadow: 0 0 8px #07516c;
|
||||
}
|
||||
body.light-theme #controls .scene-control.active,
|
||||
body.light-theme #controls .control-tool.active {
|
||||
border-color: #f14848;
|
||||
background: rgba(196, 15, 15, 0.6);
|
||||
box-shadow: 0 0 8px #650808;
|
||||
}
|
||||
body.light-theme #players {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
body.light-theme #players h3 {
|
||||
background: white;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0 8px;
|
||||
font-size: 17px;
|
||||
line-height: 30px;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
body.light-theme #players h3 .players-mode {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme #players ol {
|
||||
margin: 4px 0;
|
||||
}
|
||||
body.light-theme #players ol .player-name.self {
|
||||
color: inherit;
|
||||
font-weight: 700;
|
||||
}
|
||||
body.light-theme #players ol .player {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #players ol .player-active {
|
||||
margin-top: 7px;
|
||||
}
|
||||
body.light-theme #players ol .player-active.active {
|
||||
box-shadow: none;
|
||||
}
|
||||
body.light-theme .window-app {
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
body.light-theme .window-app > header {
|
||||
background: white;
|
||||
border-radius: 4px 4px 0 0;
|
||||
border: none;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
body.light-theme .window-app .window-content {
|
||||
background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6);
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .window-app .window-content footer {
|
||||
margin-top: 8px;
|
||||
}
|
||||
body.light-theme .window-app.minimized > header,
|
||||
body.light-theme .window-app.minimized > .window-header {
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin: 0;
|
||||
}
|
||||
body.light-theme #client-settings nav.tabs {
|
||||
border: none;
|
||||
font-size: 17px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
body.light-theme #client-settings nav.tabs a.item {
|
||||
border-bottom: 3px solid transparent;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme #client-settings nav.tabs a.item:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
body.light-theme #client-settings nav.tabs a.item.active {
|
||||
text-shadow: none;
|
||||
border-bottom-color: #c40f0f;
|
||||
}
|
||||
body.light-theme #client-settings section.content {
|
||||
border: none;
|
||||
margin-top: 4px;
|
||||
}
|
||||
body.light-theme .panel {
|
||||
background: white;
|
||||
}
|
||||
body.light-theme .sw5e.sheet .window-content {
|
||||
color: #1C1C1C;
|
||||
background: linear-gradient(90deg, #afc6d6 0, #d6d6d6 30%, #d6d6d6 70%, #afc6d6);
|
||||
}
|
||||
body.light-theme .sw5e.sheet .window-content input,
|
||||
body.light-theme .sw5e.sheet .window-content select {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet .window-content input:hover,
|
||||
body.light-theme .sw5e.sheet .window-content select:hover {
|
||||
border-color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet .window-content input:focus,
|
||||
body.light-theme .sw5e.sheet .window-content select:focus {
|
||||
border-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet .window-content button:hover,
|
||||
body.light-theme .sw5e.sheet .window-content button:focus {
|
||||
border-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet section > h1 {
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[type="text"] {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
||||
border: 1px solid #4f4f4f;
|
||||
background-color: #afc6d6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
||||
background-color: #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button {
|
||||
border: 1px solid #D6D6D6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer button:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button {
|
||||
border: 1px solid #D6D6D6;
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-points button:hover,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.hit-dice button:hover,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiative button:hover {
|
||||
border-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
||||
color: #c40f0f;
|
||||
border-bottom-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
||||
border-bottom: 2px solid #828282;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item.active {
|
||||
color: #c40f0f;
|
||||
border-bottom-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-title {
|
||||
border-bottom: 1px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list-header .item-detail,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list .item-detail {
|
||||
border-left: 1px solid #D6D6D6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item:nth-child(even),
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item:nth-child(even) {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item h4,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name .item-image::before,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-name.rollable:hover .item-image:hover::before,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control:hover,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control:hover {
|
||||
color: #c40f0f !important;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list li.item .item-control.item-toggle.active,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-control.item-toggle.active {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li {
|
||||
border: 1px solid #D6D6D6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li h2:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-mod,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
||||
border-color: #D6D6D6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li:nth-child(even) {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skills li .skill-name:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
||||
color: #c40f0f;
|
||||
border-bottom-color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active:hover {
|
||||
background: rgba(196, 15, 15, 0.1);
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
||||
background: rgba(79, 79, 79, 0.1);
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .languages label:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource h1 input {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
||||
color: #828282;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter h4.rollable:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-success i {
|
||||
color: #0dce0d;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .counters .counter .death-fail i {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .currency {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance-label {
|
||||
background: #D6D6D6;
|
||||
color: #1C1C1C;
|
||||
border: 1px solid #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance {
|
||||
background: #afc6d6;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.inventory .encumbrance-wrapper .encumbrance .encumbrance-bar {
|
||||
background: #0d99cc;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 {
|
||||
color: #c40f0f;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability label span,
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.powerbook .powercasting-ability h3 span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
757
sw5e-update.css
Normal file
757
sw5e-update.css
Normal file
|
@ -0,0 +1,757 @@
|
|||
/* ----------------------------------------- */
|
||||
/* Fonts */
|
||||
/* ----------------------------------------- */
|
||||
/* russo-one-regular - latin */
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Russo One';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/RussoOne.ttf');
|
||||
}
|
||||
/* open-sans-regular - latin */
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/OpenSans-Regular.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
src: url('./fonts/OpenSans-Italic.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/OpenSans-Bold.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
src: url('./fonts/OpenSans-BoldItalic.ttf');
|
||||
}
|
||||
/* ----------------------------------------- */
|
||||
/* Sheet Styles */
|
||||
/* ----------------------------------------- */
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
::-webkit-scrollbar-track {
|
||||
border: 1px solid #0d99cc;
|
||||
border-radius: 4px;
|
||||
}
|
||||
::-webkit-scrollbar-thumb {
|
||||
outline: none;
|
||||
border-radius: 4px;
|
||||
background: #0d99cc;
|
||||
border: none;
|
||||
}
|
||||
:root {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #0d99cc #afc6d6;
|
||||
}
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
}
|
||||
h1 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 34px;
|
||||
font-weight: 400;
|
||||
}
|
||||
h2 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 27px;
|
||||
font-weight: 400;
|
||||
}
|
||||
h3 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 21px;
|
||||
font-weight: 400;
|
||||
}
|
||||
h4 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 17px;
|
||||
font-weight: 400;
|
||||
}
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Russo One';
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
}
|
||||
a {
|
||||
color: #c40f0f;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover,
|
||||
a:active {
|
||||
text-shadow: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.app {
|
||||
background: linear-gradient(90deg, #afc6d6 0%, #D6D6D6 30%, #D6D6D6 70%, #afc6d6);
|
||||
border: none;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
#context-menu {
|
||||
background: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
color: #1C1C1C;
|
||||
padding: 0 8px;
|
||||
}
|
||||
#context-menu ol.context-items {
|
||||
background: white;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #828282;
|
||||
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
#context-menu ol.context-items li.context-item:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
#context-menu ol.context-items li.context-item:last-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
}
|
||||
#context-menu ol.context-items li.context-item i {
|
||||
color: #0d99cc;
|
||||
}
|
||||
#context-menu ol.context-items li.context-item:hover {
|
||||
background: #c40f0f;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
#context-menu ol.context-items li.context-item:hover i {
|
||||
color: white;
|
||||
}
|
||||
#context-menu ol.context-items li.context-item + li {
|
||||
border-top: 1px solid #D6D6D6;
|
||||
}
|
||||
input[type="text"],
|
||||
input[type="number"],
|
||||
input[type="password"],
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
select,
|
||||
textarea {
|
||||
border: 1px solid #828282;
|
||||
border-radius: 4px;
|
||||
color: #1C1C1C;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
input[type="text"]:hover,
|
||||
input[type="number"]:hover,
|
||||
input[type="password"]:hover,
|
||||
input[type="date"]:hover,
|
||||
input[type="time"]:hover,
|
||||
select:hover,
|
||||
textarea:hover {
|
||||
border-color: #4f4f4f;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type="text"]:focus,
|
||||
input[type="number"]:focus,
|
||||
input[type="password"]:focus,
|
||||
input[type="date"]:focus,
|
||||
input[type="time"]:focus,
|
||||
select:focus,
|
||||
textarea:focus {
|
||||
border-color: #c40f0f;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range] {
|
||||
-webkit-appearance: none;
|
||||
/* Hides the slider so that custom slider can be made */
|
||||
width: 100%;
|
||||
/* Specific width is required for Firefox. */
|
||||
background: transparent;
|
||||
/* Otherwise white in Chrome */
|
||||
}
|
||||
input[type=range]::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
background: #c40f0f;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-moz-range-thumb {
|
||||
-webkit-appearance: none;
|
||||
background: #c40f0f;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-ms-thumb {
|
||||
-webkit-appearance: none;
|
||||
background: #c40f0f;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 32px;
|
||||
cursor: pointer;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-webkit-slider-runnable-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: #7ed6f7;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]:focus::-webkit-slider-runnable-track {
|
||||
background: #0d99cc;
|
||||
}
|
||||
input[type=range]::-moz-range-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: #7ed6f7;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]::-ms-track {
|
||||
width: 100%;
|
||||
height: 6px;
|
||||
cursor: pointer;
|
||||
background: #7ed6f7;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
}
|
||||
input[type=range]:focus {
|
||||
outline: none;
|
||||
/* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
|
||||
}
|
||||
input[type=range]::-ms-track {
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
/* Hides the slider so custom styles can be added */
|
||||
background: transparent;
|
||||
border-color: transparent;
|
||||
color: transparent;
|
||||
}
|
||||
button {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
background: #c40f0f;
|
||||
color: white;
|
||||
text-align: center;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
button:hover,
|
||||
button:focus {
|
||||
box-shadow: none;
|
||||
background: #dc1111;
|
||||
}
|
||||
#sidebar {
|
||||
border: none;
|
||||
}
|
||||
#sidebar-tabs {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background: white;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
#sidebar-tabs > .collapse {
|
||||
color: #c40f0f;
|
||||
}
|
||||
#sidebar-tabs .item {
|
||||
font-size: 16px;
|
||||
}
|
||||
#sidebar-tabs .item.active {
|
||||
color: #c40f0f;
|
||||
border: none;
|
||||
border-bottom: 3px solid #c40f0f;
|
||||
box-shadow: none;
|
||||
background: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
/*-----------
|
||||
** Chat Tab
|
||||
-----------*/
|
||||
#chat-log .chat-message {
|
||||
background: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 8px;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
#chat-log .chat-message > header {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
#chat-log .chat-message > header span {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
.notification-pip {
|
||||
color: #0d99cc;
|
||||
text-shadow: none;
|
||||
}
|
||||
.sw5e.chat-card {
|
||||
font-size: 13px;
|
||||
}
|
||||
.sw5e.chat-card .card-header {
|
||||
padding: 0;
|
||||
border: none;
|
||||
}
|
||||
.sw5e.chat-card .card-header img {
|
||||
flex: 0 0 36px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.sw5e.chat-card .card-header h3 {
|
||||
flex: 1;
|
||||
margin: 0;
|
||||
line-height: 36px;
|
||||
font-family: 'Russo One';
|
||||
font-size: 17px;
|
||||
font-weight: 400;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
.sw5e.chat-card .card-header h3:hover {
|
||||
color: #1C1C1C;
|
||||
text-shadow: none;
|
||||
}
|
||||
.sw5e.chat-card .card-content {
|
||||
margin: 4px 0;
|
||||
}
|
||||
.sw5e.chat-card .card-content h3 {
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
}
|
||||
.sw5e.chat-card .card-content > * {
|
||||
-webkit-user-select: text;
|
||||
-moz-user-select: text;
|
||||
-ms-user-select: text;
|
||||
user-select: text;
|
||||
}
|
||||
.sw5e.chat-card .card-buttons {
|
||||
margin: 4px 0;
|
||||
}
|
||||
.sw5e.chat-card .card-buttons span {
|
||||
display: block;
|
||||
line-height: 28px;
|
||||
text-align: center;
|
||||
border: 1px solid #828282;
|
||||
}
|
||||
.sw5e.chat-card .card-buttons button {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
padding: 4px 0;
|
||||
height: auto;
|
||||
line-height: 1.6;
|
||||
margin: 4px 0;
|
||||
background: #c40f0f;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.sw5e.chat-card .card-buttons button:hover,
|
||||
.sw5e.chat-card .card-buttons button:focus {
|
||||
background-color: #dc1111;
|
||||
box-shadow: none;
|
||||
}
|
||||
.sw5e.chat-card .card-footer {
|
||||
padding: 4px 0 0;
|
||||
border-top: 1px solid #7ed6f7;
|
||||
}
|
||||
.sw5e.chat-card .card-footer span {
|
||||
border-right: 2px groove #FFF;
|
||||
padding: 0 4px 0 0;
|
||||
font-size: 10px;
|
||||
}
|
||||
.sw5e.chat-card .card-footer span:last-child {
|
||||
border-right: none;
|
||||
padding-right: 0;
|
||||
}
|
||||
.dice-roll .dice-formula {
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
.dice-roll .dice-total {
|
||||
background: #afc6d6;
|
||||
border: 1px solid #0d99cc;
|
||||
border-radius: 0;
|
||||
padding: 4px 0;
|
||||
box-shadow: 0 0 12px rgba(13, 153, 204, 0.5);
|
||||
}
|
||||
.dice-roll .dice-total.success {
|
||||
color: inherit;
|
||||
background: #c7d0c0;
|
||||
border: 1px solid #006c00;
|
||||
}
|
||||
.dice-roll .dice-total.failure {
|
||||
color: inherit;
|
||||
background: #ffdddd;
|
||||
border: 1px solid #6e0000;
|
||||
}
|
||||
.dice-roll .dice-total.critical {
|
||||
color: #0dce0d;
|
||||
background: #bcdcbe;
|
||||
box-shadow: 0 0 12px rgba(13, 206, 13, 0.5);
|
||||
}
|
||||
.dice-roll .dice-total.fumble {
|
||||
color: red;
|
||||
}
|
||||
#chat-controls {
|
||||
padding-top: 4px;
|
||||
}
|
||||
#chat-controls label {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
#chat-form textarea {
|
||||
background: white;
|
||||
}
|
||||
#chat-form textarea:focus {
|
||||
box-shadow: none;
|
||||
outline: none;
|
||||
}
|
||||
/*-----------
|
||||
** Combat Tab
|
||||
-----------*/
|
||||
#combat #combat-round {
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
#combat #combat-round .encounters h4 {
|
||||
color: #c40f0f;
|
||||
}
|
||||
#combat #combat-round .encounters a {
|
||||
color: #4f4f4f;
|
||||
}
|
||||
#combat #combat-round .encounters a:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
#combat #combat-tracker li.combatant {
|
||||
padding: 4px 0;
|
||||
color: #1C1C1C;
|
||||
background: none;
|
||||
}
|
||||
#combat #combat-tracker li.combatant:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.5);
|
||||
}
|
||||
#combat #combat-tracker li.combatant h4 {
|
||||
color: #1C1C1C;
|
||||
text-shadow: none;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .roll {
|
||||
background: none;
|
||||
color: #4f4f4f;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .roll::before {
|
||||
content: "\f6cf";
|
||||
font-family: "Font Awesome 5 Free";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
font-weight: 900;
|
||||
font-size: 28px;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .roll:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .combatant-control {
|
||||
color: #828282;
|
||||
text-shadow: none;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .combatant-control.active {
|
||||
color: #363636;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .token-resource {
|
||||
color: #4f4f4f;
|
||||
border-right: 1px solid #828282;
|
||||
}
|
||||
#combat #combat-tracker li.combatant .initiative {
|
||||
text-shadow: none;
|
||||
}
|
||||
#combat #combat-tracker li.combatant.active {
|
||||
color: #0d99cc;
|
||||
}
|
||||
#combat #combat-tracker li.combatant.active .initiative,
|
||||
#combat #combat-tracker li.combatant.active h4 {
|
||||
color: #0d99cc;
|
||||
}
|
||||
#combat #combat-tracker li.combatant.hidden {
|
||||
opacity: 0.5;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
#combat #combat-controls {
|
||||
padding-top: 0;
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
/*
|
||||
** Folders
|
||||
*/
|
||||
.sidebar-tab .directory-header {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.sidebar-tab .directory-header .header-search {
|
||||
position: relative;
|
||||
}
|
||||
.sidebar-tab .directory-header .header-search i.fa-search {
|
||||
position: absolute;
|
||||
left: 8px;
|
||||
color: #0d99cc;
|
||||
}
|
||||
.sidebar-tab .directory-header .header-search input {
|
||||
text-align: left;
|
||||
padding-left: 22px;
|
||||
background: white;
|
||||
}
|
||||
.sidebar-tab .directory-header .header-search input:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.sidebar-tab .subdirectory {
|
||||
border: none;
|
||||
margin-left: 8px;
|
||||
background: white;
|
||||
min-height: 8px;
|
||||
}
|
||||
.sidebar-tab .subdirectory .folder {
|
||||
border-left: 2px solid rgba(28, 28, 28, 0.4);
|
||||
}
|
||||
.sidebar-tab .directory-list {
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
.sidebar-tab .directory-list li + li {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header {
|
||||
line-height: default;
|
||||
padding: 0 0 0 8px;
|
||||
position: relative;
|
||||
border: none;
|
||||
background: white;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header h3 {
|
||||
padding: 8px 4px;
|
||||
background: white;
|
||||
color: #1C1C1C;
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header h3 > i {
|
||||
margin-right: 4px;
|
||||
color: #0d99cc;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header a {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 4px;
|
||||
height: 100%;
|
||||
padding: 0 4px;
|
||||
color: #828282;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header a:hover {
|
||||
color: #c40f0f;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header a i {
|
||||
margin-top: 12px;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder > .folder-header a.create-folder {
|
||||
right: 28px;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder.collapsed > .folder-header {
|
||||
background: white;
|
||||
}
|
||||
.sidebar-tab .directory-list .folder + .entity {
|
||||
border-top: 1px solid #0d99cc;
|
||||
}
|
||||
.sidebar-tab .directory-list .directory-item img {
|
||||
flex: 0 0 32px;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
align-self: center;
|
||||
}
|
||||
.sidebar-tab .directory-list .actor,
|
||||
.sidebar-tab .directory-list .item,
|
||||
.sidebar-tab .directory-list .journal,
|
||||
.sidebar-tab .directory-list .table {
|
||||
background: white;
|
||||
border: none;
|
||||
}
|
||||
.sidebar-tab .directory-list .actor .entity-name,
|
||||
.sidebar-tab .directory-list .item .entity-name,
|
||||
.sidebar-tab .directory-list .journal .entity-name,
|
||||
.sidebar-tab .directory-list .table .entity-name {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
.sidebar-tab .directory-list .actor:nth-child(even),
|
||||
.sidebar-tab .directory-list .item:nth-child(even),
|
||||
.sidebar-tab .directory-list .journal:nth-child(even),
|
||||
.sidebar-tab .directory-list .table:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.3);
|
||||
}
|
||||
#scenes .subdirectory {
|
||||
border-left: none;
|
||||
}
|
||||
#scenes .scene {
|
||||
border: none;
|
||||
border-top: 1px solid #0d99cc;
|
||||
border-left: 4px solid #0d99cc;
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
height: 128px;
|
||||
}
|
||||
#scenes .scene + .scene {
|
||||
margin-top: 4px;
|
||||
}
|
||||
#scenes .scene::after {
|
||||
content: '';
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 99px;
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 0;
|
||||
box-shadow: 0 0 20px #0d99cc inset;
|
||||
}
|
||||
#scenes .scene h3 {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
text-align: left;
|
||||
text-shadow: none;
|
||||
padding: 4px 4px 4px 12px;
|
||||
background: white;
|
||||
line-height: 1.6;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#playlists .directory-list {
|
||||
padding: 0 8px;
|
||||
}
|
||||
#playlists .directory-list li.playlist {
|
||||
padding: 8px;
|
||||
border-radius: 4px;
|
||||
background: white;
|
||||
margin-bottom: 8px;
|
||||
border-top: inherit;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
#playlists .directory-list li.playlist .playlist-header {
|
||||
background: white;
|
||||
color: #c40f0f;
|
||||
text-decoration: none;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
}
|
||||
#playlists .directory-list li.playlist li.sound {
|
||||
border: none;
|
||||
color: #1C1C1C;
|
||||
}
|
||||
#playlists .directory-list li.playlist li.sound h4 {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
}
|
||||
#playlists .directory-list li.playlist a.sound-control {
|
||||
color: #c40f0f;
|
||||
}
|
||||
#compendium .compendium-entity {
|
||||
margin: 0 4px;
|
||||
padding: 8px;
|
||||
background: white !important;
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
|
||||
border-radius: 4px;
|
||||
border: none;
|
||||
}
|
||||
#compendium .compendium-entity + .compendium-entity {
|
||||
margin-top: 4px;
|
||||
}
|
||||
#compendium .compendium-entity h3 {
|
||||
border: none;
|
||||
color: #c40f0f;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
font-family: 'Russo One';
|
||||
font-size: 17px;
|
||||
font-weight: 400;
|
||||
padding: 0;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack {
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
border: none;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) {
|
||||
background: rgba(175, 198, 214, 0.3);
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title {
|
||||
margin: 0;
|
||||
position: relative;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a {
|
||||
font-family: 'Open Sans';
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title a i {
|
||||
display: none;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons {
|
||||
top: 4px;
|
||||
color: #828282;
|
||||
font-size: 13px;
|
||||
}
|
||||
#compendium .compendium-entity ol.compendium-list li.compendium-pack footer.compendium-footer {
|
||||
color: #1C1C1C;
|
||||
}
|
||||
#settings h2 {
|
||||
color: #c40f0f;
|
||||
border: none;
|
||||
border-bottom: 2px solid #0d99cc;
|
||||
margin: 0 8px;
|
||||
padding: 0;
|
||||
}
|
||||
#settings #game-details,
|
||||
#settings #settings-game,
|
||||
#settings #settings-documentation,
|
||||
#settings #settings-access {
|
||||
padding: 0 8px;
|
||||
margin: 0 0 8px;
|
||||
color: #1C1C1C;
|
||||
}
|
48
sw5e.js
48
sw5e.js
|
@ -22,9 +22,10 @@ import Item5e from "./module/item/entity.js";
|
|||
import AbilityTemplate from "./module/pixi/ability-template.js";
|
||||
import AbilityUseDialog from "./module/apps/ability-use-dialog.js";
|
||||
import ActorSheetFlags from "./module/apps/actor-flags.js";
|
||||
import ActorSheet5eCharacter from "./module/actor/sheets/character.js";
|
||||
import ActorSheet5eNPC from "./module/actor/sheets/npc.js";
|
||||
import ActorSheet5eVehicle from "./module/actor/sheets/vehicle.js";
|
||||
import ActorSheet5eCharacter from "./module/actor/sheets/oldSheets/character.js";
|
||||
import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js";
|
||||
import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js";
|
||||
import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js";
|
||||
import ItemSheet5e from "./module/item/sheet.js";
|
||||
import ShortRestDialog from "./module/apps/short-rest.js";
|
||||
import TraitSelector from "./module/apps/trait-selector.js";
|
||||
|
@ -48,6 +49,7 @@ Hooks.once("init", function() {
|
|||
AbilityUseDialog,
|
||||
ActorSheetFlags,
|
||||
ActorSheet5eCharacter,
|
||||
ActorSheet5eCharacterNew,
|
||||
ActorSheet5eNPC,
|
||||
ActorSheet5eVehicle,
|
||||
ItemSheet5e,
|
||||
|
@ -87,11 +89,16 @@ Hooks.once("init", function() {
|
|||
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("sw5e", ActorSheet5eCharacter, {
|
||||
Actors.registerSheet("sw5e", ActorSheet5eCharacterNew, {
|
||||
types: ["character"],
|
||||
makeDefault: true,
|
||||
label: "SW5E.SheetClassCharacter"
|
||||
});
|
||||
Actors.registerSheet("sw5e", ActorSheet5eCharacter, {
|
||||
types: ["character"],
|
||||
makeDefault: false,
|
||||
label: "SW5E.SheetClassCharacterOld"
|
||||
});
|
||||
Actors.registerSheet("sw5e", ActorSheet5eNPC, {
|
||||
types: ["npc"],
|
||||
makeDefault: true,
|
||||
|
@ -152,6 +159,9 @@ Hooks.once("setup", function() {
|
|||
}
|
||||
// add DND5E translation for module compatability
|
||||
game.i18n.translations.DND5E = game.i18n.translations.SW5E;
|
||||
// console.log(game.settings.get("sw5e", "colorTheme"));
|
||||
let theme = game.settings.get("sw5e", "colorTheme") + '-theme';
|
||||
document.body.classList.add(theme);
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -213,8 +223,36 @@ Hooks.on("getChatLogEntryContext", chat.addChatMessageContextOptions);
|
|||
Hooks.on("renderChatLog", (app, html, data) => Item5e.chatListeners(html));
|
||||
Hooks.on("renderChatPopout", (app, html, data) => Item5e.chatListeners(html));
|
||||
Hooks.on('getActorDirectoryEntryContext', Actor5e.addDirectoryContextOptions);
|
||||
|
||||
Hooks.on("renderSceneDirectory", (app, html, data)=> {
|
||||
//console.log(html.find("header.folder-header"));
|
||||
setFolderBackground(html);
|
||||
});
|
||||
Hooks.on("renderActorDirectory", (app, html, data)=> {
|
||||
setFolderBackground(html);
|
||||
});
|
||||
Hooks.on("renderItemDirectory", (app, html, data)=> {
|
||||
setFolderBackground(html);
|
||||
});
|
||||
Hooks.on("renderJournalDirectory", (app, html, data)=> {
|
||||
setFolderBackground(html);
|
||||
});
|
||||
Hooks.on("renderRollTableDirectory", (app, html, data)=> {
|
||||
setFolderBackground(html);
|
||||
});
|
||||
Hooks.on("ActorSheet5eCharacterNew", (app, html, data) => {
|
||||
console.log("renderSwaltSheet");
|
||||
});
|
||||
// TODO I should remove this
|
||||
Handlebars.registerHelper('getProperty', function (data, property) {
|
||||
return getProperty(data, property);
|
||||
});
|
||||
|
||||
|
||||
function setFolderBackground(html) {
|
||||
html.find("header.folder-header").each(function() {
|
||||
let bgColor = $(this).css("background-color");
|
||||
if(bgColor == undefined)
|
||||
bgColor = "rgb(255,255,255)";
|
||||
$(this).closest('li').css("background-color", bgColor);
|
||||
})
|
||||
}
|
|
@ -6,7 +6,7 @@
|
|||
"author": "Dev Team",
|
||||
"scripts": [],
|
||||
"esmodules": ["sw5e.js"],
|
||||
"styles": ["sw5e.css"],
|
||||
"styles": ["sw5e.css", "sw5e-global.css", "sw5e-light.css", "sw5e-dark.css"],
|
||||
"packs": [
|
||||
{
|
||||
"name": "adventuringgear",
|
||||
|
|
144
templates/actors/newActor/character-sheet.html
Normal file
144
templates/actors/newActor/character-sheet.html
Normal file
|
@ -0,0 +1,144 @@
|
|||
<form class="{{cssClass}} swalt-sheet" autocomplete="off">
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="panel">
|
||||
<img class="profile" src="{{actor.img}}" title="{{actor.name}}" data-edit="img" />
|
||||
<h1 class="character-name">
|
||||
<input name="name" type="text" value="{{actor.name}}" placeholder="{{ localize 'SW5E.Name' }}" />
|
||||
</h1>
|
||||
<div class="level-experience">
|
||||
<div class="charlevel">
|
||||
{{ localize "SW5E.Level" }} {{data.details.level}} {{classLabels}}
|
||||
</div>
|
||||
{{#unless disableExperience}}
|
||||
<div class="experience">
|
||||
<input name="data.details.xp.value" type="text" value="{{data.details.xp.value}}" data-dtype="Number"
|
||||
placeholder="0" />
|
||||
<span class="sep">/</span>
|
||||
<span class="max">{{data.details.xp.max}}</span>
|
||||
</div>
|
||||
<div class="xpbar">
|
||||
<span class="bar" style="width: {{data.details.xp.pct}}%"></span>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
<div class="summary">
|
||||
<input type="text" name="data.details.species" value="{{data.details.species}}"
|
||||
placeholder="{{ localize 'SW5E.Species' }}" />
|
||||
<input type="text" name="data.details.background" value="{{data.details.background}}"
|
||||
placeholder="{{ localize 'SW5E.Background' }}" />
|
||||
<input type="text" name="data.details.alignment" value="{{data.details.alignment}}"
|
||||
placeholder="{{ localize 'SW5E.Alignment' }}" />
|
||||
<div class="proficiency">
|
||||
Proficiency {{numberFormat data.attributes.prof decimals=0 sign=true}}
|
||||
</div>
|
||||
</div>
|
||||
{{!-- Header Attributes --}}
|
||||
<div class="attributes">
|
||||
{{!-- ARMOR CLASS --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.ArmorClass" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<input class="ac-display" name="data.attributes.ac.value" type="text"
|
||||
value="{{data.attributes.ac.value}}" data-dtype="Number" placeholder="10" />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{!-- HIT POINTS --}}
|
||||
<section>
|
||||
<h1>Hit Points</h1>
|
||||
<div class="attribute-value multiple">
|
||||
<input name="data.attributes.hp.value" type="text" value="{{data.attributes.hp.value}}"
|
||||
data-dtype="Number" placeholder="10" class="value-number" />
|
||||
<span class="value-separator">/</span>
|
||||
<input name="data.attributes.hp.max" type="text" value="{{data.attributes.hp.max}}"
|
||||
data-dtype="Number" placeholder="10" class="value-number" />
|
||||
</div>
|
||||
<footer class="attribute-footer hit-points">
|
||||
<input name="data.attributes.hp.temp" type="text" class="temphp" placeholder="+Temp"
|
||||
value="{{data.attributes.hp.temp}}" data-dtype="{{data.attributes.hp.type}}" />
|
||||
<input name="data.attributes.hp.tempmax" type="text" class="temphp" placeholder="+Max"
|
||||
value="{{data.attributes.hp.tempmax}}" data-dtype="{{data.attributes.hp.type}}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- HIT DICE / SHORT & LONG REST BUTTONS --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.HitDice" }}</h1>
|
||||
<div class="attribute-value multiple">
|
||||
<span class="value-number">{{data.attributes.hd}}</span>
|
||||
<span class="value-separator">/</span>
|
||||
<span class="value-number">{{data.details.level}}</span>
|
||||
</div>
|
||||
<footer class="attribute-footer hit-dice">
|
||||
<button type="button" class="rest short-rest">{{ localize "SW5E.RestS" }}</button>
|
||||
<button type="button" class="rest long-rest">{{ localize "SW5E.RestL" }}</button>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- INITIATIVE --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.Initiative" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<span class="initiative">{{numberFormat data.attributes.init.total decimals=0 sign=true}}</span>
|
||||
</div>
|
||||
<footer class="attribute-footer initiative">
|
||||
<span>{{ localize "SW5E.Modifier" }}</span>
|
||||
<input name="data.attributes.init.value" type="text" placeholder="0" data-dtype="Number"
|
||||
value="{{numberFormat data.attributes.init.value decimals=0 sign=true}}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- SPEED / MOVEMENT TYPES --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.Speed" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.speed.value" type="text" value="{{data.attributes.speed.value}}"
|
||||
placeholder="0" />
|
||||
</div>
|
||||
<footer class="attribute-footer speed">
|
||||
<input type="text" class="speed" name="data.attributes.speed.special"
|
||||
value="{{data.attributes.speed.special}}" placeholder="{{ localize 'SW5E.SpeedSpecial' }}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</header>
|
||||
{{!-- PC Sheet Navigation --}}
|
||||
<nav class="sheet-navigation root-tabs" data-group="primary">
|
||||
<button class="item active" data-tab="attributes">Core</button>
|
||||
<button class="item" data-tab="inventory">{{ localize "SW5E.Inventory" }}</button>
|
||||
<button class="item" data-tab="features">{{ localize "SW5E.Features" }}</button>
|
||||
<button class="item" data-tab="powerbook">{{ localize "SW5E.Powerbook" }}</button>
|
||||
<button class="item" data-tab="biography">{{ localize "SW5E.Biography" }}</button>
|
||||
<button class="item" data-tab="notes">Notes</button>
|
||||
</nav>
|
||||
{{!-- PC Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
{{!-- Core Tab --}}
|
||||
<section class="tab attributes core" data-group="primary" data-tab="attributes">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-core.html" sections=attributes}}
|
||||
</section>
|
||||
{{!-- Inventory Tab --}}
|
||||
<section class="tab inventory" data-group="primary" data-tab="inventory">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html" sections=inventory}}
|
||||
</section>
|
||||
{{!-- Features Tab --}}
|
||||
<section class="tab features" data-group="primary" data-tab="features">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}}
|
||||
</section>
|
||||
{{!-- Powerbook Tab --}}
|
||||
<section class="tab powerbook" data-group="primary" data-tab="powerbook">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html"}}
|
||||
</section>
|
||||
{{!-- Biography Tab --}}
|
||||
<section class="tab biography" data-group="primary" data-tab="biography">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-biography.html"}}
|
||||
</section>
|
||||
{{!-- Notes Tab --}}
|
||||
<section class="tab notes" data-group="primary" data-tab="notes">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-notes.html"}}
|
||||
</section>
|
||||
</form>
|
137
templates/actors/newActor/expanded-limited-sheet.html
Normal file
137
templates/actors/newActor/expanded-limited-sheet.html
Normal file
|
@ -0,0 +1,137 @@
|
|||
<form class="{{cssClass}} swalt-sheet" autocomplete="off">
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="panel">
|
||||
<img class="profile" src="{{actor.img}}" title="{{actor.name}}" data-edit="img" />
|
||||
<h1 class="character-name">
|
||||
<input name="name" type="text" value="{{actor.name}}" placeholder="{{ localize 'SW5E.Name' }}" />
|
||||
</h1>
|
||||
<div class="level-experience">
|
||||
<div class="charlevel">
|
||||
{{ localize "SW5E.Level" }} {{data.details.level}} {{classLabels}}
|
||||
</div>
|
||||
{{#unless disableExperience}}
|
||||
<div class="experience">
|
||||
<input name="data.details.xp.value" type="text" value="{{data.details.xp.value}}" data-dtype="Number"
|
||||
placeholder="0" />
|
||||
<span class="sep">/</span>
|
||||
<span class="max">{{data.details.xp.max}}</span>
|
||||
</div>
|
||||
<div class="xpbar">
|
||||
<span class="bar" style="width: {{data.details.xp.pct}}%"></span>
|
||||
</div>
|
||||
{{/unless}}
|
||||
</div>
|
||||
<div class="summary">
|
||||
<input type="text" name="data.details.species" value="{{data.details.species}}"
|
||||
placeholder="{{ localize 'SW5E.Species' }}" />
|
||||
<input type="text" name="data.details.background" value="{{data.details.background}}"
|
||||
placeholder="{{ localize 'SW5E.Background' }}" />
|
||||
<input type="text" name="data.details.alignment" value="{{data.details.alignment}}"
|
||||
placeholder="{{ localize 'SW5E.Alignment' }}" />
|
||||
<div class="proficiency">
|
||||
Proficiency {{numberFormat data.attributes.prof decimals=0 sign=true}}
|
||||
</div>
|
||||
</div>
|
||||
{{!-- Header Attributes --}}
|
||||
<div class="attributes">
|
||||
{{!-- ARMOR CLASS --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.ArmorClass" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<input class="ac-display" name="data.attributes.ac.value" type="text"
|
||||
value="{{data.attributes.ac.value}}" data-dtype="Number" placeholder="10" />
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{!-- HIT POINTS --}}
|
||||
<section>
|
||||
<h1>Hit Points</h1>
|
||||
<div class="attribute-value multiple">
|
||||
<input name="data.attributes.hp.value" type="text" value="{{data.attributes.hp.value}}"
|
||||
data-dtype="Number" placeholder="10" class="value-number" />
|
||||
<span class="value-separator">/</span>
|
||||
<input name="data.attributes.hp.max" type="text" value="{{data.attributes.hp.max}}"
|
||||
data-dtype="Number" placeholder="10" class="value-number" />
|
||||
</div>
|
||||
<footer class="attribute-footer hit-points">
|
||||
<input name="data.attributes.hp.temp" type="text" class="temphp" placeholder="+Temp"
|
||||
value="{{data.attributes.hp.temp}}" data-dtype="{{data.attributes.hp.type}}" />
|
||||
<input name="data.attributes.hp.tempmax" type="text" class="temphp" placeholder="+Max"
|
||||
value="{{data.attributes.hp.tempmax}}" data-dtype="{{data.attributes.hp.type}}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- HIT DICE / SHORT & LONG REST BUTTONS --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.HitDice" }}</h1>
|
||||
<div class="attribute-value multiple">
|
||||
<span class="value-number">{{data.attributes.hd}}</span>
|
||||
<span class="value-separator">/</span>
|
||||
<span class="value-number">{{data.details.level}}</span>
|
||||
</div>
|
||||
<footer class="attribute-footer hit-dice">
|
||||
<button type="button" class="rest short-rest">{{ localize "SW5E.RestS" }}</button>
|
||||
<button type="button" class="rest long-rest">{{ localize "SW5E.RestL" }}</button>
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- INITIATIVE --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.Initiative" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<span class="initiative">{{numberFormat data.attributes.init.total decimals=0 sign=true}}</span>
|
||||
</div>
|
||||
<footer class="attribute-footer initiative">
|
||||
<span>{{ localize "SW5E.Modifier" }}</span>
|
||||
<input name="data.attributes.init.value" type="text" placeholder="0" data-dtype="Number"
|
||||
value="{{numberFormat data.attributes.init.value decimals=0 sign=true}}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
{{!-- SPEED / MOVEMENT TYPES --}}
|
||||
<section>
|
||||
<h1>{{ localize "SW5E.Speed" }}</h1>
|
||||
<div class="attribute-value">
|
||||
<input name="data.attributes.speed.value" type="text" value="{{data.attributes.speed.value}}"
|
||||
placeholder="0" />
|
||||
</div>
|
||||
<footer class="attribute-footer speed">
|
||||
<input type="text" class="speed" name="data.attributes.speed.special"
|
||||
value="{{data.attributes.speed.special}}" placeholder="{{ localize 'SW5E.SpeedSpecial' }}" />
|
||||
</footer>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
{{!-- PC Sheet Navigation --}}
|
||||
<nav class="sheet-navigation root-tabs" data-group="primary">
|
||||
<button class="item active" data-tab="attributes">Core</button>
|
||||
<button class="item" data-tab="inventory">{{ localize "SW5E.Inventory" }}</button>
|
||||
<button class="item" data-tab="features">{{ localize "SW5E.Features" }}</button>
|
||||
<button class="item" data-tab="powerbook">{{ localize "SW5E.Powerbook" }}</button>
|
||||
<button class="item" data-tab="biography">{{ localize "SW5E.Biography" }}</button>
|
||||
</nav>
|
||||
{{!-- PC Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
{{!-- Core Tab --}}
|
||||
<section class="tab attributes core" data-group="primary" data-tab="attributes">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-core.html" sections=attributes}}
|
||||
</section>
|
||||
{{!-- Inventory Tab --}}
|
||||
<section class="tab inventory" data-group="primary" data-tab="inventory">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-inventory.html" sections=inventory}}
|
||||
</section>
|
||||
{{!-- Features Tab --}}
|
||||
<section class="tab features" data-group="primary" data-tab="features">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-features.html" sections=features}}
|
||||
</section>
|
||||
{{!-- Powerbook Tab --}}
|
||||
<section class="tab powerbook" data-group="primary" data-tab="powerbook">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-powerbook.html"}}
|
||||
</section>
|
||||
{{!-- Biography Tab --}}
|
||||
<section class="tab biography" data-group="primary" data-tab="biography">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-biography.html"}}
|
||||
</section>
|
||||
</form>
|
33
templates/actors/newActor/item.hbs
Normal file
33
templates/actors/newActor/item.hbs
Normal file
|
@ -0,0 +1,33 @@
|
|||
<li class="item group-grid-fav-items" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
<h4>{{item.name}}</h4>
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if item.data.uses.max }}
|
||||
{{item.data.uses.value}} / {{item.data.uses.max}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item-detail item-count">
|
||||
{{#if item.data.quantity}}
|
||||
{{item.data.quantity}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="item-detail item-comps">
|
||||
{{#if item.powerComps}}
|
||||
{{item.powerComps}}
|
||||
{{#if item.powerCon}}<i class='fas fa-copyright'></i>{{/if}}
|
||||
{{#if item.powerRit}}<i class='fas fa-registered'></i>{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-controls">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-fav" title="Remove"><i class="fas fa-sign-out-alt"></i></a>
|
||||
</div>
|
||||
</li>
|
27
templates/actors/newActor/limited-sheet.html
Normal file
27
templates/actors/newActor/limited-sheet.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<form class="{{cssClass}} swalt-sheet limited" autocomplete="off">
|
||||
<!-- HEADER -->
|
||||
<header class="panel">
|
||||
<img class="profile" src="{{actor.img}}" title="{{actor.name}}" data-edit="img" />
|
||||
<h1 class="character-name">
|
||||
{{actor.name}}
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<!-- BODY -->
|
||||
<section class="sheet-body">
|
||||
<div class="tab biography active">
|
||||
<div class="panel">
|
||||
<section class="additional-info">
|
||||
<h1 class="section-titles">Description</h1>
|
||||
{{editor content=data.details.description.value target="data.details.description.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section>
|
||||
<h1 class="section-titles">Background</h1>
|
||||
{{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
|
22
templates/actors/newActor/parts/swalt-biography.html
Normal file
22
templates/actors/newActor/parts/swalt-biography.html
Normal file
|
@ -0,0 +1,22 @@
|
|||
<div class="panel additional-info">
|
||||
<section><h1 class="section-titles biopage">Personality Traits</h1>
|
||||
{{editor content=data.details.trait target="data.details.trait" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section><h1 class="section-titles biopage">Ideals</h1>
|
||||
{{editor content=data.details.ideal target="data.details.ideal" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section><h1 class="section-titles biopage">Bonds</h1>
|
||||
{{editor content=data.details.bond target="data.details.bond" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section><h1 class="section-titles biopage">Flaws</h1>
|
||||
{{editor content=data.details.flaw target="data.details.flaw" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
</div>
|
||||
<div class="panel background">
|
||||
<section><h1 class="section-titles biopage">Description</h1>
|
||||
{{editor content=data.details.description.value target="data.details.description.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section><h1 class="section-titles">Background</h1>
|
||||
{{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
</div>
|
56
templates/actors/newActor/parts/swalt-core.html
Normal file
56
templates/actors/newActor/parts/swalt-core.html
Normal file
|
@ -0,0 +1,56 @@
|
|||
<section class="panel abilities">
|
||||
{{!-- Ability Scores --}}
|
||||
<section class="scores">
|
||||
<h1>Ability Scores</h1>
|
||||
<ol>
|
||||
{{#each data.abilities as |ability id|}}
|
||||
<li class="ability {{#if ability.proficient}}proficient{{/if}}" data-ability="{{id}}">
|
||||
<h2 class="ability-name rollable">{{ability.label}}</h4>
|
||||
<input class="ability-score" name="data.abilities.{{id}}.value" type="text"
|
||||
value="{{ability.value}}" data-dtype="Number" placeholder="10" />
|
||||
<div class="ability-modifiers">
|
||||
<span class="ability-mod"
|
||||
title="Modifier">{{numberFormat ability.mod decimals=0 sign=true}}</span>
|
||||
<input type="hidden" name="data.abilities.{{id}}.proficient"
|
||||
value="{{ability.proficient}}" data-dtype="Number" />
|
||||
<button class="proficiency-toggle ability-proficiency"
|
||||
title="Proficiency">{{{ability.icon}}}</button>
|
||||
<span class="ability-save"
|
||||
title="Saving Throw">{{numberFormat ability.save decimals=0 sign=true}}</span>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</section>
|
||||
{{!-- Skills --}}
|
||||
<section class="skills">
|
||||
<h1>Skills</h1>
|
||||
<ol>
|
||||
{{#each data.skills as |skill s|}}
|
||||
<li class="skill {{#if skill.value}}proficient{{/if}}" data-skill="{{s}}">
|
||||
<input type="hidden" name="data.skills.{{s}}.value" value="{{skill.value}}"
|
||||
data-dtype="Number" />
|
||||
<button class="proficiency-toggle skill-proficiency"
|
||||
title="{{skill.hover}}">{{{skill.icon}}}</button>
|
||||
<span class="skill-name rollable">{{skill.label}}</span>
|
||||
<span class="skill-ability">{{skill.ability}}</span>
|
||||
<span class="skill-mod">{{numberFormat skill.total decimals=0 sign=true}}</span>
|
||||
{{!-- <input class="skill-bonus" name="data.skills.{{s}}.bonus" type="text" value="{{numberFormat skill.bonus decimals=0 sign=true}}" data-dtype="Number" placeholder="0" title="Misc. Modifier"/> --}}
|
||||
{{!-- <span class="skill-passive">({{skill.passive}})</span> --}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</section>
|
||||
</section>
|
||||
<section class="panel traits-resources">
|
||||
<nav class="core-tabs tab-list" data-subgroup-selection>
|
||||
<button type="button" class="item active" data-subgroup="coreattributes" data-target="traits">Traits</button>
|
||||
<button type="button" class="item" data-subgroup="coreattributes" data-target="resources">Resources</button>
|
||||
</nav>
|
||||
<div class="tab core-traits active" data-subgroup="coreattributes" data-target="traits">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-traits.html"}}
|
||||
</div>
|
||||
<div class="tab core-resources" data-subgroup="coreattributes" data-target="resources">
|
||||
{{> "systems/sw5e/templates/actors/newActor/parts/swalt-resources.html"}}
|
||||
</div>
|
||||
</section>
|
80
templates/actors/newActor/parts/swalt-features.html
Normal file
80
templates/actors/newActor/parts/swalt-features.html
Normal file
|
@ -0,0 +1,80 @@
|
|||
<div class="panel">
|
||||
|
||||
|
||||
<ul class="filter-list" data-filter="features">
|
||||
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
||||
<li class="filter-item" data-filter="action">{{localize "SW5E.Action"}}</li>
|
||||
<li class="filter-item" data-filter="bonus">{{localize "SW5E.BonusAction"}}</li>
|
||||
<li class="filter-item" data-filter="reaction">{{localize "SW5E.Reaction"}}</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<ol class="group-list">
|
||||
{{#each sections as |section sid|}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-features">
|
||||
<div class="title">
|
||||
|
||||
<h3 class="item-name">{{localize section.label}}</h3>
|
||||
{{#if ../owner}}
|
||||
<a class="item-control item-create" title="{{localize 'SW5E.FeatureAdd'}}"
|
||||
{{#each section.dataset as |v k|}}data-{{k}}="{{v}}" {{/each}}>
|
||||
<i class="fas fa-plus"></i> {{localize "SW5E.Add"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if section.hasActions}}
|
||||
<div class="item-detail item-uses">{{localize "SW5E.Uses"}}</div>
|
||||
<div class="item-detail item-action">{{localize "SW5E.Usage"}}</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
</div>
|
||||
<ol class="item-list">
|
||||
{{#each section.items as |item iid|}}
|
||||
<li class="item group-grid-features {{#if isDepleted}}depleted{{/if}}" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
<h4>{{item.name}}</h4>
|
||||
</div>
|
||||
|
||||
{{#if section.hasActions}}
|
||||
<div class="item-detail item-uses">
|
||||
{{#if item.isOnCooldown}}
|
||||
<a class="item-recharge rollable">{{item.labels.recharge}}</a>
|
||||
{{else if item.data.recharge.value}}
|
||||
{{localize "SW5E.Charged"}}
|
||||
|
||||
{{else if item.hasUses}}
|
||||
<input type="text" value="{{item.data.uses.value}}" placeholder="0" />/<span>{{item.data.uses.max}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-action">
|
||||
{{#if item.data.activation.type }}
|
||||
{{item.labels.activation}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{else if section.isClass}}
|
||||
<div class="item-detail player-class">
|
||||
{{item.data.subclass}}
|
||||
</div>
|
||||
<div class="item-detail player-class-levels">
|
||||
Level {{item.data.levels}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if ../../owner}}
|
||||
<div class="item-controls item-detail">
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</div>
|
112
templates/actors/newActor/parts/swalt-inventory.html
Normal file
112
templates/actors/newActor/parts/swalt-inventory.html
Normal file
|
@ -0,0 +1,112 @@
|
|||
<section class="panel">
|
||||
{{#if isCharacter }}
|
||||
<div class="currency-encumbrance">
|
||||
|
||||
<label class="currency">
|
||||
{{localize "SW5E.Currency"}}
|
||||
{{#each data.currency as |v k|}}
|
||||
<input type="text" name="data.currency.{{k}}" value="{{v}}" data-dtype="Number" />
|
||||
{{/each}}
|
||||
</label>
|
||||
{{#with data.attributes.encumbrance}}
|
||||
<div class="encumbrance-wrapper" title="Encumbrance">
|
||||
<div class="encumbrance {{#if encumbered}}encumbered{{/if}}">
|
||||
<span class="encumbrance-bar" style="width:{{pct}}%"></span>
|
||||
|
||||
<i class="encumbrance-breakpoint encumbrance-33 arrow-up"></i>
|
||||
<i class="encumbrance-breakpoint encumbrance-33 arrow-down"></i>
|
||||
<i class="encumbrance-breakpoint encumbrance-66 arrow-up"></i>
|
||||
<i class="encumbrance-breakpoint encumbrance-66 arrow-down"></i>
|
||||
</div>
|
||||
<span class="encumbrance-label">{{value}} / {{max}}</span>
|
||||
</div>
|
||||
{{/with}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<ul class="filter-list" data-filter="inventory">
|
||||
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
||||
<li class="filter-item" data-filter="action">{{localize "SW5E.Action"}}</li>
|
||||
<li class="filter-item" data-filter="bonus">{{localize "SW5E.BonusAction"}}</li>
|
||||
<li class="filter-item" data-filter="reaction">{{localize "SW5E.Reaction"}}</li>
|
||||
<li class="filter-item" data-filter="equipped">{{localize "SW5E.Equipped"}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="group-list-header group-grid-inventory">
|
||||
<div> </div>
|
||||
{{#if isCharacter}}
|
||||
<div class="item-detail item-weight">{{localize "SW5E.Weight"}}</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-detail item-uses">{{localize "SW5E.Charges"}}</div>
|
||||
<div class="item-detail item-action">{{localize "SW5E.Usage"}}</div>
|
||||
<div class="item-detail"></div>
|
||||
</div>
|
||||
<ol class="group-list">
|
||||
{{#each sections as |section sid|}}
|
||||
<li>
|
||||
<div class="group-list-title">
|
||||
<h3 class="item-name">{{localize section.label}}</h3>
|
||||
|
||||
{{#if ../owner}}
|
||||
<a class="item-control item-create" title='{{localize "SW5E.ItemCreate"}}'
|
||||
{{#each section.dataset as |v k|}}data-{{k}}="{{v}}" {{/each}}>
|
||||
<i class="fas fa-plus"></i> {{localize "SW5E.Add"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
<ol class="group-items">
|
||||
{{#each section.items as |item iid|}}
|
||||
<li class="item group-grid-inventory" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
<h4>
|
||||
{{item.name~}}
|
||||
{{~#if item.isStack}} ({{item.data.quantity}}){{/if}}
|
||||
{{~#if item.data.attuned}} <i class="fas fa-sun attuned"
|
||||
title={{localize "SW5E.Attuned"}}></i>{{/if}}
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
{{#if ../../isCharacter}}
|
||||
<div class="item-detail item-weight">
|
||||
{{#if item.totalWeight}}
|
||||
{{ item.totalWeight }} {{localize "SW5E.AbbreviationLbs"}}
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if item.hasUses }}
|
||||
<input type="text" value="{{item.data.uses.value}}" placeholder="0" />
|
||||
/<span style="padding-left: 8px;">{{item.data.uses.max}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-action">
|
||||
{{#if item.data.activation.type }}
|
||||
{{item.labels.activation}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if ../../owner}}
|
||||
<div class="item-detail item-controls">
|
||||
<a class="item-control item-toggle {{item.toggleClass}}" title='{{item.toggleTitle}}'>
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
</a>
|
||||
<a class="item-control item-edit" title='{{localize "SW5E.ItemEdit"}}'><i
|
||||
class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title='{{localize "SW5E.ItemDelete"}}'><i
|
||||
class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
</section>
|
33
templates/actors/newActor/parts/swalt-notes.html
Normal file
33
templates/actors/newActor/parts/swalt-notes.html
Normal file
|
@ -0,0 +1,33 @@
|
|||
<div class="panel">
|
||||
<section class="background">
|
||||
<input type="text" name="data.details.notesname" value="{{data.details.notesname}}"
|
||||
placeholder="Personal Journal" />
|
||||
|
||||
{{editor content=data.details.notes.value target="data.details.notes.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
<section>
|
||||
<input type="text" name="data.details.notes1name" value="{{data.details.notes1name}}"
|
||||
placeholder="Additional Notes" />
|
||||
{{editor content=data.details.notes1.value target="data.details.notes1.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<input type="text" name="data.details.notes2name" value="{{data.details.notes2name}}"
|
||||
placeholder="Additional Notes" />
|
||||
{{editor content=data.details.notes2.value target="data.details.notes2.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<input type="text" name="data.details.notes3name" value="{{data.details.notes3name}}"
|
||||
placeholder="Additional Notes" />
|
||||
{{editor content=data.details.notes3.value target="data.details.notes3.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<input type="text" name="data.details.notes4name" value="{{data.details.notes4name}}"
|
||||
placeholder="Additional Notes" />
|
||||
{{editor content=data.details.notes4.value target="data.details.notes4.value" button=true owner=owner editable=editable}}
|
||||
</section>
|
||||
|
||||
</section>
|
||||
</div>
|
135
templates/actors/newActor/parts/swalt-powerbook.html
Normal file
135
templates/actors/newActor/parts/swalt-powerbook.html
Normal file
|
@ -0,0 +1,135 @@
|
|||
<section class="panel">
|
||||
<div class="powercasting-ability">
|
||||
<label>{{localize "SW5E.PowerAbility"}}
|
||||
<select name="data.attributes.powercasting" data-type="String">
|
||||
{{#select data.attributes.powercasting}}
|
||||
<option value="">{{localize "SW5E.None"}}</option>
|
||||
{{#each data.abilities as |abl a|}}
|
||||
<option value="{{a}}">{{abl.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</label>
|
||||
{{#if isNPC}}
|
||||
<label>{{localize "SW5E.PowercasterLevel"}}
|
||||
<input class="powercasting-level" type="text" name="data.details.powerLevel" value="{{data.details.powerLevel}}"
|
||||
data-dtype="Number" placeholder="0" />
|
||||
</label>
|
||||
{{/if}}
|
||||
<h3 class="power-dc">{{localize "SW5E.PowerDC"}} <span>{{data.attributes.powerdc}}</span></h3>
|
||||
</div>
|
||||
|
||||
<ul class="filter-list" data-filter="powerbook">
|
||||
<li class="filter-title">{{localize "SW5E.Filter"}}</li>
|
||||
<li class="filter-item" data-filter="action">{{localize "SW5E.Action"}}</li>
|
||||
<li class="filter-item" data-filter="bonus">{{localize "SW5E.BonusAction"}}</li>
|
||||
<li class="filter-item" data-filter="reaction">{{localize "SW5E.Reaction"}}</li>
|
||||
<li class="filter-item" data-filter="concentration">{{localize "SW5E.AbbreviationConc"}}</li>
|
||||
<li class="filter-item" data-filter="ritual">{{localize "SW5E.Ritual"}}</li>
|
||||
<li class="filter-item" data-filter="prepared">{{localize "SW5E.Prepared"}}{{#if preparedPowers}}
|
||||
({{preparedPowers}}){{/if}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="group-list-header group-grid-powers">
|
||||
<div></div>
|
||||
<div class="item-detail item-uses"></div>
|
||||
<div class="item-detail item-school">{{localize "SW5E.PowerSchool"}}</div>
|
||||
<div class="item-detail item-action">{{localize "SW5E.PowerUsage"}}</div>
|
||||
<div class="item-detail item-target">{{localize "SW5E.PowerTarget"}}</div>
|
||||
|
||||
</div>
|
||||
<ol class="group-list">
|
||||
{{#each powerbook as |section|}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-powers">
|
||||
<div class="item-name">
|
||||
<h3>{{section.label}}</h3>
|
||||
{{#if section.canCreate}}
|
||||
<a class="item-control item-create" title="{{localize 'SW5E.PowerCreate'}}"
|
||||
{{#each section.dataset as |v k|}}data-{{k}}="{{v}}" {{/each}}>
|
||||
<i class="fas fa-plus"></i> {{localize "SW5E.Add"}}
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if section.usesSlots}}
|
||||
<input type="text" name="data.powers.{{section.prop}}.value" value="{{section.uses}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
/
|
||||
<span data-level="{{section.prop}}" data-slots="{{section.slots}}">
|
||||
{{{section.slots}}}
|
||||
{{#if ../editable}}
|
||||
<a class="slot-max-override" title="{{localize 'SW5E.PowerProgOverride'}}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
{{/if}}
|
||||
{{ else }}
|
||||
{{{section.uses}}} / {{{section.slots}}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<ol class="item-list">
|
||||
{{#each section.powers as |item i|}}
|
||||
<li class="item group-grid-powers" data-item-id="{{item._id}}">
|
||||
<div class="item-name rollable">
|
||||
<div class="item-image" style="background-image: url({{item.img}})"></div>
|
||||
<h4>{{item.name}}</h4>
|
||||
</div>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if item.data.uses.per }}
|
||||
Uses {{item.data.uses.value}} / {{item.data.uses.max}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<!-- <div class="power-comps">
|
||||
{{#each labels.components}}
|
||||
<span class="power-component {{this}}">{{this}}</span>
|
||||
{{/each}}
|
||||
</div> -->
|
||||
<div class="item-detail item-school">{{labels.school}}</div>
|
||||
<div class="item-detail item-action">{{labels.activation}}</div>
|
||||
<div class="item-detail item-target" title="{{localize 'SW5E.Range'}}: {{labels.range}}">
|
||||
{{#if labels.target}}
|
||||
{{labels.target}}
|
||||
{{else}}None
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
|
||||
{{#if ../../owner}}
|
||||
<div class="item-detail item-controls">
|
||||
{{#if section.canPrepare}}
|
||||
<a class="item-control item-toggle {{item.toggleClass}}" title="{{item.toggleTitle}}"><i
|
||||
class="fas fa-check-circle"></i></a>
|
||||
{{/if}}
|
||||
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{else}}
|
||||
{{#if owner}}
|
||||
{{#if filters.powerbook.size}}
|
||||
<li class="item flexrow">
|
||||
<p class="notes">{{localize "SW5E.FilterNoPowers"}}</p>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="item flexrow inventory-header powerbook-header powerbook-empty">
|
||||
<div class="item-controls">
|
||||
<a class="item-control item-create" title="{{localize 'SW5E.PowerCreate'}}" data-type="power"
|
||||
data-level="{{lvl}}"><i class="fas fa-plus"></i> {{localize "SW5E.PowerAdd"}}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<p class="notes">{{localize "SW5E.NoPowerLevels"}}</p>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</section>
|
65
templates/actors/newActor/parts/swalt-resources.html
Normal file
65
templates/actors/newActor/parts/swalt-resources.html
Normal file
|
@ -0,0 +1,65 @@
|
|||
{{!-- Resources, Counters, & Favorites --}}
|
||||
<section class="resources">
|
||||
<section class="resource-items">
|
||||
{{#each resources as |res|}}
|
||||
<div class="resource">
|
||||
<h1>
|
||||
<input name="data.resources.{{res.name}}.label" type="text" value="{{res.label}}"
|
||||
placeholder="{{res.placeholder}}" />
|
||||
</h1>
|
||||
<div class="attribute-value">
|
||||
<input name="data.resources.{{res.name}}.value" type="text" value="{{res.value}}" data-dtype="Number"
|
||||
placeholder="0" class="value-number" />
|
||||
<span class="value-separator">/</span>
|
||||
<input name="data.resources.{{res.name}}.max" type="text" value="{{res.max}}" data-dtype="Number"
|
||||
placeholder="0" class="value-number" />
|
||||
</div>
|
||||
<footer class="attribute-footer">
|
||||
<label class="recharge checkbox">
|
||||
{{ localize "SW5E.AbbreviationSR" }} <input name="data.resources.{{res.name}}.sr" type="checkbox"
|
||||
{{checked res.sr}} />
|
||||
</label>
|
||||
<label class="recharge checkbox">
|
||||
{{ localize "SW5E.AbbreviationLR" }} <input name="data.resources.{{res.name}}.lr" type="checkbox"
|
||||
{{checked res.lr}} />
|
||||
</label>
|
||||
</footer>
|
||||
</div>
|
||||
{{/each}}
|
||||
</section>
|
||||
<section class="counters">
|
||||
<div class="counter">
|
||||
<h4 class="death-save rollable">{{ localize "SW5E.DeathSave" }}</h4>
|
||||
<div class="counter-value">
|
||||
<div class="death-success">
|
||||
<i class="fas fa-check"></i>
|
||||
<input type="text" name="data.attributes.death.success" data-dtype="Number" placeholder="0"
|
||||
value="{{data.attributes.death.success}}" />
|
||||
</div>
|
||||
<div class="death-fail">
|
||||
<i class="fas fa-times"></i>
|
||||
<input type="text" name="data.attributes.death.failure" data-dtype="Number" placeholder="0"
|
||||
value="{{data.attributes.death.failure}}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="counter">
|
||||
<h4>{{ localize "SW5E.Exhaustion" }}</h4>
|
||||
<div class="counter-value">
|
||||
<input type="text" name="data.attributes.exhaustion" data-dtype="Number" placeholder="0"
|
||||
value="{{data.attributes.exhaustion}}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="counter">
|
||||
<h4>{{ localize "SW5E.Inspiration" }}</h4>
|
||||
<div class="counter-value">
|
||||
<input type="checkbox" name="data.attributes.inspiration" data-dtype="Boolean"
|
||||
{{checked data.attributes.inspiration}} />
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="favorites">
|
||||
<h1>Favorites</h1>
|
||||
<div class="favtabtarget"></div>
|
||||
</section>
|
||||
</section>
|
118
templates/actors/newActor/parts/swalt-traits.html
Normal file
118
templates/actors/newActor/parts/swalt-traits.html
Normal file
|
@ -0,0 +1,118 @@
|
|||
<section class="traits">
|
||||
<label>
|
||||
{{localize "SW5E.Size"}}
|
||||
<select class="actor-size" name="data.traits.size">
|
||||
{{#select data.traits.size}}
|
||||
{{#each config.actorSizes as |label size|}}
|
||||
<option value="{{size}}">{{label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</label>
|
||||
<label class="{{#unless data.traits.senses}}inactive{{/unless}}">
|
||||
{{#unless isVehicle}}
|
||||
{{localize "SW5E.Senses"}}
|
||||
<input type="text" name="data.traits.senses" value="{{data.traits.senses}}"
|
||||
placeholder="{{ localize 'SW5E.None' }}" />
|
||||
{{/unless}}
|
||||
</label>
|
||||
<div class="languages">
|
||||
<label data-options="share-languages" class="languages">{{localize "SW5E.Languages"}}</label>
|
||||
<a class="trait-selector" data-options="languages" data-target="data.traits.languages">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.languages.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<label>{{localize "SW5E.DamImm"}}</label>
|
||||
<a class="trait-selector" data-options="damageResistanceTypes" data-target="data.traits.di">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.di.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<label>{{localize "SW5E.DamRes"}}</label>
|
||||
<a class="trait-selector" data-options="damageResistanceTypes" data-target="data.traits.dr">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.dr.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<label>{{localize "SW5E.DamVuln"}}</label>
|
||||
<a class="trait-selector" data-options="damageResistanceTypes" data-target="data.traits.dv">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.dv.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>{{localize "SW5E.ConImm"}}</label>
|
||||
<a class="trait-selector" data-options="conditionTypes" data-target="data.traits.ci">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.ci.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>{{#if isCharacter}}
|
||||
<div>
|
||||
<label>{{localize "SW5E.TraitWeaponProf"}}</label>
|
||||
<a class="trait-selector" data-options="weaponProficiencies" data-target="data.traits.weaponProf">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.weaponProf.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<label>{{localize "SW5E.TraitArmorProf"}}</label>
|
||||
<a class="trait-selector" data-options="armorProficiencies" data-target="data.traits.armorProf">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.armorProf.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label>{{localize "SW5E.TraitToolProf"}}</label>
|
||||
<a class="trait-selector" data-options="toolProficiencies" data-target="data.traits.toolProf">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
<ul class="traits-list">
|
||||
{{#each data.traits.toolProf.selected as |v k|}}
|
||||
<li>{{v}}</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#unless isVehicle}}
|
||||
<div>
|
||||
<label>{{localize "SW5E.SpecialTraits"}}</label>
|
||||
<a class="configure-flags"><i class="fas fa-cog"></i></a>
|
||||
</div>
|
||||
{{/unless}}
|
||||
<ul class="passives"></ul>
|
||||
</section>
|
67
templates/actors/newActor/template.hbs
Normal file
67
templates/actors/newActor/template.hbs
Normal file
|
@ -0,0 +1,67 @@
|
|||
{{#if favItems}}
|
||||
<ol class="group-list ">
|
||||
<li>
|
||||
<div class="group-list-title group-grid-fav-items">
|
||||
<h3 class="item-name">Items</h3>
|
||||
<div class="item-detail item-uses">Charges</div>
|
||||
<div class="item-detail item-quantity">Qty</div>
|
||||
<div class="item-detail item-comps"></div>
|
||||
<div class="item-detail item-controls"></div>
|
||||
</div>
|
||||
|
||||
<ol class="item-list">
|
||||
{{#each favItems as |item id|}}
|
||||
{{> "systems/sw5e/templates/actors/newActor/item.hbs" item=item}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{#if favFeats}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-fav-items">
|
||||
<h3 class="item-name">Features & Feats</h3>
|
||||
<div class="item-detail item-uses">Uses</div>
|
||||
<div class="item-detail item-quantity"></div>
|
||||
<div class="item-detail item-comps"></div>
|
||||
<div class="item-detail item-controls"></div>
|
||||
</div>
|
||||
|
||||
<ol class="item-list">
|
||||
{{#each favFeats as |feat lvl|}}
|
||||
{{> "systems/sw5e/templates/actors/newActor/item.hbs" item=feat}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if favPowers}}
|
||||
{{#each favPowers as |section lvl|}}
|
||||
{{#if section.powers}}
|
||||
{{#if lvl}}
|
||||
<li>
|
||||
<div class="group-list-title group-grid-fav-items">
|
||||
<h3 class="item-name">
|
||||
{{#if section.isCantrip}}At-Will Powers{{else}}Level {{lvl}} Powers{{/if}}
|
||||
</h3>
|
||||
|
||||
<div class="item-detail item-uses">
|
||||
{{#if section.isCantrip}}
|
||||
{{else}}
|
||||
{{section.value}}
|
||||
/
|
||||
{{section.max}}
|
||||
{{/if}}
|
||||
</div>
|
||||
<div class="item-detail item-quantity"></div>
|
||||
<div class="item-detail item-comps"></div>
|
||||
<div class="item-detail item-controls"></div>
|
||||
</div>
|
||||
<ol class="item-list">
|
||||
{{#each section.powers as |power id|}}
|
||||
{{> "systems/sw5e/templates/actors/newActor/item.hbs" item=power}}
|
||||
{{/each}}
|
||||
</ol>
|
||||
</li>
|
||||
{{/if}}{{/if}}
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
</ol>
|
||||
{{/if}}
|
|
@ -210,28 +210,28 @@
|
|||
</div>
|
||||
|
||||
{{!-- Traits --}}
|
||||
{{> "systems/sw5e/templates/actors/parts/actor-traits.html"}}
|
||||
{{> "systems/sw5e/templates/actors/oldActor/parts/actor-traits.html"}}
|
||||
</section>
|
||||
</div>
|
||||
|
||||
{{!-- Inventory Tab --}}
|
||||
<div class="tab inventory flexcol" data-group="primary" data-tab="inventory">
|
||||
{{> "systems/sw5e/templates/actors/parts/actor-inventory.html" sections=inventory}}
|
||||
{{> "systems/sw5e/templates/actors/oldActor/parts/actor-inventory.html" sections=inventory}}
|
||||
</div>
|
||||
|
||||
{{!-- Features Tab --}}
|
||||
<div class="tab features flexcol" data-group="primary" data-tab="features">
|
||||
{{> "systems/sw5e/templates/actors/parts/actor-features.html" sections=features}}
|
||||
{{> "systems/sw5e/templates/actors/oldActor/parts/actor-features.html" sections=features}}
|
||||
</div>
|
||||
|
||||
{{!-- Powerbook Tab --}}
|
||||
<div class="tab powerbook flexcol" data-group="primary" data-tab="powerbook">
|
||||
{{> "systems/sw5e/templates/actors/parts/actor-powerbook.html"}}
|
||||
{{> "systems/sw5e/templates/actors/oldActor/parts/actor-powerbook.html"}}
|
||||
</div>
|
||||
|
||||
{{!-- Effects Tab --}}
|
||||
<div class="tab effects flexcol" data-group="primary" data-tab="effects">
|
||||
{{> "systems/sw5e/templates/actors/parts/actor-effects.html"}}
|
||||
{{> "systems/sw5e/templates/actors/oldActor/parts/actor-effects.html"}}
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
11
templates/app-window.html
Normal file
11
templates/app-window.html
Normal file
|
@ -0,0 +1,11 @@
|
|||
<div id="{{id}}" class="app window-app {{classes}} this-is-my-custom-window" data-appid="{{appId}}">
|
||||
<header class="window-header flexrow">
|
||||
<h4 class="window-title">{{title}}</h4>
|
||||
{{#each headerButtons}}
|
||||
<a class="header-button {{this.class}}"><i class="{{this.icon}}"></i></a>
|
||||
{{/each}}
|
||||
</header>
|
||||
|
||||
<section class="window-content">
|
||||
</section>
|
||||
</div>
|
26
ui/pause-inner.svg
Normal file
26
ui/pause-inner.svg
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M64,102C53.514,102 44.014,97.743 37.135,90.865L49.861,78.139C53.481,81.76 58.481,84 64,84L64,102Z" style="fill:rgb(126,214,247);fill-opacity:0.75;"/>
|
||||
<path d="M78.139,78.139C81.76,74.519 84,69.519 84,64C84,62.408 83.814,60.86 83.461,59.374L100.976,55.211C101.646,58.034 102,60.976 102,64C102,74.486 97.743,83.986 90.865,90.865L78.139,78.139Z" style="fill:rgb(126,214,247);fill-opacity:0.75;"/>
|
||||
<path d="M52.286,27.843L57.835,44.97C49.809,47.572 44,55.113 44,64L26,64C26,47.115 37.037,32.787 52.286,27.843Z" style="fill:rgb(126,214,247);fill-opacity:0.75;"/>
|
||||
<path d="M79.058,50.844C76.56,47.986 73.26,45.845 69.512,44.77L74.472,27.464C81.595,29.505 87.864,33.574 92.611,39.003L79.058,50.844Z" style="fill:rgb(126,214,247);fill-opacity:0.75;"/>
|
||||
<use xlink:href="#_Image1" x="32.244" y="73.42" width="37.868px" height="34.865px" transform="matrix(0.996533,0,0,0.996129,0,0)"/>
|
||||
<path d="M64,102C53.514,102 44.014,97.743 37.135,90.865L49.861,78.139C53.481,81.76 58.481,84 64,84L64,102ZM49.877,79.537L38.559,90.855C44.967,96.929 53.544,100.736 63,100.987L63,84.976C57.958,84.74 53.378,82.721 49.877,79.537Z" style="fill:rgb(178,231,250);"/>
|
||||
<use xlink:href="#_Image2" x="73.42" y="49.568" width="34.865px" height="46.661px" transform="matrix(0.996129,0,0,0.992795,0,0)"/>
|
||||
<path d="M78.139,78.139C81.76,74.519 84,69.519 84,64C84,62.408 83.814,60.86 83.461,59.374L100.976,55.211C101.646,58.034 102,60.976 102,64C102,74.486 97.743,83.986 90.865,90.865L78.139,78.139ZM100.221,56.418L84.641,60.121C84.877,61.379 85,62.675 85,64C85,69.436 82.93,74.392 79.537,78.123L90.855,89.441C97.142,82.808 101,73.851 101,64C101,61.402 100.732,58.866 100.221,56.418Z" style="fill:rgb(178,231,250);"/>
|
||||
<use xlink:href="#_Image3" x="20.075" y="23.225" width="43.835px" height="47.174px" transform="matrix(0.996246,0,0,0.9828,0,0)"/>
|
||||
<path d="M52.286,27.843L57.835,44.97C49.809,47.572 44,55.113 44,64L26,64C26,47.115 37.037,32.787 52.286,27.843ZM51.647,29.116C37.59,34.101 27.43,47.345 27.014,63L43.024,63C43.425,54.455 48.944,47.238 56.583,44.35L51.647,29.116Z" style="fill:rgb(178,231,250);"/>
|
||||
<use xlink:href="#_Image4" x="65.141" y="21.84" width="34.125px" height="34.397px" transform="matrix(0.974991,0,0,0.982775,0,0)"/>
|
||||
</g>
|
||||
<path d="M79.058,50.844C76.56,47.986 73.26,45.845 69.512,44.77L74.472,27.464C81.595,29.505 87.864,33.574 92.611,39.003L79.058,50.844ZM75.154,28.714L70.742,44.108C73.961,45.2 76.83,47.051 79.135,49.449L91.19,38.917C86.874,34.242 81.368,30.679 75.154,28.714Z" style="fill:rgb(178,231,250);"/>
|
||||
</g>
|
||||
<defs>
|
||||
<image id="_Image1" width="38px" height="35px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAjCAYAAAD48HgdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADY0lEQVRYha2Y3XLaMBCFP4MhodO+SB4yF3nIPEfbSQoB//SCPfh4kQ1mopkdWViWP61WR2sqHiiv7/vKmlW63QO8vez6R8aeGvReqApYRV0Ca3X9KOAiMINah62i1jiC6qJuH4W7GyxB1cAm6m0Ca4Bj1E1AdksB7wJLUJuAeY56y9lzK4P5CjtFW17sbAKzcXgTrAD1FFCyJ86eIwBOwMHgmvjN4fowXZNBZ8FmoHbAj7jexH2ByWNHs8asZYhFXV82jOAmwW5APQeY4iwHv7ykpcwxpz4tE7GoJVgK9WxApWVZmSfbuPbdKphTwatt0WN3QD3F7yubpceNnvWxBax+ikUt+SFMgGOP3QlVM5YFLZd7qw6T3mlcf18TbU3Qd2976bgAihjgyFgWHGzLWOvWXIN6KGg8Lef5RQuhtOvc/UcDW0dbUDXD8pOgNjGeb6IKoC4ousRTkqDZC0o6tY9aSynxlNjWZqcYp019dKT5cgNUtXXMqu46BcP2P5hJQF3Vdbh30X/NOA4dXMUTgxV2s7LOruzbGFiB6Uuol3ngY15pGY4p7Ua9Q7t6srg4+kOybdzLYuiiWDycX9/3DqnxXXSVnXT5WXWGa1f6uucyOt8C4qrf28uulzEcP26ufVcTE5gLoItgn/pqg0h/LvlYCS6VfsKKpbabmoWEU7rj3pSUuGZdDubX9/3ivGsOTLPpDOjA4E3tyjXnmPNjJ+dcLdAJEB7P/QXmh+sXQ2x1DOLqwqgYrBkfS6NjhbMXYfC622ypYKT8rtRZNhRXAvYMQVlCTm0Upxpb+vgrxq+izx74A/wjTpMLeQFOabMAJR8XEbSXO2TJc9iEd8BPBi1rAuh3ESzB+QeHA+rM05I6oDIOBxUc0Vdj/GDYeKebYAU4B9xwDZcBXWo8VxOYh4nE9Qv4vAmW4FyrBCOwLeO0pnTEePKoMNFz8vAB+OAcY5/Rbm7l/DA+R1VrcAFm0c07zyeoiUieBPaXIWOZBpsA9OXNtrF7/oW+SqbftYyH8NQHlhw88iUuj2j5PEOtU7sEpOc9tztwji9JTvtdf6rk/zI87kpgMBb0k9Ut0C8GS4Bw7cW5On85ldKp/u1l9zhYATBDlq5zKX2V8y1gM6CegHrbS/7evP0XwXeVO/K0YgbyH62T3lPkEP8yAAAAAElFTkSuQmCC"/>
|
||||
<image id="_Image2" width="35px" height="47px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAvCAYAAABpG3MiAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEG0lEQVRYhbVYW5KbMBBsHn5t5SQ+5H74kHuSxHgNmHx4GlrDCIOzUdUUGItRqzVPCvzn8fnVFP7Z5XwaormziT+4MO9LN+1h18ED+ycwweKl3PM377lob/e8joDqH1iczyoHopRnHAOAzoAUeLLUq8K1AHTnXIyLV3KtBEglcx8mdwCtyd3ADZfzaVhkxoDoTv2Oc4vXJpVdeUwdgG8AN1uil+d5ZgQIF6lFSnkWgdH/CAbGxg3AFcBvAI2B6wDEzDggNYAdgL1JbVcFoEflbYYbgADrMR1VB7OdpWOish2Ao8nBhEpz7qtDNwbTd8CToURPDgx3RxaOAD7suhPFDzzPfHD31MGYogavdkVm2xCMeA8VcCdkZ2f/d3btIVRjMkouvLPfPNoBqRO8ZEZ3QZuhVLLoHZOrMn50Aqa2jai+h6yTxK0lm1FPosCUdQbiiufZKxjGE25kkHuvnxsvEUzIgeKLDOOMFY0DQyBchEA6Exo67SsZW9KB2kRrgCh3TLZCMDRUAiFrmqeSkXNJn3foJbSJDlOcaOVZfzmfvIdBdETeN7K5hRnuhjbTizxyNcqWsSZY+azLHY0lAGLao1SjTAxI41IIRkH4MsADSZQFQzO7BzU7xgSMC3iVu3IoEFUWjSIQgpltKGLGZ95S5hEAbWaJGZ80FQivybseDBXUmJcMQGq0oysHxhvVQLrWw0nKjB2RFkYsG2gzfJFunJSMgZ4lZrwR43I+PW1G6hcC2SPNRVTSIQ1iuWPy9VDESsKuMqOpnUWU1i0KpBVFkQEXTp/3SOqaOUEptFbCyMExw52wgB6Vqb0E3qi1MHNVjzkzic2ovRyQVnS6G7WXnBcpIwTi7SXZ0MgM5udLRlSRGt1YJmS8SHVRNGhmU0mZUaSF9qsOQu/1eFi8kyllRNldTAdak3COMqjuqkCi0KCe5EOD5jYAadZW6+ZxqEFq7BkD1udXo6D1qDVgegcIsz3LwkEm3/EsmLxx08tIsTIZAV6KUTPjVWZ6TOXhDakHsKonI95o2SVEzV4lc7S/Dr2xNJrIDCc3mOpbvkxAR5G9k4MDw42ygG8hHum9UW2GeaZwV2CKOQyMwGQjrfzW3ko96Bvuq0PEjHdNbby0cTshDYJRr1xhity0RR77HxN2EqyVkzG6Z3BcbEfYkvBrAWwxgvwA8MuErDDL0xn4bujSM2Y2MqSe4nXpd5irifZXfa54nwW9NxgiWNY+wGSw7KmY6RfL1LA7eAGIHsYFdAxuPsGM4X+ppcm2KguAGkw9NncfAVbQtJXFsfYDY86G9HvNYItrD06gPV6wsgpMBpAGOR9TIg96CWQ1mACQZmZNHT7/rAayCUwASCu6qABbdTRvgxFAfDf6HD/241s/BmwGE4BSPePi73yV+AsqlEkc6b6L9QAAAABJRU5ErkJggg=="/>
|
||||
<image id="_Image3" width="44px" height="48px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAwCAYAAABqkJjhAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEx0lEQVRogb2aWXLbMBBEm1psOUfJIf2RQ/ok8SJalPIhNPE4HC6SkqAKRdFFAq1GT88AcqP/1F7fPhvcNskjF0n69fPlMjdO9uJfbQDaSNqUqz9L0llXsBd/ngP9zwAnQDeStqUbtArQroDtSp8E/U8AF7AR6A59qyHDraSTpO9ynQS9+49A95KeytWgzwXgXtJXGcby6LI5/hpggPWyG+hT6PvSzXAbwFoaTbkftIclAa16mbeqbGadsrjoyvCXpHdJvyV9lvuTpC7K4iGGgwS49M8zQP3stgzT6Mqo3/tWdZNRuxtwIgECfS6dem10XW5fBWDb8l6L509KZHGXJAJYsnrQkN0dJrXfel4y3kk6SvrQVRbvukpjJIubGU7AGuABgPeqS96Vid1VQDr4nvA3uksqi5sAT4A9lEl/qLLqgOp01WSr6rVnVQkdytBbXM16KgtbyyNgDwWsgcfo/yj9XXWp7QRt+UL2XNphn1xYh6xieAHsS7m3Xs3qUdVjzbCB7XDd455zUCJ9ErlFEtFjqdkI9qt0g6Yc6NtMxXaSLIX3AbsoicJu5gbuBNuqLrn7MQBjdyCeS6fNpbKYBZwkBgKmbRnsV+jfqhp1McP0a9CdamBRx5SFpGVJxMSwRgYfqjIwsFiYn9ENnPNlsuhmARd2qVtnL1pXBMsAOyupBUI7h3tXcATMwv+SAk6k4MxlwLSuo8ZBtgTWADbh3kFnr2bBr9e3z2ZOEtEVWBtIw6RwVA2uFGyyA4la9WfOzZ3JRlI3CrqJQGPh7eLFXssE4ADKxlQAGVfNY8+2KYbJAAuZKIUWV+/LBgE2A5bWyII+2t10PTzBrpmNUqAM0n3YjC269qDjSHVfF+uPnoyM4ciuATvjcFCDndueZx7udP6kyqxZParWGr2HS9eVi4CzgCC7BmxmeylMBJk9lPXHiyqzBOvxYuI5qW5MK8Pw3UwOZtdy8OD+WwbW3TGQgWUJygA+JnNoADgwHDONVIPNupo7P5jbjTjAoo+zsrMUnA37QN6FSeIy0mocvdTtlIXRw53SGQ+slzMJ9CdABNsDhvVE/bK8I9gldrlSMaVHZlnMD4hYOvmhfrnTlerSDMDGwQK72e5ZGtYfBntcIGEAkszwMIRbc4PlUo2cAePwjIIZMrJrL18FloAZ1QbLL+Nl4pJNgWUMMENKNWjpBqvBEnA8DmXhbOtxH6VLaSCHWNPG7T6LpZvAStImVFHUIM9veRAyBXaqCmMcON2uyZBp4241HpNSJkqe0+vb5+DLa6jbPcahJQ7qg1vAErAnjKcvrs7oHs7/9GB/Ce5MsqRDl0mltRZwLJR5XBRPJf1etr1hsf+M59Jd8q3sErAbtyqM+Gdd2bBlRZfIUjGLfTKcZsh7AZM1g2BQ7jSxqwBgM03fzVzmZnYJ+IJOjflwY4NnvbONDEftnzFOPDC5uxEwddaqBgyfIbjYaIMey2UjD1Tu1i/BeCKnTZq9/VSaXs4mXKVqY07Bo2L8EcBMva1qheYjfCaANZN56Z0kmNXuDjgZBDJV3BbFqm1t46+bLPrXnAbNtkwSTsMngF198F2apcPgfTjgJDA38yO2dB9gaVyHLP5av9RGSx3+TSB95obWg3sUqNsfhCuohUYYBdsAAAAASUVORK5CYII="/>
|
||||
<image id="_Image4" width="35px" height="35px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAjCAYAAAAe2bNZAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADTUlEQVRYha2YW3KbQBBFLyAiKc5Kskh9ZJFaSWJZMqB8qA9cmkEPJ1RNGcMMc7j9RJVeOA7HU8X5r5/76ytrnzmqezd98ztzr9L/gVuFMZBKUhN/a5syBMjVzv8JqghjIE0ANHYOEAB9nPcO9hWozQPQOuZ8k9TGeRP3+xidjRHqcDy9DLUGg2maANnFaG0NIJ8xLgWo/nA8SXrOfAszhYkqTWrsJb0FzDZgqgRzXoEC7CmV1pTBP9oA2AbUVktlmrgGSGtwTfx9SqW6cA1l2KTVTaXsNwyAd5K+66biW8DvCuuqlDLKMDaJCNrYYC4R1GkK7UqTo+80mXYfgNu4x3OKQCVlahsZZNDNBB8x3jWZZLA1rtTeVGpjFBVaMxOqYIoqNrsExJ8Y75JOcQ3HVawBCHVyRC6AMoxnW4CY3IcCHwHwHkC/DewcUEOsQSWAXKEF0BhNcaHWPMcwyKydJjOd06aEMtGHOcZNNc/gHPjgIrQdZHQ2W/SpeT6hBNS6OagnPPISUASFP28sJ4fjaQZT2djYYo5S+u9s7WBz+rieo9JLyaKMbKSZiVhc2+JaUxYtZtaAIZHxd2Pz+L+O+2Ru9ugg98PDOUvqb51TPD7l9ztNZkS9bK5Zv+RmyqqUgLyHWTuqNHi2KzfY+XgAkyPJM680+cDisMLqjk825oUGlU2NipJ0zdGUQxozAloa3KOOkew8/ROJnabsTZIcu8RNyi95E7zflSKEr3af0Pbeh3qEsjgtGfuc1cnKlHyBpNfGJixu4hwfK6lClHmyZKBUrwgEh5kloZjIA2m2kNT7FExE6vcG7B7IxZ4nxQIdjievtntJPzTVklZTrvE203NIyemvsSHFFdOcNc/UY7OVlfFiiB9d7U099D1E3edk0K4IYETSog31t0BSr0eogfRAoZYfhO7FXsgVWfhIWj9ThlxyMUA3yzdNhY+QxXz+Mm4Wj5q7IDIFPHl5jWJjHJNIQSkvfPQydICXpMjDL4RZ21f4pMVHyCEAeWuAedw/APOi+vBT5dHnbS4P/umSe2Mc9G7EvAyToNx0XnNyS5r7nJdAHsIYEHPddKUWw9uIlz/+H8IkqFzH/Jj9PPKVXyGehjGgtbXj5l/9jeYvSubCs9xup7oAAAAASUVORK5CYII="/>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 9 KiB |
19
ui/pause-outer.svg
Normal file
19
ui/pause-outer.svg
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g>
|
||||
<g>
|
||||
<circle cx="64" cy="64" r="54" style="fill:none;"/>
|
||||
<path d="M64,106C83.2,106 99.409,93.088 104.408,75.483L115.954,78.764C109.526,101.399 88.686,118 64,118L64,106Z" style="fill:rgb(13,153,204);fill-opacity:0.9;"/>
|
||||
<path d="M99.631,41.766C92.207,29.9 79.019,22 64,22C45.975,22 30.587,33.379 24.634,49.338L13.387,45.149C21.04,24.631 40.825,10 64,10C83.31,10 100.266,20.157 109.811,35.414L99.631,41.766Z" style="fill:rgb(13,153,204);fill-opacity:0.9;"/>
|
||||
<use xlink:href="#_Image1" x="56.038" y="69.04" width="66.954px" height="57.525px" transform="matrix(0.999316,0,0,0.991816,0,0)"/>
|
||||
<path d="M64,106C83.2,106 99.409,93.088 104.408,75.483L115.954,78.764C109.526,101.399 88.686,118 64,118L64,106ZM105.085,76.715C99.754,93.944 83.87,106.557 65,106.988L65,116.99C88.441,116.556 108.182,100.872 114.709,79.45L105.085,76.715Z" style="fill:rgb(126,214,247);"/>
|
||||
<use xlink:href="#_Image2" x="6.415" y="2.024" width="110.434px" height="54.35px" transform="matrix(0.994904,0,0,0.988182,0,0)"/>
|
||||
</g>
|
||||
<path d="M99.631,41.766C92.207,29.9 79.019,22 64,22C45.975,22 30.587,33.379 24.634,49.338L13.387,45.149C21.04,24.631 40.825,10 64,10C83.31,10 100.266,20.157 109.811,35.414L99.631,41.766ZM108.424,35.101C98.965,20.596 82.594,11 64,11C41.606,11 22.438,24.918 14.682,44.565L24.058,48.056C30.394,32.209 45.898,21 64,21C79.019,21 92.25,28.716 99.939,40.395L108.424,35.101Z" style="fill:rgb(126,214,247);"/>
|
||||
</g>
|
||||
<defs>
|
||||
<image id="_Image1" width="67px" height="58px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAA6CAYAAADr5+R6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAF/klEQVRogdWba07jShSECzLRIHTZDXtiTbOn2Q0SIkKJ7g9cdnW5TtuM8nCOFNkEO3F/rvPqdh5wh/by5+/j2mPf315Pa499+LfLuY0ZhN2wrcAQwlHf7MG5GxgCYodvANzyPTUCOA37MzAJyl3ACCD2w/4eExg1Aqi2PKaBstr3NmAKYg/geXi9APjPXi/y/2cATwB+y7kjQHW9zStjuFgFwYH5ANVOAL46r+OwpVrw/vZ6+nXhsZzT6BYEwruud5uWYHwCOMg+hn1gALJpZZgqqAS6BmFQHRo3eOd59wmC249hX2HhXpSxR6sKQlEYwDcQBsk9JoXo+RiO4XF8HTcLw1Th6uC2ihl0qeOw/cLkRoQwKoK2WRhinkU0cO4wuYfXDY+YAHg8Ocj5PG6byggZxCFojFDJ0xSCwjqirVOa0mKTMMQciIJ4RAtCJe/HAhMYL9BG2xyMBVU8YUqjVILWDie0kNzSe6NtCoZUgw5C77QHQk2RtKdhq8drkeWwTsDGYAy2kxcBqCo0BhACiylgcoe9vLfDvBDTtApgQzDMPR4xpU53D7rIEW0xxUFpLaED7pXmADYCI7jHk2w9lQJthakukoKjBlgtydVVju9vr6ebd63Wnnv/4YUVVVFJHpjU4ynVy28/77YtvIHQIMlym8rwwKlxgndXg67XEMk9NJiOH3ATK0B4z6HKAGpFpHScXOqANlacgGmC5yYwOiCoBFVFyh6UvKbHKv1Wqmj6EuAGAVRA6NQdQaSZqZ57UBVecVbp99POPeq039VgFBO6CcSzvKcFkw6GdxeYxxtv0909Zt0q7SowigldL7N7IJLMYZ+lsQWYVKGzW03w9Bnyi8LoqEEndTVzuGvogFgjpOzB2OJBM4Eo+5OLwDAIQO48FQD3EwivFjV7qCJUFRpotdAaZ7XSusnZYHRWuzRQaozwrYPg3dRYoXGiKtN9AtjT6WWU0QFQuQXvosPQIkmVkEC4wgibRRTP47mzoFstMa6C0Vno9fXOtOLlMHzGKsm7yhzpc/id7hofaFUxrpFUFmGEwWsD5GpYAqEDr+YmeKFV5Id8trfz6h4HtKqYuUdv4XkGowh+SQH6P3WJFCwVgi8ap8qSWaNShDduev7H8Jql4qXHExoYMqeQBpq2BKODTD5dQVjsG1aCUAgpg8TsUcIo1ik0QPmA0laVkc5RCEkR7hZepVaKONhrVfaIMEJWSP6uPrq03ctnJQipTFY18LM0+zgIfsYH5qqIXekqGAWEtNqtg+ZF+6A1qFUQeh1kmgz+bZ/LcyvX+JF7JBgsXHgRXiqr5JdM0xgv3heDKzUkVS6BYBrVmuRHIADglwXNaqLFK8Q0YNjfGhf0eQiHQBAp+6jr+TymwpiB+AmEEYbs+8y0zy/4NJoPGpi7Q9p3CEsZyHsUqqAL4qeqcBg9mfqF+QUuPUNVQfD4oJnIAyUHrS5xNhAKQ6fq0yKOzjbx4rSldnkmF0p1SeoxeGxqupIazgICmLuJuooHS5+iT03UbMkOrQqW6hdaataqJ27OAgKoGzVfrdbBptToWYHbtQUZLRVjDsHnQM8CAsgwqqYsPlxqx6ZSvlfBqnlp7s9hxRh1Dgi0BMMHqgWV3uWvYXvCVHGurUr9+6gwfyLPY8NZ3cJtaT4j1QK8GM47El6qQisVAO0ddhfoqgE4PwightEsymIakKoAw74qKbX9/rlVWZ7mMrxcvxgIoIURHwfEXB0q+eZuoQYA5LLcmzXNTldRgxphaFPlF+qNl5vPiqWS3LOEvz7t/w754iCAVhn8ci2qqASgVQO3vUIrleTplfqX8XuuAYH2AAAvf/4y7fnTt96b6CJNVW77nfVB+8C5D1zRJZJRGbyjX/geNN0D+L5APkSqEzU8L3WovWYt9TLjNdwCAs2zid4lYLqT2jzR1jRmaxq3m0OgeTYBMgyfxwTm6tD9atCzCnYLEGjjTyw6vwHrFU5pcidN9OjfmwKg1vzeZOWaCU0HlLrVpqzfKgC12Y9vFlbTKps1bvcweLfuL5HW/pj2Hgee7H/dWfy50HnMbwAAAABJRU5ErkJggg=="/>
|
||||
<image id="_Image2" width="111px" height="55px" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAAA3CAYAAAACGBT6AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAIZUlEQVR4nO2ca27iShSEKzAoUaTsJnvKmrKnbGaUKJoIge6PS0G5XKdtgwnkcSQLY3Cnu78+zza5wTeQh+eXxRztvD49budo57Pk5tIdmCoFqGW4Ngaow9r4F64Z6NXDC7AIajFwzT9TcUjbcD1duyqYVwnPgDmYpZ37Z/p+SBTEBn1gWzvXzy4O8mrgNYA5rIW9IpxrG5UkKH6ur7Br2sZFQF4cnkBLwKa+ws61XUplGh3WlNd9u58J8SLwgpb5xK/C+QpdUKviXp5TkglN5pHvFco6nK/lO2tcEOKnwzNNS9qzQhfYCjXQsdrWkrEA1/JerzlMyPuzQvw0eAPQHJIfSfOq4GQKOMoYU+rA9EhQgTNDPDu8wqe5ZrUO/T7v1/Yq2ey+42nBVK1UmA6qdej3ef+sEM8Kr9C2BOg2XFNtYxtJktb4dRdva6zJHdLCj3BN/easAM8Cr2EiCeYOXWh36Gqam0aVMTnY2MmpIt30mffBTeo/dAHyvfvF2SDODi+AUy1SWLfoQ1PzqNLKt2LehWGAQxFvK5dMfSMkhehAZ9XCWeHtwCVtU00jOL2eJmZKrkVJE5HMZ2U2W7lmFeEmn+gAFaT6zZMAzgJvwLcpMAWnvs0nocqj9gNGH9xckjRNF1gy7Qmim9B3NLTwGIAnwyvMpPq2Cp6u4qG8akjLjk0XEvwt+iaVf0Ph+eJziOrvVPv09SQzehK8BjiFdY+umfSBVhGcaxpwmJihwrV/J0mrypK+1yooVBA5tgqem9JJAI+GZ+A87Ce8e3T9nWtbFXJ7IAL0fY2eV0FFBbC1m1AFQb5wkhY6SB2na+A7TgR4FLwBcASmGue+rVWpSNDGFKb5XWCc2TylQO19U4gehPmYVfPe0dfC0QAnw2uAIyzC01QgrcIqkaVUkd5QXZPXxkgykR4QVb63guiFB+2fRqOE5wBHR6KT4BXg3EwqvDHapiUkn4jWrgL7cQ5J+WRVjPa+e8CmeSykLdc+mlFf0CXA0fBGatwQuNQ5DwhSNHdKmawlp5bFXCN9HF760zlhGwrP/WDThP4ZOUgd4AKHySUwN5epk14y0s4MOf4pZbKxJTI3u2u0zbGOaSXjWKA7Jh4bOe7C317tzu/RN/sU7k7EfHaU5lnlRFOBezs46UCOslqrNK3QlAtq24M72+hDHFNNcTOt97kpbflu3l/VcNmWm08eHRPt2jcIL4BTjWuZylSsXUvTHIAOKPm15Hd04sYAdBlTBnOfW/VLzWfLsmh80AKohxe3O+azCU/8HAegibceFTgtD1WDaeVHrT20VD5LlRi2BfTNIK8NJd9jFlfy6b5YpwB8Ra7G7AGWPs8CFHfANJk8r8Cp49WJ8gF4NFZV6j1CTaWzIa2jpNwwpSUpclSt9HlifympLquibXB+tf8e0e7bGApYdBCudXzf0jgH5+WzVjWiMrtJ63hvZ3B2XYVBBsfIa5z8ZELX6EPUOYJcY1ucC/aDOZ73hcettLWRezjOBQA8PL/g9elxG+GJ1vnqo39Lau+aoabSqw9qLjkwr8b7IkhBQQpKxuw0tArcCjPBW8s4NmhrI8WjUUapHiBR7qVvGrXyfgBtzXNzSW3h4fbazWUC5z6OHfSotALXDEqO3BfbymL1SHGLg5ayz+zLHQ5pAO/RVEqFC0KtBTU8LYIl+grBv70AsHl4fln0AhaLLj0leEA/QNFk06NKB1eVy1pbJikEPxVYKY0ntz14SVtdaXy+MeuLOkXsnJM3/B+4/N2da/qw6Whew1zeIfspTr5PtLYxNLBUqGWb6tuAI/a8poq2/fD8oh+p1qgZSxEux0kF0CKDLkLfAVFf69rYM8fJbC7RNZlqLof8HAeg8BM49W2ptscVevRG5RzCv7eDyL5w7BpIuP9lwUKrUcBBqzbyvqomLeW6XtvLHp5pnU++BhvsoG9xqIYs7Z4WOIXnqcBFoLkUECsNZF+5aD2SpFYBXUCpRNYMvpJjTXadEPhHfIdAO53SAQfnlQRq3QeuDJyK9EVzt1QZ0QLzFt3F7MUNdUXadsoPOzD/AKXWpUqAmgxPnmH3VlElB5ZqeL0qwrWJaeEY8WI+5NXrrBxzekzCS269clHaUNTVQUlJsgc5upp0lbq5/DLgVHZ9dAukjzhwfO5S3B1xXtmWLm4N5tRMA+jCc193h77JXKJr2xWc54Qe2HjF3NOBLwOOYmbUAfoeHceYKkCaJ7OuWe0ubLHbYXC1Ve1Lvx9Iwns039FE1QMbHl8aHKUBUME5RD/cIjG/0+J0rza6GHju0tODVD7S77kp0MqJByVfHhzFAFYQk9XRa6/oQntD37V08kk3m16Q9VzDNVEDm7QZu8UBmGpdx4R8ZXAUGQPH5q5CobzhUDXR6w6tGYEzz9NoUzVLD15XQJp8uvPVAXhH9hHqdwBHeX16ZJ2Ufl6FscIHcl1YK1X+DEtMnaY+w6IJpyebBKyJawVt6x35LrIDyLcKkJC8vFg9UjFYXfIk3SsFydYmc5mScc1VPGQ+6ocVX0UkjUgpkppHjyonPT1NzdPQX4MMzdX0XK9B2lgjryIv6v4U0XrnBvlpuFQbHRULuNnUiadt1s9Uu/xxPIJJv0379ubSpajE6P6gXwcmbnURHrfY2bBu1XMlpN1zf+5EzUPK5b61uUwiQUysT/p3p7R9AzSfy/S9uPRsJcXzGtrzDsCfBu+comZTbe4/9B3uLQ5+0GuXQDdI6UHDL7jZZQGUJR7funmz4284NILykPdXZpa92Sv2qqoqQQLHz1I1/SdFmJ8m1QNIlPTDi2rn16sBV7up+l2kfNx94P9f8pyfpQdff8GdWab8SojiTzypHJWv/MpxcsrPmpvyC+388h8vGGxXIaDqewAAAABJRU5ErkJggg=="/>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 7.1 KiB |
BIN
ui/pause-spinner.afdesign
Normal file
BIN
ui/pause-spinner.afdesign
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue