/*
* file: spells.h , Implementation of magic spells. Part of DIKUMUD
* Usage : Spells
*/
#ifndef _SPELLS_H
#define _SPELLS_H
#define MAX_BUF_LENGTH 240
#define STATE(d) ((d)->connected)
#define IS_IMMUNE(ch, bit) (IS_SET((ch)->M_immune, bit))
#define SPELL_TYPE_SPELL 0
#define SPELL_TYPE_POTION 1
#define SPELL_TYPE_WAND 2
#define SPELL_TYPE_STAFF 3
#define SPELL_TYPE_SCROLL 4
#define SAVING_PARA 0
#define SAVING_ROD 1
#define SAVING_PETRI 2
#define SAVING_BREATH 3
#define SAVING_SPELL 4
/* Attacktypes with grammar */
struct attack_hit_type {
const char *singular;
const char *plural;
};
#define TAR_IGNORE (1<< 0)
#define TAR_CHAR_ROOM (1<< 1)
#define TAR_CHAR_WORLD (1<< 2)
#define TAR_FIGHT_SELF (1<< 3)
#define TAR_FIGHT_VICT (1<< 4)
#define TAR_SELF_ONLY (1<< 5) /* Only a check, use with ei. TAR_CHAR_ROOM */
#define TAR_SELF_NONO (1<< 6) /* Only a check, use with ei. TAR_CHAR_ROOM */
#define TAR_OBJ_INV (1<< 7)
#define TAR_OBJ_ROOM (1<< 8)
#define TAR_OBJ_WORLD (1<< 9)
#define TAR_OBJ_EQUIP (1<<10)
#define TAR_NAME (1<<11)
#define TAR_VIOLENT (1<<12)
#define TAR_ROOM (1<<13) /* spells which target the room */
struct spell_info_type {
char castable; /* Is it a castable spell? */
char useable; /* Is it a useable skill? */
const char *name; /* Text name of spell */
void (*spell_pointer) (char level, struct char_data * ch,
const char *arg, int type,
struct char_data * tar_ch,
struct obj_data * tar_obj);
char delay; /* Heartbeats until ready for next */
unsigned char min_mana; /* Amount of mana used by a spell */
unsigned char max_mana;
char minimum_position; /* Position for caster */
short int targets; /* See below for use with TAR_XXX */
char generic_level; /* Level for generic teachings */
int generic_classes; /* Classes allowed to learn generic skills */
char min_level[ABS_MAX_LVL]; /* Level required for the various classes */
};
/* Possible Targets:
*
* bit 0 : IGNORE TARGET
* bit 1 : PC/NPC in room
* bit 2 : PC/NPC in world
* bit 3 : Object held
* bit 4 : Object in inventory
* bit 5 : Object in room
* bit 6 : Object in world
* bit 7 : If fighting, and no argument, select tar_char as self
* bit 8 : If fighting, and no argument, select tar_char as victim (fighting)
* bit 9 : If no argument, select self, if argument check that it IS self.
*/
/*
* just for polymorph spell(s)
*/
struct PolyType {
char name[20];
int level;
int number;
};
#define TYPE_UNDEFINED -1
#define SPELL_RESERVED_DBC 0 /* SKILL NUMBER ZERO */
#define SPELL_ARMOR 1
void spell_armor(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_armor(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_TELEPORT 2
void spell_teleport(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_teleport(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_BLESS 3
void spell_bless(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_bless(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_BLINDNESS 4
void spell_blindness(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_blindness(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_BURNING_HANDS 5
void spell_burning_hands(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_burning_hands(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CALL_LIGHTNING 6
void spell_call_lightning(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_call_lightning(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CHARM_PERSON 7
void spell_charm_person(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_charm_person(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CHILL_TOUCH 8
void spell_chill_touch(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_chill_touch(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CLONE 9
void spell_clone(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_clone(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_COLOUR_SPRAY 10
void spell_colour_spray(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_colour_spray(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CONTROL_WEATHER 11
void spell_control_weather(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_control_weather(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CREATE_FOOD 12
void spell_create_food(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_create_food(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CREATE_WATER 13
void spell_create_water(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_create_water(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CURE_BLIND 14
void spell_cure_blind(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cure_blind(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CURE_CRITIC 15
void spell_cure_critic(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cure_critic(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CURE_LIGHT 16
void spell_cure_light(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cure_light(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CURSE 17
void spell_curse(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_curse(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DETECT_EVIL 18
void spell_detect_evil(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_detect_evil(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DETECT_INVISIBLE 19
void spell_detect_invisibility(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_detect_invisibility(char level,
struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DETECT_MAGIC 20
void spell_detect_magic(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_detect_magic(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DETECT_POISON 21
void spell_detect_poison(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_detect_poison(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DISPEL_EVIL 22
void spell_dispel_evil(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_dispel_evil(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_EARTHQUAKE 23
void spell_earthquake(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_earthquake(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
void spell_new_earthquake(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_new_earthquake(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_ENCHANT_WEAPON 24
void spell_enchant_weapon(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_enchant_weapon(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
void cast_enchant_armor(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_ENERGY_DRAIN 25
void spell_energy_drain(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_energy_drain(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_FIREBALL 26
void spell_fireball(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_fireball(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_HARM 27
void spell_harm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_harm(char level, struct char_data *ch, const char *arg,
int type, struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_HEAL 28
void spell_heal(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_heal(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_INVISIBLE 29
void spell_invisibility(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_invisibility(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_LIGHTNING_BOLT 30
void spell_lightning_bolt(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_lightning_bolt(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_LOCATE_OBJECT 31
void spell_locate_object(char level, struct char_data *ch,
struct char_data *victim,
char *obj);
void cast_locate_object(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MAGIC_MISSILE 32
void spell_magic_missile(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_magic_missile(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_POISON 33
void spell_poison(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_poison(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_PROTECT_FROM_EVIL 34
void spell_protection_from_evil(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_protection_from_evil(char level,
struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_REMOVE_CURSE 35
void spell_remove_curse(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_remove_curse(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SANCTUARY 36
void spell_sanctuary(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_sanctuary(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SHOCKING_GRASP 37
void spell_shocking_grasp(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_shocking_grasp(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_SLEEP 38
void spell_sleep(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_sleep(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_STRENGTH 39
void spell_strength(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_strength(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SUMMON 40
void spell_summon(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_summon(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_VENTRILOQUATE 41
void spell_ventriloquate(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_ventriloquate(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_WORD_OF_RECALL 42
void spell_word_of_recall(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_word_of_recall(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_REMOVE_POISON 43
void spell_remove_poison(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_remove_poison(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SENSE_LIFE 44
void spell_sense_life(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_sense_life(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
/* Skills 45 - 52 already in use! */
#define SPELL_IDENTIFY 53
void spell_improved_identify(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_identify(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_identify(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_INFRAVISION 54
void spell_infravision(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_infravision(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CAUSE_LIGHT 55
void spell_cause_light(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cause_light(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CAUSE_CRITICAL 56
void spell_cause_critical(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cause_critic(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_FLAMESTRIKE 57
void spell_flamestrike(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_flamestrike(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_DISPEL_GOOD 58
void spell_dispel_good(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_dispel_good(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_WEAKNESS 59
void spell_weakness(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_weakness(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DISPEL_MAGIC 60
void spell_dispel_magic(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_dispel_magic(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_KNOCK 61
void cast_knock(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_KNOW_ALIGNMENT 62
void spell_know_alignment(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_know_alignment(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_ANIMATE_DEAD 63
void spell_animate_dead(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *corpse);
void cast_animate_dead(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_PARALYSIS 64
void spell_paralyze(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_paralyze(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_REMOVE_PARALYSIS 65
void spell_remove_paralysis(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_remove_paralysis(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FEAR 66
void spell_fear(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_fear(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_ACID_BLAST 67
void spell_acid_blast(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_acid_blast(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_WATER_BREATH 68
void spell_water_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_water_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FLY 69
void spell_fly(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_flying(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CONE_OF_COLD 70
void spell_cone_of_cold(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cone_of_cold(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_METEOR_SWARM 71
void spell_meteor_swarm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_meteor_swarm(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_ICE_STORM 72
void spell_ice_storm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_ice_storm(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_SHIELD 73
void spell_shield(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_shield(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_1 74
void spell_Create_Monster(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_mon_sum1(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_2 75
void cast_mon_sum2(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_3 76
void cast_mon_sum3(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_4 77
void cast_mon_sum4(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_5 78
void cast_mon_sum5(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_6 79
void cast_mon_sum6(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MON_SUM_7 80
void cast_mon_sum7(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FIRESHIELD 81
void spell_fireshield(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_fireshield(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CHARM_MONSTER 82
void spell_charm_monster(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_charm_monster(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CURE_SERIOUS 83
void spell_cure_serious(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cure_serious(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CAUSE_SERIOUS 84
void spell_cause_serious(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cause_serious(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_REFRESH 85
void spell_refresh(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_refresh(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SECOND_WIND 86
void spell_second_wind(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_second_wind(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_TURN 87
void spell_turn(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_turn(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SUCCOR 88
void spell_succor(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_succor(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_LIGHT 89
void spell_light(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_light(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CONT_LIGHT 90
void spell_cont_light(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cont_light(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CALM 91
void spell_calm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_calm(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_STONE_SKIN 92
void spell_stone_skin(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_stone_skin(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CONJURE_ELEMENTAL 93
void spell_conjure_elemental(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_conjure_elemental(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_TRUE_SIGHT 94
void spell_true_seeing(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_true_seeing(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MINOR_CREATE 95
void spell_minor_create(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_minor_creation(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FAERIE_FIRE 96
void spell_faerie_fire(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_faerie_fire(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FAERIE_FOG 97
void spell_faerie_fog(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_faerie_fog(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_CACAODEMON 98
void spell_cacaodemon(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_cacaodemon(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_POLY_SELF 99
void spell_poly_self(char level, struct char_data *ch,
struct char_data *mob,
struct obj_data *obj);
void cast_poly_self(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_MANA 100
void spell_mana(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_mana(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_ASTRAL_WALK 101
void spell_astral_walk(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_astral_walk(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FLY_GROUP 102
void spell_fly_group(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_fly_group(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_AID 103
void spell_aid(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_aid(char level, struct char_data *ch, const char *arg,
int type, struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_SHELTER 104
void spell_shelter(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_shelter(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_DRAGON_BREATH 105
void cast_dragon_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *potion);
#define SPELL_GOODBERRY 106
void spell_goodberry(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_goodberry(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_VISIONS 107
void spell_visions(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_visions(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define MAX_EXIST_SPELL 107 /* move this and change it */
#define SPELL_H_FEAST 103
#define SPELL_WEB 106
#define SPELL_MINOR_TRACK 107
#define SPELL_MAJOR_TRACK 108
#define SPELL_GOLEM 109
void spell_golem(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_FAMILIAR 110
void spell_familiar(char level, struct char_data *ch,
struct char_data **victim,
struct obj_data *obj);
#define SPELL_CHANGESTAFF 111
void spell_changestaff(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_HOLY_WORD 112
void spell_holy_word(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_holyword(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_UNHOLY_WORD 113
void spell_unholy_word(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_PWORD_KILL 114
void spell_pword_kill(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_PWORD_BLIND 115
void spell_pword_blind(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_CHAIN_LIGHTNING 116
void spell_chain_lightning(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SCARE 117
void spell_scare(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_COMMAND 119
#define SPELL_CHANGE_FORM 120 /* druid... */
#define SPELL_FEEBLEMIND 121
void spell_feeblemind(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SHILLELAGH 122
void spell_shillelagh(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_FLAME_BLADE 124
void spell_flame_blade(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ANIMAL_GROWTH 125
void spell_animal_growth(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_INSECT_GROWTH 126
void spell_insect_growth(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_CREEPING_DEATH 127
void spell_creeping_death(char level, struct char_data *ch,
struct char_data *victim, int dir);
#define SPELL_COMMUNE 128 /* whatzone */
void spell_commune(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ANIMAL_SUM_1 129
void spell_animal_summon(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ANIMAL_SUM_2 130
#define SPELL_ANIMAL_SUM_3 131
#define SPELL_FIRE_SERVANT 132
void spell_elemental_summoning(char level,
struct char_data *ch,
struct char_data *victim,
int spell);
#define SPELL_EARTH_SERVANT 133
#define SPELL_WATER_SERVANT 134
#define SPELL_WIND_SERVANT 135
#define SPELL_REINCARNATE 136
void spell_reincarnate(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_resurrection(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_resurrection(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_CHARM_VEGGIE 137
void spell_charm_veggie(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_VEGGIE_GROWTH 138
void spell_veggie_growth(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_TREE 139
void spell_tree(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ANIMATE_ROCK 140
void spell_animate_rock(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_TREE_TRAVEL 141
void spell_tree_travel(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_TRAVELLING 142 /* faster move outdoors */
void spell_travelling(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ANIMAL_FRIENDSHIP 143
void spell_animal_friendship(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_INVIS_TO_ANIMALS 144
void spell_invis_to_animals(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SLOW_POISON 145
void spell_slow_poison(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_ENTANGLE 146
void spell_entangle(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SNARE 147
void spell_snare(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_GUST_OF_WIND 148
void spell_gust_of_wind(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_BARKSKIN 149
void spell_barkskin(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SUNRAY 150
void spell_sunray(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_WARP_WEAPON 151
void spell_warp_weapon(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_HEAT_STUFF 152
void spell_heat_stuff(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_FIND_TRAPS 153
void spell_find_traps(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_FIRESTORM 154
void spell_firestorm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_HASTE 155 /* other */
void spell_haste(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SLOW 156
void spell_slow(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_DUST_DEVIL 157
void spell_dust_devil(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_KNOW_MONSTER 158
void spell_know_monster(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_TRANSPORT_VIA_PLANT 159
void spell_transport_via_plant(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SPEAK_WITH_PLANT 160
void spell_speak_with_plants(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SILENCE 161
void spell_silence(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_SENDING 162
void spell_sending(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_TELEPORT_WO_ERROR 163
void spell_teleport_wo_error(char level,
struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_PORTAL 164
void spell_portal(char level, struct char_data *ch,
struct char_data *tmp_ch,
struct obj_data *obj);
#define SPELL_DRAGON_RIDE 165
void spell_dragon_ride(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_MOUNT 166
void spell_mount(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_BLADE_BARRIER /* room spell like deal */
#define SPELL_SUMMON_OBJ /* maybe */
void spell_summon_obj(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
#define SPELL_GREEN_SLIME 199
void spell_green_slime(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_green_slime(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_GEYSER 200
void spell_geyser(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_geyser(char level, struct char_data *ch, const char *arg,
int type, struct char_data *victim,
struct obj_data *tar_obj);
#define SPELL_FIRE_BREATH 201
void spell_fire_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_fire_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_GAS_BREATH 202
void spell_gas_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_gas_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_FROST_BREATH 203
void spell_frost_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_frost_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_ACID_BREATH 204
void spell_acid_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_acid_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define SPELL_LIGHTNING_BREATH 205
void spell_lightning_breath(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void cast_lightning_breath(char level, struct char_data *ch,
const char *arg, int type,
struct char_data *tar_ch,
struct obj_data *tar_obj);
#define FIRST_BREATH_WEAPON 200
#define LAST_BREATH_WEAPON 205
/* no defines for these? */
void spell_chain_lightn(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_detect_charm(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_invis_group(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_major_create(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_poison_cloud(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
void spell_prot_align_group(char level, struct char_data *ch,
struct char_data *victim,
struct obj_data *obj);
/* MAX_SKILL is 200! */
#define SKILL_SNEAK 45 /* r,t */
#define SKILL_HIDE 46 /* r,t */
#define SKILL_STEAL 47 /* t */
#define SKILL_BACKSTAB 48 /* t */
#define SKILL_PICK_LOCK 49 /* t */
#define SKILL_KICK 50 /* f */
#define SKILL_BASH 51 /* f */
#define SKILL_RESCUE 52 /* f,r */
#define SKILL_DOOR_BASH 149 /* f,r */
#define SKILL_READ_MAGIC 150 /* f,m,c,t,r */
#define SKILL_SCRIBE 151 /* m,c */
#define SKILL_BREW 152 /* m,c */
#define SKILL_PUNCH 153 /* f,c,r */
#define SKILL_TWO_HANDED 154 /* f,m,c,t,r */
#define SKILL_TWO_WEAPON 155 /* NONE */
#define SKILL_BANDAGE 156 /* f,m,c,t,r */
#define SKILL_SEARCH 157 /* t,r */
#define SKILL_SWIMMING 158 /* f,m,c,t,r */
#define SKILL_ENDURANCE 159 /* f,m,c,r,t */
#define SKILL_BARE_HAND 160 /* f,m,c,t,r */
#define SKILL_BLIND_FIGHTING 161 /* f,c,m,r,t */
#define SKILL_PARRY 162 /* f,r,t NOT PUT IN */
#define SKILL_APRAISE 163 /* f,m,c,t,r */
#define SKILL_SPEC_SMITE 164 /* f */
#define SKILL_SPEC_STAB 165
#define SKILL_SPEC_WHIP 166
#define SKILL_SPEC_SLASH 167
#define SKILL_SPEC_SMASH 168
#define SKILL_SPEC_CLEAVE 169
#define SKILL_SPEC_CRUSH 170
#define SKILL_SPEC_BLUDGE 171
#define SKILL_SPEC_PIERCE 172 /* f */
#define SKILL_PEER 173 /* t,r */
#define SKILL_DETECT_NOISE 174 /* t,r */
#define SKILL_DODGE 175 /* m,c,t,r NOT PUT IN */
#define SKILL_BARTER 176 /* m,c,t */
#define SKILL_KNOCK_OUT 177 /* m,c,t NOT PUT IN */
#define SKILL_SPELLCRAFT 178 /* m,c */
#define SKILL_MEDITATION 179 /* m,c */
#define SKILL_TRACK 180 /* r,t */
#define SKILL_FIND_TRAP 181 /* t */
#define SKILL_DISARM_TRAP 182 /* t */
#define SKILL_DISARM 183 /* f,r */
#define SKILL_BASH_W_SHIELD 184 /* not a useable skill, but included with bash */
#define SKILL_RIDE 185
/*
* #define SKILL_SIGN 171
* #define SKILL_DODGE 174
* #define SKILL_RETREAT 176
* #define SKILL_FEIGN_DEATH 179
* #define SKILL_SPRING_LEAP 182
* #define SKILL_EVALUATE 185
* #define SKILL_SPY 186
* #define SKILL_SWIM 188
*/
#define TYPE_HIT 206
#define TYPE_BLUDGEON 207
#define TYPE_PIERCE 208
#define TYPE_SLASH 209
#define TYPE_WHIP 210 /* EXAMPLE */
#define TYPE_CLAW 211 /* NO MESSAGES WRITTEN YET! */
#define TYPE_BITE 212 /* NO MESSAGES WRITTEN YET! */
#define TYPE_STING 213 /* NO MESSAGES WRITTEN YET! */
#define TYPE_CRUSH 214 /* NO MESSAGES WRITTEN YET! */
#define TYPE_CLEAVE 215
#define TYPE_STAB 216
#define TYPE_SMASH 217
#define TYPE_SMITE 218
#define TYPE_SUFFERING 220
#define TYPE_HUNGER 221
/* More anything but spells and weapontypes can be insterted here! */
#define MAX_TYPES 70
#endif