| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Rods can be evoked regardless using "V" (similar to spells with z and Z).
|
|
|
|
|
| |
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, now there is no time limit on memorizing the offered spells, though
they will be overwritten by new offers.
|
|\ |
|
| | |
|
| | |
|
|/
|
|
|
|
| |
So long as the spell can be cast, memorisation will now always succeed,
with a warning prompt for spells with high miscast rates. Patch by
elliott.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
They have about no overlap, more than both being usable as weapons. A vast
majority of uses immediately checked item_is_rod()/item_is_staff().
I kept them shared for acquirement, for now.
Also, eliminate rods of smiting -- hardly ever used, problematic theme-wise
as they use "divine providence" without worship. Keeping rods of striking
for now, could be used to fix artificer problems. Adding/removing rod enums
is a mess due to tile handling, renaming ROD_SMITING to ROD_LIGHTNING for now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By quickly gifting three fixed books containing every low-level necromancy
spell in the game, Kiku tended to make all worshippers look the same -- just
pick your favorite set of necromantic spells and use those each Kiku game. In
addition, this part of Kiku's design meant that there was little synergy
between Kiku and the necromancer background, since Kiku would gift any
character the necromancer starting book very quickly.
Kiku's three gifts at *, ***, and **** have been replaced by two randart gifts
(at * and ***), each containing five necromancy spells. This means that every
Kiku character will be missing a few spells from their ideal spellset, which
will hopefully lead to use of a greater variety of necromancy spells. In
addition, necromancer of Kiku now makes a lot more sense (though there will
still be substantial overlap between Kiku's first gift and their starting
book).
Kiku worshippers still have to choose between pain branding and the
Necronomicon at ******, as before.
The code for generating the Kiku gifts is pretty ugly, since I wanted finer
control over the books than the existing themed randart book code would allow.
Currently the only guaranteed spells are Control Undead (in the first gift)
and Dispel Undead (in the second), but you are also guaranteed a couple of
spells that make use of Kiku's corpse invocation.
|
| |
|
|
|
|
|
|
|
| |
This restriction makes little sense with smooth skills, and manual training
means you don't even need scrolls, just a tiny bit of xp.
This reverts commit... er what, Linley didn't use version control in 3.30.
|
|
|
|
|
|
|
| |
"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.
|
| |
|
|
|
|
|
| |
This matches the way the function is called and fixes oddities in
book naming introduced in my last commit.
|
|
|
|
|
| |
* New tag: title, replaces the usual database lookup depending on disc.
* If owner == "player", use you.your_name as owner.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Destroying a spellbook by forgetting a spell from it or tossing it in lava cost piety and penance.
The cost is based on the highest spell level from the book: maxlevel + 5
For books gifted by Sif or featuring his name, the penance is doubled.
The conduct description is only "destroy spellbooks". I don't know how to explain the gift and name higher cost without making a huge line
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This should help against the signed char problems, and is good for
code readability. Now, if you have a char, it's either an untyped
in-memory byte, or a symbol inside a string. Small numbers are instead
[u]int8_t, ints, an enum type, or, in so many cases, bools.
I didn't touch any of the tiles code, as it's currently broken and I don't
want to risk making it unbroken harder.
|
| |
|
|
|
|
|
|
|
| |
This is so the player doesn't wonder "What is this book I apparently
haven't read yet?" the first few times until they remember.
I didn't feel like adding an option for this one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* If you encounter the book of Annihilations/Demonology or Necronomicon
in a bookshop, you can now browse its contents.
* If you buy such a book, it is already identified, so you can continue
to read the spell descriptions at your leisure.
* You can still not memorise these spells if you don't fulfil the
requirements. They will also be coloured useless while that is the
case.
* If you find these books lying around in the dungeon, reading them will
_not_ identify them (or give away their spell list) unless you meet
the requirements. [1]
I also added the old "beyond your current level of understanding" line
to both book and corresponding spell descriptions.
Tested for the Necronomicon seen in a shop, Demonology seen in a shop
and bought, and Annihilations found unidentified (in wizard mode),
using (r)ead, (i)nventory, (M)emorise, ?/, and the Tiles mouseclick
interface (again, read/describe/Memorise commands and Memorise tab).
[1] I don't know if it's worth keeping that restriction. If we do, we
should add an autoinscription because the simple act of (r)eading it
will give away that it's one of those three special books, though not
which one.
|
|
|
|
| |
Also takes care of some duplicated messaging code.
|
| |
|
|
|
|
|
|
| |
This removes a couple of unnecessary includes from header files.
I may have missed adding some tiles includes.
|
| |
|
|
|
|
|
|
| |
These were of questionable use and freshness.
Signed-off-by: Robert Vollmert <rvollmert@gmx.net>
|
| |
|
|
|
|
|
|
| |
consistency
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
|
|
|
|
|
|
|
| |
any further spells.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10677 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
| |
Also handles dangerous spellbooks correctly now, prompts and all.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10675 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
ASCII even though it works well in tiles.
* Always display memorise button because it's less confusing that way. I
still can't work out why the error messages disappear right away. *sighs*
* Add a short document on tiles creation.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10673 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
display as for spellcasting. Also force a redraw() if the player clicked
on a spell.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10661 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
at the moment is call learn_spell(), but I'm planning to reuse the spell
display for this purpose.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10655 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
| |
a spell's description, pressing 'M' will try to memorise that spell from
that particular book.
FR 2815575: Instead of moving "spell levels left" to the top of the spell
memorisation menu, make it light-green in color.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10558 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Simplify the message given when none of the available spells can
be memorised.
* The descriptions of the three dangerous spellbooks now mention that the
books will lash out at the player if a memorisation fails. Also, the
"some of the more powerful grimoires are not to be toyed with" warning
has been removed from all of the normal spellbooks, since the dangerous
spellbooks are adequetly warned.
* If a spell to be memorised is only available from a dangerous spell
book then colour that spell light red and warn the player if they
select it for memorisation. (Not yet handled is any logic for choosing
between multiple dangerous spell books if the same spell is in more than
one of them)
* is_dangerous_item() now returns true for the three dangerous spellbooks,
so they'll be colored differently in the inventory.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9891 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Memorization now lists all spells in all carried books (minus spells
which are already memorized or which can never be memorized because of
the player's species), sorted by easy of memorization.
* Miscast effects from failing to memorize from out of the Necronomicon,
the book of Demonology and the book of Annihilations is commented out,
pending figuring out how to do it with the new interface.
* Spells which can't be memorized because of the player's species are
highlighted as light red when reading a spell book, and a note is added
when describing the spell.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9883 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new mutation, MUT_SLOW_HEALING, which at level 3 blocks all healing;
it can't be acquired randomly, but deep dwarves start with it at level 3.
This overrides regeneration, including the god-given kind (Trog's Hand.)
Fix mutation listings (hopefully I got this right.)
There are still some cases where DD HP shaving is not applied:
ability HP costs, Staff of Dispater effect, vampiric draining backlash,
Sublimation of Blood spell.
Fix dancing weapons leaving mgrd incorrect if their weapon can't be
generated.
Breaks saves.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9173 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
| |
Also, randart books created by acquirement (not gifts) have a chance to
be named after the player.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8848 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are:
* Roxanne (statue spellcaster)
* Sonja (Kobold assassin)
* Eustachio (human summoner, was: Francisco)
* Azrael (efreet, was: Abdul)
* Ilsuiw (Merfolk witch
* Prince Ribbit (blink frog prince)
* Nergalle (orc sorceress)
* Saint Roka (orc priest of Beogh)
Tweaked make_book_theme_randart() to allow for one forced spell and
owner's name. Used to occasionally give Roxanne a randart book containing
Statue Form. (Was: always book of earth)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8207 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
with an asterisk.
* Sif Muna no longer gifts the books specific to Kiku and Vehumet
(Necronomicon, Annihilations, Demonology) though the spells contained
there-in may crop up in randart books.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8011 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
| |
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7746 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
seen.
Implemented fixed-level randart spell books, which is all randart spellbooks as
of now. All my attempts at sorting the spell list so that spells with the same
schools group together have utterly failed.
Got rid of the hackish "non-monster origin is stored in item.orig_monnum as
(-origin - 2)" logic, replaced with the slightly less hackish "-origin". Added
the two enumerations IT_SRC_START and IT_SRC_SHOP to do it. Also,
origin_is_god_gift() and origin_is_acquirement() can retrieve the god/source of
the item so that you don't have to do the negation and typecasting yourself.
Added some new spell flags:
* SPFLAG_BATTLE for non-conjuration spells which are still combat/battle
related (branding spells and single school attack spells like "Pain"),
* SPFLAG_CARD for spells which are card-type effects which don't show up in
ordinary spellbooks (Tomb of Doroklohe and (I assume) Disintigrate)
* SPFLAG_TESTING for spells which are only used for testing (Debugging Ray)
* SPFLAG_DEVEL for spells that are still under development (Crush,
Disrupt, and Detect Magic).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7742 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the wizard command &+, since there's no logic to how the random set of spells
are selected and there's no valuation code in shopping.cc. No randart manuals
or books of destruction, since I have no clue what they'd be like.
The code allows for any book or spell to have its normal set of spells
overridden by an arbitrary/customized set of spells, but this is only used by
randart spellbooks as of now.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7722 c06c8d41-db1a-0410-9941-cceddc491573
|
|
|
|
|
|
|
|
|
|
| |
into a file crawlhistory.txt in docs/obsolete.
I used a perl script to do this under the assumption that all these
change logs used the same system following the keyword "Change History".
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6930 c06c8d41-db1a-0410-9941-cceddc491573
|