| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Since its expansion called in_bounds().
|
| |
|
| |
|
| |
|
|
|
|
| |
Use chunks of real levels to generate abyss levels.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Additional targets are acquired by rotating from the main target in both
directions but no more than 3 cells. Solid features block cleaving. On
open grounds, it attacks 7 cells (all but the opposite one from the main
target).
A single wall on the side can block one or two targets since it doesn't go
all around.
* Additional attacks do 75% damage. Main target still takes full damage.
* Allies don't block cleaving and are not harmed by it unless attacker
is confused.
* Monsters wielding axes get cleaving too.
* Broad axe, battleaxe and executioner's axe base damage is reduced by 1.
More nerfing might be needed for the latter 2.
* Cleaving works when attacking empty spaces (useful against invisible
monsters)
* Monsters dual wielding axes should work.
Thanks to LexAckson for helping with this implementation
(especially rotate_adjacent).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
This avoids unnecessary non-inlined copies.
Also, we had a few large functions that had no reason for inlining, let's
have them be regular ones.
I also made "static inline" always use the same order, for easier grepping.
|
|
|
|
|
| |
It's a tiny function called from many tight loops. Inlining it gives ~1%
speedup in non-flto builds.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
Clean up the code involved in generating and shifting the abyss. This is spadework in preparation for abyss vaults.
Fixes abyss shifts copying the area around the player to the centre of the abyss and not clearing the old area (irc conversation between Linley and dpeg confirms that the old behaviour of not clearing the duplicate shifted terrain is a bug).
Fixes abyssal runes being more likely to appear at the NW of the abyss level, particularly as time spent in the abyss increases.
|
| |
|
|
New: colour.cc, coord.cc, coordit.cc, random.cc, rng.cc.
|