/* * RAM $Id: magic.h 7 2008-10-13 15:50:28Z ram $ */ /*************************************************************************** * 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 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. * * * * 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 * ***************************************************************************/ extern const char *target_name; int skill_lookup( const char *name ); int find_spell( CHAR_DATA *ch, const char *name ); int slot_lookup( int slot ); void say_spell( CHAR_DATA *ch, int sn ); bool saves_spell( int level, CHAR_DATA *victim, int dam_type ); bool saves_dispel( int dis_level, int spell_level, int duration); bool check_dispel( int dis_level, CHAR_DATA *victim, int sn); int mana_cost (CHAR_DATA *ch, int min_mana, int level); void obj_cast_spell( int sn, int level, CHAR_DATA *ch, CHAR_DATA *victim, OBJ_DATA *obj ); /* * Spell functions. * Defined in magic.c. */ void spell_null( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_acid_blast( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_armor( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_bless( int sn, int level, CHAR_DATA *ch, void *vo, int target); void spell_blindness( int sn, int level, CHAR_DATA *ch, void *vo, int target); void spell_burning_hands(int sn,int level, CHAR_DATA *ch, void *vo, int target); void spell_call_lightning( int sn, int level,CHAR_DATA *ch,void *vo,int target); void spell_calm( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_cancellation( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_cause_light( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_cause_critical(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_cause_serious(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_chain_lightning(int sn,int level,CHAR_DATA *ch, void *vo,int target); void spell_change_sex( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_charm_person( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_chill_touch( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_colour_spray( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_continual_light(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_control_weather(int sn,int level,CHAR_DATA *ch,void *vo,int target) ; void spell_create_food( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_create_rose( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_create_spring(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_create_water( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_cure_blindness(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_cure_critical( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_cure_disease( int sn, int level, CHAR_DATA *ch,void *vo,int target); void spell_cure_light( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_cure_poison( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_cure_serious( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_curse( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_demonfire(int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_detect_evil( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_detect_good( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_detect_hidden(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_detect_invis( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_detect_magic( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_detect_poison( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_dispel_evil( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_dispel_good( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_dispel_magic( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_earthquake( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_enchant_armor( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_enchant_weapon(int sn,int level,CHAR_DATA *ch, void *vo,int target); void spell_energy_drain( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_fireball( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_fireproof(int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_flamestrike( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_faerie_fire( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_faerie_fog( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_floating_disc( int sn, int level,CHAR_DATA *ch,void *vo,int target ); void spell_fly( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_frenzy(int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_gate( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_giant_strength(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_harm( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_haste( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_heal( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_heat_metal( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_holy_word(int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_identify( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_infravision( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_invis( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_know_alignment(int sn,int level,CHAR_DATA *ch,void *vo,int target ); void spell_lightning_bolt(int sn, int level,CHAR_DATA *ch,void *vo,int target); void spell_locate_object( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_magic_missile( int sn, int level, CHAR_DATA *ch,void *vo,int target); void spell_mass_healing(int sn, int level, CHAR_DATA *ch, void *vo, int target); void spell_mass_invis( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_pass_door( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_plague( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_poison( int sn, int level, CHAR_DATA *ch, void *vo, int target ); void spell_protection_evil(int sn,int level,CHAR_DATA *ch,void *vo, int target); void spell_protection_good(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_ray_of_truth (int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_recharge( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_refresh( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_remove_curse( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_sanctuary( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_shield( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_shocking_grasp(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_sleep( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_slow( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_stone_skin( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_summon( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_teleport( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_ventriloquate( int sn, int level, CHAR_DATA *ch,void *vo,int target); void spell_weaken( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_word_of_recall( int sn, int level, CHAR_DATA *ch,void *vo,int target); void spell_acid_breath( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_fire_breath( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_frost_breath( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_gas_breath( int sn, int level, CHAR_DATA *ch, void *vo,int target ); void spell_lightning_breath(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_general_purpose(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_high_explosive(int sn,int level,CHAR_DATA *ch,void *vo,int target); void spell_farsight( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_portal( int sn, int level, CHAR_DATA *ch, void *vo,int target); void spell_nexus( int sn, int level, CHAR_DATA *ch, void *vo, int target); ;