/*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael * * Chastain, Michael Quan, and Mitchell Tse. * * * * Ack 2.2 improvements copyright (C) 1994 by Stephen Dooley * * * * In order to use any part of this Merc Diku Mud, you must comply with * * both the original Diku license in 'license.doc' as well the Merc * * license in 'license.txt'. In particular, you may not remove either of * * these copyright notices. * * * * _/ _/_/_/ _/ _/ _/ ACK! MUD is modified * * _/_/ _/ _/ _/ _/ Merc2.0/2.1/2.2 code * * _/ _/ _/ _/_/ _/ (c)Stephen Zepp 1998 * * _/_/_/_/ _/ _/ _/ Version #: 4.3 * * _/ _/ _/_/_/ _/ _/ _/ * * * * http://ackmud.nuc.net/ * * zenithar@ackmud.nuc.net * * Much time and thought has gone into this software and you are * * benefitting. We hope that you share your changes too. What goes * * around, comes around. * ***************************************************************************/ /*************************************************************************** * _/_/_/_/ _/ _/ _/_/_/_/ _/_/_/_/ AckFUSS is modified ACK!MUD 4.3.1 * * _/ _/ _/ _/ _/ copyright Matt Goff (Kline) 2008 * * _/_/ _/ _/ _/_/_/_/ _/_/_/_/ * * _/ _/ _/ _/ _/ Support for this code is provided * * _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ at www.ackmud.net -- check it out!* ***************************************************************************/ #define DEC_MAGIC_H #if __STDC__ || defined(__cplusplus) #define P_(s) s #else #define P_(s) () #endif /* magic.c */ int mana_cost P_((CHAR_DATA *ch, int sn)); int skill_lookup P_((const char *name)); int slot_lookup P_((int slot)); void say_spell P_((CHAR_DATA *ch, int sn)); bool saves_spell P_((int level, CHAR_DATA *victim)); void do_cast P_((CHAR_DATA *ch, char *argument)); void obj_cast_spell P_((int sn, int level, CHAR_DATA *ch, CHAR_DATA *victim, OBJ_DATA *obj)); bool spell_acid_blast P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_armor P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_badbreath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_bark_skin P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_bless P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_blindness P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_burning_hands P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_call_lightning P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cause_light P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cause_critical P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cause_serious P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_change_sex P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_charm_person P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_chill_touch P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_color_spray P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_continual_light P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_control_weather P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_create_food P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_create_spring P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_create_water P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cure_blindness P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cure_critical P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cure_light P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cure_poison P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cure_serious P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_curse P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_evil P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_hidden P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_invis P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_magic P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_undead P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detect_poison P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_dispel_magic P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_dispel_evil P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_earthquake P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_enchant_weapon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_encumber P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_energy_drain P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fireball P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_flamestrike P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_faerie_fire P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_faerie_fog P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fly P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_gate P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_general_purpose P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_giant_strength P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_harm P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_heal P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_influx P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_high_explosive P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_laserbolt P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_identify P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_infravision P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_invis P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_know_alignment P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_lightning_bolt P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_locate_object P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_magic_missile P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mass_invis P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_null P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_pass_door P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_poison P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_protection P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_refresh P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_remove_curse P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_sanctuary P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_sense_evil P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_shield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_shocking_grasp P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_sleep P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_stone_skin P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_teleport P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_ventriloquate P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_weaken P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_word_of_recall P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_acid_breath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fire_breath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_frost_breath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_gas_breath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_lightning_breath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_hellspawn P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_planergy P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_visit P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_barrier P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_static P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_phobia P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mindflame P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_chain_lightning P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_suffocate P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_enhance_weapon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_bloody_tears P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mind_bolt P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_nerve_fire P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fighting_trance P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_phase P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_dimension_blade P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_produce_food P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_animate P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_see_magic P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_detection P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fire_blade P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_know_weakness P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_know_critical P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_calm P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_hypnosis P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mind_flail P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_know_item P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_physic_thrust P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_physic_crush P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_ego_whip P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_night_vision P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_stalker P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mystic_armor P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_flare P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_travel P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_window P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_portal P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_beacon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_seal_room P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_deflect_weapon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_black_hand P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_throw_needle P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_morale P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_leadership P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_ice_bolt P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_waterelem P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_skeleton P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_poison_weapon P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fireshield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_iceshield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_shockshield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_shadowshield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_thoughtshield P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_ethereal P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fireelem P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_rune_fire P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_rune_poison P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_rune_shock P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_healing_light P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_wither_shadow P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mana_flare P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mana_drain P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cage P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_flaming P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_reflect P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_absorb P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_adept P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_regen P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_room_dispel P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_throw_star P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_soul_net P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_condense_soul P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_restoration P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_infuse P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_holy_light P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_holy_armor P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_divine_intervention P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_earthelem P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_iron_golem P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_soul_thief P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_holy_avenger P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_diamond_golem P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon_pegasus P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon_nightmare P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon_beast P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon_devourer P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_summon_shadow P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_lava_burst P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_heat_armor P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_retri_strike P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_creature_bond P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_corrupt_bond P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_fireblast P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_shockstorm P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cone_cold P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_holy_wrath P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_wraith_touch P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_thought_vise P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_black_curse P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_cloak_misery P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_poison_quinine P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_poison_arsenic P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_sonic_blast P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_mystical_focus P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); bool spell_redemption P_((int sn, int level, CHAR_DATA *ch, void *vo, OBJ_DATA *obj)); #undef P_ #define REALM_NONE BIT_0 #define REALM_FIRE BIT_1 #define REALM_SHOCK BIT_2 #define REALM_LIGHT BIT_3 #define REALM_GAS BIT_4 #define REALM_POISON BIT_5 #define REALM_COLD BIT_6 #define REALM_SOUND BIT_7 #define REALM_ACID BIT_8 #define REALM_DRAIN BIT_9 #define REALM_IMPACT BIT_10 #define REALM_MIND BIT_11 #define REALM_HOLY BIT_12 #define NO_REFLECT BIT_30 #define NO_ABSORB BIT_31 #define RE_NONE 0 #define RE_FIRE 1 #define RE_SHOCK 2 #define RE_LIGHT 3 #define RE_GAS 4 #define RE_POISON 5 #define RE_COLD 6 #define RE_SOUND 7 #define RE_ACID 8 #define RE_DRAIN 9 #define RE_IMPACT 10 #define RE_MIND 11 #define RE_HOLY 12 struct sp_dam_str_type { int realm; char *basecol; char *invertcol; char *stresscol; char *backcol; char *formatter; char *vs; char *vs_stress; char *vp; char *vp_stress; }; extern struct sp_dam_str_type sp_dam_str[]; extern bool deathmatch; #define MAX_REALM 13