diff options
author | Bardur Arantsson <bardur@scientician.net> | 2012-06-30 08:51:51 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2012-06-30 20:40:26 +0200 |
commit | 763a1c383895f5f04d025ba6ebf79aee9425df70 (patch) | |
tree | baaed2501a0a9815ee95261d856661244128c682 /src/types.h | |
parent | f7e87bc98111f97ca489e1f13999058a7df8171e (diff) |
Change spell_type to a semi-ADT
Diffstat (limited to 'src/types.h')
-rw-r--r-- | src/types.h | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/types.h b/src/types.h index 825e25ab..c921d028 100644 --- a/src/types.h +++ b/src/types.h @@ -2569,72 +2569,6 @@ struct skill_type u32b flags1; /* Skill flags */ }; - -/* - * School index list. - */ -typedef struct school_idx school_idx; -struct school_idx { - s32b i; /* School index */ - school_idx *next; /* for list */ -}; - - -/* - * Casting type - */ -typedef enum { USE_SPELL_POINTS, USE_PIETY } casting_type; - - -/* - * Spell effect function result - */ -typedef enum { - NO_CAST, /* Spell not cast; user aborted */ - CAST_OBVIOUS, /* Cast; caster discovers effect (devices) */ - CAST_HIDDEN /* Cast; caster does NOT discover effect (devices) */ -} casting_result; - -/* - * The spell function must provide the desc - */ -typedef struct spell_type spell_type; -struct spell_type -{ - cptr name; /* Name */ - byte skill_level; /* Required level (to learn) */ - string_list *description; /* List of strings */ - - casting_result (*effect_func)(int o_idx); /* Spell effect function */ - char* (*info_func)(); /* Information function */ - int (*lasting_func)(); /* Lasting effect function */ - bool_ (*depend_func)(); /* Check dependencies */ - - s16b minimum_pval; /* Minimum required pval for item-based spells */ - - casting_type casting_type; /* Type of casting required */ - s16b casting_stat; /* Stat used for casting */ - - bool_ castable_while_blind; - bool_ castable_while_confused; - - dice_type device_charges; /* Number of charges for devices */ - device_allocation *device_allocation; /* Allocation table for devices */ - - s16b random_type; /* Type of random items in which skill may appear */ - - s32b failure_rate; /* Failure rate */ - - s32b inertia_difficulty; /* Mana cost when used in Inertia Control */ - s32b inertia_delay; /* Delay between castings */ - - range_type mana_range; - - dice_type activation_duration; /* Duration for activation (if any) */ - - school_idx *schools; -}; - typedef struct school_provider school_provider; struct school_provider { |