Day 1 Updates
This commit is contained in:
parent
f68a8166e7
commit
e0ef5616bd
@ -330,9 +330,9 @@ async def build_lineup(team_object: dict, game_id: int, league_name: str, sp_nam
|
||||
lineups = []
|
||||
i = 1
|
||||
for x in [grp_1, grp_2, grp_3]:
|
||||
logging.info(f'group: {x}')
|
||||
logging.debug(f'group: {x}')
|
||||
for y in x:
|
||||
logging.info(f'y: {y}')
|
||||
logging.debug(f'y: {y}')
|
||||
card_id = await get_or_create_card(y[1]['player'], team_object)
|
||||
|
||||
lineups.append({
|
||||
@ -467,7 +467,8 @@ async def get_relief_pitcher(this_play: StratPlay, ai_team: dict, league_name: s
|
||||
need = 'length'
|
||||
|
||||
logging.debug(f'need: {need}')
|
||||
rp_query = await db_get(f'teams/{ai_team["id"]}/rp/{league_name}?need={need}&used_pitcher_ids={id_string}')
|
||||
rp_query = await db_get(f'teams/{ai_team["id"]}/rp/{league_name.split("-run")[0]}'
|
||||
f'?need={need}&used_pitcher_ids={id_string}')
|
||||
card_id = await get_or_create_card(rp_query, ai_team)
|
||||
return {
|
||||
'game_id': this_play.game.id,
|
||||
|
||||
@ -459,7 +459,7 @@ class Gameplay(commands.Cog):
|
||||
# AI Team is pitching
|
||||
if game_state['pitcher']['team']['is_ai']:
|
||||
ai_data = await ai_manager.pitching_ai_note(game_state['curr_play'], game_state['pitcher'])
|
||||
logging.info(f'ai_data: {ai_data}')
|
||||
logging.debug(f'ai_data: {ai_data}')
|
||||
ai_note = ai_data['note']
|
||||
gm_name = ai_data['gm_name']
|
||||
embed.set_thumbnail(url=ai_data['pitcher']["image"])
|
||||
@ -1227,7 +1227,7 @@ class Gameplay(commands.Cog):
|
||||
return
|
||||
|
||||
logging.debug(f'Setting lineup for {ai_team["sname"]} in PD game')
|
||||
logging.info(f'lineups: {all_lineups}')
|
||||
logging.debug(f'lineups: {all_lineups}')
|
||||
post_lineups(all_lineups)
|
||||
|
||||
await interaction.channel.send(
|
||||
@ -1422,7 +1422,7 @@ class Gameplay(commands.Cog):
|
||||
@group_new_game.command(name='gauntlet', description='Start a new Gauntlet game against an AI')
|
||||
@commands.has_any_role(PD_PLAYERS_ROLE_NAME)
|
||||
async def new_game_gauntlet_command(
|
||||
self, interaction: discord.Interaction, event_name: Literal['Taste of 2018']):
|
||||
self, interaction: discord.Interaction, event_name: Literal['Taste of 2018'], sp_card_id: int):
|
||||
await interaction.response.defer()
|
||||
|
||||
conflict = get_one_game(channel_id=interaction.channel.id, active=True)
|
||||
@ -1517,6 +1517,37 @@ class Gameplay(commands.Cog):
|
||||
t_role = await team_role(interaction, main_team)
|
||||
|
||||
all_lineups = []
|
||||
# Get Human SP
|
||||
human_sp_card = await db_get(f'cards', object_id=sp_card_id)
|
||||
|
||||
if human_sp_card['team']['id'] != team['id']:
|
||||
logging.error(
|
||||
f'Card_id {sp_card_id} does not belong to {team["abbrev"]} in Game {this_game.id}'
|
||||
)
|
||||
await interaction.channel.send(
|
||||
f'Uh oh. Card ID {sp_card_id} is {team["player"]["p_name"]} and belongs to '
|
||||
f'{human_sp_card["team"]["sname"]}. Will you double check that before we get started?')
|
||||
return
|
||||
|
||||
if this_game.game_type in ['major-league', 'hall-of-fame']:
|
||||
l_check = await legal_check([human_sp_card['id']])
|
||||
if not l_check['legal']:
|
||||
await interaction.edit_original_response(
|
||||
content=f'It looks like this is a Ranked Legal game and {player_desc(human_sp_card["player"])} is '
|
||||
f'not legal in Ranked. You can start a new game once you get a new SP.'
|
||||
)
|
||||
return
|
||||
|
||||
all_lineups.append({
|
||||
'game_id': this_game.id,
|
||||
'team_id': team['id'],
|
||||
'player_id': human_sp_card['player']['player_id'],
|
||||
'card_id': sp_card_id,
|
||||
'position': 'P',
|
||||
'batting_order': 10,
|
||||
'after_play': 0
|
||||
})
|
||||
|
||||
# Get AI Starting Pitcher
|
||||
try:
|
||||
await interaction.edit_original_response(
|
||||
@ -1653,15 +1684,26 @@ class Gameplay(commands.Cog):
|
||||
return
|
||||
|
||||
valid_end = False
|
||||
logging.debug(f'latest play: {latest_play}')
|
||||
if latest_play.starting_outs == 0:
|
||||
if latest_play.inning_half == 'top':
|
||||
logging.debug(f'no outs')
|
||||
if latest_play.inning_half.lower() == 'top':
|
||||
logging.debug(f'top of inning')
|
||||
if latest_play.inning_num > 9 and latest_play.away_score != latest_play.home_score:
|
||||
logging.debug(f'after the ninth and not tied')
|
||||
valid_end = True
|
||||
if abs(latest_play.home_score - latest_play.away_score) >= 10:
|
||||
logging.debug(f'not after ninth, but mercy')
|
||||
valid_end = True
|
||||
elif latest_play.inning_half == 'bot' and abs(latest_play.home_score - latest_play.away_score) >= 10:
|
||||
if latest_play.inning_half.lower() == 'bot':
|
||||
if (latest_play.home_score > latest_play.away_score) and latest_play.inning_num >= 9:
|
||||
logging.debug(f'bottom half and home team winning')
|
||||
valid_end = True
|
||||
elif abs(latest_play.home_score - latest_play.away_score) >= 10 and latest_play.inning_half == 'bot':
|
||||
if abs(latest_play.home_score - latest_play.away_score) >= 10:
|
||||
logging.debug(f'bottom half and mercy')
|
||||
valid_end = True
|
||||
elif abs(latest_play.home_score - latest_play.away_score) >= 10 and latest_play.inning_half.lower() == 'bot':
|
||||
logging.info(f'bottom half and it is a mercy')
|
||||
valid_end = True
|
||||
|
||||
# valid_end = True # TODO: REMOVE THIS BEFORE GO-LIVE
|
||||
@ -1817,10 +1859,11 @@ class Gameplay(commands.Cog):
|
||||
logging.debug(f'setting location')
|
||||
embed.add_field(
|
||||
name='Location',
|
||||
value=f'{interaction.guild.get_channel(this_game.channel_id).mention}',
|
||||
inline=False
|
||||
value=f'{interaction.guild.get_channel(this_game.channel_id).mention}'
|
||||
)
|
||||
|
||||
embed.add_field(name='Game ID', value=f'{final_game["id"]}')
|
||||
|
||||
logging.debug(f'getting league name')
|
||||
if this_game.game_type == 'major-league':
|
||||
game_des = 'Major League'
|
||||
@ -1845,7 +1888,8 @@ class Gameplay(commands.Cog):
|
||||
f'{gs["hits"]["away"]: >2} | {gs["errors"]["away"]: >2} |\n'
|
||||
f'{home_team["abbrev"].replace("Gauntlet-", ""): <4} | {gs["runs"]["home"]: >2} | '
|
||||
f'{gs["hits"]["home"]: >2} | {gs["errors"]["home"]: >2} |\n'
|
||||
f'\n```'
|
||||
f'\n```',
|
||||
inline=False
|
||||
)
|
||||
|
||||
logging.debug(f'getting potg string')
|
||||
@ -2722,7 +2766,7 @@ class Gameplay(commands.Cog):
|
||||
|
||||
away_team = await get_game_team(this_game, team_id=this_game.away_team_id)
|
||||
home_team = await get_game_team(this_game, team_id=this_game.home_team_id)
|
||||
ai_team = away_team if owner_team == home_team else home_team
|
||||
ai_team = away_team if owner_team['id'] == home_team['id'] else home_team
|
||||
|
||||
if this_play.batter.team_id == ai_team['id']:
|
||||
await interaction.edit_original_response(
|
||||
|
||||
@ -2136,9 +2136,9 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
if x.inning_half == 'Top' and home_pitcher != x.pitcher:
|
||||
if save == home_pitcher:
|
||||
if x.home_score > x.away_score:
|
||||
holds.append(save.card_id)
|
||||
holds.append(save)
|
||||
else:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
|
||||
home_pitcher = x.pitcher
|
||||
@ -2149,9 +2149,9 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
elif x.inning_half == 'Bot' and away_pitcher != x.pitcher:
|
||||
if save == away_pitcher:
|
||||
if x.away_score > x.home_score:
|
||||
holds.append(save.card_id)
|
||||
holds.append(save)
|
||||
else:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
|
||||
away_pitcher = x.pitcher
|
||||
@ -2171,7 +2171,7 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
# loser = Lineup.get_by_id(last_pa[0].pitcher_id) # pitcher from winning_run's last PA
|
||||
loser = x.pitcher
|
||||
if save == loser:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
winner = home_pitcher if x.inning_half == 'Bot' else away_pitcher
|
||||
|
||||
@ -2185,7 +2185,7 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
# loser = Lineup.get_by_id(last_pa[0].pitcher_id) # pitcher from winning_run's last PA
|
||||
loser = x.pitcher
|
||||
if save == loser:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
winner = home_pitcher if x.inning_half == 'Bot' else away_pitcher
|
||||
|
||||
@ -2199,7 +2199,7 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
# loser = Lineup.get_by_id(last_pa[0].pitcher_id) # pitcher from winning_run's last PA
|
||||
loser = x.pitcher
|
||||
if save == loser:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
winner = home_pitcher if x.inning_half == 'Bot' else away_pitcher
|
||||
|
||||
@ -2213,7 +2213,7 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
# loser = Lineup.get_by_id(last_pa[0].pitcher_id) # pitcher from winning_run's last PA
|
||||
loser = x.pitcher
|
||||
if save == loser:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
winner = home_pitcher if x.inning_half == 'Bot' else away_pitcher
|
||||
|
||||
@ -2221,7 +2221,7 @@ def get_pitching_decisions(game: StratGame, db_game_id: int):
|
||||
logging.debug(f'is tied: {x}')
|
||||
winner, loser = None, None
|
||||
if save:
|
||||
b_save.append(save.card_id)
|
||||
b_save.append(save)
|
||||
save = None
|
||||
|
||||
if home_pitcher.player_id not in decisions:
|
||||
|
||||
@ -151,7 +151,7 @@ async def get_starting_pitcher(this_team, this_game, this_event, this_run):
|
||||
card_id = await ai_manager.get_or_create_card(starter, this_team)
|
||||
|
||||
return {
|
||||
'game_id': this_game['id'],
|
||||
'game_id': this_game.id,
|
||||
'team_id': this_team['id'],
|
||||
'player_id': starter['player_id'],
|
||||
'card_id': card_id,
|
||||
|
||||
@ -18,7 +18,7 @@ from typing import Optional, Literal
|
||||
|
||||
|
||||
SBA_SEASON = 7
|
||||
PD_SEASON = 5
|
||||
PD_SEASON = 6
|
||||
SBA_COLOR = 'a6ce39'
|
||||
PD_PLAYERS = 'Paper Dynasty Players'
|
||||
SBA_PLAYERS_ROLE_NAME = f'Season {SBA_SEASON} Players'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user