summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-util.h
diff options
context:
space:
mode:
authordolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-19 21:02:48 +0000
committerdolorous <dolorous@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-19 21:02:48 +0000
commit96edac1d649d50f9cfacf317c88007783657c55f (patch)
treef6df66bbb1e96cf067eb1c4dd3bf506cb167c056 /crawl-ref/source/spl-util.h
parente40eb81627b79763549583a56ebd2cd1f91d337c (diff)
downloadcrawl-ref-96edac1d649d50f9cfacf317c88007783657c55f.tar.gz
crawl-ref-96edac1d649d50f9cfacf317c88007783657c55f.zip
Expand effect applicator functions to take an actor parameter, and use
it for holy word in order to generalize it. This way, monsters as well as players may be able to use it in the future. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8598 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spl-util.h')
-rw-r--r--crawl-ref/source/spl-util.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/crawl-ref/source/spl-util.h b/crawl-ref/source/spl-util.h
index 2a916a4b32..0342fcc076 100644
--- a/crawl-ref/source/spl-util.h
+++ b/crawl-ref/source/spl-util.h
@@ -79,25 +79,34 @@ const char *spell_title(spell_type which_spell);
const char* spelltype_short_name( int which_spelltype );
const char* spelltype_long_name( int which_spelltype );
-typedef int cell_func(coord_def where, int pow, int aux);
+typedef int cell_func(coord_def where, int pow, int aux, actor *agent);
typedef int cloud_func(coord_def where, int pow, int spreadrate,
cloud_type type, kill_category whose,
killer_type killer);
int apply_area_visible(cell_func cf, int power,
- bool pass_through_trans = false);
+ bool pass_through_trans = false, actor *agent = NULL);
-int apply_area_square(cell_func cf, const coord_def& where, int power);
+int apply_area_square(cell_func cf, const coord_def& where, int power,
+ actor *agent = NULL);
-int apply_area_around_square(cell_func cf, const coord_def& where, int power );
+int apply_area_around_square(cell_func cf, const coord_def& where, int power,
+ actor *agent = NULL);
-int apply_random_around_square( cell_func cf, const coord_def& where,
- bool hole_in_middle, int power, int max_targs );
+int apply_random_around_square(cell_func cf, const coord_def& where,
+ bool hole_in_middle, int power, int max_targs,
+ actor *agent = NULL);
-int apply_one_neighbouring_square(cell_func cf, int power);
+int apply_one_neighbouring_square(cell_func cf, int power, actor *agent = NULL);
int apply_area_within_radius(cell_func cf, const coord_def& where,
- int pow, int radius, int ctype);
+ int pow, int radius, int ctype,
+ actor *agent = NULL);
+
+void apply_area_cloud(cloud_func func, const coord_def& where,
+ int pow, int number, cloud_type ctype,
+ kill_category kc, killer_type killer,
+ int spread_rate = -1);
bool spell_direction( dist &spelld, bolt &pbolt,
targeting_type restrict = DIR_NONE,
@@ -107,11 +116,6 @@ bool spell_direction( dist &spelld, bolt &pbolt,
bool may_target_self = false, const char *prompt = NULL,
bool cancel_at_self = false );
-void apply_area_cloud(cloud_func func, const coord_def& where,
- int pow, int number, cloud_type ctype,
- kill_category kc, killer_type killer,
- int spread_rate = -1);
-
const char *spelltype_name(unsigned int which_spelltype);
int spell_type2skill (unsigned int which_spelltype);