aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_use.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-18 18:50:54 -0400
committerhistoria <[not public]>2026-06-18 18:50:54 -0400
commit17e7725f252c7f5d3be2e9c37d62751c631f196f (patch)
tree40698c5c95cb21302adbb8cd021bd8d049b6fce1 /internal/game/cmd_use.go
parentfae979b75e37b6ad57e57062a1b637a37ec87174 (diff)
downloadthehouseoficarus-17e7725f252c7f5d3be2e9c37d62751c631f196f.tar.gz
feat: fletching added including zero-time bolt feathering, which probably will break lots of things
Diffstat (limited to 'internal/game/cmd_use.go')
-rw-r--r--internal/game/cmd_use.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/internal/game/cmd_use.go b/internal/game/cmd_use.go
index 7c7bca0..8b8f43e 100644
--- a/internal/game/cmd_use.go
+++ b/internal/game/cmd_use.go
@@ -4,6 +4,7 @@ import (
"fmt"
"strings"
+ "thehouseoficarus/internal/action"
"thehouseoficarus/internal/net"
"thehouseoficarus/internal/object"
"thehouseoficarus/internal/player"
@@ -170,6 +171,24 @@ func (g *Game) doUseItemOnTarget(sess *net.Session, p *player.Player, itemAName,
itemBID := matchesB[0].ID
+ fletchRecipes := g.findFletchRecipesForItems(p, itemAID, itemBID)
+ if len(fletchRecipes) > 0 {
+ var available []action.RecipeDef
+ for _, r := range fletchRecipes {
+ if g.canDoFletchRecipe(p, &r) {
+ available = append(available, r)
+ }
+ }
+ if len(available) == 1 {
+ g.startFletchAction(sess, p, &available[0], 0)
+ return
+ }
+ if len(available) > 1 {
+ g.showFletchTable(sess, p, available)
+ return
+ }
+ }
+
matched := g.findCombineResults(sess, p, itemAID, itemBID)
if len(matched) == 1 {
g.promptHowMany(sess, "combine_"+matched[0].ID)