{\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 }