I may have done something stupid, that I am just not seeing.
I have 3 decks placed as at start stacks on Map A.
On the main map, there are buttons to create 4 sub decks (based on the year in play) on Map A
Each player has a hand with 2 decks on it with action button to draw a card from Map-A decks.
They can then play the cards to Map-C (played cards)
There is a main map button to return all cards to the original decks.
Then a new button from step 2 (for the next year) is chosen. And the process is repeated.
I believe it was working before upgrading to vassal 3.5.5
[size=150]Now it looks like whichever player initially presses the button to create the decks ‘owns’ all the cards forever. The other player can no longer draw cards to his hand, or return cards to master decks, or create a new set of year decks.[/size]
What I want is any player to make the decks or return cards to decks, while both players can draw they’re cards.
Let me repeat, I may just have done something stupid.
We will need a set of clear “repro steps” to tell us what precisely to do with your module (since we don’t know how to play the game, etc – I don’t know how to “create a deck” or do those various things you are describing, nor when to do them in the right order to reproduce the problem) in order to produce the situation you are describing.
Something in approximately the form—
Repro steps:
Start the module; pick X setup.
Pick >x< player side
Click [SomeButton] on to blah blah
Then click [dasdfasdf] to blah blah
Then open [this] and click on [that]
Then open [that] and click on [this]
EXPECTED: describe what we’re then SUPPOSED to see (how could we tell if it worked RIGHT e.g. if we try under an earlier version of VASSAL)
ACTUAL: describe the bad thing we instead see (how can we tell that it went WRONG if we’re trying in 3.5.5)
Once we can reproduce your problem, one of us will have a look.
I hope this helps:
Attached file has formatting to be able to read it better
Bayonets and Tomahawks
K30 Deck problem
Step Action to Take Description Vassal commands
1 Create Game
2 Join as British (2-Player) Any side but Solo screws up
3 Press “Card Decks button” To see what’s going on
4 Press “Form Decks 1755-1756 Button” Send correct cards to Campaign/BU decks Multi-Action button sends commands:
Belter, 1755 / 1756 C, 1755 / 1756 Bu
4 Open the British hand (red crown button)
5 Click on ‘Draw Campaign Card’ Button Get a card from ‘Br Campaign Deck’ Global Key Command “DrawBrCmp_1” Send to location on card Prototype “DrawFrCmp_1” for French
6 Move drawn card to ‘Reserve Card’ Gets it out of the way for next step
7 Click on ‘Draw Buildup Card’ Button Get a card from ‘Br Buildup Deck’ Global Key Command “DrawBrBu_1”
Send to location on card Prototype “DrawFrBu_1” for French
8 Open played ‘cards window’ Fan of cards graphic button
9 Click play card on one of drawn cards Sends selected card to player card deck Send to location
10 In a game the French player should also be drawing cards then playing them
11 Now at end of turn, Press ‘Return Cards to Decks’ button All cards but the 1 card each player saved a reserve should go to 3 original decks Global Key Command “Belter”
When testing I put the command on a unit. I used graphics from belter game
12 Press “Form Decks 1757 Button” Starting the next year, sends generic cards and year specific cards to Campaign and buildup decks Multi-Action button sends commands:
Belter, 1757 C, 1757 Bu
Repeat steps 4 -9 Still works fine for British player
13 Resign and become any French player option
14 Repeat steps 4 -9 Does not work! Will not draw cards However the Indian draw card button always works!
15 If you go back to being any British card draw works for you
16 Close game and start over and start selecting to be the French player. British side does not work. It seems to me somehow my coding gives ownership to ALL cards to whoever pushes the ’Form Decks’ button. This happens no matter which ’Form Decks’ is selected in any order. If both players d
Game Piece Prototypes
British Cards
Send To Location ‘BU Send to Player Hand’: DrawBrBu_1
Send To Location ‘Cp Send to Player Hand’: DrawBrCmp_1
Return to deck ‘British Cards’: RtnDk
Return to deck ‘British Discard Pile’: CTRL-R
Send to Location ‘Play card’: CTRL-P
Commands to send to specific year cards to buildup and campaign decks.
French Cards
Send To Location ‘BU Send to Player Hand’: DrawFrBu_1
Send To Location ‘Cp Send to Player Hand’: DrawFrCmp_1
Return to deck ‘British Cards’: RtnDk
Return to deck ‘British Discard Pile’: CTRL-R
Send to Location ‘Play card’: CTRL-P
Commands to send to specific year cards to buildup and campaign decks.
Indian Cards
Send To Location ‘Player Hand’: DrawInd_1
Return to deck ‘Indian Discard Pile’: CTRL-R
Send to Location ‘Play card’: CTRL-P
Map Commands
Main Map
Global Key Command ‘Return all cards to unused decks’: Belter
Global Key Command ‘1755’ Yr1755
Global Key Command ‘1755 Buildup’ SendBu
Global Key Command ‘1757’ Yr1757
Global Key Command ‘1757 Buildup’ SendBu
Global Key Command ‘1758’ Yr1758
Global Key Command ‘1758 Buildup’ SendBu
Multi Action button ‘Create the 1755 & 1756 Buildup & Campaign Decks ‘ : Belter / 1755 / 1756 C / 1755 / 1756 Bu
Multi Action button ‘Create the 1757 Buildup & Campaign Decks ‘: Belter / 1757 C / 1757 Bu
Multi Action button ‘Create the 1758 & 1759 Buildup & Campaign Decks ‘: Belter / 1758 / 1759 C / 1758 / 1759 Bu
Master Decks Dashboard
Global Key Command ‘1755 / 1756 C’: Yr1755
Global Key Command ‘1755 / 1756 Bu’: SendBu
Global Key Command ‘1757 C’: Yr1757
Global Key Command ‘1757 Bu’: SendBu
Global Key Command ‘1758 / 1759 C’: Yr1758
Global Key Command ‘1758 / 1759 Bu’: SendBu
At Start stack ‘Card returner’ Global Hot Key ‘Send to Decks’ Belter → RtnDk2
Played Cards
Global Key Command ‘Discard Played cards: CTRL-R
At Start stack ‘Card returner’ Global Hot Key ‘Send to Decks’ Belter → RtnDk2
I figured how the reproduction process on my own and had a look last night, but the problem was not immediately obvious to me. The scheme used for the Indian cards and the French/British cards looked identical. Double-checked all key commands for typos and stuff like that. Might be able to get back to looking later today.
One slightly odd thing I see (compared to the way I would have done it) is that the module uses “Send To Location” traits rather than “Return To Deck” traits to put things in decks. Is that how you’ve previously put cards back into decks? With Send-to-Location? Just makes me nervous – maybe others will speak up and say they do it all the time and know it works? But anyway since the Send To Location sends to a specific pixel location, if it misses (by even one pixel) from where the Deck officially is, then I think the cards won’t end up “in the deck” they’ll end up “in a stack” and in THAT case they might have ownership issues based on who put them there or something (although I’ve never really understood how ownership works in VASSAL very well, just to be clear). This could also explain why one deck (the Indian Deck) works and the others don’t.
If you’re looking for a quick workaround, I would be totally unsurprised if switching to Return To Deck solved the problem (or even faster is if you discover that you’ve moved the decks and e.g. either 731,681 or 234,681 isn’t the precise pixel location of a deck any more.)
But probably Brent will have to come look to figure out why ownership is going wrong in this case.
Picking up Brian’s train of thought; I can vouch that the process of drawing from a deck is what assigns ownership to a card - the new owner being the PlayerSide that draws the card (at least, that’s my interpretation of my experience). So perhaps the method of putting the card into the deck location is also important - perhaps the send to location cards do not get their ownership re-assigned but stay with the original owner.
I checked in 3.5.4 and 3.5.3 and the same thing seems to happen with the module. You’d mentioned it seeming to work before – do you happen to know what version of VASSAL you were on before 3.5.5? (And/or do you have an older copy of the module from before you upgraded, that we could compare with?)
I was automating the deck/card draw process.
4 versions ago you manually dragged a card from the buildup/campaign deck.
3 Versions ago I had the buttons on the master deck map.
I upgraded from 3.5.4 to 3.5.5 AND moved the buttons to the main map.
This is not exactly true. Ownership relates to masking and only masking. If I draw a card from a deck face down, I will own it. Drawn face up? No one owns it. Decks and cards in decks are never owned. If I place a card on the table face up, no one owns it. If I flip it face down, I will own it unless I allow otherwise. (There’s a preference setting that I can set to allow others to unmask my pieces.)
I have used send-to- region to send to a deck because it was the only way I could have dynamic deck selection. I don’t remember, but I think I had problems with send-to-location or send-to-zone. I wrote about it, so I’d have to look it up.
I have not downloaded this module, so I don’t know what’s going on, but I do know you can’t own a deck or it’s contents. If you think there are rogue cards blocking a deck, then turn on “can choose specific cards” in the deck. If the command shows up (indicating your are talking to the deck), you will see the deck’s contents. Is everyone there? Brian is right that return to deck probably will fix it, but I find it quite unusual that the deck wouldn’t gobble up those cards.
I changed the cards prototypes to anyone can mask them. closed the module reopened it, refreshes the cards. verified anyone masking works by dropping cards on the map. decks still wont work.
[size=150]I believe that was the problem I changed the Card prototypes to ‘Return to deck’ and everything appears to work correctly.
Thank everyone very much![/size]