| 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!
|
|
|
|
| |
As part of a wider scheme to make draining temporary.
|
|
|
|
|
|
|
|
| |
For both player/monster casts, and for miscasts/hell effects (which were
still using the original even longer timer). The shorter startup should
allow it to more reliably get involved in fights when cast by the player,
and make it slightly harder (but probably still not very hard) to just
walk away from when cast by hostiles.
|
|
|
|
|
|
|
|
|
|
|
|
| |
!para was sort of problematic in that in combat, it would basically be a
game-over effect, especially at the low HP people generally panic-quaff
at, and almost entirely harmless outside of combat. Neither effect is very
interesting. Dispelling has the potential to be bad, if you hadn't
identified it and had used some other buffing potions, and lends itself
to many more interesting tactical situations.
"Cancellation" is just the first thing that popped into my head; feel free
to send buckets of paint to recolour the bikeshed with.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When you strip away the fundamentally broken tension mechanic, you're
left with a species that is essentially "Hill Orcs WITH FIRE". No effort
has come forward with code to fix either aspect of them despite the
length of time they've been around in trunk, and the code is littered
with a very large number of special cases in their presence.
Current lava orcs should be able to finish their games fine, but new
starts are disallowed.
There are a couple of bits I've left present but which will have no
function for the moment, mostly related to interactions with lava (as
there are a couple of species proposals floating around that benefit
from having those interactions).
|
|
|
|
|
|
|
| |
descriptions of Sif and Kiku miscast protection.
Sif prevents both the miscast and associated contam ("effects of miscast")
Kiku prevents Necro miscasts and also death curses
|
|
|
|
|
| |
A case was removed from the switch (145100d5) but the condition hadn't
changed.
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
|
|
|
|
|
|
| |
This covers potions of (strong) poison, miscast effects, clouds,
needle traps, missiles, and curare.
Several of the less important ones have fairly arbitrary values that
seemed roughly reasonable. A bit more care was used with some things
whose poison damage could already be genuinely dangerous (such as
early poison needles), but definitely needs testing in a real game.
|
| |
|
|
|
|
|
| |
Usually pointless. Occasionally fatal, and unpreventable, save by
going through hell wearing stasis
|
|
|
|
|
| |
If you have curing, it's pointless; if no, you die. Hard to make it anything
but that, given how common potions of curing are.
|
| |
|
|
|
|
|
|
|
| |
Djinn games can't be started (hopefully including using the rcfile),
and djinn code should be removed on save-compat bump.
Also, schedule a few SE things to be removed.
|
|
|
|
|
| |
Fixes neutral/friendly monsters elsewhere on the level making malign
gateways appear next to the player (especially under Jiyva, see #8161).
|
|
|
|
|
| |
This is so that miscasts caused by the player (Spellbinder) that kill
the monster get attributed correctly to the player.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Unlike big_cloud ones (which can spill), a size 1 cloud shouldn't even give
a message if it can't spawn the cloud.
|
| |
|
| |
|
|
|
|
|
|
| |
It's now 2-4, down from 3-7.
Convokers still convoke 3-7.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's now updated every turn instead of every 20 turns and it's almost
deterministic (only the time scaling use randomized rounding).
The bad effects still happen every 20 turns though (just like hell effects and
other stuff).
It has been scaled by 1000. I tried with 100, but I still had some significant
rounding issues, especially with scaling to time_taken.
It shouldn't be possible anymore to gain yellow glow from a single cast of
invisibility even at max power. Although, in theory, it has a slight chance
of putting you just 1 point short of yellow (4999).
|
|
|
|
| |
Replace you.penance[FOO] with player_under_penance[FOO].
|
|
|
|
|
| |
Pull 'you.religion [!=]= FOO' checks into a function: you_worship(FOO).
This change is part of a large plan to clean up religion.
|
| |
|
|
|
|
|
|
| |
I can't recall seeing a single depiction without facial hair of some kind.
For example, while the first several hundred of google images include some
bald ones, all who are bald have a beard instead.
|
|
|
|
|
|
| |
Has a 50% chance to affect each wand carried and drains charges based
on the maximum capacity of the wand (from 1-3 for healing, hasting etc
up to 1-8 for magic darts, confusion etc).
|
|
|
|
| |
Probably.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of permanently reducing player xp (and xl), draining attacks
now inflict a temporary reduction in all skill levels (similar to Ash
wrath) which is worked off by gaining xp. The xp used to overcome the
penalty is not actually deducted, so draining does not reduce long-term
xp totals. Draining causes both a flat and (smaller) percentile reduction
(meaning that higher level skills are somewhat more strongly affected
than low ones).
The amount of draining inflicted by an attack scales with the damage
taken, meaning that low EV, high AC characters will be less
proportionately vulnerable to draining than their inverse counterparts,
at least compared to the present situation.
The xp cost of removing a point of draining decreases the more heavily
drained the player is, so that it is a bit easier to dig yourself out
of a deep hole if you manage to end up in one.
The numbers are provisional, but should hopefully be fairly sane. Ideally,
I think it would be good if draining had a noticable enough impact to
encourage wearing rN more often than is presently done, as a counter to
it, but let's see how it plays.
For the time-being, draining still works the same against monsters as
it always has.
|
|
|
|
|
|
| |
Committing separately as I'm not sure whether checking, for example,
ASSERT_RANGE(level, 1, 28) is that nice. Perhaps 27 + 1 could be better?
Perhaps some other syntax?
|
|
|
|
|
| |
The perl regexp to do so is:
s&ASSERT\(([^\n]+) >= ([^\n]+)\);\s*ASSERT\(\1 < ([^\n]+)\);&ASSERT_RANGE($1, $2, $3);&sg;
|
|\
| |
| |
| |
| | |
Conflicts:
crawl-ref/source/enum.h
|
| |\
| | |
| | |
| | | |
Waiting for Grotesks and the Forest to go live!
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
It's confusing; especially the use in cloud.cc looks strongly like it's
supposed to work differently.
|
| | | |
| | | |
| | | |
| | | | |
The former does nothing but makes it more work to use the full interface.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
MP draining tends to be way powerful when applied to HP, thus we instead
use monster-like antimagic. This applies to antimagic weapons as well,
although those would work well even without this.
|
| |_|/
|/| | |
|
| |/
|/| |
|
| |
| |
| |
| |
| | |
This is still stronger than the old effect, of course. Maybe it should
just summon one?
|
| |
| |
| |
| |
| |
| |
| |
| | |
This prevents it from rotting through Zin's Vitalisation.
This also adjusts ::rot()'s quiet property to be meaningful in the
player case, and adjusts the code for the only time this was used to
retain the same behaviour.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously Zot traps functioned by picking a random spell school and then
using a severity 3 miscast for that school. Now they draw from a hand-picked
list of possible effects (currently still mainly consisting of miscast-like
effects)..
Separating Zot trap effects out like this makes sense because miscasts and
Zot trap effects happen in different circumstances: the former are under the
player's control to a large extent and should mainly happen in combat, while
the latter often happen with no monsters around, when the player explores
into a trap. Because of this, it makes sense that some effects would work
well for one but not the other. In addition, separating the two lets us
add new Zot trap effects without needing to associate them with a spell
school.
The list of effects added in this commit is quite rough. A few comments on
it:
* I didn't use any simple "ouch" effects, which are quite common among the
miscasts. Just doing damage to the player is boring and won't do anything
if the player is exploring. Explosions are better because they cause noise
and hit multiple squares.
* Polymorphing the player into badforms was intentionally omitted. It turns
out that near-unavoidably polymorphing players on Zot:5 into forms with rF-
and/or limited item/spell options isn't very nice.
* On general request, contamination from Zot traps is less severe now. You
can certainly still get mutated from this (or directly malmutated), but
horror stories of 6 bad mutations from one trap should be less common.
|