| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
For better messaging.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
.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!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
So that it does damage consistent with other spells against
targets with negative resistances. (1.35x damage, instead of
1.7x.)
Also makes BEAM_NEG count as ranged, if anyone or anything ever
gets rN-.
|
| |
|
| |
|
|
|
|
| |
Ugh, please rewrite.
|
|
|
|
| |
zap_type isn't marshalled anywhere, so doesn't need save compat.
|
|
|
|
|
|
| |
There are likely to be similar problems with some of the other beam types
that are checked by name (other than IMB and tree-affecting spells):
see the pbolt.name = "unimportant"; in player_tracer().
|
|
|
|
|
|
| |
This should make reflected needles work while preserving the old blaming
behaviour (a player reflector gets kill credit but not god blame). Needs
more thorough testing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this position, you would be able to see the kobold, but trying to
shoot it would say your line of fire is blocked by the wall:
..#@
K.8.
If the statue weren't there the beam would avoid the wall perfectly
well. Furthermore, the "Aim" prompt does in fact say "fire blocked by a
granite statue", not "wall"; only the tracer and beam reported the
opaque wall as the reason for losing LOF.
When no LOS_SOLID_SEE ray is found for a beam, now we first try falling
back to a LOS_DEFAULT ray; only if that too fails do we take the
straight-path fallback.
|
|
|
|
|
|
| |
In _destroy_wall_msg in beam.cc, the message for a visible orcish idol
did not describe its appearance, whereas the message for an invisible
idol did describe its appearance. This swaps the two messages around.
|
|
|
|
| |
As part of a wider scheme to make draining temporary.
|
|
|
|
|
|
| |
Refactor put_to_sleep() and hibernate() together. Also improve
messenging for resisting repeated sleep (by replacing a generic
canned message).
|
| |
|
|
|
|
|
|
|
|
| |
They checked that the player either had a shield equipped or had the
bone plates mutation, so TSO's divine shield, Qazlal shielding and
Condensation shield could all never block ranged attacks (except for those
from ranged weapons, since those now follow the same codepath as melee
attacks!).
|
|
|
|
|
| |
As far as I can tell, this was changed by 5e60d799077, and the duration
previously depended on the initial damage dealt by the sticky flame.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It's fine if it's strong early on, but a level 3 spell
should not still be dominatingly powerful through endgame
& extended. (It might be interesting to add a higher-level
blinding effect at a later date.)
Sample monsters: odds of dazzling an orc warrior go from
73% to 75%. Elephants go from 58% to 50%. Ice Fiends go from
31% to 5%.
|
| |
|
|
|
|
|
|
| |
...by moving bloodspatter functions into their own file.
Death to misc.cc! Long live the new file hierarchy!
|
|
|
|
|
|
|
|
|
|
| |
If a monster is constricting a victim, don't allow it to use a spell
or ability that would knock the victim back, thus breaking the
constriction.
I made this commit when I was considering giving op crushers primal
wave, an idea that I dropped, but the check should still be there, and
this does move otherwise duplicated code to a single method.
|
|
|
|
| |
Fight sim handles sets the simulated flag directly now.
|
|
|
|
|
|
|
| |
There doesn't seem to be a simple way to prevent the penance from
coming around while still giving you XP for monsters killed, and also
giving penance when you start a forest fire on purpose. This seems to
be the simplest solution.
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is_chaotic() and is_unclean() have been changed to return an int
roughly equal to what would have been returned before by the Zin
recite function. Some bool flags were added to the function to make
it still work right for the other uses (e.g. silver).
Prince Ribbit is no longer specially vulnerable to Recite, and insane/
sluggish uniques are unclean rather than chaotic, which seems more
consistent with the other uses of the terms.
The special case for nonliving and plant monsters to be unrecitable
is removed.
|
|
|
|
| |
Cigo's now has simple shapeshifters, which seem to work all right.
|
| |
|
|
|
|
| |
Since there aren't any left, after all.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 7e81480cda18144ff185f5248639a072b654deff.
Turns out I missed some calls to random_choose_weighted(), this change
might not even be worth doing.
|
|
|
|
| |
For consistency with random_choose().
|
| |
|
| |
|
|
|
|
|
| |
Use YOU_FAULTLESS as the killer, and furthermore check for that when
deciding whether something is a bad_kill.
|
| |
|
| |
|
| |
|
|
|
|
| |
and also change a temporary variable name to avoid overshadowing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now that inventory weight and player burden states are gone, item
destruction doesn't serve one purpose it clearly accomplished: help
prevent the player from being at or next to burden capacity at all
times. Outright destruction of strategic consumables encourages more
needless inventory management, so we'd like to exclude these from any
form of destruction and possibly prevent them from taking up inventory
space at all. Denial of tactical consumables, either temporarily or
permanently, is something we're going to look into later on, possibly
in the release after next, since it can create interesting and
generally not frustrating gameplay if done correctly. Needless to say,
item destruction wasn't a player favorite and may have a sparsely
attended funeral. RIP in peace.
For now we aren't adjusting the rate of consumable generation to
compensate for no item destruction, but that balancing will happen
after play-testing shows how much adjustment is necessary.
|