| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implementer's notes (Grunt):
The spell Crystal Bolt is player-castable for possible future use with the
"rod of bolts" (reworked rod of destruction), and crystal golems have been
replaced 1:1 in vaults that used them.
---
Designer's notes (tenofswords):
Not every golem can be cut without scarring many a vault, and golems are
very strongly themed to the point of reluctance with complete cuts.
Still, they're golems, slow melee-only monsters with extreme defenses and
excellent melee that thus encourage annoying tactics due to being unable
to kill patient players but also being very difficult to kill. We certainly
don't need nearly versions of this sort of monster as we currently do
(goliath beetle, slugs and snails, golems, iron trolls, iron imp/devil,
earth elemental); the only time this really works is in Dis, where
there are hell effects and very nasty company to make sure that there's
no time to use the slow strategies of avoiding being hurt much by golems.
This serves as another change to a slow, melee-only monster for preserving
some themes and flavours without outright cutting into the monsters available.
These new crystal guardians once more have good defense and even better
resists in exchange for bad health and zero EV, appear in numbers in most
vaults, are boosted (to normal) speed, and get a ranged option; in this
case, a bolt of fire or cold that happens to bounce off all walls, rather
than just crystal, easily resisted by the caster in ricchoets. This is
modelled off the decent-enough edits on minmay_guarded_unrand_dyrovepreva,
and the name originates from there, too.
Between crystal guardians and war gargoyles as less terrible material,
I've got plans to edit out stone golems, clay golems, and iron golems
out from basically everywhere but Dis:7 vaults, which should pave the
way for essentially removing these three and dealing a decent blow to
the multitudes of slow, melee-only, very difficult to destroy encounters
in sheer differences of monsters, though mostly by changing vault-specific
mediocre monsters rather than significantly impacting overall monster sets.
For now, the patch has a near 1:1 replacement use with crystal golems, aside
from most importantly adjusting (and upping) their use as rare D:12-16 OODs.
Needs a new tile.
|
|
|
|
|
| |
Some unprecedented logic in fa88923 made ignite poison think it was
just a tracer whenever it processed a poison cloud (noxious was fine).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For monsters partially representative of one of the strongest current
races plus primarily Dis:$ spawns, metal gargoyles are quite weak.
While low health and few resists lets them be much more palatable
as part of the group of slow, high defense pure-melee monsters, said
group is very full and these serve as autofight-material at best.
Thus, this patch gives them buffs to fit into a particular niche:
fast, high ac, low hp, nasty ranged.
This renames metal gargoyles and uses a flavour of explicit
smithing preperation to buff their speed, give them maces, and lets
them use a slightly weaker form of iron dragon metal splinters.
Of course, there are also a few general stat buffs: rough health
of deep troll shamans, the damage of merfolk impalers, see invisible.
Imagine them as stone giants with halved health and less melee damage
in exchange for haste, mild resists, weapons, and golem-level AC.
It also adjusts their vault uses, and puts them as rare Vaults OOD
spawns for both more V to D distinction and extra flavour.
Further monster gargoyle changes echoing this would be appropiate;
molten gargoyles with lava breath and higher HD for AF_FIRE to
address the low focus on fire damage in Gehenna, rare occasional
plain gargoyles a little harder hitting. Using these gargoyles to
replace most iron golem uses would also be worthwhile; this was
recently prompted by getting something to replace some vault golems
with.
TODO: Get a new tile that can show weapons or at least _a_ weapon.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With the forest dispersal work done, and with everything working up to
the original designer's standards, this is ready for trunk.
Conflicts:
crawl-ref/source/beam.cc
crawl-ref/source/dat/des/branches/pan.des
crawl-ref/source/enum.h
crawl-ref/source/hiscores.cc
crawl-ref/source/melee_attack.cc
crawl-ref/source/mgen_enum.h
crawl-ref/source/mon-cast.cc
crawl-ref/source/mon-data.h
crawl-ref/source/mon-ench.cc
crawl-ref/source/mon-info.cc
crawl-ref/source/mon-info.h
crawl-ref/source/mon-place.cc
crawl-ref/source/mon-spll.h
crawl-ref/source/mon-stuff.cc
crawl-ref/source/mon-util.cc
crawl-ref/source/mutation.cc
crawl-ref/source/output.cc
crawl-ref/source/player.cc
crawl-ref/source/spl-data.h
crawl-ref/source/status.cc
crawl-ref/source/wiz-you.cc
|
| |
| |
| |
| |
| | |
Cursory testing suggests this fixes having the same effect turn up for
beam, which is undesirable.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Listed in the proposal as Icon of Greatness.
A grand avatar behaves similarly to both a spectral weapon and a
battlesphere in that it attacks targets the caster and its nearby allies
either attack in melee or by battlesphere-triggered conjurations; it
is only guaranteed to attack if the triggerer does at least 15 damage,
though it may trigger randomly below that threshold.
|
| |
| |
| |
| |
| |
| |
| | |
This blatantly hijacks the chain lightning code for its own purposes,
but it works somehow.
Xom roars with laughter!
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even in a branch where most of the monsters naturally resist it, the
friendly fire can be problematic (around, say, anacondas, and now also
salamanders and shock serpents), and without being able to liberally
use this spell, naga ritualists suffer greatly. Let's just assume that
their explicitly esoteric magics have found an answer to this problem,
and go with an implementation that plays better.
This also simplifies tracer logic, since it can simply check only
for the presence of susceptible hostiles and not the balance between
those and friendlies.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is basically what it says on the tin: Ignite Poison delivered
to a single location via a (non-resistable) enchantment beam. The
damage inflicted is greater at the same power compared to normal
Ignite Poison, but making it non-smite-targeted is a considerable
limitation in the player's favor, of course.
Intended for Salamander Mystics.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This finishes some of the generalization made previously to this code
to make it less player-centric and adds tracer-like checks to allow
monsters to guess when it's worth casting (ie: will do more to their
enemies than their allies).
A lot of the player damage code left over from when it could hurt the
caster wasn't really suitable for a monster effect and so has been
removed or changed. It can no longer destroy items in your inventory
(including 100% of all poison ammo carried!) nor create flame clouds
based on this. Damage for higher levels of poisoning has been greatly
stepped down and poisoning no longer stacks with naturally poisonous
physiology (ie: being a naga or kobold) in terms of damage inflicted
on players.
I don't actually have a home in mind for this code directly, but I
plan to use it as the base for a single-targeted version of this
effect, and maybe it would be okay on player ghosts?
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While effective and apparently balanced as a player spell, when used
against the player, OTR is underwhelming - in definite part due to
player's greater hp, ready access to !curing, and the fact that players
can kite with the spell while monsters will not. Overall it does little
direct damage while potentially poisoning too heavily (though all this
often amounts to is costing you a !curing after the battle is over).
With that in mind, I have rebalanced the effect against players in 3 ways:
1) It inflicts considerably more direct damage
2) It inflicts only half as much poisoning
3) The damage falloff by distance is greatly reduced for monster casters
in general. (It made the effect too trivial if not engaged in melee with
the caster, and monsters do not require any extra mechanisms to discourage
engagement with the player)
Overall it should be be more threatening against players in an immediate
sense, while being less likely to leave you in the deep red afterward.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These are a mid-to-high-tier Snake enemy (at the moment), intended to be
more interesting than the current variety of fast physical / venom
damage plain snakes and slow but hard-hitting nagas.
They deal mainly electrical damage in one of three (or four) ways -
directly through their bite, at a distance with Shock, or at melee range
through Static Discharge - invoked by them directly or as a response to
taking damage.
Tactical management of shock serpents could be interesting - hitting
them when they're surrounded by enemies will damage those enemies
courtesy of the discharge effect.
|
| |
| |
| |
| |
| |
| | |
Right now it's just ghosts that will cast it, but I have at least two
seemingly viable ideas for this functionality - one involving a new
enemy and one involving an unrand.
|
| |
| |
| |
| |
| |
| |
| | |
Apparently someone else is going to do something similar in the
immediate future.
This reverts commit 65f686f80ba4bcb81cbe48947271143fe96d4b20.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The relevant old commit is ab7eb6992d0672e1189193d82656b790ddd6dc9a;
this is cleaned up and modernised a lot from its original
implementation (mainly it has a tracer whereas the original
implementation did not).
The new FoVM spell set is Venom Bolt, Poisonous Cloud, and Ignite
Poison. This might benefit from some more adjustment - it's a spell set
that can potentially generate a lot of collateral damage if you get too big
of a swarm of nearby poisonous enemies; some other ideas I've had
including replacing one of the two damage spells with Poison Arrow (one
shot, one target) or Mephitic Cloud (low area of effect, can still be
ignited semi-reliably).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It was a pure interface screw, and even worse, required a large amount of
support code that's a maintenance burden, causing crashes we need to fix
from time to time.
|
|
|
|
| |
See Mantis for discussion.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Being able to awaken trees and pull you next to them is a strong
combination on its own, it's not necessary for them to also hide in the
trees while doing so.
Removes a lot of code for handling wall movement since rock worms are gone
too, but leaves HT_ROCK - it appears that spatial maelstroms sort-of-use
it (not sure if they actually need it, though).
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Seems easier to explain than just OTR immunity. Simplifies the code, too.
There is one weird quirk, though: wielding it while poisoned gets you a
darkgrey "Pois" status light that doesn't go away until you unwield the
staff, when the poison resumes to damage you. I wonder if that's ok.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.]
|
|
|
|
|
|
|
|
|
|
| |
It was really weird: working on a square, but in almost all cases
restricting it to your view (a circle). Note this is _your_ view rather
than from the iterator's center -- which hasn't been used once in the
obvious interesting way.
As usual, this commit fixes a load of "act through glass" bugs, ando/or
using los modes that don't make sense in the context.
|
| |
|
|
|
|
|
| |
It degenerated to a simple loop over menv, hardly worth any syntactic sugar.
I kept it for now, though.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Does the "in view" part of functionality of monster_iterator, is simpler,
allows using los models other than LOS_DEFAULT, and gets rid of a lot of
uses of get_los().
The code is nearly identical as actor_near_iterator, but the old delegation
used more code than either of those. Still, perhaps templating could work?
This commit also fixes a buttload of ignoring invis / see invis / sense invis
(ie, visible_to()) and act-through-glass bugs.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fire an ME_ANNOY rather than ME_WHACK event so that stupid monsters
can't tell where the draining came from; this reflects the change already
made to OTR and Refrigeration in 0.14-a0-299-g49704ef.
Also incorporate the same fix for a missing agent as was applied to
Refrigeration in 0.14-a0-462-g04546ee, as well as a few additional
related fixes.
|
|
|
|
|
|
| |
This could happen, for example, if an unknown scroll of brand weapon
bestows the freezing brand. See for example:
http://dobrazupa.org/morgue/Nordon/crash-Nordon-20131030-085130.txt
|
| |
|
|
|
|
|
| |
And add a mention of when each wall can be destroyed to the spell
description.
|
|
|
|
|
|
|
|
|
|
| |
Ice, bone, stone and rock (including partial and full petrification) now
all have the same type of explosion: radius 1, 3 damage dice. Mostly this
just means slightly more damage across the board for a few target types.
The chance to instantly kill skeletal creatures and statues is also
removed. The main notable special case remaining is the reduced damage to
player Gargoyles.
|
|
|
|
|
| |
Zombies and objects (like dancing weapons) are supposed to allow hitting
them from afar. This enables some interesting tactics.
|
|
|
|
| |
Also fixes them not waking up sleeping enemies.
|
|
|
|
|
|
|
| |
Unlike in-inventory destruction, which, controversially, causes meaningful
decisions (have consumables that can save your life with you or not),
on-ground destruction merely requires paying constant attention if you
use spells that can do so.
|
|
|
|
|
| |
They were doing the same explosion damage in statue form as in their
normal form, while statue form for other races did 50% more than that.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were hard-coding the unextended range in a couple of places,
particularly in the targetter. This meant that the "any hostiles in
range" check could find a target while the targetter itself could not
(leaving the cursor on the player); and the primary beam could hit
monsters that appeared to be out of range (for example, if the player
presses ! or shift-direction). Use the correct extended range instead.
Also, Vehumet now extends the secondary beams to the same range as
the primary.
|
| |
|