| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
For the purposes of the hostile-in-range check and darken_beyond_range,
we were computing power using the spell schools rather than Evocations.
|
| |
|
|
|
|
|
| |
Sometimes, they're there to emphasize a break between two sections of code,
which is good. In a majority of cases, though, they're just inconsistent.
|
|
|
|
| |
See Mantis for discussion.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fauns, tengu conjurers, and tengu reavers now have multiple spell sets -
the former focusing on various low-level hexes and the latter two
getting various schools of conjuration magic. All of the above have had
empty spell slots assigned duplicate copies of spells so that more
spells are cast.
Pan can now also cast Metabolic Englaciation; thus, he can confuse and
slow entire bands of enemies! (Leave your orc horde at home, Beoghites!)
|
|
|
|
|
|
|
|
|
|
| |
For most header files, this only saves on having to recompile a
small number of source files, but there are also a few headers
where small changes would now take significantly less time.
This is most obvious for the Tiles build for which the dependencies
have been greatly reduced, so that the only additional includes
when compared to console are strictly library or tile related.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old system merely added a bonus range square for certain spells,
which led to issues in some edge cases.
The new check employs tracers to see if targetting anything within range
will actually harm an enemy.
Cloud spells (other than Mephitic Cloud, which is more akin to a
Fireball in its implementation) aren't handled by either the new or the
old system, but they probably could be worked in with some additional
effort.
Fixes #2068.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It has been gone for players since forever, has no effect on monsters
except for a redundant check, needs to be kludged around to exclude.
|
|
|
|
|
| |
Too bad, the blinking code needs to be nuked from the orbit and rewritten,
it's too much work to do proper aborts here.
|
|
|
|
|
| |
This mostly reverts 78d8ab06 which replaced Commonwealth "targetting" with US
"targeting", although there's also "cancelLing", "levelLing", "travelLing".
|
|
|
|
| |
You can hit someone only after you've shattered the walls in between.
|
|
|
|
|
|
| |
It was especially grindable for Recite -- a number of entry vaults have
monsters behind glass or grates, and you could sit there for lots of free
XP.
|
|
|
|
|
| |
Per C++11 8.3.6.3 [dcl.fct.default], clang is allowed to do so, GCC is nicer
to us but that functionality is not required by the standard.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All new clouds are created with an exclusion radius of -1, which means
that they will not create an exclusion. That's the default, and is what
is provided to all functions which create clouds.
Specifying any non -1 value will result in the coud not being considered
"temporary", and view.cc will create an exclusion for that cloud. By
default, the excluson radius of damaging clouds created by vaults is 1
(set by lm_fog.lua). You can specify any radius that you'd like, and
it'll use that.
For steam clouds, it will change the radius to zero if the radius is at
the default 1; otherwise, it will use whatever radius to have specified.
This might have some unwanted effects: any clouds which are loaded from
an old save file will all be considered temporary, so until they
properly decay, they won't be considered for exclusion. This will be
tempoary until the next wave of clouds is created.
Finally, this fixes cloud traps: they'll no longer create exclusions.
Hooray!
|
| |
|
| |
|
|
|
|
|
|
|
| |
"File:" is shown in your editor's status bar.
"Written by:" was used only for the first person who changed a file. We got
git for that now, and pre-DCSS history is so woefully inaccurate it doesn't
really matter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
directn.cc tried to assume everything is a beam, this make it impossible
to properly visualise spells/effects with different rules, like reaching,
clouds, IOOD, shotgun-targetted spells, cones, etc. This interface lets
every spell come with an object that answers the question: if I aim at X,
will location Y be affected?
There are three levels of aiming effect now:
* tracer only
* might be affected
* will be affected unless you miss
This means we can show spells that have randomized area: Freezing Cloud,
Fire Storm's radius, etc.
TODO: display in tiles.
The old targetter has a great number of special cases, I did not replace
it yet since it would be a large amount of work. The new code allows for
showing explosions and bounces, but I'd start with clouds and such first.
Fire Storm is a good sample.
Also, this commit fixes the targetter not allowing you to reach sqrt(8) via
'f' or '.'; you had to use '!' to do that. A number of places in the code
assumed that, with a special distinction for two modes of reaching.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
The kill type and kill category are still needed only because we currently
lose blame data when the agent dies or moves off-level.
|
|\| |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
| |
I did review it manually to find places where they made sense (like some
tables), but for a massive sed job like this there might be places that
I missed.
|
|
|
|
|
| |
Add a (F)orget this spell line when reading the spell description
of a known spell, from a book. Forgetting the spell destroys the book.
|
|
|
|
|
|
|
| |
Remove schools and spell success (irrelevant for rods)
Real hunger cost is displayed
Average power is displayed (5+2*evoc) but real power is still randomized
Range use average power
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Extending a spell with cast chance <50% may fail.
This stops the abuse of getting Lich Form or Dragon Form from a card or
from Xom and extending it indefinitely.
Also, there are no Might, Brilliance and Agility spells.
|
| |
|
|
|
|
|
|
| |
This adds a parameter to the spell highlighting utility that ignores all
flags except for useless and god-forbidden for rods. It has no impact on
normal spell books.
|
|
|
|
|
| |
For consistency with previous versions color memorized spells
gray, and color unmemorized spells blue when reading books.
|
|
|
|
|
|
|
|
|
|
|
| |
Amends and corrects spell highlighting brands. more brands are
now recognised internally, which should both improve the
correctness of branding, and make it more flexible wrt future
changes.
branding colors have been changed to be more consistant with
colors used elsewhere in the interface, hopefully making the
highlights more intuative to the player.
|
|
|
|
|
|
|
|
|
| |
Improved useful/useless indentfication of spells,
note that there is an an outstanding issue with detection
of "oStasis, it can't reliably determine if they have been
Identified, and acts as if they haven't been.
Signed-off-by: Charles Otto <ottochar@gmail.com>
|
|
|
|
| |
Signed-off-by: Charles Otto <ottochar@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Submitted patch was vetted and cleaned by due, but
ultimately rejected due to flaws in highlighting.
Continuing with Due's cleaned version of the prevous patch.
Signed-off-by: Charles Otto <ottochar@gmail.com>
|
|
|
|
|
| |
And take care of capital letters. This seems to be problematic,
bit I learned that it's "targeting" from Darshan :)
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. 't' is gone. 'f' now means 'fire at target'.
2. Spells now show their name when zapping. The prompt could be improved.
3. Better messaging while 'x'ing.
4. Better 'Aim:' line.
5. Object-targetted items will show items. Object-cycling (say with ';')
will display information about items, once.
6. CMD_TARGET_SHOW_PROMPT now meaningless. Should be removed soon.
7. Better top prompt for some commands (e.g. Sunlight, ordering allies
to attack.)
|
|
|
|
|
|
|
| |
Some classes were erroneously referred to as 'struct' in forward
declarations, and vice versa.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|