Giter Site home page Giter Site logo

fvtt-loot-sheet-npc-5e's Introduction

Github All Releases Donate

Caution

This module is currently not maintained. It is partially functional with the dnd5e v3.x system for FoundryVTT v11, but not fully. I just don't have the time to keep up with the constant breaking changes in the 5e system. It's exhausting. If this changes, this README will be updated. I will also happily accept pull requests and contributions.

Loot Sheet NPC 5E

This module adds an additional NPC sheet which can be used for loot containers such as chests or merchants in your game. It has a permission system that allows observers to make loot or ourchase actions which will automatically process the item transaction, including inventory moves and currency changes.

A loot sheet allows players with the right permissions to loot items from it, while a merchant sheet lets them purchase the items in exchange for currency. Merchant sheets can also be populated via rolls from rollable tables. This allows a GM to quickly create varied inventories for their merchants. A couple of rollable tables are included and can be imported via standard rollable table methods. It is also compatible with our rollable table collections such as https://foundryvtt.com/packages/foundry_community_tables.

History

This version was forked from Hooking's module which ended compatibility with Foundry VTT version 0.3.9 (https://gitlab.com/hooking/foundry-vtt---loot-sheet-npc). This fork should be updated by me to keep it current with Foundry VTT.

I will only maintain a DND5e compatible version of this mod, but I encourage forks for other systems as well as accept pull requests and contributions for this one. I'm very busy and appreciate all current and future contributors!

Features

Allows for easy assembly of items and coins to be distributed to players.

More features detailed below.

Permissions

Permissions can be set in the sheet for each player and range from no access (cannot open sheet) to observer (view sheet and contents and utilize loot or buy buttons) to owner (view sheet and add/remove items and configure sheet).

demo_permissions

Shopkeeper Sheet

Can be used to create an inventory of a shopkeeper to allow players to peruse their inventory. Prices are listed next to each item.

demo_inventory

Price Modifier

Prices can be adjusted by percentage for all owned items.

price_modifier

A Biography tab is also available.

demo_biography

Coin Distribution

Any coins in the sheet can easily be split evenly across all players with owner access. The math and distribution is done for you via a single click if you're the GM.

demo_splitcoins

Create Spell Scrolls

Dragging of spells into the sheet will automatically turn them into scrolls.

demo_scrolls

Compatibility:

  • Tested with FVTT v0.7.9 and the DND5E system only.

Installation Instructions

To install a module, follow these instructions:

  1. Start FVTT and browse to the Game Modules tab in the Configuration and Setup menu
  2. Select the Install Module button and enter the following URL: https://raw.githubusercontent.com/jopeek/fvtt-loot-sheet-npc-5e/master/module.json
  3. Click Install and wait for installation to complete

Feedback

If you have any suggestions or feedback, please submit an issue on GitHub or contact me on Discord (ChalkOne#0156).

fvtt-loot-sheet-npc-5e's People

Contributors

alessiocali avatar blitzkraig avatar cacjorge avatar cs-birb avatar cynicide avatar danielboettner avatar darkwindleaf avatar flamewave000 avatar infraredaces avatar jopeek avatar kagejittai avatar matthewcox-zbm avatar mouse0270 avatar nonstick-panda avatar olavmueller avatar rubberduckiegod avatar spoidar avatar thegiddylimit avatar tonyrobots avatar varriount avatar xe0nis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

fvtt-loot-sheet-npc-5e's Issues

Handle remainders when splitting

Currently if you have 5 coins, and try to split 6 ways (for instance), it will give each person 0, and set the amount remaining to 0.

It should either distribute what it can, so that in that example a random 5 of the 6 players would get a coin, or, if that's too difficult, it should do what it does now, but leave the remainder in the container to be distributed manually.

Token player switches focus with loot actor

A chest is added with loot as the type of sheet. The permission is then set to owner in the type permissions (Note that there are no issues when the permission is set to observer). So when the player double clicks the chest, the background changes to black (FOG) and when I try to move the player token with the arrows it says: User Player 2 lacks permission to update Tokens in parent 1OYBV5ssZEAZddt. It seems that I loose focus of my token and instead switches to the chest actor.

Using Foundry version 0.6.6 with just the Loot Sheet NPC 5E module activated (Version 2.1.1).

issue

Great module btw!!

Request setting to bypass loot sheet handling of spell conversion to scrolls

DnD5e system release 0.9.0 added default handling of spell conversion to scrolls when dragging a spell to an actors inventory.
This default handling is also applied when manually dragging a spell onto an NPC loot sheet. That action bypasses the code for scroll handling in the loot sheet.
However spell conversion to scrolls that is initiated by a roll table (better roll tables) is put through the loot sheet code for scroll conversion. This leads to inconsistent representation of scrolls depending on the method of adding them to the loot sheet (manual vs roll table).
I would like to request a setting that would allow scroll conversion to be handled entirely by the DnD5e system or entirely by the loot sheet code, regardless of the method used to add the item to the loot sheet.
Additionally, if the loot sheet code is used, it would be good to have the ability to override the formula used to price the scrolls (for DMs that may want to set pricing specific to their campaign).
Attached image shows difference in scrolls sourced from the same compendium - scrolls at the top were manually added to the loot sheet and inherited the default 5e system attributes vs the ones at the bottom that were added via roll tables and have the loot sheet handling applied.
scrolls_lootsheet

Changing NPCs Apart From Chosen

When I change the type of sheet for NPCs, it randomly changes other NPCs as well. For example, I'll set a chest as a loot sheet, and it'll change another random NPC to a loot sheet as well, when they were meant to be used in a combat.

Cannot roll on table until the rollable table is changed

The rolltable flag is only set when a change is made to the rollable table dropdown, but it should be set when the actor is created or when the sheet is opened for the first time. If you only have one roll table, you are stuck in a position where there is no other table to switch to, which means a change is never triggered and therefore a flag for the rolltable is never set. You will get the 'rolltable is undefined' error forever or until you add another table and switch between them.

Can't set permissions without assigning currency

Attempting to assign permissions on loot sheets without adjusting setting all the currency to some value (I.E: The values are null), throws an error.

Assigning the currency and then assigning permissions results in the expected workflow.

Steps to reproduce:

  1. Create an NPCLootsheet
  2. Attempt to assign permissions with adding currency
  3. Error is thrown in console

Purchasing 1 manually added item removes all regardless of quantity

I have a tavern where the inventory is filled via rolltables. But I noticed that if I manually add a new item and set the quantity to say, 10. If a Player clicks the purchase button on that item, a query asks how many he wants to buy. Player chooses 1. 1 of them goes in his inventory (correctly), but the other 9 in the shop vanish instantly (incorrectly).

However, if he chooses to purchase one of the items filled via the rolltable, it works as expected, correctly deducting 1 from that item's quantity without removing all the rest of them.

Scroll Icons not being applied to spells manually dragged on to loot sheet

Following the DnD5e system change that introduced native handling for spell conversion to scrolls, the loot sheet setting that overrides the spell's native icon is not being applied to spells manually dragged on to the loot sheet.
Spells added manually to the loot sheet and converted to scrolls should obey the loot sheet setting regardless of the method used to add them.
Scrolls added via loot tables (better loot tables) are having their icon updated.

do a service session

have a session for the merchant (and a special item) for services.
thus creating an item that is not subtracted from the merchant's list but is charged to players. (great for making inns for example).
or a simple one loot with infinity quantity

v0.6.0 compatibility issue

Just upgraded to v0.6.0 of Foundry, found an error that only happens when loading the loot sheet. I'm going to try to dig in a little, but I need to get my game running for Thursday night first. :)

Uncaught SyntaxError: The requested module '../../systems/dnd5e/module/actor/sheets/npc.js' does not provide an export named 'default'

If I disable this module, no error.

ambient sound plays when player has permissions to loot NPC

Screen Shot 2020-07-22 at 10 41 24 PM

When I wish to have a player be able to loot or split money from the NPC, I must offer permission to the player. the problem is that when I have ambient sound and the NPC falls in the radius of it, the player is now able to hear sound from the NPC as if the permission grants the player access to the token, therefore playing music like the player was the NPC itself.

Weight Total for Loot Sheet

Add a total weight line for contents on sheet so it can be used to track total weight of loot the characters have in containers.

Multiple Characters per Player

There is currently no way to add multiple characters (actors) that are owned by the same player to a loot sheet. This scenario comes up in games when players may being playing multiple characters or have henchmen in the party who may want to loot things as well.

Quality of life improvements

This module is of great utility, but there are a few paper-cuts that would make working with it less laborious for players and DMs:

  • Loot all button: A Loot Allbutton to allow a player to simply take all loot, or perhaps checkboxes, with a select-all box at the top, and a Loot Selected button would speed up many operations. Applies only for Type: Loot.
  • Looting of stacks: Looting an item stack is currently quite laborious, since the correct number has to be entered into the field. For single-quantity stacks this kind of feels even worse, since there can only be one valid answer. Being able to loot a full stack quickly would be very welcome - perhaps shift+click on the loot icon should trigger this, analogous to how rolls work. With this implemented, we could possibly even do without the above feature, since it would speed up looting dramatically, though for long loot lists, Loot All might still be optimal. Maybe applies for both Type: Loot and Type: Merchant, not 100% certain if this is desirable for merchants.
  • Player controlled currency looting: Allowing players to trigger the gold split (#40 and #39) would be very nice, my preference is for Observer to allow this. I presume that would have to be sent via the GM session to update other player's tokens though. Another button allowing a player to take all currency for their own actor would also be very welcome (not all party members are altruistic ๐Ÿ˜‰). Applies only for Type: Loot.
  • Bulk Permissions: Being able to give all players a specific level of access quickly would be a big boon, especially for larger games. This can be done ahead-of-time by setting permissions on the actor, but that makes the loot actor visible to players in the actors tab, which is rarely desirable. Applies for both Type: Loot and Type: Merchant.

Manually increase/refresh merchant inventory?

Much like you can manually increase the cost of a merchant's items, would be great to also be able to manually increase/refresh the quantity (after a rather spendy adventuring party comes through and wipes the place out, say).

Been thinking through the implementation details, and don't really have a great answer for what'd be best re adding uniformly to all items, versus setting a max for each and then topping up, versus... I dunno. Worth throwing on the whiteboard at least, I think. :)

Feature Request - Item costs for items

It would be cool if items could have items as a requirement. So I could have a cauldron filled with a potion, but PCs would need glass bottles. Ideally it automatically grabs them from the player's inventory and has a confirmation popup, but if they have to drag the glass bottles in, that works.

It would be cool if it worked for shopkeepers too.

Reinstate Biography Tab

With the removal of the Biography tab my players can no longer keep a changelog of their Party Coffer directly on the sheet. Any chance of having this reinstated, or a separate Party Coffer sheet implemented that features it?

Split coins for Observer

allow the option to split coins for observer permission, as I don't want the player to be able to edit the item within the loot / merchant with permission from the owner.

Requires GM online

When I have a character try to buy or loot I get a message that says The GM appears to be offline, they must be online to purchase an item.

I have tested on two different machines and on the machine I am running Foundry on. Still the same error. I verify that the GM is logged in.

I removed all other modules and same error persists.

Any thoughts?

WhenIClickBuy

Increase price modifier upper bound.

Currently upper bound is limited to 2x base price. It would be nice to be able to increase this beyond 2x. Curse of Strahd, for example, has a shop where prices are 10x of PHB.

Currency convert on buy/sell

When I click buy it converts all currency to the highest possible, please make this an option rather than default if possible. Would be very nice if it just drew what it needed from say copper and if the player doesn't have enough copper it takes a silver or two and converts them to copper.

Scroll converter doesn't work

Hello !

When i drag & drop a spell to a loot sheet, it doesn't become a scroll, it goes under the "loot" table. And it stays like a spell.

My foundry is under the 0.5.5
And the lot sheet is 1.6.2

Thank's in advance

Selling items to the NPC

It would be of great help if it were possible, for example, for players to sell some items they have in their inventory to the NPC.

  • I don't know if it would be possible for Merchant to do both functions (buy and sell), but if it is not possible, should be great to have another option besides Loot and Merchant, just to buy items from players. As GM we would only need to have an NPC to buy (new feature) and another one for sale (merchant).

  • A suggestion would be to drag and drop the item into the NPC sheet. After dragging and dropping, a confirmation screen just appears to the player doesn't accidentally sell any item.

  • The NPC would buy the item, only if he had enough money

  • The price modifier can still be valid to define the percentage of purchase of the item.

  • The base value of the item can be collected on the moved item itself (edit the item and see the price value).

  • After all, the value of the NPC is discounted and the value is added to the character's sheet (something opposite to what is done for the Merchant).

Thanks in advance,
Luciano

Lootsheet NPC Auto-update non-functional

The latest version of LootSheet NPC 5E is 1.6.2, but the in-Foundry updater(version 0.5.7) is not progressing me past 1.3.6:

image

I'll uninstall and reinstall, but there might be something that needs fixing here.

Currencyt Convertion rate setting

It would be splendid if there was an option for this. The standard Dnd5e is 10cp to 1 silver. But in my world the transfer rate is 100cp to 1 silver.
This would also mean that the Merchants Price would have to be able to be written 0.001 for 1cp prices, as it is now it defaults to 0 if that's written.
Just a bonus for those of us that have our own currency values =)

GM is unable to split coin distribution from loot sheet

Bug:
When clicking the Split button on a loot sheet, coinage is not split among the designated actors and an error pops up "No active character for user".

Notes:
The flow does work for a player if that player is set to Owner for the loot sheet.
Also note, any modification to the coin manually by the GM generates the same error "No active character for user", but the coin change is accepted.

Module is not compatible with FVTT v0.6.2

Loading this module in FVTT v0.6.2 throws the following error:

Uncaught SyntaxError: The requested module '../../systems/dnd5e/module/actor/sheets/npc.js' does not provide an export named 'default'

Split coin for player

allow player with owner permission to use the split coins button in the group directly from the loot.

Spells added to inventory via Rollable Table are not converted to scrolls

If I drag and drop the scroll, it's converted correctly and given a price (fairly low though, can we set that as users?)

Loading from my Better Rolltables "Treasure Table" the item isn't converted to a scroll and is instead added as Loot of "True Strike" for example. I will add that the scroll is actually picked three rolltables down, but I don't know if that makes a difference?

Entries are wider since V1.6 update?

I assume the latest update where you added the $ sign to make purchases available to players screwed a bit with column width or something, so each entry is wider than it should be?

image

Better Roll Table compatabilty

Increase capability with Better Roll Tables (https://github.com/ultrakorne/better-rolltables). It would be great to be able to setup it up so my vendor has a 80% for a common, 15% for an uncommon, and 5% for a rare. Roll 1d10 times. Working with better roll tables would make this easy to setup since I can have 1 table roll on another. I would make a list of common, uncommon, and rare items. Then a village vendor could have a table that makes it so he never has a rare, a city vendor could have different percent's again, and a castle could have a high chance. I hope I explained the desire well enough.
tl;dr; Compatibility with Better roll tables so it can roll on more than one table at a time so I can chain table rolls

Many Many errors when enabled while VTTA Beyond Importer is used

When the Loot-sheet-npc module is enabled while the VTTA Beyond Importer module is used, the console is spammed with pages of the following error:

image

I get pages of this. Nothing special about the character, happens in every character I've tried, in both 0.5.6 and 0.5.7. VTTA 2.2.14 and Loot Sheet 1.3.6. Only these two mods were enabled at the time of import. If Loot sheet is not enabled at the time of import, no errors occur.

I've brought this up with the VTTA team also, thanks!

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.