I have implemented a skill which enables you to make tattooes. but when I use it, some kind of ugly symbols appear over the message "You tattoo a tattoo on your right arm." I tested the same thing with a normal Telnet client, but then, the symbols appeared right after a Clear Screen. Here's the code: ACMD(do_tattoo) { struct obj_data *tattoo; struct affected_type af; char color[30]; char animal[30]; int duration = 0, mana = 0, ac = 0; skip_spaces(&argument); if (!GET_SKILL(ch, SKILL_TATTOO)) { send_to_char("You have no idea how to make tattooes!\r\n", ch); return; } if (GET_EQ(ch, WEAR_TATTOO_1) && GET_EQ(ch, WEAR_TATTOO_2)) { send_to_char("You already have two tattooes.\r\n", ch); return; } if (!*argument) { send_to_char("Which tattoo?\r\n", ch); return; } if (GET_LEVEL(ch) < 41) { duration = 1; mana = 25; ac = 0; strcpy(color, "&Bblue&n"); } else if (GET_LEVEL(ch) < 55) { duration = 2; mana = 30; ac = -1; strcpy(color, "&Ggreen&n"); } else if (GET_LEVEL(ch) < 61) { duration = 3; mana = 35; ac = -2; strcpy(color, "&Rred&n"); } else if (GET_LEVEL(ch) < 76) { duration = 4; mana = 40; ac = -3; strcpy(color,"&ybronzen&n"); } else if (GET_LEVEL(ch) < 81) { duration = 5; mana = 45; ac = -4; strcpy(color, "&Wsilver&n"); } else if (GET_LEVEL(ch) < 90) { duration = 7; mana = 50; ac = -5; strcpy(color, "&Ygolden&n"); } else if (GET_LEVEL(ch) < 125) { duration = 10; mana = 60; ac = -7; strcpy(color, "&Kmith'ryal&n"); } if (GET_MANA(ch) < mana) { send_to_char("Your Rage is too low.\r\n", ch); return; } if (strcmp(argument, "snake") == 0) { if (GET_LEVEL(ch) < 27) { send_to_char("You haven't learned how to make that tattoo.\r\n", ch); return; } strcpy(animal, "snake"); duration += 1; af.type = SKILL_TATTOO; af.duration = duration - 1; af.location = APPLY_DEX; af.modifier = 1; af.bitvector = 0; affect_to_char(ch, &af); } GET_MANA(ch) -= mana; tattoo = create_obj(); tattoo->item_number = NOTHING; tattoo->in_room = NOWHERE; tattoo->name = str_dup("tattoo"); sprintf(buf2, "This is a tattoo - and they should not be on the ground. REPORT."); tattoo->description = str_dup(buf2); sprintf(buf2, "a tattoo depicting a %s %s", color, animal); tattoo->short_description = str_dup(buf2); GET_OBJ_TYPE(tattoo) = ITEM_AWEAPON; GET_OBJ_WEAR(tattoo) = ITEM_WEAR_TATTOO; GET_OBJ_EXTRA(tattoo) = ITEM_MAGIC; tattoo->affected[0].location = APPLY_AC; tattoo->affected[0].modifier = ac; obj_to_char(tattoo, ch); if (!GET_EQ(ch, WEAR_TATTOO_1)) { perform_wear(ch, tattoo, WEAR_TATTOO_1); act("You tattoo a tattoo on your right arm.", FALSE, ch, 0, 0, TO_CHAR); act("$n tattooes a tattoo on $s right arm.", FALSE, ch, 0, 0, TO_ROOM); } else { act("You tattoo a tattoo on your left arm.", FALSE, ch, 0, 0, TO_CHAR); act("$n tattooes a tattoo on $s left arm.", FALSE, ch, 0, 0, TO_ROOM); perform_wear(ch, tattoo, WEAR_TATTOO_2); } } I have the WEAR_TATTOO_x implemented, and they work fine. Something else must be wrong here. >Christoffer< ############################################# # You have recieved this E-mail # # from Avatar at avatar@orion.boden.se # # If you want you can write back # # if you don't want to then get outta here # # (Ouch, me 'urt me 'ead) # ############################################# +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST