diff options
| author | historia <[not public]> | 2026-09-16 17:05:17 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-16 17:05:17 -0400 |
| commit | 1dad15698845d370e998f7cc5feb8aece3fab58f (patch) | |
| tree | 8d58058782de9f422573e1f8efd5d130ce7d1ce9 /internal/game/sys_science.go | |
| parent | a6cf03a6ae98e4fb675da25046d148e92bcf7206 (diff) | |
| download | thehouseoficarus-1dad15698845d370e998f7cc5feb8aece3fab58f.tar.gz | |
refactor: remove dead code, consolidate save/error handling, add lint gate
Diffstat (limited to 'internal/game/sys_science.go')
| -rw-r--r-- | internal/game/sys_science.go | 31 |
1 files changed, 5 insertions, 26 deletions
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 { |
