mirror of
https://github.com/prosolis/gogobee.git
synced 2026-07-16 08:52:42 +00:00
Expedition autopilot Phase 1: !explore / !expedition run
Adds an autopilot loop that walks rooms automatically until a natural or threshold interrupt fires. - New !explore (top-level alias) and !expedition run subcommand driven by expeditionCmdRun in dnd_expedition_cmd.go. - advanceOnce extracted from zoneCmdAdvance so the autopilot and the manual !zone advance path share one room-step implementation. - Stop reasons: fork, elite/boss doorway, death, complete, active-combat block, HP <= 30%, SU < 1 day's burn, 6-room cap. - Trash combat continues to auto-resolve inside resolveCombatRoom; no changes there. - TestAutopilotFooter_Reasons covers the pure stop-reason logic; preflight + walk tests skip without the prod DB, matching the existing setupAuditTestDB pattern. Phase 2 (auto-harvest) and Phase 3 (real-time ticking) deferred.
This commit is contained in:
@@ -170,6 +170,7 @@ func (p *AdventurePlugin) Commands() []CommandDef {
|
||||
{Name: "commune", Description: "Commune with spiritual energy in your current expedition region (Cleric primary)", Usage: "!commune", Category: "Games"},
|
||||
{Name: "fish", Description: "Fish in your current expedition region (DEX / Sleight of Hand; water zones only)", Usage: "!fish", Category: "Games"},
|
||||
{Name: "resources", Description: "List harvestable resources in your current expedition region", Usage: "!resources", Category: "Games"},
|
||||
{Name: "explore", Description: "Autopilot: walk through expedition rooms until something needs your attention (fork, elite/boss, low HP/supplies)", Usage: "!explore", Category: "Games"},
|
||||
{Name: "sell", Description: "Sell harvested materials/fish/items to Thom Krooke (post-expedition; CHA Persuasion DC 17 = +15%)", Usage: "!sell [list|all|<item>]", Category: "Games"},
|
||||
{Name: "craft", Description: "Craft a discovered recipe at Thom Krooke (consumes ingredients)", Usage: "!craft [list|<recipe>]", Category: "Games"},
|
||||
{Name: "lore", Description: "Dig through Thom Krooke's lore stacks for an undiscovered recipe (INT/Arcana DC 15)", Usage: "!lore", Category: "Games"},
|
||||
@@ -354,6 +355,9 @@ func (p *AdventurePlugin) OnMessage(ctx MessageContext) error {
|
||||
if p.IsCommand(ctx.Body, "map") {
|
||||
return p.handleExpeditionMapCmd(ctx, p.GetArgs(ctx.Body, "map"))
|
||||
}
|
||||
if p.IsCommand(ctx.Body, "explore") {
|
||||
return p.expeditionCmdRun(ctx)
|
||||
}
|
||||
if p.IsCommand(ctx.Body, "forage") {
|
||||
return p.handleHarvestCmd(ctx, HarvestForage)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user