cotn25/area/
cotn25/src/

/*********************************************
 * Hybrid Power Gaining File -Xrakisis       *
 *********************************************/

#if defined(macintosh)
#include <types.h>
#else
#include <sys/types.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "merc.h"

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA


void do_hsoldiergain (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_HELLS_SOLDIER))
  {
    send_to_char("Huh.\n\r",ch);
    return;
  }
  if (arg[0] == '\0')
  {
    sprintf(buf, "Demon powers    : #oHell [#r%d#o]       Atta [#r%d#o]       Temp[#r%d#o]       Morp[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_HELL], ch->power[DISC_DAEM_ATTA], 
      ch->power[DISC_DAEM_TEMP], ch->power[DISC_DAEM_MORP]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oCorr [#r%d#o]       Gelu [#r%d#o]       Disc[#r%d#o]       Neth[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_CORR], ch->power[DISC_DAEM_GELU], 
      ch->power[DISC_DAEM_DISC], ch->power[DISC_DAEM_NETH]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oImmu [#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_IMMU]);
    send_to_char(buf,ch);
    sprintf(buf, "Assassin powers : #LPower [#r%d#L]       Combat [#r%d#L]         Knowledge [#r%d#L]#n\n\r",
      ch->pcdata->powers[ASSASSIN_POWER], ch->pcdata->powers[ASSASSIN_COMBAT], ch->pcdata->powers[ASSASSIN_KNOWLEDGE]);
    send_to_char(buf,ch);


    return;
    }

  if (!str_cmp(arg,"hell"))  
  {
    if (ch->power[DISC_DAEM_HELL]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_HELL] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_HELL] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_HELL] += 1;
      return;
    }
  }
//            victim->power[DISC_DAEM_HELL] = value;
//            victim->power[DISC_DAEM_ATTA] = value;
   if (!str_cmp(arg,"atta"))  
  {
    if (ch->power[DISC_DAEM_ATTA]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_ATTA] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_ATTA] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_ATTA] += 1;
      return;
    }
  }
//            victim->power[DISC_DAEM_TEMP] = value;
    if (!str_cmp(arg,"temp"))  
  {
    if (ch->power[DISC_DAEM_TEMP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_TEMP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_TEMP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_TEMP] += 1;
      return;
    }
  }  
//          victim->power[DISC_DAEM_MORP] = value;
  if (!str_cmp(arg,"morp"))  
  {
    if (ch->power[DISC_DAEM_MORP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_MORP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_MORP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_MORP] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_CORR] = value;
  if (!str_cmp(arg,"corr"))  
  {
    if (ch->power[DISC_DAEM_CORR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_CORR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_CORR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_CORR] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_GELU] = value;
  if (!str_cmp(arg,"gelu"))  
  {
    if (ch->power[DISC_DAEM_GELU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_GELU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_GELU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_GELU] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_DISC] = value;
  if (!str_cmp(arg,"disc"))  
  {
    if (ch->power[DISC_DAEM_DISC]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_DISC] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_DISC] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_DISC] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_NETH] = value;
  if (!str_cmp(arg,"neth"))  
  {
    if (ch->power[DISC_DAEM_NETH]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_NETH] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_NETH] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_NETH] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_IMMU] = value;
  if (!str_cmp(arg,"immu"))  
  {
    if (ch->power[DISC_DAEM_IMMU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_IMMU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_IMMU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_IMMU] += 1;
      return;
    }
  }

  else if (!str_cmp(arg, "combat"))
  {
    if (ch->pcdata->powers[ASSASSIN_COMBAT] > 4)
    {
      send_to_char("You already have all 5 levels of combat.\n\r",ch);
      return;
    }

    if (ch->practice < (ch->pcdata->powers[ASSASSIN_COMBAT]+1)*150)
    {
      send_to_char("You don't have enough primal.\n\r",ch);
      return;
    }
    ch->pcdata->powers[ASSASSIN_COMBAT]++;
    ch->practice -= ch->pcdata->powers[ASSASSIN_COMBAT]*150;
    send_to_char("Your understanding of combat has become more powerful.\n\r",ch);
  }


  else if (!str_cmp(arg, "knowledge"))
  {
    if (ch->pcdata->powers[ASSASSIN_KNOWLEDGE] > 4)
    {
      send_to_char("You already have all 5 levels of knowledge.\n\r",ch);
      return;
    }

    if (ch->practice < (ch->pcdata->powers[ASSASSIN_KNOWLEDGE]+1)*150)
    {
      send_to_char("You don't have enough primal.\n\r",ch);
      return;
    }
    ch->pcdata->powers[ASSASSIN_KNOWLEDGE]++;
    ch->practice -= ch->pcdata->powers[ASSASSIN_KNOWLEDGE]*150;
    send_to_char("Your understanding of knowledge has become more powerful.\n\r",ch);
  }
  
   else if (!str_cmp(arg, "power"))
  {
    if (ch->pcdata->powers[ASSASSIN_POWER] > 9)
    {
      send_to_char("You already have all 10 levels of power.\n\r",ch);
      return;
    }

    if (ch->practice < (ch->pcdata->powers[ASSASSIN_POWER]+1)*150)
    {
      send_to_char("You don't have enough primal.\n\r",ch);
      return;
    }
    ch->pcdata->powers[ASSASSIN_POWER]++;
    ch->practice -= ch->pcdata->powers[ASSASSIN_POWER]*150;
    send_to_char("You have become more powerful.\n\r",ch);
  }

  else
  {
    send_to_char("Sorry, you cannot learn this.\n\r",ch);
    return;
  }

  return;
}

void do_ulgain (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_LYCAN) )
  {
    send_to_char("Huh.\n\r",ch);
    return;
  }
  if (arg[0] == '\0')
  {
    sprintf(buf, "WereWolf powers : #oBear [#r%d#o]       Lynx [#r%d#o]       Boar[#r%d#o]       Owl[#r%d#o]#n\n\r",
      ch->power[DISC_WERE_BEAR], ch->power[DISC_WERE_LYNX], 
      ch->power[DISC_WERE_BOAR], ch->power[DISC_WERE_OWL]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oSpider [#r%d#o]       Wolf [#r%d#o]       Hawk[#r%d#o]       Mantis[#r%d#o]#n\n\r",
      ch->power[DISC_WERE_SPID], ch->power[DISC_WERE_WOLF], 
      ch->power[DISC_WERE_HAWK], ch->power[DISC_WERE_MANT]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oRaptor [#r%d#o]       Luna [#r%d#o]       Pain[#r%d#o]       Congregation[#r%d#o]#n\n\r",
      ch->power[DISC_WERE_RAPT], ch->power[DISC_WERE_LUNA], 
      ch->power[DISC_WERE_PAIN], ch->power[DISC_WERE_CONG]);
    send_to_char(buf,ch);
    sprintf(buf, "Vampire powers  : #oFort [#r%d#o]       Cele [#r%d#o]       Obte[#r%d#o]       Pres[#r%d#o]#n\n\r",
      ch->power[DISC_VAMP_FORT], ch->power[DISC_VAMP_CELE], 
      ch->power[DISC_VAMP_OBTE], ch->power[DISC_VAMP_PRES]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oQuie [#r%d#o]       Thau [#r%d#o]       Ausp[#r%d#o]      Domi[#r%d#o]#n\n\r",
      ch->power[DISC_VAMP_QUIE], ch->power[DISC_VAMP_THAU], 
      ch->power[DISC_VAMP_AUSP], ch->power[DISC_VAMP_DOMI]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oObfu [#r%d#o]       Prot [#r%d#o]       Serp[#r%d#o]       Vici[#r%d#o]#n\n\r",
      ch->power[DISC_VAMP_OBFU], ch->power[DISC_VAMP_PROT], 
      ch->power[DISC_VAMP_SERP], ch->power[DISC_VAMP_VICI]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oDaim [#r%d#o]       Anim [#r%d#o]       Chim[#r%d#o]       Melp[#r%d#o]#n\n\r",
      ch->power[DISC_VAMP_DAIM], ch->power[DISC_VAMP_ANIM], 
      ch->power[DISC_VAMP_CHIM], ch->power[DISC_VAMP_MELP]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oNecr [#r%d#o]       Than [#r%d#o]       Obea[#r%d#o]#n\n\r",
      ch->power[DISC_VAMP_NECR], ch->power[DISC_VAMP_THAN], 
      ch->power[DISC_VAMP_OBEA]);
    send_to_char(buf,ch);
    send_to_char("Choose a Undead Lycan Discipline to Increase.\n\r",ch);
    return;
  }

/*
	    ch->power[DISC_VAMP_SERP] = -2;
	    ch->power[DISC_VAMP_VICI] = -2;
	    ch->power[DISC_VAMP_DAIM] = -2;
	    ch->power[DISC_VAMP_ANIM] = -2;
	    ch->power[DISC_VAMP_CHIM] = -2;
	    ch->power[DISC_VAMP_MELP] = -2;
	    ch->power[DISC_VAMP_NECR] = -2;
	    ch->power[DISC_VAMP_THAN] = -2;
	    ch->power[DISC_VAMP_OBEA] = -2;
DISC_WERE_BEAR_LYNX_BOAR_OWL_SPID_WOLF_HAWK_MANT_RAPT_LUNA_PAIN_CONG

*/

  if (!str_cmp(arg,"bear"))  
  {
    if (ch->power[DISC_WERE_BEAR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_BEAR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_BEAR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_BEAR] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"lynx"))  
  {
    if (ch->power[DISC_WERE_LYNX]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_LYNX] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_LYNX] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_LYNX] += 1;
      return;
    }
  }

  else if (!str_cmp(arg,"boar"))  
  {
    if (ch->power[DISC_WERE_BOAR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_BOAR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_BOAR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_BOAR] += 1;
      return;
    }
  }

  else if (!str_cmp(arg,"owl"))  
  {
    if (ch->power[DISC_WERE_OWL]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_OWL] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_OWL] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_OWL] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"spider"))  
  {
    if (ch->power[DISC_WERE_SPID]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_SPID] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_SPID] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_SPID] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"wolf"))  
  {
    if (ch->power[DISC_WERE_WOLF]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_WOLF] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_WOLF] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_WOLF] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"hawk"))  
  {
    if (ch->power[DISC_WERE_HAWK]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_HAWK] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_HAWK] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_HAWK] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"mantis"))  
  {
    if (ch->power[DISC_WERE_MANT]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_MANT] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_MANT] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_MANT] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"raptor"))  
  {
    if (ch->power[DISC_WERE_RAPT]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_RAPT] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_RAPT] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_RAPT] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"luna"))  
  {
    if (ch->power[DISC_WERE_LUNA]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_LUNA] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_LUNA] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_LUNA] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"pain"))  
  {
    if (ch->power[DISC_WERE_PAIN]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_PAIN] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_PAIN] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_PAIN] += 1;
      return;
    }
  }
  else if (!str_cmp(arg,"cong"))  
  {
    if (ch->power[DISC_WERE_CONG]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_WERE_CONG] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_WERE_CONG] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_WERE_CONG] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"fort"))  
  {
    if (ch->power[DISC_VAMP_FORT]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_FORT] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_FORT] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_FORT] += 1;
      return;
    }
  }
// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"cele"))  
  {
    if (ch->power[DISC_VAMP_CELE]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_CELE] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_CELE] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_CELE] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"obte"))  
  {
    if (ch->power[DISC_VAMP_OBTE]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_OBTE] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_OBTE] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_OBTE] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"pres"))  
  {
    if (ch->power[DISC_VAMP_PRES]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_PRES] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_PRES] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_PRES] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"quie"))  
  {
    if (ch->power[DISC_VAMP_QUIE]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_QUIE] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_QUIE] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_QUIE] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"thau"))  
  {
    if (ch->power[DISC_VAMP_THAU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_THAU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_THAU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_THAU] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"ausp"))  
  {
    if (ch->power[DISC_VAMP_AUSP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_AUSP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_AUSP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_AUSP] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"domi"))  
  {
    if (ch->power[DISC_VAMP_DOMI]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_DOMI] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_DOMI] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_DOMI] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"obfu"))  
  {
    if (ch->power[DISC_VAMP_OBFU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_OBFU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_OBFU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_OBFU] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"pote"))  
  {
    if (ch->power[DISC_VAMP_POTE]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_POTE] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_POTE] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_POTE] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"prot"))  
  {
    if (ch->power[DISC_VAMP_PROT]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_PROT] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_PROT] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_PROT] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"serp"))  
  {
    if (ch->power[DISC_VAMP_SERP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_SERP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_SERP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_SERP] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"vici"))  
  {
    if (ch->power[DISC_VAMP_VICI]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_VICI] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_VICI] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_VICI] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"daim"))  
  {
    if (ch->power[DISC_VAMP_DAIM]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_DAIM] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_DAIM] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_DAIM] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"anim"))  
  {
    if (ch->power[DISC_VAMP_ANIM]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_ANIM] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_ANIM] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_ANIM] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"chim"))  
  {
    if (ch->power[DISC_VAMP_CHIM]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_CHIM] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_CHIM] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_CHIM] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"melp"))  
  {
    if (ch->power[DISC_VAMP_MELP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_MELP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_MELP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_MELP] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"necr"))  
  {
    if (ch->power[DISC_VAMP_NECR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_NECR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_NECR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_NECR] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"than"))  
  {
    if (ch->power[DISC_VAMP_THAN]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_THAN] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_THAN] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_THAN] += 1;
      return;
    }
  }

// VAMP_FORT CELE OBTE_PRES_QUIE_THAU_AUSP
// VAMP_DOMI_OBFU_POTE_PROT_SERP_VICI_DAIM
// VAMP_ANIM_CHIM_MELP_NECR_THAN_OBEA
  else if (!str_cmp(arg,"obea"))  
  {
    if (ch->power[DISC_VAMP_OBEA]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_VAMP_OBEA] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_VAMP_OBEA] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_VAMP_OBEA] += 1;
      return;
    }
  }







  return;
}

void do_shadfiendgain (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_SHADOW_FIEND) )
  {
    send_to_char("Huh.\n\r",ch);
    return;
  }
  if (arg[0] == '\0')
  {
    sprintf(buf, "Demon powers    : #oHell [#r%d#o]       Atta [#r%d#o]       Temp[#r%d#o]       Morp[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_HELL], ch->power[DISC_DAEM_ATTA], 
      ch->power[DISC_DAEM_TEMP], ch->power[DISC_DAEM_MORP]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oCorr [#r%d#o]       Gelu [#r%d#o]       Disc[#r%d#o]       Neth[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_CORR], ch->power[DISC_DAEM_GELU], 
      ch->power[DISC_DAEM_DISC], ch->power[DISC_DAEM_NETH]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oImmu [#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_IMMU]);
    send_to_char(buf,ch);
    sprintf(buf, "Wraith powers : #RHate [#7%d#R] Chaos [#7%d#R] Wrath [#7%d#R] Destruction [#7%d#R]\n\r",
      ch->pcdata->powers[WRAITH_HATE], ch->pcdata->powers[WRAITH_CHAOS],
      ch->pcdata->powers[WRAITH_WRATH], ch->pcdata->powers[WRAITH_DESTRUCTION]);
    send_to_char(buf,ch);
    return;
    }

  if (!str_cmp(arg,"hell"))  
  {
    if (ch->power[DISC_DAEM_HELL]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_HELL] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_HELL] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_HELL] += 1;
      return;
    }
  }
//            victim->power[DISC_DAEM_HELL] = value;
//            victim->power[DISC_DAEM_ATTA] = value;
   if (!str_cmp(arg,"atta"))  
  {
    if (ch->power[DISC_DAEM_ATTA]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_ATTA] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_ATTA] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_ATTA] += 1;
      return;
    }
  }
//            victim->power[DISC_DAEM_TEMP] = value;
    if (!str_cmp(arg,"temp"))  
  {
    if (ch->power[DISC_DAEM_TEMP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_TEMP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_TEMP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_TEMP] += 1;
      return;
    }
  }  
//          victim->power[DISC_DAEM_MORP] = value;
  if (!str_cmp(arg,"morp"))  
  {
    if (ch->power[DISC_DAEM_MORP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_MORP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_MORP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_MORP] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_CORR] = value;
  if (!str_cmp(arg,"corr"))  
  {
    if (ch->power[DISC_DAEM_CORR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_CORR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_CORR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_CORR] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_GELU] = value;
  if (!str_cmp(arg,"gelu"))  
  {
    if (ch->power[DISC_DAEM_GELU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_GELU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_GELU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_GELU] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_DISC] = value;
  if (!str_cmp(arg,"disc"))  
  {
    if (ch->power[DISC_DAEM_DISC]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_DISC] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_DISC] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_DISC] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_NETH] = value;
  if (!str_cmp(arg,"neth"))  
  {
    if (ch->power[DISC_DAEM_NETH]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_NETH] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_NETH] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_NETH] += 1;
      return;
    }
  }

//            victim->power[DISC_DAEM_IMMU] = value;
  if (!str_cmp(arg,"immu"))  
  {
    if (ch->power[DISC_DAEM_IMMU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_IMMU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_IMMU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_IMMU] += 1;
      return;
    }
  }

   else if (!str_cmp(arg, "power"))
  {
    if (ch->pcdata->powers[ASSASSIN_POWER] > 9)
    {
      send_to_char("You already have all 10 levels of power.\n\r",ch);
      return;
    }

    if (ch->practice < (ch->pcdata->powers[ASSASSIN_POWER]+1)*150)
    {
      send_to_char("You don't have enough primal.\n\r",ch);
      return;
    }
    else {
    ch->pcdata->powers[ASSASSIN_POWER]++;
    ch->practice -= ch->pcdata->powers[ASSASSIN_POWER]*150;
    send_to_char("You have become more powerful.\n\r",ch);
  }

    return;
  }

   else if (!str_cmp(arg,"hate"))
    {
      if (ch->pcdata->powers[WRAITH_HATE] > 9)
      {
        send_to_char("You can't do that.\n\r",ch);
        return;
      }
      
      if (ch->exp < (ch->pcdata->powers[WRAITH_HATE]+1)*10000000 && ch->expmult < 1)
      {
        send_to_char("You don't have enough exp.\n\r",ch);
        return;
      }
      ch->pcdata->powers[WRAITH_HATE]++;
      gain_exp(ch, -1*ch->pcdata->powers[WRAITH_HATE]*10000000);
      send_to_char("Your hate of others increases.\n\r",ch);
      return;  
    }

   else if (!str_cmp(arg,"wrath"))
    {
      if (ch->pcdata->powers[WRAITH_WRATH] > 9)
      {
        send_to_char("You can't do that.\n\r",ch);
        return;
      }
  
      if (ch->exp < (ch->pcdata->powers[WRAITH_WRATH]+1)*10000000  && ch->expmult < 1)
      {
        send_to_char("You don't have enough exp.\n\r",ch);
        return;
      }
      ch->pcdata->powers[WRAITH_WRATH]++;
      gain_exp(ch, -1* ch->pcdata->powers[WRAITH_WRATH]*10000000);
      send_to_char("Your dark wrath increases.\n\r",ch);
      return;
    }

   else if (!str_cmp(arg,"chaos"))
    {
      if (ch->pcdata->powers[WRAITH_CHAOS] > 9)
      {
        send_to_char("You can't do that.\n\r",ch);
        return;
      }
  
      if (ch->exp < (ch->pcdata->powers[WRAITH_CHAOS]+1)*10000000 && ch->expmult < 1)
      {
        send_to_char("You don't have enough exp.\n\r",ch);
        return;
      }
      ch->pcdata->powers[WRAITH_CHAOS]++;
      gain_exp(ch, -1* ch->pcdata->powers[WRAITH_CHAOS]*10000000);
      send_to_char("You become more chaotic, your every move should be cause for fear.\n\r",ch);
      return;
    }

   else if (!str_cmp(arg,"destruction"))
    {
      if (ch->pcdata->powers[WRAITH_DESTRUCTION] > 9)
      {
        send_to_char("You can't do that.\n\r",ch);
        return;
      }
  
      if (ch->exp < (ch->pcdata->powers[WRAITH_DESTRUCTION]+1)*10000000 && ch->expmult < 1)
      {
        send_to_char("You don't have enough exp.\n\r",ch);
        return;
      }
      ch->pcdata->powers[WRAITH_DESTRUCTION]++;
      gain_exp(ch, -1* ch->pcdata->powers[WRAITH_DESTRUCTION]*10000000);
      send_to_char("Your destructive capabilities increase.\n\r",ch);
      return;
    }



  return;
}

/*
void do_fallen (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_BETRAYER))
  {
    send_to_char("Huh.\n\r",ch);
    return;
  }
  if (arg[0] == '\0')
  {
    sprintf(buf, "Demon powers    : #oHell [#r%d#o]       Atta [#r%d#o]       Temp[#r%d#o]       Morp[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_HELL], ch->power[DISC_DAEM_ATTA], 
      ch->power[DISC_DAEM_TEMP], ch->power[DISC_DAEM_MORP]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oCorr [#r%d#o]       Gelu [#r%d#o]       Disc[#r%d#o]       Neth[#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_CORR], ch->power[DISC_DAEM_GELU], 
      ch->power[DISC_DAEM_DISC], ch->power[DISC_DAEM_NETH]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oImmu [#r%d#o]#n\n\r",
      ch->power[DISC_DAEM_IMMU]);
    send_to_char(buf,ch);
    return;
    }

  if (!str_cmp(arg,"hell"))  
  {
    if (ch->power[DISC_DAEM_HELL]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_HELL] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_HELL] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_HELL] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"atta"))  
  {
    if (ch->power[DISC_DAEM_ATTA]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_ATTA] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_ATTA] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_ATTA] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"temp"))  
  {
    if (ch->power[DISC_DAEM_TEMP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_TEMP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_TEMP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_TEMP] += 1;
      return;
    }
  }  
  if (!str_cmp(arg,"morp"))  
  {
    if (ch->power[DISC_DAEM_MORP]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_MORP] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_MORP] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_MORP] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"corr"))  
  {
    if (ch->power[DISC_DAEM_CORR]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_CORR] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_CORR] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_CORR] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"gelu"))  
  {
    if (ch->power[DISC_DAEM_GELU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_GELU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_GELU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_GELU] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"disc"))  
  {
    if (ch->power[DISC_DAEM_DISC]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_DISC] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_DISC] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_DISC] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"neth"))  
  {
    if (ch->power[DISC_DAEM_NETH]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_NETH] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_NETH] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_NETH] += 1;
      return;
    }
  }
  if (!str_cmp(arg,"immu"))  
  {
    if (ch->power[DISC_DAEM_IMMU]>9)
    {
      send_to_char("You Have Full Power.\n\r",ch);
      return;
    }
    else if (ch->practice < ch->power[DISC_DAEM_IMMU] * 60 + 60)
    {
      send_to_char("You are not ready to increase your power.\n\r",ch);
      return;
    }
    else
    {
      ch->practice -= ch->power[DISC_DAEM_IMMU] * 60 + 60;
      send_to_char("You have become more powerful.\n\r",ch);
      ch->power[DISC_DAEM_IMMU] += 1;
      return;
    }
  }
  else
  {
    send_to_char("Sorry, you cannot learn this.\n\r",ch);
    return;
  }

  return;
}
*/

void do_fallen (CHAR_DATA *ch, char *argument)
{
  char arg[MAX_INPUT_LENGTH];
  char buf[MAX_STRING_LENGTH];
  int found = FALSE;
  int cost = 0;

  argument = one_argument( argument, arg );
  if (IS_NPC(ch)) return;
  if( !IS_CLASS(ch, CLASS_BETRAYER))
  {
    send_to_char("Huh.\n\r",ch);
    return;
  }

  if (arg[0] == '\0')
  {
    sprintf(buf, "Demon powers    : #oHell [#r%d#o]       Atta [#r%d#o]       Temp[#r%d#o]       Morp[#r%d#o]#n\n\r",
    ch->power[DISC_DAEM_HELL], ch->power[DISC_DAEM_ATTA], 
    ch->power[DISC_DAEM_TEMP], ch->power[DISC_DAEM_MORP]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oCorr [#r%d#o]       Gelu [#r%d#o]       Disc[#r%d#o]       Neth[#r%d#o]#n\n\r",
    ch->power[DISC_DAEM_CORR], ch->power[DISC_DAEM_GELU], 
    ch->power[DISC_DAEM_DISC], ch->power[DISC_DAEM_NETH]);
    send_to_char(buf,ch);
    sprintf(buf, "                : #oImmu [#r%d#o]#n\n\r",
    ch->power[DISC_DAEM_IMMU]);
    send_to_char(buf,ch);
    return;
  }
   
  if(str_cmp(arg,"hell") && str_cmp(arg,"atta") && str_cmp(arg,"disc") &&   str_cmp(arg,"temp")
  && str_cmp(arg,"morp") && str_cmp(arg,"neth") && str_cmp(arg,"corr") 
  && str_cmp(arg,"immu") && str_cmp(arg,"gelu"))
  {
     stc("Your choices are hell, atta, temp, morp, corr, gelu, disc, neth, immu\n\r",ch);
     return;
  }

      if(!str_cmp(arg,"hell")  && ch->power[DISC_DAEM_HELL] > 9) found = FALSE;
      else if(!str_cmp(arg,"atta")  && ch->power[DISC_DAEM_ATTA] > 9) found = FALSE;
      else if(!str_cmp(arg,"temp")  && ch->power[DISC_DAEM_TEMP] > 9) found = FALSE;
      else if(!str_cmp(arg,"morp")  && ch->power[DISC_DAEM_MORP] > 9) found = FALSE;
      else if(!str_cmp(arg,"corr")  && ch->power[DISC_DAEM_CORR] > 9) found = FALSE;
      else if(!str_cmp(arg,"gelu")  && ch->power[DISC_DAEM_GELU] > 9) found = FALSE;
      else if(!str_cmp(arg,"disc")  && ch->power[DISC_DAEM_DISC] > 9) found = FALSE;
      else if(!str_cmp(arg,"neth")  && ch->power[DISC_DAEM_NETH] > 9) found = FALSE;
      else if(!str_cmp(arg,"immu")  && ch->power[DISC_DAEM_IMMU] > 9) found = FALSE;
      else found = TRUE;

      if(found == FALSE)
      {
 	stc("You can not learn any more in that discipline.\n\r",ch);
	return;
      }

      if(!str_cmp(arg,"hell"))  cost = ch->power[DISC_DAEM_HELL] * 60 + 60;
      if(!str_cmp(arg,"atta"))  cost = ch->power[DISC_DAEM_ATTA] * 60 + 60;
      if(!str_cmp(arg,"temp"))  cost = ch->power[DISC_DAEM_TEMP] * 60 + 60;
      if(!str_cmp(arg,"morp"))  cost = ch->power[DISC_DAEM_MORP] * 60 + 60;
      if(!str_cmp(arg,"corr"))  cost = ch->power[DISC_DAEM_CORR] * 60 + 60;
      if(!str_cmp(arg,"gelu"))  cost = ch->power[DISC_DAEM_GELU] * 60 + 60;
      if(!str_cmp(arg,"disc"))  cost = ch->power[DISC_DAEM_DISC] * 60 + 60;
      if(!str_cmp(arg,"neth"))  cost = ch->power[DISC_DAEM_NETH] * 60 + 60;
      if(!str_cmp(arg,"immu"))  cost = ch->power[DISC_DAEM_IMMU] * 60 + 60;

      if(cost > ch->practice)
      {
	sprintf(buf, "You need %d primal to learn your next discipline.\n\r", cost);
	stc(buf,ch);
	return;
      }
     
      ch->practice -= cost;

      if(!str_cmp(arg,"hell"))  ch->power[DISC_DAEM_HELL] += 1;
      if(!str_cmp(arg,"atta"))  ch->power[DISC_DAEM_ATTA] += 1;
      if(!str_cmp(arg,"temp"))  ch->power[DISC_DAEM_TEMP] += 1;
      if(!str_cmp(arg,"morp"))  ch->power[DISC_DAEM_MORP] += 1;
      if(!str_cmp(arg,"corr"))  ch->power[DISC_DAEM_CORR] += 1;
      if(!str_cmp(arg,"gelu"))  ch->power[DISC_DAEM_GELU] += 1;
      if(!str_cmp(arg,"disc"))  ch->power[DISC_DAEM_DISC] += 1;
      if(!str_cmp(arg,"neth"))  ch->power[DISC_DAEM_NETH] += 1;
      if(!str_cmp(arg,"immu"))  ch->power[DISC_DAEM_IMMU] += 1;
      sprintf(buf, "You gain more discipline in %s .\n\r", arg);
      stc(buf,ch);
      return;
}