greywolfdev / coup Goto Github PK
View Code? Open in Web Editor NEWCoup for Telegram
License: GNU General Public License v3.0
Coup for Telegram
License: GNU General Public License v3.0
When assassinating a player, and not being blocked nor called, the text "Choose a card to lose" appears. Under this text there are buttons [ Allow (0) | Call bluff | Block ], which shouldn't be there.
The first player to take the first turn in a game has no chance to see the emojis (bluff or no bluff) in the choice menu, because the menu is sent before the user can click "see cards" and the emojis in the menu are only shown AFTER the user watched his cards.
An easy idea how to solve that:
Add a 10 seconds timer between game starting, where main menu with "see cards" is sent and the first players turn, so everyone can take a look on the cards cards if he wants to.
[Forwarded from Coup]
Jakson the SerialKil's turn. Jakson the SerialKil has 4 coins.
Jakson the SerialKil has chosen to steal.
Jakson the SerialKil has chosen to steal from RaΓΊl Sarcastro [π‘ Captain]. Does anyone want to block / call bluff?
Engelbert Eric has chosen to block. Please choose which card you are blocking with
Engelbert Eric has chosen to block Jakson the SerialKil from stealing [π³ Ambassador]. Does anyone want to call bluff?
Jakson the SerialKil has chosen to call a bluff.
Jakson the SerialKil, Engelbert Eric had π³ Ambassador. You must pick a card to lose!
Jakson the SerialKil has lost π³ Ambassador. It is now in the graveyard.
Game error: Sequence contains no matching element
at System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func
2 predicate)
at CoupForTelegram.Game.PlayerMadeBlockableAction(CPlayer p, Action a, CPlayer t, String cardUsed) in C:\Users\parab\Source\Repos\Coup\CoupForTelegram\CoupForTelegram\Game.cs:line 740
at CoupForTelegram.Game.PlayerMadeBlockableAction(CPlayer p, Action a, CPlayer t, String cardUsed) in C:\Users\parab\Source\Repos\Coup\CoupForTelegram\CoupForTelegram\Game.cs:line 707
at CoupForTelegram.Game.StartGame() in C:\Users\parab\Source\Repos\Coup\CoupForTelegram\CoupForTelegram\Game.cs:line 453
When you /leave a game, it shows:
"You have been remove from game XXX"
It should be removeD, shouldn't it?
If a player is afk when it is his turn, his action is skipped. The choice menu in private stays anyway. It should be replaced by something like "Time's up" if the turn is over.
Most likely happens no matter what, and on friends games. Will need to test
The start button attracts people to click it. So the second player who joined the game might push the button just for having done it and no other players can join anymore.
Some ideas, how to solve this:
Replace it by a timer (as ww has) and if noone has joined after timer has finished, game us aborted
Turn the click-attractive button into a command (kind of like /forcestart) and / or allow only the player who created the game, to start it.
If a player chooses to exchange (ambassador) and is not called, he gets a choice menu in private, which cards to keep. If he doesn't choose, the players in the group see this choice menu.
I know, this bug is already known, but I would like it to be here in GitHub anyway.
If two players hit the join button the same time, sometimes one of them doesn't show up at the message.
Also, the game creator (who ran /newgame) doesn't show up there.
And if a player flees from game with /leave, his name is still shown up there.
The Pop-Ups "Choice accepted" interrupt the game for a short moment, in my opinion they are disturbing and unnecessary. I remember two cases these pop-uos pop up at the moment:
Now, I think, 2) is completely unnecessary, because you just don't need it. And about 1): It is kind of necessary there, because you have to know your allow was accepted, but I think the allow function itself is not needed. But I'll create a different issue about that.
In case you need:
Game starting time: 2 Jan 2017, 01:09 (Central time)
PM Game players: Jeff, Josh, Raafi, Michelle, Corgi, Beastcode
Bug happened: Corgi's turn (7 coins) at 01:28 and Corgi's turn at 01:31
Both happened when Corgi used Captain to steal Jeff, Jeff claimed to block with Ambassador:
It showed "Choice Accepted - Ambassador.
But then the line stayed until the choosing time's up,
It didnt register the block's role and failed the block.
In the middle of one's act, if one selects concede; the 4 inline buttons (Game status, concede, show cards and graveyard) disappear and is instead replaced by plain text string Accepted
Also, the game continues as it would (player is still in game) but this time with the handicap of not being able to see the game status, graveyard or own cards
It is not always the newest, downest message in your history with the bot, because the menu is sometimes added to an older, existing message with your cards or something like that. So you have to scroll up to the menu.
If the menu is added to a message with e.g. your cards, the whole message including your cards is overwritten with "Choice accepted" when player has chosen. So the information about the cards gets lost and player might see an older message with his earlier cards and think them to be his actual cards.
Solution for both issues: Bot has always to send a new message with the action menu and may not add it to an existing message.
I think, the allow button is unnecessary, because
About 1): See my issue about that. The pop-up can also not be left out, because if allow-button exists, you have to somehow know it worked.
About 2): If a player chooses an action and noone calls / blocks it, I almost never see that he can do this action sofortly, which means, there is minimum 1 player who didn't hit allow. To go on with the action, everyone has to allow, or time for block/call has to run out. Because time almost always runs out, the physical presence of the button is not needed. And because of the disturbing pop-up, I think, this button should be removed completely.
If player A assassinates player B who has only one card left, player B blocks it with Contessa (bluffing) and anyone calls bluff, player B will lose a card (his last one) for having bluffed. After that, there is a message "player A was not blocked" and after that "player B, please choose a card to lose!" This is unnecessary, because player B is already out of game because he lost his last card from the bluff.
I hope, you understand, what I mean
After commit cd6f435, if your turn is over, the menu in private still stays and is not replaced with a "Times's up"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.