spacemandev-git / fvtt-card-support

Adds programmatic deck support to FoundryVTT
MIT License
10 stars 10 forks source link

Feature Request: Help Players interact with card tiles (former title: as GM, deal to other players) #9

Closed bloy closed 4 years ago

bloy commented 4 years ago

If gamemasters could deal to other players and possibly view the hands of other players it would make things like Savage World's Adventure Deck a lot easier to deal with.

The workflow would be:

  1. GM has the deck on a scene somewhere
  2. GM right clicks, and has the option to deal
  3. Dialog box offers the chance to deal X cards to individual players.
sharkbruhaha commented 4 years ago

I would like to tag onto this request a few things:

  1. view people's hands (minimized to show a count of each type of card (from a deck))
  2. drag and drop cards to the table to have everyone see them
  3. be able to right click cards in people's hands to ask to be able to take them into your hand
  4. be able to right click cards on the table to take them into your hand
agrtga commented 4 years ago

I installed this module today and had a player come on to test if I could use this to replicate Three Dragon Ante. It's a great start for basic card play. However, it needs what others have mentioned in this issue.

Additionally, the player needs to be able to drag cards onto the table and take them back into their hands (theirs or other cards). I guess the GM could be in charge of that, but that would become quite onerous.

Norc commented 4 years ago

Hey all,

Some great feature requests/ideas here.

Spaceman has a working prototype of Bloy's initial request and we are working on other issues relating to supporting player level as opposed to GM level users and multi-player type issues in general.

Some of these things (like players interacting with cards on the table) are tricky due to how permissions are set up in Foundry and will require some innovation.

agrtga commented 4 years ago

Thank you, that is encouraging. I have the Three Dragon Ante deck ready, and it'll be nice if it can be functionally supported.

spacemandev-git commented 4 years ago

Check out v1.3.2 It covers deal to player and player-to-player card trades it also allows card reveals and 'marking'

players can drop cards on the table, but because of permissions right now it's impossible for them to take it back. a GM has to pick up the card and give it back to the player

agrtga commented 4 years ago

Thank you, I will. I installed the 1.3.1 update this morning before I started work and checked it out, but obviously haven't been able to address 1.3.2 during the day.

I think that should be minimally invasive. I assume there's an option to easily give the card back to the player, or does the GM just need to take it into their hand and then give to player?

Three Dragon Ante has frequent card trades, so having a good workflow is important. For example, you play a Bronze Dragon and you get to take the two weakest ante cards, or you play a Brass Dragon and the opponent with the strongest flight (cards that are played and shown on the table) can give you a stronger good dragon or give you gold.

Here's an image of a sample hand in case you're curious what it looks like: 3da

spacemandev-git commented 4 years ago

You can right click any card in your hand to give it to any other player.

I can also add an interface on to a card on the table such that the GM can give it to any player. Foundry doesn't let players directly interact with tiles, which is a big hurdle for us.

Allowing players to interact with cards on the table is tricky tricky...maybe I can make it so if a Player plays a card to the table it's a Token instead of a Tile?

agrtga commented 4 years ago

A token might work really good actually. It'd let them move it to a logical spot instead of the GM having to do it. For example, at the beginning of each gambit in the round there's an ante that starts with flipping an ante card - it determines the ante and who starts that gambit. Those cards then go into the ante stack.

I was trying to avoid writing a book, because that game can get involved. It's not hard, but there's a lot of shifting of cards and gold. In particular scenarios, a player might need to choose a card from another player's hand (like playing a Shadow dragon which lets you take a random card from the hand of the opponent with the most cards in their hand). Therefore, I was envisioning that the player would plop all their cards facedown on the tabletop and then the other would take one of their choice.

Norc commented 4 years ago

This is very exciting and want to make this happen.

There are some strange workarounds that could be used to allow the player to interact with cards maybe:

token attacher: create a little dragon or gold pile or whatever token that is attached to the card. The player can interact with the token, and we could pass commands to the tile. Could now be added as a dependency. Multiple layer selection that might allow a player to "reach" into the tiles layer with some finagling of the codebase (doubtful, though I'll give it a shot).

On Mon, Aug 24, 2020 at 4:48 PM Anthony Trudeau notifications@github.com wrote:

A token might work really good actually. It'd let them move it to a logical spot instead of the GM having to do it. For example, at the beginning of each gambit in the round there's an ante that starts with flipping an ante card - it determines the ante and who starts that gambit. Those cards then go into the ante stack.

I was trying to avoid writing a book, because that game can get involved. It's not hard, but there's a lot of shifting of cards and gold. In particular scenarios, a player might need to choose a card from another player's hand (like playing a Shadow dragon which lets you take a random card from the hand of the opponent with the most cards in their hand). Therefore, I was envisioning that the player would plop all their cards facedown on the tabletop and then the other would take one of their choice.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Brownie79/fvtt-card-support/issues/9#issuecomment-679357952, or unsubscribe https://github.com/notifications/unsubscribe-auth/APNL7OYYZEPHO6PE5RNQQRLSCLGZLANCNFSM4QIESB3A .

spacemandev-git commented 4 years ago

So this feature request can't be completed as listed, but in 1.4 there are ways for players to interact with decks through the hotbar, so they can Draw, View Deck, View Discard, etc all from the Hotbar.

In the future there might be a Cards layer which might make interaction with cards on table possible, but that's a 2.0 issue so don't hold your breath

Norc commented 4 years ago

Hey folks, I'm going to close this one, it's become a bit unwieldy and evolved to cover new things.

In general, I think one of the best solutions for the "players interacting with cards" thing is just to temporarily give the user Assistant GM privileges for the duration of the game. You can customize those privs to be as minimal as possible if that is the only purpose... basically consider it a "card player" role. Until and if a Cards layer happens, I think this is the best short-term solution for 3 Dragon Ante (and other card "mini-games" inside of larger campaigns).

Could even be done for a "card trading" phase for something like Savage worlds Adventure decks. Go to the landing page, give assistant GM privs, trade cards, revoke them.

Going to open a new issue for the "other player hand" thing.

agrtga commented 4 years ago

I don't like the idea of messing with the permissions. I'll probably just sit back and wait to see what v2 offers.