From 1dad15698845d370e998f7cc5feb8aece3fab58f Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 16 Sep 2026 17:05:17 -0400 Subject: refactor: remove dead code, consolidate save/error handling, add lint gate --- internal/game/sys_science.go | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) (limited to 'internal/game/sys_science.go') diff --git a/internal/game/sys_science.go b/internal/game/sys_science.go index a616b42..58e2db0 100644 --- a/internal/game/sys_science.go +++ b/internal/game/sys_science.go @@ -66,25 +66,6 @@ func GetMod(id string) *ModDef { return modByID[id] } -func FindMod(input string) *ModDef { - if m, ok := modByID[input]; ok { - return m - } - lower := strings.ToLower(strings.ReplaceAll(input, " ", "_")) - for _, m := range AllMods { - if strings.HasPrefix(m.ID, lower) { - return m - } - } - lowerSpace := strings.ToLower(input) - for _, m := range AllMods { - if strings.HasPrefix(strings.ToLower(m.Name), lowerSpace) { - return m - } - } - return nil -} - func findAllModMatches(input string) []*ModDef { inputWords := strings.Fields(strings.ToLower(input)) if len(inputWords) == 0 { @@ -228,18 +209,17 @@ func (g *Game) hasJunkCost(p *player.Player, mod *ModDef) bool { return true } -func (g *Game) consumeJunkCost(p *player.Player, mod *ModDef) bool { +func (g *Game) consumeJunkCost(p *player.Player, mod *ModDef) { cost := g.effectiveJunkCost(p, mod) for itemID, qty := range cost { if !p.RemoveItem(itemID, qty) { - return false + return } } - g.AccountStore.SaveCharacter(p) - return true + g.saveCharacter(p) } -func (g *Game) triggerModReward(sess *net.Session, p *player.Player, mod *ModDef, multiplier float64, extraGains ...xpGain) int { +func (g *Game) triggerModReward(sess *net.Session, p *player.Player, mod *ModDef, multiplier float64, extraGains ...xpGain) { g.consumeJunkCost(p, mod) sciXP := int(float64(mod.BaseXP) * multiplier) @@ -249,7 +229,7 @@ func (g *Game) triggerModReward(sess *net.Session, p *player.Player, mod *ModDef g.awardSkillXP(sess, p, player.SkillName(gain.Skill), gain.XP) } - g.AccountStore.SaveCharacter(p) + g.saveCharacter(p) if p.OptionBool("xp_drops") { var parts []string @@ -265,7 +245,6 @@ func (g *Game) triggerModReward(sess *net.Session, p *player.Player, mod *ModDef sess.WriteLine(g.colorize(sess, "xp", "("+strings.Join(parts, ", ")+")")) } } - return sciXP } func (g *Game) junkCostString(p *player.Player, mod *ModDef) string { -- cgit v1.2.3