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