The MudOS mudlib comes with a rudimentary guild system. This file explains how it works and gives some ideas of directions you might want to take it. Players have skills which increase with use. In addition, players might like to train in their skills (so that they'll have decent ones when they actually go into combat instead of all 0s). The guils that come with the default mudlib permit this. The standard guild object is /std/guild.c, and it defines two commands. The first lists all skills that can be trained at that guild and the costs of training in them. The second trains the player in a particular skill. The default mudlib comes with a fighter's guild which trains in combat skills and first aid, a mage's guild which trains in spellcasting, and a theives guild which trains in theft, stealth, and first aid. The cost of training in a skill is determined in the standard guild object. In the default mudlib, it is set up so that training a skill costs 5 sp for each skill use it takes to advance the skill by use. (See the skills document for more details). Thus, the cost of training is proportional to N where N is the level being trained; high levels cost more to train than low levels. You can change this formula, and in fact there's no need for there to be any relationship between skill uses and the cost of training. We chose to set it up that way, but if you prefer another cost formula then you should feel free to implement it. Another thing you might want to do is have skill training cost different amounts at different guilds, perhaps to reflect differences in the quality of instruction. You can do this by changing the cost_of_skill() function in each guild: you probably would want to remove the cost_of_skill() function from the standard guild and have each guild define its own (don't forget to prototype it in the standard guild), although you could probably do it by overwriting the inherited function if you wanted to. Each guild can train in any subset of the skills, or in all of them. Another thing to note is that more than one guild can train in a given skill: both the fighter's and thieves guild train in first aid. Thus, you could make two rival magic-user's guilds, each training the same skills. In the default mudlib, any player can train at any guild: there is no system of guild membership. However, you can easily add it if you so desire. Just add a property to the player object called "guild_member" and have each guild check that the guild_member property is set appropriately before permitting training (or possibly entry). You'll need to add a facility for joining the guild in the first place. You can also have branch guilds; that is, you can have two guilds (in different towns) that check for the same guild membership. You can have competing guilds each with rival branches in each town in the MUD... Another thing you might want to do is have special guild skills which only guild members can learn. This is easy to do by using the set_skill() lfun. When the player is created, he doesn't get the guild skill, but it is set_skill()ed into him when he joins the guild, and thereafter he may train in it (presumably only at the guild he belongs to). You must, however, make sure that only guild members can access the commands which use the guild skills. One thing you might do in this line is have a special guild spell. You would want to implement a system of spell learning (see the document on magic) and then you could create a spell which could only be learned at the guild. Since you couldn't cast the spell without joining the guild to learn it, only guild members could use the special spell's skill: players not in the guild couldn't cast the spell to use the skill. Similarly, you could implement a special command (perhaps backstab for an assassin's guild) that would specifically check the player's guild membership and only allow the player to "backstab" if he belongs to the guild. These are only a few things you can do with the standard guilds and we expect that clever MUD wizards will think of more and better ones. If you do, please come back to TMI and post a note on the main board telling us what you did with your guilds and, if you are willing, telling us how you went about coding it. Guild systems are one of the best outlets for creativity in MUDDing and for giving your MUD a unique flavor and we'd like to see what people are doing so that we can in turn make the standard mudlib objects easier to use. Mobydick 11-20-92