From ef8120e9c4f9c315d558165627d5a4adce02d85f Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Mon, 30 May 2022 20:25:18 +0700 Subject: [PATCH] Delete queries that update stats --- Bot/DbService.fs | 35 ----------------------------------- Bot/Games/HackerBattle.fs | 6 ++---- Bot/Games/Thief.fs | 4 ++-- 3 files changed, 4 insertions(+), 41 deletions(-) diff --git a/Bot/DbService.fs b/Bot/DbService.fs index ba7b34a..872edb7 100644 --- a/Bot/DbService.fs +++ b/Bot/DbService.fs @@ -235,24 +235,6 @@ let getPlayerEvents (did : uint64) = ) |> Async.AwaitTask -let updatePlayerStats (player : PlayerData) = - connStr - |> Sql.connect - |> Sql.parameters - [ ( "did" , Sql.string (string player.DiscordId) ) - ( "strength", Sql.int player.Stats.Strength.Amount ) - ( "focus", Sql.int player.Stats.Focus.Amount ) - ( "charisma", Sql.int player.Stats.Charisma.Amount ) - ( "luck", Sql.int player.Stats.Luck.Amount ) ] - |> Sql.query """ - WITH usr AS (SELECT id FROM "user" WHERE discord_id = @did) - UPDATE player_stat SET strength = @strength, focus = @focus, charisma = @charisma, luck = @luck, - updated_at = now() at time zone 'utc' - FROM usr WHERE usr.id = user_id; - """ - |> Sql.executeNonQueryAsync - |> Async.AwaitTask - let tryFindPlayer (discordId : uint64) = async { try let! user = @@ -308,23 +290,6 @@ let updatePlayerCurrency (addAmount : int) (did : uint64) = |> Sql.executeNonQueryAsync |> Async.AwaitTask -let updatePlayer (player : PlayerData) = - connStr - |> Sql.connect - |> Sql.parameters [ - "did", Sql.string (string player.DiscordId) - "gbt", Sql.int (int player.Bank) - "strength", Sql.int player.Stats.Strength.Amount - "focus", Sql.int player.Stats.Focus.Amount - "charisma", Sql.int player.Stats.Charisma.Amount - "luck", Sql.int player.Stats.Luck.Amount - ] |> Sql.query """ - UPDATE "user" SET gbt = @gbt, strength = @strength, focus = @focus, charisma = @charisma, luck = @luck - WHERE discord_id = @did - """ - |> Sql.executeNonQueryAsync - |> Async.AwaitTask - let addAchievement (did : uint64) (achievement : string) = connStr |> Sql.connect diff --git a/Bot/Games/HackerBattle.fs b/Bot/Games/HackerBattle.fs index 1e35a78..7797192 100644 --- a/Bot/Games/HackerBattle.fs +++ b/Bot/Games/HackerBattle.fs @@ -96,8 +96,8 @@ let updateCombatants successfulHack (attacker : PlayerData) (defender : PlayerDa Timestamp = DateTime.UtcNow Cooldown = if isDefenderEvent then int WeaponClass.SameTargetAttackCooldown.TotalMinutes * 1 else hack.Cooldown } - [ DbService.updatePlayer <| updatePlayer prize (event false) attacker - DbService.updatePlayer <| updatePlayer -prize (event true) defender + [ DbService.updatePlayerCurrency prize attacker.DiscordId + DbService.updatePlayerCurrency -prize defender.DiscordId DbService.addPlayerEvent attacker.DiscordId (event false) DbService.addPlayerEvent defender.DiscordId (event true) ] |> Async.Parallel @@ -212,7 +212,6 @@ let handleDefense (ctx : IDiscordContext) = Cooldown = shieldItem.Cooldown Timestamp = DateTime.UtcNow } - do! DbService.updatePlayer p |> Async.Ignore do! DbService.addPlayerEvent p.DiscordId defense |> Async.Ignore let builder = DiscordMessageBuilder() builder.WithContent($"{ctx.GetDiscordMember().Username} has protected their system!") |> ignore @@ -271,7 +270,6 @@ let arsenal (ctx : IDiscordContext) = builder.AddEmbed(embed) |> ignore builder.IsEphemeral <- true do! ctx.FollowUp(builder) |> Async.AwaitTask - do! DbService.updatePlayer updatedPlayer |> Async.Ignore do! Analytics.arsenalCommand (ctx.GetDiscordMember()) }) diff --git a/Bot/Games/Thief.fs b/Bot/Games/Thief.fs index 5e57a8a..d5bfc47 100644 --- a/Bot/Games/Thief.fs +++ b/Bot/Games/Thief.fs @@ -182,7 +182,7 @@ let handleSteal (ctx : IDiscordContext) = Timestamp = DateTime.UtcNow Cooldown = VictimRecovery.Minutes * 1 } - do! DbService.updatePlayer { t with Bank = max (t.Bank - prize) 0 } |> Async.Ignore + do! DbService.updatePlayerCurrency -prize t.DiscordId |> Async.Ignore do! DbService.addPlayerEvent victim.DiscordId mugged |> Async.Ignore | None -> () @@ -191,7 +191,7 @@ let handleSteal (ctx : IDiscordContext) = Cooldown = ThiefCooldown.Minutes * 1 Timestamp = DateTime.UtcNow } - do! DbService.updatePlayer { thief with Bank = thief.Bank + prize } |> Async.Ignore + do! DbService.updatePlayerCurrency prize thief.DiscordId |> Async.Ignore do! DbService.addPlayerEvent victim.DiscordId stole |> Async.Ignore let builder = DiscordMessageBuilder() builder.WithContent($"{thief.Name} stole {prize} from <@{victim.DiscordId}>!") |> ignore