diff options
| author | historia <[not public]> | 2026-07-01 22:30:31 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-07-01 22:30:31 -0400 |
| commit | c14c2e403c75a913e1a6d962fb6fe64f013adae5 (patch) | |
| tree | 75070293fe2535b594ac72e501cbf08a3f1146e0 /internal/game/core_utils.go | |
| parent | 8eec7b75ff9c8c368b252373db45fb891732d2ca (diff) | |
| download | thehouseoficarus-c14c2e403c75a913e1a6d962fb6fe64f013adae5.tar.gz | |
fix: combat formulas and mob attack types (mobs switch attack styles if safespotting)
Diffstat (limited to 'internal/game/core_utils.go')
| -rw-r--r-- | internal/game/core_utils.go | 21 |
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 |
