UNNOFICIAL Zen's EnvyMud patch Release 0.87j! (Ultra Envy2.2) Wednesday, 10th December 1997 Zen vasc@camoes.rnl.ist.utl.pt === Clans code changes The old clans code has been thrown out trough the window. The new code is such a mix of several clan implementation's ideas i can't quite remind of them. However i must say: it is very close to the SMAUG clans system tough a bit more complex. Most clans code is in act_clan.c, but file load/saving is in tables.c === The fundamental structures in memory are ++ The clans linked memory list ++ struct clan_data { CLAN_DATA * next; /* next clan in list */ char * filename; /* Clan filename */ char * who_name; /* Clan who name */ char * name; /* Clan name */ char * motto; /* Clan motto */ char * description; /* A brief description of the clan */ char * overlord; /* Head clan leader */ char * chieftain; /* Second in command */ int pkills; /* Number of pkills on behalf of clan */ int pdeaths; /* Number of pkills against clan */ int mkills; /* Number of mkills on behalf of clan */ int mdeaths; /* Number of clan deaths due to mobs */ int illegal_pk; /* Number of illegal pk's by clan */ int score; /* Overall score */ int clan_type; /* See clan type defines */ int subchiefs; /* Number of subchiefs */ int clanheros; /* Number of clanheros */ int members; /* Number of clan members */ int clanobj1; /* Vnum of first clan obj (ring) */ int clanobj2; /* Vnum of second clan obj (shield) */ int clanobj3; /* Vnum of third clan obj (weapon) */ int recall; /* Vnum of clan's recall room */ int donation; /* Vnum of clan's donation pit */ int class; /* For guilds */ }; ++ The player (pcdata) clan info data structures ++ CLAN_DATA *ch->pcdata->clan /* pointer to player's clan */ int ch->pcdata->rank /* clan rank bits */ RANK_NONE 0 /* Doesn't have a clan */ RANK_EXILED 1 /* Exiled from a clan */ RANK_CLANSMAN 2 /* Foot soldier */ RANK_CLANHERO 3 /* Knight */ RANK_SUBCHIEF 4 /* Knight Lord */ RANK_CHIEFTAIN 5 /* Second in command */ RANK_OVERLORD 6 /* Head clan leader */ === Rules & info on clan system A clan may be of 4 types: regular (PKILL), no PKILL, Order or Guild like in SMAUG. However the rank system is more complex; (from top to bottom) you have 5 ranks: Overlord, Chieftain, Subchief, Clanhero, Clansman. There may only be 1 Overlord of course, he may "exile", "promote" and "demote" his fellow clansmen. Both the Overlord and Chieftain may "initiate" players into the clan. There may only be 1 Chieftain. But some rules are required in this chaos; so you need enough members to have new officers: Chieftain: 9 members required, max 1 Subchief: 6 members required, max unlimited Clanhero: 3 members required, max unlimited Clansman: no limits, you may have as many foot soldiers has you want. As they rise trough the ranks, clansmen get clan prizes: Clan Ring: upon promotion to Clanhero Clan Shield: upon promotion to Subchief Clan Weapon: upon promotion to Chieftain Of course this system needs several improvements like clan score for example. With added score you could get more rooms for your clan or a special spec_healer type program for example. Of course these limits are too small for a large mud. However since here we shouldn't have too many players (when and if i get a place in a mud team) i find these limits reasonable. - Zen