๐Ÿ“ฆ sleepyfran / duets

๐Ÿ“„ Money.Cheats.Commands.fs ยท 36 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36namespace Duets.Cli.Components.Commands.Cheats

open Duets.Agents
open Duets.Cli
open Duets.Cli.Components.Commands
open Duets.Cli.SceneIndex
open Duets.Entities
open Duets.Simulation
open Duets.Simulation.Bank.Operations

[<RequireQualifiedAccess>]
module MoneyCommands =
    let private giveMoneyToCharacter amount =
        let characterAccount =
            Queries.Bank.playableCharacterAccount (State.get ())

        income (State.get ()) characterAccount amount |> Effect.apply

    /// Command which gives the player 1.000d$.
    let rosebud =
        { Name = "rosebud"
          Description = "Gives you 1.000d$"
          Handler =
            (fun _ ->
                giveMoneyToCharacter 1000m<dd>
                Scene.Cheats) }

    /// Command which gives the player 50.000d$.
    let motherlode =
        { Name = "motherlode"
          Description = "Gives you 50.000d$"
          Handler =
            (fun _ ->
                giveMoneyToCharacter 50000m<dd>
                Scene.Cheats) }