Current Guild Map

The legacy guild system is string-driven and unevenly wired. A fully live guild usually has a name in GUILD_NAMES, a restriction row in guildd.c, a soul object that adds command paths, in-game help under /doc/guild, and a soul path in GUILD_D->query_guild_soul_path() so missing guild objects can be repaired.

The current implementation should be treated as evidence, not a clean spec. Some names are fully playable systems, some are old prototypes, and some are registry placeholders.

Live GuildD Soul Paths

These guilds have explicit repair paths in setup_guild_soul_paths() and are the most reliable picture of what the game currently expects to keep alive.

GuildCode rootSoulCommandsHelp
Bard/guilds/bard/guilds/bard/obj/bardsoul/cmds/guilds/bard/doc/guild/bard
Cleric_Mitra/guilds/mitra/guilds/mitra/mitra_soul/cmds/guilds/mitra/doc/guild/clericmitra
Dragon/guilds/dragon/guilds/dragon/obj/dragon_so/cmds/guilds/dragon/doc/guild/dragon
Druid/guilds/druid/guilds/druid/objects/druid_soul/cmds/guilds/druid/doc/guild/druid
Fighter/guilds/fighter/guilds/fighter/fighter_soul/cmds/guilds/fighter/doc/guild/fighter
Garou/guilds/were/guilds/were/guild_ob/cmds/guilds/garou/doc/guild/garou
Lunar/guilds/lunar/guilds/lunar/objects/lunar_soul/cmds/guilds/lunar/doc/guild/lunar
Mage/guilds/mage/guilds/mage/magesoul/cmds/guilds/mage/doc/guild/mage
Monk/guilds/monk/guilds/monk/monk_soul/cmds/guilds/monk/doc/guild/monks
Necro/guilds/necro/guilds/necro/guild_soul/cmds/guilds/necro/doc/guild/necro
Ninja/guilds/ninja/guilds/ninja/guild_soul/cmds/guilds/ninja/doc/guild/ninja
Paladin/guilds/paladin/guilds/paladin/obj/paladin_soul/cmds/guilds/paladin/doc/guild/paladin
Priest/guilds/priest/guilds/priest/guild_soul/cmds/guilds/priest/doc/guild/priest
Psionicist/guilds/psion/guilds/psion/objects/p_soul/cmds/guilds/psion/doc/guild/psionicist
Ranger/guilds/ranger/guilds/ranger/ranger_soul/cmds/guilds/ranger/doc/guild/ranger
Swashbuckler/guilds/swashbuckler/guilds/swashbuckler/guild_soul/cmds/guilds/swashbuckler/doc/guild/swashbuckler
Thief/guilds/thief/guilds/thief/thief_so/cmds/guilds/thief/doc/guild/thief

Registry Shape

GUILD_NAMES currently includes the standard guilds plus mythic or later-era guilds:

  • Standard/old alignment guilds: Bard, Berserker, Cleric_Mitra, Fighter, Garou, Lunar, Mage, Ninja, Paladin, Priest, Psionicist, Swashbuckler, Thief.
  • Mythic/later-era guilds: Ubergarou, BattleMage, BloodMage, Deathknight, Dragon, Druid, Glyph, Monk, Morpher, Necro, Ranger, Samurai, Vampire.

The alignment model is still visible in dual-guild rules:

  • Neutral: Bard, Berserker, Fighter, Psionicist, Swashbuckler.
  • Gaea: Druid, Garou, Lunar, Ninja.
  • Mitra: Cleric_Mitra, Mage, Paladin.
  • Set: Priest, Thief.

Several later guilds opt out of dualing entirely. Dragon, Monk, Morpher, Necro, and Vampire all have empty dual-allow lists.

Implementation Patterns

Guild souls are wearable or inventory objects. They call CMD_D->add_path() for guild command directories, connect the player to channels, provide login/logout messages, and often hold persistent guild state.

Guild identity is stored by string name on the player. That makes name drift important: Ubergarou and UberGarou both appear, Cleric_Mitra uses a code root named mitra, and the current Set guild is Priest while older Set code still exists under /guilds/set.

GUILD_D is the shared enforcement point for equipment restrictions, guild entrances, combat modifiers, HP/SP formulas, and the soul repair map. A guild can have a large code tree and still be effectively disconnected if it is not present in the soul path or entrance maps.

The old in-game help files are often more complete than the implementation headers. Treat them as player-facing intent, then verify against souls, commands, and GUILD_D before relying on a detail.

Known Inconsistencies

  • CHARLATAN currently aliases BARD in guildd.h, but a separate Charlatan tree, command set, help tree, and entrance still exist.
  • Samurai appears in GUILD_NAMES, but it is missing from the GUILD_FIELDS mapping used elsewhere and has no GuildD soul repair path.
  • Morpher has substantial code and commands, but no GuildD soul repair path or default entrance route.
  • Druid help lists powers beyond the max level declared in guildd.h.
  • Deathknight has entrance references for Souvrael and Kerei, but no matching top-level guild tree in this checkout.
  • Vampire, BloodMage, UberGarou, and Berserker have registry traces but no complete current guild tree wired like the live guilds.