summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/evoke.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove stuffNicholas Feinberg2014-07-291-1/+2
| | | | | | | .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!
* Rework the web effect of sack of spidersgammafunk2014-06-081-27/+47
| | | | | | | | | | | | | Surrounding the player with webs requires the player to have a controlled form of blink to use the sack safely in many instances. Instead of placing nets everywhere within the radius, the item now only attempts to place them on monsters and then triggers the web. The chance that the monster will spend a turn trapped in a web and vulnerable is smaller now, since the web triggers on the turn the sack is used, instead of when the monster moves onto the web. This change doesn't seem to be a significant buff to the item overall, so leaving e.g. chance of web placement and number of uses unchanged for now.
* Rename nuke_wall() destroy_wall()reaverb2014-06-051-2/+2
| | | | and also change a temporary variable name to avoid overshadowing
* Destroy item destructiongammafunk2014-05-281-1/+0
| | | | | | | | | | | | | | | | | | | Now that inventory weight and player burden states are gone, item destruction doesn't serve one purpose it clearly accomplished: help prevent the player from being at or next to burden capacity at all times. Outright destruction of strategic consumables encourages more needless inventory management, so we'd like to exclude these from any form of destruction and possibly prevent them from taking up inventory space at all. Denial of tactical consumables, either temporarily or permanently, is something we're going to look into later on, possibly in the release after next, since it can create interesting and generally not frustrating gameplay if done correctly. Needless to say, item destruction wasn't a player favorite and may have a sparsely attended funeral. RIP in peace. For now we aren't adjusting the rate of consumable generation to compensate for no item destruction, but that balancing will happen after play-testing shows how much adjustment is necessary.
* Chance function(void) to function()reaverb2014-05-241-1/+1
|
* Revert "Make blurry vision mut cause scroll reading to take more time."reaverb2014-05-221-4/+7
| | | | | | | | | | | | | Certain issues with player delays make changing you.time_taken an undesirable system. The random chance version of blurry vision is still not good, but the consensus is that it's tolerable until these issues are worked out. The removal of the effect of blurry vision on trap detection remains. This reverts commit 94537065d378a10efb3c0ace0ae552999f5b43c4. This reverts commit 6408390c0a71c47526449d54ecf58905d96b9575. This reverts commit becff2d3de3a8f051d38f2be104411722b6b89f4.
* Improve a wisp form messageChris Campbell2014-05-231-1/+4
|
* Make blurry vision mut cause scroll reading to take more time.reaverb2014-05-221-7/+4
| | | | | | | Instead of the awful random chance of failure, which made you press r over and over. Currently adds a half turn per level, affected by Haste and Slow.
* Remove an extra MSG_OK when cancelling a reaching attack.elliptic2014-05-151-3/+0
|
* Formatting fixes (add braces).Neil Moore2014-05-121-0/+2
| | | | This fixes all the instances caught by unbrace.
* Let elemental evokers weight evocations skill when using automatic trainingChris Campbell2014-05-111-1/+14
|
* Merge branch 'ranged_combat'Steve Melenchuk2014-05-031-2/+1
|\ | | | | | | | | | | | | The implementation is done; from here on out it's all balance work, and that's better done in trunk. Release the ogre hordes!
| * Ranged weapon delay.Steve Melenchuk2014-04-271-2/+1
| | | | | | | | | | | | Moves the delay calculations into player and monster respectively so that it can properly be done at the start of the ranged attack; it doesn't make sense to have them in attack or ranged_attack.
* | Remove grizzly bears.Shmuale Mark2014-04-291-2/+1
|/ | | | | | 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.
* Let sack of spiders and box of beasts use autofoe behaviorDracoOmega2014-03-151-2/+2
|
* Display number of times used for boxes of beasts and sacks of spidersChris Campbell2014-03-131-0/+2
|
* Rework the Horn of Geryon as an xp-charged evocable.gammafunk2014-02-281-12/+45
| | | | | | | | | | | | | | | | Previously the horn was a nearly useless item after unbarring the hells and possibly opening a trove. This version keeps the summon hell beast theme but turns it into a more useful xp-charging evocable. Evoking it when it's charged summons 1-4 hell beasts, depending on evocations, each summon having a small chance of being hostile, also depending on evocations. The chance of getting a hostile hell beast is 7 in evocations * 10 (always hostile at evocations 0). Two hell beasts get created 63% of the time at 10 evocations, three 63% of the time at 15 evocations, and 4 66% of the time at 20 evocations, with always 4 summoned at higher than 23 evocations. It could perhaps use an additional effect, but it's an always-generated item that's relatively accessible in a 3-rune game, so some care has to be taken there.
* Don't list untrainable skills as studied when carrying a useless manual (#8215)Chris Campbell2014-02-261-1/+5
|
* Remove ancient bearsChris Campbell2014-02-261-2/+1
|
* Make nymph flooding consistent with phial flooding (#8078).Steve Melenchuk2014-02-251-1/+7
| | | | | That is, the only features it can flood are floors and (for whatever reason) shallow water; this prevents it from overwriting stairs.
* Remove djinn.wheals2014-02-241-2/+6
| | | | | | | Djinn games can't be started (hopefully including using the rcfile), and djinn code should be removed on save-compat bump. Also, schedule a few SE things to be removed.
* Check for monsters in range when evoking a wielded rod using "v".Tommy2014-02-101-2/+2
| | | | Rods can be evoked regardless using "V" (similar to spells with z and Z).
* Merge branch 'shadow-god'Steve Melenchuk2014-01-141-0/+2
|\ | | | | | | | | | | | | With bugfixes and more general balancing out of the way, and with the generally positive reception this has had to this point, it's time for fine-tuning the balance by way of the widespread feedback bringing this to trunk will yield.
| * Split tracking of "illuminating" and "fiery" conducts.Steve Melenchuk2014-01-141-1/+1
| | | | | | | | | | This should be a little more clear for players, besides which there's been some hesitation expressed about the latter.
| * Dithmengos hates the light.Steve Melenchuk2014-01-111-0/+2
| | | | | | | | | | | | | | | | | | | | Dithmengos hates items, spells, and monsters that cause illumination, and particularly appreciates kills of the latter. This hatred extends to most forms of fire (enemy of the darkness since ancient times). There's a few questionable things in here which could stand to be looked at (I'm including items that only glow through their description, most notably freezing-brand melee weapons).
* | Don't require playing the horn of Geryon to enter proper hells.Adam Borowski2014-01-151-49/+4
| | | | | | | | | | It was just a spoily ritual with no balance effect other than "don't use Tornado, and remember to unwield distortion for this fight".
* | Don't close portals upon picking up the Orb.Adam Borowski2014-01-151-6/+0
|/
* Drop some useless parentheses around comparisons.Adam Borowski2014-01-101-1/+1
|
* Fix spelling of "targeting" (#7837)Chris Campbell2013-12-101-1/+1
| | | | See Mantis for discussion.
* Remove bottled efreetsChris Campbell2013-12-041-42/+4
| | | | | They're very rarely useful, and there are now plenty of other much more interesting misc items.
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-5/+5
| | | | | | | | | 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.
* Make player confusion affect all targeted evocables.gammafunk2013-11-241-0/+8
| | | | | | | All damaging targeted evocables now have target fuzzing when the player is confused. This commit adds target fuzzing to the lamp of fire, phial of floods, and the targeted damage cards from the deck of destruction. Also, the warp card now always does a random blink when the player is confused.
* Don't claim that tome of destruction explosion is "immolation".Adam Borowski2013-11-201-2/+23
|
* Fix evokable unrands not getting counted in evoke counts.Adam Borowski2013-11-161-5/+7
|
* Don't bundle all evokables as "miscelanneous" in action counts.Adam Borowski2013-11-161-4/+4
|
* More formatting fixes for return (...);Neil Moore2013-11-151-1/+1
|
* Drop unnecessary parentheses from return statements.Adam Borowski2013-11-151-2/+2
|
* Remove moths of suppressionChris Campbell2013-11-111-6/+0
| | | | | | | | | | | Suppression is a hugely complicated and inconsistent mechanic. Its original purpose was to be a way of overriding rPois in Spider but there are now plenty of monsters that do this effectively (and much more simply). [1KB: I moved this to trunk, as it made an already extremely hard to review branch massively more so. There's nothing but a single enum to preserve, so compat break doesn't make this removal any easier or harder.]
* Rename "dragon" to "fire dragon"Chris Oelmueller2013-11-081-1/+1
| | | | | | | | | | | | | | | DRAGON now genus-only. Brief discussion history in 4d5c11a304968c3635d8b60075a0ab9b39d71d43. Summary of current brainstorm session: "Dragon" means "fire-breathing dragon" in European mythology because the other kinds never existed. In the world of Crawl however, there are many kinds of dragons - so it seems that people would have given the fire-breathing one a more distinctive name. Producing "fire dragon armour" from "fire dragon hide" also means less player confusion if a "fire dragon" dropped that hide. Red draconians and fire drakes also both get a fire-y qualifier.
* Get rid of the radius_iterator "legacy" constructor.Adam Borowski2013-11-051-2/+2
| | | | | | | | | | It was really weird: working on a square, but in almost all cases restricting it to your view (a circle). Note this is _your_ view rather than from the iterator's center -- which hasn't been used once in the obvious interesting way. As usual, this commit fixes a load of "act through glass" bugs, ando/or using los modes that don't make sense in the context.
* Remove radius_iterator(coord, r, c_type, los_base).Adam Borowski2013-11-051-1/+1
|
* Axe a buttload of useless #includes.Adam Borowski2013-11-031-1/+0
| | | | | Can't test Android, MSVC or Mac, but a very brief glance at the diff suggests it's unlikely they're affected.
* Shorten branch enums.Adam Borowski2013-11-031-1/+1
| | | | | Seriously, even preparing this commit gave me a pain in the triangle between the thumb and index finger's bases and the wrist.
* Use cell_is_solid where appropriate.Neil Moore2013-11-011-7/+7
|
* Fix a disc of storms rain-placement crash.Neil Moore2013-10-311-1/+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-1/+1
| | | | | | | | | | | | 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-2/+1
|
* Fix wind drake/Sojobo breath not working away from the player.Adam Borowski2013-10-311-2/+2
|
* Don't wind blast monsters through walls (Naruni, #7434)Neil Moore2013-10-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following situation, with a monster at m and a wall at %. ....^%## ....m#! ...*.# ...*.# ..*..# .@...# The previous code, on seeing that % was blocked, would look for a new spot adjacent to % and equidistant from @ (compared to %). The spot marked ! satisfies the constraints, despite being disconnected from m, so the monster could be shoved to ! across a wall. Now we look for spots adjacent to both m and % (and equidistant from @ compared to %). That way the monster moves step-by-step without skipping over any potential walls. In this case, the spot marked ^ is a candidate. This should also fix some cases of monsters "bouncing" off walls. Now if the blast is at a shallow angle (less than 45 degrees, as in the example above), the monster will slide along the wall; if the angle is deeeper, the monster will be stuck in place against the wall.