summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-util.h
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-13 10:06:40 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2008-12-13 10:06:40 +0000
commitf41f4cb56e95d2e36fa21b9504282d9e34eddc75 (patch)
tree81876ac3e22161d7ca0db22df06ce714faf31868 /crawl-ref/source/spl-util.h
parent0b90b4a00a7f9ce543bd3af0ac9388e7f1453509 (diff)
downloadcrawl-ref-f41f4cb56e95d2e36fa21b9504282d9e34eddc75.tar.gz
crawl-ref-f41f4cb56e95d2e36fa21b9504282d9e34eddc75.zip
First draft of the spell noisyness system: spells cast by the player and by
wizard/priest monsters now make noise, with the loudness depending upon level and spell disciplines: conjuration spells have a loudness equal to their level, spells containing only air and/or poison equal to 50% of their level (rounded up), and everything else to 75% of the level (rounded up). This undoudedtly needs rebalancing, and a better level+disciplines -> loudness formula. Also, each spell can have it's loudness tweaked from the default via the noise_mod field of the spell_desc field in spl-data.h, for those spells whose desired loudness don't quite fit into whatever formula is used. The messages used to announce a spell have been moved out to source/dat/database/monspell.txt, which uses the same format and conventions as monspeak.txt. So far this has just been used to make invisible wizard/priest monsters give a message to the player if the player can hear them cast, and also to make curse skulls and Murray not "gesture wildly". However, it could be used to give a greater variety of spell announcement messages based upon the spell used or the monster's type/species/genus, and/or to give multi-part messages. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7820 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spl-util.h')
-rw-r--r--crawl-ref/source/spl-util.h26
1 files changed, 2 insertions, 24 deletions
diff --git a/crawl-ref/source/spl-util.h b/crawl-ref/source/spl-util.h
index 789ab34f41..c41fa1bb4f 100644
--- a/crawl-ref/source/spl-util.h
+++ b/crawl-ref/source/spl-util.h
@@ -37,30 +37,6 @@ enum spschool_flag_type
struct bolt;
struct dist;
-struct spell_desc
-{
- int id;
- const char *title;
- unsigned int disciplines; // bitfield
- unsigned int flags; // bitfield
- unsigned int level;
- int power_cap;
-
- // At power 0, you get min_range. At power power_cap, you get max_range.
- int min_range;
- int max_range;
-
- const char *target_prompt;
-
-
- // If a monster is casting this, does it need a tracer?
- bool ms_needs_tracer;
-
- // The spell can be used no matter what the monster's foe is.
- bool ms_utility;
-};
-
-
bool is_valid_spell(spell_type spell);
void init_spell_descs(void);
void init_spell_name_cache();
@@ -79,6 +55,8 @@ int spell_mana(spell_type which_spell);
int spell_difficulty(spell_type which_spell);
int spell_power_cap(spell_type spell);
int spell_range(spell_type spell, int pow, bool real_cast);
+int spell_noise(spell_type spell);
+int spell_noise(unsigned int disciplines, int level);
const char *get_spell_target_prompt( spell_type which_spell );