diff --git a/plugins/minigames.json b/plugins/minigames.json index b15f63a..66ba30d 100644 --- a/plugins/minigames.json +++ b/plugins/minigames.json @@ -325,9 +325,20 @@ "name": "Freaku", "email": "", "discord": "[Just] Freak#4999" + }, + { + "name": "LoupGarou", + "email": "LoupGarou5418@outlook.com", + "discord": "ʟօʊքɢǟʀօʊ#3063" } ], "versions": { + "1.1.0": { + "api_version": 7, + "commit_sha": "2e2540a", + "released_on": "20-05-2023", + "md5sum": "e06fbfeb1c0c4c78e04054caab3d593f" + }, "1.0.0": { "api_version": 7, "commit_sha": "7219487", diff --git a/plugins/minigames/arms_race.py b/plugins/minigames/arms_race.py index 728f7c0..b7ea3f5 100644 --- a/plugins/minigames/arms_race.py +++ b/plugins/minigames/arms_race.py @@ -30,7 +30,8 @@ class State: self.next = None self.index = None - def apply(self, spaz): + def apply(self, player, spaz): + spaz.disconnect_controls_from_player() spaz.connect_controls_to_player(enable_punch=self.punch, enable_bomb=self.bomb, @@ -42,6 +43,18 @@ class State: spaz.bomb_type = self.bomb spaz.set_score_text(self.name) + def set_controls(): + player.actor.node.bomb_pressed = True + player.actor.on_bomb_release() + + release_input = (ba.InputType.PUNCH_RELEASE, ba.InputType.PICK_UP_RELEASE) + if not self.bomb is None: + for release in release_input: + player.assigninput( + release, + set_controls + ) + def get_setting(self): return (self.name) @@ -155,11 +168,12 @@ class ArmsRaceGame(ba.TeamGameActivity[Player, Team]): self.spawn_player(player) # overriding the default character spawning.. + def spawn_player(self, player): if player.state is None: player.state = self.states[0] super().spawn_player(player) - player.state.apply(player.actor) + player.state.apply(player, player.actor) def isValidKill(self, m): if m.getkillerplayer(Player) is None: @@ -177,7 +191,8 @@ class ArmsRaceGame(ba.TeamGameActivity[Player, Team]): self.stats.player_scored(msg.getkillerplayer(Player), 10, kill=True) if not msg.getkillerplayer(Player).state.final: msg.getkillerplayer(Player).state = msg.getkillerplayer(Player).state.next - msg.getkillerplayer(Player).state.apply(msg.getkillerplayer(Player).actor) + msg.getkillerplayer(Player).state.apply( + msg.getkillerplayer(Player), msg.getkillerplayer(Player).actor) else: msg.getkillerplayer(Player).team.score += 1 self.end_game()