Skip to content

Commit

Permalink
Merge pull request #883 from Muttley/develop
Browse files Browse the repository at this point in the history
Release 3.1.0
  • Loading branch information
Muttley authored Sep 8, 2024
2 parents e5172c5 + 07327c7 commit 3c45e89
Show file tree
Hide file tree
Showing 1,971 changed files with 20,276 additions and 5,901 deletions.
156 changes: 78 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,85 +9,85 @@
**foundryvtt-shadowdark** is a community contributed and maintained system for playing the [Shadowdark RPG][2] with the [Foundry VTT][3] virtual tabletop software.

## Features
- **Sheets**
- Fully featured sheets for:
- Players
- Automatic calculations for HP (augmented by talents), AC (based on equipped armor), ability modifiers
- Attacks summarized on the Abilities sheet based on equipped weapon
- Tracker for Luck token
- Tabs to easily access different aspects of the character
- NPCs
- Items
- Including Gem Bag

- **Classes**
- All base classes from Quickstart guides are available
- Rolltables for rolling talents
- Automatic amount of damage dice for Thiefs backstab talent (may be augmented by supplied bonus die talent)

- **Items**
- All items from the Quickstart guides are available in item compendiums
- Lightsource items automatically sets the light settings for your tokens so you don't have to
- Tracking of ammunition is available from the inventory screen of your character
- Selling of gems is easy with the gem bag interface, which also tracks your different gems and how many slots they take up
- Automatic tracking of gear slots, including augmentations from talents

- **Monsters**
- Compendium full of monsters from the Quickstart Guide, including the Lost Citadel of the Scarlet Minotaur
- (Note: Complex attack patterns are not implemented, such as the combinations of AND & OR and multiples of attacks)
- Support for optional Token image mapping from the Pathfinder Token Pack: Bestiaries module or other modules which provide a Shadowdark mapping file

- **Spells**
- Spells from the Quickstart guide are all available
- Automatically checks for failure and success during spell checks. Spells are lost on failure
- Indication of critical failure & success with indications of what to do

- **Weapons**
- All weapons from the Quickstart Guide implemented and available through the compendiums
- Automatic weapon mastery calculations based on either weapon name or selected base weapon (for named weapons)

- **Talents**
- All ancestry & class talents, including talent rolltables, are available from the Quickstart guides
- Active effects on talents modify the data of the actor, automating the setup
- Talents pre-defined for:
- Advantage on Initiative, HP rolls, Spell casting with certain spells
- Advantage button colored green when advantage from talents, as suggestion on the roll dialog
- Ability score modifications
- Weapon Mastery
- Uses either the weapon name, or the base weapon as selected per item basis
- Additional damage dice during Backstab
- Custom talents can be defined
- (Note: Foundry limitations doesn't allow changing talents on the actors, so they need to be imported and changed before being dragged to the actor in some cases)


- **Quickstarter Guides**
- Both the Player Guide and the Gamemaster Guide from the Quickstart are available as journals
- Compendium containing the content available for: Items, Talents, Spells, Monster, Rollable tables, Pregenerated Characters, and the Lost Citadel of the Scarlet Minotaur


- **The Lost Citadel of the Scarlet Minotaur Adventure**
- The intro adventure in the Quickstart guide is available as an Adventure Import using the built-in compendium

- **Pregen Player characters**
- The pregen characters from the Quickstart Guide are all available in the built-in compendium

- **Lightsource Tracker**
- Interface only available for GMs
- GMs can track the remaining burn time of lightsources, see system options
- GMs have to ability to douse individual lightsources, or douse them all at once
- Individual tracking per player and item
- Tracks associated actors per player. A Player character *must* be claimed by a user to enable tracking

- **Macros**
- Macros for drawing traps, hazards, random ruin encounters, rumors, what is happening, random magic item names, and adventure site names available from the Game Master guide
- Macros for The Lost Citadel available: random beastman NPC, random ettercap NPC, random encounter check

- **Tours**
- A selection of tutorial Tours, explaining various parts of the system

- **Localization**
- We currently fully support English and Swedish translations
- We currenly have various levels of support for French, German & Finnish translations. Please see the [Translation][5] information on our [Wiki][4] for details on how to help with existing translations, or with getting new languages added
**Core Rule Book Content**
- All Weapons, armor, gear
- All Ancestries, Background, Classes, Deities
- All Talents with Roll Tables
- Spells (Teir 1-5)
- all 238 monsters from the core rules book

**Cursed Scrolls zines (1-3) Content**
- All classes, background, weapons, armor
- Talents and tables
- New spells (Teir 1-5)

**Quickstart Set Content**
- Both the Player Guide and the Gamemaster Guide from the Quickstart are available as journals
- Included adventure: The Lost Citadel of the Scarlet Minotaur
- Compendium of pre-generated characters
- Magical items
- Wizard Mishap tier 1-3 Table
- Macros for The Lost Citadel available: random beastman NPC, random ettercap NPC, random encounter check

**Sheets**
- Automated checks with calculated modifiers:
- Attack checks (based on equipped weapons)
- Spell checks, with spells lost on failure
- Stat checks
- Tracking of permanent or temporary conditions and effects
- Items
- Automatic tracking of gear slots, including augmentations from talents
- Light source item tracking, automatically sets the light settings for your tokens
- Selling of treasure and gems
- Items can be equipped, carried or stashed
- Characters (Players)
- Calculated HP (augmented by talents),
- Calculated AC (based on equipped armor)
- Luck token tracking in normal or pulp mode
- Monsters (NPCs)
- Fix HP or randomized by hit dice
- Basic attacks, spells, features,

**Character Management**
- A character generator for quickly rolling new characters
- Import existing characters from Shadowdarklings.net
- A guided level up process based on class details
- Automatic roll tables for randomizing talents

**Customization**
- Support for creating custom:
- ancestries, classes, languages, talents, monsters
- weapons, armor, properties, spells, magic items
- Active effects on talents can modify the data of the actor:
- Advantage on Initiative, HP rolls, Spell casting
- Ability score modifications
- Pre-defined talents for core classes
- Weapon mastery calculations
- Additional damage dice during Backstab
- Spell advantage on named spells

**Light source Tracker for GMs**
- Track the remaining burn time of Light sources
- Douse individual Light sources, or douse them all at once
- Tracks associated actors per player. A character *must* be claimed by a player to enable tracking

**Macros**
- Useful macros compendium with tools for running the game
- Macros for drawing traps, hazards, random ruin encounters, rumors, what is happening, random magic item names
- Import, items and spells from source material PDFs

**Monsters**
- Import monsters from source PDFs using the Monster Importer
- Support for monster token image remapping from a custom module or supported product. e.g. Pathfinder Token Pack: Bestiaries module

**Localization**
- Full support for English and Swedish translations
- Best effort support for French, German & Finnish translations.
- Please see the [Translation][5] information on our [Wiki][4] for details on how to help with existing translations, or with getting new languages added

# Video Tutorial
[![Shadowdark RPG on Foundry VTT Basics](https://img.youtube.com/vi/hoBxiK71DBQ/hqdefault.jpg)](https://www.youtube.com/watch?v=hoBxiK71DBQ&list=PLpf8dHUKN9f0of47XUk6V3dt3McRWYkcU)

# Community Contributions

Expand Down
34 changes: 34 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
# v3.1.0

## Enhancements
* [#693] Changes made to active effects on actors will now take effect immediately
* [#849] The UI and functionality of the Shadowdarklings importer has been improved
* [#853] CSS Styling for Journals
* [#854] Added SoloDark journals, roll tables and a new oracle app
* [#856] Beauty pass over Quickstart journals
* [#874] Added class descriptions to the character generator and class sheet remain open during level up

## Bugfixes
* [#852] Fixed a bug where ranged attacks were not showing correct damage
* [#855] Corrected minor UI bugs
* [#858] Character Generator now properly displaying text in Foundry v12
* [#868] Thrown property text updated to match latest rules.
* [#869] Monster Importer not working in v12
* [#870] Fixed a bug related to picking up dropped light sources
* [#875] Fixes to links in Quickstart Adventure and make use of new Journal styling

## Chores
* [#332] Implemented v11 method of working with Active Effects
* [#866] Updated README and Welcome message documentation.

- Welcome message now includes a link to the video tutorial: https://youtu.be/hoBxiK71DBQ

* [#872] Updated Bard abilities to the definitions in the Bard and Ranger v1.3 PDF

* Many thanks to *Kelsey* at *The Arcane Library* for allowing us to include SoloDark in the core FoundryVTT System.
* Thanks to *Cussa* for contributing fixes in this build.

**NOTE:** This release marks the end of support for FoundryVTT v11 and requires FoundryVTT v12

---

# v3.0.0

## Enhancements
Expand Down
File renamed without changes.
29 changes: 29 additions & 0 deletions data/macros/solodark-dungeon-name.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Macro to generate a random SoloDark Dungeon Name, only shown to the GM(s).

const pack = game.packs.get("shadowdark.rollable-tables");

const tableNames = [
"Dungeon Names: Name 1",
"Dungeon Names: Name 2",
"Dungeon Names: Name 3",
];

const selected = [];

for (const name of tableNames) {
const tableId = pack.index.find(o => o.name === name)._id;
const table = await pack.getDocument(tableId);
const result = await table.draw({displayChat: false});
selected.push(result.results.pop().getChatText());
}

const message = `<h3>${selected.join(" ")}</h3>`;

const chatData = {
user: game.user._id,
speaker: ChatMessage.getSpeaker(),
content: message,
whisper: game.users.filter(u => u.isGM).map(u => u._id),
};

ChatMessage.create(chatData, {});
6 changes: 6 additions & 0 deletions data/macros/solodark-oracle.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
*******************************************
* This macro opens the SoloDark Oracle
*******************************************/

new shadowdark.apps.SoloDarkSD().render(true);
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
"name": "Fascinate",
"system": {
"ability": "cha",
"dc": 15,
"description": "<p>You transfix all targets of level 4 or less within near for 1d4 rounds.</p>",
"group": "Perform",
"dc": 12,
"description": "<p>(Focus). You transfix all chosen targets of level 4 or less within near.</p>",
"group": "Presence",
"limitedUses": false,
"loseOnFailure": true,
"lost": false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"ability": "cha",
"dc": 12,
"description": "<p>One target in near gains a luck token.</p>",
"group": "Perform",
"group": "Presence",
"limitedUses": false,
"loseOnFailure": true,
"lost": false,
Expand Down
2 changes: 1 addition & 1 deletion data/packs/classes.db/ras_godai__7tlVtlk1zbMQz8qF.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
],
"folder": null,
"img": "icons/sundries/documents/document-sealed-brown-red.webp",
"name": "Ras Godai",
"name": "Ras-Godai",
"system": {
"allArmor": false,
"allMeleeWeapons": false,
Expand Down
9 changes: 6 additions & 3 deletions data/packs/conditions.db/blind__xE08WjX14HjHwSJC.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/creatures/eyes/humanoid-single-blind.webp",
"img": "icons/creatures/eyes/humanoid-single-blind.webp",
"name": "Blind",
"origin": "Item.Grd46xo0lgHLtfVe",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
9 changes: 6 additions & 3 deletions data/packs/conditions.db/charmed__g02s1plvTDRI6Ido.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/magic/life/heart-shadow-red.webp",
"img": "icons/magic/life/heart-shadow-red.webp",
"name": "Charmed",
"origin": "Item.fDUPAItc64pmW5zM",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/magic/control/fear-fright-white.webp",
"img": "icons/magic/control/fear-fright-white.webp",
"name": "Condition: Afraid",
"origin": "Item.6Hd5Dzf2TnXL9Gxs",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/magic/control/sleep-bubble-purple.webp",
"img": "icons/magic/control/sleep-bubble-purple.webp",
"name": "Condition: Asleep",
"origin": "Item.FoXNI5CfBkJOvJ9c",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/magic/control/hypnosis-mesmerism-pendulum.webp",
"img": "icons/magic/control/hypnosis-mesmerism-pendulum.webp",
"name": "Condition: Beguiled",
"origin": "Item.4OcLCPW1pxzTua7d",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/creatures/invertebrates/centipede-brown.webp",
"img": "icons/creatures/invertebrates/centipede-brown.webp",
"name": "Condition: Bug Brain",
"origin": null,
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,14 @@
"startTurn": null,
"turns": null
},
"icon": "icons/magic/control/energy-stream-link-spiral-white.webp",
"img": "icons/magic/control/energy-stream-link-spiral-white.webp",
"name": "Condition: Compelled",
"origin": "Item.7DNtQwX31lpChHZH",
"statuses": [
],
"tint": null,
"transfer": true
"system": {
},
"tint": "#ffffff",
"transfer": true,
"type": "base"
}
Loading

0 comments on commit 3c45e89

Please sign in to comment.