package game import ( "fmt" "thehouseoficarus/internal/net" ) func (g *Game) executeTask(sess *net.Session, args []string, rawInput string) { g.doTask(sess) } func (g *Game) doTask(sess *net.Session) { p := sess.Player mobID := getPlayerFlagString(p, "assassin_task_mob") remaining := getPlayerFlagInt(p, "assassin_task_remaining") total := getPlayerFlagInt(p, "assassin_task_total") streak := getPlayerFlagInt(p, "assassin_streak") rep := getPlayerFlagInt(p, "assassin_reputation") if mobID == "" || remaining <= 0 { if getPlayerFlagInt(p, "assassin_tasks_completed") > 0 { sess.WriteLine("You have no active task. Talk to The Client for a new assignment.") } else { sess.WriteLine("You don't have an Assassin task. Talk to The Client to get one.") } } else { def, err := g.MobStore.LoadDef(mobID) name := mobID if err == nil { name = def.Name } sess.WriteLine(fmt.Sprintf("Assassin task: Kill %ss. %d of %d remaining.", name, remaining, total)) } sess.WriteLine(fmt.Sprintf("Streak: %d | Reputation: %d", streak, rep)) }