From 94a06fbbe682701ca4d4bd2a70cd74d8df29c932 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 25 Jun 2026 00:44:47 -0400 Subject: refactor: replaced map[string]any with typed structs for Data --- internal/game/cmd_farm.go | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) (limited to 'internal/game/cmd_farm.go') diff --git a/internal/game/cmd_farm.go b/internal/game/cmd_farm.go index 791cb6d..eca0429 100644 --- a/internal/game/cmd_farm.go +++ b/internal/game/cmd_farm.go @@ -139,13 +139,12 @@ func (g *Game) doPlant(sess *net.Session, input string) { TargetID: seedID, TargetName: seedDef.Name, WaitLeft: 2, - Data: map[string]any{ - "seed_id": seedID, - "prefix": prefix, - "xp": float64(seedDef.FarmPlantXP), + Data: &action.FarmData{ + SeedID: seedID, + Prefix: prefix, + XP: float64(seedDef.FarmPlantXP), }, } - p.ActionState = &ActionState{Type: ActionPlanting, TargetName: seedDef.Name} g.AccountStore.SaveCharacter(p) } @@ -222,16 +221,15 @@ func (g *Game) doHarvest(sess *net.Session, input string) { TargetID: prefix, TargetName: productName, WaitLeft: 3, - Data: map[string]any{ - "prefix": prefix, - "seed_id": seedID, - "product": product, - "min_yield": float64(minYield), - "max_yield": float64(maxYield), - "xp": float64(harvestXP), + Data: &action.FarmData{ + Prefix: prefix, + SeedID: seedID, + Product: product, + MinYield: float64(minYield), + MaxYield: float64(maxYield), + XP: float64(harvestXP), }, } - p.ActionState = &ActionState{Type: ActionHarvesting, TargetName: productName} g.AccountStore.SaveCharacter(p) } @@ -273,11 +271,10 @@ func (g *Game) doRake(sess *net.Session, input string) { TargetID: prefix, TargetName: patchName, WaitLeft: 4, - Data: map[string]any{ - "prefix": prefix, + Data: &action.FarmData{ + Prefix: prefix, }, } - p.ActionState = &ActionState{Type: ActionRaking, TargetName: patchName} g.AccountStore.SaveCharacter(p) } @@ -333,11 +330,10 @@ func (g *Game) doWater(sess *net.Session, input string) { TargetID: prefix, TargetName: patchName, WaitLeft: 2, - Data: map[string]any{ - "prefix": prefix, + Data: &action.FarmData{ + Prefix: prefix, }, } - p.ActionState = &ActionState{Type: ActionWatering, TargetName: patchName} g.AccountStore.SaveCharacter(p) } @@ -377,11 +373,10 @@ func (g *Game) doCure(sess *net.Session, input string) { TargetID: prefix, TargetName: patchName, WaitLeft: 2, - Data: map[string]any{ - "prefix": prefix, + Data: &action.FarmData{ + Prefix: prefix, }, } - p.ActionState = &ActionState{Type: ActionCuring, TargetName: patchName} g.AccountStore.SaveCharacter(p) } -- cgit v1.2.3