
void do_affects(CHAR_DATA * ch, char *argument)
{
char buf[MAX_STRING_LENGTH];
AFFECT_DATA *paf;
if (IS_NPC(ch))
return;
ch_printf(ch, "%s\n\r", generate_banner("#WUpkeep#n", 65, "^B#w"));
sprintf(buf, " [%s] Protection [%s] Etherral [%s] Flying\n\r",
(IS_AFFECTED(ch, AFF_PROTECT)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_ETHEREAL)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_FLYING)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Passdoor [%s] Invisibility [%s] Sneak\n\r",
(IS_AFFECTED(ch, AFF_PASS_DOOR)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_INVISIBLE)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_SNEAK)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Regeneration [%s] Shadowplane [%s] Infrared \n\r",
(IS_ITEMAFF(ch, ITEMA_REGENERATE)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_SHADOWPLANE)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_INFRARED)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Detect Evil [%s] Detect Invis [%s] Detect Magic \n\r",
(IS_AFFECTED(ch, AFF_DETECT_EVIL)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_DETECT_INVIS)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_DETECT_MAGIC)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Extra Speed [%s] Sanctuary [%s] Shadowsight \n\r",
(IS_ITEMAFF(ch, ITEMA_SPEED)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_SANCTUARY)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_SHADOWSIGHT)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Stone Skin \n\r",
(IS_AFFECTED2(ch, AFF2_STONE_SKIN)) ? "o" : " ");
stc(buf,ch);
ch_printf(ch, "%s\n\r", generate_banner("#GShield Affects#n", 65, "^B#w"));
sprintf(buf, " [%s] Shock Shield [%s] Acid Shield [%s] Chaos Shield \n\r",
(IS_ITEMAFF (ch, ITEMA_SHOCKSHIELD)) ? "o" : " ",
(IS_ITEMAFF (ch, ITEMA_ACIDSHIELD)) ? "o" : " ",
(IS_ITEMAFF(ch, ITEMA_CHAOSSHIELD)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] Fire Shield [%s] Ice Shield \n\r",
(IS_ITEMAFF (ch, ITEMA_FIRESHIELD)) ? "o" : " ",
(IS_ITEMAFF (ch, ITEMA_ICESHIELD)) ? "o" : " ");
stc(buf,ch);
ch_printf(ch, "%s\n\r", generate_banner("#DNegative Affects#n", 65, "^B#w"));
sprintf(buf, " [%s] Faerie Fire [%s] Webbed [%s] Poison \n\r",
(IS_AFFECTED(ch, AFF_FAERIE_FIRE)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_WEBBED)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_POISON)) ? "o" : " ");
stc(buf,ch);
sprintf(buf, " [%s] On Fire [%s] Cursed [%s] Blind \n\r",
(IS_AFFECTED(ch, AFF_FLAMING)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_CURSE)) ? "o" : " ",
(IS_AFFECTED(ch, AFF_BLIND)) ? "o" : " ");
stc(buf,ch);
if (ch->affected != NULL)
{
ch_printf(ch, "%s\n\r", generate_banner("#WSpell List#n", 65, "^B#w"));
// send_to_char("You are affected by:\n\r", ch);
for (paf = ch->affected; paf != NULL; paf = paf->next)
{
sprintf(buf, "Spell: '%s'", skill_table[paf->type].name);
send_to_char(buf, ch);
if (ch->level >= 0)
{
sprintf(buf, " modifies %s by %d for %d hours with bits %s.\n\r", affect_loc_name(paf->location), paf->modifier, paf->duration, affect_bit_name(paf->bitvector));
send_to_char(buf, ch);
}
}
}
ch_printf(ch, "%s\n\r", generate_banner("", 65, "{^B#w"));
return;
}