Adding the gifs
This commit is contained in:
parent
2553d789d1
commit
48e726b3fa
@ -5,6 +5,26 @@ open Degenz.Shared
|
||||
open DSharpPlus.Entities
|
||||
open AsciiTableFormatter
|
||||
|
||||
let getHackGif =
|
||||
function
|
||||
| Hack.Virus -> "https://s10.gifyu.com/images/Attack-DegenZ.gif"
|
||||
| Hack.Ransom -> "https://s10.gifyu.com/images/Mind-Control-Degenz-V2.gif"
|
||||
| Hack.Worm -> "https://s10.gifyu.com/images/WormBugAttack_Degenz.gif"
|
||||
| Hack.DDos -> "https://s10.gifyu.com/images/Attack-DegenZ.gif"
|
||||
| Hack.Crack -> "https://s10.gifyu.com/images/Attack-DegenZ.gif"
|
||||
| Hack.Injection -> "https://s10.gifyu.com/images/Attack-DegenZ.gif"
|
||||
| _ -> "https://s10.gifyu.com/images/Hacker-Degenz-V2.gif"
|
||||
|
||||
let getShieldGif =
|
||||
function
|
||||
| Shield.Firewall -> "https://s10.gifyu.com/images/Defense-GIF-1-Degenz.gif"
|
||||
| Shield.PortScan -> "https://s10.gifyu.com/images/PortScanDefense_Degenz.gif"
|
||||
| Shield.Encryption -> "https://s10.gifyu.com/images/Anonymous-Degenz-V2.gif"
|
||||
| Shield.Hardening -> "https://s10.gifyu.com/images/Encryption-Degenz-V2.gif"
|
||||
| Shield.Sanitation -> "https://s10.gifyu.com/images/VPN-Degenz.gif"
|
||||
| Shield.Cypher -> "https://s10.gifyu.com/images/Matrix_Degenz.gif"
|
||||
| _ -> "https://s10.gifyu.com/images/Hacker-Degenz-V2.gif"
|
||||
|
||||
let constructEmbed message =
|
||||
let builder = DiscordEmbedBuilder()
|
||||
builder.Color <- Optional(DiscordColor.Blurple)
|
||||
@ -83,7 +103,7 @@ let storeListing store =
|
||||
|> Array.map (fun (item : Item) ->
|
||||
let itemClass =
|
||||
if itemType = ItemType.Hack
|
||||
then weaponInventory
|
||||
then hackInventory
|
||||
|> Array.find (fun w -> item.Name = string w)
|
||||
|> int
|
||||
|> getClass
|
||||
|
@ -76,8 +76,11 @@ let successfulHack (event : ComponentInteractionCreateEventArgs) attacker defend
|
||||
|
||||
do! updateCombatants attacker defender hack prize
|
||||
|
||||
let embed = DiscordEmbedBuilder()
|
||||
embed.ImageUrl <- Embeds.getHackGif hack
|
||||
let builder = DiscordInteractionResponseBuilder()
|
||||
builder.IsEphemeral <- true
|
||||
builder.AddEmbed embed |> ignore
|
||||
builder.Content <- $"Successfully hacked {defender.Name} using {hack}! You just won {prize} GoodBoyTokenz!"
|
||||
do! event.Interaction.CreateResponseAsync(InteractionResponseType.ChannelMessageWithSource, builder)
|
||||
|> Async.AwaitTask
|
||||
@ -199,7 +202,10 @@ let handleDefense (event : ComponentInteractionCreateEventArgs) =
|
||||
match alreadyUsedShield , updatedDefenses.Length < 2 with
|
||||
| false , true ->
|
||||
let builder = DiscordInteractionResponseBuilder()
|
||||
let embed = DiscordEmbedBuilder()
|
||||
embed.ImageUrl <- Embeds.getShieldGif shield
|
||||
builder.IsEphemeral <- true
|
||||
builder.AddEmbed embed |> ignore
|
||||
builder.Content <- $"Mounted a {shield} defense for 6 hours"
|
||||
do! event.Interaction.CreateResponseAsync(InteractionResponseType.ChannelMessageWithSource, builder)
|
||||
|> Async.AwaitTask
|
||||
|
@ -21,7 +21,7 @@ module Commands =
|
||||
let rand = System.Random(System.Guid.NewGuid().GetHashCode())
|
||||
let getRandom (actions : 'a array) = actions.[rand.Next(0, Math.Max(0, actions.Length - 1))]
|
||||
|
||||
let weapons = [| getRandom weaponInventory |]
|
||||
let weapons = [| getRandom hackInventory |]
|
||||
let shields = [| getRandom shieldInventory |]
|
||||
|
||||
{ DiscordId = membr
|
||||
|
@ -37,7 +37,7 @@ let buyHack (ctx : InteractionContext) hackId =
|
||||
if newBalance >= 0 then
|
||||
let playerHasItem = player.Weapons |> Array.exists (fun w -> item.Name = string w)
|
||||
if not playerHasItem then
|
||||
let weapon = weaponInventory |> Array.find (fun w -> item.Name = string w)
|
||||
let weapon = hackInventory |> Array.find (fun w -> item.Name = string w)
|
||||
let p = { player with Bank = newBalance ; Weapons = Array.append [| weapon |] player.Weapons }
|
||||
do! DbService.updatePlayer p
|
||||
do! createSimpleResponseAsync $"Successfully purchased {item.Name}! You now have {newBalance} remaining" ctx
|
||||
|
@ -11,6 +11,9 @@ let sendInitialEmbed (client : DiscordClient) =
|
||||
async {
|
||||
let! channel = client.GetChannelAsync(GuildEnvironment.channelTraining) |> Async.AwaitTask
|
||||
let builder = DiscordMessageBuilder()
|
||||
let embed = DiscordEmbedBuilder()
|
||||
embed.ImageUrl <- "https://s10.gifyu.com/images/MasterTraining_Degenz.gif"
|
||||
builder.AddEmbed embed |> ignore
|
||||
builder.Content <- "Welcome to the hacker dojo you degenerate, are you ready to get started?"
|
||||
let button = DiscordButtonComponent(ButtonStyle.Success, $"Trainer-1", $"Get started") :> DiscordComponent
|
||||
builder.AddComponents [| button |] |> ignore
|
||||
|
@ -38,7 +38,7 @@ type Item = {
|
||||
Cost : int
|
||||
}
|
||||
|
||||
let weaponInventory = [| Hack.Virus ; Hack.Ransom ; Hack.DDos ; Hack.Worm ; Hack.Crack ; Hack.Injection |]
|
||||
let hackInventory = [| Hack.Virus ; Hack.Ransom ; Hack.DDos ; Hack.Worm ; Hack.Crack ; Hack.Injection |]
|
||||
let shieldInventory = [| Shield.Firewall ; Shield.PortScan ; Shield.Encryption ; Shield.Cypher ; Shield.Hardening ; Shield.Sanitation |]
|
||||
|
||||
let getClass =
|
||||
@ -75,7 +75,6 @@ type Player =
|
||||
Defenses: Defense array
|
||||
Bank: int }
|
||||
|
||||
|
||||
let createSimpleResponseAsync msg (ctx: InteractionContext) =
|
||||
async {
|
||||
let builder = DiscordInteractionResponseBuilder()
|
||||
|
Loading…
x
Reference in New Issue
Block a user