/**************************** * Remort Code by Xrakisis * * Mostly by Barcane though * ***************************/ #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" void do_remort (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 (ch->pStatus < 5) { send_to_char("You need at least 5 status to remort.\n\r",ch); return; } if (arg[0] == '\0') { send_to_char("Which Class do you wish to remort into?\n\r",ch); return; } do_clearstats2(ch,""); clearshit(ch); if (!str_cmp(arg,"assassin")) { if (!IS_CLASS(ch, CLASS_DROW) && !IS_CLASS(ch, CLASS_DEMON) && !IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { send_to_char("You must be a Drow, Demon or Undead knight to remort into an Assassin.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DROW)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Drow was reborn as an Assassin\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Black Assassin.\n\r",ch); ch->pStatus = 0; return; } if (IS_CLASS(ch, CLASS_DEMON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Demon was reborn as an Assassin\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Hell's Soldier.\n\r",ch); ch->pStatus = 0; return; } if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Undead Knight was reborn as an Assassin\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Undead Assassin.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"demon")) { if (!IS_CLASS(ch, CLASS_DRAGON) && !IS_CLASS(ch, CLASS_ASSASSIN) && !IS_CLASS(ch, CLASS_WRAITH)) { send_to_char("You must be a Dragon, Assassin or Wraith to remort into a Demon.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DRAGON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DEMON; set_learnable_disciplines(ch); sprintf(buf,"%s The DRAGON was reborn as a Demon.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadow Dragon.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ASSASSIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DEMON; set_learnable_disciplines(ch); sprintf(buf,"%s The Assassin was reborn as a Demon.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Hell's Soldier.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_WRAITH)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DEMON; set_learnable_disciplines(ch); sprintf(buf,"%s The Wraith was reborn as a Demon.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadow Fiend.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"werewolf")) { if (!IS_CLASS(ch, CLASS_DROW) && !IS_CLASS(ch, CLASS_VAMPIRE) && !IS_CLASS(ch, CLASS_ELEMENTAL)) { send_to_char("You must be a Drow, Vampire or an Elemental to remort into a Werewolf.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DROW)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WEREWOLF; set_learnable_disciplines(ch); sprintf(buf,"%s The Drow was reborn as a Werewolf.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Stalker.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_VAMPIRE)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WEREWOLF; set_learnable_disciplines(ch); sprintf(buf,"%s The Vampire was reborn as a Werewolf.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming an Undead Lycan.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ELEMENTAL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WEREWOLF; set_learnable_disciplines(ch); sprintf(buf,"%s The Elemental was reborn as a Werewolf.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Gaia Wolf.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"drow")) { if (!IS_CLASS(ch, CLASS_WRAITH) && !IS_CLASS(ch, CLASS_ASSASSIN) && !IS_CLASS(ch, CLASS_WEREWOLF)) { send_to_char("You must be a Wraith, Assassin, or Werewolf to remort into a Drow.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_WRAITH)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DROW; set_learnable_disciplines(ch); sprintf(buf,"%s The Wraith was reborn as a Drow.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadow Born.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ASSASSIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DROW; set_learnable_disciplines(ch); sprintf(buf,"%s The Assassin was reborn as a Drow.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Black Assassin.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_WEREWOLF)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DROW; set_learnable_disciplines(ch); sprintf(buf,"%s The Werewolf was reborn as a Drow.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Stalker.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"vampire")) { if (!IS_CLASS(ch, CLASS_TANARRI ) && !IS_CLASS(ch, CLASS_WRAITH) && !IS_CLASS(ch, CLASS_WEREWOLF)) { send_to_char("You must be a Tanar'ri, Werewolf, or Wraith to remort into a Vampire .\n\r",ch); return; } if (IS_CLASS(ch, CLASS_TANARRI)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_VAMPIRE; set_learnable_disciplines(ch); sprintf(buf,"%s The Tanar'ri was reborn as a Vampire.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Hell Spawn.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_WRAITH)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_VAMPIRE; set_learnable_disciplines(ch); sprintf(buf,"%s The Wraith was reborn as a Vampire.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Vampiric Mist.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_WEREWOLF)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_VAMPIRE; set_learnable_disciplines(ch); sprintf(buf,"%s The Werewolf was reborn as a Vampire.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Undead Lycan.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"tanarri")) { if (!IS_CLASS(ch, CLASS_VAMPIRE ) && !IS_CLASS(ch, CLASS_ELEMENTAL) && !IS_CLASS(ch, CLASS_HYDRA)) { send_to_char("You must be a Vampire, Elemental, or Hydra to remort into a Tanar'ri .\n\r",ch); return; } if (IS_CLASS(ch, CLASS_VAMPIRE)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_TANARRI; sprintf(buf,"%s The Vampire was reborn as a Tanar'ri.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Hell Spawn.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ELEMENTAL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_TANARRI; sprintf(buf,"%s The Elemental was reborn as a Tanar'ri.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Deva.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_HYDRA)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_TANARRI; sprintf(buf,"%s The Hydra was reborn as a Tanar'ri.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Ba'atezu.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg, "undeadknight")) { if (!IS_CLASS(ch, CLASS_HYDRA) && !IS_CLASS(ch, CLASS_ELEMENTAL) && !IS_CLASS(ch, CLASS_ASSASSIN)) { send_to_char("You must be a Hydra, Elemental, or Assassin to remort into an Undead Knight.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_HYDRA)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_UNDEAD_KNIGHT; sprintf(buf,"%s The Hydra was reborn as an Undead Knight.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Nazgul.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ELEMENTAL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_UNDEAD_KNIGHT; sprintf(buf,"%s The Elemental was reborn as an Undead Knight.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Necromancer.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ASSASSIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_UNDEAD_KNIGHT; sprintf(buf,"%s The Assassin was reborn as an Undead Knight.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming an Undead Assassin.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"angel")) { if (!IS_CLASS(ch, CLASS_DRAGON) && !IS_CLASS(ch, CLASS_PALADIN) && !IS_CLASS(ch, CLASS_HYDRA)) { send_to_char("You must be a DRAGON, Paladin, or Hydra to remort into an Angel.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DRAGON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ANGEL; sprintf(buf,"%s The DRAGON was reborn as an Angel.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Silver Dragon.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_PALADIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ANGEL; sprintf(buf,"%s The Paladin was reborn as an Angel.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Heaven's Soldier.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_HYDRA)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ANGEL; sprintf(buf,"%s The Hydra was reborn as an Angel.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Dragon Rider.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"wraith")) { if (!IS_CLASS(ch, CLASS_DEMON) && !IS_CLASS(ch, CLASS_DROW) && !IS_CLASS(ch, CLASS_VAMPIRE)) { send_to_char("You must be a Demon, Drow, or Vampire to remort into a Wraith.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DEMON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WRAITH; sprintf(buf,"%s The Demon was reborn as a Wraith.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadow Fiend.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_DROW)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WRAITH; sprintf(buf,"%s The Drow was reborn as a Wraith.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadowborn.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_VAMPIRE)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_WRAITH; sprintf(buf,"%s The Vampire was reborn as a Wraith.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Vampiric Mist.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"assassin")) { if (!IS_CLASS(ch, CLASS_DEMON) && !IS_CLASS(ch, CLASS_DROW) && !IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { send_to_char("You must be a Demon, Drow, or Undead Knight to remort into an Assassin.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DEMON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Demon was reborn as an Assassin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Hell's Soldier.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_DROW)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Drow was reborn as a Assassin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Black Assassin.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ASSASSIN; sprintf(buf,"%s The Undead Knight was reborn as an Assassin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming an Undead Assassin.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"paladin")) { if (!IS_CLASS(ch, CLASS_DRAGON) && !IS_CLASS(ch, CLASS_ANGEL) && !IS_CLASS(ch, CLASS_ELEMENTAL)) { send_to_char("You must be a DRAGON, Angel, or Elemental to remort into a Paladin.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_DRAGON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_PALADIN; sprintf(buf,"%s The DRAGON was reborn as a Paladin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Dragoon.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ANGEL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_PALADIN; sprintf(buf,"%s The Angel was reborn as a Paladin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Heaven's Soldier.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ELEMENTAL)) { ch->class = CLASS_PALADIN; sprintf(buf,"%s The Elemental was reborn as an Paladin.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Druid.\n\r",ch); ch->pStatus = 0; return; } } if (!str_cmp(arg,"elemental")) { if (!IS_CLASS(ch, CLASS_TANARRI) && !IS_CLASS(ch, CLASS_PALADIN) && !IS_CLASS(ch, CLASS_UNDEAD_KNIGHT) && !IS_CLASS(ch, CLASS_WEREWOLF)) { send_to_char("You must be a Tanar'ri, Paladin, Werewolf or Undead Knight to remort into an Elemental.\n\r",ch); return; } if (IS_CLASS(ch, CLASS_TANARRI)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ELEMENTAL; sprintf(buf,"%s The Tanar'ri was reborn as an Elemental.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Deva.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_PALADIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ELEMENTAL; sprintf(buf,"%s The Paladin was reborn as an Elemental.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Druid.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ELEMENTAL; sprintf(buf,"%s The Undead Knight was reborn as an Elemental.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Necromancer.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_WEREWOLF)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_ELEMENTAL; sprintf(buf, "%s The Undead Knight was reborn as an Elemental.\n\r", ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Gaia Wolf.\n\r",ch); return; } } if (!str_cmp(arg,"dragon")) { if (!IS_CLASS(ch, CLASS_DEMON) && !IS_CLASS(ch, CLASS_ANGEL) && !IS_CLASS(ch, CLASS_PALADIN)) { send_to_char("You must be a Demon, Angel, or Paladin to remort into a DRAGON.\n\r",ch); ch->pStatus = 0; return; } if (IS_CLASS(ch, CLASS_DEMON)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DRAGON; sprintf(buf,"%s The Demon was reborn as a DRAGON.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Shadow Dragon.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ANGEL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DRAGON; sprintf(buf,"%s The Angel was reborn as a DRAGON.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Silver Dragon.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_PALADIN)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_DRAGON; sprintf(buf,"%s The Paladin was reborn as a DRAGON.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Dragoon.\n\r",ch); return; } } if (!str_cmp(arg,"hydra")) { if (!IS_CLASS(ch, CLASS_UNDEAD_KNIGHT) && !IS_CLASS(ch, CLASS_TANARRI) && !IS_CLASS(ch, CLASS_ANGEL)) { send_to_char("You must be a Tanar'ri, Angel, or Undead Knight to remort into a Hydra.\n\r",ch); ch->pStatus = 0; return; } if (IS_CLASS(ch, CLASS_UNDEAD_KNIGHT)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_HYDRA; sprintf(buf,"%s The Undead Knight was reborn as a Hydra.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Nazgul.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_TANARRI)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_HYDRA; sprintf(buf,"%s The Tanar'ri was reborn as a Hydra.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Ba'atezu.\n\r",ch); ch->pStatus = 0; return; } else if (IS_CLASS(ch, CLASS_ANGEL)) { while(ch->class) { ch->oldclass = ch->class; ch->class = 0; } ch->class = CLASS_HYDRA; sprintf(buf,"%s The Angel was reborn as a Hydra.\n\r",ch->pcdata->switchname); do_info(ch,buf); send_to_char("You're on your way to becoming a Dragon Rider.\n\r",ch); ch->pStatus = 0; return; } } send_to_char("That isn't a valid class.\n\r",ch); return; }