If it's the trainer bot, don't disable hack/shield buttons
This commit is contained in:
parent
8f8aebd6ac
commit
7676981499
@ -33,16 +33,16 @@ let getShieldGif = function
|
|||||||
| ShieldId.Cypher -> "https://s10.gifyu.com/images/Cypher-Smaller.gif"
|
| ShieldId.Cypher -> "https://s10.gifyu.com/images/Cypher-Smaller.gif"
|
||||||
| _ -> shieldGif
|
| _ -> shieldGif
|
||||||
|
|
||||||
let constructButtons (actionType: string) (player: PlayerData) (buttonId : string) (items: BattleItem array) =
|
let constructButtons (actionType: string) (player: PlayerData) (buttonId : string) (items: BattleItem array) isTrainer =
|
||||||
items
|
items
|
||||||
|> Array.map (fun item ->
|
|> Array.map (fun item ->
|
||||||
match player.Actions |> Array.exists (fun i -> i.ActionId = item.Id) with
|
match player.Actions |> Array.exists (fun i -> i.ActionId = item.Id) && not isTrainer with
|
||||||
| true -> DiscordButtonComponent(Game.getClassButtonColor item.Class, $"{actionType}-{item.Id}", $"{item.Name} (on cooldown)", true)
|
| true -> DiscordButtonComponent(Game.getClassButtonColor item.Class, $"{actionType}-{item.Id}", $"{item.Name} (on cooldown)", true)
|
||||||
| false -> DiscordButtonComponent(Game.getClassButtonColor item.Class, $"{actionType}-{item.Id}-{buttonId}", $"{item.Name}"))
|
| false -> DiscordButtonComponent(Game.getClassButtonColor item.Class, $"{actionType}-{item.Id}-{buttonId}", $"{item.Name}"))
|
||||||
|
|
||||||
let pickDefense actionId player =
|
let pickDefense actionId player isTrainer =
|
||||||
let buttons =
|
let buttons =
|
||||||
constructButtons actionId player (string player.DiscordId) (Player.shields player)
|
constructButtons actionId player (string player.DiscordId) (Player.shields player) isTrainer
|
||||||
|> Seq.cast<DiscordComponent>
|
|> Seq.cast<DiscordComponent>
|
||||||
|
|
||||||
let embed =
|
let embed =
|
||||||
@ -56,10 +56,10 @@ let pickDefense actionId player =
|
|||||||
.AddEmbed(embed)
|
.AddEmbed(embed)
|
||||||
.AsEphemeral(true)
|
.AsEphemeral(true)
|
||||||
|
|
||||||
let pickHack actionId attacker defender =
|
let pickHack actionId attacker defender isTrainer =
|
||||||
let buttons =
|
let buttons =
|
||||||
let hacks = Player.hacks attacker
|
let hacks = Player.hacks attacker
|
||||||
constructButtons actionId attacker $"{defender.DiscordId}-{defender.Name}" hacks
|
constructButtons actionId attacker $"{defender.DiscordId}-{defender.Name}" hacks isTrainer
|
||||||
|> Seq.cast<DiscordComponent>
|
|> Seq.cast<DiscordComponent>
|
||||||
|
|
||||||
let embed =
|
let embed =
|
||||||
|
@ -119,7 +119,7 @@ let attack (target : DiscordUser) (ctx : InteractionContext) =
|
|||||||
>>= checkPlayerIsAttackingThemselves defender
|
>>= checkPlayerIsAttackingThemselves defender
|
||||||
|> function
|
|> function
|
||||||
| Ok _ ->
|
| Ok _ ->
|
||||||
let embed = Embeds.pickHack "Attack" attacker defender
|
let embed = Embeds.pickHack "Attack" attacker defender false
|
||||||
ctx.FollowUpAsync(embed)
|
ctx.FollowUpAsync(embed)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|> Async.Ignore
|
|> Async.Ignore
|
||||||
@ -157,7 +157,7 @@ let handleAttack (event : ComponentInteractionCreateEventArgs) =
|
|||||||
let defend (ctx : InteractionContext) =
|
let defend (ctx : InteractionContext) =
|
||||||
Game.executePlayerInteraction ctx (fun player -> async {
|
Game.executePlayerInteraction ctx (fun player -> async {
|
||||||
if Player.shields player |> Array.length > 0 then
|
if Player.shields player |> Array.length > 0 then
|
||||||
let embed = Embeds.pickDefense "Defend" player
|
let embed = Embeds.pickDefense "Defend" player false
|
||||||
do! ctx.FollowUpAsync(embed)
|
do! ctx.FollowUpAsync(embed)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|> Async.Ignore
|
|> Async.Ignore
|
||||||
|
@ -60,7 +60,7 @@ let defend (ctx : InteractionContext) =
|
|||||||
| [||] -> { player with Arsenal = [| defaultShield |] }
|
| [||] -> { player with Arsenal = [| defaultShield |] }
|
||||||
| _ -> player
|
| _ -> player
|
||||||
|
|
||||||
let embed = Embeds.pickDefense "Trainer-2" playerWithShields
|
let embed = Embeds.pickDefense "Trainer-2" playerWithShields true
|
||||||
|
|
||||||
do! ctx.FollowUpAsync(embed)
|
do! ctx.FollowUpAsync(embed)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
@ -118,7 +118,7 @@ let attack (target : DiscordUser) (ctx : InteractionContext) =
|
|||||||
match Player.hacks player with
|
match Player.hacks player with
|
||||||
| [||] -> { player with Arsenal = [| defaultHack |] }
|
| [||] -> { player with Arsenal = [| defaultHack |] }
|
||||||
| _ -> player
|
| _ -> player
|
||||||
let embed = Embeds.pickHack "Trainer-4" playerWithAttacks player
|
let embed = Embeds.pickHack "Trainer-4" playerWithAttacks player true
|
||||||
|
|
||||||
do! ctx.FollowUpAsync(embed)
|
do! ctx.FollowUpAsync(embed)
|
||||||
|> Async.AwaitTask
|
|> Async.AwaitTask
|
||||||
|
Loading…
x
Reference in New Issue
Block a user