#include "AppHdr.h"
#include "spl-util.h"
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <limits.h>
#include <algorithm>
#include "externs.h"
#include "beam.h"
#include "coord.h"
#include "coordit.h"
#include "directn.h"
#include "debug.h"
#include "godabil.h"
#include "stuff.h"
#include "env.h"
#include "libutil.h"
#include "mon-behv.h"
#include "mon-util.h"
#include "notes.h"
#include "player.h"
#include "religion.h"
#include "spl-cast.h"
#include "spl-book.h"
#include "spl-damage.h"
#include "spl-zap.h"
#include "terrain.h"
#include "item_use.h"
#include "transform.h"
#include "spl-data.h"
Classes | |
struct | spell_desc |
Defines | |
#define | SPELLDATASIZE (sizeof(spelldata)/sizeof(struct spell_desc)) |
Typedefs | |
typedef std::map< std::string, spell_type > | spell_name_map |
Functions | |
void | init_spell_descs (void) |
void | init_spell_name_cache () |
spell_type | spell_by_name (std::string name, bool partial_match) |
spschool_flag_type | school_by_name (std::string name) |
int | get_spell_slot_by_letter (char letter) |
int | get_spell_slot (spell_type spell) |
spell_type | get_spell_by_letter (char letter) |
bool | add_spell_to_memory (spell_type spell) |
bool | del_spell_from_memory_by_slot (int slot) |
bool | del_spell_from_memory (spell_type spell) |
int | spell_hunger (spell_type which_spell, bool rod) |
bool | spell_needs_tracer (spell_type spell) |
bool | spell_is_direct_explosion (spell_type spell) |
bool | spell_needs_foe (spell_type spell) |
bool | spell_harms_target (spell_type spell) |
bool | spell_harms_area (spell_type spell) |
bool | spell_sanctuary_castable (spell_type spell) |
int | spell_mana (spell_type which_spell) |
int | spell_difficulty (spell_type which_spell) |
int | spell_levels_required (spell_type which_spell) |
unsigned int | get_spell_flags (spell_type which_spell) |
const char * | get_spell_target_prompt (spell_type which_spell) |
bool | spell_typematch (spell_type which_spell, unsigned int which_discipline) |
unsigned int | get_spell_disciplines (spell_type spell) |
int | count_bits (unsigned int bits) |
bool | disciplines_conflict (unsigned int disc1, unsigned int disc2) |
const char * | spell_title (spell_type spell) |
int | apply_area_visible (cell_func cf, int power, bool pass_through_trans, actor *agent) |
int | apply_area_square (cell_func cf, const coord_def &where, int power, actor *agent) |
int | apply_area_around_square (cell_func cf, const coord_def &where, int power, actor *agent) |
int | apply_monsters_around_square (monster_func mf, const coord_def &where, int power) |
int | apply_random_around_square (cell_func cf, const coord_def &where, bool exclude_center, int power, int max_targs, actor *agent) |
int | apply_one_neighbouring_square (cell_func cf, int power, actor *agent) |
int | apply_area_within_radius (cell_func cf, const coord_def &where, int pow, int radius, int ctype, actor *agent) |
void | apply_area_cloud (cloud_func func, const coord_def &where, int pow, int number, cloud_type ctype, const actor *agent, int spread_rate, int colour, std::string name, std::string tile) |
bool | spell_direction (dist &spelld, bolt &pbolt, targeting_type restrict, targ_mode_type mode, int range, bool needs_path, bool may_target_monster, bool may_target_self, const char *target_prefix, const char *top_prompt, bool cancel_at_self) |
const char * | spelltype_short_name (int which_spelltype) |
const char * | spelltype_long_name (int which_spelltype) |
skill_type | spell_type2skill (unsigned int spelltype) |
bool | is_valid_spell (spell_type spell) |
int | spell_power_cap (spell_type spell) |
int | spell_range (spell_type spell, int pow, bool real_cast, bool player_spell) |
int | spell_noise (spell_type spell) |
int | spell_noise (unsigned int disciplines, int level) |
spell_type | zap_type_to_spell (zap_type zap) |
bool | spell_is_empowered (spell_type spell) |
bool | spell_is_useless (spell_type spell, bool transient) |
int | spell_highlight_by_utility (spell_type spell, int default_color, bool transient, bool rod_spell) |
bool | spell_no_hostile_in_range (spell_type spell, int minRange) |
#define SPELLDATASIZE (sizeof(spelldata)/sizeof(struct spell_desc)) |
typedef std::map<std::string, spell_type> spell_name_map |
bool add_spell_to_memory | ( | spell_type | spell | ) |
void apply_area_cloud | ( | cloud_func | func, | |
const coord_def & | where, | |||
int | pow, | |||
int | number, | |||
cloud_type | ctype, | |||
const actor * | agent, | |||
int | spread_rate, | |||
int | colour, | |||
std::string | name, | |||
std::string | tile | |||
) |
int apply_area_within_radius | ( | cell_func | cf, | |
const coord_def & | where, | |||
int | pow, | |||
int | radius, | |||
int | ctype, | |||
actor * | agent | |||
) |
int apply_monsters_around_square | ( | monster_func | mf, | |
const coord_def & | where, | |||
int | power | |||
) |
int apply_random_around_square | ( | cell_func | cf, | |
const coord_def & | where, | |||
bool | exclude_center, | |||
int | power, | |||
int | max_targs, | |||
actor * | agent | |||
) |
int count_bits | ( | unsigned int | bits | ) |
bool del_spell_from_memory | ( | spell_type | spell | ) |
bool del_spell_from_memory_by_slot | ( | int | slot | ) |
bool disciplines_conflict | ( | unsigned int | disc1, | |
unsigned int | disc2 | |||
) |
spell_type get_spell_by_letter | ( | char | letter | ) |
unsigned int get_spell_disciplines | ( | spell_type | spell | ) |
unsigned int get_spell_flags | ( | spell_type | which_spell | ) |
int get_spell_slot | ( | spell_type | spell | ) |
int get_spell_slot_by_letter | ( | char | letter | ) |
const char* get_spell_target_prompt | ( | spell_type | which_spell | ) |
void init_spell_descs | ( | void | ) |
void init_spell_name_cache | ( | ) |
bool is_valid_spell | ( | spell_type | spell | ) |
spschool_flag_type school_by_name | ( | std::string | name | ) |
spell_type spell_by_name | ( | std::string | name, | |
bool | partial_match | |||
) |
int spell_difficulty | ( | spell_type | which_spell | ) |
bool spell_direction | ( | dist & | spelld, | |
bolt & | pbolt, | |||
targeting_type | restrict, | |||
targ_mode_type | mode, | |||
int | range, | |||
bool | needs_path, | |||
bool | may_target_monster, | |||
bool | may_target_self, | |||
const char * | target_prefix, | |||
const char * | top_prompt, | |||
bool | cancel_at_self | |||
) |
bool spell_harms_area | ( | spell_type | spell | ) |
bool spell_harms_target | ( | spell_type | spell | ) |
int spell_highlight_by_utility | ( | spell_type | spell, | |
int | default_color, | |||
bool | transient, | |||
bool | rod_spell | |||
) |
int spell_hunger | ( | spell_type | which_spell, | |
bool | rod | |||
) |
bool spell_is_direct_explosion | ( | spell_type | spell | ) |
bool spell_is_empowered | ( | spell_type | spell | ) |
bool spell_is_useless | ( | spell_type | spell, | |
bool | transient | |||
) |
int spell_levels_required | ( | spell_type | which_spell | ) |
int spell_mana | ( | spell_type | which_spell | ) |
bool spell_needs_foe | ( | spell_type | spell | ) |
bool spell_needs_tracer | ( | spell_type | spell | ) |
bool spell_no_hostile_in_range | ( | spell_type | spell, | |
int | minRange | |||
) |
int spell_noise | ( | unsigned int | disciplines, | |
int | level | |||
) |
int spell_noise | ( | spell_type | spell | ) |
int spell_power_cap | ( | spell_type | spell | ) |
int spell_range | ( | spell_type | spell, | |
int | pow, | |||
bool | real_cast, | |||
bool | player_spell | |||
) |
bool spell_sanctuary_castable | ( | spell_type | spell | ) |
const char* spell_title | ( | spell_type | spell | ) |
skill_type spell_type2skill | ( | unsigned int | spelltype | ) |
bool spell_typematch | ( | spell_type | which_spell, | |
unsigned int | which_discipline | |||
) |
const char* spelltype_long_name | ( | int | which_spelltype | ) |
const char* spelltype_short_name | ( | int | which_spelltype | ) |
spell_type zap_type_to_spell | ( | zap_type | zap | ) |