| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Make it only prompt for cancellation when that would actually
waste the scroll, and remove some archaic checks to avoid
iding -tele equipment for free (since that's all auto-id'd now
anyway!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Partly this is to (somewhat) make the Abyss a little easier. Teleports
still take longer than orbrun teleports to kick in on average, and
in general letting the player know what an action will do is a good
thing.
But the main reason is that, due to maprot, same-area abyss teleports
are a pretty awful interface screw. You are prevented from remembering
what monsters were around (this was quite annoying when being marked
was more common in the abyss), and though you can see for one second
what direction you came from, immediately after the screen refreshes
and you can't anymore.
Possibly this could lead to improving/removing altogether maprot.
|
|
|
|
|
| |
For blinking this prevents cheap chaining of semicontrolled blinks. For
teleportation it won't have so much of an effect but is consistent.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Or, robbing them of XP and items unless they're spoiled (Nemelex's Gamble).
In other cases, it's a matter of disrobing just to go through, which is a
mere inconvenience except for zigsprint, where it was special-cased (yay
consistency).
It was also inconsistent with all other fixed means of teleportation, such
as Passage of Golubria, portal vaults, hell portals, abyss portals, etc,
which all are not swayed by mere -TELE.
In the first discussion that happened, the only reasoning for the change
was similarity of names between "teleporter" and "-TELE", rather than
gameplay reasons. So let's deal with that instead.
This reverts commit 7f0416492553db52d7613d506b8ab584b7819904.
|
|
|
|
|
| |
Except for Zigsprint teleporters, Maxwell's users should be encouraged
at all costs.
|
|
|
|
|
|
|
|
|
|
| |
Not sure what the values should be. The current values are those of portal
timer messages. The problem is, range 30 covers the map nearly edge-to-edge
from the center, but you'd need over 100 if you want to get from one corner
to the other.
This doesn't affect controlled teleports; not wasting time now because of
the ongoing discussion about cTele.
|
|
|
|
|
|
|
|
|
| |
Level 8 translocation spell.
Blinks away everything with diminishing probability with:
P(~blink) = 0.8^(1/(dist+1)/(dist-1))
Over 10 ticks, a monster adjacent to the caster will blink with probability 0.9.
Monsters may be blinked repeatedly.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Too bad, the blinking code needs to be nuked from the orbit and rewritten,
it's too much work to do proper aborts here.
|
| |
|
|
|
|
|
|
| |
The spell now creates two portals per cast (one near you and one near the
target square), and there is no limit on the number of portals that can be
open at once (you exit out a random portal each time).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a multi-phase nerf:
1. The distance the orb travel depends on your spell power and the
maximum distance. Most caster's only have a spell power of around 50 or
so. For instance, if you have to apport the orb six squares, and your
spell power is fifty, it will only move four (50/10-1).
2. There is a flat one-in-six chance that the orb will "become a dead
weight" and straight out resist apportation.
3. Regardless of success, attempting to apport the orb results in it
shrieking noisily (with a power of 30).
This is a better solution than straight out preventing apportation or
otherwise blocking the orb chamber by filling it with furniture, in my
opinion.
To prevent spoilrs, etc, I've updated the spell description to state
that the Orb of Zot will actively resist its pull. This might be too
much, but I don't personally think it such.
|
|
|
|
|
|
|
|
| |
* Bone Shards: 0 use both in 0.4 and 0.7 winner stats. Requires tedious
messing with components.
* Tame Beasts: 0 use, gives very weak pets for its level, with lots of
preparation can be abused ("Rupert farming").
* Portal: very little use, convoluted mechanics.
|
| |
|
| |
|
|
Again, I grouped the spells according to shared functionality
rather than actual spell schools, so e.g. Dispersal and
Phase Shift are not included.
|