summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-cast.h
Commit message (Collapse)AuthorAgeFilesLines
* Allow specifying Phantom Mirror hp mult, nerf for normal copies onlyDracoOmega2014-03-111-0/+1
| | | | | | Reduce normal Phantom Mirror hp to 35% of the original's (to hopefully make it more reasonable to sometimes kill them instead of the rakshasa). Mara clones and rakshasa low-hp clones remain at 50% of their original.
* Revamp RakshasaDracoOmega2014-03-111-0/+3
| | | | | | | | | | | | | | | | | | | Rakshasa were a monster that seemed to have little purpose. They couldn't really hurt you (barring picking up a rod or something), yet would duplicate in large numbers and make it rather hard to make them go away. This is aimed at turning their basic behavior into something that can present an actual threat, while simultaneously being less obtrusive. Rakshasa's new spellset consists of Phantom Mirror, IMB, and (less) blink. Phantom Mirror can be used only on other monsters - not themselves - allowing them to perform a support role by duplicating other threats. When they are reduced to 50% hp, as a one-time effect they will split into 3, but cannot otherwise copy themselves or do so continuously (they only regain this ability after recovering to full hp, which probably means you ran away and rested for a while). This commit also gives them actual equipment.
* Rod of frigid destruction -> Rod of clouds.Steve Melenchuk2014-02-261-0/+2
| | | | | | | | | | | Sprays clouds over a cone-shaped area in front of the caster. At low power it gives rain, mist, or noxious fumes; mid-tier gives flames, freezing vapour, or poison gas; high-tier gives one of three new cloud types - acidic fog, negative energy, or storm clouds. The targeter is from an experimental implementation of a spell called "Scattershot", hence the name and some of the functionality it provides which goes unused here.
* Start using -Wredundant-decls; fix all the instances I getSamuel Bronson2013-12-121-1/+0
| | | | | That is, unless you count the ones in ncurses' headers, which I can't do anything except suppress.
* Reduce the number of monsters a Zot trap can recall.Steve Melenchuk2013-09-181-1/+1
| | | | | | It's now 2-4, down from 3-7. Convokers still convoke 3-7.
* Zot trap effect: Word of Recall.Steve Melenchuk2013-09-161-1/+1
|
* Shuffle some function prototypes to correct places.Adam Borowski2013-04-071-1/+0
|
* Add Ironbrand ConvokersDracoOmega2013-03-031-0/+1
| | | | | | | | These are moderately-armoured support soldiers who can cast might other and word of recall, which requires several turns for them to fully recite (during which time it can be interrupted by disabling or killing them), and after which will teleport a moderate number of I_NORMAL or better monsters to near the convoker's location.
* Rename mons_spells() to mons_spell_beam().Adam Borowski2012-12-081-2/+2
|
* Make some functions static/gone.Adam Borowski2012-06-021-6/+0
|
* Implement breath timeouts for dragons, draconians, and, slightly, drakes.Jude Brown2011-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit is only designed to implement breath-weapon timeouts for draconians and dragons of every taste and flavour. This is slightly problematic because it relies on mons_genus to return MONS_DRAGON, and usees this to determine whether or not the monster should be allowed to use the breath weapon. The current time-out is 1d5. I had previously suggested 1+random2(10-(HD/3)) but it was suggested this might be a bit too much. 1d5 is subject to change, of course, and as this uses a function to set the time-out, the exact value can be defined per-monster, per-genus, etc. Hopefully, I've caught every use of breath weapon. I need to test drakes a little bit more extensively. Problematically, the code currently classes a breath weapon either by a draconian's breath weapon being cast (in mon-cast.cc:1684) and the monster's genus being draconian, or the monster's genus being a dragon. Abilities are handled differently. This might thus prove problematic for monsters which have both beams for breath weapons, as well as other auxiliary spells. These, if they exist (and I do not think they currently do), would be unusable until the end of the duration. Also, it nerfs dragons a bit! Pearl dragons will no longer spam holy breath at you, etc: this primarily is the reason for the code. If it's found to be too much of a nerf, it maybe be adjusted to only trigger on certain types of dragon, etc.
* Move some monster spell code around.Adam Borowski2011-06-041-0/+5
|
* Make file headers doxygen-friendly, drop useless fields.Adam Borowski2011-03-281-5/+4
| | | | | | | "File:" is shown in your editor's status bar. "Written by:" was used only for the first person who changed a file. We got git for that now, and pre-DCSS history is so woefully inaccurate it doesn't really matter.
* Rename class "monsters" to "monster".Robert Vollmert2010-09-051-9/+9
|
* Rename variables named "monster" to "mons" or similar.Robert Vollmert2010-09-051-7/+7
|
* Spectral orcs spell for NergalleShayne Halvorson2010-09-041-0/+1
|
* Split up mons_cast_noise.Robert Vollmert2010-02-091-2/+2
| | | | | Should be mostly functionally equivalent to before, though "UNSEEN BEAM" was lost.
* Allow Mara to clone any foe, not just the player.Darshan Shaligram2010-01-301-0/+1
| | | | | | When cloning the player, Mara will now create MONS_PLAYER_ILLUSION instead of MONS_PLAYER_GHOST. Illusions are identical to ghosts, but will get the correct breath weapon (for draconian players) and the correct holiness (i.e. undead only if the player is undead). Clones also inherit appropriate enchantments from their original, so if the player/other target is berserk, the clone will also be berserk.
* headers: fix inconsistent struct/class forward declarationsSteven Noonan2009-12-291-1/+1
| | | | | | | Some classes were erroneously referred to as 'struct' in forward declarations, and vice versa. Signed-off-by: Steven Noonan <steven@uplinklabs.net>
* New (rakshasa) unique: Mara, Lord of Ilusions.Jude Brown2009-12-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This re-uses several ideas from the Emerald Eye FR, and implements the spell "Mislead": this grants the "Misled" status effect to the player, and causes on-level monsters to appear (glyph, name and tile) to be other monsters. Only their appearance is changed. Healing potions and rain remove this status effect. Mara also has a beefed-up version of the Rakshasa clone spell: it instead creates an "exact" clone (slightly altered spells list, and non-unique status for his clones). Only two will ever be created at once. Finally, he has the spell "Summon Player Ghost". This spell creates a ghost of the player (though marked as a summon, meaning that it (shouldn't) register a milestone, though it will be treated as a self-ghost kill) that is hostile. Only one of these should be existant at any one point in time. I'm pretty sure that I haven't broken anything, but would definitely appreciate someone sanity-checking this commit. Known minor issue: Kirke's summon ugly things being cast while having the Misled status causes them to show up with no glyph.
* Bug #2896412: Breath broken after polymorphMatthew Cline2009-11-151-2/+3
| | | | | | | | | | | | If a wizard or priest is polymorphed into a monster without hands, then when it casts a spell preserved across the polymorph (rather than any innate ability or spell) then to avoid getting weird messages (like "Harold breaths UNSEEN BEAM at you") the first lookup key for dat/database/monspell.txt is "polymorphed wizard" or "polymorphed priest." NOTE: There should probably be a greater variety of messages depending on shpae, like "quadruped wizard" and "blob wizard".
* mon-cast: fix is_valid_mon_spell()Matthew Cline2009-11-061-1/+2
| | | | | is_valid_mon_spell() should now correctly return true for non-targetted monster spells.
* Error for non-monster spells in monster specsMatthew Cline2009-11-051-1/+5
| | | | | | Give an error when parsing a monster spec if it lists a spell a monster can't cast, rather than causing an assertion when the monster tries to cast it.
* Split up monstuff.ccMatthew Cline2009-11-011-0/+25
A lot of monstuff.cc was moved into mon-abil.cc (monster abilities), mon-act.cc (the main monster loop), mon-behv.cc (monster behaviour) and mon-cast.cc (monster spells). mstuff2.cc was completely merged into other files.