diff --git a/backend/__init__.py b/backend/__init__.py index 4d1ad8b..3dc02c4 100644 --- a/backend/__init__.py +++ b/backend/__init__.py @@ -201,6 +201,14 @@ def chat_message(sid, msg): ses.game.reset() elif '/startgame' in msg and not ses.game.started: ses.game.start_game() + elif '/addex' in msg and not ses.game.started: + cmd = msg.split() + if len(cmd) == 2: + if cmd[1] not in ses.game.available_expansions: + ses.game.available_expansions.append(cmd[1]) + ses.game.notify_room() + else: + sio.emit('chat_message', room=sid, data={'color': f'','text':f'{msg} bad format'}) elif '/gameinfo' in msg: sio.emit('chat_message', room=sid, data={'color': f'','text':f'info: {ses.game.__dict__}'}) elif '/meinfo' in msg: diff --git a/backend/bang/expansions/__init__.py b/backend/bang/expansions/__init__.py index 4409025..ab28b35 100644 --- a/backend/bang/expansions/__init__.py +++ b/backend/bang/expansions/__init__.py @@ -1,7 +1,12 @@ -from bang.expansions.dodge_city import cards, characters class DodgeCity(): def get_characters(): + from bang.expansions.dodge_city import characters return characters.all_characters() + def get_cards(): - return cards.get_starting_deck() \ No newline at end of file + from bang.expansions.dodge_city import cards + return cards.get_starting_deck() + +class HighNoon(): + pass \ No newline at end of file diff --git a/backend/bang/game.py b/backend/bang/game.py index 0a1877e..49057b9 100644 --- a/backend/bang/game.py +++ b/backend/bang/game.py @@ -23,6 +23,7 @@ class Game: self.initial_players = 0 self.password = '' self.expansions = [] + self.available_expansions = ['dodge_city'] self.shutting_down = False self.is_competitive = False self.disconnect_bot = True @@ -37,6 +38,7 @@ class Game: 'is_competitive': self.is_competitive, 'disconnect_bot': self.disconnect_bot, 'expansions': self.expansions, + 'available_expansions': self.available_expansions }) def toggle_expansion(self, expansion_name): diff --git a/frontend/src/components/Lobby.vue b/frontend/src/components/Lobby.vue index f548abb..4b8c426 100644 --- a/frontend/src/components/Lobby.vue +++ b/frontend/src/components/Lobby.vue @@ -33,7 +33,10 @@