| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
It only works if you have the appropriate projectile type
quivered (otherwise it shows you as if using the weapon in melee,
i.e. breadswing speed), but that's still an improvement.
Also, constify.
|
|
|
|
|
|
|
| |
Or after they die, etc.
Also no longer require the torpor snail to be visible, thus
preventing powerful /invis secret tech. rip :(
|
|
|
|
|
|
|
|
|
| |
This time when your engulfer is trampled away. We don't handle the case
where a monster's engulfer is trampled away, sorry: if we want to do
that, we should generalise the constriction code and remove the engulf
enchantment/duration.
Make clear_far_engulf() public to support this change.
|
|
|
|
|
| |
The status still doesn't end immediately when the engulfer dies etc.:
see bug #7394.
|
|
|
|
| |
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!).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
Mostly this just merges res_holy_energy and res_holy_flames, keeping
Djinn's special-case immunity to the latter but not the former. The only
gameplay change should be that (a) demons will take slightly more damage
from holy flames and (b) distracted monsters will be immune to them.
|
| |
|
|
|
|
|
|
|
|
|
| |
This mutation acts as an anti-faith, making piety gain slower. This
probably doesn't work well with wretched stars, but it seems like a
good, long term, strategic effect.
This idea has been floated around before as a species mutation. It could
be added to one of the blander species, or given to a new species.
|
|
|
|
|
|
| |
The amulet of conservation and cloaks of preservation are no longer
necessary without item destruction. Maxwell's patent armour now has
the resistance ego and grants rF+ and rC+.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Shaft traps previously considered the actor's total inventory weight
in addition to body weight, but the player burden calculation code
isn't worth keeping for this consideration alone. The chance of a
shaft trap activating now depends only on the actor's body weight.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
| |
Previously you could have a drained skill display as 10.5 on the m screen but
have you.skill(SK_blah) return 9 for it because of inconsistent rounding.
This fixes that issue, though I wonder if it might be simpler to just use a
fixed large scale during all the skill calculations and then convert to the
requested scale at the end.
|
|
|
|
| |
Oops.
|
|
|
|
|
|
| |
Moves the delay calculations into player and monster respectively so
that it can properly be done at the start of the ranged attack; it
doesn't make sense to have them in attack or ranged_attack.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Partly this is to (somewhat) make the Abyss a little easier. Teleports
still take longer than orbrun teleports to kick in on average, and
in general letting the player know what an action will do is a good
thing.
But the main reason is that, due to maprot, same-area abyss teleports
are a pretty awful interface screw. You are prevented from remembering
what monsters were around (this was quite annoying when being marked
was more common in the abyss), and though you can see for one second
what direction you came from, immediately after the screen refreshes
and you can't anymore.
Possibly this could lead to improving/removing altogether maprot.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This prevented inlining this trivial function, and it gets called ~15M times
per gprof's virtual second:
%time self #called
0.81 6.25 0.12 160842498 0.00 0.00 actor::pos() const
|
|
|
|
|
|
|
|
|
|
|
| |
Suppression is a hugely complicated and inconsistent mechanic. Its
original purpose was to be a way of overriding rPois in Spider but
there are now plenty of monsters that do this effectively (and much more
simply).
[1KB: I moved this to trunk, as it made an already extremely hard to review
branch massively more so. There's nothing but a single enum to preserve,
so compat break doesn't make this removal any easier or harder.]
|
|\ |
|
| |\ |
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
crawl-ref/source/dat/des/variable/mini_monsters.des
crawl-ref/source/enum.h
crawl-ref/source/itemprop.cc
crawl-ref/source/main.cc
crawl-ref/source/mutation-data.h
crawl-ref/source/mutation.cc
crawl-ref/source/newgame.cc
crawl-ref/source/ng-restr.cc
crawl-ref/source/rltiles/dc-player.txt
crawl-ref/source/spl-selfench.cc
crawl-ref/source/throw.cc
crawl-ref/source/tilepick-p.cc
crawl-ref/source/wiz-you.cc
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
crawl-ref/docs/crawl_manual.reST
crawl-ref/source/abl-show.cc
crawl-ref/source/dat/descript/ability.txt
crawl-ref/source/delay.cc
crawl-ref/source/enum.h
crawl-ref/source/main.cc
crawl-ref/source/mon-cast.cc
crawl-ref/source/mon-gear.cc
crawl-ref/source/mon-spll.h
crawl-ref/source/mutation-data.h
crawl-ref/source/mutation.cc
crawl-ref/source/ng-restr.cc
crawl-ref/source/ng-setup.cc
crawl-ref/source/output.cc
crawl-ref/source/player-act.cc
crawl-ref/source/player.cc
crawl-ref/source/species.cc
crawl-ref/source/spl-data.h
crawl-ref/source/wiz-you.cc
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tavern post:
https://crawl.develz.org/tavern/viewtopic.php?f=8&t=8298
Wierdness & mutations:
- poison weakness
- retractable antennae (can wear headgear and ignore mutation)
- chitin skin (+3 AC)
- most weapons 1-handed, big weapons 2-handed
- permanent stasis
- ability to shaft self
- ability to dig
- Starts with 2 curing pots
3 monster versions of formicids were added:
formicid, a weak fighter
formicid drone, a stronger fighter
formicid venom mage, a magician with olgreb's and mass cure poison
[ Pushing to a branch for experimental playtesting on CSZO.
Also optimised the new tiles. -nfm ]
|
| | | | | |
|
| | | | | |
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
They costed us complex bookkeeping every turn if there were any lost souls on
the level. Instead, just check the "hard way" (faster than one turn worth
of aura processing) whenever a monster dies.
No functional changes.
|
| | | |
| | | |
| | | |
| | | | |
Really, I'd like to make it nonexistant instead...
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It has an anti-wizardry effect, e.g. it negatively impacts spell success
rates - on the whole, it's basically a hat of wild magic.
There's a minor adjustment here to item name code to get the noises to
display properly.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Player chooses a monster target within range where there's at least one valid
landing site adjacent to the target.
* There must be a monster to target to use the ability, but the monster can be
friendly or neutral.
* A random valid landing site is chosen, the player is moved to that square, and
weapon melee occurs against the target at the landing site.
* Jump attacks are melee with the wielded weapon and get a 20% damage bonus
* Valid landing sites are always habitable squares with no monster and no
thing that's dangerous to the player.
* Flying monsters or giant monsters not standing in deep water or lava can
'block' the path of a landing site by being in the ray path from the player to
the landing site.
* If a visible monster blocks the path to a landing site, it won't be considered
as a valid landing site.
* If something invisible blocks a landing site, the site will be shown as valid
and can be randomly chosen, in which case the player 'rebounds off something
unseen' and never leaves the starting square, but wastes a turn (delay 10aut).
* If the player is adjacent to the monster, sites adjacent to the player are not
valid; you have to 'jump over' the monster in this case.
* Player can't jump if exhausted or standing in water/lava/liquefied ground
* Exhaustion duration is set after jump (regardless of success) to prevent a
second jump, with a duration formula that's the same as the breath duration.
* The usual melee checks wielded weapon/friendly etc. checks are performed for
the jump melee.
* If any of the valid landing sites would cause problems with self-electrocution
or sanctuary violation, the player is warned first.
* Range is determined by evocations training; starting attack range is 3
(movement 2), and it increases by one at evocations 5 and 10.
* The cost of the jump is 2MP and a hunger cost using the same calculation as
for flame breath.
* The delay of a successful jump is the same as melee delay.
* Fail rate for the ability calculation based on evoke taken from breath fail
rate code
|
| | | |
|
| |/
|/|
| |
| | |
Simplifies code in a number of places, and also fixes a few tree-moving bugs.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clinging might be a minor feature, but it's a distinguishing one, it's thematic
and it's working quite well.
Player/monster symmetry has never been a goal, so it seems dubious to invoke it
as the reason to throw away all the work that has been put into clinging. We
can always say that the player turns into a different kind of spider which is
unable to cling for some reason.
This reverts commit bdc56382eacf7af1b2330dc6444916d368741fec.
This reverts commit d689486464fcaaac025a6f469ab69674a2f4d173.
This reverts commit 1addaaf8ee92de5060fdb436f93251843abd2035.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With player clinging removed, monster doesn't make much sense.
Note that I personally somehow like clinging -- even if it's rarely useful
except early on, it was quite harmless. However, I'm strongly against
having players and monsters inconsistent when there's no very good reason.
Thus, reverting this and MarvinPA's change is an option. Just please keep
or revert them together.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Also, fix an uninitialized use for monsters.
|
| |
| |
| |
| |
| |
| | |
'you' seemed to be pointless in such context anyways, and lead to some
const correctness bugs since '*this' could have a different const-ness
from 'you'.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a deferred_damage_fineff is used, ::hurt is called twice. Once for
the original target, and a second time for the shared target. Both
calls would apply effects such as weakening from wretched and QUAD
DAMAGE. While SIXTEEN TIMES damage is funny, the attacker's effects
should only be applied once.
Now ouch/hurt functions and the deferred_damage_fineff have an
'attacker_effects' parameter, which defaults to true. If false, then
damage effects from the attacker are assumed to have already been
applied. All existing uses of deferred_damage_fineff have been
appropriately updated. Also applied to spectral weapon damage sharing.
|
|\ \ |
|
| |/ |
|