diff --git a/LandOfEem/images/icon-chat.svg b/LandOfEem/images/icon-chat.svg new file mode 100644 index 0000000000..3fba11f003 --- /dev/null +++ b/LandOfEem/images/icon-chat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/LandOfEem/landofeem.css b/LandOfEem/landofeem.css index abbad35070..8a87d19a24 100644 --- a/LandOfEem/landofeem.css +++ b/LandOfEem/landofeem.css @@ -125,7 +125,8 @@ div.container { } .sheet-rolltemplate-attack, -.sheet-rolltemplate-check { +.sheet-rolltemplate-check, +.sheet-rolltemplate-description { --sheet-primary-color: #cc9133; --sheet-background-color: #fff4e7; background-color: #ffffff; @@ -137,27 +138,31 @@ div.container { } .sheet-rolltemplate-attack:has(.sheet-adversary), -.sheet-rolltemplate-check:has(.sheet-adversary) { +.sheet-rolltemplate-check:has(.sheet-adversary), +.sheet-rolltemplate-description:has(.sheet-adversary) { --sheet-primary-color: #da3831; --sheet-background-color: #f9e7e4; } .sheet-rolltemplate-attack:has(.sheet-npc), -.sheet-rolltemplate-check:has(.sheet-npc) { +.sheet-rolltemplate-check:has(.sheet-npc), +.sheet-rolltemplate-description:has(.sheet-npc) { --sheet-primary-color: #2babe3; --sheet-background-color: #e7f4fb; } .sheet-rolltemplate-attack ul, -.sheet-rolltemplate-check ul { +.sheet-rolltemplate-check ul, +.sheet-rolltemplate-description ul { list-style: none; margin: 0; padding: 0; } .sheet-rolltemplate-attack h3, -.sheet-rolltemplate-check h3 { +.sheet-rolltemplate-check h3, +.sheet-rolltemplate-description h3 { padding: 8px; text-align: center; background-color: var(--sheet-background-color); @@ -166,7 +171,8 @@ div.container { } .sheet-rolltemplate-attack h4, -.sheet-rolltemplate-check h4 { +.sheet-rolltemplate-check h4, +.sheet-rolltemplate-description h4 { padding: 4px; font-size: 13px; font-weight: normal; @@ -174,7 +180,8 @@ div.container { } .sheet-rolltemplate-attack h5, -.sheet-rolltemplate-check h5 { +.sheet-rolltemplate-check h5, +.sheet-rolltemplate-description h5 { padding: 4px; font-size: 11px; font-weight: bold; @@ -185,7 +192,8 @@ div.container { } .sheet-rolltemplate-attack h2, -.sheet-rolltemplate-check h2 { +.sheet-rolltemplate-check h2, +.sheet-rolltemplate-description h2 { background-color: var(--sheet-primary-color); font-size: 14px; font-weight: 900; @@ -196,7 +204,8 @@ div.container { } .sheet-rolltemplate-attack h2 i, -.sheet-rolltemplate-check h2 i { +.sheet-rolltemplate-check h2 i, +.sheet-rolltemplate-description h2 i { font-size: 12px; font-weight: normal; text-transform: none; @@ -2046,4 +2055,38 @@ section.hint { display: block; text-align: center; padding-bottom: 6px; +} + +/* ===================================== */ + +/* Share Button */ + +/* ===================================== */ + +.btn-share { + width: 16px; + height: 16px; + border-radius: 4px; + padding: 0; + border: none; + background: transparent; + cursor: pointer; + vertical-align: middle; + position: absolute; + top: 3px; + right: 0; +} + +.btn-share div { + width: 100%; + height: 100%; + mask: url('https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/LandOfEem/images/icon-chat.svg'); + mask-size: contain; + mask-repeat: no-repeat; + mask-position: center; + background-color: var(--sheet-primary-color); +} + +.btn-share:hover div { + background-color: #000; } \ No newline at end of file diff --git a/LandOfEem/landofeem.html b/LandOfEem/landofeem.html index 48f93efa9a..9d11e2abb9 100644 --- a/LandOfEem/landofeem.html +++ b/LandOfEem/landofeem.html @@ -184,7 +184,7 @@

Actions

- 1 + 1
-
@@ -235,6 +235,9 @@ +
@@ -379,6 +382,9 @@ +
@@ -642,11 +648,11 @@
- +
@@ -761,6 +767,19 @@
+ +
+

{{name}} ({{character}})

+
+
    +
  • +

    {{description}}

    +
  • +
+
+
+
+ @@ -777,6 +796,19 @@ buttonlist.forEach(button => { }) }) +//********* SKILL SHARE **********/ +on("clicked:repeating_skills:share", function(eventinfo) { + const rowId = eventinfo.sourceAttribute.split("_")[2] + getAttrs([`repeating_skills_${rowId}_skillname`, `repeating_skills_${rowId}_skilldescription`, "character_name"], async (values) => { + const skillName = values[`repeating_skills_${rowId}_skillname`] || "Unnamed Skill" + const skillDescription = values[`repeating_skills_${rowId}_skilldescription`] || "No description." + const characterName = values["character_name"] || "Unknown Character" + + const roll = await startRoll(`&{template:description} {{sheet_type=@{sheet_type}}} {{name=${skillName}}} {{character=${characterName}}} {{description=${skillDescription}}} {{ignore=[[0]]}}`); + finishRoll(roll.rollId); + }) +}) + //********* DEFINE SIGNED AND UNSIGNED ATTRIBUTES **********/ const signed = ["attack", "defense", "vim", "charm", "inspire", "mettle", "perception", "vigor", "athletics", "intimidate", "might", "vitality", "knack", "nimbleness", "search", "sneak", "trickery", "knowhow", "lore", "realms", "tinker", "wilderness", "treasure_hunting"]; const unsigned = ["courage", "courage_max", "quest_pts", "block", "inventory_slots", "inventory_slots_max", "material_number", "coins_copper", "coins_silver", "coins_gold", "coins_ancient", "rations_d6", "rations_d8", "rations_d10", "lv", "xp"]; @@ -1396,4 +1428,4 @@ on("clicked:attack", async () => { }) }) }) - \ No newline at end of file + diff --git a/LandOfEem/sheet.json b/LandOfEem/sheet.json index f5584f872e..0aa52ee02c 100644 --- a/LandOfEem/sheet.json +++ b/LandOfEem/sheet.json @@ -4,7 +4,6 @@ "authors": "Blaze Sanecki", "roll20userid": "10036432", "preview": "preview.png", - "instructions": "# Land Of Eem - Roll20 Character Sheet\n\n#### Version\n\nCurrent Version: 2.0.0\n\n## Features\n\n- **Custom design** matching the Land of Eem official character sheet aesthetic\n- **Expandable and Flexible Skill Lists** to better fit all of your character content\n- **Interactive rolls** with advantage/disadvantage support\n- **Auto-Recalculation** of abilities and stats when changing related attributes\n- **Optional modifier validation** (total modifier clamped to -3 and +3)\n- **Full Multi-language support** with English and Polish already implemented\n- **NPC Sheet type** for storing data about NPCs\n- **Adversary Sheet type** for storing data about Adversaries (with automated attack and mettle rolls)\n\n## Instructions\n**Selecting a PC Class**\n\n- Class input field has suggested values which correspond to Land of Eem core classes\n- Selecting a predefined class resets Courage and Dread to its defaults\n\n**Making a Roll**\n\n- Click on attribute, ability or stat name label to make a roll. Rollable elements will be underlined when you hover over them\n- Popup dialog will appear and let you apply Advantage or Disadvantage\n- Popup dialog will let you apply additional custom modifier\n- Calculated final modifier is clamped to -3 and +3 range (optional - can be disabled in sheet settings) and the roll result is displayed in the chat\n- You can still see the uncapped modifier when you hover over the roll result in the chat if needed\n\n**Changing the Sheet Type**\n\n- Go into the 'Settings' tab (right side of the navbar)\n- Choose between PC/NPC/Adversary from the type dropdown\n\n**Setting up the Adversary Sheet**\n\n- First fill in the options in the 'Constraints' tab\n- Fill in the 'Attack', 'Defense' and 'Wrangle'/'Parley' in the 'Attributes' tab\n- You can now choose level, class and size from the dropdowns in the 'Attributes' tab to recalculate the default 'Courage' and 'Mettle' that apply to your choices\n\n## Development\n\n#### Roadmap (TODO list)\n\n- Add interactive dice icons for making generic rolls\n- Buttons for consuming rations (automated usage die roll)\n- Buttons for spending coins (automated usage die roll)\n\n#### Credits\n\n**Character Sheet Created by**: Blaze Sanecki\n**Land of Eem Created By**: Ben Costa & James Parks \n**Official Land of Eem Website**: [landofeem.com](https://landofeem.com/)\n\nThis is an unofficial fan-made sheet created with the official blessing of the Land of Eem creators.\n\n#### License\n\nThis character sheet is a fan work created for use with The Land of Eem tabletop RPG. All Land of Eem intellectual property belongs to Ben Costa & James Parks.\n\n#### Fonts Used\n\n- Bird of Feather (replacement for the Blackriver font used in the Land of Eem rulebooks)\n- DM Sans (replacement for the New Atten font used in the Land of Eem rulebooks)\n\nAll used fonts are free for non-commercial use and allow being used as embeded online fonts.", - "patreon": "https://patreon.com/BearlyWorks", + "instructions": "# Land Of Eem - Roll20 Character Sheet\n\n#### Version\n\nCurrent Version: 2.1.0\n\n## Features\n\n- **Custom design** matching the Land of Eem official character sheet aesthetic\n- **Expandable and Flexible Skill Lists** to better fit all of your character content\n- **Interactive rolls** with advantage/disadvantage support\n- **Auto-Recalculation** of abilities and stats when changing related attributes\n- **Optional modifier validation** (total modifier clamped to -3 and +3)\n- **Full Multi-language support** with English and Polish already implemented\n- **NPC Sheet type** for storing data about NPCs\n- **Adversary Sheet type** for storing data about Adversaries (with automated attack and mettle rolls)\n\n## Instructions\n**Selecting a PC Class**\n\n- Class input field has suggested values which correspond to Land of Eem core classes\n- Selecting a predefined class resets Courage and Dread to its defaults\n\n**Making a Roll**\n\n- Click on attribute, ability or stat name label to make a roll. Rollable elements will be underlined when you hover over them\n- Popup dialog will appear and let you apply Advantage or Disadvantage\n- Popup dialog will let you apply additional custom modifier\n- Calculated final modifier is clamped to -3 and +3 range (optional - can be disabled in sheet settings) and the roll result is displayed in the chat\n- You can still see the uncapped modifier when you hover over the roll result in the chat if needed\n\n**Changing the Sheet Type**\n\n- Go into the 'Settings' tab (right side of the navbar)\n- Choose between PC/NPC/Adversary from the type dropdown\n\n**Setting up the Adversary Sheet**\n\n- First fill in the options in the 'Initial Setup' tab\n- Fill in the 'Attack', 'Defense' and 'Wrangle'/'Parley' in the 'Attributes' tab\n- You can now choose level, class and size from the dropdowns in the 'Attributes' tab to recalculate the default 'Courage' and 'Mettle' that apply to your choices\n\n## Development\n\n#### Roadmap (TODO list)\n\n- Add interactive dice icons for making generic rolls\n- Buttons for consuming rations (automated usage die roll)\n- Buttons for spending coins (automated usage die roll)\n\n#### Credits\n\n**Character Sheet Created by**: Blaze Sanecki\n**Land of Eem Created By**: Ben Costa & James Parks \n**Official Land of Eem Website**: [landofeem.com](https://landofeem.com/)\n\nThis is an unofficial fan-made sheet created with the official blessing of the Land of Eem creators.\n\n#### License\n\nThis character sheet is a fan work created for use with The Land of Eem tabletop RPG. All Land of Eem intellectual property belongs to Ben Costa & James Parks.\n\n#### Fonts Used\n\n- Bird of Feather (replacement for the Blackriver font used in the Land of Eem rulebooks)\n- DM Sans (replacement for the New Atten font used in the Land of Eem rulebooks)\n\nAll used fonts are free for non-commercial use and allow being used as embeded online fonts.\n\n#### Support My Work\n\nIf you like my work, consider buying me a [Monster Energy Drink](https://ko-fi.com/blazesanecki/).", "legacy": false } \ No newline at end of file diff --git a/LandOfEem/translation.json b/LandOfEem/translation.json index b03526d414..a5bc541686 100644 --- a/LandOfEem/translation.json +++ b/LandOfEem/translation.json @@ -23,7 +23,7 @@ "attack": "Attack", "defense": "Defense", "quest": "Quest Pts.", - "name-and-pronouns": "Name & Pronouns", + "name-and-pronouns": "Name
& Pronouns", "name": "Name", "and-pronouns": "& Pronouns", "class": "Class", @@ -99,7 +99,7 @@ "hit": "Hit.", "critical-hit": "Critical Hit.", "modifier-clamped": "Modifier clamped to [-3..3] range.", - "damage": "Damage", + "damage": "Dread", "complete-failure": "Complete Failure.", "failure-with-a-plus": "Failure with a Plus.", "success-with-a-twist": "Success with a Twist.", @@ -134,7 +134,7 @@ "keywords": "Keywords", "preview": "Attributes", "detail": "Detail", - "definition": "Constraints", + "definition": "Initial Setup", "sizes": "Sizes:", "tiny": "Tiny", "small": "Small",