summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-selfench.h
Commit message (Collapse)AuthorAgeFilesLines
* Chance function(void) to function()reaverb2014-05-241-1/+1
|
* Give Trog's Hand its own duration.pubby2013-11-101-2/+1
| | | | | | | | | | | | Trog's hand was using DUR_REGENERAITON, and setting ATTR_DIVINE_REGENERATION to true to specify it was the god ability and not the spell. This was silly, so this commit gives trog's hand its own duration: DUR_TROGS_HAND. This also fixes a very minor bug: previously if you had trog's hand active and you tried to cast regen, you got penance but the spell was immediately canceled. Other duration spells were not canceled.
* Remove Song of ShieldingChris Campbell2013-10-221-1/+0
| | | | | | | Just mimicking guardian spirit, even if it works a bit differently, isn't very interesting, and it appears to not be useful anyway. It's also inconsistent in terms of not behaving as a "song" in the same way as Song of Slaying (and making the two songs exclusive would make it even worse).
* Rename the Spirit Shield spell to Song of ShieldingChris Campbell2013-06-251-1/+1
| | | | | | Since it has a different mechanic to the already-existing spirit shield (fully absorbing damage instead of splitting it between health and magic), it needs a different name! Also add a description.
* rough implementation of newskald spellslain2013-05-071-0/+5
| | | | | | new spells: infusion, song of slaying, spectral weapon, spirit shield new book: book of battle new mons: MONS_SPECTRAL_WEAPON
* Use std namespace.Raphael Langella2012-08-261-1/+1
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Remove the Insulation spellChris Campbell2012-08-211-1/+0
| | | | | It only provides a resist, and sources of elec damage can be avoided or dealt with in other ways (particularly potions of resistance).
* Remove the See Invisible spellChris Campbell2012-08-211-1/+0
| | | | | | | Simply providing a resist is incredibly uninteresting, and there are plenty of other ways to deal with invisible monsters even without having found a source of SInv on equipment (fog, corona, sticky flame, etc).
* Make a bunch of functions static, delete some unused junk.Adam Borowski2011-11-111-1/+0
|
* Don't miscast when the spell can still be aborted (#4281).Raphael Langella2011-07-211-13/+18
| | | | | | | | | | | | | | | | This is a significant refactoring. All the spells now return a spret_type and take a boolean which tells if the spell has actually failed. Also some code clean up in _do_cast(). All spells have their own function now. Also fix the following bugs: * Properly abort fire storm if forced casting on a wall with '!'. Also put a message for forced out of range casting (like cloud spells). * Casting summon elemental on an invisible monster aborted with no cost. * if a summoning spell aborts because create_monster fails, you don't lose a turn. You still get a chance of miscast in this rare case. * s2s, tukima and branding spells abort properly instead of consuming turn and MP when player is not wielding appropriate object. * s2s abort message when wielding a non-snakable.
* Abort some self-enchantments without wasting a turn in situations where they ↵Chris Campbell2011-07-131-2/+2
| | | | | | | | cannot be cast Also remove some unnecessary checks: Stoneskin being uncastable by the undead is already handled elsewhere, and Ozo's armour doesn't need to check for whether it's being extended (by the removed Extension spell).
* A new spell: Shroud of Golubria.elliptic2011-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This spell serves the purpose of giving the new Crusaders a little help while also being a good addition to the Warper book (which lacked any support for the melee weapon and skill the class starts with). The flavour of the spell can probably still use some tweaking, but here is a description of its mechanics: L2 Charms/Translocations, gives a status effect "Shroud" for a short duration (the same as Freezing Aura). While shrouded (by a fragile distortion of space), melee attacks have a chance of being bent away from you and hitting the air harmlessly, but each melee attack also has a chance, depending on damage, of breaking the shroud (while still doing regular damage). In other words, Shroud of Golubria is an unreliable melee damage prevention spell. On average a cast will prevent 10 damage (if it doesn't run out of duration first). Hopefully this spell succeeds in simultaneously being useful early on and weak later (when there are more ranged attacks and every melee attack of significance will have a large chance of breaking the shroud). Charms and Translocations do not need any more staple spells that everyone wants for the entire game, and this spell is intended to avoid that.
* Remove obsolete references to the player Berserker Rage spell.David Lawrence Ramsey2011-05-281-1/+0
|
* Remove the Resist Poison spellChris Campbell2011-04-131-1/+0
| | | | | | | There's no need for both that and Cure Poison to exist, and Cure Poison has some more interesting drawbacks than simply giving you a resistance temporarily (you actually have to take poison damage for at least a few turns).
* Remove ExtensionChris Campbell2011-03-011-1/+0
| | | | | Even with it only being able to extend spells you know, it's uninteresting and sort of abusable for high-level Transmutations.
* Allow cancelling some scrolls without consuming themArxale2011-01-261-1/+1
|
* New spell: Leda's Liquefaction.Jude Brown2010-12-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This one's gone through a couple of iterations during discussions. Finally, though, we have this: an area of effect slowing. It's a circle around you that slows you and anyone not insubstantial and not flying who crosses into that circle. The slowing effect is implemented as though it were ponderousness (well, slightly more than ponderousness), rather than as ENCH_SLOW. For monsters, when cast by the player, it counts as a slightly less speed malus than standard ENCH_SLOW. Reasoning: the monster casting it has more stability for being at the centre of the effect. Currently, I've stolen the colouring from KiloByte's _etc_tornado. It's implemented using areas, which I've written some additional code for that finds the "centre" of an area from a coordinate within that area. Greensnark had a quick look over it for me earlier, but I'd appreciate further checks for quickness, saneness, etc. It appears in the Book of the Earth. Finally: no tile (yet). I attempted to do one up, spent an hour or so tweaking it, and then compared it to our current spell tiles and decided that I can't make spell tiles. :-)
* removed scroll of amnesia map rot effectRaphael Langella2010-09-301-1/+1
|
* Make trying to cast Death's Door when ineligible cost no time nor MP.Adam Borowski2010-09-101-1/+1
|
* Redistribute ench. spell code into self/wpn enchantment.Johanna Ploog2010-08-221-0/+26
Remove spells1.* and spells2.*.