aboutsummaryrefslogtreecommitdiff
path: root/internal/game/sys_science.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-16 17:05:17 -0400
committerhistoria <[not public]>2026-09-16 17:05:17 -0400
commit1dad15698845d370e998f7cc5feb8aece3fab58f (patch)
tree8d58058782de9f422573e1f8efd5d130ce7d1ce9 /internal/game/sys_science.go
parenta6cf03a6ae98e4fb675da25046d148e92bcf7206 (diff)
downloadthehouseoficarus-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.go31
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 {