forked from GitHub-Mirrors/foundry-sw5e
Merge branch 'Develop'
This commit is contained in:
commit
6f25cabf41
37 changed files with 6020 additions and 5892 deletions
BIN
.DS_Store
vendored
Normal file
BIN
.DS_Store
vendored
Normal file
Binary file not shown.
|
@ -31,6 +31,6 @@ Please reach out on the SW5E Foundry Dev Discord with any questions.
|
||||||
## Compatible Modules and Optimum Settings
|
## Compatible Modules and Optimum Settings
|
||||||
|
|
||||||
- DAE (Dynamic Active Effects) is needed for many automatic features.
|
- DAE (Dynamic Active Effects) is needed for many automatic features.
|
||||||
**Please enable: "Include active effects in special traits display" in "Configure Game Settings> Module Settings> Dynamic Active Effects".**
|
- **Please enable: "Include active effects in special traits display" in "Configure Game Settings> Module Settings> Dynamic Active Effects".**
|
||||||
- Midi QoL is compatible with great features
|
- Midi QoL is compatible with great features
|
||||||
- Token Action Hud has compatibility
|
- Token Action Hud has compatibility
|
||||||
|
|
|
@ -1,146 +1,146 @@
|
||||||
//override Primary Red
|
//override Primary Red
|
||||||
@colorRed: #E81111;
|
@colorRed: #E81111;
|
||||||
@colorDarkBg: #2b2b2b;
|
@colorDarkBg: #2b2b2b;
|
||||||
//Background
|
//Background
|
||||||
@primaryBackground: linear-gradient(90deg,#626262 0,#4d4d4d 30%,#4d4d4d 70%,#626262);
|
@primaryBackground: linear-gradient(90deg,#626262 0,#4d4d4d 30%,#4d4d4d 70%,#626262);
|
||||||
|
|
||||||
//Typography
|
//Typography
|
||||||
@headingColor: @colorRed;
|
@headingColor: @colorRed;
|
||||||
@headerBorderColor: @colorBlue;
|
@headerBorderColor: @colorBlue;
|
||||||
@bodyFontColor: white;
|
@bodyFontColor: white;
|
||||||
@linkColor: @colorRed;
|
@linkColor: @colorRed;
|
||||||
@linkSecondaryColor: @colorPaleGray;
|
@linkSecondaryColor: @colorPaleGray;
|
||||||
|
|
||||||
@blockquoteBackground: @colorPaleRed;
|
@blockquoteBackground: @colorPaleRed;
|
||||||
@blockquoteBorder: @colorRed;
|
@blockquoteBorder: @colorRed;
|
||||||
@blockquoteShadow: 0 0 20px rgba(@colorRed, 0.8);
|
@blockquoteShadow: 0 0 20px rgba(@colorRed, 0.8);
|
||||||
|
|
||||||
//forms
|
//forms
|
||||||
@inputBackgroundColor: @colorDarkGray;
|
@inputBackgroundColor: @colorDarkGray;
|
||||||
@inputBorderNormal: @colorLightGray;
|
@inputBorderNormal: @colorLightGray;
|
||||||
@inputBorderHover: @colorGray;
|
@inputBorderHover: @colorGray;
|
||||||
@inputBorderFocus: @colorRed;
|
@inputBorderFocus: @colorRed;
|
||||||
@inputTextColor: white;
|
@inputTextColor: white;
|
||||||
|
|
||||||
@buttonBackground: @colorRed;
|
@buttonBackground: @colorRed;
|
||||||
@buttonTextColor: white;
|
@buttonTextColor: white;
|
||||||
@buttonHoverBackground: lighten(@colorRed, 5);
|
@buttonHoverBackground: lighten(@colorRed, 5);
|
||||||
@buttonSecondaryBackground: @colorLightGray;
|
@buttonSecondaryBackground: @colorLightGray;
|
||||||
@buttonSecondaryTextColor: white;
|
@buttonSecondaryTextColor: white;
|
||||||
@buttonSecondaryHoverBackground: lighten(@colorLightGray, 5);
|
@buttonSecondaryHoverBackground: lighten(@colorLightGray, 5);
|
||||||
|
|
||||||
//other bits
|
//other bits
|
||||||
@hrColor: @colorBlue;
|
@hrColor: @colorBlue;
|
||||||
@tableTextColor: white;
|
@tableTextColor: white;
|
||||||
@tableHeaderTextColor: @colorPaleGray;
|
@tableHeaderTextColor: @colorPaleGray;
|
||||||
@tableBackground: @colorGray;
|
@tableBackground: @colorGray;
|
||||||
@tableRowHoverBackground: lighten(@colorLightGray, 10);
|
@tableRowHoverBackground: lighten(@colorLightGray, 10);
|
||||||
@tableRowBorderColor: @colorLightGray;
|
@tableRowBorderColor: @colorLightGray;
|
||||||
|
|
||||||
//universalColors
|
//universalColors
|
||||||
@windowHeaderBackground: @colorDarkBg;
|
@windowHeaderBackground: @colorDarkBg;
|
||||||
@windowHeaderLinkColor: @colorRed;
|
@windowHeaderLinkColor: @colorRed;
|
||||||
|
|
||||||
//Sidebar
|
//Sidebar
|
||||||
@sidebarTabBackground: @windowHeaderBackground;
|
@sidebarTabBackground: @windowHeaderBackground;
|
||||||
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
||||||
@sidebarTabLinkUnderline: @colorRed;
|
@sidebarTabLinkUnderline: @colorRed;
|
||||||
|
|
||||||
@chatBackground: @colorDarkGray;
|
@chatBackground: @colorDarkGray;
|
||||||
@chatHeaderColor: @colorRed;
|
@chatHeaderColor: @colorRed;
|
||||||
@chatHeaderBottomBorderColor: @colorBlue;
|
@chatHeaderBottomBorderColor: @colorBlue;
|
||||||
@chatNotificationColor: @colorBlue;
|
@chatNotificationColor: @colorBlue;
|
||||||
@cardButtonBorder: @colorLightGray;
|
@cardButtonBorder: @colorLightGray;
|
||||||
@cardFooterBorder: @colorLightBlue;
|
@cardFooterBorder: @colorLightBlue;
|
||||||
@cardFooterSeparator: @colorPaleGray;
|
@cardFooterSeparator: @colorPaleGray;
|
||||||
|
|
||||||
@diceFormulaBackground: @colorGray;
|
@diceFormulaBackground: @colorGray;
|
||||||
@diceFormualColor: white;
|
@diceFormualColor: white;
|
||||||
@diceTotalBackground: @colorPaleRed;
|
@diceTotalBackground: @colorPaleRed;
|
||||||
@diceTotalBorder: @colorRed;
|
@diceTotalBorder: @colorRed;
|
||||||
@diceTotalShadow: @colorRed;
|
@diceTotalShadow: @colorRed;
|
||||||
@diceSuccessColor: @colorGreen;
|
@diceSuccessColor: @colorGreen;
|
||||||
@diceFailureColor: @colorRed;
|
@diceFailureColor: @colorRed;
|
||||||
@diceCriticalBackground: @colorPaleGreen;
|
@diceCriticalBackground: @colorPaleGreen;
|
||||||
@diceCriticalColor: @colorGreen;
|
@diceCriticalColor: @colorGreen;
|
||||||
@diceFumbleBackground: @colorPaleRed;
|
@diceFumbleBackground: @colorPaleRed;
|
||||||
@diceFumbleColor: @colorRed;
|
@diceFumbleColor: @colorRed;
|
||||||
|
|
||||||
@altRowBackground: @colorGray;
|
@altRowBackground: @colorGray;
|
||||||
|
|
||||||
@combatRoundColor: @colorRed;
|
@combatRoundColor: @colorRed;
|
||||||
@combatRoundBorder: @colorBlue;
|
@combatRoundBorder: @colorBlue;
|
||||||
@combatCombatantControlColor: @colorPaleGray;
|
@combatCombatantControlColor: @colorPaleGray;
|
||||||
@combatCombatantControlColorActive: @colorRed;
|
@combatCombatantControlColorActive: @colorRed;
|
||||||
@combatActiveCombatantColor: @colorBlue;
|
@combatActiveCombatantColor: @colorBlue;
|
||||||
@combatTokenResourceColor: white;
|
@combatTokenResourceColor: white;
|
||||||
@combatTokenResouceBorder: @colorLightGray;
|
@combatTokenResouceBorder: @colorLightGray;
|
||||||
@combatControlsBorder: @colorBlue;
|
@combatControlsBorder: @colorBlue;
|
||||||
|
|
||||||
@folderSearchIconColor: @colorBlue;
|
@folderSearchIconColor: @colorBlue;
|
||||||
@folderSubdirectoryBackground: @colorDarkBg;
|
@folderSubdirectoryBackground: @colorDarkBg;
|
||||||
@folderSubdirectoryBorder: @colorLightGray;
|
@folderSubdirectoryBorder: @colorLightGray;
|
||||||
@directoryListItemBorder: @colorBlue;
|
@directoryListItemBorder: @colorBlue;
|
||||||
@folderHeaderBackground: @colorDarkBg;
|
@folderHeaderBackground: @colorDarkBg;
|
||||||
@folderHeaderColor: white;
|
@folderHeaderColor: white;
|
||||||
@folderIconColor: @colorBlue;
|
@folderIconColor: @colorBlue;
|
||||||
|
|
||||||
@entityBackgroundColor: @colorDarkBg;
|
@entityBackgroundColor: @colorDarkBg;
|
||||||
@entityNameColor: @colorBlack;
|
@entityNameColor: @colorBlack;
|
||||||
|
|
||||||
@sceneBorderColor: @colorBlue;
|
@sceneBorderColor: @colorBlue;
|
||||||
@sceneBackgroundColor: @colorDarkBg;
|
@sceneBackgroundColor: @colorDarkBg;
|
||||||
|
|
||||||
@playlistBackgroundColor: @colorDarkBg;
|
@playlistBackgroundColor: @colorDarkBg;
|
||||||
@playlistHeaderBorder: @colorBlue;
|
@playlistHeaderBorder: @colorBlue;
|
||||||
@playlistSoundColor: @colorBlack;
|
@playlistSoundColor: @colorBlack;
|
||||||
|
|
||||||
@compendiumEntityBackground: @colorDarkBg;
|
@compendiumEntityBackground: @colorDarkBg;
|
||||||
@compendiumStatusIcon: @colorLightGray;
|
@compendiumStatusIcon: @colorLightGray;
|
||||||
|
|
||||||
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
||||||
@foundryNavTextColor: white;
|
@foundryNavTextColor: white;
|
||||||
@foundryNavBorderColor: @colorBlue;
|
@foundryNavBorderColor: @colorBlue;
|
||||||
@foundryNavBgColorGM: @colorBlue;
|
@foundryNavBgColorGM: @colorBlue;
|
||||||
@foundryNavBorderColorGM: @colorPaleBlue;
|
@foundryNavBorderColorGM: @colorPaleBlue;
|
||||||
@foundryNavSceneLinkColor: white;
|
@foundryNavSceneLinkColor: white;
|
||||||
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
||||||
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
||||||
@foundryNavActiveGlow: darken(@colorRed, 20);
|
@foundryNavActiveGlow: darken(@colorRed, 20);
|
||||||
@foundryNavContextShadow: darken(@colorBlue, 20);
|
@foundryNavContextShadow: darken(@colorBlue, 20);
|
||||||
@foundryNavContextBorderColor: @colorBlue;
|
@foundryNavContextBorderColor: @colorBlue;
|
||||||
|
|
||||||
@foundryPlayersArrowColor: @colorLightGray;
|
@foundryPlayersArrowColor: @colorLightGray;
|
||||||
|
|
||||||
@actorPanelBgColor: white;
|
@actorPanelBgColor: white;
|
||||||
@actorNameColor: @colorRed;
|
@actorNameColor: @colorRed;
|
||||||
@actorXPBarBorder: @colorGray;
|
@actorXPBarBorder: @colorGray;
|
||||||
@actorXPBarBackground: @colorPaleBlue;
|
@actorXPBarBackground: @colorPaleBlue;
|
||||||
@actorXPBarColor: @colorBlue;
|
@actorXPBarColor: @colorBlue;
|
||||||
@actorProficiencyTextColor: @colorGray;
|
@actorProficiencyTextColor: @colorGray;
|
||||||
@actorAttributeInputColor: @colorGray;
|
@actorAttributeInputColor: @colorGray;
|
||||||
@actorSeparatorColor: @colorLightGray;
|
@actorSeparatorColor: @colorLightGray;
|
||||||
@actorAttributeButtonBorder: @colorPaleGray;
|
@actorAttributeButtonBorder: @colorPaleGray;
|
||||||
@actorAttributeButtonBorderHover: @colorRed;
|
@actorAttributeButtonBorderHover: @colorRed;
|
||||||
@actorNavigationTabsColor: @colorGray;
|
@actorNavigationTabsColor: @colorGray;
|
||||||
@actorNavigationTabsActiveColor: @colorRed;
|
@actorNavigationTabsActiveColor: @colorRed;
|
||||||
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
||||||
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
||||||
@actorFilterBorderColor: @colorLightGray;
|
@actorFilterBorderColor: @colorLightGray;
|
||||||
@actorFilterHoverColor: @colorRed;
|
@actorFilterHoverColor: @colorRed;
|
||||||
@actorFilterActiveColor: @colorRed;
|
@actorFilterActiveColor: @colorRed;
|
||||||
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
||||||
@actorGroupListTitleBorderColor: @colorBlue;
|
@actorGroupListTitleBorderColor: @colorBlue;
|
||||||
@actorGroupListColumnBorderColor: @colorPaleGray;
|
@actorGroupListColumnBorderColor: @colorPaleGray;
|
||||||
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
||||||
@actorItemRollableD20Color: @colorGray;
|
@actorItemRollableD20Color: @colorGray;
|
||||||
@actorItemRollableD20HoverColor: @colorRed;
|
@actorItemRollableD20HoverColor: @colorRed;
|
||||||
@actorItemControlToggleColor: @colorLightGray;
|
@actorItemControlToggleColor: @colorLightGray;
|
||||||
@actorAbilityScoreColor: @colorGray;
|
@actorAbilityScoreColor: @colorGray;
|
||||||
@actorAbilityBorderColor: @colorPaleGray;
|
@actorAbilityBorderColor: @colorPaleGray;
|
||||||
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
||||||
@actorEncumbranceLabelBackground: @colorPaleGray;
|
@actorEncumbranceLabelBackground: @colorPaleGray;
|
||||||
@actorEncumbranceTextColor: @colorBlack;
|
@actorEncumbranceTextColor: @colorBlack;
|
||||||
@actorEncumbranceBorderColor: @colorBlack;
|
@actorEncumbranceBorderColor: @colorBlack;
|
||||||
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
||||||
@actorEncumbranceBarColor: @colorBlue;
|
@actorEncumbranceBarColor: @colorBlue;
|
|
@ -1,143 +1,143 @@
|
||||||
//Background
|
//Background
|
||||||
@primaryBackground: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);// linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue);
|
@primaryBackground: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);// linear-gradient(90deg, @colorPaleBlue 0%, @colorPaleGray 30%, @colorPaleGray 70%, @colorPaleBlue);
|
||||||
|
|
||||||
//Typography
|
//Typography
|
||||||
@headingColor: @colorRed;
|
@headingColor: @colorRed;
|
||||||
@headerBorderColor: @colorBlue;
|
@headerBorderColor: @colorBlue;
|
||||||
@bodyFontColor: @colorBlack;
|
@bodyFontColor: @colorBlack;
|
||||||
@linkColor: @colorRed;
|
@linkColor: @colorRed;
|
||||||
@linkSecondaryColor: @colorGray;
|
@linkSecondaryColor: @colorGray;
|
||||||
|
|
||||||
@blockquoteBackground: @colorPaleBlue;
|
@blockquoteBackground: @colorPaleBlue;
|
||||||
@blockquoteBorder: @colorBlue;
|
@blockquoteBorder: @colorBlue;
|
||||||
@blockquoteShadow: 0 0 20px rgba(@colorBlue, 0.8);
|
@blockquoteShadow: 0 0 20px rgba(@colorBlue, 0.8);
|
||||||
|
|
||||||
//forms
|
//forms
|
||||||
@inputBackgroundColor: @colorGray;
|
@inputBackgroundColor: @colorGray;
|
||||||
@inputBorderNormal: @colorLightGray;
|
@inputBorderNormal: @colorLightGray;
|
||||||
@inputBorderHover: @colorGray;
|
@inputBorderHover: @colorGray;
|
||||||
@inputBorderFocus: @colorRed;
|
@inputBorderFocus: @colorRed;
|
||||||
@inputTextColor: @colorBlack;
|
@inputTextColor: @colorBlack;
|
||||||
|
|
||||||
@buttonBackground: @colorRed;
|
@buttonBackground: @colorRed;
|
||||||
@buttonTextColor: white;
|
@buttonTextColor: white;
|
||||||
@buttonHoverBackground: lighten(@colorRed, 5);
|
@buttonHoverBackground: lighten(@colorRed, 5);
|
||||||
@buttonSecondaryBackground: @colorPaleGray;
|
@buttonSecondaryBackground: @colorPaleGray;
|
||||||
@buttonSecondaryTextColor: @colorBlack;
|
@buttonSecondaryTextColor: @colorBlack;
|
||||||
@buttonSecondaryHoverBackground: lighten(@colorPaleGray, 5);
|
@buttonSecondaryHoverBackground: lighten(@colorPaleGray, 5);
|
||||||
|
|
||||||
//other bits
|
//other bits
|
||||||
@hrColor: @colorBlue;
|
@hrColor: @colorBlue;
|
||||||
@tableTextColor: @colorBlack;
|
@tableTextColor: @colorBlack;
|
||||||
@tableHeaderTextColor: @colorLightGray;
|
@tableHeaderTextColor: @colorLightGray;
|
||||||
@tableBackground: white;
|
@tableBackground: white;
|
||||||
@tableRowHoverBackground: lighten(@colorPaleGray, 10);
|
@tableRowHoverBackground: lighten(@colorPaleGray, 10);
|
||||||
@tableRowBorderColor: @colorPaleGray;
|
@tableRowBorderColor: @colorPaleGray;
|
||||||
|
|
||||||
//universalColors
|
//universalColors
|
||||||
@windowHeaderBackground: white;
|
@windowHeaderBackground: white;
|
||||||
@windowHeaderLinkColor: @colorRed;
|
@windowHeaderLinkColor: @colorRed;
|
||||||
|
|
||||||
//Sidebar
|
//Sidebar
|
||||||
@sidebarTabBackground: @windowHeaderBackground;
|
@sidebarTabBackground: @windowHeaderBackground;
|
||||||
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
@sidebarTabLinkColor: @windowHeaderLinkColor;
|
||||||
@sidebarTabLinkUnderline: @colorRed;
|
@sidebarTabLinkUnderline: @colorRed;
|
||||||
|
|
||||||
@chatBackground: white;
|
@chatBackground: white;
|
||||||
@chatHeaderColor: @colorRed;
|
@chatHeaderColor: @colorRed;
|
||||||
@chatHeaderBottomBorderColor: @colorBlue;
|
@chatHeaderBottomBorderColor: @colorBlue;
|
||||||
@chatNotificationColor: @colorBlue;
|
@chatNotificationColor: @colorBlue;
|
||||||
@cardButtonBorder: @colorLightGray;
|
@cardButtonBorder: @colorLightGray;
|
||||||
@cardFooterBorder: @colorLightBlue;
|
@cardFooterBorder: @colorLightBlue;
|
||||||
@cardFooterSeparator: @colorPaleGray;
|
@cardFooterSeparator: @colorPaleGray;
|
||||||
|
|
||||||
@diceFormulaBackground: @colorPaleGray;
|
@diceFormulaBackground: @colorPaleGray;
|
||||||
@diceFormualColor: @colorBlack;
|
@diceFormualColor: @colorBlack;
|
||||||
@diceTotalBackground: @colorPaleBlue;
|
@diceTotalBackground: @colorPaleBlue;
|
||||||
@diceTotalBorder: @colorBlue;
|
@diceTotalBorder: @colorBlue;
|
||||||
@diceTotalShadow: @colorBlue;
|
@diceTotalShadow: @colorBlue;
|
||||||
@diceSuccessColor: @colorGreen;
|
@diceSuccessColor: @colorGreen;
|
||||||
@diceFailureColor: @colorRed;
|
@diceFailureColor: @colorRed;
|
||||||
@diceCriticalBackground: @colorPaleGreen;
|
@diceCriticalBackground: @colorPaleGreen;
|
||||||
@diceCriticalColor: @colorGreen;
|
@diceCriticalColor: @colorGreen;
|
||||||
@diceFumbleBackground: @colorPaleRed;
|
@diceFumbleBackground: @colorPaleRed;
|
||||||
@diceFumbleColor: @colorRed;
|
@diceFumbleColor: @colorRed;
|
||||||
|
|
||||||
@altRowBackground: @colorPaleBlue;
|
@altRowBackground: @colorPaleBlue;
|
||||||
|
|
||||||
@combatRoundColor: @colorRed;
|
@combatRoundColor: @colorRed;
|
||||||
@combatRoundBorder: @colorBlue;
|
@combatRoundBorder: @colorBlue;
|
||||||
@combatCombatantControlColor: @colorLightGray;
|
@combatCombatantControlColor: @colorLightGray;
|
||||||
@combatCombatantControlColorActive: @colorDarkGray;
|
@combatCombatantControlColorActive: @colorDarkGray;
|
||||||
@combatActiveCombatantColor: @colorBlue;
|
@combatActiveCombatantColor: @colorBlue;
|
||||||
@combatTokenResourceColor: @colorGray;
|
@combatTokenResourceColor: @colorGray;
|
||||||
@combatTokenResouceBorder: @colorLightGray;
|
@combatTokenResouceBorder: @colorLightGray;
|
||||||
@combatControlsBorder: @colorBlue;
|
@combatControlsBorder: @colorBlue;
|
||||||
|
|
||||||
@folderSearchIconColor: @colorBlue;
|
@folderSearchIconColor: @colorBlue;
|
||||||
@folderSubdirectoryBackground: white;
|
@folderSubdirectoryBackground: white;
|
||||||
@folderSubdirectoryBorder: @colorBlack;
|
@folderSubdirectoryBorder: @colorBlack;
|
||||||
@directoryListItemBorder: @colorBlue;
|
@directoryListItemBorder: @colorBlue;
|
||||||
@folderHeaderBackground: white;
|
@folderHeaderBackground: white;
|
||||||
@folderHeaderColor: @colorBlack;
|
@folderHeaderColor: @colorBlack;
|
||||||
@folderIconColor: @colorBlue;
|
@folderIconColor: @colorBlue;
|
||||||
|
|
||||||
@entityBackgroundColor: white;
|
@entityBackgroundColor: white;
|
||||||
@entityNameColor: @colorBlack;
|
@entityNameColor: @colorBlack;
|
||||||
|
|
||||||
@sceneBorderColor: @colorBlue;
|
@sceneBorderColor: @colorBlue;
|
||||||
@sceneBackgroundColor: white;
|
@sceneBackgroundColor: white;
|
||||||
|
|
||||||
@playlistBackgroundColor: white;
|
@playlistBackgroundColor: white;
|
||||||
@playlistHeaderBorder: @colorBlue;
|
@playlistHeaderBorder: @colorBlue;
|
||||||
@playlistSoundColor: @colorBlack;
|
@playlistSoundColor: @colorBlack;
|
||||||
|
|
||||||
@compendiumEntityBackground: white;
|
@compendiumEntityBackground: white;
|
||||||
@compendiumStatusIcon: @colorLightGray;
|
@compendiumStatusIcon: @colorLightGray;
|
||||||
|
|
||||||
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
@foundryNavBgColor: rgba(@colorLightBlue, 0.4);
|
||||||
@foundryNavTextColor: white;
|
@foundryNavTextColor: white;
|
||||||
@foundryNavBorderColor: @colorBlue;
|
@foundryNavBorderColor: @colorBlue;
|
||||||
@foundryNavBgColorGM: @colorBlue;
|
@foundryNavBgColorGM: @colorBlue;
|
||||||
@foundryNavBorderColorGM: @colorPaleBlue;
|
@foundryNavBorderColorGM: @colorPaleBlue;
|
||||||
@foundryNavSceneLinkColor: white;
|
@foundryNavSceneLinkColor: white;
|
||||||
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
@foundryNavActiveBgColor: rgba(@colorRed, 0.6);
|
||||||
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
@foundryNavActiveBorderColor: lighten(@colorRed, 20);
|
||||||
@foundryNavActiveGlow: darken(@colorRed, 20);
|
@foundryNavActiveGlow: darken(@colorRed, 20);
|
||||||
@foundryNavContextShadow: darken(@colorBlue, 20);
|
@foundryNavContextShadow: darken(@colorBlue, 20);
|
||||||
@foundryNavContextBorderColor: @colorBlue;
|
@foundryNavContextBorderColor: @colorBlue;
|
||||||
|
|
||||||
@foundryPlayersArrowColor: @colorLightGray;
|
@foundryPlayersArrowColor: @colorLightGray;
|
||||||
|
|
||||||
@actorPanelBgColor: white;
|
@actorPanelBgColor: white;
|
||||||
@actorNameColor: @colorRed;
|
@actorNameColor: @colorRed;
|
||||||
@actorXPBarBorder: @colorGray;
|
@actorXPBarBorder: @colorGray;
|
||||||
@actorXPBarBackground: @colorPaleBlue;
|
@actorXPBarBackground: @colorPaleBlue;
|
||||||
@actorXPBarColor: @colorBlue;
|
@actorXPBarColor: @colorBlue;
|
||||||
@actorProficiencyTextColor: @colorGray;
|
@actorProficiencyTextColor: @colorGray;
|
||||||
@actorAttributeInputColor: @colorGray;
|
@actorAttributeInputColor: @colorGray;
|
||||||
@actorSeparatorColor: @colorLightGray;
|
@actorSeparatorColor: @colorLightGray;
|
||||||
@actorAttributeButtonBorder: @colorPaleGray;
|
@actorAttributeButtonBorder: @colorPaleGray;
|
||||||
@actorAttributeButtonBorderHover: @colorRed;
|
@actorAttributeButtonBorderHover: @colorRed;
|
||||||
@actorNavigationTabsColor: @colorGray;
|
@actorNavigationTabsColor: @colorGray;
|
||||||
@actorNavigationTabsActiveColor: @colorRed;
|
@actorNavigationTabsActiveColor: @colorRed;
|
||||||
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
@actorNavigationTabsHoverBgColor: rgba(@colorGray, 0.1);
|
||||||
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
@actorNavigationTabsActiveHoverBgColor: rgba(@colorRed, 0.1);
|
||||||
@actorFilterBorderColor: @colorLightGray;
|
@actorFilterBorderColor: @colorLightGray;
|
||||||
@actorFilterHoverColor: @colorRed;
|
@actorFilterHoverColor: @colorRed;
|
||||||
@actorFilterActiveColor: @colorRed;
|
@actorFilterActiveColor: @colorRed;
|
||||||
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
@actorGroupListHeaderBgColor: lighten(@colorPaleGray, 10);
|
||||||
@actorGroupListTitleBorderColor: @colorBlue;
|
@actorGroupListTitleBorderColor: @colorBlue;
|
||||||
@actorGroupListColumnBorderColor: @colorPaleGray;
|
@actorGroupListColumnBorderColor: @colorPaleGray;
|
||||||
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
@actorGroupListAltRowColor: lighten(@colorPaleGray, 10);
|
||||||
@actorItemRollableD20Color: @colorGray;
|
@actorItemRollableD20Color: @colorGray;
|
||||||
@actorItemRollableD20HoverColor: @colorRed;
|
@actorItemRollableD20HoverColor: @colorRed;
|
||||||
@actorItemControlToggleColor: @colorLightGray;
|
@actorItemControlToggleColor: @colorLightGray;
|
||||||
@actorAbilityScoreColor: @colorGray;
|
@actorAbilityScoreColor: @colorGray;
|
||||||
@actorAbilityBorderColor: @colorPaleGray;
|
@actorAbilityBorderColor: @colorPaleGray;
|
||||||
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
@actorSkillsAltRowColor: lighten(@colorPaleGray, 10);
|
||||||
@actorEncumbranceLabelBackground: @colorPaleGray;
|
@actorEncumbranceLabelBackground: @colorPaleGray;
|
||||||
@actorEncumbranceTextColor: @colorBlack;
|
@actorEncumbranceTextColor: @colorBlack;
|
||||||
@actorEncumbranceBorderColor: @colorBlack;
|
@actorEncumbranceBorderColor: @colorBlack;
|
||||||
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
@actorEncumbranceBarBgColor: @colorPaleBlue;
|
||||||
@actorEncumbranceBarColor: @colorBlue;
|
@actorEncumbranceBarColor: @colorBlue;
|
|
@ -41,7 +41,7 @@
|
||||||
//SW5e Colors
|
//SW5e Colors
|
||||||
@colorBlack: #1C1C1C;
|
@colorBlack: #1C1C1C;
|
||||||
@colorDarkGray: #363636;
|
@colorDarkGray: #363636;
|
||||||
@colorGray: #4f4f4f;
|
@colorGray: #a9a9a9;
|
||||||
@colorLightGray: #828282;
|
@colorLightGray: #828282;
|
||||||
@colorPaleGray: #D6D6D6;
|
@colorPaleGray: #D6D6D6;
|
||||||
@colorRed: #c40f0f;
|
@colorRed: #c40f0f;
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,416 +1,416 @@
|
||||||
.panel {
|
.panel {
|
||||||
background: @actorPanelBgColor;
|
background: @actorPanelBgColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw5e.sheet .window-content {
|
.sw5e.sheet .window-content {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
background: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);
|
background: linear-gradient(90deg,#afc6d6 0,#d6d6d6 30%,#d6d6d6 70%,#afc6d6);
|
||||||
input,
|
input,
|
||||||
select {
|
select {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: @inputBorderHover;
|
border-color: @inputBorderHover;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: @inputBorderFocus;
|
border-color: @inputBorderFocus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: @inputBorderFocus;
|
border-color: @inputBorderFocus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw5e.sheet.actor {
|
.sw5e.sheet.actor {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
input, select, textarea {
|
input, select, textarea {
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: @inputBorderFocus;
|
border-color: @inputBorderFocus;
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: @inputBorderFocus;
|
border-color: @inputBorderFocus;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.swalt-sheet {
|
.swalt-sheet {
|
||||||
section>h1 {
|
section>h1 {
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
|
|
||||||
h1.character-name {
|
h1.character-name {
|
||||||
color: @actorNameColor;
|
color: @actorNameColor;
|
||||||
|
|
||||||
input[type="text"] {
|
input[type="text"] {
|
||||||
color: @actorNameColor;
|
color: @actorNameColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.level-experience {
|
.level-experience {
|
||||||
|
|
||||||
.xpbar {
|
.xpbar {
|
||||||
border: 1px solid @actorXPBarBorder;
|
border: 1px solid @actorXPBarBorder;
|
||||||
background-color: @actorXPBarBackground;
|
background-color: @actorXPBarBackground;
|
||||||
|
|
||||||
.bar {
|
.bar {
|
||||||
background-color: @actorXPBarColor;
|
background-color: @actorXPBarColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary {
|
.summary {
|
||||||
|
|
||||||
input,
|
input,
|
||||||
.proficiency {
|
.proficiency {
|
||||||
color: @actorProficiencyTextColor;
|
color: @actorProficiencyTextColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.attributes {
|
.attributes {
|
||||||
|
|
||||||
.attribute-value,
|
.attribute-value,
|
||||||
.attribute-value input {
|
.attribute-value input {
|
||||||
color: @actorAttributeInputColor;
|
color: @actorAttributeInputColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute-value {
|
.attribute-value {
|
||||||
|
|
||||||
.value-separator {
|
.value-separator {
|
||||||
color: @actorSeparatorColor;
|
color: @actorSeparatorColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
button {
|
button {
|
||||||
border: 1px solid @actorAttributeButtonBorder;
|
border: 1px solid @actorAttributeButtonBorder;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @actorAttributeButtonBorderHover;
|
color: @actorAttributeButtonBorderHover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.hit-points,
|
&.hit-points,
|
||||||
&.hit-dice,
|
&.hit-dice,
|
||||||
&.initiative {
|
&.initiative {
|
||||||
button {
|
button {
|
||||||
border: 1px solid @actorAttributeButtonBorder;
|
border: 1px solid @actorAttributeButtonBorder;
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: @actorAttributeButtonBorderHover;
|
border-color: @actorAttributeButtonBorderHover;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
nav.sheet-navigation {
|
nav.sheet-navigation {
|
||||||
.item {
|
.item {
|
||||||
color: @actorNavigationTabsColor;
|
color: @actorNavigationTabsColor;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: @actorNavigationTabsActiveColor;
|
color: @actorNavigationTabsActiveColor;
|
||||||
border-bottom-color: @actorNavigationTabsActiveColor;
|
border-bottom-color: @actorNavigationTabsActiveColor;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @actorNavigationTabsHoverBgColor;
|
background: @actorNavigationTabsHoverBgColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @actorNavigationTabsHoverBgColor;
|
background: @actorNavigationTabsHoverBgColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab {
|
.tab {
|
||||||
|
|
||||||
.filter-list {
|
.filter-list {
|
||||||
|
|
||||||
.filter-item {
|
.filter-item {
|
||||||
border-bottom: 2px solid @actorFilterBorderColor;
|
border-bottom: 2px solid @actorFilterBorderColor;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @actorFilterHoverColor;
|
color: @actorFilterHoverColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: @actorFilterActiveColor;
|
color: @actorFilterActiveColor;
|
||||||
border-bottom-color: @actorFilterActiveColor;
|
border-bottom-color: @actorFilterActiveColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-list-header {
|
.group-list-header {
|
||||||
background: @actorGroupListHeaderBgColor;
|
background: @actorGroupListHeaderBgColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-list-title {
|
.group-list-title {
|
||||||
border-bottom: 1px solid @actorGroupListTitleBorderColor;
|
border-bottom: 1px solid @actorGroupListTitleBorderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-list-header,
|
.group-list-header,
|
||||||
.group-list {
|
.group-list {
|
||||||
.item-detail {
|
.item-detail {
|
||||||
border-left: 1px solid @actorGroupListColumnBorderColor;
|
border-left: 1px solid @actorGroupListColumnBorderColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-list,
|
.group-list,
|
||||||
.group-list ol {
|
.group-list ol {
|
||||||
li.item {
|
li.item {
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background-color: @actorGroupListAltRowColor;
|
background-color: @actorGroupListAltRowColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
h4 {
|
h4 {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.item-name {
|
.item-name {
|
||||||
|
|
||||||
.item-image {
|
.item-image {
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
color: @actorItemRollableD20Color;
|
color: @actorItemRollableD20Color;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
&.rollable:hover {
|
&.rollable:hover {
|
||||||
|
|
||||||
.item-image {
|
.item-image {
|
||||||
&:hover {
|
&:hover {
|
||||||
&::before {
|
&::before {
|
||||||
color: @actorItemRollableD20HoverColor;
|
color: @actorItemRollableD20HoverColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-control {
|
.item-control {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @linkColor !important;
|
color: @linkColor !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.item-toggle {
|
&.item-toggle {
|
||||||
color: @actorItemControlToggleColor;
|
color: @actorItemControlToggleColor;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.tab.attributes {
|
.tab.attributes {
|
||||||
.abilities {
|
.abilities {
|
||||||
|
|
||||||
.scores {
|
.scores {
|
||||||
li {
|
li {
|
||||||
border: 1px solid @actorAbilityBorderColor;
|
border: 1px solid @actorAbilityBorderColor;
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability-score {
|
.ability-score {
|
||||||
color: @actorAbilityScoreColor;
|
color: @actorAbilityScoreColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ability-modifiers {
|
.ability-modifiers {
|
||||||
|
|
||||||
.ability-mod,
|
.ability-mod,
|
||||||
.ability-save {
|
.ability-save {
|
||||||
border-color: @actorAbilityBorderColor;
|
border-color: @actorAbilityBorderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.skills {
|
.skills {
|
||||||
li {
|
li {
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background-color: @actorSkillsAltRowColor;
|
background-color: @actorSkillsAltRowColor;
|
||||||
}
|
}
|
||||||
.proficiency-toggle {
|
.proficiency-toggle {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
|
|
||||||
.skill-name {
|
.skill-name {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.traits-resources {
|
.traits-resources {
|
||||||
nav {
|
nav {
|
||||||
button {
|
button {
|
||||||
color: @actorNavigationTabsColor;
|
color: @actorNavigationTabsColor;
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: @actorNavigationTabsActiveColor;
|
color: @actorNavigationTabsActiveColor;
|
||||||
border-bottom-color: @actorNavigationTabsActiveColor;
|
border-bottom-color: @actorNavigationTabsActiveColor;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @actorNavigationTabsActiveHoverBgColor;
|
background: @actorNavigationTabsActiveHoverBgColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @actorNavigationTabsHoverBgColor;
|
background: @actorNavigationTabsHoverBgColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
section.traits {
|
section.traits {
|
||||||
.trait-selector {
|
.trait-selector {
|
||||||
i.fas {
|
i.fas {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.languages {
|
.languages {
|
||||||
label {
|
label {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
section.resources {
|
section.resources {
|
||||||
.resource-items {
|
.resource-items {
|
||||||
.resource {
|
.resource {
|
||||||
h1 {
|
h1 {
|
||||||
|
|
||||||
input {
|
input {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute-value,
|
.attribute-value,
|
||||||
.attribute-value input {
|
.attribute-value input {
|
||||||
color: @actorAttributeInputColor;
|
color: @actorAttributeInputColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.attribute-value {
|
.attribute-value {
|
||||||
.value-separator {
|
.value-separator {
|
||||||
color: @actorSeparatorColor;
|
color: @actorSeparatorColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.counters {
|
.counters {
|
||||||
.counter {
|
.counter {
|
||||||
h4 {
|
h4 {
|
||||||
&.rollable {
|
&.rollable {
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.death-success {
|
.death-success {
|
||||||
i {
|
i {
|
||||||
color: @colorGreen;
|
color: @colorGreen;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.death-fail {
|
.death-fail {
|
||||||
i {
|
i {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab.inventory {
|
.tab.inventory {
|
||||||
.currency {
|
.currency {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.encumbrance-wrapper {
|
.encumbrance-wrapper {
|
||||||
.encumbrance-label {
|
.encumbrance-label {
|
||||||
background: @actorEncumbranceLabelBackground;
|
background: @actorEncumbranceLabelBackground;
|
||||||
color: @actorEncumbranceTextColor;
|
color: @actorEncumbranceTextColor;
|
||||||
border: 1px solid @actorEncumbranceBorderColor;
|
border: 1px solid @actorEncumbranceBorderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.encumbrance {
|
.encumbrance {
|
||||||
background: @actorEncumbranceBarBgColor;
|
background: @actorEncumbranceBarBgColor;
|
||||||
.encumbrance-bar {
|
.encumbrance-bar {
|
||||||
background: @actorEncumbranceBarColor;
|
background: @actorEncumbranceBarColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.tab.powerbook {
|
.tab.powerbook {
|
||||||
.powercasting-ability {
|
.powercasting-ability {
|
||||||
label,
|
label,
|
||||||
h3 {
|
h3 {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab.notes {
|
.tab.notes {
|
||||||
section {
|
section {
|
||||||
&>input {
|
&>input {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.npc {
|
&.npc {
|
||||||
.swalt-sheet {
|
.swalt-sheet {
|
||||||
header {
|
header {
|
||||||
.experience {
|
.experience {
|
||||||
color: @actorProficiencyTextColor;
|
color: @actorProficiencyTextColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,105 +1,105 @@
|
||||||
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
&:hover {
|
&:hover {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
input[type=range] {
|
input[type=range] {
|
||||||
-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
|
-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
|
||||||
width: 100%; /* Specific width is required for Firefox. */
|
width: 100%; /* Specific width is required for Firefox. */
|
||||||
background: transparent; /* Otherwise white in Chrome */
|
background: transparent; /* Otherwise white in Chrome */
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=range]::-webkit-slider-thumb{
|
input[type=range]::-webkit-slider-thumb{
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
background: @colorRed;
|
background: @colorRed;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
input[type=range]::-moz-range-thumb{
|
input[type=range]::-moz-range-thumb{
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
background: @colorRed;
|
background: @colorRed;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
input[type=range]::-ms-thumb {
|
input[type=range]::-ms-thumb {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
background: @colorRed;
|
background: @colorRed;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
height: 12px;
|
height: 12px;
|
||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=range]::-webkit-slider-runnable-track {
|
input[type=range]::-webkit-slider-runnable-track {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: @colorLightBlue;
|
background: @colorLightBlue;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid @colorBlue;
|
border: 1px solid @colorBlue;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
input[type=range]:focus::-webkit-slider-runnable-track {
|
input[type=range]:focus::-webkit-slider-runnable-track {
|
||||||
background: @colorBlue;
|
background: @colorBlue;
|
||||||
}
|
}
|
||||||
input[type=range]::-moz-range-track {
|
input[type=range]::-moz-range-track {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: @colorLightBlue;
|
background: @colorLightBlue;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid @colorBlue;
|
border: 1px solid @colorBlue;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
input[type=range]::-ms-track {
|
input[type=range]::-ms-track {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: @colorLightBlue;
|
background: @colorLightBlue;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid @colorBlue;
|
border: 1px solid @colorBlue;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
input[type=range]:focus {
|
input[type=range]:focus {
|
||||||
outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
|
outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=range]::-ms-track {
|
input[type=range]::-ms-track {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
/* Hides the slider so custom styles can be added */
|
/* Hides the slider so custom styles can be added */
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-color: transparent;
|
border-color: transparent;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
&:disabled {
|
&:disabled {
|
||||||
opacity: 0.6;
|
opacity: 0.6;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,53 +1,53 @@
|
||||||
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
|
||||||
border: 1px solid @inputBorderNormal;
|
border: 1px solid @inputBorderNormal;
|
||||||
color: @inputTextColor;
|
color: @inputTextColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: @inputBorderHover;
|
border-color: @inputBorderHover;
|
||||||
}
|
}
|
||||||
&:focus {
|
&:focus {
|
||||||
border-color: @inputBorderFocus;
|
border-color: @inputBorderFocus;
|
||||||
}
|
}
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: @inputTextColor;
|
color: @inputTextColor;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
::-ms-input-placeholder { /* Microsoft Edge */
|
::-ms-input-placeholder { /* Microsoft Edge */
|
||||||
color: @inputTextColor;
|
color: @inputTextColor;
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
button, input[type="button"], input[type="submit"], input[type="reset"] {
|
||||||
background: @buttonBackground;
|
background: @buttonBackground;
|
||||||
color: @buttonTextColor;
|
color: @buttonTextColor;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background: @buttonHoverBackground;
|
background: @buttonHoverBackground;
|
||||||
}
|
}
|
||||||
&:disabled {
|
&:disabled {
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background: @buttonBackground;
|
background: @buttonBackground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
input[type="reset"], button.secondary, button[type="reset"], input[type="button"].secondary, input[type="submit"].secondary {
|
input[type="reset"], button.secondary, button[type="reset"], input[type="button"].secondary, input[type="submit"].secondary {
|
||||||
background: @buttonSecondaryBackground;
|
background: @buttonSecondaryBackground;
|
||||||
color: @buttonSecondaryTextColor;
|
color: @buttonSecondaryTextColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @buttonSecondaryHoverBackground;
|
background: @buttonSecondaryHoverBackground;
|
||||||
}
|
}
|
||||||
&:disabled {
|
&:disabled {
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background: @buttonSecondaryBackground;
|
background: @buttonSecondaryBackground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
form {
|
form {
|
||||||
button {
|
button {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.notes, .hint {
|
.notes, .hint {
|
||||||
color: rgba(@bodyFontColor, 0.8);
|
color: rgba(@bodyFontColor, 0.8);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,76 +1,76 @@
|
||||||
.window-app {
|
.window-app {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
.dropShadow2();
|
.dropShadow2();
|
||||||
& > header {
|
& > header {
|
||||||
background: @windowHeaderBackground;
|
background: @windowHeaderBackground;
|
||||||
border-radius: 4px 4px 0 0;
|
border-radius: 4px 4px 0 0;
|
||||||
border: none;
|
border: none;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
.window-content {
|
.window-content {
|
||||||
background: @primaryBackground;
|
background: @primaryBackground;
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
footer {
|
footer {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.minimized {
|
&.minimized {
|
||||||
& > header, & > .window-header {
|
& > header, & > .window-header {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#client-settings {
|
#client-settings {
|
||||||
nav.tabs {
|
nav.tabs {
|
||||||
border: none;
|
border: none;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
a.item {
|
a.item {
|
||||||
border-bottom: 3px solid transparent;
|
border-bottom: 3px solid transparent;
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
border-bottom-color: @sidebarTabLinkUnderline;
|
border-bottom-color: @sidebarTabLinkUnderline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
section.content {
|
section.content {
|
||||||
border: none;
|
border: none;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-buttons {
|
.dialog-buttons {
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
button:last-child {
|
button:last-child {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
}
|
}
|
||||||
button:not(.default) {
|
button:not(.default) {
|
||||||
border: 1px solid @buttonBackground;
|
border: 1px solid @buttonBackground;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
background: @buttonSecondaryBackground;
|
background: @buttonSecondaryBackground;
|
||||||
color: @buttonSecondaryTextColor;
|
color: @buttonSecondaryTextColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @buttonSecondaryHoverBackground;
|
background: @buttonSecondaryHoverBackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
button.normal.default {
|
button.normal.default {
|
||||||
border: none;
|
border: none;
|
||||||
background: @buttonBackground;
|
background: @buttonBackground;
|
||||||
color: @buttonTextColor;
|
color: @buttonTextColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @buttonHoverBackground;
|
background: @buttonHoverBackground;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,84 +1,84 @@
|
||||||
#navigation {
|
#navigation {
|
||||||
#nav-toggle {
|
#nav-toggle {
|
||||||
background: @foundryNavBgColor;
|
background: @foundryNavBgColor;
|
||||||
color: @foundryNavTextColor;
|
color: @foundryNavTextColor;
|
||||||
|
|
||||||
transform: rotate(-90deg);
|
transform: rotate(-90deg);
|
||||||
|
|
||||||
}
|
}
|
||||||
.nav-item {
|
.nav-item {
|
||||||
border: 1px solid @foundryNavBorderColor;
|
border: 1px solid @foundryNavBorderColor;
|
||||||
}
|
}
|
||||||
#scene-list {
|
#scene-list {
|
||||||
.scene {
|
.scene {
|
||||||
border: 1px solid @foundryNavBorderColor;
|
border: 1px solid @foundryNavBorderColor;
|
||||||
background: rgba(@foundryNavBgColor, 0.4);
|
background: rgba(@foundryNavBgColor, 0.4);
|
||||||
a {
|
a {
|
||||||
color: @foundryNavSceneLinkColor;
|
color: @foundryNavSceneLinkColor;
|
||||||
}
|
}
|
||||||
&.gm {
|
&.gm {
|
||||||
border: 1px solid @foundryNavBorderColorGM;
|
border: 1px solid @foundryNavBorderColorGM;
|
||||||
background: rgba(@foundryNavBgColorGM, 0.4);
|
background: rgba(@foundryNavBgColorGM, 0.4);
|
||||||
}
|
}
|
||||||
&.view, &.context {
|
&.view, &.context {
|
||||||
box-shadow: 0 0 8px @foundryNavContextShadow;
|
box-shadow: 0 0 8px @foundryNavContextShadow;
|
||||||
border-color: @foundryNavContextBorderColor;
|
border-color: @foundryNavContextBorderColor;
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
border-color: @foundryNavActiveBorderColor;
|
border-color: @foundryNavActiveBorderColor;
|
||||||
background: @foundryNavActiveBgColor;
|
background: @foundryNavActiveBgColor;
|
||||||
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#controls {
|
#controls {
|
||||||
.scene-control, .control-tool {
|
.scene-control, .control-tool {
|
||||||
background: @foundryNavBgColor;
|
background: @foundryNavBgColor;
|
||||||
color: @foundryNavTextColor;
|
color: @foundryNavTextColor;
|
||||||
border: 1px solid @foundryNavBorderColor;
|
border: 1px solid @foundryNavBorderColor;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @foundryNavBgColor;
|
background: @foundryNavBgColor;
|
||||||
box-shadow: 0 0 8px @foundryNavContextShadow;
|
box-shadow: 0 0 8px @foundryNavContextShadow;
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
border-color: @foundryNavActiveBorderColor;
|
border-color: @foundryNavActiveBorderColor;
|
||||||
background: @foundryNavActiveBgColor;
|
background: @foundryNavActiveBgColor;
|
||||||
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
box-shadow: 0 0 8px @foundryNavActiveGlow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#players {
|
#players {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
h3 {
|
h3 {
|
||||||
background: @sidebarTabBackground;
|
background: @sidebarTabBackground;
|
||||||
border: none;
|
border: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
border-radius: 4px 4px 0 0;
|
border-radius: 4px 4px 0 0;
|
||||||
.players-mode {
|
.players-mode {
|
||||||
color: @foundryPlayersArrowColor;
|
color: @foundryPlayersArrowColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ol {
|
ol {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
.player-name.self {
|
.player-name.self {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
.player {
|
.player {
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
.player-active {
|
.player-active {
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
&.active {
|
&.active {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,382 +1,382 @@
|
||||||
#sidebar {
|
#sidebar {
|
||||||
border: none; //1px solid @colorBlue;
|
border: none; //1px solid @colorBlue;
|
||||||
&.collapsed {
|
&.collapsed {
|
||||||
#sidebar-tabs {
|
#sidebar-tabs {
|
||||||
min-height: 370px;
|
min-height: 370px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
& > .item.active {
|
& > .item.active {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar-tabs {
|
#sidebar-tabs {
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.item.active {
|
.item.active {
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
background: none;
|
background: none;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------
|
/*-----------
|
||||||
** Chat Tab
|
** Chat Tab
|
||||||
-----------*/
|
-----------*/
|
||||||
|
|
||||||
#chat-log {
|
#chat-log {
|
||||||
.chat-message {
|
.chat-message {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
& > header {
|
& > header {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
span {
|
span {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.notification-pip {
|
.notification-pip {
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw5e.chat-card,
|
.sw5e.chat-card,
|
||||||
.midi-qol-item-card {
|
.midi-qol-item-card {
|
||||||
.card-header {
|
.card-header {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: none;
|
border: none;
|
||||||
img {
|
img {
|
||||||
flex: 0 0 36px;
|
flex: 0 0 36px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
.russoOne(17px);
|
.russoOne(17px);
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
&:hover {
|
&:hover {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-content {
|
.card-content {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
> * {
|
> * {
|
||||||
-webkit-user-select: text;
|
-webkit-user-select: text;
|
||||||
-moz-user-select: text;
|
-moz-user-select: text;
|
||||||
-ms-user-select: text;
|
-ms-user-select: text;
|
||||||
user-select: text;
|
user-select: text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-buttons {
|
.card-buttons {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
height: auto;
|
height: auto;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-footer {
|
.card-footer {
|
||||||
padding: 4px 0 0;
|
padding: 4px 0 0;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
padding: 0 4px 0 0;
|
padding: 0 4px 0 0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dice-roll {
|
.dice-roll {
|
||||||
.dice-formula {
|
.dice-formula {
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
.dice-total {
|
.dice-total {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#chat-controls {
|
#chat-controls {
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
}
|
}
|
||||||
#chat-form textarea {
|
#chat-form textarea {
|
||||||
&:focus {
|
&:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------
|
/*-----------
|
||||||
** Combat Tab
|
** Combat Tab
|
||||||
-----------*/
|
-----------*/
|
||||||
#combat {
|
#combat {
|
||||||
h3 {
|
h3 {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#combat-tracker {
|
#combat-tracker {
|
||||||
li.combatant {
|
li.combatant {
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
background: none;
|
background: none;
|
||||||
.token-name {
|
.token-name {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
.roll {
|
.roll {
|
||||||
background: none;
|
background: none;
|
||||||
&::before {
|
&::before {
|
||||||
content: "\f6cf";
|
content: "\f6cf";
|
||||||
.fontAwesome();
|
.fontAwesome();
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.initiative {
|
.initiative {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.hidden {
|
&.hidden {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#combat-controls {
|
#combat-controls {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Folders
|
** Folders
|
||||||
*/
|
*/
|
||||||
.sidebar-tab {
|
.sidebar-tab {
|
||||||
.directory-header {
|
.directory-header {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
.header-search {
|
.header-search {
|
||||||
position: relative;
|
position: relative;
|
||||||
i.fa-search {
|
i.fa-search {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 8px;
|
left: 8px;
|
||||||
}
|
}
|
||||||
input {
|
input {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 22px;
|
padding-left: 22px;
|
||||||
&:focus {
|
&:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subdirectory {
|
.subdirectory {
|
||||||
border: none;
|
border: none;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
min-height: 8px;
|
min-height: 8px;
|
||||||
|
|
||||||
}
|
}
|
||||||
.directory-list {
|
.directory-list {
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
.folder {
|
.folder {
|
||||||
& > .folder-header {
|
& > .folder-header {
|
||||||
line-height: default;
|
line-height: default;
|
||||||
padding: 0 0 0 8px;
|
padding: 0 0 0 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: none;
|
border: none;
|
||||||
h3 {
|
h3 {
|
||||||
padding: 8px 4px;
|
padding: 8px 4px;
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
& > i {
|
& > i {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 4px;
|
right: 4px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
i {
|
i {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.create-folder {
|
&.create-folder {
|
||||||
right: 28px;
|
right: 28px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.directory-item img {
|
.directory-item img {
|
||||||
flex: 0 0 32px;
|
flex: 0 0 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
}
|
||||||
.actor, .item, .journal, .table {
|
.actor, .item, .journal, .table {
|
||||||
border: none;
|
border: none;
|
||||||
.entity-name {
|
.entity-name {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#scenes {
|
#scenes {
|
||||||
.subdirectory {
|
.subdirectory {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
.scene {
|
.scene {
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
& + .scene {
|
& + .scene {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
&::after {
|
&::after {
|
||||||
content: '';
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 99px;
|
height: 99px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 28px;
|
top: 28px;
|
||||||
left: 0;
|
left: 0;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
padding: 4px 4px 4px 12px;
|
padding: 4px 4px 4px 12px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#playlists {
|
#playlists {
|
||||||
.directory-list {
|
.directory-list {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
li.playlist {
|
li.playlist {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
border-top: inherit;
|
border-top: inherit;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
.playlist-header {
|
.playlist-header {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
li.sound {
|
li.sound {
|
||||||
border: none;
|
border: none;
|
||||||
h4 {
|
h4 {
|
||||||
.openSans(13px, 400);
|
.openSans(13px, 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#compendium {
|
#compendium {
|
||||||
.compendium-entity {
|
.compendium-entity {
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
&+ .compendium-entity {
|
&+ .compendium-entity {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
.russoOne(17px);
|
.russoOne(17px);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
ol.compendium-list {
|
ol.compendium-list {
|
||||||
li.compendium-pack {
|
li.compendium-pack {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
.pack-title {
|
.pack-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
a {
|
a {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
i {
|
i {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.status-icons {
|
.status-icons {
|
||||||
top: 4px;
|
top: 4px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings {
|
#settings {
|
||||||
h2 {
|
h2 {
|
||||||
border: none;
|
border: none;
|
||||||
margin: 0 8px;
|
margin: 0 8px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
margin: 0 0 8px;
|
margin: 0 0 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,297 +1,298 @@
|
||||||
#sidebar-tabs {
|
#sidebar-tabs {
|
||||||
background: @sidebarTabBackground;
|
background: @sidebarTabBackground;
|
||||||
& > .collapse {
|
& > .collapse {
|
||||||
color: @sidebarTabLinkColor;
|
color: @sidebarTabLinkColor;
|
||||||
}
|
}
|
||||||
.item.active {
|
.item.active {
|
||||||
color: @sidebarTabLinkColor;
|
color: @sidebarTabLinkColor;
|
||||||
border-bottom: 3px solid @sidebarTabLinkUnderline;
|
border-bottom: 3px solid @sidebarTabLinkUnderline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------
|
/*-----------
|
||||||
** Chat Tab
|
** Chat Tab
|
||||||
-----------*/
|
-----------*/
|
||||||
|
|
||||||
#chat-log {
|
#chat-log {
|
||||||
.chat-message {
|
.chat-message {
|
||||||
background: @chatBackground;
|
background: @chatBackground;
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
& > header {
|
& > header {
|
||||||
color: @chatHeaderColor;
|
color: @chatHeaderColor;
|
||||||
border-bottom: 2px solid @chatHeaderBottomBorderColor;
|
border-bottom: 2px solid @chatHeaderBottomBorderColor;
|
||||||
span {
|
span {
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.notification-pip {
|
.notification-pip {
|
||||||
color: @chatNotificationColor;
|
color: @chatNotificationColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw5e.chat-card,
|
.sw5e.chat-card,
|
||||||
.midi-qol-item-card {
|
.midi-qol-item-card {
|
||||||
|
|
||||||
.card-header {
|
.card-header {
|
||||||
h3 {
|
h3 {
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.card-buttons {
|
.card-buttons {
|
||||||
span {
|
span {
|
||||||
border: 1px solid @cardButtonBorder;
|
border: 1px solid @cardButtonBorder;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-footer {
|
.card-footer {
|
||||||
border-top: 1px solid @cardFooterBorder;
|
border-top: 1px solid @cardFooterBorder;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
border-right: 1px solid @cardFooterSeparator;
|
border-right: 1px solid @cardFooterSeparator;
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dice-roll {
|
.dice-roll {
|
||||||
|
|
||||||
.dice-formula {
|
.dice-formula {
|
||||||
background: @diceFormulaBackground;
|
background: @diceFormulaBackground;
|
||||||
color: @diceFormualColor;
|
color: @diceFormualColor;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dice-total {
|
.dice-total {
|
||||||
background: @diceTotalBackground;
|
background: @diceTotalBackground;
|
||||||
border: 1px solid @diceTotalBorder;
|
border: 1px solid @diceTotalBorder;
|
||||||
box-shadow: 0 0 12px rgba(@diceTotalShadow,.8);
|
box-shadow: 0 0 12px rgba(@diceTotalShadow,.8);
|
||||||
&.success {
|
&.success {
|
||||||
color: @diceSuccessColor;
|
color: @diceSuccessColor;
|
||||||
}
|
}
|
||||||
&.failure {
|
&.failure {
|
||||||
color: @diceFailureColor;
|
color: @diceFailureColor;
|
||||||
}
|
}
|
||||||
&.critical {
|
&.critical {
|
||||||
color: @diceCriticalColor;
|
color: @diceCriticalColor;
|
||||||
background: @diceCriticalBackground;
|
background: @diceCriticalBackground;
|
||||||
box-shadow: 0 0 12px rgba(@diceCriticalColor,.5);
|
box-shadow: 0 0 12px rgba(@diceCriticalColor,.5);
|
||||||
}
|
}
|
||||||
&.fumble {
|
&.fumble {
|
||||||
color: @diceFumbleColor;
|
color: @diceFumbleColor;
|
||||||
background: @diceFumbleBackground;
|
background: @diceFumbleBackground;
|
||||||
box-shadow: 0 0 12px rgba(@diceFumbleColor,.5);
|
box-shadow: 0 0 12px rgba(@diceFumbleColor,.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#chat-controls {
|
#chat-controls {
|
||||||
.roll-type-select {
|
.roll-type-select {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
color: #FFFFFF;
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
label {
|
label {
|
||||||
color: @bodyFontColor;
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#chat-form textarea {
|
#chat-form textarea {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
|
color: #1C1C1C;
|
||||||
}
|
|
||||||
|
}
|
||||||
/*-----------
|
|
||||||
** Combat Tab
|
/*-----------
|
||||||
-----------*/
|
** Combat Tab
|
||||||
#combat {
|
-----------*/
|
||||||
#combat-round {
|
#combat {
|
||||||
color: @combatRoundColor;
|
#combat-round {
|
||||||
border-bottom: 2px solid @combatRoundColor;
|
color: @combatRoundColor;
|
||||||
.encounters {
|
border-bottom: 2px solid @combatRoundColor;
|
||||||
h4 {
|
.encounters {
|
||||||
color: @combatRoundColor;
|
h4 {
|
||||||
}
|
color: @combatRoundColor;
|
||||||
a {
|
}
|
||||||
color: @linkSecondaryColor;
|
a {
|
||||||
&:hover {
|
color: @linkSecondaryColor;
|
||||||
color: @linkColor;
|
&:hover {
|
||||||
}
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#combat-tracker {
|
}
|
||||||
//padding-top: 4px;
|
#combat-tracker {
|
||||||
li.combatant {
|
//padding-top: 4px;
|
||||||
color: @bodyFontColor;
|
li.combatant {
|
||||||
&:nth-child(even) {
|
color: @bodyFontColor;
|
||||||
background: rgba(@altRowBackground, 0.5);
|
&:nth-child(even) {
|
||||||
}
|
background: rgba(@altRowBackground, 0.5);
|
||||||
h4 {
|
}
|
||||||
color: @bodyFontColor
|
h4 {
|
||||||
}
|
color: @bodyFontColor
|
||||||
.roll {
|
}
|
||||||
color: @linkSecondaryColor;
|
.roll {
|
||||||
&:hover {
|
color: @linkSecondaryColor;
|
||||||
color: @linkColor;
|
&:hover {
|
||||||
}
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
.combatant-control {
|
}
|
||||||
color: @combatCombatantControlColor;
|
.combatant-control {
|
||||||
&.active {
|
color: @combatCombatantControlColor;
|
||||||
color: @combatCombatantControlColorActive;
|
&.active {
|
||||||
}
|
color: @combatCombatantControlColorActive;
|
||||||
}
|
}
|
||||||
.token-resource {
|
}
|
||||||
color: @combatTokenResourceColor;
|
.token-resource {
|
||||||
border-right: 1px solid @combatTokenResouceBorder;
|
color: @combatTokenResourceColor;
|
||||||
}
|
border-right: 1px solid @combatTokenResouceBorder;
|
||||||
&.active {
|
}
|
||||||
color: @combatActiveCombatantColor;
|
&.active {
|
||||||
.initiative, h4 {
|
color: @combatActiveCombatantColor;
|
||||||
color: @combatActiveCombatantColor;
|
.initiative, h4 {
|
||||||
}
|
color: @combatActiveCombatantColor;
|
||||||
}
|
}
|
||||||
&.hidden {
|
}
|
||||||
color: @bodyFontColor;
|
&.hidden {
|
||||||
}
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#combat-controls {
|
}
|
||||||
border-top: 1px solid @combatControlsBorder;
|
#combat-controls {
|
||||||
}
|
border-top: 1px solid @combatControlsBorder;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/*
|
|
||||||
** Folders
|
/*
|
||||||
*/
|
** Folders
|
||||||
.sidebar-tab {
|
*/
|
||||||
.directory-header {
|
.sidebar-tab {
|
||||||
.header-search {
|
.directory-header {
|
||||||
i.fa-search {
|
.header-search {
|
||||||
color: @folderSearchIconColor;
|
i.fa-search {
|
||||||
}
|
color: @folderSearchIconColor;
|
||||||
input {
|
}
|
||||||
background: @inputBackgroundColor;
|
input {
|
||||||
}
|
background: @inputBackgroundColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subdirectory {
|
}
|
||||||
background: @folderSubdirectoryBackground;
|
.subdirectory {
|
||||||
.folder {
|
background: @folderSubdirectoryBackground;
|
||||||
border-left: 2px solid rgba(@folderSubdirectoryBorder, 0.4);
|
.folder {
|
||||||
}
|
border-left: 2px solid rgba(@folderSubdirectoryBorder, 0.4);
|
||||||
}
|
}
|
||||||
.directory-list {
|
}
|
||||||
li + li {
|
.directory-list {
|
||||||
border-top: 1px solid @directoryListItemBorder;
|
li + li {
|
||||||
}
|
border-top: 1px solid @directoryListItemBorder;
|
||||||
.folder {
|
}
|
||||||
& > .folder-header {
|
.folder {
|
||||||
background: @folderHeaderBackground;
|
& > .folder-header {
|
||||||
h3 {
|
background: @folderHeaderBackground;
|
||||||
background: @folderHeaderBackground;
|
h3 {
|
||||||
color: @folderHeaderColor;
|
background: @folderHeaderBackground;
|
||||||
& > i {
|
color: @folderHeaderColor;
|
||||||
color: @folderIconColor;
|
& > i {
|
||||||
}
|
color: @folderIconColor;
|
||||||
}
|
}
|
||||||
a {
|
}
|
||||||
color: @linkSecondaryColor;
|
a {
|
||||||
&:hover {
|
color: @linkSecondaryColor;
|
||||||
color: @linkColor;
|
&:hover {
|
||||||
}
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.collapsed > .folder-header {
|
}
|
||||||
background: @folderHeaderBackground;
|
&.collapsed > .folder-header {
|
||||||
}
|
background: @folderHeaderBackground;
|
||||||
& + .entity {
|
}
|
||||||
border-top: 1px solid @directoryListItemBorder;
|
& + .entity {
|
||||||
}
|
border-top: 1px solid @directoryListItemBorder;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.actor, .item, .journal, .table {
|
|
||||||
background: @entityBackgroundColor;
|
.actor, .item, .journal, .table {
|
||||||
.entity-name {
|
background: @entityBackgroundColor;
|
||||||
color: @entityNameColor;
|
.entity-name {
|
||||||
}
|
color: @entityNameColor;
|
||||||
&:nth-child(even) {
|
}
|
||||||
background: rgba(@altRowBackground, 0.3);
|
&:nth-child(even) {
|
||||||
}
|
background: rgba(@altRowBackground, 0.3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#scenes {
|
}
|
||||||
.scene {
|
#scenes {
|
||||||
border-top: 1px solid @sceneBorderColor;
|
.scene {
|
||||||
border-left: 4px solid @sceneBorderColor;
|
border-top: 1px solid @sceneBorderColor;
|
||||||
&::after {
|
border-left: 4px solid @sceneBorderColor;
|
||||||
box-shadow: 0 0 20px @sceneBorderColor inset;
|
&::after {
|
||||||
}
|
box-shadow: 0 0 20px @sceneBorderColor inset;
|
||||||
h3 {
|
}
|
||||||
background: @sceneBackgroundColor;
|
h3 {
|
||||||
}
|
background: @sceneBackgroundColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#playlists {
|
|
||||||
.directory-list {
|
#playlists {
|
||||||
li.playlist {
|
.directory-list {
|
||||||
background: @playlistBackgroundColor;
|
li.playlist {
|
||||||
.playlist-header {
|
background: @playlistBackgroundColor;
|
||||||
background: @playlistBackgroundColor;
|
.playlist-header {
|
||||||
color: @colorRed;
|
background: @playlistBackgroundColor;
|
||||||
border-bottom: 2px solid @playlistHeaderBorder;
|
color: @colorRed;
|
||||||
}
|
border-bottom: 2px solid @playlistHeaderBorder;
|
||||||
li.sound {
|
}
|
||||||
color: @playlistSoundColor;
|
li.sound {
|
||||||
|
color: @playlistSoundColor;
|
||||||
}
|
|
||||||
a.sound-control {
|
}
|
||||||
color: @linkColor;
|
a.sound-control {
|
||||||
}
|
color: @linkColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
#compendium {
|
}
|
||||||
.compendium-entity {
|
#compendium {
|
||||||
background: @compendiumEntityBackground !important;
|
.compendium-entity {
|
||||||
h3 {
|
background: @compendiumEntityBackground !important;
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
h3 {
|
||||||
}
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
ol.compendium-list {
|
}
|
||||||
li.compendium-pack {
|
ol.compendium-list {
|
||||||
&:nth-child(even) {
|
li.compendium-pack {
|
||||||
background: rgba(@altRowBackground, 0.3);
|
&:nth-child(even) {
|
||||||
}
|
background: rgba(@altRowBackground, 0.3);
|
||||||
.pack-title {
|
}
|
||||||
.status-icons {
|
.pack-title {
|
||||||
color: @compendiumStatusIcon;
|
.status-icons {
|
||||||
}
|
color: @compendiumStatusIcon;
|
||||||
}
|
}
|
||||||
footer.compendium-footer {
|
}
|
||||||
color: @bodyFontColor;
|
footer.compendium-footer {
|
||||||
}
|
color: @bodyFontColor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#settings {
|
|
||||||
h2 {
|
#settings {
|
||||||
color: @headingColor;
|
h2 {
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
color: @headingColor;
|
||||||
}
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
}
|
||||||
color: @bodyFontColor;
|
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||||
}
|
color: @bodyFontColor;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,500 +1,500 @@
|
||||||
#sidebar {
|
#sidebar {
|
||||||
border: none; //1px solid @colorBlue;
|
border: none; //1px solid @colorBlue;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar-tabs {
|
#sidebar-tabs {
|
||||||
border: none;
|
border: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
background: white;
|
background: white;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
& > .collapse {
|
& > .collapse {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
.item {
|
.item {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
.item.active {
|
.item.active {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 3px solid @colorRed;
|
border-bottom: 3px solid @colorRed;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
background: none;
|
background: none;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------
|
/*-----------
|
||||||
** Chat Tab
|
** Chat Tab
|
||||||
-----------*/
|
-----------*/
|
||||||
|
|
||||||
#chat-log {
|
#chat-log {
|
||||||
.chat-message {
|
.chat-message {
|
||||||
background: white;
|
background: white;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
& > header {
|
& > header {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
span {
|
span {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.notification-pip {
|
.notification-pip {
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sw5e.chat-card,
|
.sw5e.chat-card,
|
||||||
.midi-qol-item-card {
|
.midi-qol-item-card {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
|
|
||||||
.card-header {
|
.card-header {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: none;
|
border: none;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
flex: 0 0 36px;
|
flex: 0 0 36px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
.russoOne(17px);
|
.russoOne(17px);
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-content {
|
.card-content {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
> * {
|
> * {
|
||||||
-webkit-user-select: text;
|
-webkit-user-select: text;
|
||||||
-moz-user-select: text;
|
-moz-user-select: text;
|
||||||
-ms-user-select: text;
|
-ms-user-select: text;
|
||||||
user-select: text;
|
user-select: text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-buttons {
|
.card-buttons {
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
display: block;
|
display: block;
|
||||||
line-height: 28px;
|
line-height: 28px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border: 1px solid @colorLightGray;
|
border: 1px solid @colorLightGray;
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
height: auto;
|
height: auto;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
margin: 4px 0;
|
margin: 4px 0;
|
||||||
background: @colorRed;
|
background: @colorRed;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
background-color: lighten(@colorRed, 5);
|
background-color: lighten(@colorRed, 5);
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-footer {
|
.card-footer {
|
||||||
padding: 4px 0 0;
|
padding: 4px 0 0;
|
||||||
border-top: 1px solid @colorLightBlue;
|
border-top: 1px solid @colorLightBlue;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
border-right: 2px groove #FFF;
|
border-right: 2px groove #FFF;
|
||||||
padding: 0 4px 0 0;
|
padding: 0 4px 0 0;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.dice-roll {
|
.dice-roll {
|
||||||
|
|
||||||
.dice-formula {
|
.dice-formula {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.dice-total {
|
.dice-total {
|
||||||
background: @colorPaleBlue;
|
background: @colorPaleBlue;
|
||||||
border: 1px solid @colorBlue;
|
border: 1px solid @colorBlue;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
box-shadow: 0 0 12px rgba(@colorBlue,.5);
|
box-shadow: 0 0 12px rgba(@colorBlue,.5);
|
||||||
&.success {
|
&.success {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
background: #c7d0c0;
|
background: #c7d0c0;
|
||||||
border: 1px solid #006c00;
|
border: 1px solid #006c00;
|
||||||
}
|
}
|
||||||
&.failure {
|
&.failure {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
background: #ffdddd;
|
background: #ffdddd;
|
||||||
border: 1px solid #6e0000;
|
border: 1px solid #6e0000;
|
||||||
}
|
}
|
||||||
&.critical {
|
&.critical {
|
||||||
color: @colorGreen;
|
color: @colorGreen;
|
||||||
background: @colorPaleGreen;
|
background: @colorPaleGreen;
|
||||||
box-shadow: 0 0 12px rgba(@colorGreen,.5);
|
box-shadow: 0 0 12px rgba(@colorGreen,.5);
|
||||||
}
|
}
|
||||||
&.fumble {
|
&.fumble {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#chat-controls {
|
#chat-controls {
|
||||||
&.roll-type-select {
|
&.roll-type-select {
|
||||||
background: #4f4f4f;
|
background: #4f4f4f;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
padding-top: 4px;
|
padding-top: 4px;
|
||||||
label {
|
label {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#chat-form textarea {
|
#chat-form textarea {
|
||||||
background: #4f4f4f;
|
background: #4f4f4f;
|
||||||
&:focus {
|
&:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-----------
|
/*-----------
|
||||||
** Combat Tab
|
** Combat Tab
|
||||||
-----------*/
|
-----------*/
|
||||||
#combat {
|
#combat {
|
||||||
#combat-round {
|
#combat-round {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
.encounters {
|
.encounters {
|
||||||
h4 {
|
h4 {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
color: @colorGray;
|
color: @colorGray;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#combat-tracker {
|
#combat-tracker {
|
||||||
//padding-top: 4px;
|
//padding-top: 4px;
|
||||||
li.combatant {
|
li.combatant {
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
background: none;
|
background: none;
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background: rgba(@colorPaleBlue, 0.5);
|
background: rgba(@colorPaleBlue, 0.5);
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
.roll {
|
.roll {
|
||||||
background: none;
|
background: none;
|
||||||
color: @colorGray;
|
color: @colorGray;
|
||||||
&::before {
|
&::before {
|
||||||
content: "\f6cf";
|
content: "\f6cf";
|
||||||
.fontAwesome();
|
.fontAwesome();
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.combatant-control {
|
.combatant-control {
|
||||||
color: @colorLightGray;
|
color: @colorLightGray;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
&.active {
|
&.active {
|
||||||
color: @colorDarkGray;
|
color: @colorDarkGray;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.token-resource {
|
.token-resource {
|
||||||
color: @colorGray;
|
color: @colorGray;
|
||||||
border-right: 1px solid @colorLightGray;
|
border-right: 1px solid @colorLightGray;
|
||||||
}
|
}
|
||||||
.initiative {
|
.initiative {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
}
|
}
|
||||||
&.active {
|
&.active {
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
.initiative, h4 {
|
.initiative, h4 {
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.hidden {
|
&.hidden {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#combat-controls {
|
#combat-controls {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
border-top: 1px solid @colorBlue;
|
border-top: 1px solid @colorBlue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Folders
|
** Folders
|
||||||
*/
|
*/
|
||||||
.sidebar-tab {
|
.sidebar-tab {
|
||||||
.directory-header {
|
.directory-header {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
.header-search {
|
.header-search {
|
||||||
position: relative;
|
position: relative;
|
||||||
i.fa-search {
|
i.fa-search {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 8px;
|
left: 8px;
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
}
|
}
|
||||||
input {
|
input {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 22px;
|
padding-left: 22px;
|
||||||
background: white;
|
background: white;
|
||||||
&:focus {
|
&:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.subdirectory {
|
.subdirectory {
|
||||||
border: none;
|
border: none;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
background: white;
|
background: white;
|
||||||
min-height: 8px;
|
min-height: 8px;
|
||||||
.folder {
|
.folder {
|
||||||
border-left: 2px solid rgba(@colorBlack, 0.4);
|
border-left: 2px solid rgba(@colorBlack, 0.4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.directory-list {
|
.directory-list {
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
li + li {
|
li + li {
|
||||||
border-top: 1px solid @colorBlue;
|
border-top: 1px solid @colorBlue;
|
||||||
}
|
}
|
||||||
.folder {
|
.folder {
|
||||||
& > .folder-header {
|
& > .folder-header {
|
||||||
line-height: default;
|
line-height: default;
|
||||||
padding: 0 0 0 8px;
|
padding: 0 0 0 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
border: none;
|
border: none;
|
||||||
background: white;
|
background: white;
|
||||||
h3 {
|
h3 {
|
||||||
padding: 8px 4px;
|
padding: 8px 4px;
|
||||||
background: white;
|
background: white;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
& > i {
|
& > i {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 4px;
|
right: 4px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
color: @colorLightGray;
|
color: @colorLightGray;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.create-folder {
|
&.create-folder {
|
||||||
right: 28px;
|
right: 28px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.collapsed > .folder-header {
|
&.collapsed > .folder-header {
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
& + .entity {
|
& + .entity {
|
||||||
border-top: 1px solid @colorBlue;
|
border-top: 1px solid @colorBlue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.directory-item img {
|
.directory-item img {
|
||||||
flex: 0 0 32px;
|
flex: 0 0 32px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
width: 32px;
|
width: 32px;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
}
|
}
|
||||||
.actor, .item, .journal, .table {
|
.actor, .item, .journal, .table {
|
||||||
background: white;
|
background: white;
|
||||||
border: none;
|
border: none;
|
||||||
.entity-name {
|
.entity-name {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background: rgba(@colorPaleBlue, 0.3);
|
background: rgba(@colorPaleBlue, 0.3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#scenes {
|
#scenes {
|
||||||
.subdirectory {
|
.subdirectory {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
}
|
}
|
||||||
.scene {
|
.scene {
|
||||||
border: none;
|
border: none;
|
||||||
border-top: 1px solid @colorBlue;
|
border-top: 1px solid @colorBlue;
|
||||||
border-left: 4px solid @colorBlue;
|
border-left: 4px solid @colorBlue;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
//margin-bottom: 4px;
|
//margin-bottom: 4px;
|
||||||
& + .scene {
|
& + .scene {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
&::after {
|
&::after {
|
||||||
content: '';
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 99px;
|
height: 99px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 28px;
|
top: 28px;
|
||||||
left: 0;
|
left: 0;
|
||||||
box-shadow: 0 0 20px @colorBlue inset;
|
box-shadow: 0 0 20px @colorBlue inset;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
text-align: left;
|
text-align: left;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
padding: 4px 4px 4px 12px;
|
padding: 4px 4px 4px 12px;
|
||||||
background: white;
|
background: white;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#playlists {
|
#playlists {
|
||||||
.directory-list {
|
.directory-list {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
li.playlist {
|
li.playlist {
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: white;
|
background: white;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
border-top: inherit;
|
border-top: inherit;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
.playlist-header {
|
.playlist-header {
|
||||||
background: white;
|
background: white;
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
}
|
}
|
||||||
li.sound {
|
li.sound {
|
||||||
border: none;
|
border: none;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
h4 {
|
h4 {
|
||||||
.openSans(13px, 400);
|
.openSans(13px, 400);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
a.sound-control {
|
a.sound-control {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#compendium {
|
#compendium {
|
||||||
.compendium-entity {
|
.compendium-entity {
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
background: white !important;
|
background: white !important;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
&+ .compendium-entity {
|
&+ .compendium-entity {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
border: none;
|
border: none;
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
.russoOne(17px);
|
.russoOne(17px);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
ol.compendium-list {
|
ol.compendium-list {
|
||||||
li.compendium-pack {
|
li.compendium-pack {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
&:nth-child(even) {
|
&:nth-child(even) {
|
||||||
background: rgba(@colorPaleBlue, 0.3);
|
background: rgba(@colorPaleBlue, 0.3);
|
||||||
}
|
}
|
||||||
.pack-title {
|
.pack-title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
a {
|
a {
|
||||||
.openSans(13px, 700);
|
.openSans(13px, 700);
|
||||||
i {
|
i {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.status-icons {
|
.status-icons {
|
||||||
top: 4px;
|
top: 4px;
|
||||||
color: @colorLightGray;
|
color: @colorLightGray;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
footer.compendium-footer {
|
footer.compendium-footer {
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#settings {
|
#settings {
|
||||||
h2 {
|
h2 {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 2px solid @colorBlue;
|
border-bottom: 2px solid @colorBlue;
|
||||||
margin: 0 8px;
|
margin: 0 8px;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
#game-details, #settings-game, #settings-documentation, #settings-access {
|
#game-details, #settings-game, #settings-documentation, #settings-access {
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
margin: 0 0 8px;
|
margin: 0 0 8px;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,47 +1,47 @@
|
||||||
@import "_variables.less";
|
@import "_variables.less";
|
||||||
@import "_variables-dark.less";
|
@import "_variables-dark.less";
|
||||||
|
|
||||||
body.dark-theme {
|
body.dark-theme {
|
||||||
.app {
|
.app {
|
||||||
background: @primaryBackground;
|
background: @primaryBackground;
|
||||||
}
|
}
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:active {
|
&:active {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
background-color: @blockquoteBackground;
|
background-color: @blockquoteBackground;
|
||||||
border: 1px solid @blockquoteBorder;
|
border: 1px solid @blockquoteBorder;
|
||||||
box-shadow: @blockquoteShadow;
|
box-shadow: @blockquoteShadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
border-width: 0 0 1px 0;
|
border-width: 0 0 1px 0;
|
||||||
border-bottom: 1px solid @hrColor;
|
border-bottom: 1px solid @hrColor;
|
||||||
}
|
}
|
||||||
@import "components/forms-themes.less";
|
@import "components/forms-themes.less";
|
||||||
@import "components/sidebar-themes.less";
|
@import "components/sidebar-themes.less";
|
||||||
@import "components/foundry-nav-themes.less";
|
@import "components/foundry-nav-themes.less";
|
||||||
@import "components/foundry-app-window-themes.less";
|
@import "components/foundry-app-window-themes.less";
|
||||||
@import "components/actor-themes.less";
|
@import "components/actor-themes.less";
|
||||||
}
|
}
|
|
@ -1,194 +1,194 @@
|
||||||
/* open-sans-regular - latin */
|
/* open-sans-regular - latin */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/OpenSans-Regular.ttf');
|
src: url('./fonts/OpenSans-Regular.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/OpenSans-Italic.ttf');
|
src: url('./fonts/OpenSans-Italic.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url('./fonts/OpenSans-Bold.ttf');
|
src: url('./fonts/OpenSans-Bold.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Open Sans';
|
font-family: 'Open Sans';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url('./fonts/OpenSans-BoldItalic.ttf');
|
src: url('./fonts/OpenSans-BoldItalic.ttf');
|
||||||
}
|
}
|
||||||
/* russo-one-regular - latin */
|
/* russo-one-regular - latin */
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Russo One';
|
font-family: 'Russo One';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/RussoOne.ttf');
|
src: url('./fonts/RussoOne.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Russo One';
|
font-family: 'Russo One';
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/RussoOne.ttf');
|
src: url('./fonts/RussoOne.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Russo One';
|
font-family: 'Russo One';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
src: url('./fonts/RussoOne.ttf');
|
src: url('./fonts/RussoOne.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Aurebesh';
|
font-family: 'Aurebesh';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/Aurebesh.ttf');
|
src: url('./fonts/Aurebesh.ttf');
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Engli-Besh';
|
font-family: 'Engli-Besh';
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
src: url('./fonts/EngliBesh-KG3W.ttf');
|
src: url('./fonts/EngliBesh-KG3W.ttf');
|
||||||
}
|
}
|
||||||
@import "_variables.less";
|
@import "_variables.less";
|
||||||
|
|
||||||
html {
|
html {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
*, *:before, *:after {
|
*, *:before, *:after {
|
||||||
box-sizing: inherit;
|
box-sizing: inherit;
|
||||||
}
|
}
|
||||||
// ::-webkit-scrollbar {
|
// ::-webkit-scrollbar {
|
||||||
// width: 6px;
|
// width: 6px;
|
||||||
// height: 6px;
|
// height: 6px;
|
||||||
// }
|
// }
|
||||||
::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
border: 1px solid @colorBlue;
|
border: 1px solid @colorBlue;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
outline: none;
|
outline: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: @colorBlue;
|
background: @colorBlue;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
:root {
|
:root {
|
||||||
scrollbar-width: thin;
|
scrollbar-width: thin;
|
||||||
scrollbar-color: @colorBlue @colorPaleBlue;
|
scrollbar-color: @colorBlue @colorPaleBlue;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
.openSans(13px, 400);
|
.openSans(13px, 400);
|
||||||
background-image: url('./ui/SW5e-logo.svg');
|
background-image: url('./ui/SW5e-logo.svg');
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
.russoOne(34px);
|
.russoOne(34px);
|
||||||
}
|
}
|
||||||
h2 {
|
h2 {
|
||||||
.russoOne(27px);
|
.russoOne(27px);
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
.russoOne(21px);
|
.russoOne(21px);
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
.russoOne(17px);
|
.russoOne(17px);
|
||||||
}
|
}
|
||||||
h5, h6 {
|
h5, h6 {
|
||||||
.russoOne(13px);
|
.russoOne(13px);
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
&:hover, &:active {
|
&:hover, &:active {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.app {
|
.app {
|
||||||
border: none;// 1px solid @colorBlue;
|
border: none;// 1px solid @colorBlue;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
}
|
}
|
||||||
#pause {
|
#pause {
|
||||||
img {display: none;}
|
img {display: none;}
|
||||||
background: none;
|
background: none;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
&::before {
|
&::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
margin-left: -64px;
|
margin-left: -64px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
width: 128px;
|
width: 128px;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
background: url("ui/pause-inner.svg") no-repeat 50% 50%;
|
background: url("ui/pause-inner.svg") no-repeat 50% 50%;
|
||||||
animation-name: pause-spin;
|
animation-name: pause-spin;
|
||||||
animation-duration: 10000ms;
|
animation-duration: 10000ms;
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: linear;
|
||||||
}
|
}
|
||||||
&::after {
|
&::after {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
margin-left: -64px;
|
margin-left: -64px;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
width: 128px;
|
width: 128px;
|
||||||
height: 128px;
|
height: 128px;
|
||||||
background: url("ui/pause-outer.svg") no-repeat 50% 50%;
|
background: url("ui/pause-outer.svg") no-repeat 50% 50%;
|
||||||
animation-name: pause-spin;
|
animation-name: pause-spin;
|
||||||
animation-duration: 5000ms;
|
animation-duration: 5000ms;
|
||||||
animation-iteration-count: infinite;
|
animation-iteration-count: infinite;
|
||||||
animation-timing-function: linear;
|
animation-timing-function: linear;
|
||||||
animation-direction: reverse;
|
animation-direction: reverse;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
width: 256px;
|
width: 256px;
|
||||||
margin-left: -128px;
|
margin-left: -128px;
|
||||||
margin-top: -13px;
|
margin-top: -13px;
|
||||||
text-shadow: 0 0 24px @colorBlue;
|
text-shadow: 0 0 24px @colorBlue;
|
||||||
&::before, &::after {
|
&::before, &::after {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-family: "Aurebesh", sans-serif;
|
font-family: "Aurebesh", sans-serif;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: @colorGray;
|
color: @colorGray;
|
||||||
animation: none;
|
animation: none;
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
text-shadow: 0 0 8px @colorBlue;
|
text-shadow: 0 0 8px @colorBlue;
|
||||||
}
|
}
|
||||||
&::before {
|
&::before {
|
||||||
content: "GAME";
|
content: "GAME";
|
||||||
top: -13px;
|
top: -13px;
|
||||||
left: 42px;
|
left: 42px;
|
||||||
}
|
}
|
||||||
&::after {
|
&::after {
|
||||||
content: "PAUSED";
|
content: "PAUSED";
|
||||||
bottom: -13px;
|
bottom: -13px;
|
||||||
right: 42px;
|
right: 42px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@import "components/forms-global.less";
|
@import "components/forms-global.less";
|
||||||
@import "components/sidebar-global.less";
|
@import "components/sidebar-global.less";
|
||||||
@import "components/actor-global.less";
|
@import "components/actor-global.less";
|
||||||
|
|
||||||
@keyframes pause-spin {
|
@keyframes pause-spin {
|
||||||
from {
|
from {
|
||||||
transform:rotate(0deg);
|
transform:rotate(0deg);
|
||||||
}
|
}
|
||||||
to {
|
to {
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,47 +1,47 @@
|
||||||
@import "_variables.less";
|
@import "_variables.less";
|
||||||
@import "_variables-light.less";
|
@import "_variables-light.less";
|
||||||
|
|
||||||
body.light-theme {
|
body.light-theme {
|
||||||
.app {
|
.app {
|
||||||
background: @primaryBackground;
|
background: @primaryBackground;
|
||||||
}
|
}
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
h3,
|
h3,
|
||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
color: @headingColor;
|
color: @headingColor;
|
||||||
}
|
}
|
||||||
h3 {
|
h3 {
|
||||||
border-bottom: 2px solid @headerBorderColor;
|
border-bottom: 2px solid @headerBorderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @linkColor;
|
color: @linkColor;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:active {
|
&:active {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
blockquote {
|
blockquote {
|
||||||
padding: 4px 8px;
|
padding: 4px 8px;
|
||||||
background-color: @blockquoteBackground;
|
background-color: @blockquoteBackground;
|
||||||
border: 1px solid @blockquoteBorder;
|
border: 1px solid @blockquoteBorder;
|
||||||
box-shadow: @blockquoteShadow;
|
box-shadow: @blockquoteShadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
border-width: 0 0 1px 0;
|
border-width: 0 0 1px 0;
|
||||||
border-bottom: 1px solid @hrColor;
|
border-bottom: 1px solid @hrColor;
|
||||||
}
|
}
|
||||||
@import "components/forms-themes.less";
|
@import "components/forms-themes.less";
|
||||||
@import "components/sidebar-themes.less";
|
@import "components/sidebar-themes.less";
|
||||||
@import "components/foundry-nav-themes.less";
|
@import "components/foundry-nav-themes.less";
|
||||||
@import "components/foundry-app-window-themes.less";
|
@import "components/foundry-app-window-themes.less";
|
||||||
@import "components/actor-themes.less";
|
@import "components/actor-themes.less";
|
||||||
}
|
}
|
|
@ -1,61 +1,61 @@
|
||||||
@import "variables.less";
|
@import "variables.less";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
a {
|
a {
|
||||||
color: @colorRed;
|
color: @colorRed;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
&:hover, &:active {
|
&:hover, &:active {
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.app {
|
.app {
|
||||||
background: @sheetBackground;
|
background: @sheetBackground;
|
||||||
border: none;// 1px solid @colorBlue;
|
border: none;// 1px solid @colorBlue;
|
||||||
.dropShadow1();
|
.dropShadow1();
|
||||||
}
|
}
|
||||||
|
|
||||||
#context-menu {
|
#context-menu {
|
||||||
background: none;
|
background: none;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
color: @colorBlack;
|
color: @colorBlack;
|
||||||
padding: 0 8px;
|
padding: 0 8px;
|
||||||
ol.context-items {
|
ol.context-items {
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid @colorLightGray;
|
border: 1px solid @colorLightGray;
|
||||||
.dropShadow2();
|
.dropShadow2();
|
||||||
li.context-item {
|
li.context-item {
|
||||||
&:first-child {
|
&:first-child {
|
||||||
border-top-left-radius: 4px;
|
border-top-left-radius: 4px;
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
}
|
}
|
||||||
&:last-child {
|
&:last-child {
|
||||||
border-bottom-left-radius: 4px;
|
border-bottom-left-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
}
|
}
|
||||||
i {
|
i {
|
||||||
color: @colorBlue;
|
color: @colorBlue;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: @colorRed;
|
background: @colorRed;
|
||||||
color: white;
|
color: white;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
i {
|
i {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
& + li {
|
& + li {
|
||||||
border-top: 1px solid @colorPaleGray;
|
border-top: 1px solid @colorPaleGray;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@import "components/forms.less";
|
@import "components/forms.less";
|
||||||
@import "components/sidebar.less";
|
@import "components/sidebar.less";
|
|
@ -92,7 +92,7 @@ export default class Actor5e extends Actor {
|
||||||
init.total = init.mod + init.prof + init.bonus;
|
init.total = init.mod + init.prof + init.bonus;
|
||||||
|
|
||||||
// Prepare power-casting data
|
// Prepare power-casting data
|
||||||
data.attributes.powerdc = data.attributes.powercasting ? data.abilities[data.attributes.powercasting].dc : 10;
|
data.attributes.powerdc = data.attributes.powercasting && data.attributes.powercasting !== "none" ? data.abilities[data.attributes.powercasting].dc : 10;
|
||||||
this._computePowercastingProgression(this.data);
|
this._computePowercastingProgression(this.data);
|
||||||
|
|
||||||
// Compute owned item attributes which depend on prepared Actor data
|
// Compute owned item attributes which depend on prepared Actor data
|
||||||
|
|
121
module/characterImporter.js
Normal file
121
module/characterImporter.js
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
export default class CharacterImporter {
|
||||||
|
|
||||||
|
// transform JSON from sw5e.com to Foundry friendly format
|
||||||
|
// and insert new actor
|
||||||
|
static async transform(rawCharacter){
|
||||||
|
const sourceCharacter = JSON.parse(rawCharacter); //source character
|
||||||
|
|
||||||
|
const details = {
|
||||||
|
species: sourceCharacter.attribs.find(e => e.name == "race").current,
|
||||||
|
background: sourceCharacter.attribs.find(e => e.name == "background").current,
|
||||||
|
alignment: sourceCharacter.attribs.find(e => e.name == "alignment").current
|
||||||
|
}
|
||||||
|
|
||||||
|
const hp = {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "hp").current,
|
||||||
|
min: 0,
|
||||||
|
max: sourceCharacter.attribs.find(e => e.name == "hp").current,
|
||||||
|
temp: sourceCharacter.attribs.find(e => e.name == "hp_temp").current
|
||||||
|
};
|
||||||
|
|
||||||
|
const ac = {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "ac").current
|
||||||
|
};
|
||||||
|
|
||||||
|
const abilities = {
|
||||||
|
str: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "strength").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'strength_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
dex: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "dexterity").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'dexterity_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
con: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "constitution").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'constitution_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
int: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "intelligence").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'intelligence_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
wis: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "wisdom").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'wisdom_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
cha: {
|
||||||
|
value: sourceCharacter.attribs.find(e => e.name == "charisma").current,
|
||||||
|
proficient: sourceCharacter.attribs.find(e => e.name == 'charisma_save_prof').current ? 1 : 0
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const targetCharacter = {
|
||||||
|
name: sourceCharacter.name,
|
||||||
|
type: "character",
|
||||||
|
data: {
|
||||||
|
abilities: abilities,
|
||||||
|
details: details,
|
||||||
|
attributes: {
|
||||||
|
ac: ac,
|
||||||
|
hp: hp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let actor = await Actor.create(targetCharacter);
|
||||||
|
|
||||||
|
const profession = sourceCharacter.attribs.find(e => e.name == "class").current;
|
||||||
|
let professionLevel = sourceCharacter.attribs.find(e => e.name == "class_display").current;
|
||||||
|
professionLevel = parseInt( professionLevel.replace(/[^0-9]/g,'') ); //remove a-z, leaving only integers
|
||||||
|
CharacterImporter.addClasses(profession, professionLevel, actor);
|
||||||
|
}
|
||||||
|
|
||||||
|
static async addClasses(profession, level, actor){
|
||||||
|
let classes = await game.packs.get('sw5e.classes').getContent();
|
||||||
|
let assignedClass = classes.find( c => c.name === profession );
|
||||||
|
assignedClass.data.data.levels = level;
|
||||||
|
await actor.createEmbeddedEntity("OwnedItem", assignedClass.data, { displaySheet: false });
|
||||||
|
}
|
||||||
|
|
||||||
|
static addImportButton(html){
|
||||||
|
const header = $("#actors").find("header.directory-header");
|
||||||
|
const search = $("#actors").children().find("div.header-search");
|
||||||
|
const newImportButtonDiv = $("#actors").children().find("div.header-actions").clone();
|
||||||
|
const newSearch = search.clone();
|
||||||
|
search.remove();
|
||||||
|
newImportButtonDiv.attr('id', 'character-sheet-import');
|
||||||
|
header.append(newImportButtonDiv);
|
||||||
|
newImportButtonDiv.children("button").remove();
|
||||||
|
newImportButtonDiv.append("<button class='create-entity' id='cs-import-button'><i class='fas fa-upload'></i> Import Character</button>");
|
||||||
|
newSearch.appendTo(header);
|
||||||
|
|
||||||
|
let characterImportButton = $("#cs-import-button");
|
||||||
|
characterImportButton.click(ev => {
|
||||||
|
let content = '<h1>Saved Character JSON Import</h1> '
|
||||||
|
+ '<label for="character-json">Paste character JSON here:</label> '
|
||||||
|
+ '</br>'
|
||||||
|
+ '<textarea id="character-json" name="character-json" rows="10" cols="50"></textarea>';
|
||||||
|
let importDialog = new Dialog({
|
||||||
|
title: "Import Character from SW5e.com",
|
||||||
|
content: content,
|
||||||
|
buttons: {
|
||||||
|
"Import": {
|
||||||
|
icon: '<i class="fas fa-file-import"></i>',
|
||||||
|
label: "Import Character",
|
||||||
|
callback: (e) => {
|
||||||
|
let characterData = $('#character-json').val();
|
||||||
|
console.log('Parsing Character JSON');
|
||||||
|
CharacterImporter.transform(characterData);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Cancel": {
|
||||||
|
icon: '<i class="fas fa-times-circle"></i>',
|
||||||
|
label: "Cancel",
|
||||||
|
callback: () => {},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
importDialog.render(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -274,7 +274,7 @@ SW5E.consumableTypes = {
|
||||||
"food": "SW5E.ConsumableFood",
|
"food": "SW5E.ConsumableFood",
|
||||||
"medpac": "SW5E.ConsumableMedpac",
|
"medpac": "SW5E.ConsumableMedpac",
|
||||||
"technology": "SW5E.ConsumableTechnology",
|
"technology": "SW5E.ConsumableTechnology",
|
||||||
"ammunition": "SW5E.ConsumableAmmunition",
|
"ammo": "SW5E.ConsumableAmmunition",
|
||||||
"trinket": "SW5E.ConsumableTrinket",
|
"trinket": "SW5E.ConsumableTrinket",
|
||||||
"force": "SW5E.ConsumableForce",
|
"force": "SW5E.ConsumableForce",
|
||||||
"tech": "SW5E.ConsumableTech"
|
"tech": "SW5E.ConsumableTech"
|
||||||
|
|
|
@ -399,7 +399,7 @@ export default class Item5e extends Item {
|
||||||
// Define follow-up actions resulting from the item usage
|
// Define follow-up actions resulting from the item usage
|
||||||
let createMeasuredTemplate = hasArea; // Trigger a template creation
|
let createMeasuredTemplate = hasArea; // Trigger a template creation
|
||||||
let consumeRecharge = !!recharge.value; // Consume recharge
|
let consumeRecharge = !!recharge.value; // Consume recharge
|
||||||
let consumeResource = !!resource.target && (resource.type !== "ammo") // Consume a linked (non-ammo) resource
|
let consumeResource = !!resource.target && resource.type !== "ammo" && !['simpleB', 'martialB'].includes(id.weaponType); // Consume a linked (non-ammo) resource, ignore if use is from a blaster
|
||||||
let consumePowerSlot = requirePowerSlot; // Consume a power slot
|
let consumePowerSlot = requirePowerSlot; // Consume a power slot
|
||||||
let consumeUsage = !!uses.per; // Consume limited uses
|
let consumeUsage = !!uses.per; // Consume limited uses
|
||||||
let consumeQuantity = uses.autoDestroy; // Consume quantity of the item in lieu of uses
|
let consumeQuantity = uses.autoDestroy; // Consume quantity of the item in lieu of uses
|
||||||
|
|
BIN
packs/Icons/Archetypes/Pugnacity Practice.webp
Normal file
BIN
packs/Icons/Archetypes/Pugnacity Practice.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
BIN
packs/Icons/Species/Ho'Din.webp
Normal file
BIN
packs/Icons/Species/Ho'Din.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.3 KiB |
|
@ -52,7 +52,7 @@
|
||||||
{"name":"Traz","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"tool","data":{"description":{"value":"","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":6,"price":300,"attuned":false,"equipped":false,"rarity":"","identified":true,"ability":"int","chatFlavor":"","proficient":0,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Musical%20Instrument/Traz.webp","_id":"UQu4duMtxYEXKAbo"}
|
{"name":"Traz","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"tool","data":{"description":{"value":"","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":6,"price":300,"attuned":false,"equipped":false,"rarity":"","identified":true,"ability":"int","chatFlavor":"","proficient":0,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Musical%20Instrument/Traz.webp","_id":"UQu4duMtxYEXKAbo"}
|
||||||
{"name":"Tent, two-person","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"","chat":"","unidentified":""},"source":"","quantity":1,"weight":5,"price":20,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Utility/Tent.webp","_id":"UxL0trd3omeqzBk4"}
|
{"name":"Tent, two-person","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"","chat":"","unidentified":""},"source":"","quantity":1,"weight":5,"price":20,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Utility/Tent.webp","_id":"UxL0trd3omeqzBk4"}
|
||||||
{"name":"Homing Beacon","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"<p>A homing beacon is a device used to track starships or any other entity being transported. Homing beacons transmit using non-mass HoloNet transceivers able to be tracked through hyperspace. Homing beacons are small enough that they can easily be hidden inside a ship, or tucked into some crevice on its exterior.</p>","chat":"","unidentified":""},"source":"","quantity":1,"weight":1,"price":450,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Utility/Homing%20Beacon.webp","_id":"V2hSxkLfq461mvNz"}
|
{"name":"Homing Beacon","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"<p>A homing beacon is a device used to track starships or any other entity being transported. Homing beacons transmit using non-mass HoloNet transceivers able to be tracked through hyperspace. Homing beacons are small enough that they can easily be hidden inside a ship, or tucked into some crevice on its exterior.</p>","chat":"","unidentified":""},"source":"","quantity":1,"weight":1,"price":450,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Utility/Homing%20Beacon.webp","_id":"V2hSxkLfq461mvNz"}
|
||||||
{"name":"Power Cell","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"consumable","data":{"description":{"value":"<p>Power cells fuel blaster weapons that deal energy or ion damage. Additionally, power cells are used to energize certain tools.</p>","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":1,"price":10,"attuned":false,"equipped":false,"rarity":"","identified":true,"activation":{"type":"","cost":null,"condition":""},"duration":{"value":null,"units":""},"target":{"value":null,"units":"","type":""},"range":{"value":null,"long":null,"units":""},"uses":{"value":0,"max":0,"per":"","autoDestroy":false},"consume":{"type":"","target":"","amount":null},"ability":null,"actionType":"","attackBonus":0,"chatFlavor":"","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"consumableType":"ammo","attributes":{"spelldc":10}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Ammunition/Power%20Cell.webp","_id":"VUkO1T2aYMuUcBZM"}
|
{"name":"Power Cell","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"consumable","data":{"description":{"value":"<p>Power cells fuel blaster weapons that deal energy or ion damage. Additionally, power cells are used to energize certain tools.</p>","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":1,"price":10,"attuned":false,"equipped":false,"rarity":"","identified":true,"activation": {"type": "none","cost": null,"condition": ""},"duration": {"value": null,"units": ""},"target": {"value": null,"width": null,"units": "","type": ""},range":{"value": null,"long": null,"units": ""},"uses": {"value": 100,"max": "100","per": "charges","autoDestroy": false},"consume": {"type": "","target": "","amount": null},"ability": null,"actionType": "","attackBonus": 0,"chatFlavor": "","critical": null,"damage": {"parts": [],"versatile": ""},"formula": "","save": {"ability": "","dc": null,"scaling": "spell"},"consumableType": "ammo","attributes": {"spelldc": 10},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Ammunition/Power%20Cell.webp","_id":"VUkO1T2aYMuUcBZM"}
|
||||||
{"name":"Propulsion pack","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"<p>Propulsion packs enhance underwater movement. Activating or deactivating the propulsion pack requires a bonus action and, while active, you have a swimming speed of 30 feet. The propulsion pack lasts for 1 minute per power cell (to a maximum of 10 minutes) and can be recharged by a power source or replacing the power cells.</p>","chat":"","unidentified":""},"source":"WH","quantity":1,"weight":20,"price":400,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Weapon%20or%20Armor%20Accessory/Propulsion%20Pack.webp","_id":"XR1obpDj1PqDLfA8"}
|
{"name":"Propulsion pack","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"loot","data":{"description":{"value":"<p>Propulsion packs enhance underwater movement. Activating or deactivating the propulsion pack requires a bonus action and, while active, you have a swimming speed of 30 feet. The propulsion pack lasts for 1 minute per power cell (to a maximum of 10 minutes) and can be recharged by a power source or replacing the power cells.</p>","chat":"","unidentified":""},"source":"WH","quantity":1,"weight":20,"price":400,"attuned":false,"equipped":false,"rarity":"","identified":true,"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{},"img":"systems/sw5e/packs/Icons/Weapon%20or%20Armor%20Accessory/Propulsion%20Pack.webp","_id":"XR1obpDj1PqDLfA8"}
|
||||||
{"name":"Emergency Battery","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"consumable","data":{"description":{"value":"<p>All non-expendable droids need recharging as they are used. The battery has ten uses. As an action, you can expend one use of the kit to stabilize a droid that has 0 hit points, without needing to make an Intelligence (Technology) check.</p>","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":5,"price":70,"attuned":false,"equipped":false,"rarity":"","identified":true,"activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":""},"uses":{"value":10,"max":10,"per":"charges","autoDestroy":true},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"Stabilize Droid","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"consumableType":"potion","attributes":{"spelldc":10}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Medical/Emergency%20Battery.webp","_id":"Z0YM3aYCyCRhL6cx"}
|
{"name":"Emergency Battery","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"consumable","data":{"description":{"value":"<p>All non-expendable droids need recharging as they are used. The battery has ten uses. As an action, you can expend one use of the kit to stabilize a droid that has 0 hit points, without needing to make an Intelligence (Technology) check.</p>","chat":"","unidentified":""},"source":"PHB","quantity":1,"weight":5,"price":70,"attuned":false,"equipped":false,"rarity":"","identified":true,"activation":{"type":"action","cost":1,"condition":""},"duration":{"value":null,"units":""},"target":{"value":1,"units":"","type":"creature"},"range":{"value":null,"long":null,"units":""},"uses":{"value":10,"max":10,"per":"charges","autoDestroy":true},"consume":{"type":"","target":"","amount":null},"ability":"","actionType":"other","attackBonus":0,"chatFlavor":"Stabilize Droid","critical":null,"damage":{"parts":[],"versatile":""},"formula":"","save":{"ability":"","dc":null,"scaling":"spell"},"consumableType":"potion","attributes":{"spelldc":10}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Medical/Emergency%20Battery.webp","_id":"Z0YM3aYCyCRhL6cx"}
|
||||||
{"name":"Smugglepack","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"backpack","data":{"description":{"value":"<p>This backpack comes with a main compartment that can store up to 15 lb., not exceeding a volume of 1/2 cubic foot. Additionally, it has a hidden storage compartment that can hold up to 5 lb, not exceeding a volume of 1/4 cubic foot. Finding the hidden compartment requires a DC 15 Investigation check.</p>","chat":"","unidentified":""},"source":"WH","quantity":1,"weight":6,"price":400,"attuned":false,"equipped":false,"rarity":"","identified":true,"capacity":{"type":"weight","value":20,"weightless":false},"currency":{"cp":0,"sp":0,"ep":0,"gp":0,"pp":0},"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Storage/Smugglerpack.webp","_id":"Zlj5z56A4oVQ5iEC"}
|
{"name":"Smugglepack","permission":{"default":0,"vXYkFWX6qzvOu2jc":3},"type":"backpack","data":{"description":{"value":"<p>This backpack comes with a main compartment that can store up to 15 lb., not exceeding a volume of 1/2 cubic foot. Additionally, it has a hidden storage compartment that can hold up to 5 lb, not exceeding a volume of 1/4 cubic foot. Finding the hidden compartment requires a DC 15 Investigation check.</p>","chat":"","unidentified":""},"source":"WH","quantity":1,"weight":6,"price":400,"attuned":false,"equipped":false,"rarity":"","identified":true,"capacity":{"type":"weight","value":20,"weightless":false},"currency":{"cp":0,"sp":0,"ep":0,"gp":0,"pp":0},"attributes":{"spelldc":10},"damage":{"parts":[]}},"flags":{"dynamiceffects":{"equipActive":false,"alwaysActive":false,"effects":[]}},"img":"systems/sw5e/packs/Icons/Storage/Smugglerpack.webp","_id":"Zlj5z56A4oVQ5iEC"}
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
3582
sw5e copy.css
3582
sw5e copy.css
File diff suppressed because it is too large
Load diff
|
@ -65,7 +65,7 @@ body.dark-theme input[type="date"]:hover,
|
||||||
body.dark-theme input[type="time"]:hover,
|
body.dark-theme input[type="time"]:hover,
|
||||||
body.dark-theme select:hover,
|
body.dark-theme select:hover,
|
||||||
body.dark-theme textarea:hover {
|
body.dark-theme textarea:hover {
|
||||||
border-color: #4f4f4f;
|
border-color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme input[type="text"]:focus,
|
body.dark-theme input[type="text"]:focus,
|
||||||
body.dark-theme input[type="number"]:focus,
|
body.dark-theme input[type="number"]:focus,
|
||||||
|
@ -207,7 +207,7 @@ body.dark-theme .midi-qol-item-card .card-footer span:last-child {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
}
|
}
|
||||||
body.dark-theme .dice-roll .dice-formula {
|
body.dark-theme .dice-roll .dice-formula {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
color: white;
|
color: white;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
@ -234,14 +234,15 @@ body.dark-theme .dice-roll .dice-total.fumble {
|
||||||
box-shadow: 0 0 12px rgba(232, 17, 17, 0.5);
|
box-shadow: 0 0 12px rgba(232, 17, 17, 0.5);
|
||||||
}
|
}
|
||||||
body.dark-theme #chat-controls .roll-type-select {
|
body.dark-theme #chat-controls .roll-type-select {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
color: #FFFFFF;
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.dark-theme #chat-controls label {
|
body.dark-theme #chat-controls label {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
body.dark-theme #chat-form textarea {
|
body.dark-theme #chat-form textarea {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.dark-theme #combat #combat-round {
|
body.dark-theme #combat #combat-round {
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
|
@ -260,7 +261,7 @@ body.dark-theme #combat #combat-tracker li.combatant {
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
body.dark-theme #combat #combat-tracker li.combatant:nth-child(even) {
|
body.dark-theme #combat #combat-tracker li.combatant:nth-child(even) {
|
||||||
background: rgba(79, 79, 79, 0.5);
|
background: rgba(169, 169, 169, 0.5);
|
||||||
}
|
}
|
||||||
body.dark-theme #combat #combat-tracker li.combatant h4 {
|
body.dark-theme #combat #combat-tracker li.combatant h4 {
|
||||||
color: white;
|
color: white;
|
||||||
|
@ -347,7 +348,7 @@ 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 .item:nth-child(even),
|
||||||
body.dark-theme .sidebar-tab .directory-list .journal: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) {
|
body.dark-theme .sidebar-tab .directory-list .table:nth-child(even) {
|
||||||
background: rgba(79, 79, 79, 0.3);
|
background: rgba(169, 169, 169, 0.3);
|
||||||
}
|
}
|
||||||
body.dark-theme #scenes .scene {
|
body.dark-theme #scenes .scene {
|
||||||
border-top: 1px solid #0d99cc;
|
border-top: 1px solid #0d99cc;
|
||||||
|
@ -380,7 +381,7 @@ body.dark-theme #compendium .compendium-entity h3 {
|
||||||
border-bottom: 2px solid #0d99cc;
|
border-bottom: 2px solid #0d99cc;
|
||||||
}
|
}
|
||||||
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) {
|
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack:nth-child(even) {
|
||||||
background: rgba(79, 79, 79, 0.3);
|
background: rgba(169, 169, 169, 0.3);
|
||||||
}
|
}
|
||||||
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons {
|
body.dark-theme #compendium .compendium-entity ol.compendium-list li.compendium-pack .pack-title .status-icons {
|
||||||
color: #828282;
|
color: #828282;
|
||||||
|
@ -559,7 +560,7 @@ body.dark-theme .sw5e.sheet .window-content select {
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet .window-content input:hover,
|
body.dark-theme .sw5e.sheet .window-content input:hover,
|
||||||
body.dark-theme .sw5e.sheet .window-content select:hover {
|
body.dark-theme .sw5e.sheet .window-content select:hover {
|
||||||
border-color: #4f4f4f;
|
border-color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet .window-content input:focus,
|
body.dark-theme .sw5e.sheet .window-content input:focus,
|
||||||
body.dark-theme .sw5e.sheet .window-content select:focus {
|
body.dark-theme .sw5e.sheet .window-content select:focus {
|
||||||
|
@ -592,7 +593,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[ty
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
||||||
border: 1px solid #4f4f4f;
|
border: 1px solid #a9a9a9;
|
||||||
background-color: #afc6d6;
|
background-color: #afc6d6;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
||||||
|
@ -600,11 +601,11 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value,
|
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 {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
||||||
color: #828282;
|
color: #828282;
|
||||||
|
@ -627,17 +628,17 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initiat
|
||||||
border-color: #E81111;
|
border-color: #E81111;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
border-bottom-color: #E81111;
|
border-bottom-color: #E81111;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
||||||
border-bottom: 2px solid #828282;
|
border-bottom: 2px solid #828282;
|
||||||
|
@ -669,7 +670,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 {
|
||||||
}
|
}
|
||||||
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 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 {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
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 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 {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before {
|
||||||
|
@ -694,7 +695,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .score
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
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-mod,
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
||||||
|
@ -710,7 +711,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skill
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
|
@ -720,7 +721,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources
|
||||||
background: rgba(232, 17, 17, 0.1);
|
background: rgba(232, 17, 17, 0.1);
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
||||||
color: #E81111;
|
color: #E81111;
|
||||||
|
@ -734,7 +735,7 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources
|
||||||
}
|
}
|
||||||
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,
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
||||||
color: #828282;
|
color: #828282;
|
||||||
|
@ -775,5 +776,5 @@ body.dark-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||||
border-bottom: 2px solid #0d99cc;
|
border-bottom: 2px solid #0d99cc;
|
||||||
}
|
}
|
||||||
body.dark-theme .sw5e.sheet.actor.npc .swalt-sheet header .experience {
|
body.dark-theme .sw5e.sheet.actor.npc .swalt-sheet header .experience {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
|
|
|
@ -185,7 +185,7 @@ a:active {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
font-family: "Aurebesh", sans-serif;
|
font-family: "Aurebesh", sans-serif;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
animation: none;
|
animation: none;
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
text-shadow: 0 0 8px #0d99cc;
|
text-shadow: 0 0 8px #0d99cc;
|
||||||
|
|
|
@ -65,7 +65,7 @@ body.light-theme input[type="date"]:hover,
|
||||||
body.light-theme input[type="time"]:hover,
|
body.light-theme input[type="time"]:hover,
|
||||||
body.light-theme select:hover,
|
body.light-theme select:hover,
|
||||||
body.light-theme textarea:hover {
|
body.light-theme textarea:hover {
|
||||||
border-color: #4f4f4f;
|
border-color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme input[type="text"]:focus,
|
body.light-theme input[type="text"]:focus,
|
||||||
body.light-theme input[type="number"]:focus,
|
body.light-theme input[type="number"]:focus,
|
||||||
|
@ -234,14 +234,15 @@ body.light-theme .dice-roll .dice-total.fumble {
|
||||||
box-shadow: 0 0 12px rgba(196, 15, 15, 0.5);
|
box-shadow: 0 0 12px rgba(196, 15, 15, 0.5);
|
||||||
}
|
}
|
||||||
body.light-theme #chat-controls .roll-type-select {
|
body.light-theme #chat-controls .roll-type-select {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
color: #FFFFFF;
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.light-theme #chat-controls label {
|
body.light-theme #chat-controls label {
|
||||||
color: #1C1C1C;
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.light-theme #chat-form textarea {
|
body.light-theme #chat-form textarea {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-round {
|
body.light-theme #combat #combat-round {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -251,7 +252,7 @@ body.light-theme #combat #combat-round .encounters h4 {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-round .encounters a {
|
body.light-theme #combat #combat-round .encounters a {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-round .encounters a:hover {
|
body.light-theme #combat #combat-round .encounters a:hover {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -266,7 +267,7 @@ body.light-theme #combat #combat-tracker li.combatant h4 {
|
||||||
color: #1C1C1C;
|
color: #1C1C1C;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-tracker li.combatant .roll {
|
body.light-theme #combat #combat-tracker li.combatant .roll {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-tracker li.combatant .roll:hover {
|
body.light-theme #combat #combat-tracker li.combatant .roll:hover {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -278,7 +279,7 @@ body.light-theme #combat #combat-tracker li.combatant .combatant-control.active
|
||||||
color: #363636;
|
color: #363636;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-tracker li.combatant .token-resource {
|
body.light-theme #combat #combat-tracker li.combatant .token-resource {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
border-right: 1px solid #828282;
|
border-right: 1px solid #828282;
|
||||||
}
|
}
|
||||||
body.light-theme #combat #combat-tracker li.combatant.active {
|
body.light-theme #combat #combat-tracker li.combatant.active {
|
||||||
|
@ -298,7 +299,7 @@ body.light-theme .sidebar-tab .directory-header .header-search i.fa-search {
|
||||||
color: #0d99cc;
|
color: #0d99cc;
|
||||||
}
|
}
|
||||||
body.light-theme .sidebar-tab .directory-header .header-search input {
|
body.light-theme .sidebar-tab .directory-header .header-search input {
|
||||||
background: #4f4f4f;
|
background: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sidebar-tab .subdirectory {
|
body.light-theme .sidebar-tab .subdirectory {
|
||||||
background: white;
|
background: white;
|
||||||
|
@ -320,7 +321,7 @@ body.light-theme .sidebar-tab .directory-list .folder > .folder-header h3 > i {
|
||||||
color: #0d99cc;
|
color: #0d99cc;
|
||||||
}
|
}
|
||||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a {
|
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a:hover {
|
body.light-theme .sidebar-tab .directory-list .folder > .folder-header a:hover {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -559,7 +560,7 @@ body.light-theme .sw5e.sheet .window-content select {
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet .window-content input:hover,
|
body.light-theme .sw5e.sheet .window-content input:hover,
|
||||||
body.light-theme .sw5e.sheet .window-content select:hover {
|
body.light-theme .sw5e.sheet .window-content select:hover {
|
||||||
border-color: #4f4f4f;
|
border-color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet .window-content input:focus,
|
body.light-theme .sw5e.sheet .window-content input:focus,
|
||||||
body.light-theme .sw5e.sheet .window-content select:focus {
|
body.light-theme .sw5e.sheet .window-content select:focus {
|
||||||
|
@ -592,7 +593,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet header h1.character-name input[t
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar {
|
||||||
border: 1px solid #4f4f4f;
|
border: 1px solid #a9a9a9;
|
||||||
background-color: #afc6d6;
|
background-color: #afc6d6;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar .bar {
|
||||||
|
@ -600,11 +601,11 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet header .level-experience .xpbar
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary input,
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .summary .proficiency {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value,
|
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 {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value input {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes .attribute-value .value-separator {
|
||||||
color: #828282;
|
color: #828282;
|
||||||
|
@ -627,17 +628,17 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet header .attributes footer.initia
|
||||||
border-color: #c40f0f;
|
border-color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
border-bottom-color: #c40f0f;
|
border-bottom-color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item.active:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet nav.sheet-navigation .item:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .filter-list .filter-item {
|
||||||
border-bottom: 2px solid #828282;
|
border-bottom: 2px solid #828282;
|
||||||
|
@ -669,7 +670,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item h4 {
|
||||||
}
|
}
|
||||||
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 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 {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name .item-image::before {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
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 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 {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab .group-list ol li.item .item-name.rollable:hover .item-image:hover::before {
|
||||||
|
@ -694,7 +695,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scor
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-score {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
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-mod,
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .scores li .ability-modifiers .ability-save {
|
||||||
|
@ -710,7 +711,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .abilities .skil
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button.active {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -720,7 +721,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resource
|
||||||
background: rgba(196, 15, 15, 0.1);
|
background: rgba(196, 15, 15, 0.1);
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources nav button:hover {
|
||||||
background: rgba(79, 79, 79, 0.1);
|
background: rgba(169, 169, 169, 0.1);
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.traits .trait-selector i.fas {
|
||||||
color: #c40f0f;
|
color: #c40f0f;
|
||||||
|
@ -734,7 +735,7 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resource
|
||||||
}
|
}
|
||||||
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,
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value input {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.attributes .traits-resources section.resources .resource-items .resource .attribute-value .value-separator {
|
||||||
color: #828282;
|
color: #828282;
|
||||||
|
@ -775,5 +776,5 @@ body.light-theme .sw5e.sheet.actor .swalt-sheet .tab.notes section > input {
|
||||||
border-bottom: 2px solid #0d99cc;
|
border-bottom: 2px solid #0d99cc;
|
||||||
}
|
}
|
||||||
body.light-theme .sw5e.sheet.actor.npc .swalt-sheet header .experience {
|
body.light-theme .sw5e.sheet.actor.npc .swalt-sheet header .experience {
|
||||||
color: #4f4f4f;
|
color: #a9a9a9;
|
||||||
}
|
}
|
||||||
|
|
554
sw5e.js
554
sw5e.js
|
@ -1,277 +1,279 @@
|
||||||
/**
|
/**
|
||||||
* The Star Wars 5th Edition game system for Foundry Virtual Tabletop
|
* The Star Wars 5th Edition game system for Foundry Virtual Tabletop
|
||||||
* Author: Kakeman89
|
* Author: Kakeman89
|
||||||
* Software License: GNU GPLv3
|
* Software License: GNU GPLv3
|
||||||
* Content License: https://media.wizards.com/2016/downloads/SW5E/SRD-OGL_V5.1.pdf
|
* Content License: https://media.wizards.com/2016/downloads/SW5E/SRD-OGL_V5.1.pdf
|
||||||
* Repository: https://gitlab.com/foundrynet/sw5e
|
* Repository: https://gitlab.com/foundrynet/sw5e
|
||||||
* Issue Tracker: https://gitlab.com/foundrynet/sw5e/issues
|
* Issue Tracker: https://gitlab.com/foundrynet/sw5e/issues
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Import Modules
|
// Import Modules
|
||||||
import { SW5E } from "./module/config.js";
|
import { SW5E } from "./module/config.js";
|
||||||
import { registerSystemSettings } from "./module/settings.js";
|
import { registerSystemSettings } from "./module/settings.js";
|
||||||
import { preloadHandlebarsTemplates } from "./module/templates.js";
|
import { preloadHandlebarsTemplates } from "./module/templates.js";
|
||||||
import { _getInitiativeFormula } from "./module/combat.js";
|
import { _getInitiativeFormula } from "./module/combat.js";
|
||||||
import { measureDistances, getBarAttribute } from "./module/canvas.js";
|
import { measureDistances, getBarAttribute } from "./module/canvas.js";
|
||||||
|
|
||||||
// Import Entities
|
// Import Entities
|
||||||
import Actor5e from "./module/actor/entity.js";
|
import Actor5e from "./module/actor/entity.js";
|
||||||
import Item5e from "./module/item/entity.js";
|
import Item5e from "./module/item/entity.js";
|
||||||
|
import CharacterImporter from "./module/characterImporter.js";
|
||||||
// Import Applications
|
|
||||||
import AbilityTemplate from "./module/pixi/ability-template.js";
|
// Import Applications
|
||||||
import AbilityUseDialog from "./module/apps/ability-use-dialog.js";
|
import AbilityTemplate from "./module/pixi/ability-template.js";
|
||||||
import ActorSheetFlags from "./module/apps/actor-flags.js";
|
import AbilityUseDialog from "./module/apps/ability-use-dialog.js";
|
||||||
import ActorSheet5eCharacter from "./module/actor/sheets/oldSheets/character.js";
|
import ActorSheetFlags from "./module/apps/actor-flags.js";
|
||||||
import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js";
|
import ActorSheet5eCharacter from "./module/actor/sheets/oldSheets/character.js";
|
||||||
import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js";
|
import ActorSheet5eNPC from "./module/actor/sheets/oldSheets/npc.js";
|
||||||
import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js";
|
import ActorSheet5eVehicle from "./module/actor/sheets/oldSheets/vehicle.js";
|
||||||
import ActorSheet5eNPCNew from "./module/actor/sheets/newSheet/npc.js";
|
import ActorSheet5eCharacterNew from "./module/actor/sheets/newSheet/character.js";
|
||||||
import ItemSheet5e from "./module/item/sheet.js";
|
import ActorSheet5eNPCNew from "./module/actor/sheets/newSheet/npc.js";
|
||||||
import ShortRestDialog from "./module/apps/short-rest.js";
|
import ItemSheet5e from "./module/item/sheet.js";
|
||||||
import TraitSelector from "./module/apps/trait-selector.js";
|
import ShortRestDialog from "./module/apps/short-rest.js";
|
||||||
import ActorMovementConfig from "./module/apps/movement-config.js";
|
import TraitSelector from "./module/apps/trait-selector.js";
|
||||||
import ActorSensesConfig from "./module/apps/senses-config.js";
|
import ActorMovementConfig from "./module/apps/movement-config.js";
|
||||||
|
import ActorSensesConfig from "./module/apps/senses-config.js";
|
||||||
// Import Helpers
|
|
||||||
import * as chat from "./module/chat.js";
|
// Import Helpers
|
||||||
import * as dice from "./module/dice.js";
|
import * as chat from "./module/chat.js";
|
||||||
import * as macros from "./module/macros.js";
|
import * as dice from "./module/dice.js";
|
||||||
import * as migrations from "./module/migration.js";
|
import * as macros from "./module/macros.js";
|
||||||
|
import * as migrations from "./module/migration.js";
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* Foundry VTT Initialization */
|
/* -------------------------------------------- */
|
||||||
/* -------------------------------------------- */
|
/* Foundry VTT Initialization */
|
||||||
|
/* -------------------------------------------- */
|
||||||
Hooks.once("init", function() {
|
|
||||||
console.log(`SW5e | Initializing SW5E System\n${SW5E.ASCII}`);
|
Hooks.once("init", function() {
|
||||||
|
console.log(`SW5e | Initializing SW5E System\n${SW5E.ASCII}`);
|
||||||
// Create a SW5E namespace within the game global
|
|
||||||
game.sw5e = {
|
// Create a SW5E namespace within the game global
|
||||||
applications: {
|
game.sw5e = {
|
||||||
AbilityUseDialog,
|
applications: {
|
||||||
ActorSheetFlags,
|
AbilityUseDialog,
|
||||||
ActorSheet5eCharacter,
|
ActorSheetFlags,
|
||||||
ActorSheet5eCharacterNew,
|
ActorSheet5eCharacter,
|
||||||
ActorSheet5eNPC,
|
ActorSheet5eCharacterNew,
|
||||||
ActorSheet5eNPCNew,
|
ActorSheet5eNPC,
|
||||||
ActorSheet5eVehicle,
|
ActorSheet5eNPCNew,
|
||||||
ItemSheet5e,
|
ActorSheet5eVehicle,
|
||||||
ShortRestDialog,
|
ItemSheet5e,
|
||||||
TraitSelector,
|
ShortRestDialog,
|
||||||
ActorMovementConfig
|
TraitSelector,
|
||||||
},
|
ActorMovementConfig
|
||||||
canvas: {
|
},
|
||||||
AbilityTemplate
|
canvas: {
|
||||||
},
|
AbilityTemplate
|
||||||
config: SW5E,
|
},
|
||||||
dice: dice,
|
config: SW5E,
|
||||||
entities: {
|
dice: dice,
|
||||||
Actor5e,
|
entities: {
|
||||||
Item5e,
|
Actor5e,
|
||||||
},
|
Item5e,
|
||||||
macros: macros,
|
},
|
||||||
migrations: migrations,
|
macros: macros,
|
||||||
rollItemMacro: macros.rollItemMacro
|
migrations: migrations,
|
||||||
};
|
rollItemMacro: macros.rollItemMacro
|
||||||
|
};
|
||||||
// Record Configuration Values
|
|
||||||
CONFIG.SW5E = SW5E;
|
// Record Configuration Values
|
||||||
CONFIG.Actor.entityClass = Actor5e;
|
CONFIG.SW5E = SW5E;
|
||||||
CONFIG.Item.entityClass = Item5e;
|
CONFIG.Actor.entityClass = Actor5e;
|
||||||
CONFIG.time.roundTime = 6;
|
CONFIG.Item.entityClass = Item5e;
|
||||||
CONFIG.fontFamilies = [
|
CONFIG.time.roundTime = 6;
|
||||||
"Engli-Besh",
|
CONFIG.fontFamilies = [
|
||||||
"Open Sans",
|
"Engli-Besh",
|
||||||
"Russo One"
|
"Open Sans",
|
||||||
];
|
"Russo One"
|
||||||
|
];
|
||||||
// 5e cone RAW should be 53.13 degrees
|
|
||||||
CONFIG.MeasuredTemplate.defaults.angle = 53.13;
|
// 5e cone RAW should be 53.13 degrees
|
||||||
|
CONFIG.MeasuredTemplate.defaults.angle = 53.13;
|
||||||
// Add DND5e namespace for module compatability
|
|
||||||
game.dnd5e = game.sw5e;
|
// Add DND5e namespace for module compatability
|
||||||
CONFIG.DND5E = CONFIG.SW5E;
|
game.dnd5e = game.sw5e;
|
||||||
|
CONFIG.DND5E = CONFIG.SW5E;
|
||||||
// Register System Settings
|
|
||||||
registerSystemSettings();
|
// Register System Settings
|
||||||
|
registerSystemSettings();
|
||||||
// Patch Core Functions
|
|
||||||
CONFIG.Combat.initiative.formula = "1d20 + @attributes.init.mod + @attributes.init.prof + @attributes.init.bonus";
|
// Patch Core Functions
|
||||||
Combat.prototype._getInitiativeFormula = _getInitiativeFormula;
|
CONFIG.Combat.initiative.formula = "1d20 + @attributes.init.mod + @attributes.init.prof + @attributes.init.bonus";
|
||||||
|
Combat.prototype._getInitiativeFormula = _getInitiativeFormula;
|
||||||
// Register sheet application classes
|
|
||||||
Actors.unregisterSheet("core", ActorSheet);
|
// Register sheet application classes
|
||||||
Actors.registerSheet("sw5e", ActorSheet5eCharacterNew, {
|
Actors.unregisterSheet("core", ActorSheet);
|
||||||
types: ["character"],
|
Actors.registerSheet("sw5e", ActorSheet5eCharacterNew, {
|
||||||
makeDefault: true,
|
types: ["character"],
|
||||||
label: "SW5E.SheetClassCharacter"
|
makeDefault: true,
|
||||||
});
|
label: "SW5E.SheetClassCharacter"
|
||||||
Actors.registerSheet("sw5e", ActorSheet5eCharacter, {
|
});
|
||||||
types: ["character"],
|
Actors.registerSheet("sw5e", ActorSheet5eCharacter, {
|
||||||
makeDefault: false,
|
types: ["character"],
|
||||||
label: "SW5E.SheetClassCharacterOld"
|
makeDefault: false,
|
||||||
});
|
label: "SW5E.SheetClassCharacterOld"
|
||||||
Actors.registerSheet("sw5e", ActorSheet5eNPCNew, {
|
});
|
||||||
types: ["npc"],
|
Actors.registerSheet("sw5e", ActorSheet5eNPCNew, {
|
||||||
makeDefault: true,
|
types: ["npc"],
|
||||||
label: "SW5E.SheetClassNPC"
|
makeDefault: true,
|
||||||
});
|
label: "SW5E.SheetClassNPC"
|
||||||
Actors.registerSheet("sw5e", ActorSheet5eNPC, {
|
});
|
||||||
types: ["npc"],
|
Actors.registerSheet("sw5e", ActorSheet5eNPC, {
|
||||||
makeDefault: false,
|
types: ["npc"],
|
||||||
label: "SW5E.SheetClassNPCOld"
|
makeDefault: false,
|
||||||
});
|
label: "SW5E.SheetClassNPCOld"
|
||||||
Actors.registerSheet('sw5e', ActorSheet5eVehicle, {
|
});
|
||||||
types: ['vehicle'],
|
Actors.registerSheet('sw5e', ActorSheet5eVehicle, {
|
||||||
makeDefault: true,
|
types: ['vehicle'],
|
||||||
label: "SW5E.SheetClassVehicle"
|
makeDefault: true,
|
||||||
});
|
label: "SW5E.SheetClassVehicle"
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
});
|
||||||
Items.registerSheet("sw5e", ItemSheet5e, {
|
Items.unregisterSheet("core", ItemSheet);
|
||||||
types: ['weapon', 'equipment', 'consumable', 'tool', 'loot', 'class', 'power', 'feat', 'species', 'backpack', 'archetype', 'classfeature', 'background', 'fightingmastery', 'fightingstyle', 'lightsaberform'],
|
Items.registerSheet("sw5e", ItemSheet5e, {
|
||||||
makeDefault: true,
|
types: ['weapon', 'equipment', 'consumable', 'tool', 'loot', 'class', 'power', 'feat', 'species', 'backpack', 'archetype', 'classfeature', 'background', 'fightingmastery', 'fightingstyle', 'lightsaberform'],
|
||||||
label: "SW5E.SheetClassItem"
|
makeDefault: true,
|
||||||
});
|
label: "SW5E.SheetClassItem"
|
||||||
|
});
|
||||||
// Preload Handlebars Templates
|
|
||||||
preloadHandlebarsTemplates();
|
// Preload Handlebars Templates
|
||||||
});
|
preloadHandlebarsTemplates();
|
||||||
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* Foundry VTT Setup */
|
/* -------------------------------------------- */
|
||||||
/* -------------------------------------------- */
|
/* Foundry VTT Setup */
|
||||||
|
/* -------------------------------------------- */
|
||||||
/**
|
|
||||||
* This function runs after game data has been requested and loaded from the servers, so entities exist
|
/**
|
||||||
*/
|
* This function runs after game data has been requested and loaded from the servers, so entities exist
|
||||||
Hooks.once("setup", function() {
|
*/
|
||||||
|
Hooks.once("setup", function() {
|
||||||
// Localize CONFIG objects once up-front
|
|
||||||
const toLocalize = [
|
// Localize CONFIG objects once up-front
|
||||||
"abilities", "abilityAbbreviations", "abilityActivationTypes", "abilityConsumptionTypes", "actorSizes", "alignments",
|
const toLocalize = [
|
||||||
"armorProficiencies", "armorPropertiesTypes", "conditionTypes", "consumableTypes", "cover", "currencies", "damageResistanceTypes",
|
"abilities", "abilityAbbreviations", "abilityActivationTypes", "abilityConsumptionTypes", "actorSizes", "alignments",
|
||||||
"damageTypes", "distanceUnits", "equipmentTypes", "healingTypes", "itemActionTypes", "languages",
|
"armorProficiencies", "armorPropertiesTypes", "conditionTypes", "consumableTypes", "cover", "currencies", "damageResistanceTypes",
|
||||||
"limitedUsePeriods", "movementTypes", "movementUnits", "polymorphSettings", "proficiencyLevels", "senses", "skills",
|
"damageTypes", "distanceUnits", "equipmentTypes", "healingTypes", "itemActionTypes", "languages",
|
||||||
"powerComponents", "powerLevels", "powerPreparationModes", "powerScalingModes", "powerSchools", "targetTypes",
|
"limitedUsePeriods", "movementTypes", "movementUnits", "polymorphSettings", "proficiencyLevels", "senses", "skills",
|
||||||
"timePeriods", "toolProficiencies", "weaponProficiencies", "weaponProperties", "weaponTypes"
|
"powerComponents", "powerLevels", "powerPreparationModes", "powerScalingModes", "powerSchools", "targetTypes",
|
||||||
];
|
"timePeriods", "toolProficiencies", "weaponProficiencies", "weaponProperties", "weaponTypes"
|
||||||
|
];
|
||||||
// Exclude some from sorting where the default order matters
|
|
||||||
const noSort = [
|
// Exclude some from sorting where the default order matters
|
||||||
"abilities", "alignments", "currencies", "distanceUnits", "movementUnits", "itemActionTypes", "proficiencyLevels",
|
const noSort = [
|
||||||
"limitedUsePeriods", "powerComponents", "powerLevels", "powerPreparationModes", "weaponTypes"
|
"abilities", "alignments", "currencies", "distanceUnits", "movementUnits", "itemActionTypes", "proficiencyLevels",
|
||||||
];
|
"limitedUsePeriods", "powerComponents", "powerLevels", "powerPreparationModes", "weaponTypes"
|
||||||
|
];
|
||||||
// Localize and sort CONFIG objects
|
|
||||||
for ( let o of toLocalize ) {
|
// Localize and sort CONFIG objects
|
||||||
const localized = Object.entries(CONFIG.SW5E[o]).map(e => {
|
for ( let o of toLocalize ) {
|
||||||
return [e[0], game.i18n.localize(e[1])];
|
const localized = Object.entries(CONFIG.SW5E[o]).map(e => {
|
||||||
});
|
return [e[0], game.i18n.localize(e[1])];
|
||||||
if ( !noSort.includes(o) ) localized.sort((a, b) => a[1].localeCompare(b[1]));
|
});
|
||||||
CONFIG.SW5E[o] = localized.reduce((obj, e) => {
|
if ( !noSort.includes(o) ) localized.sort((a, b) => a[1].localeCompare(b[1]));
|
||||||
obj[e[0]] = e[1];
|
CONFIG.SW5E[o] = localized.reduce((obj, e) => {
|
||||||
return obj;
|
obj[e[0]] = e[1];
|
||||||
}, {});
|
return obj;
|
||||||
}
|
}, {});
|
||||||
// add DND5E translation for module compatability
|
}
|
||||||
game.i18n.translations.DND5E = game.i18n.translations.SW5E;
|
// add DND5E translation for module compatability
|
||||||
// console.log(game.settings.get("sw5e", "colorTheme"));
|
game.i18n.translations.DND5E = game.i18n.translations.SW5E;
|
||||||
let theme = game.settings.get("sw5e", "colorTheme") + '-theme';
|
// console.log(game.settings.get("sw5e", "colorTheme"));
|
||||||
document.body.classList.add(theme);
|
let theme = game.settings.get("sw5e", "colorTheme") + '-theme';
|
||||||
});
|
document.body.classList.add(theme);
|
||||||
|
});
|
||||||
/* -------------------------------------------- */
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
/**
|
|
||||||
* Once the entire VTT framework is initialized, check to see if we should perform a data migration
|
/**
|
||||||
*/
|
* Once the entire VTT framework is initialized, check to see if we should perform a data migration
|
||||||
Hooks.once("ready", function() {
|
*/
|
||||||
|
Hooks.once("ready", function() {
|
||||||
// Wait to register hotbar drop hook on ready so that modules could register earlier if they want to
|
|
||||||
Hooks.on("hotbarDrop", (bar, data, slot) => macros.create5eMacro(data, slot));
|
// Wait to register hotbar drop hook on ready so that modules could register earlier if they want to
|
||||||
|
Hooks.on("hotbarDrop", (bar, data, slot) => macros.create5eMacro(data, slot));
|
||||||
// Determine whether a system migration is required and feasible
|
|
||||||
if ( !game.user.isGM ) return;
|
// Determine whether a system migration is required and feasible
|
||||||
const currentVersion = game.settings.get("sw5e", "systemMigrationVersion");
|
if ( !game.user.isGM ) return;
|
||||||
const NEEDS_MIGRATION_VERSION = "1.2.1";
|
const currentVersion = game.settings.get("sw5e", "systemMigrationVersion");
|
||||||
const COMPATIBLE_MIGRATION_VERSION = 0.80;
|
const NEEDS_MIGRATION_VERSION = "1.2.1";
|
||||||
const needsMigration = currentVersion && isNewerVersion(NEEDS_MIGRATION_VERSION, currentVersion);
|
const COMPATIBLE_MIGRATION_VERSION = 0.80;
|
||||||
if ( !needsMigration ) return;
|
const needsMigration = currentVersion && isNewerVersion(NEEDS_MIGRATION_VERSION, currentVersion);
|
||||||
|
if ( !needsMigration ) return;
|
||||||
// Perform the migration
|
|
||||||
if ( currentVersion && isNewerVersion(COMPATIBLE_MIGRATION_VERSION, currentVersion) ) {
|
// Perform the migration
|
||||||
const warning = `Your SW5e system data is from too old a Foundry version and cannot be reliably migrated to the latest version. The process will be attempted, but errors may occur.`;
|
if ( currentVersion && isNewerVersion(COMPATIBLE_MIGRATION_VERSION, currentVersion) ) {
|
||||||
ui.notifications.error(warning, {permanent: true});
|
const warning = `Your SW5e system data is from too old a Foundry version and cannot be reliably migrated to the latest version. The process will be attempted, but errors may occur.`;
|
||||||
}
|
ui.notifications.error(warning, {permanent: true});
|
||||||
migrations.migrateWorld();
|
}
|
||||||
});
|
migrations.migrateWorld();
|
||||||
|
});
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* Canvas Initialization */
|
/* -------------------------------------------- */
|
||||||
/* -------------------------------------------- */
|
/* Canvas Initialization */
|
||||||
|
/* -------------------------------------------- */
|
||||||
Hooks.on("canvasInit", function() {
|
|
||||||
|
Hooks.on("canvasInit", function() {
|
||||||
// Extend Diagonal Measurement
|
|
||||||
canvas.grid.diagonalRule = game.settings.get("sw5e", "diagonalMovement");
|
// Extend Diagonal Measurement
|
||||||
SquareGrid.prototype.measureDistances = measureDistances;
|
canvas.grid.diagonalRule = game.settings.get("sw5e", "diagonalMovement");
|
||||||
|
SquareGrid.prototype.measureDistances = measureDistances;
|
||||||
// Extend Token Resource Bars
|
|
||||||
Token.prototype.getBarAttribute = getBarAttribute;
|
// Extend Token Resource Bars
|
||||||
});
|
Token.prototype.getBarAttribute = getBarAttribute;
|
||||||
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
/* Other Hooks */
|
/* -------------------------------------------- */
|
||||||
/* -------------------------------------------- */
|
/* Other Hooks */
|
||||||
|
/* -------------------------------------------- */
|
||||||
Hooks.on("renderChatMessage", (app, html, data) => {
|
|
||||||
|
Hooks.on("renderChatMessage", (app, html, data) => {
|
||||||
// Display action buttons
|
|
||||||
chat.displayChatActionButtons(app, html, data);
|
// Display action buttons
|
||||||
|
chat.displayChatActionButtons(app, html, data);
|
||||||
// Highlight critical success or failure die
|
|
||||||
chat.highlightCriticalSuccessFailure(app, html, data);
|
// Highlight critical success or failure die
|
||||||
|
chat.highlightCriticalSuccessFailure(app, html, data);
|
||||||
// Optionally collapse the content
|
|
||||||
if (game.settings.get("sw5e", "autoCollapseItemCards")) html.find(".card-content").hide();
|
// Optionally collapse the content
|
||||||
});
|
if (game.settings.get("sw5e", "autoCollapseItemCards")) html.find(".card-content").hide();
|
||||||
Hooks.on("getChatLogEntryContext", chat.addChatMessageContextOptions);
|
});
|
||||||
Hooks.on("renderChatLog", (app, html, data) => Item5e.chatListeners(html));
|
Hooks.on("getChatLogEntryContext", chat.addChatMessageContextOptions);
|
||||||
Hooks.on("renderChatPopout", (app, html, data) => Item5e.chatListeners(html));
|
Hooks.on("renderChatLog", (app, html, data) => Item5e.chatListeners(html));
|
||||||
Hooks.on('getActorDirectoryEntryContext', Actor5e.addDirectoryContextOptions);
|
Hooks.on("renderChatPopout", (app, html, data) => Item5e.chatListeners(html));
|
||||||
Hooks.on("renderSceneDirectory", (app, html, data)=> {
|
Hooks.on('getActorDirectoryEntryContext', Actor5e.addDirectoryContextOptions);
|
||||||
//console.log(html.find("header.folder-header"));
|
Hooks.on("renderSceneDirectory", (app, html, data)=> {
|
||||||
setFolderBackground(html);
|
//console.log(html.find("header.folder-header"));
|
||||||
});
|
setFolderBackground(html);
|
||||||
Hooks.on("renderActorDirectory", (app, html, data)=> {
|
});
|
||||||
setFolderBackground(html);
|
Hooks.on("renderActorDirectory", (app, html, data)=> {
|
||||||
});
|
setFolderBackground(html);
|
||||||
Hooks.on("renderItemDirectory", (app, html, data)=> {
|
CharacterImporter.addImportButton(html);
|
||||||
setFolderBackground(html);
|
});
|
||||||
});
|
Hooks.on("renderItemDirectory", (app, html, data)=> {
|
||||||
Hooks.on("renderJournalDirectory", (app, html, data)=> {
|
setFolderBackground(html);
|
||||||
setFolderBackground(html);
|
});
|
||||||
});
|
Hooks.on("renderJournalDirectory", (app, html, data)=> {
|
||||||
Hooks.on("renderRollTableDirectory", (app, html, data)=> {
|
setFolderBackground(html);
|
||||||
setFolderBackground(html);
|
});
|
||||||
});
|
Hooks.on("renderRollTableDirectory", (app, html, data)=> {
|
||||||
Hooks.on("ActorSheet5eCharacterNew", (app, html, data) => {
|
setFolderBackground(html);
|
||||||
console.log("renderSwaltSheet");
|
});
|
||||||
});
|
Hooks.on("ActorSheet5eCharacterNew", (app, html, data) => {
|
||||||
// TODO I should remove this
|
console.log("renderSwaltSheet");
|
||||||
Handlebars.registerHelper('getProperty', function (data, property) {
|
});
|
||||||
return getProperty(data, property);
|
// 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");
|
function setFolderBackground(html) {
|
||||||
if(bgColor == undefined)
|
html.find("header.folder-header").each(function() {
|
||||||
bgColor = "rgb(255,255,255)";
|
let bgColor = $(this).css("background-color");
|
||||||
$(this).closest('li').css("background-color", bgColor);
|
if(bgColor == undefined)
|
||||||
})
|
bgColor = "rgb(255,255,255)";
|
||||||
|
$(this).closest('li').css("background-color", bgColor);
|
||||||
|
})
|
||||||
}
|
}
|
|
@ -98,7 +98,7 @@
|
||||||
<span>{{movement.primary}}</span>
|
<span>{{movement.primary}}</span>
|
||||||
</div>
|
</div>
|
||||||
<footer class="attribute-footer">
|
<footer class="attribute-footer">
|
||||||
<span>{{movement.special}}</span>
|
<span>{{movement.special}} {{data.attributes.movement.units}}</span>
|
||||||
</footer>
|
</footer>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
<div class="panel additional-info">
|
<div class="panel additional-info">
|
||||||
<section><h1 class="section-titles biopage">Personality Traits</h1>
|
<section><h1 class="section-titles biopage">Personality Traits</h1>
|
||||||
{{editor content=data.details.trait target="data.details.trait" button=true owner=owner editable=editable}}
|
{{editor content=data.details.trait target="data.details.trait" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
<section><h1 class="section-titles biopage">Ideals</h1>
|
<section><h1 class="section-titles biopage">Ideals</h1>
|
||||||
{{editor content=data.details.ideal target="data.details.ideal" button=true owner=owner editable=editable}}
|
{{editor content=data.details.ideal target="data.details.ideal" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
<section><h1 class="section-titles biopage">Bonds</h1>
|
<section><h1 class="section-titles biopage">Bonds</h1>
|
||||||
{{editor content=data.details.bond target="data.details.bond" button=true owner=owner editable=editable}}
|
{{editor content=data.details.bond target="data.details.bond" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
<section><h1 class="section-titles biopage">Flaws</h1>
|
<section><h1 class="section-titles biopage">Flaws</h1>
|
||||||
{{editor content=data.details.flaw target="data.details.flaw" button=true owner=owner editable=editable}}
|
{{editor content=data.details.flaw target="data.details.flaw" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel background">
|
<div class="panel background">
|
||||||
<section><h1 class="section-titles biopage">Description</h1>
|
<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}}
|
{{editor content=data.details.description.value target="data.details.description.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
<section><h1 class="section-titles">Background</h1>
|
<section><h1 class="section-titles">Background</h1>
|
||||||
{{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.biography.value target="data.details.biography.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
|
@ -1,33 +1,33 @@
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<section class="background">
|
<section class="background">
|
||||||
<input type="text" name="data.details.notesname" value="{{data.details.notesname}}"
|
<input type="text" name="data.details.notesname" value="{{data.details.notesname}}"
|
||||||
placeholder="Personal Journal" />
|
placeholder="Personal Journal" />
|
||||||
|
|
||||||
{{editor content=data.details.notes.value target="data.details.notes.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.notes.value target="data.details.notes.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<input type="text" name="data.details.notes1name" value="{{data.details.notes1name}}"
|
<input type="text" name="data.details.notes1name" value="{{data.details.notes1name}}"
|
||||||
placeholder="Additional Notes" />
|
placeholder="Additional Notes" />
|
||||||
{{editor content=data.details.notes1.value target="data.details.notes1.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.notes1.value target="data.details.notes1.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<input type="text" name="data.details.notes2name" value="{{data.details.notes2name}}"
|
<input type="text" name="data.details.notes2name" value="{{data.details.notes2name}}"
|
||||||
placeholder="Additional Notes" />
|
placeholder="Additional Notes" />
|
||||||
{{editor content=data.details.notes2.value target="data.details.notes2.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.notes2.value target="data.details.notes2.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<input type="text" name="data.details.notes3name" value="{{data.details.notes3name}}"
|
<input type="text" name="data.details.notes3name" value="{{data.details.notes3name}}"
|
||||||
placeholder="Additional Notes" />
|
placeholder="Additional Notes" />
|
||||||
{{editor content=data.details.notes3.value target="data.details.notes3.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.notes3.value target="data.details.notes3.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<input type="text" name="data.details.notes4name" value="{{data.details.notes4name}}"
|
<input type="text" name="data.details.notes4name" value="{{data.details.notes4name}}"
|
||||||
placeholder="Additional Notes" />
|
placeholder="Additional Notes" />
|
||||||
{{editor content=data.details.notes4.value target="data.details.notes4.value" button=true owner=owner editable=editable}}
|
{{editor content=data.details.notes4.value target="data.details.notes4.value" button=true owner=owner editable=editable}}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
|
@ -29,7 +29,7 @@
|
||||||
</section>
|
</section>
|
||||||
<section class="counters">
|
<section class="counters">
|
||||||
<div class="counter">
|
<div class="counter">
|
||||||
<h4 class="death-save rollable">{{ localize "SW5E.DeathSave" }}</h4>
|
<h4 class="death-save rollable" data-action="rollDeathSave">{{ localize "SW5E.DeathSave" }}</h4>
|
||||||
<div class="counter-value">
|
<div class="counter-value">
|
||||||
<div class="death-success">
|
<div class="death-success">
|
||||||
<i class="fas fa-check"></i>
|
<i class="fas fa-check"></i>
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
<div id="{{id}}" class="app window-app {{classes}} this-is-my-custom-window" data-appid="{{appId}}">
|
<div id="{{id}}" class="app window-app {{classes}} this-is-my-custom-window" data-appid="{{appId}}">
|
||||||
<header class="window-header flexrow">
|
<header class="window-header flexrow">
|
||||||
<h4 class="window-title">{{title}}</h4>
|
<h4 class="window-title">{{title}}</h4>
|
||||||
{{#each headerButtons}}
|
{{#each headerButtons}}
|
||||||
<a class="header-button {{this.class}}"><i class="{{this.icon}}"></i></a>
|
<a class="header-button {{this.class}}"><i class="{{this.icon}}"></i></a>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<section class="window-content">
|
<section class="window-content">
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
Loading…
Add table
Add a link
Reference in a new issue