summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-flags.h
Commit message (Collapse)AuthorAgeFilesLines
* Make living lost soul revival more like the undead one.Shmuale Mark2014-06-261-1/+1
| | | | | | | | | | | | 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.
* Change a hardcoded list to a monster flag.Shmuale Mark2014-06-081-2/+4
| | | | | | 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.
* Remove M_VIGILANTreaverb2014-06-011-2/+2
| | | | | | | It's unused now that curse skulls are stationary again. This reverts commit e381e79d48aaf3bf1e770f58b6abfcf0817f2b81. This reverts commit 5a745abeb842ba05116320a397ba05de73a94303.
* Remove spriggan enchanters.Shmuale Mark2014-05-051-3/+0
| | | | | 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.
* Split M_SHADOW from M_GLOWS_LIGHT.Neil Moore2014-03-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 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
* Monster Shroud of Golubria spell, effect and M_SHROUD.Steve Melenchuk2014-02-031-0/+3
| | | | | | | | 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.
* Rework the monster Ozocubu's Armour effect and give back to Fannar.Steve Melenchuk2014-01-311-0/+3
| | | | | | | | | | | | | 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.
* Remove an unused monster class flag.Adam Borowski2014-01-181-2/+1
| | | | Was used only by spirits, who themselves never hit the game.
* Use a bit flag rather than allocating a prop for every single monster.Adam Borowski2014-01-141-0/+1
| | | | Also, go through a number of checks just once.
* Make ENCH_SLEEPY a flag rather an enchantment.Adam Borowski2013-11-271-0/+1
| | | | | | | | | | | | | 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.
* Make monster fast regeneration a flag rather than a list.Adam Borowski2013-10-191-1/+2
| | | | Consistent with M_NO_REGEN, and makes it far easier to notice.
* Polymo{th,rph} tweaks.Brendan Hickey2013-06-261-0/+1
| | | | | | 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.
* New monster flag M_VIGILANTDracoOmega2013-06-261-0/+3
| | | | | | | | | | | | 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)
* Allow random chimera to be created with MONS syntaxPete Hurst2013-06-231-0/+3
| | | | | | | | | | 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.
* Comment fix.David Lawrence Ramsey2013-05-311-1/+1
|
* Merge remote-tracking branch 'origin/master' into forest_reduxSteve Melenchuk2013-05-291-1/+4
|\ | | | | | | | | | | | | Conflicts: crawl-ref/source/evoke.cc crawl-ref/source/mon-flags.h crawl-ref/source/spl-miscast.cc
| * M_NO_GEN_DERIVED to suppress generation of certain boring zombies.Adam Borowski2013-05-291-0/+3
| |
* | Spriggan assassins and spriggan enchanters.Steve Melenchuk2013-05-271-0/+3
|/ | | | | | | | | | | | | | | 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.
* A monster flag M_CANT_SPAWN, to mark dummy monsters.Adam Borowski2013-05-261-0/+3
| | | | | | | 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.
* Allow raising skeletons (but no zombies) of ghoulies.Adam Borowski2013-05-261-0/+3
| | | | | Like any monsters of non-natural holiness, such skeletons won't generate normally.
* Interlevel recall for Yred and BeoghDracoOmega2013-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | 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)
* Comment fix.David Lawrence Ramsey2013-02-231-1/+1
|
* Revert "Remove apparently unused monster flag at the next major version bump."David Lawrence Ramsey2013-02-211-4/+0
| | | | | | It's used for resurrecting monsters (phoenixes and shedu). This reverts commit d609bed3511b78027a384ad0f31119ba0897cd7c.
* Remove apparently unused monster flag at the next major version bump.David Lawrence Ramsey2013-02-041-0/+4
| | | | The individual monster property accomplishes the same thing.
* Add comment.David Lawrence Ramsey2013-01-261-0/+1
|
* Heavily restrict which monsters are able to flee at low HP.Michael Gagno2012-09-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Actually remove a monster flag instead of commenting it out.Adam Borowski2012-06-031-2/+0
| | | | | I first commented it out, as it seemed to be "not used yet", and only then checked that it's not used anymore.
* Remove an unused monster flag.Adam Borowski2012-06-031-14/+14
| | | | It was used in the initial implementation of demonic guardians.
* Track whether a monster has shown it has a ranged attack.Adam Borowski2012-05-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | 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
* Add a monster class flag for maintaining distance.Neil Moore2012-03-171-0/+3
| | | | | | | 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.
* Add name_nocorpse flag.Neil Moore2011-12-101-1/+1
| | | | | | | | | | | 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".
* Tweak unbreathing mutation description.David Lawrence Ramsey2011-11-111-1/+1
| | | | | | | | | | | 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.
* Clean up all the old mimic code.Raphael Langella2011-09-051-2/+1
| | | | | | | 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.
* Spiders sense when trapped in webPete Hurst2011-08-311-0/+2
|
* balance tweaks from player playtesting feedbackWensley2011-07-131-0/+3
|
* Stop only once for sensed monsters.Raphael Langella2011-03-251-0/+2
|
* Remove M_SPECIAL_ABILITY, nothing queries it.Adam Borowski2011-03-111-2/+1
|
* Monster flag n_zom to allow redefining zombies.Adam Borowski2011-02-221-4/+2
|
* Don't use enums for MF_ constants, they're a bitfield.Adam Borowski2011-02-031-0/+211