{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Courier New;}{\f1\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20 // Detox from Eve of Destruction\par
// With an improvement by Xrakisis\par
// so that all things from the previous \par
// class are gone.\par
\par
void do_detox (CHAR_DATA *ch, char *argument)\par
\{\par
  char arg[MAX_INPUT_LENGTH];\par
  char buf[MAX_STRING_LENGTH];    \par
  char class[MAX_STRING_LENGTH];\par
  int j;\par
  argument = one_argument( argument, arg);\par
         \par
if (IS_NPC(ch)) return;\par
        \par
if (arg[0] == '\\0')\par
\{\par
send_to_char("Detox now sets hp/mana/move to 5k.\\n\\r",ch);\par
send_to_char("If you would still like to, type detox continue.\\n\\r",ch);     \par
return;\par
\}    \par
\par
 if (!str_cmp(arg,"continue"))\par
\{        \par
  if (IS_NPC(ch)) return;\par
  if ((ch->in_room == NULL || ch->in_room->vnum != 3054))\par
  \{\par
    send_to_char("You can only detox at the Temple Altar of Midgaard.\\n\\r",ch);\par
    return;\par
  \}\par
\par
   if (ch->class == 0)\par
     \{\par
    send_to_char("You already have no class.\\n\\r",ch);\par
    return;\par
     \}\par
                \par
  do_clearstats(ch,"");\par
\par
  ch->class = 0; \par
  if (IS_SET(ch->newbits, NEW_MASTERY)) REMOVE_BIT(ch->newbits, NEW_MASTERY);\par
  clearshit(ch);\par
  sprintf(buf,"#7%s #0has forsaken his class, and become human.\\n\\r", ch->name );\par
  do_info(ch,buf);\par
  set_learnable_disciplines(ch);\par
  do_save(ch,"");\par
  return;\par
\}\par
return; \par
 \}\par
\par
\par
\par
\par
void clearshit(CHAR_DATA *ch)\par
\{\par
  int sn;\par
  int x;\par
\par
  if (IS_SET(ch->pcdata->powers[AURAS], MIGHT_AURA))\par
    \{\par
      REMOVE_BIT(ch->pcdata->powers[AURAS], MIGHT_AURA);\par
     // send_to_char("Your aura of might fades.\\n\\r",ch);\par
      ch->damroll -= 500;\par
      ch->hitroll -= 500;\par
      return;\par
    \}\par
/*\par
 * Go into save.c and see what your cpowers goes to\par
 * swap out the 54 for whatever the max number is\par
 * this will get rid of all class powers and all \par
 * class bits. -Xrakisis\par
`*/ \par
 for (ch->power[x];x<54;x++)\par
 \{\par
  ch->power[x] = 0;\par
 \}\par
// ch->pcdata->kingdom                 = 0;\par
  ch->pcdata->jflags                  = 0;\par
  ch->extra                           = 0;\par
  ch->exp\tab\tab\tab       = 0;\par
  ch->expmult \tab\tab\tab       = 0;\par
  ch->practice                        = 0;\par
  ch->special                         = 0;\par
  ch->newbits                         = 0;\par
  ch->max_hit\tab\tab\tab       = 5000;\par
  ch->max_mana                        = 5000;\par
  ch->max_move                        = 5000;\par
  ch->hit                             = 5000;\par
  ch->mana                            = 5000;\par
  ch->move                            = 5000;\par
  ch->generation\tab\tab       = 5;\par
  ch->pcdata->familiar                = NULL;\par
  ch->pcdata->chobj                   = NULL;\par
  ch->pcdata->memorised               = NULL;\par
  ch->pcdata->disc_research           = -1;\par
  ch->pcdata->relrank\tab\tab       = 0;\par
  ch->lord                            = str_dup( "" );\par
  ch->morph                           = str_dup( "" );\par
  ch->pload                           = str_dup( "" );\par
  ch->poweraction                     = str_dup( "" );\par
  ch->powertype                       = str_dup( "" );\par
  ch->hunting                         = str_dup( "" );\par
  ch->pcdata->followers               = 0; \par
  ch->spectype                        = 0;\par
  ch->specpower                       = 0;\par
  ch->mounted                         = 0;\par
  ch->home                            = 3001;\par
  ch->vampgen_a                       = 0;\par
  ch->paradox[0]                      = 0;    /* Total paradox */\par
  ch->paradox[1]                      = 0;    /* Current Paradox */\par
  ch->paradox[2]                      = 0;    /* Paradox Ticker */\par
  ch->damcap[0]                       = 1000;\par
  ch->damcap[1]                       = 0;\par
  ch->vampaff_a                       = 0;\par
  ch->itemaffect                      = 0;\par
  ch->polyaff                         = 0;\par
  ch->immune                          = 0; \par
  ch->form                            = 1048575;\par
  ch->beast                           = 15;\par
  for( sn=0 ; sn < 7 ; sn ++ )\par
         ch->loc_hp[sn]               = 0;   \par
  //for( sn=0 ; sn < 13 ; sn++ )\par
      //   ch->wpn[sn]                  = 0;\par
  //for( sn=0 ; sn < 5 ; sn++ )\par
    //     ch->spl[sn]                  = 4;\par
  for( sn=0 ; sn < 8 ; sn++ )\par
         ch->cmbt[sn]                 = 0;\par
  for( sn=0 ; sn < 11 ; sn++ )\par
         ch->cmbt[sn]                 = 0;\par
  ch->pcdata->followers               = 0;   \par
  ch->pcdata->perm_str                = 13;\par
  ch->pcdata->perm_int                = 13;\par
  ch->pcdata->perm_wis                = 13;\par
  ch->pcdata->perm_dex                = 13;\par
  ch->pcdata->perm_con                = 13;\par
  ch->pcdata->wolf                    = 0;\par
  ch->pcdata->rank                    = 0;\par
  ch->pcdata->language[0]             = 0;\par
  ch->pcdata->language[1]             = 0; \par
  ch->pcdata->stage[0]                = 0;\par
  ch->pcdata->stage[1]                = 0; \par
  ch->pcdata->stage[2]                = 0;\par
  ch->pcdata->wolfform[0]             = 1;   \par
  ch->pcdata->wolfform[1]             = 1; \par
  ch->pcdata->score[0]                = 0; \par
  ch->pcdata->score[1]                = 0; \par
  ch->pcdata->score[2]                = 0; \par
  ch->pcdata->score[3]                = 0; \par
  ch->pcdata->score[4]                = 0;\par
  ch->pcdata->score[5]                = 0;\par
  for( sn=0 ; sn < 11 ; sn++ )\par
         ch->pcdata->disc_a[sn]       = 0;\par
 // for( sn=0 ; sn < 10 ; sn++ )\par
   //      ch->pcdata->genes[sn]        = 0;\par
  for ( sn=0 ; sn < 18 ; sn++)\par
        ch->pcdata->powers[sn]        = 0;   \par
  for ( sn=0 ; sn < 12 ; sn++)\par
        ch->pcdata->stats[sn]         = 0; \par
  //for  ( sn=0; sn < 19; sn++)\par
      //  ch->stance[sn]\tab\tab       = 0;\par
  //for  ( sn=19; sn < 24; sn++)\par
    //    ch->stance[sn]                = -1;\par
  for  ( sn=0; sn < 44; sn++)\par
        ch->power[sn]                 = -2;\par
  ch->pcdata->fake_skill              = 0;\par
  ch->pcdata->fake_stance             = 0;\par
  ch->pcdata->fake_hit                = 0;\par
  ch->pcdata->fake_dam                = 0;\par
  ch->pcdata->fake_ac                 = 0;\par
  ch->pcdata->fake_hp                 = 0;\par
  ch->pcdata->fake_mana               = 0;\par
  ch->pcdata->fake_move               = 0;\par
  ch->pcdata->obj_vnum                = 0;   \par
  ch->pcdata->condition[COND_THIRST]  = 48;\par
  ch->pcdata->condition[COND_FULL]    = 48;\par
  ch->pcdata->stat_ability[STAT_STR]  = 0; \par
  ch->pcdata->stat_ability[STAT_END]  = 0;\par
  ch->pcdata->stat_ability[STAT_REF]  = 0;\par
  ch->pcdata->stat_ability[STAT_FLE]  = 0;\par
  ch->pcdata->stat_amount[STAT_STR]   = 0;\par
  ch->pcdata->stat_amount[STAT_END]   = 0;\par
  ch->pcdata->stat_amount[STAT_REF]   = 0;\par
  ch->pcdata->stat_amount[STAT_FLE]   = 0;\par
  ch->pcdata->stat_duration[STAT_STR] = 0;\par
  ch->pcdata->stat_duration[STAT_END] = 0;\par
  ch->pcdata->stat_duration[STAT_REF] = 0;\par
  ch->pcdata->stat_duration[STAT_FLE] = 0;\par
  ch->pcdata->exhaustion              = 0;   \par
  if (IS_SET(ch->act, PLR_HOLYLIGHT)) REMOVE_BIT(ch->act, PLR_HOLYLIGHT);\par
if (IS_SET(ch->newbits, NEW_MASTERY)) REMOVE_BIT(ch->newbits, NEW_MASTERY);\par
/* Before charachters trust was being set to 0 so they couldnt do some things */\par
  SET_BIT(ch->extra, EXTRA_TRUSTED);\par
  return;\par
\}\f1\par
}