diff --git a/Bot/Games/HackerBattle.fs b/Bot/Games/HackerBattle.fs index 82548eb..9dd899f 100644 --- a/Bot/Games/HackerBattle.fs +++ b/Bot/Games/HackerBattle.fs @@ -90,7 +90,7 @@ let runHackerBattle defender (hack : HackItem) = | _ -> false | _ -> false) -let updateEvents successfulHack (attacker : PlayerData) (defender : PlayerData) (hack : HackItem) = +let updateCombatants successfulHack (attacker : PlayerData) (defender : PlayerData) (hack : HackItem) prize = let event isDefenderEvent = let hackEvent = { HackId = hack.Id @@ -102,17 +102,13 @@ let updateEvents successfulHack (attacker : PlayerData) (defender : PlayerData) Timestamp = DateTime.UtcNow Cooldown = if isDefenderEvent then int WeaponClass.SameTargetAttackCooldown.TotalMinutes * 1 else hack.Cooldown } - [ DbService.addPlayerEvent attacker.DiscordId (event false) + [ DbService.updatePlayerCurrency prize attacker.DiscordId + DbService.updatePlayerCurrency -prize defender.DiscordId + DbService.addPlayerEvent attacker.DiscordId (event false) DbService.addPlayerEvent defender.DiscordId (event true) ] |> Async.Parallel |> Async.Ignore -let updatePrizes (attacker : PlayerData) (defender : PlayerData) prize = - [ DbService.updatePlayerCurrency prize attacker.DiscordId - DbService.updatePlayerCurrency -prize defender.DiscordId ] - |> Async.Parallel - |> Async.Ignore - let hackerResult successfulHack (ctx : IDiscordContext) attacker defender (hack : HackItem) = async { let prizeAmount , bonus = @@ -125,15 +121,13 @@ let hackerResult successfulHack (ctx : IDiscordContext) attacker defender (hack then gbt hack.Power , 0 else attacker.Bank , 0 - do! updateEvents successfulHack attacker defender hack - let! defenderMember = ctx.GetGuild().GetMemberAsync(defender.DiscordId) |> Async.AwaitTask let embed = Embeds.responseSuccessfulHack2 successfulHack attacker defender (ctx.GetDiscordMember()) defenderMember prizeAmount bonus hack do! ctx.GetChannel().SendMessageAsync(embed) |> Async.AwaitTask |> Async.Ignore - do! updatePrizes attacker defender prizeAmount + do! updateCombatants successfulHack attacker defender hack prizeAmount let builder = DiscordMessageBuilder().WithAllowedMention(UserMention(defender.DiscordId)) if successfulHack then