Remove noob target constraint

This commit is contained in:
Joseph Ferano 2022-05-08 18:28:35 +07:00
parent a2d6143460
commit 0d3a16001e

View File

@ -69,13 +69,6 @@ let checkTargetHasFunds target player =
| true -> Error $"Looks like the poor bastard has no $GBT... pick a different victim."
| false -> Ok player
let checkTargetIsNoob target (player : PlayerData) = async {
let! targetCompletedTraining = DbService.checkHasAchievement target.DiscordId Trainer.TrainerAchievement
if targetCompletedTraining || not target.Inventory.IsEmpty
then return Ok player
else return Error $"Looks like they haven't completed training with Sensei yet, you can't hack noobs..."
}
let runHackerBattle defender (hack : HackItem) =
defender
|> Player.removeExpiredActions
@ -143,11 +136,9 @@ let failedHack (ctx : IDiscordContext) attacker defender (hack : HackItem) =
let hack (target : DiscordUser) (ctx : IDiscordContext) =
executePlayerActionWithTarget target ctx (fun attacker defender -> async {
let! result = checkTargetIsNoob defender attacker
do! attacker
|> Player.removeExpiredActions
|> checkAlreadyHackedTarget defender
>>= fun p -> match result with Ok _ -> Ok p | Error e -> Error e
>>= checkTargetHasFunds defender
>>= checkHasEmptyHacks
>>= checkPlayerIsAttackingThemselves defender
@ -384,7 +375,4 @@ type HackerGame() =
do! ctx.Interaction.CreateResponseAsync(InteractionResponseType.ChannelMessageWithSource, builder)
|> Async.AwaitTask
} |> Async.StartAsTask
:> Task
:> Task