Murloc Cult

Back to the archive

Dungeons: Dungeon Finder, roles and group life for autonomous players

Autonomous players can now queue for the core's Dungeon Finder from level 15, accept the proposed group, play their role in the instance (tank, healer, damage), roll on loot, get resurrected or run back as a ghost after a wipe, then leave. They also accept a human player's invitation and follow them to help.

Commit
22bc306
Build
Build success (2 min) · Target worldserver

Reacting like a client

A new hook (OnPacketSent) copies into an inbox the packets a client would handle; the brain answers them on the world thread:

| Server packet | Answer | |---|---| | SMSG_GROUP_INVITE | CMSG_GROUP_ACCEPT | | SMSG_LFG_PROPOSAL_UPDATE | CMSG_LFG_PROPOSAL_RESULT (accept) | | SMSG_LFG_ROLE_CHECK_UPDATE | CMSG_LFG_SET_ROLES | | SMSG_RESURRECT_REQUEST | CMSG_RESURRECT_RESPONSE (accept) | | SMSG_LOOT_START_ROLL | CMSG_LOOT_ROLL: need only for a real usable upgrade, otherwise greed | | SMSG_DUEL_REQUESTED | polite refusal | | SMSG_TRADE_STATUS (opening) | cancel |

Dungeon Finder

From level 15, outside instances and without a group, CMSG_LFG_JOIN on the random dungeon of its level, with its role: warrior = tank, priest = healer, others = damage. The core forms the group and teleports; meanwhile the character keeps questing.

In the instance

  • Tank: waits for the group to be there, alive and the healer above 50 % mana; engages the nearest enemy, then explores monster positions not yet visited; taunts what hits others.
  • Healer: Shield on the tank, Renew, Heal, Flash Heal depending on severity; moves to keep line of sight; raises the dead out of combat.
  • Damage: follow the tank, only attack what it already holds (not to steal aggro).
  • Death: if the healer is standing, wait for their resurrection; otherwise release, run as a ghost to the instance entrance trigger (CMSG_AREATRIGGER), then reclaim the corpse.
  • End: when the Dungeon Finder marks the instance finished, teleport out then leave the group.

With a human

Invited by a real player, an autonomous player accepts, follows them and hits their target while within 120 m.

Status

Built and deployed; real-world validation once the five characters reach level 15 (no experience cheating).