aboutsummaryrefslogtreecommitdiff
path: root/internal/game/action_clean.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-25 15:40:48 -0400
committerhistoria <[not public]>2026-06-25 15:40:48 -0400
commitabd612c15799f604e671e83dc7c410ed2b44185f (patch)
tree0597ca92350de73aac2a7cf26b2f2d6595dac0cc /internal/game/action_clean.go
parent2725e2927a1595c7b100d942d1f14146252adeb7 (diff)
downloadthehouseoficarus-abd612c15799f604e671e83dc7c410ed2b44185f.tar.gz
slop refactor
Diffstat (limited to 'internal/game/action_clean.go')
-rw-r--r--internal/game/action_clean.go105
1 files changed, 0 insertions, 105 deletions
diff --git a/internal/game/action_clean.go b/internal/game/action_clean.go
deleted file mode 100644
index d41746e..0000000
--- a/internal/game/action_clean.go
+++ /dev/null
@@ -1,105 +0,0 @@
-package game
-
-import (
- "strings"
-
- "thehouseoficarus/internal/action"
- "thehouseoficarus/internal/engine"
- "thehouseoficarus/internal/net"
- "thehouseoficarus/internal/object"
- "thehouseoficarus/internal/player"
-)
-
-func (g *Game) advanceClean(sess *net.Session, p *player.Player) {
- data, ok := p.BackgroundAction.Data.(*action.CleanData)
- if !ok {
- g.cancelBgAction(p)
- return
- }
- phase := data.Phase
- filter := data.Filter
-
- if phase == 0 {
- data.Phase = 1
- p.BackgroundAction.WaitLeft = engine.ToTicks(2)
- return
- }
-
- items := g.CraftIndex.ByType("clean")
-
- var matchItem *object.ItemDef
- for _, item := range items {
- c := item.FirstCraft()
- if filter != "" {
- if len(c.Consume) == 0 || len(c.Consume[0].Items) == 0 {
- continue
- }
- if !strings.Contains(c.Consume[0].Items[0], filter) &&
- !strings.Contains(item.ID, filter) {
- continue
- }
- }
- if p.Level(player.Pharmacy) < c.Level {
- continue
- }
- if !craftHasAllItems(c, p.HasItem) {
- continue
- }
- matchItem = item
- break
- }
-
- if matchItem == nil {
- sess.WriteLine("You've finished cleaning herbs.")
- g.cancelBgAction(p)
- return
- }
-
- craft := matchItem.FirstCraft()
- consumeID := craft.Consume[0].Items[0]
-
- for i := 0; i < 28; i++ {
- slot := p.InvSlot(i)
- if slot != nil && slot.ItemID == consumeID {
- slot.ItemID = matchItem.ID
- break
- }
- }
-
- if craft.XP > 0 {
- g.awardSkillXP(sess, p, player.Pharmacy, craft.XP)
- }
- g.AccountStore.SaveCharacter(p)
-
- msg := g.resolveCraftMessage(sess, craft.Message, "You clean the %i1.", craft, matchItem.ID, nil, p.HasItem)
- if p.OptionBool("xp_drops") && craft.XP > 0 {
- msg += g.formatXpDropSingle(sess, p, player.Pharmacy, craft.XP)
- }
- sess.WriteLine(msg)
-
- hasMore := false
- for _, item := range items {
- c := item.FirstCraft()
- if filter != "" {
- if len(c.Consume) == 0 || len(c.Consume[0].Items) == 0 {
- continue
- }
- if !strings.Contains(c.Consume[0].Items[0], filter) &&
- !strings.Contains(item.ID, filter) {
- continue
- }
- }
- if p.Level(player.Pharmacy) >= c.Level && craftHasAllItems(c, p.HasItem) {
- hasMore = true
- break
- }
- }
-
- if !hasMore {
- sess.WriteLine("You've finished cleaning herbs.")
- g.cancelBgAction(p)
- return
- }
-
- p.BackgroundAction.WaitLeft = engine.ToTicks(2)
-}