/***************************************************************************
* 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. *
* *
* In order to use any part of this Envy Diku Mud, you must comply with *
* the original Diku license in 'license.doc', the Merc license in *
* 'license.txt', as well as the Envy license in 'license.nvy'. *
* In particular, you may not remove either of these copyright notices. *
* *
* 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. *
* *
* ROM 2.4 is copyright 1993-1998 Russ Taylor *
* ROM has been brought to you by the ROM consortium *
* Russ Taylor (rtaylor@hypercube.org) *
* Gabrielle Taylor (gtaylor@hypercube.org) *
* Brian Moore (zump@rom.org) *
* By using this code, you have agreed to follow the terms of the *
* ROM license, in the file Rom24/doc/rom.license *
* *
* Code Adapted and Improved by Abandoned Realms Mud *
* and Aabahran: The Forsaken Lands Mud by Virigoth *
* *
* Continued Production of this code is available at www.flcodebase.com *
***************************************************************************/
/* Level Bonus Tables */
static const sh_int energy_drain_bonus[] =
{
0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,//10
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,//20
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,//30
0, 0, 1, 1, 1, 1, 1, 2, 2, 2,//40
2, 3, 3, 3, 3, 4, 4, 4, 4, 5 //50
};
DECLARE_SPELL_FUN( spell_null );
DECLARE_SPELL_FUN( spell_acid_blast );
DECLARE_SPELL_FUN( spell_age );
DECLARE_SPELL_FUN( spell_amorphous_infection);
DECLARE_SPELL_FUN( spell_armor );
DECLARE_SPELL_FUN( spell_asphyxiate );
DECLARE_SPELL_FUN( spell_baptize );
DECLARE_SPELL_FUN( spell_battlesphere );
DECLARE_SPELL_FUN( spell_battlefocus );
DECLARE_SPELL_FUN( spell_battletrance );
DECLARE_SPELL_FUN( spell_behead );
DECLARE_SPELL_FUN( spell_bless );
DECLARE_SPELL_FUN( spell_bless_arms );
DECLARE_SPELL_FUN( spell_blindness );
DECLARE_SPELL_FUN( spell_blink );
DECLARE_SPELL_FUN( spell_blood_gout );
DECLARE_SPELL_FUN( spell_blood_vow );
DECLARE_SPELL_FUN( spell_breach );
DECLARE_SPELL_FUN( spell_burning_hands );
DECLARE_SPELL_FUN( spell_call_lightning );
DECLARE_SPELL_FUN( spell_calm );
DECLARE_SPELL_FUN( spell_cancellation );
DECLARE_SPELL_FUN( spell_cause_critical );
DECLARE_SPELL_FUN( spell_cause_light );
DECLARE_SPELL_FUN( spell_cause_serious );
DECLARE_SPELL_FUN( spell_change_sex );
DECLARE_SPELL_FUN( spell_chrono_shield );
DECLARE_SPELL_FUN( spell_chain_lightning );
DECLARE_SPELL_FUN( spell_charm_person );
DECLARE_SPELL_FUN( spell_chill_touch );
DECLARE_SPELL_FUN( spell_circle_of_protection );
DECLARE_SPELL_FUN( spell_colour_spray );
DECLARE_SPELL_FUN( spell_comprehend_lan );
DECLARE_SPELL_FUN( spell_continual_light );
DECLARE_SPELL_FUN( spell_control_weather );
DECLARE_SPELL_FUN( spell_create_food );
DECLARE_SPELL_FUN( spell_create_spring );
DECLARE_SPELL_FUN( spell_create_water );
DECLARE_SPELL_FUN( spell_cure_blindness );
DECLARE_SPELL_FUN( spell_cure_critical );
DECLARE_SPELL_FUN( spell_cure_disease );
DECLARE_SPELL_FUN( spell_cure_light );
DECLARE_SPELL_FUN( spell_cure_poison );
DECLARE_SPELL_FUN( spell_cure_serious );
DECLARE_SPELL_FUN( spell_curse );
DECLARE_SPELL_FUN( spell_damnation );
DECLARE_SPELL_FUN( spell_deathweaver );
DECLARE_SPELL_FUN( spell_bladestorm );
DECLARE_SPELL_FUN( spell_ironarm );
DECLARE_SPELL_FUN( spell_iron_curtain );
DECLARE_SPELL_FUN( spell_doomsinger );
DECLARE_SPELL_FUN( spell_shadowdancer );
DECLARE_SPELL_FUN( spell_puppet_master );
DECLARE_SPELL_FUN( spell_disintegrate );
DECLARE_SPELL_FUN( spell_dheal );
DECLARE_SPELL_FUN( spell_dwrath );
DECLARE_SPELL_FUN( spell_sbane );
DECLARE_SPELL_FUN( spell_sretrib );
DECLARE_SPELL_FUN( spell_pwater );
DECLARE_SPELL_FUN( spell_icefire );
DECLARE_SPELL_FUN( spell_smight );
DECLARE_SPELL_FUN( spell_dmight );
DECLARE_SPELL_FUN( spell_doomsday );
DECLARE_SPELL_FUN( spell_druid_gate );
DECLARE_SPELL_FUN( spell_dragon_blood );
DECLARE_SPELL_FUN( spell_drained );
DECLARE_SPELL_FUN( spell_omen );
DECLARE_SPELL_FUN( spell_deathmare );
DECLARE_SPELL_FUN( spell_mindmelt );
DECLARE_SPELL_FUN( spell_mirage );
DECLARE_SPELL_FUN( spell_dreamprobe );
DECLARE_SPELL_FUN( spell_flashfire );
DECLARE_SPELL_FUN( spell_fpart );
DECLARE_SPELL_FUN( spell_demonfire );
DECLARE_SPELL_FUN( spell_defusion );
DECLARE_SPELL_FUN( spell_detect_evil );
DECLARE_SPELL_FUN( spell_detect_good );
DECLARE_SPELL_FUN( spell_detect_invis );
DECLARE_SPELL_FUN( spell_invigorate );
DECLARE_SPELL_FUN( spell_detect_magic );
DECLARE_SPELL_FUN( spell_detect_traps );
DECLARE_SPELL_FUN( spell_discord );
DECLARE_SPELL_FUN( spell_dispel_evil );
DECLARE_SPELL_FUN( spell_dispel_good );
DECLARE_SPELL_FUN( spell_dispel_magic );
DECLARE_SPELL_FUN( spell_earthquake );
DECLARE_SPELL_FUN( spell_eye_of_nature );
DECLARE_SPELL_FUN( spell_enchant_armor );
DECLARE_SPELL_FUN( spell_enchant_weapon );
DECLARE_SPELL_FUN( spell_endorphin_rush );
DECLARE_SPELL_FUN( spell_energy_drain );
DECLARE_SPELL_FUN( spell_entropic_touch );
DECLARE_SPELL_FUN( spell_faerie_fire );
DECLARE_SPELL_FUN( spell_faerie_fog );
DECLARE_SPELL_FUN( spell_false_weapon );
DECLARE_SPELL_FUN( spell_farsight );
DECLARE_SPELL_FUN( spell_fireball );
DECLARE_SPELL_FUN( spell_flamestrike );
DECLARE_SPELL_FUN( spell_fly );
DECLARE_SPELL_FUN( spell_frenzy );
DECLARE_SPELL_FUN( spell_gate );
DECLARE_SPELL_FUN( spell_golden_aura );
DECLARE_SPELL_FUN( spell_giant_strength );
DECLARE_SPELL_FUN( spell_gift );
DECLARE_SPELL_FUN( spell_harm );
DECLARE_SPELL_FUN( spell_haste );
DECLARE_SPELL_FUN( spell_heal );
DECLARE_SPELL_FUN( spell_holy_word );
DECLARE_SPELL_FUN( spell_holy_hands );
DECLARE_SPELL_FUN( spell_hurricane );
DECLARE_SPELL_FUN( spell_identify );
DECLARE_SPELL_FUN( spell_infravision );
DECLARE_SPELL_FUN( spell_insight );
DECLARE_SPELL_FUN( spell_invis );
DECLARE_SPELL_FUN( spell_isolate );
DECLARE_SPELL_FUN( spell_know_alignment );
DECLARE_SPELL_FUN( spell_lifeforce );
DECLARE_SPELL_FUN( spell_life_insurance );
DECLARE_SPELL_FUN( spell_lightning_bolt );
DECLARE_SPELL_FUN( spell_light_sword );
DECLARE_SPELL_FUN( spell_locate_object );
DECLARE_SPELL_FUN( spell_magic_missile );
DECLARE_SPELL_FUN( spell_magic_eye );
DECLARE_SPELL_FUN( spell_maze );
DECLARE_SPELL_FUN( spell_mark_prey );
DECLARE_SPELL_FUN( spell_mark_fear );
DECLARE_SPELL_FUN( spell_malform_weapon );
DECLARE_SPELL_FUN( spell_mass_healing );
DECLARE_SPELL_FUN( spell_mass_invis );
DECLARE_SPELL_FUN( spell_mindsurge );
DECLARE_SPELL_FUN( spell_omnipotence );
DECLARE_SPELL_FUN( spell_orb_chaos );
DECLARE_SPELL_FUN( spell_ogtrium );
DECLARE_SPELL_FUN( spell_strium );
DECLARE_SPELL_FUN( spell_steel_wall );
DECLARE_SPELL_FUN( spell_ptrium );
DECLARE_SPELL_FUN( spell_uorder );
DECLARE_SPELL_FUN( spell_unminding );
DECLARE_SPELL_FUN( spell_istrength );
DECLARE_SPELL_FUN( spell_icalm );
DECLARE_SPELL_FUN( spell_ocularis );
DECLARE_SPELL_FUN( spell_overload );
DECLARE_SPELL_FUN( spell_pass_door );
DECLARE_SPELL_FUN( spell_paradox );
DECLARE_SPELL_FUN( spell_paralyze );
DECLARE_SPELL_FUN( spell_path_of_deceit );
DECLARE_SPELL_FUN( spell_petrify );
DECLARE_SPELL_FUN( spell_plague );
DECLARE_SPELL_FUN( spell_planar_rift );
DECLARE_SPELL_FUN( spell_planar_seal );
DECLARE_SPELL_FUN( spell_poison );
DECLARE_SPELL_FUN( spell_preserve );
DECLARE_SPELL_FUN( spell_protection_evil );
DECLARE_SPELL_FUN( spell_protection_good );
DECLARE_SPELL_FUN( spell_purge_unlife );
DECLARE_SPELL_FUN( spell_purity );
DECLARE_SPELL_FUN( spell_const );
DECLARE_SPELL_FUN( spell_epal );
DECLARE_SPELL_FUN( spell_ray_of_truth );
DECLARE_SPELL_FUN( spell_raise_morale );
DECLARE_SPELL_FUN( spell_refresh );
DECLARE_SPELL_FUN( spell_regenerate );
DECLARE_SPELL_FUN( spell_recharge );
DECLARE_SPELL_FUN( spell_remove_curse );
DECLARE_SPELL_FUN( spell_remove_magic );
DECLARE_SPELL_FUN( spell_reveal_hidden );
DECLARE_SPELL_FUN( spell_rev_time );
DECLARE_SPELL_FUN( spell_restoration );
DECLARE_SPELL_FUN( spell_resurrection );
DECLARE_SPELL_FUN( spell_righteous );
DECLARE_SPELL_FUN( spell_ripple );
DECLARE_SPELL_FUN( spell_dvoid );
DECLARE_SPELL_FUN( spell_sanctuary );
DECLARE_SPELL_FUN( spell_sav_ward );
DECLARE_SPELL_FUN( spell_sacred_runes );
DECLARE_SPELL_FUN( spell_squire );
DECLARE_SPELL_FUN( spell_shocking_grasp );
DECLARE_SPELL_FUN( spell_shield );
DECLARE_SPELL_FUN( spell_sleep );
DECLARE_SPELL_FUN( spell_slow );
DECLARE_SPELL_FUN( spell_songbird );
DECLARE_SPELL_FUN( spell_stone_skin );
DECLARE_SPELL_FUN( spell_subvocalize );
DECLARE_SPELL_FUN( spell_summon );
DECLARE_SPELL_FUN( spell_swords_to_plows );
DECLARE_SPELL_FUN( spell_teleport );
DECLARE_SPELL_FUN( spell_timer );
DECLARE_SPELL_FUN( spell_time_compression );
DECLARE_SPELL_FUN( spell_temporal_avenger );
DECLARE_SPELL_FUN( spell_temporal_storm );
DECLARE_SPELL_FUN( spell_torment_bind );
DECLARE_SPELL_FUN( spell_town_gate );
DECLARE_SPELL_FUN( spell_third_eye );
DECLARE_SPELL_FUN( spell_druid_gate );
DECLARE_SPELL_FUN( spell_treeform );
DECLARE_SPELL_FUN( spell_ventriloquate );
DECLARE_SPELL_FUN( spell_vengeance );
DECLARE_SPELL_FUN( spell_vredem );
DECLARE_SPELL_FUN( spell_verdigar_tat );
DECLARE_SPELL_FUN( spell_void );
DECLARE_SPELL_FUN( spell_weaken );
DECLARE_SPELL_FUN( spell_whirlwind );
DECLARE_SPELL_FUN( spell_webbing );
DECLARE_SPELL_FUN( spell_webcaster );
DECLARE_SPELL_FUN( spell_wish );
DECLARE_SPELL_FUN( spell_word_of_recall );
DECLARE_SPELL_FUN( spell_acid_breath );
DECLARE_SPELL_FUN( spell_death_breath );
DECLARE_SPELL_FUN( spell_fire_breath );
DECLARE_SPELL_FUN( spell_frost_breath );
DECLARE_SPELL_FUN( spell_gas_breath );
DECLARE_SPELL_FUN( spell_lightning_breath );
DECLARE_SPELL_FUN( spell_firestorm );
DECLARE_SPELL_FUN( spell_ice_storm );
DECLARE_SPELL_FUN( spell_protective_shield );
DECLARE_SPELL_FUN( spell_jet_steam );
DECLARE_SPELL_FUN( spell_justice_sigil );
DECLARE_SPELL_FUN( spell_mystic_tendrils );
DECLARE_SPELL_FUN( spell_ice_shield );
DECLARE_SPELL_FUN( spell_fire_shield );
DECLARE_SPELL_FUN( spell_hellstream );
DECLARE_SPELL_FUN( spell_flesh_golem );
DECLARE_SPELL_FUN( spell_soul_capture );
DECLARE_SPELL_FUN( spell_soul_tap );
DECLARE_SPELL_FUN( spell_soul_transfer );
DECLARE_SPELL_FUN( spell_vampiric_touch );
DECLARE_SPELL_FUN( spell_hold_undead );
DECLARE_SPELL_FUN( spell_animate_corpse );
DECLARE_SPELL_FUN( spell_shatter );
DECLARE_SPELL_FUN( spell_chorus_of_anguish );
DECLARE_SPELL_FUN( spell_stone_golem );
DECLARE_SPELL_FUN( spell_strength_damned );
DECLARE_SPELL_FUN( spell_death_grasp );
DECLARE_SPELL_FUN( spell_death_cube );
DECLARE_SPELL_FUN( spell_death_shroud );
DECLARE_SPELL_FUN( spell_powerword_kill );
DECLARE_SPELL_FUN( spell_knock );
DECLARE_SPELL_FUN( spell_blur );
DECLARE_SPELL_FUN( spell_phantasm );
DECLARE_SPELL_FUN( spell_phantasmal_griffon );
DECLARE_SPELL_FUN( spell_illusionary_spectre );
DECLARE_SPELL_FUN( spell_phantom_dragon );
DECLARE_SPELL_FUN( spell_shrink );
DECLARE_SPELL_FUN( spell_enlarge );
DECLARE_SPELL_FUN( spell_veil );
DECLARE_SPELL_FUN( spell_prismatic_spray );
DECLARE_SPELL_FUN( spell_misdirection );
DECLARE_SPELL_FUN( spell_missile_shield );
DECLARE_SPELL_FUN( spell_meteor_swarm );
DECLARE_SPELL_FUN( spell_metabolic_boost );
DECLARE_SPELL_FUN( spell_metabolic_brake );
DECLARE_SPELL_FUN( spell_deluge_water );
DECLARE_SPELL_FUN( spell_shadowform );
DECLARE_SPELL_FUN( spell_shadow_door );
DECLARE_SPELL_FUN( spell_feeblemind );
DECLARE_SPELL_FUN( spell_flame_arrow );
DECLARE_SPELL_FUN( spell_fired_projectile );
DECLARE_SPELL_FUN( spell_iceball );
DECLARE_SPELL_FUN( spell_icicle );
DECLARE_SPELL_FUN( spell_wrath );
DECLARE_SPELL_FUN( spell_ikuzachi );
DECLARE_SPELL_FUN( spell_protection );
DECLARE_SPELL_FUN( spell_holy_armor );
DECLARE_SPELL_FUN( spell_holy_weapon );
DECLARE_SPELL_FUN( spell_shadowdemon );
DECLARE_SPELL_FUN( spell_silence );
DECLARE_SPELL_FUN( spell_singularity );
DECLARE_SPELL_FUN( spell_catalyst );
DECLARE_SPELL_FUN( spell_mana_transfer );
DECLARE_SPELL_FUN( spell_mental_knife );
DECLARE_SPELL_FUN( spell_tesseract );
DECLARE_SPELL_FUN( spell_demon_summon );
DECLARE_SPELL_FUN( spell_scourge );
DECLARE_SPELL_FUN( spell_shadowlife );
DECLARE_SPELL_FUN( spell_knight );
DECLARE_SPELL_FUN( spell_marshall );
DECLARE_SPELL_FUN( spell_shield_justice );
DECLARE_SPELL_FUN( spell_guard_call );
DECLARE_SPELL_FUN( spell_hound_call );
DECLARE_SPELL_FUN( spell_nightwalker );
DECLARE_SPELL_FUN( spell_numbness );
DECLARE_SPELL_FUN( spell_disperse );
DECLARE_SPELL_FUN( spell_chaos_blade );
DECLARE_SPELL_FUN( spell_randomizer );
DECLARE_SPELL_FUN( spell_doppelganger );
DECLARE_SPELL_FUN( spell_manacles );
DECLARE_SPELL_FUN( spell_nightfall );
DECLARE_SPELL_FUN( spell_mirror_cloak );
DECLARE_SPELL_FUN( spell_mirror_image );
DECLARE_SPELL_FUN( spell_sense_evil );
DECLARE_SPELL_FUN( spell_sentinel_call );
DECLARE_SPELL_FUN( spell_mana_shield );
DECLARE_SPELL_FUN( spell_turn_undead );
DECLARE_SPELL_FUN( spell_garble );
DECLARE_SPELL_FUN( spell_stallion );
DECLARE_SPELL_FUN( spell_stand_ground );
DECLARE_SPELL_FUN( spell_create_artifact );
DECLARE_SPELL_FUN( spell_mimic );
DECLARE_SPELL_FUN( spell_nexus );
DECLARE_SPELL_FUN( spell_nerve_amp );
DECLARE_SPELL_FUN( spell_servant );
DECLARE_SPELL_FUN( spell_serpent );
DECLARE_SPELL_FUN( spell_thunder_storm );
DECLARE_SPELL_FUN( spell_curse_weapon );
DECLARE_SPELL_FUN( spell_divine_retribution);
DECLARE_SPELL_FUN( spell_divine_int);
DECLARE_SPELL_FUN( spell_esuna );
DECLARE_SPELL_FUN( spell_holy_water );
DECLARE_SPELL_FUN( spell_barrier );
DECLARE_SPELL_FUN( spell_vitalize );
DECLARE_SPELL_FUN( spell_vitality );
DECLARE_SPELL_FUN( spell_visitation );
DECLARE_SPELL_FUN( spell_sacrifice );
DECLARE_SPELL_FUN( spell_heavens_gate );
DECLARE_SPELL_FUN( spell_rejuvenate );
DECLARE_SPELL_FUN( spell_prayer );
DECLARE_SPELL_FUN( spell_spirit_shield );
DECLARE_SPELL_FUN( spell_spell_vise );
DECLARE_SPELL_FUN( spell_soul_pump );
DECLARE_SPELL_FUN( spell_masochism );
DECLARE_SPELL_FUN( spell_spell_blast );
DECLARE_SPELL_FUN( spell_total_recall );
DECLARE_SPELL_FUN( spell_brain_death );
DECLARE_SPELL_FUN( spell_mana_trap );
DECLARE_SPELL_FUN( spell_spell_vise );
DECLARE_SPELL_FUN( spell_spell_trap );
DECLARE_SPELL_FUN( spell_group_recall );
DECLARE_SPELL_FUN( spell_greenheart );
DECLARE_SPELL_FUN( spell_blasphemy );
DECLARE_SPELL_FUN( spell_demonic_visage );
DECLARE_SPELL_FUN( spell_blanket_darkness );
DECLARE_SPELL_FUN( spell_enfeeblement );
DECLARE_SPELL_FUN( spell_mass_hysteria );
DECLARE_SPELL_FUN( spell_ethereal_passage );
DECLARE_SPELL_FUN( spell_insomnia );
DECLARE_SPELL_FUN( spell_phantom_grasp );
DECLARE_SPELL_FUN( spell_dysentery );
DECLARE_SPELL_FUN( spell_dark_shroud );
DECLARE_SPELL_FUN( spell_deteriorate );
DECLARE_SPELL_FUN( spell_cure_dysentery );
DECLARE_SPELL_FUN( spell_cure_insomnia );
DECLARE_SPELL_FUN( spell_remove_hysteria );
DECLARE_SPELL_FUN( spell_abduction );
DECLARE_SPELL_FUN( spell_accession );
DECLARE_SPELL_FUN( spell_ward_of_light );
DECLARE_SPELL_FUN( spell_ward_curse );
DECLARE_SPELL_FUN( spell_ward_faith );
DECLARE_SPELL_FUN( spell_vocalize );
DECLARE_SPELL_FUN( spell_morph );
DECLARE_SPELL_FUN( spell_molecular_leash );
DECLARE_SPELL_FUN( spell_dark_meta );
DECLARE_SPELL_FUN( spell_soul_steal );
DECLARE_SPELL_FUN( spell_bloodlust );
DECLARE_SPELL_FUN( spell_twilight_shift );
DECLARE_SPELL_FUN( spell_ecstacy );
DECLARE_SPELL_FUN( spell_shadowstalk );
DECLARE_SPELL_FUN( spell_darklife );
DECLARE_SPELL_FUN( spell_mind_thrust );
DECLARE_SPELL_FUN( spell_mind_disruption );
DECLARE_SPELL_FUN( spell_mind_blast );
DECLARE_SPELL_FUN( spell_minister );
DECLARE_SPELL_FUN( spell_psychic_crush );
DECLARE_SPELL_FUN( spell_psionic_blast );
DECLARE_SPELL_FUN( spell_psi_amp );
DECLARE_SPELL_FUN( spell_psi_control );
DECLARE_SPELL_FUN( spell_psychic_purge );
DECLARE_SPELL_FUN( spell_photon );
DECLARE_SPELL_FUN( spell_photon_blast );
DECLARE_SPELL_FUN( spell_flesh_armor );
DECLARE_SPELL_FUN( spell_detect_aura );
DECLARE_SPELL_FUN( spell_displacement );
DECLARE_SPELL_FUN( spell_awaken );
DECLARE_SPELL_FUN( spell_awaken_life );
DECLARE_SPELL_FUN( spell_mental_drain );
DECLARE_SPELL_FUN( spell_iron_will );
DECLARE_SPELL_FUN( spell_cell_adjustment );
DECLARE_SPELL_FUN( spell_bio_manipulation );
DECLARE_SPELL_FUN( spell_bind_spirit );
DECLARE_SPELL_FUN( spell_ego_whip );
DECLARE_SPELL_FUN( spell_tele_lock );
DECLARE_SPELL_FUN( spell_enhance_armor );
DECLARE_SPELL_FUN( spell_there_not_there );
DECLARE_SPELL_FUN( spell_blink );
DECLARE_SPELL_FUN( spell_phase_shift );
DECLARE_SPELL_FUN( spell_mind_store );
DECLARE_SPELL_FUN( spell_levitate );
DECLARE_SPELL_FUN( spell_gravitate );
DECLARE_SPELL_FUN( spell_bio_feedback );
DECLARE_SPELL_FUN( spell_psychic_healing );
DECLARE_SPELL_FUN( spell_pyramid_of_force );
DECLARE_SPELL_FUN( spell_pyro_kinesis );
DECLARE_SPELL_FUN( spell_cryo_kinesis );
DECLARE_SPELL_FUN( spell_hydro_kinesis );
DECLARE_SPELL_FUN( spell_electro_kinesis );
DECLARE_SPELL_FUN( spell_elemental_call );
DECLARE_SPELL_FUN( spell_tele_kinesis );
DECLARE_SPELL_FUN( spell_terror );
DECLARE_SPELL_FUN( spell_body_weaponry );
DECLARE_SPELL_FUN( spell_ectoplasm );
DECLARE_SPELL_FUN( spell_hypnosis );
DECLARE_SPELL_FUN( spell_field_of_fear );
DECLARE_SPELL_FUN( spell_control_flames );
DECLARE_SPELL_FUN( spell_forget );
DECLARE_SPELL_FUN( spell_graft_weapon );
DECLARE_SPELL_FUN( spell_ballistic_attack );
DECLARE_SPELL_FUN( spell_mental_barrier );
DECLARE_SPELL_FUN( spell_psychic_shout );
DECLARE_SPELL_FUN( spell_clairvoyance );
DECLARE_SPELL_FUN( spell_duplicate );
DECLARE_SPELL_FUN( spell_ghoul_touch );
DECLARE_SPELL_FUN( spell_eternal_day );
DECLARE_SPELL_FUN( spell_everlasting_night );
DECLARE_SPELL_FUN( spell_dispel_undead );
DECLARE_SPELL_FUN( spell_apathey );
DECLARE_SPELL_FUN( spell_feedback );
DECLARE_SPELL_FUN( spell_restore_faith );
DECLARE_SPELL_FUN( spell_cure_mana );
DECLARE_SPELL_FUN( spell_virtuous_light );
DECLARE_SPELL_FUN( spell_virtues );
DECLARE_SPELL_FUN( spell_assist );
DECLARE_SPELL_FUN( spell_unholy_strength );
DECLARE_SPELL_FUN( spell_unholy_gift );
DECLARE_SPELL_FUN( spell_hex );
DECLARE_SPELL_FUN( spell_stalker );
DECLARE_SPELL_FUN( spell_arms_of_gaia );
DECLARE_SPELL_FUN( spell_mbanish );
DECLARE_SPELL_FUN( spell_thorn_shield );
DECLARE_SPELL_FUN( spell_forest_mist );
DECLARE_SPELL_FUN( spell_forestmeld );
/* BATTLE MAGE */
DECLARE_SPELL_FUN( spell_forcefield );
DECLARE_SPELL_FUN( spell_terra_shield );
DECLARE_SPELL_FUN( spell_loc_grav );
DECLARE_SPELL_FUN( spell_rust );
DECLARE_SPELL_FUN( spell_air_shield );
DECLARE_SPELL_FUN( spell_blades );
DECLARE_SPELL_FUN( spell_sharpmetal );
DECLARE_SPELL_FUN( spell_plumbum );
DECLARE_SPELL_FUN( spell_sear );
DECLARE_SPELL_FUN( spell_dan_blade );
DECLARE_SPELL_FUN( spell_manalock );
DECLARE_SPELL_FUN( spell_ref_shield );
DECLARE_SPELL_FUN( spell_drug_use );
bool cancel_psi_spells( CHAR_DATA* ch, int csn );
int calc_saves(int level, CHAR_DATA* victim, int dam_type, int spell_type );
bool psiamp_failed( CHAR_DATA* ch, CHAR_DATA* victim, int level, int dam_type, int spell_type, int gn_bits );