Ok, I am trying to add a system of magic resistance. Basically all I am trying to do is add a type flag to each spell, maybe like Fire, Cold, Electric, and Magic. These would be types of damage. Then at the end of mag_damage ( in magic.c), just before the actual damage I have this: /* Check target's resistance to spell type. */ dam = dam*(GET_RES(victim, type)/100; /* Replaces the 1/2 dam for a save */ I am trying to make GET_RES similiar to GET_SAVE, so I add a define for it in utils.h? and I also add defines for APPLY_RES_FIRE, APPLY_RES_COLD, and electric and magic in structs.h. Then in magic.c I have spells like Resist Fire that are like this: case SPELL_RESIST_FIRE: af[0].location = APPLY_RES_FIRE; af[0].modifier = 25; /* Effectively reduces damage from fire spells by 25% */ af[0].duration = 10; accum_duration = TRUE; to_vict = "You protected from the element of fire."; break; I also have a case for APPLY_RES_<TYPE> in handler.c for eq modifications(Ring of Fire Resistance) Now what I am confused about is the call that fetches the Resistance type (GET_RES) and how do I declare it in utils.h? GET_SAVE is declared like this: #define GET_SAVE(ch, i) ((ch)->char_specials.saved.apply_saving_throw[i]) So for mine it would be: #define GET_RES(ch, i) (uhhhhhhh?) Would anyone be so kind as to give me some tips to help me finish this up? Thanks! - Shaw +------------------------------------------------------------+ | 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/08/00 PST