Merge pull request #120 from Sakimori/indev

patch to fix game endcards
This commit is contained in:
Sakimori 2021-01-04 19:56:24 -05:00 committed by GitHub
commit 6eec667370
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 58 deletions

View File

@ -139,7 +139,7 @@ class team(object):
def slide_player(self, name, new_spot): def slide_player(self, name, new_spot):
this_player, index, roster = self.find_player(name) this_player, index, roster = self.find_player(name)
if this_player is not None and new_spot < len(roster): if this_player is not None and new_spot <= len(roster):
roster.pop(index) roster.pop(index)
roster.insert(new_spot-1, this_player) roster.insert(new_spot-1, this_player)
return True return True

View File

@ -19,7 +19,7 @@
border-top: none; border-top: none;
border-right: none; border-right: none;
border-bottom: none; border-bottom: none;
height: max-content; height: min-content;
} }
.header { .header {
@ -41,7 +41,7 @@
grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-columns: repeat(3, minmax(0, 1fr));
grid-template-areas: grid-template-areas:
"teams teams info" "players players info" "update update update"; "teams teams info" "players players info" "update update update";
grid-template-rows: 5.5rem auto auto; grid-template-rows: minmax(5.75rem, min-content) minmax(4rem, min-content) minmax(4rem, min-content);
grid-row-gap: 0.5rem; grid-row-gap: 0.5rem;
grid-column-gap: 0.75rem; grid-column-gap: 0.75rem;
} }
@ -196,33 +196,21 @@
} }
@media only screen and (max-device-width: 800px) { @media only screen and (max-device-width: 800px) {
.batting { .game {
font-size: 15pt; font-size: 15pt;
text-align: left;
height: max-content;
padding: 5px;
} }
.leagueoruser { .batting, .leagueoruser {
font-size: 15pt; font-size: 14pt;
text-align: right; padding: 3px;
height: max-content;
padding: 5px;
} }
.team_name, .score { .team_name, .score {
font-size: 23px font-size: 25px
} }
.players { .players {
font-size: 20px; font-size: 20px;
grid-area: players;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
height: 100%;
padding-right: 50px;
} }
.update_emoji, .update_text { .update_emoji, .update_text {

View File

@ -7,7 +7,7 @@
grid-auto-flow: row; grid-auto-flow: row;
} }
.container > div { .emptyslot, .game {
min-height: 298px; min-height: 298px;
} }
@ -68,12 +68,6 @@
.container { .container {
display: grid; display: grid;
grid-template-columns: repeat(1, minmax(700px, 90%)); grid-template-columns: repeat(1, minmax(700px, 90%));
grid-template-rows: 400px;
grid-gap: 50px 30px; /*space between rows, then columns*/
align-items: center;
justify-items: center;
grid-auto-rows: 400px;
grid-auto-flow: row;
position: absolute; position: absolute;
left: 50%; left: 50%;
transform: translate(-50%, 0); transform: translate(-50%, 0);
@ -81,11 +75,6 @@
.emptyslot { .emptyslot {
border: none; border: none;
border-radius: 15px; min-height: 0px;
align-self: stretch;
justify-self: stretch;
text-align: center;
color: white;
flex: 1;
} }
} }

View File

@ -184,6 +184,10 @@ class StartRandomGameCommand(Command):
description = "Starts a 9-inning game between 2 entirely random teams. Embrace chaos!" description = "Starts a 9-inning game between 2 entirely random teams. Embrace chaos!"
async def execute(self, msg, command): async def execute(self, msg, command):
if config()["game_freeze"]:
await msg.channel.send("Patch incoming. We're not allowing new games right now.")
return
channel = msg.channel channel = msg.channel
await msg.delete() await msg.delete()
await channel.send("Rolling the bones...") await channel.send("Rolling the bones...")
@ -382,14 +386,17 @@ class AddPlayerCommand(Command):
new_player = games.player(ono.get_stats(player_name)) new_player = games.player(ono.get_stats(player_name))
if "batter" in command.split("\n")[0]: if "batter" in command.split("\n")[0].lower():
if not team.add_lineup(new_player)[0]: if not team.add_lineup(new_player)[0]:
await msg.channel.send("Too many batters 🎶") await msg.channel.send("Too many batters 🎶")
return return
elif "pitcher" in command.split("\n")[0]: elif "pitcher" in command.split("\n")[0].lower():
if not team.add_pitcher(new_player): if not team.add_pitcher(new_player):
await msg.channel.send("8 pitchers is quite enough, we think.") await msg.channel.send("8 pitchers is quite enough, we think.")
return return
else:
await msg.channel.send("You have to tell us if you want a pitcher or a batter, boss. Just say so in the first line, with the command.")
return
await msg.channel.send(embed=build_team_embed(team)) await msg.channel.send(embed=build_team_embed(team))
games.update_team(team) games.update_team(team)
@ -485,6 +492,10 @@ class StartTournamentCommand(Command):
description = "Starts a randomly seeded tournament with up to 64 provided teams, automatically adding byes as necessary. All series have a 5 minute break between games and by default there is a 10 minute break between rounds. The current tournament format is:\nBest of 5 until the finals, which are Best of 7." description = "Starts a randomly seeded tournament with up to 64 provided teams, automatically adding byes as necessary. All series have a 5 minute break between games and by default there is a 10 minute break between rounds. The current tournament format is:\nBest of 5 until the finals, which are Best of 7."
async def execute(self, msg, command): async def execute(self, msg, command):
if config()["game_freeze"]:
await msg.channel.send("Patch incoming. We're not allowing new games right now.")
return
to_parse = command.split("\n")[0] to_parse = command.split("\n")[0]
if "--rounddelay " in to_parse: if "--rounddelay " in to_parse:
try: try:
@ -507,12 +518,20 @@ class StartTournamentCommand(Command):
return return
team_dic[team] = {"wins": 0} team_dic[team] = {"wins": 0}
channel = msg.channel
await msg.delete()
if len(team_dic) < 2:
await msg.channel.send("One team does not a tournament make.")
return
id = random.randint(1111,9999) id = random.randint(1111,9999)
tourney = leagues.tournament(tourney_name, team_dic, id=id, secs_between_rounds = round_delay * 60) tourney = leagues.tournament(tourney_name, team_dic, id=id, secs_between_rounds = round_delay * 60)
tourney.build_bracket(random_sort = True) tourney.build_bracket(random_sort = True)
await start_tournament_round(msg.channel, tourney)
await start_tournament_round(channel, tourney)
commands = [ commands = [
@ -784,8 +803,8 @@ def prepare_game(newgame, league = None, weather_name = None):
"victory_lap" : False, "victory_lap" : False,
"weather_emoji" : newgame.weather.emoji, "weather_emoji" : newgame.weather.emoji,
"weather_text" : newgame.weather.name, "weather_text" : newgame.weather.name,
"start_delay" : 5, "start_delay" : 3,
"end_delay" : 10 "end_delay" : 9
} }
if league is None: if league is None:
@ -1104,7 +1123,9 @@ async def game_watcher():
game, channel, user, key = this_array[i] game, channel, user, key = this_array[i]
if game.over and main_controller.master_games_dic[key][1]["end_delay"] <= 9: if game.over and main_controller.master_games_dic[key][1]["end_delay"] <= 9:
final_embed = game_over_embed(game) final_embed = game_over_embed(game)
if user is not None: if user is isinstance(user, str):
await channel.send(f"A game started by {user} just ended.")
elif user is not None:
await channel.send(f"{user.mention}'s game just ended.") await channel.send(f"{user.mention}'s game just ended.")
else: else:
await channel.send("A game started from this channel just ended.") await channel.send("A game started from this channel just ended.")
@ -1144,23 +1165,4 @@ def get_team_fuzzy_search(team_name):
team = teams[0] team = teams[0]
return team return team
#test_bracket = {
# "Milwaukee Lockpicks" : {"wins": 4, "rd": 0},
# "Madagascar Penguins" : {"wins": 2, "rd": 0},
# "Twin Cities Evening" : {"wins": 1, "rd": 0},
# "Washington State Houses" : {"wins": 9, "rd": 0},
# "Appalachian Underground" : {"wins": 8, "rd": 0},
# "Pacific2 Rams" : {"wins": 3, "rd": 0},
# "New Jersey Radio" : {"wins": 11, "rd": 0},
# "Moline Jolenes" : {"wins": 6, "rd": 0},
# "California Commissioners" : {"wins": 10, "rd": 0},
# "Pigeons Reckoning" : {"wins": 7, "rd": 0},
# "Kernow Technologists" : {"wins": 5, "rd": 0}
# }
#tourney = leagues.tournament("Test Tourney", test_bracket, max_innings=3)
#tourney.build_bracket(by_wins=True)
#tourney.bracket.set_winners_dive(['Twin Cities Evening','Madagascar Penguins', 'Pacific2 Rams'])
#print(tourney.bracket.this_bracket)
client.run(config()["token"]) client.run(config()["token"])