God Worship Snippet Version 1.0 This is my first snippet ever made that ever worked for me so please feel free to use it at will. Where there are + do no add those lines, they are marked to let you know where to stick them in. ***act_info.c*** Look for do_score and find the similar lines. + if (get_trust (ch) != ch->level) + { + sprintf (buf, "You are trusted at level %d.\n\r", get_trust (ch)); + send_to_char (buf, ch); + } sprintf (buf, "You worship %s.\n\r", god_table[ch->god].name); send_to_char (buf, ch); + sprintf (buf, "Race: %s Sex: %s Class: %s\n\r", + race_table[ch->race].name, + ch->sex == 0 ? "sexless" : ch->sex == 1 ? "male" : "female", + IS_NPC (ch) ? "mobile" : class_table[ch->class].name); + send_to_char (buf, ch); ***const.c*** const struct god_type god_table [] = { { "God1"}, { "God2"}, { "God3"}, { "God4"}, }; Add before this line + const struct pc_race_type pc_race_table[] = { ***handler.c or lookup.c*** Add down at the bottom int god_lookup (const char *name) { int god; for (god = 0; god < MAX_GOD; god++) { if (LOWER (name[0]) == LOWER (god_table[god].name[0]) && !str_prefix (name, god_table[god].name)) return god; } return -1; } ***merc.h*** Find the similar lines + #define MAX_LEVEL 60 + #define LEVEL_HERO (MAX_LEVEL - 9) + #define LEVEL_IMMORTAL (MAX_LEVEL - 8) #define MAX_GOD 20 + #define CON_NOTE_TEXT 8 + #define CON_NOTE_FINISH 9 #define CON_GET_NEW_GOD 25 struct god_type { char * name; }; Add before this line + struct class_type In char_data sh_int god; Add where all the other ones are + extern struct social_type social_table [MAX_SOCIALS]; + extern char * const title_table [MAX_CLASS] [MAX_LEVEL+1] [2]; extern const struct god_type god_table [MAX_GOD]; Add in prototypes of handler.c or lookup.c + char * comm_bit_name args( ( int comm_flags ) ); + char * cont_bit_name args( ( int cont_flags) ); int god_lookup args( ( const char *name) ); ***comm.c or nanny.c*** + case CON_GET_NEW_CLASS: + iClass = class_lookup (argument); + + if (iClass == -1) + { + send_to_desc ("That's not a class.\n\rWhat IS your class? ", + d); + return; + } + + ch->class = iClass; + + sprintf (log_buf, "%s@%s new player.", ch->name, d->host); + log_string (log_buf); + wiznet ("Newbie alert! $N sighted.", ch, NULL, WIZ_NEWBIE, 0, 0); + wiznet (log_buf, NULL, NULL, WIZ_SITES, 0, get_trust (ch)); write_to_buffer (d, echo_on_str, 0); send_to_desc ("The following gods are available:\n\r ", d); for (god = 0; god_table[god].name != NULL; god++) { if (!god_table[god].name) break; write_to_buffer (d, god_table[god].name, 0); write_to_buffer (d, " ", 1); } write_to_buffer (d, "\n\r", 0); send_to_desc ("What is your race (help for more information)? ", d); d->connected = CON_GET_NEW_GOD; break; case CON_GET_NEW_GOD: god = god_lookup (argument); if (god == 0 || !god_table[god].name) { send_to_desc ("That is not a valid god.\n\r", d); send_to_desc ("The following gods are available:\n\r ", d); for (god = 0; god_table[god].name != NULL; god++) { if (!god_table[god].name) break; write_to_buffer (d, god_table[god].name, 0); write_to_buffer (d, " ", 1); } write_to_buffer (d, "\n\r", 0); send_to_desc ("What is your god? (help for more information) ", d); break; } write_to_buffer (d, "\n\r", 2); send_to_desc ("You may be good, neutral, or evil.\n\r", d); send_to_desc ("Which alignment (G/N/E)? ", d); d->connected = CON_GET_ALIGNMENT; break; + case CON_GET_ALIGNMENT: ***save.c*** In fread_char + fprintf (fp, "Cla %d\n", ch->class); fprintf (fp, "God %d\n", ch->god); + fprintf (fp, "Levl %d\n", ch->level); In fread_char + case 'G': KEY ("God", ch->god, fread_number (fp)); + KEY ("Gold", ch->gold, fread_number (fp)); It's probably poor instructions trying to add them in, also I am not the greatest of coders so don't send me junk mail that I could have done it better blah blah blah, you get what I mean. If you have trouble installing the snippet feel free to e-mail me at tagman@froggy.com.au