Delete queries that update stats

This commit is contained in:
Joseph Ferano 2022-05-30 20:25:18 +07:00
parent dc84d2de4c
commit ef8120e9c4
3 changed files with 4 additions and 41 deletions

View File

@ -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<GBT>) (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

View File

@ -96,8 +96,8 @@ let updateCombatants successfulHack (attacker : PlayerData) (defender : PlayerDa
Timestamp = DateTime.UtcNow
Cooldown = if isDefenderEvent then int WeaponClass.SameTargetAttackCooldown.TotalMinutes * 1<mins> 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())
})

View File

@ -182,7 +182,7 @@ let handleSteal (ctx : IDiscordContext) =
Timestamp = DateTime.UtcNow
Cooldown = VictimRecovery.Minutes * 1<mins>
}
do! DbService.updatePlayer { t with Bank = max (t.Bank - prize) 0<GBT> } |> 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<mins>
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