diff --git a/README.md b/README.md index a0a8ead6..2980511c 100644 --- a/README.md +++ b/README.md @@ -186,6 +186,7 @@ https://dev.to/12944qwerty/hosting-a-discord-py-bot-with-repl-it-3l5a Explanation: Your bot will be alive because the monitoring services request(ping) every 5-10 minutes and keeps our website running up. Alternatives: Some deployment services may block request from UptimeRobot, please consider others website: +https://www.fastcron.com/ https://cron-job.org/en/ https://uptime.com/ https://uptime-monitor.io/ diff --git a/STORY_VN.md b/STORY_VN.md index dece92ef..c1ef673f 100644 --- a/STORY_VN.md +++ b/STORY_VN.md @@ -20,7 +20,7 @@ Vậy bên nào sẽ chiến thắng, Thường dân, Werewolf, hay là phe Ph ### I. Phe dân: Chiến thắng nếu sống sót và tiêu diệt được hết Sói và Cáo. Không thể nhận biết được người cùng phe. - [Villager] Dân làng: Không có chức năng đặc biệt. -- [Villager Chief] Trưởng làng: Được vote tính 2 phiếu. +- [Villager Chief] Trưởng làng: Được vote tính bí mật 2 phiếu. - [Seer] Tiên tri: Soi một người chơi có phải là sói hay không. Có thể giết chết Cáo nếu soi trúng Cáo. - [Guard] Bảo vệ: Bảo vệ được chọn 1 người khác nhau mỗi đêm trừ bản thân và người được chọn sẽ bất tử đêm đó. - [Lycan] Người hóa sói: Người hóa sói thuộc Phe dân làng, nhưng nếu được chỉ định bởi Tiên tri, thì sẽ bị thông báo là Sói. @@ -31,10 +31,10 @@ Vậy bên nào sẽ chiến thắng, Thường dân, Werewolf, hay là phe Ph - [Superwolf] Sói già: Chọn 1 người để giết mỗi đêm. Sói già có khả năng che giấu Tiên tri và không bị soi ra là sói. - [Betrayer] Kẻ phản bội: Là **người** nhưng bị mua chuộc theo phe sói. Betrayer biết ai là sói nhưng phe sói không biết ai là Betrayer. -### III. Phe thứ 3: Chiến thắng khi sống sót cuối cùng. Không thể nhận biết được người cùng phe. +### III. Phe thứ 3: Chiến thắng với những điều kiện đặc biệt - [Fox] Cáo: Thuộc phe thứ ba, cáo sẽ chiến thắng nếu tất cả sói bị giết. Sẽ chết nếu bị Tiên tri soi trúng. Tuy nhiên, Cáo không chết nếu được Bảo vệ trong đêm bị soi. -- [Cupid] Thần tình yêu: Đầu mỗi ván chơi, Cupid sẽ được gọi dậy và chọn ra hai người yêu nhau. Cặp đó sẽ chết nếu 1 trong 2 bị chết. Nếu hai người thuộc hai phe khác nhau (Sói vs Dân) thì họ thành phe thứ 3 với nhiệm vụ là hai người cuối cùng sống sót. +- [Cupid] Thần tình yêu: Đầu mỗi ván chơi, Cupid sẽ được gọi dậy và chọn ra hai người yêu nhau. Cặp đó sẽ chết nếu 1 trong 2 bị chết. Nếu hai người thuộc hai phe khác nhau (Sói vs Dân) thì họ sẽ chiến thắng khi là hai người cuối cùng sống sót (hoặc khi phe của họ thắng). Thần tình yêu có thể chiến thắng cùng cặp đôi hoặc khi dân làng thắng. diff --git a/bot.py b/bot.py index da01ab82..9cfafe9c 100644 --- a/bot.py +++ b/bot.py @@ -34,7 +34,7 @@ async def process_message(discord_client, message): game = game_list.get_game(message.guild.id) if game is None: # Init game_list - init_setup(True) + await init_setup(True) game = game_list.get_game(message.guild.id) await command.parse_command(discord_client, game, message) diff --git a/game/text_template.py b/game/text_template.py index 74a3ee08..120fe9f5 100644 --- a/game/text_template.py +++ b/game/text_template.py @@ -232,7 +232,8 @@ def generate_winner_list(reveal_list, game_winner, cupid_dict): winner_list = [] for player_id, role in reveal_list: party_victory = roles.get_role_party(role) == game_winner - cupid_victory = game_winner == 'Cupid' and player_id in cupid_dict + # Cupid is in Villager team. Win with either couple or Villager + cupid_victory = game_winner == 'Cupid' and (player_id in cupid_dict or role == 'Cupid') if party_victory or cupid_victory: emoji = '🥳' diff --git a/json/role_info.json b/json/role_info.json index 67e82b02..944b24dd 100644 --- a/json/role_info.json +++ b/json/role_info.json @@ -101,10 +101,10 @@ }, "Cupid": { "name_vi": "Thần tình yêu", - "party": "Cupid", + "party": "Villager", "description": { - "vi": "Đầu mỗi ván chơi, Cupid sẽ được gọi dậy và chọn ra hai người yêu nhau. Cặp đó sẽ chết nếu 1 trong 2 bị chết. Nếu hai người thuộc hai phe khác nhau (Sói vs Dân) thì họ thành phe thứ 3 với nhiệm vụ là hai người cuối cùng sống sót.", - "en": "On the first day, Cupid can choose 2 players and make them to be a couple. If one of them is dead, the other will be also dead. If the couple belongs to different parties (Werewolf and Villager), then they become the third party. Their mission is to be the last stand players." + "vi": "Đầu mỗi ván chơi, Cupid sẽ được gọi dậy và chọn ra hai người yêu nhau. Cặp đó sẽ chết nếu 1 trong 2 bị chết. Nếu hai người thuộc hai phe khác nhau (Sói vs Dân) thì họ sẽ chiến thắng khi là hai người cuối cùng sống sót (hoặc khi phe của họ thắng). Thần tình yêu có thể chiến thắng cùng cặp đôi hoặc khi dân làng thắng.", + "en": "On the first day, Cupid can choose 2 players and make them to be a couple. If one of them is dead, the other will be also dead. If the couple belongs to different parties (Werewolf and Villager), then they will win if they are the last stand players (or when their own team win). Cupid may win together with the couple or the Villagers." }, "daytime_command": "vote", "nighttime_commands": ["ship"] @@ -113,8 +113,8 @@ "name_vi": "Trưởng làng", "party": "Villager", "description": { - "vi": "Vào ban ngày, phiếu bầu của Trưởng làng được tính là 2", - "en": "On dayphase, the Chief's vote is counted as 2" + "vi": "Vào ban ngày, phiếu bầu của Trưởng làng được bí mật tính là 2.", + "en": "On dayphase, the Chief's vote is secretly counted as 2." }, "daytime_command": "vote", "nighttime_commands": []