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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66module Duets.Cli.Text.Items
open Duets.Entities
let itemAddedCharacterToInventory item =
Styles.success
$"{Generic.itemDetailedName item} has been added to your inventory"
let itemAddedToBandInventory item quantity =
$"{quantity} {Generic.simplePluralOf (Generic.itemDetailedName item) quantity} added to your band's inventory"
|> Styles.success
let itemRemovedFromCharacterInventory item =
Styles.warning
$"{Generic.itemDetailedName item} has been removed from your inventory"
let noItemsInventory = "You are not carrying anything"
let itemsCurrentlyCarrying =
"These are the things you're currently carrying around:"
let itemRow item =
$"""- {Generic.itemDetailedName item}"""
let lookItem item =
$"{Generic.indeterminateArticleFor item} {item}"
let lookItems itemDescriptions =
$"You can see {Generic.listOf itemDescriptions id}"
let itemNotFound name =
Styles.error $"You don't have any item called \"{name}\""
let itemNotDrinkable = Styles.error "You can't drink that!"
let itemNotEdible = Styles.error "You can't eat that!"
let itemNotReadable = Styles.error "How are you planning to read that?"
let itemNotRideable = Styles.error "Excuse me, you want to ride what?"
let itemCannotBeExercisedWith =
Styles.error "You can't exercise with that! Try a treadmill"
let itemCannotBePlayedWith =
Styles.error
"So... that's not a toy or a console, what are you trying to do?"
let itemCannotBeWatched =
Styles.error
"Why do you want to stare at that? It's not that interesting anyway. Try a TV"
let drunkItem = Styles.success "*Gulp*"
let ateItem = Styles.success "Hmmmm..."
let readBook = Styles.success "You spent some time reading"
let itemAlternativeNames (item: Item) =
let mainProperty = item.Properties |> List.head
match mainProperty with
| Playable(Darts) -> [ "darts" ]
| Playable(Billiard) -> [ "pool"; "billiard" ]
| _ -> []