/* Original Code by Jason Huang (god@sure.net). */ /* Permission to use this code is granted provided this header is */ /* retained and unaltered. */ void spell_metamorphose( int sn, int level, CHAR_DATA *ch, void *vo ) { CHAR_DATA *victim; int vnum; if ( IIS_NPC(victim) || victim->level > level ) { send_to_char( "You failed.\n\r", ch ); return; } switch( number_bits(4) ) { case 0: vnum = MOB_VNUM_CAT; break; case 1: vnum = MOB_VNUM_FIDO; break; case 2: vnum = MOB_VNUM_COW; break; case 3: vnum = MOB_VNUM_WOLF; break; case 4: vnum = MOB_VNUM_BEAR; break; case 5: vnum = MOB_VNUM_RABBIT; break; case 6: vnum = MOB_VNUM_SNAIL; break; case 7: vnum = MOB_VNUM_BOAR; break; default: vnum = MOB_VNUM_SLIME; break; } extract_char( victim, TRUE ); victim = create_mobile( get_mob_index( vnum) ); char_to_room( victim, ch->in_room ); act( "$N has been transformed.", ch, NULL, victim , TO_ROOM ); act( "You have transform $N.", ch, NULL, victim, TO_CHAR); do_look( ch, "auto" ); return; }