diff options
| author | historia <[not public]> | 2026-06-18 18:50:54 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-18 18:50:54 -0400 |
| commit | 17e7725f252c7f5d3be2e9c37d62751c631f196f (patch) | |
| tree | 40698c5c95cb21302adbb8cd021bd8d049b6fce1 /internal/game/cmd_use.go | |
| parent | fae979b75e37b6ad57e57062a1b637a37ec87174 (diff) | |
| download | thehouseoficarus-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.go | 19 |
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) |
