
void do_gain(CHAR_DATA * ch, char *argument)
{
char arg[MAX_INPUT_LENGTH];
char buf[MAX_STRING_LENGTH];
argument = one_argument(argument, arg);
if (IS_NPC(ch))
return;
if (!IS_CLASS(ch, CLASS_UNDEAD_KNIGHT))
{
send_to_char("Huh.\n\r", ch);
return;
}
if (arg[0] == '\0')
{
if (ch->pcdata->powers[INVOCATION] == 0)
send_to_char(" #DInvocation #D[#R*****#D]#n\n\r",ch);
if (ch->pcdata->powers[INVOCATION] == 1)
send_to_char(" #DInvocation #D[#G*#R****#D]#n\n\r",ch);
if (ch->pcdata->powers[INVOCATION] == 2)
send_to_char(" #DInvocation #D[#G**#R***#D]#n\n\r",ch);
if (ch->pcdata->powers[INVOCATION] == 3)
send_to_char(" #DInvocation #D[#G***#R**#D]#n\n\r",ch);
if (ch->pcdata->powers[INVOCATION] == 4)
send_to_char(" #DInvocation #D[#G****#R*#D]#n\n\r",ch);
if (ch->pcdata->powers[INVOCATION] == 5)
send_to_char(" #DInvocation #D[#G*****#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 0)
send_to_char(" #DNecromancy #D[#R**********#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 1)
send_to_char(" #DNecromancy #D[#G*#R*********#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 2)
send_to_char(" #DNecromancy #D[#G**#R********#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 3)
send_to_char(" #DNecromancy #D[#G***#R*******#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 4)
send_to_char(" #DNecromancy #D[#G****#R******#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 5)
send_to_char(" #DNecromancy #D[#G*****#R*****#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 6)
send_to_char(" #DNecromancy #D[#G******#R****#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 7)
send_to_char(" #DNecromancy #D[#G*******#R***#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 8)
send_to_char(" #DNecromancy #D[#G********#R**#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 9)
send_to_char(" #DNecromancy #D[#G*********#R*#D]#n\n\r",ch);
if (ch->pcdata->powers[NECROMANCY] == 10)
send_to_char(" #DNecromancy #D[#G**********#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 0)
send_to_char(" #DSpirit #D[#R**********#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 1)
send_to_char(" #DSpirit #D[#G*#R*********#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 2)
send_to_char(" #DSpirit #D[#G**#R********#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 3)
send_to_char(" #DSpirit #D[#G***#R*******#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 4)
send_to_char(" #DSpirit #D[#G****#R******#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 5)
send_to_char(" #DSpirit #D[#G*****#R*****#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 6)
send_to_char(" #DSpirit #D[#G******#R****#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 7)
send_to_char(" #DSpirit #D[#G*******#R***#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 8)
send_to_char(" #DSpirit #D[#G********#R**#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 9)
send_to_char(" #DSpirit #D[#G*********#R*#D]#n\n\r",ch);
if (ch->pcdata->powers[SPIRIT] == 10)
send_to_char(" #DSpirit #D[#G**********#D]#n\n\r",ch);
send_to_char("\n\r #cGain command costs Primal. (#yTrain Primal#c)#n \n\r",ch);
send_to_char(" #cWhat path of power do you wish to increase? [#wnecromancy,invocation,spirit#c]#n\n\r",ch);
return;
}
if (!str_cmp(arg, "necromancy")) /* most powers over death */
{
if (ch->pcdata->powers[NECROMANCY] > 9)
{
send_to_char
("You have mastered the art of necromancy.\n\r",
ch);
return;
}
else if (ch->practice <
ch->pcdata->powers[NECROMANCY] * 60 + 60)
{
send_to_char
("Your control over the forces of life and death is not powerful enough.\n\r",
ch);
return;
}
else
{
ch->practice -=
ch->pcdata->powers[NECROMANCY] * 60 + 60;
send_to_char
("Death and life is yours to command.\n\r",
ch);
ch->pcdata->powers[NECROMANCY] += 1;
return;
}
}
else if (!str_cmp(arg, "invocation")) /* attacks like powerwords */
{
if (ch->pcdata->powers[INVOCATION] > 4)
{
send_to_char
("You have mastered the art of invocation.\n\r",
ch);
return;
}
else if (ch->practice <
ch->pcdata->powers[INVOCATION] * 60 + 60)
{
send_to_char
("You are not ready to advance in your magical studies.\n\r",
ch);
return;
}
else
{
ch->practice -=
ch->pcdata->powers[INVOCATION] * 60 + 60;
send_to_char
("Your mastery of the ancient arts increase.\n\r",
ch);
ch->pcdata->powers[INVOCATION] += 1;
return;
}
}
else if (!str_cmp(arg, "spirit")) /* toughness */
{
if (ch->pcdata->powers[UNDEAD_SPIRIT] > 9)
{
send_to_char
("You have completely bound your spirit to this vessel.\n\r",
ch);
return;
}
if (ch->practice <
ch->pcdata->powers[UNDEAD_SPIRIT] * 60 + 60)
{
send_to_char
("You are not ready to bind more of your spirit yet.\n\r",
ch);
return;
}
else
{
ch->practice -=
ch->pcdata->powers[UNDEAD_SPIRIT] * 60 + 60;
send_to_char
("You channel more of your spirit from the abyss into this body.\n\r",
ch);
ch->pcdata->powers[UNDEAD_SPIRIT] += 1;
return;
}
}
return;
}