| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
.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!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Allow iteration with +-, and auto-abort if there are no
valid targets in LOS.
It'd be nice if this still included the "valid target"
highlight that the last version had...
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
But still allow x* to cycle through all object stacks. For now * and +
do the same thing when targetting apportation, but maybe it makes sense
to have * keep the old behaviour.
Note that SPFLAG_TARG_OBJ now uses the new DIR_MOVABLE_OBJECT
targeting_type. If we add a new object-targetting spell that *can*
affect corpses, we'll have to separate SPFLAG_TARG_OBJ into two flags.
|
|
|
|
|
| |
To match the entry. The tile is already just as portal-like as the
entry tile, so no change there.
|
|
|
|
|
|
| |
The complaints against the branch are well documented, mostly stating
Dancing Weapons are awful enemies and the Hall of Blades is filled with
them.
|
| |
|
|
|
|
|
|
| |
They had minimal damage and mechanical traps hardly generate anywhere
anyway. In ossuaries (the only vaults with them, thank god), they've
been mostly replaced with arrow traps or the floor.
|
| |
|
|
|
|
| |
This fixes all the instances caught by unbrace.
|
| |
|
|
|
|
| |
Handles some functionality for having a god without piety.
|
|
|
|
|
|
|
| |
Touches a lot of files since their #includes have to be edited.
(Pushing now since it shouldn't break anything and keeping it updated
is nasty.)
|
|
|
|
|
| |
They just existed to replicate some ancient behaviour that is very unlikely
to actually be desirable now.
|
|
|
|
|
|
|
| |
This crashed if the unknown square was off the level boundary, and it gave an
empty description even if the unknown square was within the level boundary.
Now it just fails silently (which is appropriate given that v isn't listed
as an option in this case).
|
|
|
|
|
| |
Removes extended descriptions from branch stairs, so that the actual
branch descriptions can be used instead.
|
|
|
|
|
|
|
|
|
|
|
| |
Trees are in some ways yet another type of transparent wall, and, as
MarvinPA has said, "in general having areas full of trees where you
can see lots of enemies but not target them just plays badly."
There were two differences between trees and mangroves, besides LOS:
the latter didn't start forest fires and left shallow water when
destroyed. That behaviour is kept, instead checking whether
the tree (technically, the player) is in Swamp.
|
| |
|
|
|
|
| |
In particular, ctrl-O should no longer mention the branch.
|
|
|
|
|
| |
At least three devs are probably waiting for this to be pushed if
they're not about to push it themselves. So now it's done.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allowed you to identify altars and portals detected by magic
mapping, even though map_knowledge explicitly had DNGN_UNKNOWN_ALTAR.
Even worse, xv on an unseen (even unmapped) region of the level would
tell you exactly what feature was that that spot.
This used to be prevented by xv only working in LOS. Now we check
whether the real feature is the same as the remembered one, and if
not use the base description for the remembered feature. If they
were the same, we look up the raw_feature_description for the
location, so that vault feature renames are applied.
The solution isn't perfect: it still can still leak whether a remembered
square has changed, detectable by the lack of feature renames (so only
in a few rare locations). Probably map_knowledge needs to store the
rename as well to fix that issue.
|
|
|
|
|
|
|
|
|
| |
See for example:
http://crawl.akrasiac.org/rawdata/hustleandflow/crash-hustleandflow-20140205-004513.txt
To reproduce: memorise LRD, go near the edge of the map away from any
portals, start to cast LRD and press <Tab> in the targetter. It doesn't
seem to happen with other spells, even Conjure Flame.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While the original version may have been conceptually interesting, it
had multiple mechanical problems. Even putting aside the bugs in the
implementation of monster static discharge, frying its allies when
injured doesn't seem like a good mechanic to me, and the way static
discharge jumps means that many messages are generated for every single
event (for similar reasons I don't think it works very well as an active
spell for them either). Also, shock's damage scaling meant it was
basically harmless on a monster of this tier - a cantrip as best.
This commit attempts to take the central concepts of the original
design and make it a more effective and workable monster. Shock
serpents now passively gather charge when in combat. After multiple
turns of building charge, they can unleash it as an unavoidable arc
of lightning aimed at their primary target (and nearby allies, in the
style of dazzling spray) which does substancial damage. However,
injuring the shock serpent discharges ALL of the sustained charge
as a (much weaker) reprisal effect. The idea is that the player will
be encouraged to suffer through the reprisal to avoid a worse attack
and that it might sometimes change target priorities in a large melee
or affect retreat tactics employed.
In addition, I have replaced shock with a stronger electrical bolt
styled after electric eels. The code duplication involved here bugs
me, but shocks if far too weak and lightning bolt too strong and the
electric eel bolt cannot just be made into a spell and given to both
of them without reducing eel fire rate significantly.
Finally, they get slight hd and melee boost, and lose the poison
resistant and poisonous corpses. So much of Snake already leaves
poison corpses and it doesn't seem to me that there's much need for
any poison association here.
Note that a great many numbers here are quite provisional, particularly
charge rate and the power of lightning torrent itself.
|
|
|
|
|
|
| |
BEH_FLEE and BEH_RETREAT both existing and being subtly different is
bad enough without being inconsistent on top of it (and neither of
these is what happens when you command something to retreat, either!)
|
|
|
|
|
| |
The things that cause it can be unholy (profane servitors) or not
(Dith worshippers).
|
| |
|
|
|
|
|
|
|
|
| |
This will be based largely on mikee's proposal on Tavern here:
https://crawl.develz.org/tavern/viewtopic.php?f=8&t=10117
Right now the name is "Dsomething". This obviously needs to be replaced
with something else (heh) before prime time.
|
|
|
|
|
| |
I left them only where the contents is not indented, like in a namespace
or a template.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Overloading made it impossible to redefine them, assign colours, made it
hard to do stuff on C++ side, and stank of elderberries.
|
|
|
|
| |
(cherry picked from commit 90afa1c4158637a5295dd5acd33c680158db0885)
|
|
|
|
| |
See Mantis for discussion.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The translation project is stalled, but this makes all of such static strings
trivially gatherable without any extra work.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
It trades readability and consistency for an utterly negligible bit of
speed. With the amount of further processing mpr() does, a single sprintf
is nothing.
This reverts commit d9dfa8fc9755fb0a4e8954c7eb94f32fe97b82e0.
|
|
|
|
| |
Scripted, then manually reviewed.
|