Here is the code, Just replace your CON_GET_ALIGNMENT through the first
d->connected = CON_READ_MOTD; like the one at the end of this email.
Note, In the WEAPONS_CHOICE, I have send_to_desc instead of
write_to_buffer since I use color when creating chars. You'll have to
change that back to stock.
case CON_GET_ALIGNMENT:
switch( argument[0])
{
case 'g' : case 'G' : ch->alignment = 750; break;
case 'n' : case 'N' : ch->alignment = 0; break;
case 'e' : case 'E' : ch->alignment = -750; break;
default:
write_to_buffer(d,"That's not a valid alignment.\n\r",0);
write_to_buffer(d,"Which alignment (G/N/E)? ",0);
d->connected = CON_GET_WEAPONSHOICE;
return;
}
case CON_GET_WEAPONSHOICE:
do_help( ch, "WEAPONCHOICE" );
group_add(ch,"rom basics",FALSE);
group_add(ch,class_table[ch->class].base_group,FALSE);
group_add(ch,class_table[ch->class].default_group,TRUE);
ch->pcdata->learned[gsn_recall] = 50;
send_to_desc(
"{gPlease pick a weapon from the following choices:{w\n\r",d);
buf[0] = '\0';
for ( i = 0; weapon_table[i].name != NULL; i++)
if (ch->pcdata->learned[*weapon_table[i].gsn] > 0)
{
strcat(buf,weapon_table[i].name);
strcat(buf," ");
}
strcat(buf,"\n\r{gYour choice?{x ");
send_to_desc(buf,d);
d->connected = CON_PICK_WEAPON;
break;
case CON_PICK_WEAPON:
write_to_buffer(d,"\n\r",2);
weapon = weapon_lookup(argument);
if (weapon == -1 || ch->pcdata->learned[*weapon_table[weapon].gsn] <= 0)
{
write_to_buffer(d,
"{gThat's not a valid selection. Choices are:{x\n\r",0);
buf[0] = '\0';
for ( i = 0; weapon_table[i].name != NULL; i++)
if (ch->pcdata->learned[*weapon_table[i].gsn] > 0)
{
strcat(buf,weapon_table[i].name);
strcat(buf," ");
}
strcat(buf,"\n\r{gYour choice?{x ");
send_to_desc(buf,d);
return;
}
ch->pcdata->learned[*weapon_table[weapon].gsn] = 40;
write_to_buffer(d,"\n\r",2);
do_function(ch, &do_help, "motd");
d->connected = CON_READ_MOTD;
break;