/*************************************************************************** * 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 );