36 lines
6.6 KiB
Markdown
36 lines
6.6 KiB
Markdown
# Survival and cooperation
|
||
|
||
Native survival assistance samples registered, living bots every two seconds. Health below 55% in combat or a drop of at least 15 percentage points records ten minutes of recent danger. Party selection gives those residents priority; recent danger bypasses sociability reluctance, but never hostility, faction/level compatibility, proximity or human-control checks. Candidate ranking favors shared active quest IDs and complementary native healer/tank roles. It does not change class, spec, gear or quest state.
|
||
|
||
Party actions remain receipt-confirmed, one per community tick. Participants wait two minutes after a completed action or one minute after a rejected command before another invitation; pending commands remain excluded. Separated parties now have twenty minutes before automatic departure, giving native regrouping a chance. Declined candidate pairs no longer prevent the same tick from considering a better match.
|
||
|
||
The native guard requests the existing `flee` action at most every eight seconds when health falls below 50%, an enemy is at least three levels higher or is elite/rare-elite/world-boss, or at least two members and at least half the party are nearby and below 40%. This is a movement request, not guaranteed escape. After danger, injured bots request normal eating/drinking actions; food, mana and other game requirements still apply. No health, level or resurrection changes occur.
|
||
|
||
Healthy, noncombat followers 12–200 yards from their bot leader on the same map/phase can request normal follow movement. Human-led, mixed, raid and partly offline parties are excluded. The guard does not teleport or force cross-map travel. A master relationship assigned for following is cleared when that party relationship ends. Slower model commands yield to a recent native survival request rather than immediately replacing it. An accepted request does not establish shared quest completion or successful escape; existing gameplay and cooperation counters remain the outcome evidence.
|
||
|
||
Grouping assistance uses the existing parties-enabled setting, refreshed by the operations collector with a three-minute expiry. Danger detection and emergency self-preservation remain active for eligible bots. Bot Activity displays recent survival requests explicitly as requests. The ALE bridge supplies native combat role and up to 25 active quest IDs for companion matching.
|
||
|
||
Install `ale/azerothai_survival.lua` beside the existing bridge. Its registry refreshes every minute. It uses no model calls and its per-character runtime observations expire after ten minutes offline. Game hooks and policy tests exercise retreat cooldown, follow distance, faction/hostility and human-control exclusions. In-game survival improvement must be evaluated over actual play; this is not a promise that bots cannot die.
|
||
|
||
## Invitation and membership repair
|
||
|
||
Install `ale/azerothai_parties.lua` beside the bridge and reload ALE before deploying the matching runtime. Party commands fail closed if this native guard is unavailable.
|
||
|
||
Party invitations now carry both exact native identities and expire 45 seconds after creation. The native guard retries every two seconds while a participant is busy or out of range, allowing a meeting within 60 yards on the same map/phase. Every attempt rechecks identity, lifecycle, faction, levels, human control and group capacity. There is no teleport or forced combat interruption. A deferred bridge command receives its completion receipt only when membership is confirmed or the invitation expires/fails. Pending participants remain reserved so another invitation cannot race the first. ALE reloads lose in-memory retries; the durable lane eventually replays the expired request as a failure rather than applying an old invitation.
|
||
|
||
Every ten seconds, the party guard checks incomplete groups against the complete persisted character membership and hardcore registry. It removes only a verified permanently dead member, after validating every identity and protecting human, unknown, active-but-offline, raid and combat parties. One mutation per group avoids touching a Group object after native disbanding. The audit table `acore_auth.azerothai_party_audit` records actual removals and invitation outcomes; it is covered by the full auth database backup.
|
||
|
||
|
||
## Hardcore survival revision
|
||
|
||
The native guard now samples every two seconds. Retreat is requested below 50% health, against targets at least three levels higher or elite/rare-elite/world-boss targets, or when nearby party health collapses. Emergency casts are stopped before requesting flee; human-controlled, mixed/incomplete parties, taxi and movement restrictions remain protected. Requests are limited to one per eight seconds. Dangerous selected targets must also appear in the native unfriendly list within 40 yards before pre-combat avoidance is requested. These are native movement requests, not guaranteed avoidance or escape.
|
||
|
||
Healthy followers can regroup over 12–200 yards on the same map/phase. Healthy noncombat leaders pause for at most 20 seconds per minute when a noncombat companion is 25–200 yards behind. Recovery requests now extend to 80% health after recent danger. No teleport, resurrection, population or stat changes are made.
|
||
|
||
The auth table `azerothai_survival_audit` records request acceptance and observed outcomes: out of combat, movement while still in combat, no movement after 30 seconds, or death during observation. Movement means at least five yards from the starting position (or a map change); it does not prove successful escape. Audit records expire after seven days in bounded hourly batches. Snapshots continue to expose the latest action and timestamp.
|
||
|
||
|
||
Stall recovery keeps its ten-minute idle clock across casts. Real movement, level/health changes, successful loot or quest completion reset the clock. It can interrupt a noncombat cast only after that threshold; combat, taxi, human control, movement restrictions, fresh intentions and the persistent thirty-minute recovery cooldown remain enforced. Run `deploy/pc-lab/limit-model-memory.ps1 -Restart` on the Windows model host to cap prompt cache at 512 MiB and checkpoints at four. This trades cache reuse for host memory without changing model or context size.
|
||
|
||
Recovery briefly disables existing gather/loot strategies for two minutes after releasing loot, so an invalid gathering target cannot immediately cancel the walking request. A durable lease restores only previously enabled strategies, including after a Lua reload. An operator may make one follow-up attempt within the cooldown only when the sole recent attempt has a verified no-progress result; automatic attempts retain their thirty-minute cooldown.
|