summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-miscast.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove stuffNicholas Feinberg2014-07-291-1/+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!
* Separate 'permanent' and 'temporary' monster hit diceNicholas Feinberg2014-07-131-4/+4
| | | | As part of a wider scheme to make draining temporary.
* Reduce the startup time of Malign GatewayChris Campbell2014-07-081-1/+1
| | | | | | | | For both player/monster casts, and for miscasts/hell effects (which were still using the original even longer timer). The shorter startup should allow it to more reliably get involved in fights when cast by the player, and make it slightly harder (but probably still not very hard) to just walk away from when cast by hostiles.
* Replace potions of paralysis with potions of cancellation.Shmuale Mark2014-07-061-3/+0
| | | | | | | | | | | | !para was sort of problematic in that in combat, it would basically be a game-over effect, especially at the low HP people generally panic-quaff at, and almost entirely harmless outside of combat. Neither effect is very interesting. Dispelling has the potential to be bad, if you hadn't identified it and had used some other buffing potions, and lends itself to many more interesting tactical situations. "Cancellation" is just the first thing that popped into my head; feel free to send buckets of paint to recolour the bikeshed with.
* 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.
* Destroy item destructiongammafunk2014-05-281-1/+1
| | | | | | | | | | | | | | | | | | | 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.
* Melt away lava orcs.Steve Melenchuk2014-05-141-1/+5
| | | | | | | | | | | | | | | | When you strip away the fundamentally broken tension mechanic, you're left with a species that is essentially "Hill Orcs WITH FIRE". No effort has come forward with code to fix either aspect of them despite the length of time they've been around in trunk, and the code is littered with a very large number of special cases in their presence. Current lava orcs should be able to finish their games fine, but new starts are disallowed. There are a couple of bits I've left present but which will have no function for the moment, mostly related to interactions with lava (as there are a couple of species proposals floating around that benefit from having those interactions).
* Improved messages when Sif or Kiku prevents miscasts. Also improved ↵drachereborn2014-04-291-1/+2
| | | | | | | descriptions of Sif and Kiku miscast protection. Sif prevents both the miscast and associated contam ("effects of miscast") Kiku prevents Necro miscasts and also death curses
* Fix Zot traps sometimes applying a player-only effect to monsters (Nivim)Chris Campbell2014-04-211-1/+1
| | | | | A case was removed from the switch (145100d5) but the condition hadn't changed.
* Move mon death stuff from mon-stuff.cc to mon-death.cc.Shmuale Mark2014-04-121-0/+1
| | | | | | | Touches a lot of files since their #includes have to be edited. (Pushing now since it shouldn't break anything and keeping it updated is nasty.)
* Convert various other sources of player poison to the new systemDracoOmega2014-03-061-3/+3
| | | | | | | | | | This covers potions of (strong) poison, miscast effects, clouds, needle traps, missiles, and curare. Several of the less important ones have fairly arbitrary values that seemed roughly reasonable. A bit more care was used with some things whose poison damage could already be genuinely dangerous (such as early poison needles), but definitely needs testing in a real game.
* Reroll hell effect paralysis instead of doing nothingChris Campbell2014-03-061-15/+22
|
* Remove paralyse from hell effects.Sage2014-03-061-1/+12
| | | | | Usually pointless. Occasionally fatal, and unpreventable, save by going through hell wearing stasis
* Remove poison from Zot trap effects.Sage2014-03-061-14/+8
| | | | | If you have curing, it's pointless; if no, you die. Hard to make it anything but that, given how common potions of curing are.
* Fix up some TAG_MAJOR_VERSION > 34 issues.Steve Melenchuk2014-03-051-2/+2
|
* Remove djinn.wheals2014-02-241-2/+10
| | | | | | | 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.
* Make Zot trap malign gateways generate near the triggerer, not the playerChris Campbell2014-02-171-1/+1
| | | | | Fixes neutral/friendly monsters elsewhere on the level making malign gateways appear next to the player (especially under Jiyva, see #8161).
* Accept MHITYOU as a miscast source.Steve Melenchuk2014-02-101-1/+1
| | | | | This is so that miscasts caused by the player (Spellbinder) that kill the monster get attributed correctly to the player.
* Replace it with something.Adam Borowski2014-01-101-5/+1
|
* Avoid a long message loop with curse card and holy brand weaponsPekka Lampila2013-12-181-3/+2
|
* Indentation fixes.Adam Borowski2013-12-041-6/+6
|
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-8/+8
| | | | | | | | | 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.
* Simplify potion quaff-id.Adam Borowski2013-11-271-1/+1
|
* More formatting fixes for return (...);Neil Moore2013-11-151-9/+9
|
* Stop a poison miscast when in a wall.Adam Borowski2013-10-241-0/+2
| | | | | Unlike big_cloud ones (which can spill), a size 1 cloud shouldn't even give a message if it can't spawn the cloud.
* Fix malign gateway not registering its terrain change.Adam Borowski2013-10-211-0/+1
|
* Kiku miscast protection: Reduce chanceChris Oelmueller2013-09-201-1/+1
|
* 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/+6
|
* Use a finer scale for magic contamination.Raphael Langella2013-08-161-5/+5
| | | | | | | | | | | | It's now updated every turn instead of every 20 turns and it's almost deterministic (only the time scaling use randomized rounding). The bad effects still happen every 20 turns though (just like hell effects and other stuff). It has been scaled by 1000. I tried with 100, but I still had some significant rounding issues, especially with scaling to time_taken. It shouldn't be possible anymore to gain yellow glow from a single cast of invisibility even at max power. Although, in theory, it has a slight chance of putting you just 1 point short of yellow (4999).
* Replace 'you.penance' checks with function callsBrendan Hickey2013-07-281-3/+3
| | | | Replace you.penance[FOO] with player_under_penance[FOO].
* Refactor 'you.religion' checks.Brendan Hickey2013-07-281-2/+2
| | | | | Pull 'you.religion [!=]= FOO' checks into a function: you_worship(FOO). This change is part of a large plan to clean up religion.
* Remove some plain damage Zot trap effects, add drainingChris Campbell2013-07-171-22/+15
|
* Revert djinn not having hair.Adam Borowski2013-07-161-2/+1
| | | | | | I can't recall seeing a single depiction without facial hair of some kind. For example, while the first several hundred of google images include some bald ones, all who are bald have a beard instead.
* Add wand charge draining as a Zot trap effectChris Campbell2013-07-161-0/+26
| | | | | | Has a 50% chance to affect each wand carried and drains charges based on the maximum capacity of the wand (from 1-3 for healing, hasting etc up to 1-8 for magic darts, confusion etc).
* Djinni, gargoyles, lava orcs (???) don't have hairChris Campbell2013-07-161-1/+3
| | | | Probably.
* Revamp player xp drainingDracoOmega2013-07-061-15/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of permanently reducing player xp (and xl), draining attacks now inflict a temporary reduction in all skill levels (similar to Ash wrath) which is worked off by gaining xp. The xp used to overcome the penalty is not actually deducted, so draining does not reduce long-term xp totals. Draining causes both a flat and (smaller) percentile reduction (meaning that higher level skills are somewhat more strongly affected than low ones). The amount of draining inflicted by an attack scales with the damage taken, meaning that low EV, high AC characters will be less proportionately vulnerable to draining than their inverse counterparts, at least compared to the present situation. The xp cost of removing a point of draining decreases the more heavily drained the player is, so that it is a bit easier to dig yourself out of a deep hole if you manage to end up in one. The numbers are provisional, but should hopefully be fairly sane. Ideally, I think it would be good if draining had a noticable enough impact to encourage wearing rN more often than is presently done, as a counter to it, but let's see how it plays. For the time-being, draining still works the same against monsters as it always has.
* ASSERT_RANGEs other than >= <.Adam Borowski2013-06-081-4/+2
| | | | | | Committing separately as I'm not sure whether checking, for example, ASSERT_RANGE(level, 1, 28) is that nice. Perhaps 27 + 1 could be better? Perhaps some other syntax?
* Turn pairs of assertions with x > min, x <= max into ASSERT_RANGE.Adam Borowski2013-06-081-2/+1
| | | | | The perl regexp to do so is: s&ASSERT\(([^\n]+) >= ([^\n]+)\);\s*ASSERT\(\1 < ([^\n]+)\);&ASSERT_RANGE($1, $2, $3);&sg;
* Merge branch 'lava_djinn' into masterNeil Moore2013-05-291-9/+9
|\ | | | | | | | | Conflicts: crawl-ref/source/enum.h
| * Merge branch 'lava_orcs' into lava_djinnAdam Borowski2013-05-291-5/+3
| |\ | | | | | | | | | Waiting for Grotesks and the Forest to go live!
| * \ Merge branch 'master' into djinnAdam Borowski2013-05-291-15/+257
| |\ \
| * | | Rename actor::mutate() to actor::malmutate().Adam Borowski2013-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | It's confusing; especially the use in cloud.cc looks strongly like it's supposed to work differently.
| * | | s/give_bad_mutation(/mutate(RANDOM_BAD_MUTATION, /Adam Borowski2013-05-181-2/+2
| | | | | | | | | | | | | | | | The former does nothing but makes it more work to use the full interface.
| * | | Djinn: stealing their magic makes them true monsters.Adam Borowski2013-04-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | MP draining tends to be way powerful when applied to HP, thus we instead use monster-like antimagic. This applies to antimagic weapons as well, although those would work well even without this.
* | | | Put a Xom message in the proper channel.David Lawrence Ramsey2013-05-281-1/+2
| |_|/ |/| |
* | | Don't let Xom kill the player with an Earth 3 miscasts if he doesn't want to.Adam Borowski2013-05-291-5/+3
| |/ |/|
* | Reduce the number of shadows summoned by necro miscasts from 1-3 to 1-2DracoOmega2013-05-271-1/+1
| | | | | | | | | | This is still stronger than the old effect, of course. Maybe it should just summon one?
* | Have a necromancy miscast source of rotting use ::rot().Steve Melenchuk2013-05-221-5/+1
| | | | | | | | | | | | | | | | This prevents it from rotting through Zin's Vitalisation. This also adjusts ::rot()'s quiet property to be meaningful in the player case, and adjusts the code for the only time this was used to retain the same behaviour.
* | Hand-pick Zot trap effects.elliptic2013-05-071-1/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously Zot traps functioned by picking a random spell school and then using a severity 3 miscast for that school. Now they draw from a hand-picked list of possible effects (currently still mainly consisting of miscast-like effects).. Separating Zot trap effects out like this makes sense because miscasts and Zot trap effects happen in different circumstances: the former are under the player's control to a large extent and should mainly happen in combat, while the latter often happen with no monsters around, when the player explores into a trap. Because of this, it makes sense that some effects would work well for one but not the other. In addition, separating the two lets us add new Zot trap effects without needing to associate them with a spell school. The list of effects added in this commit is quite rough. A few comments on it: * I didn't use any simple "ouch" effects, which are quite common among the miscasts. Just doing damage to the player is boring and won't do anything if the player is exploring. Explosions are better because they cause noise and hit multiple squares. * Polymorphing the player into badforms was intentionally omitted. It turns out that near-unavoidably polymorphing players on Zot:5 into forms with rF- and/or limited item/spell options isn't very nice. * On general request, contamination from Zot traps is less severe now. You can certainly still get mutated from this (or directly malmutated), but horror stories of 6 bad mutations from one trap should be less common.