Coder Social home page Coder Social logo

wjmais's Introduction

Supported Foundry Versions GitHub License Total Download Count Latest Release Download Count Forge Installs Spelljammer Discord Server

Wildjammer: More Adventures in Space

This Foundry VTT module provides support for the Wildjammer: More Adventures in Space supplement by Sesserdrix#7270. It provides a dnd5e-compatible wildjammer ship vehicle sheet and compendium content including all ships, ship components, weapons, spells, bridge crew features, and quick reference journals.

Wildjammer: More Adventures in Space is unofficial Fan Content permitted under the Fan Content Policy. Not approved/endorsed by Wizards. Portions of the materials used are property of Wizards of the Coast. ©Wizards of the Coast LLC.

Features

This Foundry VTT module extends the dnd5e system with the following:

  • WJ:MAiS version 0.97.2 content
    • Wildjammer ships
    • Helms, Modules, Upgrades, Fore Mantle Modules, Hull Materials/Modifiers
    • Ship Weapons and Personal Weapons
    • Optional class features, Bridge Crew Role Features, and Spells
    • Quick Reference guide
  • Wildjammer ship vehicle sheet (PC and NPC modes)
    • Hull Points, Bulwark Points, Tactical Speed, and Manueverability
    • dnd5e Wildjammer AC formula
    • Active Effects support for content with changes targeting AC, Speed, BP, and HP.
    • PC Mode
      • Weapons not rollable from Wildjammer sheet (unless roll weapons from PC sheet setting is enabled)
      • Bridge crew role management
      • Fighter-Helmsman/Gunner and Helmsman character sheets inherit ship weapons/equipment when entering the appropriate role.
    • NPC Mode
      • Exposes configurable abilities
      • All items, ability checks, and saving throws rollable from Wildjammer sheet
      • Attacks may have hardcoded bonuses or use the ability modifiers.
  • Cone of movement measured template toggle using key bind
  • Token resource bar support for Hull Points and Bulwark Points
  • Ship class scaled Collide and Ram attacks with midi-qol and Ready Set Roll support
  • Additional personal and ship weapon properties
  • Additional wildjammer fore mantle module, module, upgrade, hull material/modifier equipment types

Use

Quick Reference

Click the Wildjammer logo in the upper left or use the keybind to open the Wildjammer Quick Reference journal. This journal provides an index of the Wildjammer: More Adventures in Space content.

Wildjammer Sheet

PC Mode

This is the default mode available to players.

  • Owned ship weapons display facing and location to assist with determining potential targets.
  • Bridge crew role assignment is managed via drag and drop of an actor to the sheet.
  • Only one actor allowed in unique roles (Captain, Boatswain, Fighter-Helmsman, and Helmsman)
  • Dragging an actor to Gunner or Fighter-Helmsman role will present a weapon selection dialog if more than one weapon is available for use in that role. The selected weapon is inherited by the actor and rolled from their sheet in mega scale combat.
  • Dragging an actor to the Helmsman role will result in all ship Helmsman equipment/weapons being inherited by the actor to be rolled from their own sheet in mega scale combat.
  • Deleting a bridge role assignment or dragging it to Unassigned will remove them from the bridge crew and remove any inherited ship weapon from their actor sheet.

NPC Mode

This mode is only available to GMs.

  • GM Visible NPC Ship toggle enters NPC mode.
    • Any PCs assigned to bridge crew roles will be removed upon entering NPC mode.
  • Ability scores and proficiency may be configured as needed.
  • Roll weapon attacks and other items directly from the sheet.
  • Roll ability checks or saving throws for the ship by clicking the appropriate ability.

Cone of Movement

  • By default, the cone of movement template is bound to m. This key may be changed in Configure Controls. Select a wildjammer ship token and use the bound key to toggle the cone of movement template on and off.

Licenses

  • This Foundry VTT module is licensed under MIT and with permission from Sesserdrix#7270
  • This work is licensed under Foundry Virtual Tabletop EULA - Limited License Agreement for module development v 0.1.6.
  • Wildjammer content provided under the Fan Content Policy and OGL 1.0a
  • Threshership and Turtleship artwork used under permission from Lauren Decker.
  • The remaining ship artwork is used under the Fan Content Policy.
  • Wildjammer logo and social preview art used under permission from RathofKelly.

Thanks

  • Sesserdrix#7270 for producing the high quality Wildjammer supplement for 5e.
  • Lauren Decker and RathofKelly for providing beautiful artwork (check out their sites).
  • Calego#0914 and the entire League of Extraordinary FoundryVTT Developers community for answering questions and documenting API usage.

wjmais's People

Contributors

surged20 avatar elena-v2 avatar

Stargazers

 avatar  avatar Colin McLear avatar Davi Marcon avatar Peter P avatar  avatar  avatar Marcelo Moscone avatar Steve avatar Last Wednesday avatar Anton Palikhov avatar Andy O'Brien avatar C. S. McFarland avatar

Watchers

 avatar  avatar

wjmais's Issues

Add spellbook capability to NPC ships

Part of treating NPC ships like monsters involves being able to also give the ships mega-scale spells to cast directly. Having a spellbook tab allows an NPC ship to be quickly configured with spells.

Possible useful Media/Assets

1.) This is fantastic and I will be adding it to laughingbeholder.com the first chance I'll get.

2.) There is definitely stuff on laughing beholder that might have some relevance to this effort. You are welcome to use anything I made and I'm happy to connect you with the creators I've highlighted on this site if you think that would be helpful.

Track HP and BP on separate token resource bars

Repairing Bulwark Points is a regular Boatswain action in combat so it's useful to have that shown separately from Hull Points so delta damage/headling changes can be made via the token HUD.

Since I map hull points to attributes.hp.value/max and bulwark points to attributes.hp.temp/tempmax this currently gets hijacked by the dnd5e system special handling for attributes.hp which combines hitpoints/temp hitpoints in the resource bar rendering (which is nice for groundling actor hit point handling but not what we want for wildjammer actor HP/BP management).

PC actor tab for bridge crew role ranks

Add a tab to PC actor sheets to manage and track current WJ bridge crew role ranks. Ranks do not function like 5e skills so it's probably best to just add a custom tab on the actor sheet.

Price of cargo is [object Object]

Using 5e system version 2.1.5, Foundry v10.291, Librwapper 1.12.12.0, Wildjammer v0.8.2, all items in the Cargo section have their prices listed as [object Object]. I can reproduce with only these modules enabled.

This is due to 5e version 2.1.0, which changed the way price data is handled:

"Price Data
Price data for Items has changed from a single value to an object with value, and denomination properties."
https://github.com/foundryvtt/dnd5e/releases/tag/release-2.1.0

A quick fix for this is replacing the price block on line 1216 of wjmais.js with:

          {
            label: game.i18n.localize("DND5E.Price"),
            css: "item-price",
            property: "system.price.value",
            editable: "Number",
          },
          {
            label: "Denomination",
            css: "item-denomination",
            property: "system.price.denomination",
          },

I don't think there is localization set up for denomination.

Features tab of Wildjammer vehicles sheets is not interactable

image

The entire features tab cannot be interacted with in the way it's supposed to be. If you try and drag anything from the items compendium from Wildjammers, it does not populate this tab at all and instead sits in the Cargo & Crew list instead.

image

The only thing that can be added are Features, but even with that, the items cannot be moved or deleted at all. You also can't edit things as well as those buttons remain unresponsive.

Also, check the ships in the compendium, and those with pre-established features like the Tradesman, and those too have their pre-set modules like figureheads stuck in the Cargo tab as well.

image

Wildjammer quick reference option

Would it be possible to set some other means for toggling the quick reference sheet? I use the minimal UI module, which also uses the Foundry logo for toggling, and it would be great to be able to disable the WJ Foundry logo option and have another option for the WJ reference sheet, either via an icon or (more preferably for me) via some hotkey.

Unusual option in Features Section.

Wildjammer Sheet

I'm not certain if this is a bug or an issue on my end. I see this option on the Wildjammer sheet. I'm using Foundry V10.291. And only have LibWrapper and Wildjammer active at the moment for modules.

Display ship movement template

Display a contextual WJ cone of movement template on demand.

This would probably be best managed with a toggle hot key and placed relative to current token position and rotation.

Ships incompatible with FVTT Version 10

A warning appears for Wjmas when opening world about errors detected in module. The error seems to be that character character sheets broke in a recent FVTT update. Other items can be opened in Compendium but Ships can't.

Add mega spell tags

dnd5e 1.6.0 (still in development) supports custom spell tags by modules. Add a megascale tag and update the appropriate spells.

Support NPC wildjammer sheet mode

NPC wildjammers should allow rolling weapons with a preset attack bonus directly from the sheet. No need to show/manage bridge crew roles and weapon assignment.

This may be either a separate registered sheet or a mode toggle on the existing sheet.

Wildjammer Error Preparing Actor Sheets

Hello,

While Wildjammer is installed and activated, I cannot view any character sheets (even those not associated with the mod). When loading foundry, an "error detected in module" notification directs me to check the JS console. It appears that for every actor:

"Could not prepare data [Actor Name] TypeError: CONFIG.WJMAIS is undefined"

As an example,

Could not prepare data Nevezen & Udachi TypeError: CONFIG.WJMAIS is undefined
patchRollData patch.js:120
call_wrapper libWrapper-wrapper.js:616
getRollData DAESystem.js:166
getRollData DAEdnd5e.js:1065
call_wrapper libWrapper-wrapper.js:616
getRollData#0 libWrapper-wrapper.js:189
prepareDerivedData actor.mjs:162
prepareData foundry.js:14212
prepareData flags.mjs:21
prepareData actor.mjs:131
call_wrapped libWrapper-wrapper.js:507
prepareData DAEdnd5e.js:1139
call_wrapper libWrapper-wrapper.js:616
prepareData#0 libWrapper-wrapper.js:189
_safePrepareData foundry.js:14187
_initialize foundry.js:14015
DataModel commons.js:6919
Document commons.js:7583
BaseActor commons.js:9244
ClientDocument foundry.js:13979
Actor foundry.js:18605
flags.mjs:6
document.mjs:8
Actor5e actor.mjs:16
applyDelta commons.js:9159
apply foundry.js:18412
_createSyntheticActor foundry.js:18475
_configure foundry.js:18387
DataModel commons.js:6913
Document commons.js:7583
BaseActorDelta commons.js:9073
ClientDocument foundry.js:13979
ActorDelta foundry.js:18383
initialize commons.js:12606
get actor foundry.js:24881
tokensOnScenes migrations.js:105
getSequencerEffectTokens migrations.js:31
getSequencerEffectTokens migrations.js:29
getSequencerEffectTokens migrations.js:25
0 migrations.js:102
runMigrations migrations.js:11
module.js:65
#call foundry.js:730
callAll foundry.js:687
setupGame foundry.js:8746
DAEdnd5e.js:1177:17

Ship construction tool

Create a state-driven tool that implements the ship construction process from WJMAiS 0.97.

  • Probably want to leverage basic UI and mechanics from https://github.com/HeroCreationLab/hero-creation-tool/
  • Need to consider using active effects in a DAE-compatible manner (Default AC feature) when setting base AC so
  • Allow selection of features from stock ones or creating ad-hoc features (to facilitate unique NPC ships).

WJ:MAiS quick reference

Create a quick reference composed of an index journal and any child journals that organize links to all the content in the compendia.

System Agnostic?

I've only just found WJ:MAiS because of your module, but from what I see the content is intended to be usable in any fantasy setting. That does not appear to be the case for this module. Just wanted to be sure, but I assume it is using some content from the dnd5e core module since I am unable to use it in my pf2e game world.

[BUG]Minor changes to ship items breaks them / editing items moves them to "cargo"

When you make changes within ship items like change rarity, change equipment type, and many of the other fillable fields, the item will lose its type and no longer work properly within the ship sheet. Preferably, the DM should be able to control the type of item (module, hull, upgrades, weapons) on the details page.
image
image

EDIT: I am also noticing that if you open and edit an item WITHOUT changing anything and close the item it moves into cargo as well.
image
image
image

I am using the latest 5e 1.5.2 and latest WJMAIS.

Editing bridge crew roles

I have a PC that had the helmsman role on my group's ship, but now I can't assign them to anything. When I try, it says "[PC name] is already assigned to [group's ship's name]," even though they aren't listed in any bridge crew role. Is there any way to manually remove PCs from roles so I can re-add them?

P.S. This module is simply fantastic, my whole group sends their thanks!

up/downscale spells to normal or megascale grid

Based on the presence of the megascale spell tag, offer an option in the AbilityUseDialog to upscale or downscale a spell based on whether the actor's active token is on a 5 foot or 500 foot grid.

This addresses a couple use cases:

  1. normal spell cast through an arcane amplifier (upscaled to megascale) on 500 foot grid (e.g. fireball) so the placed template dimensions are at megascale.
  2. megascale spells cast where the DM prefers to play on a 5 foot grid. Spell is downscaled from the nominal megascale so measured templates aren't enormous on the 5 foot grid.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.