| 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!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hit dice-reduction effect of draining has historically had
several problems. It reduced monsters' maximum hp, which made it
look like they were getting *less* injured, since they had a
higher proportion of hp remaining. It lowered monster XP & piety
gains, which was irrelevant but misled new players who somehow
learned about it. It occasionally led to "degenerate" hit-and-run
tactics.
And most damningly of all, it hardly ever mattered - it
triggered on ~13% of hits, which meant that on low HD monsters
the extra damage would kill them before the effect was
noticeable, and against high HD monsters, the effect would only
ever be noticeable at all with the aforementioned hit-and-run
tactics.
So, to fix those problems, draining now gives a "drained" status,
that reduces monster HD for most combat-related purposes
(spellcasting, accuracy, damage, etc.), but not max hp, xp, or
piety. This is temporary, but will last 20-30 turns, and
refreshes every time the drain triggers - essentially, it should
last until you kill the monster, unless you run away.
The temp-status is now applied to the monster every time they get
drained; the chance of the drain brand activating has been reduced
to 1/2, from 2/3. This should focus the effects of the brand more
on the unique part of it, the draining/weakening effect.
As a bonus, this also means that players can no longer have their
followers permanently weakened by draining effects. Beogh buff!
|
|
|
|
|
|
| |
Berserk will now always show the monster as having might/haste, except
that whenever a monster would show both slow and fast, it shows
"fast+slow" (like players do on their status bar).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Committer's note: squashed two commits. The second commit's message
was:
changed clua moninfo:spells() to return book sets/string tables like
describe.cc monster_info has_spells based on mostly on spellbooks.
describe and clua moninfo:spells's shared code moves to
mon-book.h/mon-util.cc
-neil]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Turning the monster into a spectre is a really cool effect and causes
some useful things automatically, like making it evil, but has interface
problems (with showing the base monster type, not just the species) and
also monster-monster consistency ones (in general, spectral things can't
cast spells).
There are minor gameplay differences, mostly in that the new monster
will not have any of the resistances/vulnerabities of being undead,
but in general it should play similarly to how it already does.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
One of them was incorrect, and the other correct but confusing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If your equipment would have been corroded under the old system, you now
get a temporary (but stacking) -5 AC and -3 weapon damage. Corrosion
against armour-wearing monsters instead halves their AC.
Committer's notes:
Fixed whitespace and fit to Trunk
Added Corrosion entry to hiscores.cc
The original patch showed the slaying malus on the weapon, which may
be preferable to a status light.
gammafunk noted that ouch.cc iterates over equipment when deciding
when to corrode, this might make less sense under the new system.
-reaverb
|
|
|
|
|
|
|
|
|
| |
The idea behind the miasma death explosion is interesting, but in
general miasma can be extremely annoying and the cloud rather easy
to avoid. This is especially true in the layout of Crypt, which is
the only place they show up outside of vaults. The retching attack
gave a rare special case that very rarely mattered and didn't help
to distinguish them all that much.
|
|
|
|
|
| |
They never really worked as enemies - their only unique aspect, partner
resurrection, was just annoying.
|
|
|
|
| |
This fixes all the instances caught by unbrace.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It previously put out forest fires, which made sense in Forest but
is mostly a rare special case now. It also gave friendlies ENCH_WIND
_AIDED, which was supposed to increase their ranged accuracy. Since
spriggan air mages aren't around fauns and satyrs anymore, there's
no need for it.
I didn't actually remove the code for the effects of ENCH_WIND_AIDED,
since I couldn't find them. Either it was never actually implemented
or I was missing something obvious.
|
|
|
|
|
|
| |
Has anyone ever noticed one running out in an actual game? Now that
they even have something else to be their defining characteristic,
it just seems weird.
|
|
|
|
|
|
|
|
| |
Adds monster attacks to monster_info and displays a line above monster
spell sets for monsters with attack flavours, such as "It may attack to
cause poisoning and deal extra fire damage." Player ghosts and random
pan lords use brands instead of attack flavours and so aren't described
here (and random pan lords shouldn't be anyway).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Phantom Mirror
There was quite a bit of special case code for the 'fake' monsters
which Mara and other rakshasa would create that can be subsumed
beneath the general Phantom Mirror effect (which can properly create
fake dummies of any type of monster in a unified way).
The main practical gameplay difference that will result (aside from
bugs introduced by this, of course) is that the true Mara will
actually be disguised when he splits, instead of the player knowing
for sure which one he is (until two of them blink in the same turn,
anyway). This is a Mara buff, but it seems to me that an illusion
spell of this nature shouldn't have been so easy to see through in
the first place and that this is an overall better state of affairs.
(Also, the clones do have less hp than before, if you end up killing
the wrong one first).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This spell clones a selected allied creature, randomly swapping the
clone and original to disguise which is real and which is fake (and
also not displaying the summon as 'summoned', for the same reason).
The mirrored creature does have the full offensive capabilities of
the original, but only half the hp (all of them are dispelled upon
killing the creator, as you would expect).
This is intended as part of a rakshasa revamp, and will eventually
replace the existing uses of MONS_RAKSHASA_FAKE and associated code.
(And can probably do similar for Mara as well, with a few tweaks,
tidying the various uses of duplication under a simpler codebase).
|
|
|
|
|
|
|
| |
Previously, it simply checked whether the base type had see invisible.
This was worthless in the case of panlords and ghosts, since whether
they could see invisble was based on info they got in their ghost_demon
struct.
|
|
|
|
|
|
| |
The enum values were never checked in any code relating to chivalry,
except to see that a value wasn't 0 (ie it was a forbidden stab).
A recent bug arose from the bad naming, too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Level 9 Conjuration/Ice; generates a cone-shaped great blast of ice
around a specified target. The minimum range of the cone is 3, and the
maximum is LOS at maximum spellpower; damage within a minimum-range cone
is equivalent to Ice Storm, and falls off with the square of the distance
for larger cones.
Leaves freezing clouds over the affected area, like Ice Storm; they
dissipate really quickly over large areas, though.
Targets hit with Glaciate are flash-frozen; they are subject to slow
movement for three turns.
Targets killed with Glaciate have a 3/5 chance of becoming a block of
ice (similar to a pillar of salt).
Also contains a monster-castable version of the spell.
Replaces Ice Storm; most of Ice Storm's code disappears (ZAP_ICE_STORM is
TAG_MAJOR_VERSION == 34'd out). Go fight Lom Lobon to see the monster
version.
Large chunks of this either originate from a patch from Keanan Smith
(Siegurt), seen at https://crawl.develz.org/mantis/view.php?id=7760, or
from the following discussion on Tavern:
https://crawl.develz.org/tavern/viewtopic.php?f=8&t=9854
|
|
|
|
|
|
|
|
|
|
|
| |
e.g.
"A felid. [...] It covers ground quickly."
"A hydra. [...] It swims extremely quickly."
"An orb spider. [...] It is fast, but uses natural abilities extremely
slowly."
|
|
|
|
|
| |
This was causing the name to sometimes display with the "the" in monster
and sometimes not; now it consistently does not.
|
|
|
|
|
|
|
|
| |
The spell is infinite duration for monsters; M_SHROUD starts the monster
with one.
The ability to cast the spell is only really intended for monsters that
start with the spell so that they can renew it.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
"torturous demonspawn chaos champion" is excessively long for a monster
name; ##crawl-dev agrees.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Based on Punishment of Excess from the proposal.
Casting spells while afflicted by this hex progressively hinders your
spellcasting success (or adds antimagic enchantment levels if you are a
monster).
Technically this could be extended to have an effect specific to
individual spell schools, but that would result in a lot of duplication
of durations and the like.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Originally Black Hole in the proposal, but with a Singularity spell
in the works that's too misleading a name.
This spell empowers the caster and its allies to randomly drain speed,
skills, abilities, or magic on successful damaging melee attacks,
healing the ally making the attack.
This commit also gives black suns a (temporary?) spell set loosely based
in the proposal; they also get Malign Offering, which I see as fitting
both the necromancy theme and the ability of the caster to heal their
allies (through Black Mark).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The support spells are Orb of Electrocution (as a monster spell),
Explosive Bolt (seen on the proposal as Bolt of Fireball), and Flash
Freeze.
The monster takes 10 damage to cast one of Orb of Electrocution, Crystal
Spear, Orb of Destruction, Ghostly Fireball, Explosive Bolt, or Flash
Freeze (not all equally weighted).
Some of the messaging could be improved, but the underlying framework is
present and accounted for.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
They come with an ENCH_ICEMAIL which gives them 10 AC; if they take fire
damage they permanently lose the ENCH_ICEMAIL.
Whether we want to have this regenerate or not I leave up in the air for
the moment.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See:
https://crawl.develz.org/wiki/doku.php?id=user:hangedman#faceted_classed_demonspawn_for_pan
for explanations.
This includes a move of the demonspawn glyph to '6'; this is intended to
make the glyphs for each of the enemies unique, which wouldn't really be
possible with the overloaded '@' glyph.
A lot of the functionality that varies for base demonspawn is present,
including attack flavours and spininess; the base monsters differ
slightly to reflect this. The nonbase enemies are all currently
identical; further, nothing places anywhere yet.
Differentiation to come in following commits.
|
| |
| |
| |
| |
| |
| |
| | |
This is a hex whose effect is twofold. First, it multiplies the amount
of poison already in the target's system (this cannot be resisted), then
attempts to apply a level of poison vulnerability (which can be resisted
via MR)
|
|/
|
|
|
|
|
|
|
|
|
|
| |
I'm not sure this is really necessary and cannot operate the same as
the player's in any case, since monsters don't really know how to
stand still. Thus theirs will wear off even when stationary (though
moving accelerates the process as they take damage).
It might just be simpler to make the monster bleed or something, instead
of this extra code for an effect that will rarely happen or be meaningful
(though manticores have already been suggested as a possible player
summon several times, so....)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All the ones that reference mon_spellbook_type, so that the users
of mon-util.h don't all require a rebuild whenever mon-spll.h is
touched and mon-mst.h regenerated.
For the same reason, change the 'sec' field mon monster_entry back to an
int, and make get_spellbooks a function rather than a method of
monster_info.
I did not split the implementations off into a new .cc file, but that
wouldn't be unreasonable.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit b0c9531a8997436f0bddfa218105d2e67c16f2ce.
This reverts commit 054e7ae2f5fb42c12dc169898259e58f2dc5a77b, reversing
changes made to 1ddc8957bd848179aac795187f07496f02932644.
|
|
|
|
| |
Wields a hooked quarterstaff, throws snowballs.
|
|
|
|
|
| |
Thansk to Cedor, Basil and |amethyst for their help in deciphering how
monster_info for detected monsters is supposed to work.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also, don't mark illusory rakshasas as mindless.
|
| |
|