summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-clouds.cc
Commit message (Collapse)AuthorAgeFilesLines
* Create prompt.ccNicholas Feinberg2014-07-271-1/+1
|
* Separate 'permanent' and 'temporary' monster hit diceNicholas Feinberg2014-07-131-1/+1
| | | | As part of a wider scheme to make draining temporary.
* Make Ring of Flames melt ice armour while activeChris Campbell2014-07-091-0/+3
| | | | | Since it claims that it will do so and prevents casting Ozo's Armour and Condensation Shield.
* Split butchering/bottling into a new fileNicholas Feinberg2014-07-011-0/+1
|
* Don't blame the player for monster rod of clouds flames (#8621)Neil Moore2014-05-311-1/+1
|
* Give Dithmenos piety loss when creating fire with the rod of clouds (#8510)Chris Campbell2014-05-081-0/+3
|
* Allow casting Ring of Flames while in a rain cloudChris Campbell2014-05-081-7/+0
|
* Remove two outdated functions from Control Winds.Shmuale Mark2014-05-051-23/+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.
* Improve some targeting failure messagesChris Campbell2014-04-161-2/+5
|
* Don't let Conjure Flame target treesChris Campbell2014-04-161-28/+1
| | | | Since it requires empty space to cast in all other cases.
* Add a message when casting cloud coneChris Campbell2014-04-071-0/+4
|
* Remove mangroves, make single trees block LOS.wheals2014-03-291-1/+0
| | | | | | | | | | | Trees are in some ways yet another type of transparent wall, and, as MarvinPA has said, "in general having areas full of trees where you can see lots of enemies but not target them just plays badly." There were two differences between trees and mangroves, besides LOS: the latter didn't start forest fires and left shallow water when destroyed. That behaviour is kept, instead checking whether the tree (technically, the player) is in Swamp.
* Adjust cloud weights for Rod of CloudsDracoOmega2014-03-291-5/+5
| | | | | | | | | | | | | | | | | The three special cloud types unique to this rod were vanishingly rare until very high evo (impossible until 15, but a minority even at 22 skill) and since most are not even greatly stronger than 'normal' clouds, I thought it was a shame that it was so hard to see them without a level of evocations skill that very few characters would realistically get. This allows negative energy and acid clouds to show up earlier, increases their relative weight compared to normal clouds (in asecending order of general power), makes rain a bit less common and meph somewhat more common as low-tier clouds. Storm clouds (the only new cloud type that tends to be more powerful than normal clouds in absolute terms) are more strongly favored at the highest power, which seems fine given the investment that represents.
* Adjust/normalize Rod of Clouds cloud durationsDracoOmega2014-03-291-1/+1
| | | | | | | | | The way it used shotgun rays meant that clouds placed directly in front of you could have extremely high durations compared to clouds just slightly to the side (an average of about 97 turns at 16 evo!). This commit makes all the clouds in the cone have the same base duration as each other (individually randomized and lower overall).
* Rod of frigid destruction -> Rod of clouds.Steve Melenchuk2014-02-261-0/+52
| | | | | | | | | | | 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.
* Reduce and randomise ophan holy flame durationChris Campbell2014-02-231-1/+2
|
* Harshen piety hits for Dith firestarting; fix some edge cases.Steve Melenchuk2014-01-271-0/+4
| | | | | | | Forest fires, Conjure Flame, and Ring of Flames now incur piety hits properly, and the piety hits for everything else are much harsher (you're probably going to get penance for trying to do anything fire-related).
* Add spaces after switch and catch keywords.Neil Moore2013-12-301-1/+1
|
* 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.
* Improve Corpse Rot messaging.Neil Moore2013-12-181-2/+7
| | | | | | | | | | It previously gave the "you smell decay" line if you could smell, and could see the caster. That means that if you were invisible and cast the spell, there would be no message. Now give the message whenever you are the caster, can see the caster, or can see a resulting miasma cloud. If you can't smell, give a message that doesn't involve smell.
* Don't credit the player for Kiku wrath corpse rot (#7878)Neil Moore2013-12-181-2/+4
|
* Fix spelling of "targeting" (#7837)Chris Campbell2013-12-101-1/+1
| | | | See Mantis for discussion.
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-2/+2
| | | | | | | | | Also simplify quite a few cases. It turns out in >90% cases of non-literals the argument had .c_str(), which meant it was pointlessly malloc()ed and converted from and to std::string. I believe a sprintf is faster, so even the argument of miniscule speed-up doesn't apply.
* Remove an error-prone dice_def constructor.Neil Moore2013-11-221-1/+1
| | | | | | | | | | | | | | It had a constructor with two optional ints, defaulting to zero. Unfortunately, since we can't rely on C++11's explicit keyword, this meant that dice_def foo = 7; would "work", rolling 7d0. The user probably expected 7d1, but rather than doing that just remove the argument defaults altogether, and add a separate default constructor. One replaced call used beam.damage = INSTANT_DEATH as a "convenient non-zero", but since INSTANT_DEATH is negative, even something like dice_def(INSTANT_DEATH, 1) would result in a negative roll. Use 42d1 instead.
* Get rid of all external uses of get_los().Adam Borowski2013-11-051-3/+1
| | | | | This also fixes a bunch of "act through glass" or "doesn't obey nightstalker/ lantern of shadows" bugs.
* Axe a buttload of useless #includes.Adam Borowski2013-11-031-3/+0
| | | | | Can't test Android, MSVC or Mac, but a very brief glance at the diff suggests it's unlikely they're affected.
* Use cell_is_solid where appropriate.Neil Moore2013-11-011-3/+3
|
* Rewrite monster_iterator.Adam Borowski2013-10-311-1/+0
| | | | | It degenerated to a simple loop over menv, hardly worth any syntactic sugar. I kept it for now, though.
* monster_near_iteratorAdam Borowski2013-10-311-10/+10
| | | | | | | | | | | | Does the "in view" part of functionality of monster_iterator, is simpler, allows using los models other than LOS_DEFAULT, and gets rid of a lot of uses of get_los(). The code is nearly identical as actor_near_iterator, but the old delegation used more code than either of those. Still, perhaps templating could work? This commit also fixes a buttload of ignoring invis / see invis / sense invis (ie, visible_to()) and act-through-glass bugs.
* Simplify actor_iterator and some of its users, rename to actor_near_iterator.Adam Borowski2013-10-311-0/+1
|
* Fix all uses of apply_area_cloud(), if the origin is solid.Adam Borowski2013-10-181-3/+0
| | | | | | | Some cloud generators have the cloud flow from a wall or a statue. They use targetter_cloud which doesn't allow that, except they don't use the regular interface but read the targetter's internal data, which skips some validation.
* Don't place a cloud covering the malign gateway itself, just next to it.Adam Borowski2013-10-181-0/+4
|
* Secondary effect for Control Winds: boost ally missile accuracyDracoOmega2013-06-241-0/+16
| | | | | | | | | | | Allies monsters within a few squares of someone with Control Winds active now get a boost to their accuracy with missile and thrown weapons, so long as the enchantment lasts. This doesn't currently affect spells, and I'm not sure it should. Somewhat awkwardly, it also doesn't affect things like manticore spines, due to seperate codepaths. Perhaps this effect should actually be checked in the beam code itself?
* New monster spell: Control WindsDracoOmega2013-06-241-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | This spell allows the caster to continously manipulate the winds to aid them and their allies. It is a self-enchant that will act continuously for a decent number of turns after being cast, with the following effects: Firstly, it will immediately extinguish any forest fires in LoS of the caster (both acting as a fire suppressor against the player's actions as well as stray lightning bolts of the caster's own) Secondly, it will blow clouds away from the caster. The path taken by them is primarily direct repulsion from the caster, but with three caveats: a) A cloud will never be blown onto an ally. Alternate paths will be used instead, where possible. b) A cloud currently engulfing a hostile will not be moved at all. c) If there is no possible path to move a cloud engulfing an ally, instead greatly reduce that cloud's remaning duration. This will allow spriggan air mages to stop starting raging forest fires in their own home, prevent the player from doing likewise, and generally provide protection for others against cloud spells, which spriggans are highly vulnerable to.
* Revert "Track who destroys an item; incur Nemelex penance for deck destruction."Adam Borowski2013-06-151-1/+1
| | | | | | | | | | | | | | | | This follows removal of documentation in 747b1a2d. Giving penance for a pointless act you need to go out your way for is quite strange -- it doesn't in any way restrict the player and thus has no balance gains, and there's a cost of making an already long god description even longer. Plus, you can get rid of decks simply by dropping them; on a non-permanent level if you really want to keep ^F clean. Not sure if the source tracking should be kept; for now I reverted it to keep things simple and to avoid an use of deprecated mindex (let's get rid of it already!), but if there's an use, please unrevert this part. This reverts commit 46bfda39a8d584164fa475188367f331314a644d.
* Add MSG_OK when canceling for various promptsPekka Lampila2013-06-101-0/+3
| | | | | Also in a couple of cases add other messages. The goal here is to always print something when a prompt is dealt with.
* Track who destroys an item; incur Nemelex penance for deck destruction.Steve Melenchuk2013-05-231-1/+1
| | | | | | | | | The framework here could be adopted to, say, give brownie points to Yredelemnul worshippers for destroying holy items, or other creative item-related god conducts. (More importantly, you can now reliably become an Unlucky Tengu. Hooray.)
* Remove unneeded blank line.David Lawrence Ramsey2013-03-171-1/+0
|
* Tracers for cloud spells for both players (#2491) and monsters.Steve Melenchuk2013-03-171-0/+31
| | | | | | | | This updates the beam code to check for the impact of a cloud forming at the beam's endpoint, and updates the player implementations of the cloud spells to fire a tracer cloud at that endpoint; thus players will be warned for targetting themself and/or allies, and monsters will take allies into consideration when using cloud spells.
* Remove a lot of dead code left over from the now-gone Evaporate spell.David Lawrence Ramsey2013-02-171-1/+1
| | | | Also, rename the still-used BEAM_POTION_MEPHITIC entry to BEAM_MEPHITIC.
* Add a prompt for casting Corpse Rot if standing on a corpseChris Campbell2013-01-221-0/+12
|
* Use std namespace.Raphael Langella2012-08-261-6/+6
| | | | | | | | | | | | | I had to rename distance() (in coord.h) to distance2() because it conflicts with the STL function to compare 2 iterators. Not a bad change given how it returns the square of the distance anyway. I also had to rename the message global variable (in message.cc) to buffer. I tried to fix and improve the coding style has much as I could, but I probably missed a few given how huge and tedious it is. I also didn't touch crawl-gdb.py, and the stuff in prebuilt, rltiles/tool and util/levcomp.*, because I have no clue about those.
* Remove Evaporate and Fulsome Distillation, and the book of StalkingChris Campbell2012-08-201-267/+0
| | | | | | | | Mephitic, poison and miasma clouds from a level 2 spell just isn't balanced at all (compare to Poisonous Cloud, a very strong spell at level 6). Fulsome makes the first two of these completely unlimited in practice, and miasma is absurdly strong even with decay corpses being rarer.
* Massive style fix (braces, indentation, etc.)Neil Moore2012-08-011-3/+5
|
* Drop parentheses around scalar values in "return".Adam Borowski2012-07-051-1/+1
|
* Rename swamp trees to mangroves.Michael Gagno2012-07-031-1/+1
| | | | | Since these are opaque (and therefore behave differently from normal trees), a renaming is warranted.
* Axe wax.Adam Borowski2012-06-241-3/+0
| | | | | | It is used only in a few vaults, and where it does, it only confuses players about which sources of fire can melt it and which can't. The last problem applies to trees as well, but at least it's somewhat more intuitive there.
* Remove an unused and misleading argument.Adam Borowski2012-06-221-1/+1
|
* Remove a good deal of header inclusion.Adam Borowski2012-05-231-2/+0
| | | | | | | | | These accumulate but never get removed; no wonder compilation times keep rising. The includes.sh script has lots of false negatives (and positives...), and can't check .h files which cause the biggest slowdown, it'd be nice to run multidelta on those somehow.
* Rename STINKING_CLOUD to MEPHITIC.Adam Borowski2012-05-101-8/+8
|