summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-info.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove stuffNicholas Feinberg2014-07-291-0/+1
| | | | | | | .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!
* Make draining temporary (for monsters)Nicholas Feinberg2014-07-131-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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!
* Clean up some weirdnesses with monster berserk/haste description (#8765).Shmuale Mark2014-07-071-14/+15
| | | | | | 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).
* Remove an unused MB and ENCH.Shmuale Mark2014-07-071-7/+1
|
* Simplify, optimise, and improve formattingNeil Moore2014-07-011-7/+6
|
* Add getting monster spells to clua m:spells() (#8737)Aj Adamson2014-07-011-0/+29
| | | | | | | | | | | | [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]
* Fix a reference to Leda's slowing monster action speed (#8743)Chris Campbell2014-06-271-1/+3
|
* Make living lost soul revival more like the undead one.Shmuale Mark2014-06-261-0/+5
| | | | | | | | | | | | 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.
* Try to reduce duplication in Recite code.Shmuale Mark2014-06-191-1/+1
| | | | | | | | | | | | | | 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.
* Clarify some monster enchant descriptions (#1958).Shmuale Mark2014-06-111-3/+3
|
* Replace a few uses of a <= b <= c (#8594)Neil Moore2014-05-311-1/+1
| | | | One of them was incorrect, and the other correct but confusing.
* Replace corrosion with a temporary effect.Shayne Halvorson2014-05-141-0/+4
| | | | | | | | | | | | | | | | | | | | 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
* Remove plague shamblers.Shmuale Mark2014-05-141-4/+0
| | | | | | | | | 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.
* Remove Shedureaverb2014-05-131-3/+0
| | | | | They never really worked as enemies - their only unique aspect, partner resurrection, was just annoying.
* Formatting fixes (add braces).Neil Moore2014-05-121-0/+2
| | | | This fixes all the instances caught by unbrace.
* Abstractify.Shmuale Mark2014-05-051-4/+3
|
* Remove two outdated functions from Control Winds.Shmuale Mark2014-05-051-4/+0
| | | | | | | | | | | | 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.
* Don't limit the number of volleys a manticore can make.Shmuale Mark2014-05-051-2/+1
| | | | | | 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.
* Describe monster attack flavours in their descriptionsChris Campbell2014-05-041-0/+12
| | | | | | | | 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).
* Fix monster_info::res_magic for the recent MR changesChris Oelmueller2014-03-231-5/+4
|
* Remove fake Mara/Rakshasa monsters and associated code, refactor to use ↵DracoOmega2014-03-111-14/+2
| | | | | | | | | | | | | | | | | | | 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).
* New monster spell: Phantom MirrorDracoOmega2014-03-111-1/+2
| | | | | | | | | | | | | | 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).
* Try to make player ghost / pandemonium lord see invisible show up right.Shmuale Mark2014-03-061-0/+1
| | | | | | | 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.
* Rename unchivalric_attack_type and friends.Shmuale Mark2014-03-061-1/+1
| | | | | | 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.
* Glaciate.Steve Melenchuk2014-02-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Describe monster energy usage in xv and ?/M screens.Steve Melenchuk2014-02-111-0/+2
| | | | | | | | | | | 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."
* Fixup a couple of SoH inconsistencies in mon-info.Steve Melenchuk2014-02-041-2/+2
| | | | | This was causing the name to sometimes display with the "the" in monster and sometimes not; now it consistently does not.
* Monster Shroud of Golubria spell, effect and M_SHROUD.Steve Melenchuk2014-02-031-0/+4
| | | | | | | | 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.
* Merge branch 'demonspawn-enemies'Steve Melenchuk2014-01-281-2/+47
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Remove "demonspawn" from nonbase demonspawn names.Steve Melenchuk2014-01-211-5/+5
| | | | | | | | | | "torturous demonspawn chaos champion" is excessively long for a monster name; ##crawl-dev agrees.
| * Group demonspawn in monster display like draconians.Steve Melenchuk2014-01-211-0/+2
| |
| * Demonspawn warmonger: Sap Magic.Steve Melenchuk2014-01-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Demonspawn black suns: Black Mark.Steve Melenchuk2014-01-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * Demonspawn blood saint: Legendary Destruction and support spells.Steve Melenchuk2014-01-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Powered by Pain for torturous demonspawn.Steve Melenchuk2014-01-211-0/+4
| |
| * A super-basic icemail effect for gelid demonspawn.Steve Melenchuk2014-01-211-0/+4
| | | | | | | | | | | | | | | | 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.
| * Demonspawn enemies: underlying base/non-base monster work.Steve Melenchuk2014-01-211-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | New monster spell: VirulenceDracoOmega2014-01-281-0/+4
| | | | | | | | | | | | | | 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)
* | Add a simple monster implementation of manticore barb damageDracoOmega2014-01-281-0/+4
|/ | | | | | | | | | | | 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....)
* Split some prototypes etc off to mon-book.hNeil Moore2014-01-171-14/+0
| | | | | | | | | | | | | 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.
* Drop some useless parentheses around comparisons.Adam Borowski2014-01-101-4/+4
|
* Clarify is_spellcaster vs is_caster in monster_infoChris Campbell2014-01-031-1/+1
|
* Don't crash on vault-defined spellcasters that aren't priests/actual castersChris Campbell2014-01-031-2/+0
|
* Added spell list to monster description for player ghosts and vault monstersCedor2014-01-031-1/+31
|
* Take away xmas.Adam Borowski2013-12-271-1/+1
| | | | | | This reverts commit b0c9531a8997436f0bddfa218105d2e67c16f2ce. This reverts commit 054e7ae2f5fb42c12dc169898259e58f2dc5a77b, reversing changes made to 1ddc8957bd848179aac795187f07496f02932644.
* Sigmund -> Satan Claus.Adam Borowski2013-12-241-1/+1
| | | | Wields a hooked quarterstaff, throws snowballs.
* Show correct descriptions for sensed monsters (#7896)Samuel Bronson2013-12-211-0/+7
| | | | | Thansk to Cedor, Basil and |amethyst for their help in deciphering how monster_info for detected monsters is supposed to work.
* Drop double newlines where they seem to serve no purpose.Adam Borowski2013-12-211-1/+0
| | | | | 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.
* Don't let fake raksasas/Maras show as "summoned".Adam Borowski2013-12-161-1/+2
| | | | Also, don't mark illusory rakshasas as mindless.
* Further simplify Mislead/Mara/Rakshasa code.Adam Borowski2013-12-151-89/+47
|