summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/mon-cast.cc
Commit message (Collapse)AuthorAgeFilesLines
* Rename acid beam "corrosive bolt" -> "bolt of acid"Nicholas Feinberg2014-08-051-1/+1
| | | | | | | For clarity. The spell remains the slightly punchier "Corrosive Bolt", which I don't *think* will cause any confusion.
* Add the new monster spell 'Corrosive Bolt'Nicholas Feinberg2014-07-311-0/+9
| | | | | | | | | As part of the continuing quest to add more acid to more places. For now, it's on deep elf sorcerers (replacing b. draining), tengu reavers (replacing one of the venom bolts in one of their spellbooks), and a./liches (replacing the bolt of draining in one of their spellbooks).
* Remove stuffNicholas Feinberg2014-07-291-2/+3
| | | | | | | .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!
* Tweak Plane Rend monster setsNicholas Feinberg2014-07-251-4/+4
| | | | | | | | | Swap wolf spiders out for tarantellas, which might theoretically do something (and lower their weight in favor of orb spiders, because orb spiders are never not great), swap out iron trolls for stone giants as a belated part of the great Iron Troll Removal Campaign, and swap torpor snails in for death yaks, now that the slow from the former ends properly.
* Actually fix hellfire colouring and tilesChris Campbell2014-07-151-1/+1
| | | | | | 34a3de9 actually only made smitey hellfire lightred, and the commit it references only affected player hellfire! Unless there is a secret 4th hellfire codepath this should now work properly.
* Separate 'permanent' and 'temporary' monster hit diceNicholas Feinberg2014-07-131-17/+21
| | | | As part of a wider scheme to make draining temporary.
* Allow toggling monster speech diagnostics in &^QNeil Moore2014-07-081-2/+2
| | | | | This is currently predicated on DEBUG_MONSPEAK, since all the relevant messages are.
* Allow specifying spells:melee in monster specs.Neil Moore2014-07-081-1/+4
|
* Fix hellfire burst being a different colour to hellfire zapChris Campbell2014-07-081-1/+1
| | | | | Hellfire was changed from red to lightred to distinguish it from normal fire in 3c4ea9ef4, but hellfire burst was unchanged and still red.
* Have monsters check constriction before using knockback abilitiesgammafunk2014-07-021-0/+11
| | | | | | | | | | If a monster is constricting a victim, don't allow it to use a spell or ability that would knock the victim back, thus breaking the constriction. I made this commit when I was considering giving op crushers primal wave, an idea that I dropped, but the check should still be there, and this does move otherwise duplicated code to a single method.
* The great mon-stuff migration.Shmuale Mark2014-06-221-1/+0
| | | | | | | | | A good deal of functions move to the two new files, mon-poly and mon-message. Of the others, some go to where they are used, some to mon-util, and a few are made member methods of monster. This probably breaks Xcode compilation, and I'm not able to test the changes I made to MSVC that will (hopefully) keep it working.
* Make monsters target lightning/cloud rod reasonably.Neil Moore2014-06-121-0/+3
| | | | | | | | | | | | We were calculating (with _thunderbolt_tracer or mons_should_cloud_cone) whether the monster should fire---then ignoring the result for those two spells and always firing. Furthermore, mons_should_cloud_cone used a foe_ratio of zero, meaning it wouldn't care about collateral hits at all. Always use the result of the tracer to decide whether to zap, refactoring the surrounding code a bit in the process. Also, have mons_should_cloud_cone set a foe_ratio (the default 80), as well as a few other bolt members used by mons_should_fire.
* Revert "Make random_choose_weighted() end on -1 weight"reaverb2014-06-101-5/+5
| | | | | | | This reverts commit 7e81480cda18144ff185f5248639a072b654deff. Turns out I missed some calls to random_choose_weighted(), this change might not even be worth doing.
* Make random_choose_weighted() end on -1 weightreaverb2014-06-101-5/+5
| | | | For consistency with random_choose().
* Compare BEAM_DEVASTATION to BEAM_MMISSILE (|amethyst)reaverb2014-06-051-2/+2
|
* Rename BEAM_NUKE to BEAM_DEVASTATIONreaverb2014-06-051-3/+3
|
* Make Doxygen @returns "@return" for consistancy.reaverb2014-06-051-1/+1
|
* Remove a dusty & disused spellflagNicholas Feinberg2014-06-041-1/+1
|
* Remove Shedureaverb2014-05-131-13/+1
| | | | | They never really worked as enemies - their only unique aspect, partner resurrection, was just annoying.
* Formatting fixes (add braces).Neil Moore2014-05-121-0/+12
| | | | This fixes all the instances caught by unbrace.
* New monster spell: Drain Magic.Steve Melenchuk2014-05-101-0/+5
| | | | | | | | It's an antimagic enchantment, borrowing the code from melee antimagic (which now internally refers to the new beam type). I have a vague notion that this might remove antimagic effects from the caster at some point, but that's for later.
* Remove the Summon Elemental spellChris Campbell2014-05-061-50/+42
| | | | | | | | It was fairly fiddly and unclear in its mechanics, and elemental summoning is now covered by the elemental evokers (and possibly the storm god at some point in the future too)ยท Moved Summon Forest from the book of the Warp to replace it in the book of Summonings, and added Dispersal to replace it in the book of Wizardry.
* Remove a couple incorrect commentsreaverb2014-05-061-2/+2
|
* Remove spriggan enchanters.Shmuale Mark2014-05-051-3/+1
| | | | | 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.
* Prevent a potential error (|amethyst).Shmuale Mark2014-04-291-2/+2
|
* Remove grizzly bears.Shmuale Mark2014-04-291-2/+2
| | | | | | They were almost identical to polar bears, which at least had the distinguishing (from black bears) to swim and be at home in an ice cave.
* Remove flaming corpses.Shmuale Mark2014-04-291-3/+2
| | | | | | | | Sticky flame damage is hardly noticeable in D, and basically non-existent in Crypt -- the only thing an average game noticed about these monsters was that they liked to destroy scrolls. It was nice for some vaults to have an undead counterpart to simulacra but there are plenty of other evil fiery monsters.
* Remove silver starsChris Campbell2014-04-281-1/+2
| | | | | | Both of their spells work by dealing ridiculous amounts of damage to a few, vulnerable species and little or no damage otherwise, which does not make for an interesting monster.
* Fix Phantom Mirror being able to mirror uniques.Shmuale Mark2014-04-241-1/+2
|
* Add two unintentionally missing tables to Plane Rend lists (floatingatoll).Steve Melenchuk2014-04-221-0/+2
|
* Fix an inconsistency in Phantom Mirror target checking.Steve Melenchuk2014-04-201-9/+12
| | | | | | mons_is_conjured() wasn't checked when actually casting the spell; thus rakshasas who could see, say, orbs of destruction or battlesphere while also seeing another nearby target could clone the former.
* Adjust formatting.Neil Moore2014-04-141-1/+1
|
* Blow up a couple of instances of blown up by.Steve Melenchuk2014-04-121-0/+1
| | | | Prevents "blown up by lich" (sic) and "blasted by (bolt of fire)".
* Give several area(-ish) spells tracers.Steve Melenchuk2014-04-111-22/+48
| | | | | | | | | | | | | | | | | So that they can be cast without being in LOS of the player under appropriate circumstances; thus a check for being in LOS of the player for these and a few other spells are gone. The major candidate here is Symbol of Torment, which can now be used against your allies even if you're torment-immune or you're not in LOS; spells which previously didn't have a tracer of some sort that do now are Chain Lightning and Chain of Chaos (for whatever good it does), and spells that can now be cast anywhere are Ozocubu's Refrigeration, Tornado, and Shatter. Related is a fix for getting a more if Chain Lightning is cast anywhere by anyone regardless of if you saw it or not (now you only get the more if you saw the lightning arc at all).
* Remove vapour monstersgammafunk2014-04-091-1/+0
| | | | | | | | | | | | | | | | | Always confused, permanently invisible monsters that only know how to check your electricity resistance are not very fun to fight. For vaults, I've replaced many instances of vapours with wind drakes where the "air" is the theme, replaced a couple instances with lightning spires where the theme was electricity or with thorn hunters if the theme is merely swamp. Other instances have been outright removed. For the cloud mage wizlab, I've replaced vapours with wind drakes but have down-weighted them relative to air elementals and insubstantial wisps. For the foxfire card, I've moved vampire mosquitos into the position where vapours were, put insubstantial wisps as lower-power summons behind fireflies, since the latter got a buff some time ago, and added killer bees in between insubstantial wisps and fireflies to keep the number of summon types the same.
* Fix compilationChris Campbell2014-04-061-1/+1
| | | | Oops!
* Don't let Phantom Mirror clone conjured monsters (#8349)Chris Campbell2014-04-061-1/+1
|
* Improve some spellcasting messagesChris Campbell2014-04-061-2/+2
| | | | | | Use normal beam messages for flame tongue, adjust Arachne messages (PleasingFungus), make Rupert's targeted spells more generic so that they are still accurate when resisted.
* Indent and brace cleanupsgammafunk2014-03-301-1/+1
|
* Remove unneeded references to axed monsters and move related tilesgammafunk2014-03-291-1/+1
| | | | | | Remove code references to removed monsters, except where needed for save compatibility, as well as quotes/descriptions references, and move the related tiles to UNUSED. RIP gnomes.
* Let Mephitic Cloud be cast as a monster emergency spell.Steve Melenchuk2014-03-261-0/+1
| | | | Relevant for Natasha.
* Don't let monsters abjure with a rod of shadowsChris Campbell2014-03-221-1/+4
|
* Reduce chance of monsters casting abjuration somewhatDracoOmega2014-03-221-1/+1
|
* Don't let monsters abjure using a Rod of the SwarmDracoOmega2014-03-221-3/+5
|
* Greatly increase frequency (and reduce variance of) servitor spellcastsDracoOmega2014-03-211-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | One of the most obvious problems with Spellforged Servitor is that the normal monster spellcasting frequency is rather low and this is all the servitor can meaningfully do. Due to this, it was prone to spending long periods appearing to do nothing (to the point that it wasn't even obvious to players that it was 'attempting' to attack any monsters at all, leading more than a few to reissue their attack orders - to no effect). Even aside from a lack of meaningful feedback, casting a level 7 spell only for it often do nothing is underwhelming (even if it was quite effective on the ocassions it would decide to cast rapidly). Given that the servitor's role is purely confined to this spell, I think it's fine to bend the rules for it. Instead of the standard chance to cast a spell each action, servitors will ALWAYS attempt to cast a spell, but the energy cost of this spell is randomized (from between 10 and 25 energy currently) to simulate turns spent idling instead of casting, without allowing the chance of protracted periods where they don't seem to be doing anything (which even a very high standard frequency would permit on a series of unlucky rolls). It's arguably a touch on the fast side (but it IS a level 7 dual-school spell that requires multiple other spells learned for support), but it feels a lot better and more active in play. (The implementation is a touch hacky, but in absense of a more full and adjustable spell frequency system, I'm not sure there's any cleaner way to do this.)
* Lower monster dazzling spray damage / accuracyDracoOmega2014-03-211-3/+3
| | | | | | | | On moderately high HD casters, it was roughly as damaging as bolt of fire/cold while also being considerably more accurate (and blinding/confusing things!). This lowers its power considerably to something more in line with what you might expect for its level, compared to similar monster conjurations.
* Fix some issues with monster dazzling spray tracersDracoOmega2014-03-211-6/+5
| | | | | For a couple of reasons, monsters would fail to fire them at other monsters (only players).
* Some tweaks to monster OTRDracoOmega2014-03-201-0/+3
| | | | | | | Make monster OTR last longer, but prevent monsters from refreshing it while active (which should make them a bit more effective, and also flash the screen much less). Increase the amount of poison damage inflicted by it upon players.
* Formatting fixes.Neil Moore2014-03-191-3/+1
|
* Schedule more of Fake Rakshasa Summon for removal.Neil Moore2014-03-121-0/+2
|