summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spells1.cc
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-24 10:59:41 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-24 10:59:41 +0000
commita9f1fec61232ffd3c80b7a6589bcca31b8524aff (patch)
tree481c9e95cb4ab7839824f6a8e3f2805db86fd0a7 /crawl-ref/source/spells1.cc
parente6e4a21b991c9f51b42b992fc4137791ea08c987 (diff)
downloadcrawl-ref-a9f1fec61232ffd3c80b7a6589bcca31b8524aff.tar.gz
crawl-ref-a9f1fec61232ffd3c80b7a6589bcca31b8524aff.zip
Helm card can now have a shield effect. (Well, sort of.)
Antimagic shouldn't cancel kenku permaflight. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1635 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/spells1.cc')
-rw-r--r--crawl-ref/source/spells1.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/crawl-ref/source/spells1.cc b/crawl-ref/source/spells1.cc
index 973b82a2e7..9c783f89c5 100644
--- a/crawl-ref/source/spells1.cc
+++ b/crawl-ref/source/spells1.cc
@@ -691,18 +691,22 @@ void abjuration(int pow)
void antimagic()
{
duration_type dur_list[] = {
- DUR_HASTE, DUR_SLOW, DUR_PARALYSIS, DUR_CONF,
- DUR_MIGHT, DUR_INVIS, DUR_FIRE_SHIELD,
- DUR_WEAPON_BRAND, DUR_ICY_ARMOUR, DUR_REPEL_MISSILES, DUR_REGENERATION,
- DUR_DEFLECT_MISSILES, DUR_SWIFTNESS, DUR_INSULATION, DUR_STONEMAIL,
- DUR_CONTROLLED_FLIGHT, DUR_CONTROL_TELEPORT, DUR_RESIST_POISON,
- DUR_RESIST_FIRE, DUR_RESIST_COLD, DUR_TRANSFORMATION, DUR_STONESKIN,
- DUR_FORESCRY, DUR_SEE_INVISIBLE, DUR_SILENCE, DUR_CONDENSATION_SHIELD
+ DUR_INVIS, DUR_CONF, DUR_PARALYSIS, DUR_SLOW, DUR_HASTE,
+ DUR_MIGHT, DUR_FIRE_SHIELD, DUR_ICY_ARMOUR, DUR_REPEL_MISSILES,
+ DUR_REGENERATION, DUR_SWIFTNESS, DUR_STONEMAIL, DUR_CONTROL_TELEPORT,
+ DUR_TRANSFORMATION, DUR_DEATH_CHANNEL, DUR_DEFLECT_MISSILES,
+ DUR_FORESCRY, DUR_SEE_INVISIBLE, DUR_WEAPON_BRAND, DUR_SILENCE,
+ DUR_CONDENSATION_SHIELD, DUR_STONESKIN, DUR_BARGAIN,
+ DUR_INSULATION, DUR_RESIST_POISON, DUR_RESIST_FIRE, DUR_RESIST_COLD,
+ DUR_SLAYING, DUR_STEALTH, DUR_MAGIC_SHIELD
};
- if (you.duration[DUR_LEVITATION] > 2)
+ if (you.duration[DUR_LEVITATION] > 2 && you.duration[DUR_LEVITATION] < 100)
you.duration[DUR_LEVITATION] = 2;
+ if (you.duration[DUR_CONTROLLED_FLIGHT] < 100 &&
+ you.duration[DUR_CONTROLLED_FLIGHT] > 1) // don't mess with permaflight
+ you.duration[DUR_CONTROLLED_FLIGHT] = 1;
for ( unsigned int i = 0; i < ARRAYSIZE(dur_list); ++i )
if ( you.duration[dur_list[i]] > 1 )
you.duration[dur_list[i]] = 1;