| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This also adds a line to the description of monsters with the M_BLINKER
flag. It reuses the spot that M_VIGILANT was at, but I don't think
that should cause any problems.
|
|
|
|
|
|
|
| |
It's unused now that curse skulls are stationary again.
This reverts commit e381e79d48aaf3bf1e770f58b6abfcf0817f2b81.
This reverts commit 5a745abeb842ba05116320a397ba05de73a94303.
|
|
|
|
|
| |
The monster. It didn't really exist anywhere, nor did the idea seem
to add too much to the good-sized danger that spriggans already posed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Historically, M_GLOWS_LIGHT was originally a hardcoded list of monsters
that can't be backlit: the list was mostly glowing creatures, but also
some inherently shadowy ones. When the use of the flag was subsequently
expanded, it be
Now shadowy creatures:
* Can go invisible (even more shadowy)
* Have a stealth bonus, not malus.
* Are described as "wreathed in shadows" rather than "outlined in
light".
Give the flag to shadow fiend, shadow dragon, phantasmal warrior,
spectral weapon, and shadow fiend. Don't give it to spectral things,
which are explicitly described as glowing.
(cherry picked from commit c9348eb8f6c4cd4f327a8e0eba418e53d0be50d5)
Conflicts:
crawl-ref/source/mon-flags.h
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Primarily, this introduces an M_OZOCUBUS_ARMOUR that pre-generates
tagged monsters with the enchantment already in effect and that does not
time out. The spell still exists, and also gives armour that doesn't
time out; this would be most likely to be used a monster that has
M_OZOCUBUS_ARMOUR.
Since the original implementation was for Fannar, it makes sense that
he's the first to get it back. I haven't touched his current spell set
because he's probably still going to die quickly enough that he won't
waste a turn casting it again.
|
|
|
|
| |
Was used only by spirits, who themselves never hit the game.
|
|
|
|
| |
Also, go through a number of checks just once.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way it can get cleared a lot faster: we have a loop to remove it from
every monster every turn, which shows up this prominently on qw profiles:
[4] 59.6 0.07 14.57 21662 handle_monsters(bool) [4]
0.31 9.15 1263185/2072593 monster::del_ench(enchant_type, bool, bool)
This commit merely optimizes it without improving the complexity: inventing
some field last_slept could allow setting this only when the monster gets
hibernated. For now I went the easy but lame way; having the query
encapsulated means a stronger optimization can be done easier.
|
|
|
|
| |
Consistent with M_NO_REGEN, and makes it far easier to notice.
|
|
|
|
|
|
| |
1. Don't polymorph godless monsters into priests.
2. Add a flag to monsters that have been polymorphed.
3. Don't allow the polymoth to upgrade a monster more than once.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag makes a monster always wake up when the player comes into
LoS and never naturally forget about them (though stairs and teleports
and such still work)
This is intended at the moment for curse skulls, to simulate their
previous behavior of generating awake, but also to keep them from
simply wandering off if you wait long enough while one is outside your
LoS. Possibly it could eventually make sense for other magical sentinels
(eg: golems, once golems are better)
|
|
|
|
|
|
|
|
|
|
| |
This enables a MONS spec to just be "chimera" and three depth-
appropriate monsters will be used. This can produce bizarre
results but might be useful. It should also allows things
like "place:Zot:5 chimera vs place:Pan chimera" in Arena.
The filters could be refined further to allow random chimera
to not be completely ridiculous.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
crawl-ref/source/evoke.cc
crawl-ref/source/mon-flags.h
crawl-ref/source/spl-miscast.cc
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This takes advantage of the pre-existing enum and description for
assassins, and reuses the description from the now-non-existent Rogue's
Gallery serial vault.
This introduces an M_STABBER monster class flag. Monsters with this
flag will try to maintain their distance (using ranged attacks) until
such a time as their target is incapacitated, at which time they switch
to melee to attack their target. Stabbers without a means of ranged
attack will assume normal monster behaviour.
Assassins get this flag with blowguns and status-inflicting needles;
enchanters get this flag with a spell-set to complement it.
|
|
|
|
|
|
|
| |
Genus-only, recolouring, etc. Not for "dummies" which are valid monsters
otherwise.
This is mostly redundant with M_NO_POLY_TO which it implies, for now.
|
|
|
|
|
| |
Like any monsters of non-natural holiness, such skeletons won't generate
normally.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow the god-given recall abilities for Yred and Beogh to recall
all god-associated permenant allies, regardless of where in the dungeon
they reside. (Note that this only includes Yred gifts and not zombies;
ie: things that could already follow you between levels)
This is done by actively tracking all of these allies in a seperate list
which is updated whenever a tracked ally is gained, dies, changes level,
or the player changes level.
The fact that permanent allies from these gods make interlevel travel
unusable is one of the largest sources of tedium associated with those gods,
and a major reason for their lack of popularity. Being able to recall from
previous levels means you no longer have to manually herd and count allies
at the top and bottom of every stair, sometimes having to make multiple
trips if the terrain surrounding the stair is too confined. This should
make these gods much more playable (and if their power level is now more
obvious and considered too high, it can be adjusted in other ways than via
tedium)
|
| |
|
|
|
|
|
|
| |
It's used for resurrecting monsters (phoenixes and shedu).
This reverts commit d609bed3511b78027a384ad0f31119ba0897cd7c.
|
|
|
|
| |
The individual monster property accomplishes the same thing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has been discussed in ##crawl-dev and elsewhere, and has so far met no
negative feedback (and there has been quite a bit of positive). I think this
is worth trying in trunk; if something goes wrong it's easy to revert, or
water down.
This commit does two things:
1. It replaces the M_NO_FLEE flag with M_FLEES, and gives it to only a
select few monsters.
2. It simplifies the logic for fleeing at low HP a bit: instead of checking
a bunch of different attributes (intelligence, holiness, etc), it only
checks for the M_FLEES flag.
As for which monsters get M_FLEES: currently it is only monsters which used
to flee under the old system, and also possess ranged attacks (this is
because they can decide to stop fleeing and start attacking you at range).
This is more interesting than melee-only enemies fleeing, which are unable
to do anything but run into a corner. Thus, a fire drake will flee, but a
yak will not.
I believe the balance concerns here are insignificant, once players learn to
adapt to this change. If there is a problem, we could change which monsters
get M_FLEES. Nevertheless, this is something we should pay attention to as
people play trunk (it may be helpful to compare kill stats, before and
after, for monsters like hydras and death yaks).
Finally, I should note that this does not change fleeing caused by fear
effects, and it does not affect other "emergency" abilities (bears will
still berserk at low HP, in other words).
|
|
|
|
|
| |
I first commented it out, as it seemed to be "not used yet", and only then
checked that it's not used anymore.
|
|
|
|
| |
It was used in the initial implementation of demonic guardians.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes information leaks (the other option would be to include
bows/crossbows slung across the shoulder in "comes into view" messages).
This also allows resting when there's a sentient monster on the other
side of water and it has no means of attacking us. If this proved to be
false and it did have darts hidden in a pocket but never chose to use
them before, the attack will interrupt rest as usual.
Monsters are considered to have a ranged attack they're:
* non-ghost/demon with ranged/summoning spells
There is no randomization that would change this.
* ghost/demons who have cast _any_ spell. It's prudent to assume that if
they cast spells at all, they likely have something nasty.
* are of a type which usually starts with a ranged weapon (centaurs, etc),
and are not a known shapeshifter
* were seen wielding a bow/etc
* were seen shooting/throwing something
* were seen picking a bow/dart/hand axe/...
* were seen zapping a wand
|
|
|
|
|
|
|
| |
Monsters with the new M_MAINTAIN_RANGE flag will try to maintain
"firing" range (LOS/2), even at the expense of moving away from you.
The idea is to use this for a few special monsters with ranged attacks,
including perhaps some spiders.
|
|
|
|
|
|
|
|
|
|
|
| |
The flag causes the mname to be ignored for corpses. Apply it to a
number of vault creatures such as "hungry kobold" and "terrified
wizard", since those adjectives don't accurately describe the corpse.
Some edge cases are debatable: "febrile human" has name_nocorpse
but "sickly human" does not.
Also apply n_spe to some other vault creatures, so e.g. "greater ghost
moth corpse" doesn't always get "the".
|
|
|
|
|
|
|
|
|
|
|
| |
Unbreathing refers to the ability to survive without breathing, no more,
no less. Being able to go underwater is still a separate quality, and
being able to speak presumably still requires the ability to breathe, so
it still applies to e.g. Zin-worshipping grey draconians.
As for mummies (not to mention felids and octopodes), assume they speak
via magical means, as I can't think of a different justification right
now.
|
|
|
|
|
|
|
| |
There's no such thing as an unknown mimic monster anymore. Also rename the
MF_KNOWN_MIMIC monster flag to MF_KNOWN_SHIFTER since it's only used for
shapeshifter now.
For upgraded games, existing unknown mimics will all be revealed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|