Merge branch 'master' into cyr-power-point-ui

This commit is contained in:
TJ 2021-02-23 22:42:20 -06:00
commit 6ca9b0c7b4
224 changed files with 5172 additions and 4930 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

8
CONTRIBUTIONS.md Normal file
View file

@ -0,0 +1,8 @@
Rick Fisto
- [Fisto's Codex](https://www.gmbinder.com/share/-M-qA_FYgTwJjU8yFjjx)
Heresy
- [Heritic's Guide to the Galaxy](https://www.gmbinder.com/share/-M815p5BfQ0wbdKY7zqN)
Erikstormtrooper
- [Englibesh Font](http://www.erikstormtrooper.com/englibesh.htm)

View file

@ -27,3 +27,10 @@ may do this by cloning the repository or downloading a zip archive from the
Code and content contributions are accepted. Please feel free to submit issues to the issue tracker or submit merge Code and content contributions are accepted. Please feel free to submit issues to the issue tracker or submit merge
requests for code changes. Approval for such requests involves code and (if necessary) design review by The Dev Team. requests for code changes. Approval for such requests involves code and (if necessary) design review by The Dev Team.
Please reach out on the SW5E Foundry Dev Discord with any questions. Please reach out on the SW5E Foundry Dev Discord with any questions.
## Compatible Modules and Optimum Settings
- 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".**
- Midi QoL is compatible with great features
- Token Action Hud has compatibility

View file

@ -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;

View file

@ -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: white;
@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;

View file

@ -999,9 +999,6 @@
.russoOne(13px); .russoOne(13px);
border-bottom: none; border-bottom: none;
} }
// .power-dc {
// grid-column-start: 3;
// }
} }
} }
.tab.biography { .tab.biography {

View file

@ -1,417 +1,417 @@
.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.force-powerbook, .tab.force-powerbook,
.tab.tech-powerbook { .tab.tech-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;
} }
} }
} }
} }
} }

View file

@ -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;
} }
} }

View file

@ -1,53 +1,52 @@
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; &: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); }
} }
}

View file

@ -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;
} }
} }
} }

View file

@ -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;
} }
} }
} }
} }

View file

@ -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;
} }
} }

View file

@ -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;
}
} }

View file

@ -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;
} }
} }

View file

@ -1,47 +1,57 @@
@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/sidebar-themes.less"; select {
@import "components/foundry-nav-themes.less"; color: white;
@import "components/foundry-app-window-themes.less"; background-color: rgba(0, 0, 0, 0.5);
@import "components/actor-themes.less"; }
}
input[type="text"], input[type="number"], input[type="password"], input[type="date"], input[type="time"], select, textarea {
color: @inputTextColor;
}
@import "components/forms-themes.less";
@import "components/sidebar-themes.less";
@import "components/foundry-nav-themes.less";
@import "components/foundry-app-window-themes.less";
@import "components/actor-themes.less";
}

View file

@ -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);
} }
} }

View file

@ -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";
} }

View file

@ -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";

121
module/characterImporter.js Normal file
View 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);
});
}
}

View file

@ -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"

View file

@ -426,7 +426,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

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Some files were not shown because too many files have changed in this diff Show more