| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
new spells: infusion, song of slaying, spectral weapon, spirit shield
new book: book of battle
new mons: MONS_SPECTRAL_WEAPON
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It only provides a resist, and sources of elec damage can be avoided or
dealt with in other ways (particularly potions of resistance).
|
|
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
| |
Even with it only being able to extend spells you know, it's
uninteresting and sort of abusable for high-level Transmutations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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. :-)
|
| |
|
| |
|
|
Remove spells1.* and spells2.*.
|