aboutsummaryrefslogtreecommitdiff
path: root/internal/game/core_utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/core_utils.go')
-rw-r--r--internal/game/core_utils.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/game/core_utils.go b/internal/game/core_utils.go
index 4c087e8..2855bcf 100644
--- a/internal/game/core_utils.go
+++ b/internal/game/core_utils.go
@@ -44,6 +44,27 @@ func mobDisplayName(m *world.MobInstance, definite bool) string {
return "a " + m.Name
}
+// mobDisplayNameCap is like mobDisplayName but capitalizes the article for use
+// at the start of a sentence (e.g. "The goblin hits you.").
+func mobDisplayNameCap(m *world.MobInstance, definite bool) string {
+ if m.Unique {
+ return m.Name
+ }
+ if definite {
+ return "The " + m.Name
+ }
+ return "A " + m.Name
+}
+
+// itemDisplayName returns an item's display name for the given id, falling back
+// to the id itself if the item cannot be loaded.
+func (g *Game) itemDisplayName(itemID string) string {
+ if def, err := g.ItemStore.Load(itemID); err == nil && def != nil {
+ return def.Name
+ }
+ return itemID
+}
+
func mobCombatLevel(m *world.MobInstance) int {
base := float64(m.Defense+m.MaxHP) / 4.0
melee := float64(m.Attack+m.Strength) / 4.0