summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/spl-goditem.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!
* Don't instakill the player with antimagicNicholas Feinberg2014-07-181-8/+15
| | | | | | | | | | | | Flight gets a 11-aut respite from debuff_player(); this is... a hack, but it's something. Forms didn't get this; this meant that dispel-breath effects could instakill players in flying/floating forms, or a player drinking !cancellation in the wrong place would die instantly, without as much as a prompt. This gives transformations the same delay as flight; all transformations, since special-casing would confuse players. Better solutions welcomed!
* Make potions of cancellation a little more consistentNicholas Feinberg2014-07-131-12/+11
| | | | | | | | | | | | | There was a very old special case preventing !cancel from removing Slow caused by berserk. This was not only unintuitive to players, but also inconsistent - the reasoning was that we shouldn't affect nonmagical slowing, but what about slowing from curare, which the potion does affect? What about slowing which just happens to coincide with exhaust from another source? Simpler to make it operate on a per-status-effect basis, rather than trying to divine the original source of effects from inadquate information.
* Rename antimagic() -> debuff_player().Shmuale Mark2014-07-061-2/+2
|
* Remove victory-dancingNicholas Feinberg2014-06-291-2/+1
| | | | From a comment.
* Partially refactor cast_healing()Nicholas Feinberg2014-06-261-17/+16
|
* The great mon-stuff migration.Shmuale Mark2014-06-221-1/+55
| | | | | | | | | 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.
* Allow enchanting/recharging/(un)cursing melded equipment (#6841)Neil Moore2014-05-131-3/+4
|
* Remove unnecessary code.Sage2014-05-071-2/+0
|
* Staticalise identify()Neil Moore2014-05-021-89/+0
|
* Remove another unused argument to item scroll functions.Neil Moore2014-05-021-1/+2
|
* Remove an unused argument from identify().Shmuale Mark2014-05-021-17/+2
|
* Don't turn holies neutral when worshipping a good godChris Campbell2014-04-281-7/+40
| | | | | | | | | | | | | | It's almost never relevant (with Mennas being possibly the only edge case), and has a number of negative effects: dungeon generation depending on the player's god in Pan, strange interactions with getting additional chances to convert on piety breakpoints, and generally a lot of code for a pretty questionable gain. Flavour-wise it seems perfectly reasonable that the holies in the dungeon just all see you as insufficiently pious, or some kind of a heretic (as is the case for non-holy religious monsters). Kept some of the holy speech for the case where an Elyvilon worshipper pacifies a holy.
* 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.)
* Make HUPping at a read-ID scroll prompt behave more consistently.Steve Melenchuk2014-03-281-3/+3
| | | | | | | | | Namely, aborting out in this fashion wastes the scroll, like other means of aborting out; this was the case with the weapon selection prompt but not the prompts added afterwards. Also removes a FIXME comment which prompted this; some discussion on IRC suggests that this patch generates the desired behaviour.
* Remove `auto_list` optionChris Oelmueller2014-03-111-7/+4
| | | | | | | | | | | | | It has been defaulting to `true` for a while now. That setting provides a nicer interface overall and there is little reason to support alter- nate input methods. Some prompts asking for a letter have not been adjusted, for example evoking a rod with multiple spells. Those are hopefully gone soon anyways. [Committer's note: The option had no known uses except by bots, and those could work without it. And, of course, multi-spell rods are gone.]
* Make the Battlelust card a bit better.Shmuale Mark2014-03-101-5/+5
| | | | | | Previously, the card's effects were more desirable the lower the power. This removes the card-specific DUR_SLAYING and moves the might effect to the higher powers, with agility as well at power 2.
* Let ?vulnerability remove dimension anchorDracoOmega2014-03-061-1/+1
|
* Make curse armour/jewellery always work as if worshipping AshenzariChris Campbell2014-03-031-53/+9
| | | | Since Ashenzari should be the only way to get hold of them now.
* Finish making all scrolls read ID.Steve Melenchuk2014-03-011-4/+26
| | | | | | This includes identify, enchant armour, and recharging. A lot of now-unnecessary code goes away with this.
* Make curse scrolls and remove curse read-ID.Steve Melenchuk2014-03-011-2/+23
|
* Base RMsl/DMsl expiry on current power rather than power at cast timeChris Campbell2014-02-111-2/+2
| | | | | Also expire them immediately when they fail, rather than still having a short duration afterwards.
* Let some new effects be dispelled by vulnerabilityChris Campbell2014-02-101-1/+3
|
* Give Repel/Deflect missiles a chance to expire per deflection instead of a ↵argonaut2014-02-081-0/+6
| | | | | | | | duration They are kept as (short) durations but don't decrement while the corresponding attribute is set. Each deflection has a chance to clear the attibute - starting the duration countdown.
* Vine stalkers added.Sage2014-01-261-0/+2
| | | | | | | | | | | | | Weirdness and Mutations: - Fangs II (Becomes III at xl8) - Antimagic bite (Much stronger than standard bite, bites every turn, applies antimagic brand, and restores your mana) - Potions and wands cannot restore your HP - Regen III - Unbreathing - Spirit shield - HP -3 - MP +1
* Drop pointless empty lines after or before a brace.Adam Borowski2013-12-211-1/+0
| | | | | I left them only where the contents is not indented, like in a namespace or a template.
* Restrict mpr() to literals only.Adam Borowski2013-11-291-6/+6
| | | | | The translation project is stalled, but this makes all of such static strings trivially gatherable without any extra work.
* Remove mpr_nocap().Adam Borowski2013-11-291-1/+1
| | | | | No particular reason, other than consistency. And all but two used wasteful double-conversion, so this is not a speed regression.
* Replace `mpr(s, ch)` with `mprf(ch, s)`Adam Borowski2013-11-291-4/+4
| | | | | | | | | 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.
* Swiftness changes.elliptic2013-11-271-0/+3
| | | | | | | | | | | | | | | | | | | | | A L2 buff that could easily be kept up permanently and gave a very powerful effect for the entire game was problematic for a few reasons. The stealth and trapfinding penalties were supposed to help with this, but they didn't really succeed, so let's try something else. Now Swiftness has two stages, of equal duration. In the first stage it decreases movement delay by 25% and in the second stage it increases movement delay by 50%. This has the effect that the spell is speed-neutral over the two stages combined if you are moving the entire time, so you cannot simply use the spell to kite monsters forever. It still provides a powerful short-term boost to movement speed and the balance between the two stages can be broken in a few ways, including simply taking more non-movement actions during the second stage. Of course, the spell cannot be recast while either stage is in effect. The penalties to stealth and trapfinding have been removed and the spell is now castable by Formicids.
* Fix an old and harmless mistake.blackcustard2013-11-221-7/+4
| | | | | | There is no point in testing the same conditional three times. This weirdness appears to be an artefact of an earlier change: no one noticed that the loop body had become independent of the loop index.
* More formatting fixes for return (...);Neil Moore2013-11-151-3/+3
|
* Drop unnecessary parentheses from return statements.Adam Borowski2013-11-151-1/+1
|
* Give Trog's Hand its own duration.pubby2013-11-101-9/+1
| | | | | | | | | | | | Trog's hand was using DUR_REGENERAITON, and setting ATTR_DIVINE_REGENERATION to true to specify it was the god ability and not the spell. This was silly, so this commit gives trog's hand its own duration: DUR_TROGS_HAND. This also fixes a very minor bug: previously if you had trog's hand active and you tried to cast regen, you got penance but the spell was immediately canceled. Other duration spells were not canceled.
* 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.
* Use cell_is_solid where appropriate.Neil Moore2013-11-011-2/+2
|
* Allow querying \ screen when reading scrolls of identifyChris Oelmueller2013-10-211-2/+4
| | | | Somehow this only worked when the scroll was not identified before.
* Reformat multi-line array literals.Adam Borowski2013-10-051-2/+4
|
* Macabre Finger Necklacepubby2013-09-221-1/+1
| | | | | | | | | | | | A warding amulet that provides you with another ring slot. I rewrote some of the jewellery code, but never re-added the TOUCH_UI code I removed in _prompt_ring_to_remove. Note that octopodes never had TOUCH_UI code for their jewellery in the first place. This should probably be looked at. Also, the player dumps do not show the amulet ring on the top, but I do not consider this a problem.
* Move mons_is_stationary() to struct actor.Adam Borowski2013-09-131-1/+1
| | | | Simplifies code in a number of places, and also fixes a few tree-moving bugs.
* Use a finer scale for magic contamination.Raphael Langella2013-08-161-1/+1
| | | | | | | | | | | | 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).
* Refactor 'you.religion' checks.Brendan Hickey2013-07-281-8/+8
| | | | | Pull 'you.religion [!=]= FOO' checks into a function: you_worship(FOO). This change is part of a large plan to clean up religion.
* Rename a misleading function.Neil Moore2013-06-301-1/+1
| | | | Except for ghouls, is_player_same_species checked *genus*, not species.
* Silver wall tile.ontoclasm2013-06-281-3/+3
|
* Don't let Ely pacify insects.Adam Borowski2013-06-071-2/+2
| | | | | They're too stupid to understand diplomacy. Besides, they must die. Even PETA folks don't say they should be protected.
* Merge branch 'lava_orcs' into lava_djinnAdam Borowski2013-05-291-1/+1
|\ | | | | | | Waiting for Grotesks and the Forest to go live!
| * Clean up tentacle/tentacle segment handling somewhat.David Lawrence Ramsey2013-05-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | mons_is_tentacle() now returns true only for actual tentacles, which makes mons_is_tentacle_end() redundant. mons_is_tentacle_or_tentacle_segment() does what mons_is_tentacle() used to do, and is used properly on both sides of Mislead. Handling of child tentacles (everything other than eldritch ones) is now handled more generically, in case more types of them are added.
* | Merge branch 'master' into djinnAdam Borowski2013-05-291-12/+8
|\|
| * Refactor tomb effects to use terrain change markersDracoOmega2013-05-261-12/+8
| | | | | | | | | | | | | | | | In addition to unifying code, this also has the effect of making tombs created over shallow water restore shallow water when they disappeared and Zin prisons restore the proper underlying feature if the walls are forcibly destroyed instead of expiring (ie: with LRD or shatter).
* | Djinn: stealing their magic makes them true monsters.Adam Borowski2013-04-281-1/+2
|/ | | | | | 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.