| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
If we have both hard books and racially unmemorisable spells, shorten
the text for both (and for the spell level count) so that we don't
push the "Toggle display with '!'" text off the screen.
|
|
|
|
|
|
| |
There's already a check when you try to actually memorize the spell, so
bailing out early here just hides information from the player for no
reason.
|
|
|
|
|
|
|
| |
.cc, moving its contents into the new stepdown.cc and strings.cc.
(The latter also got many donations from libutil.h.)
Down with stuff! Up the new flesh!
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit f3a2bd25f4f0be1eb5fe20360efa4cfe85635906.
(And makes hell/pan-lord book names actually work again.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Having a spell work in two completely different ways depending on context
is unintuitive, and self-casting it is the much more interesting use.
Makes the spell unmemorisable for species without blood (Gargoyle, Ghoul,
Mummy). Species that can't bleed get both level 1 spells from the first
Kiku gift. Has some ugly duplication of lists of species that can't bleed,
because using player::can_bleed won't correctly handle statue- or lich-
formed players even with allow_tran = false, due to them changing the
player's holiness.
|
|
|
|
|
|
| |
For correct messaging when trying to memorise Sublimation in statue form (in
the future) for example. Probably would be better to allow memorising such
spells regardless of temporary forms, though.
|
| |
|
|
|
|
|
| |
For the purposes of the hostile-in-range check and darken_beyond_range,
we were computing power using the spell schools rather than Evocations.
|
| |
|
|
|
|
|
|
| |
With 4ad890b14, check_range was unused again. It can easily
be re-added with needed, though I'm not fond of the duplication
with the checks in cast_a_spell().
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When you strip away the fundamentally broken tension mechanic, you're
left with a species that is essentially "Hill Orcs WITH FIRE". No effort
has come forward with code to fix either aspect of them despite the
length of time they've been around in trunk, and the code is littered
with a very large number of special cases in their presence.
Current lava orcs should be able to finish their games fine, but new
starts are disallowed.
There are a couple of bits I've left present but which will have no
function for the moment, mostly related to interactions with lava (as
there are a couple of species proposals floating around that benefit
from having those interactions).
|
| |
|
|
|
|
| |
With the weapon branding spells gone it was in a pretty sad shape.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the most part they were optimal to cast before every fight,
making them hugely annoying but too useful to simply ignore. They
also encouraged being casted before reading an unidentified scroll,
just in case it might be brand weapon. Warp Weapon and Excruciating
Wounds obviously do not have the latter problem, and since the spells
have noticeable drawbacks they do not have the second problem as
much either.
The books of Ice, Fire, and Necromancy don't get replacements; they
are pretty good anyway. Alchemy and Envenomations get Alistair's.
|
|
|
|
|
| |
Resolves #8265. This commit also cleans up and documents a few spell
miscast rate calculation functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has been defaulting to `true` for a while now. That setting provides
a nicer interface overall and there is little reason to support alter-
nate input methods.
Some prompts asking for a letter have not been adjusted, for example
evoking a rod with multiple spells. Those are hopefully gone soon
anyways.
[Committer's note: The option had no known uses except by bots, and
those could work without it. And, of course, multi-spell rods are
gone.]
|
|
|
|
|
|
|
|
|
|
| |
It was the rarest book outside the 3 high-level books by a nice margin,
and it's unclear to my why this should be the case (nothing in it is
even over level 6, after all). Maybe it dates back from when abjuration
was an extremely powerful spell that tons of characters wanted, and
thus an excellent find on that basis alone? But that hasn't been true
for a long time, and its rarity feels rather disproportionate to its
power.
|
|
|
|
|
|
|
| |
Djinn games can't be started (hopefully including using the rcfile),
and djinn code should be removed on save-compat bump.
Also, schedule a few SE things to be removed.
|
|
|
|
| |
Rods can be evoked regardless using "V" (similar to spells with z and Z).
|
| |
|
|
|
|
|
|
|
| |
After purging of pan lords, all that was left was Conj, and authors of
regular Conj are Lehudib, Iskenderun and w:2 Lee, the first two being for
sure valid for high-level as well, while there's no data that would preclude
Lee from not being a newbie, too.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
Also simplify quite a few cases.
It turns out in >90% cases of non-literals the argument had .c_str(),
which meant it was pointlessly malloc()ed and converted from and to
std::string. I believe a sprintf is faster, so even the argument of
miniscule speed-up doesn't apply.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A L2 buff that could easily be kept up permanently and gave a very powerful
effect for the entire game was problematic for a few reasons. The stealth
and trapfinding penalties were supposed to help with this, but they didn't
really succeed, so let's try something else.
Now Swiftness has two stages, of equal duration. In the first stage it
decreases movement delay by 25% and in the second stage it increases
movement delay by 50%. This has the effect that the spell is speed-neutral
over the two stages combined if you are moving the entire time, so you
cannot simply use the spell to kite monsters forever. It still provides a
powerful short-term boost to movement speed and the balance between the
two stages can be broken in a few ways, including simply taking more
non-movement actions during the second stage.
Of course, the spell cannot be recast while either stage is in effect.
The penalties to stealth and trapfinding have been removed and the spell
is now castable by Formicids.
|
|
|
|
|
|
| |
This commit converts ASSERT(a && b) to ASSERT(a); ASSERT(b);
Assertions of the form !(a && b) are left intact, since there isn't an
obvious readability gain over (!a || !b).
|
| |
|
| |
|
|\ |
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
crawl-ref/source/dat/des/variable/mini_monsters.des
crawl-ref/source/enum.h
crawl-ref/source/itemprop.cc
crawl-ref/source/main.cc
crawl-ref/source/mutation-data.h
crawl-ref/source/mutation.cc
crawl-ref/source/newgame.cc
crawl-ref/source/ng-restr.cc
crawl-ref/source/rltiles/dc-player.txt
crawl-ref/source/spl-selfench.cc
crawl-ref/source/throw.cc
crawl-ref/source/tilepick-p.cc
crawl-ref/source/wiz-you.cc
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
crawl-ref/docs/crawl_manual.reST
crawl-ref/source/abl-show.cc
crawl-ref/source/dat/descript/ability.txt
crawl-ref/source/delay.cc
crawl-ref/source/enum.h
crawl-ref/source/main.cc
crawl-ref/source/mon-cast.cc
crawl-ref/source/mon-gear.cc
crawl-ref/source/mon-spll.h
crawl-ref/source/mutation-data.h
crawl-ref/source/mutation.cc
crawl-ref/source/ng-restr.cc
crawl-ref/source/ng-setup.cc
crawl-ref/source/output.cc
crawl-ref/source/player-act.cc
crawl-ref/source/player.cc
crawl-ref/source/species.cc
crawl-ref/source/spl-data.h
crawl-ref/source/wiz-you.cc
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tavern post:
https://crawl.develz.org/tavern/viewtopic.php?f=8&t=8298
Wierdness & mutations:
- poison weakness
- retractable antennae (can wear headgear and ignore mutation)
- chitin skin (+3 AC)
- most weapons 1-handed, big weapons 2-handed
- permanent stasis
- ability to shaft self
- ability to dig
- Starts with 2 curing pots
3 monster versions of formicids were added:
formicid, a weak fighter
formicid drone, a stronger fighter
formicid venom mage, a magician with olgreb's and mass cure poison
[ Pushing to a branch for experimental playtesting on CSZO.
Also optimised the new tiles. -nfm ]
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | | |
Can't test Android, MSVC or Mac, but a very brief glance at the diff suggests
it's unlikely they're affected.
|
| | | |
| | | |
| | | |
| | | | |
The spell is notably worse than for other races, but here you go.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
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).
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This should hopefully make games from the same seed proceed the same on all
architectures[1], as I can't think of anything else that behaves differently
based on pointer size, endianness or exact pointer values.
I used a NIH implementation instead of passing a third argument to
random_shuffle, as the interface is so much nicer.
[1]. This will be affected by terminal size (elemental colours are not
resolved outside the screen), tile windows size (random animations),
tiles/non-tiles and possibly others.
Also, I don't think we use STL hashes anywhere, but if we'd do, the STL
implementation will matter. Please don't make this stop you: this commit
is only to make test cases from my stress tests portable which is a small
benefit, perhaps even smaller than the nicer call interface.
|
| |
| |
| |
| | |
They are completely immune to poison, even across changes of form.
|
| |
| |
| |
| |
| | |
Pull 'you.religion [!=]= FOO' checks into a function: you_worship(FOO).
This change is part of a large plan to clean up religion.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Numerous tweaks and code review:
* Fix errors and save compat issues introduced by the merge
* Formatting fixes
* Some text and capitalisation tweaks
* Clean up some leftover comments / code
* Change some debugging messages to dprf
* Move some bits of code to match enum positions
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into newskald
Conflicts:
crawl-ref/source/mon-stuff.cc
crawl-ref/source/ouch.cc
crawl-ref/source/spl-book.cc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To allow save compatibility, the book of Battle now occupies the old
enum of book of Morphology, until the next major version bump. Once
that happens, it can take its place near the other starter books.
Note that there are two places in book-data.h specifying spells in the
book of Battle (one for now, one for after the version bump), which must
be kept synced.
|
| | | |
|
| |\ \ |
|