package game import ( "fmt" "strings" "thehouseoficarus/internal/net" "thehouseoficarus/internal/player" ) func (g *Game) doAutocast(sess *net.Session, input string) { p := sess.Player.(*player.Player) input = strings.TrimSpace(input) if input == "" { if p.AutocastMod == "" { sess.WriteLine("No autocast mod set. Use 'autocast ' to set one.") } else { mod := GetMod(p.AutocastMod) if mod == nil { sess.WriteLine("Autocast: none (invalid mod)") p.AutocastMod = "" } else { sess.WriteLine(fmt.Sprintf("Autocast: %s (Lv%d)", mod.Name, mod.Level)) } } return } if strings.ToLower(input) == "off" { p.AutocastMod = "" sess.WriteLine("Autocast disabled.") return } mod := FindMod(strings.ToLower(input)) if mod == nil { sess.WriteLine("Unknown mod.") return } if mod.Category != ModCombat { sess.WriteLine("You can only autocast combat mods.") return } if p.Level(player.Science) < mod.Level { sess.WriteLine(fmt.Sprintf("You need level %d science to autocast %s.", mod.Level, mod.Name)) return } p.AutocastMod = mod.ID sess.WriteLine(fmt.Sprintf("Autocast set to: %s", mod.Name)) }