summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/externs.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-29 16:09:35 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-29 16:09:35 +0000
commitf5d7515c3cd305b003f95ac5c636eb0c529a0b9c (patch)
treeefca9d3347f9806a1088a2a90fd5f3d7ba03e2d9 /crawl-ref/source/externs.h
parent14c07a62dab6301ce6e7613786c584b12be85c80 (diff)
downloadcrawl-ref-f5d7515c3cd305b003f95ac5c636eb0c529a0b9c.tar.gz
crawl-ref-f5d7515c3cd305b003f95ac5c636eb0c529a0b9c.zip
Implement divination miscasts for orange statues, fix silver and orange statues to attack monsters as they attack the player. Also fix clouds not being cleared on level reset in dungeon.cc.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8017 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/externs.h')
-rw-r--r--crawl-ref/source/externs.h31
1 files changed, 19 insertions, 12 deletions
diff --git a/crawl-ref/source/externs.h b/crawl-ref/source/externs.h
index 4c11d2a6e0..134c247218 100644
--- a/crawl-ref/source/externs.h
+++ b/crawl-ref/source/externs.h
@@ -338,10 +338,10 @@ public:
virtual void teleport(bool right_now = false, bool abyss_shift = false) = 0;
virtual void poison(actor *attacker, int amount = 1) = 0;
virtual bool sicken(int amount) = 0;
- virtual void paralyse(int strength) = 0;
- virtual void petrify(int strength) = 0;
- virtual void slow_down(int strength) = 0;
- virtual void confuse(int strength) = 0;
+ virtual void paralyse(actor *attacker, int strength) = 0;
+ virtual void petrify(actor *attacker, int strength) = 0;
+ virtual void slow_down(actor *attacker, int strength) = 0;
+ virtual void confuse(actor *attacker, int strength) = 0;
virtual void rot(actor *attacker, int rotlevel, int immediate_rot) = 0;
virtual void expose_to_element(beam_type element, int strength = 0) = 0;
virtual void drain_stat(int stat, int amount, actor* attacker) { }
@@ -1061,10 +1061,10 @@ public:
void make_hungry(int nutrition, bool silent = true);
void poison(actor *agent, int amount = 1);
bool sicken(int amount);
- void paralyse(int str);
- void petrify(int str);
- void slow_down(int str);
- void confuse(int strength);
+ void paralyse(actor *, int str);
+ void petrify(actor *, int str);
+ void slow_down(actor *, int str);
+ void confuse(actor *, int strength);
void rot(actor *agent, int rotlevel, int immed_rot);
void heal(int amount, bool max_too = false);
int hurt(const actor *attacker, int amount,
@@ -1323,6 +1323,8 @@ public:
void react_to_damage(int damage, beam_type flavour);
+ void forget_random_spell();
+
void add_enchantment_effect(const mon_enchant &me, bool quiet = false);
void remove_enchantment_effect(const mon_enchant &me, bool quiet = false);
void apply_enchantments();
@@ -1489,10 +1491,10 @@ public:
void poison(actor *agent, int amount = 1);
bool sicken(int strength);
- void paralyse(int str);
- void petrify(int str);
- void slow_down(int str);
- void confuse(int strength);
+ void paralyse(actor *, int str);
+ void petrify(actor *, int str);
+ void slow_down(actor *, int str);
+ void confuse(actor *, int strength);
void rot(actor *agent, int rotlevel, int immed_rot);
int hurt(const actor *attacker, int amount,
beam_type flavour = BEAM_MISSILE,
@@ -1559,6 +1561,11 @@ struct cloud_struct
kill_category whose;
killer_type killer;
+ cloud_struct() : pos(), type(CLOUD_NONE), decay(0), spread_rate(0),
+ whose(KC_OTHER), killer(KILL_NONE)
+ {
+ }
+
void set_whose(kill_category _whose);
void set_killer(killer_type _killer);