| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
A good deal of functions move to the two new files, mon-poly and
mon-message. Of the others, some go to where they are used, some to
mon-util, and a few are made member methods of monster.
This probably breaks Xcode compilation, and I'm not able to test
the changes I made to MSVC that will (hopefully) keep it working.
|
| |
|
| |
|
| |
|
|
|
|
| |
Since Ashenzari should be the only way to get hold of them now.
|
|
|
|
|
|
| |
This includes identify, enchant armour, and recharging.
A lot of now-unnecessary code goes away with this.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These scrolls simultaneously encouraged scummy behavior (collecting dozens of
weapons/armour to detect curses on all of them at once) and were pretty much
junk after early game (because remove curse is common and you probably don't
actually want to try out every weapon in the game because of distortion
anyway).
I tried to change other scroll generation probabilities as little as possible,
but this means something like a 3-5% increase for most scrolls, and about 15%
for remove curse (as very partial compensation). The scroll generation code is
a bit cleaner now.
Upgraded games have detect curse converted to remove curse.
|
| |
|
| |
|
|
|
|
| |
This makes it consistent with the other detect_* functions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Only once the scroll is known. They can also cancel it and it does automatically
if you're not wearing any elligible item. Non-Ash worshippers can still use them
any time to victory dance spellcasting.
|
|
|
|
|
|
|
|
| |
But only once the scroll is known. When unknown, you can't choose anymore.
Behaviour is the same as non-Ash worshippers.
Allowing to choose even with unknown scrolls was problematic. If you had no
cursed items and read remove curse, you got a message about not wearing any
cursed items, but the scroll remained unidentified.
|
| |
|
|
|
|
|
|
|
| |
It now uses a monster directly instead of a position.
Also, move messages about invisible/submerged monsters' not being there
(used in smiting and elsewhere) to the canned message list.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Remove spells1.* and spells2.*.
|
|
|
|
|
| |
Move Stonemail (currently Xom-only) -> spl-goditem.cc, and
Abjuration -> spl-summoning.cc.
|
|
|