diff --git a/games.py b/games.py index 873767a..201db0b 100644 --- a/games.py +++ b/games.py @@ -222,7 +222,7 @@ class game(object): self.max_innings = config()["default_length"] self.bases = {1 : None, 2 : None, 3 : None} self.weather = weather.Weather(self) - self.voice = game_strings_base() + self.voice = None self.current_batter = None def occupied_bases(self): @@ -383,7 +383,7 @@ class game(object): self.bases[start_base+1] = baserunner self.bases[start_base] = None - self.voice.stealing(baserunner.name, base_string(start_base+1), defender.name, successful) + self.voice.stealing(outcome, baserunner.name, base_string(start_base+1), defender.name, successful) if self.outs >= 3: self.flip_inning() diff --git a/gametext.py b/gametext.py index 08d8c1c..77e6d3f 100644 --- a/gametext.py +++ b/gametext.py @@ -40,14 +40,14 @@ class game_strings_base(object): homerun = ["hits a dinger!"] grandslam = ["hits a grand slam!"] - steal_success = ["{} was caught stealing {} base by {}!"] - steal_caught = ["{runner} steals {base_string} base!"] + steal_caught = ["{} was caught stealing {} base by {}!"] + steal_success = ["{} steals {} base!"] twoparts = [] diff_formats = {fielderschoice[0]: ("defender", "base_string"), - steal_success[0]: ("runner", "base_string", "defender"), - steal_caught[0]: ("runner", "base_string")} + steal_success[0]: ("runner", "base_string"), + steal_caught[0]: ("runner", "base_string", "defender")} no_formats = strikeoutlooking + strikeoutswinging + doubleplay + walk + single + double + triple + homerun + grandslam def activate(self, lastupdate, currentupdate, game): @@ -99,22 +99,22 @@ class game_strings_base(object): def activate_weather(self, lastupdate, currentupdate, game): pass - def stealing(self, runner, base_string, defender, is_successful): - if not is_successful: - index = randrange(0, len(steal_success)) - text = steal_success[index] + def stealing(self, currentupdate, runner, base_string, defender, is_successful): + if is_successful: + index = randrange(0, len(self.steal_success)) + text = self.steal_success[index] else: - index = randrange(0, len(steal_caught)) - text = steal_caught[index] + index = randrange(0, len(self.steal_caught)) + text = self.steal_caught[index] format_list = [] - for format in diff_formats[text]: + for format in self.diff_formats[text]: if format == "runner": - format_list.append(runner.name) + format_list.append(runner) elif format == "base_string": format_list.append(base_string) elif format == "defender": - format_list.append(defender.name) + format_list.append(defender) currentupdate["steals"] = [text.format(*format_list)] @@ -214,8 +214,8 @@ class TheGoddesses(game_strings_base): def all_voices(): - return [game_strings_base, - TheGoddesses] + return {"default": game_strings_base, + "the goddesses": TheGoddesses} def base_string(base): diff --git a/the_prestige.py b/the_prestige.py index c190f18..1485f61 100644 --- a/the_prestige.py +++ b/the_prestige.py @@ -1632,7 +1632,7 @@ def prepare_game(newgame, league = None, weather_name = None): newgame.weather = weathers[random.choice(list(weathers.keys()))](newgame) if newgame.voice is None: - newgame.voice = gametext.TheGoddesses() + newgame.voice = random.choice(list(gametext.all_voices().values()))() state_init = { "away_name" : newgame.teams['away'].name,