summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/artefact.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation (geekosaur)Neil Moore2014-08-031-1/+1
| | | | | Using int here because an optimizing compiler is allowed to assume that an unrand_type will never be zero.
* Hide a hack better.Shmuale Mark2014-08-031-3/+10
| | | | | | | Ideally, we wouldn't be using special for unrands totally different from how items of the same type do, but that's less trivial than this commit. A centralised place to check for being an unrand should at least make such a change easier.
* 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!
* Rebalance crossbowsNicholas Feinberg2014-07-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | Again as a result of the ranged weapons rebalance, crossbows needed to change. The analogy here is long blades' to bows' m&f; better return on skill investment & a higher power cap, but rarer. Hand crossbows are added as a starting type, "something like an armour-piercing dagger"; crossbows are upgraded to arbalests (a little worse than a glaive), and a new rare triple crossbow type is added on the top end (a little worse than a bardiche, though with a lower skill cost.) Please note that the triple crossbow historically existed & is extremely verisimilitudinous. Hellfire is now an arbalest, and Sniper is now a triple crossbow (well, a "heavy crossbow", since it has mindelay of 27 instead of 22, and since I didn't want to have to change the sprite). All crossbows have a mindelay of at least 1.0; this is an attempt to differentiate them. Possibly something more ambitious will be attempted in 1.6, but this is a first step.
* Refactor weapon_skill()Nicholas Feinberg2014-07-131-2/+2
| | | | | | | | | | | | | | This function was misleadingly named (it only provided the skill used for melee weapons, not ranged weapons), and incomplete; code along the lines of "is_ranged_weapon(*it) ? range_skill(*it) : weapon_skill(*it)" was scattered in about half a dozen different functions. I've corrected both of those problems (renaming weapon_ skill() to melee_skill() and adding item_weapon_skill()), and also possibly fixed two bugs in the process - an l_you.cc function that claimed to provide the skill used for the starting weapon (but actually only gave the melee skill), and unrand creation code that checked if a potential unrand swap used the same (melee) skill as the weapon type being generated.
* Remove the dragon slaying brandreaverb2014-06-181-1/+0
| | | | | | | | Generally it doesn't create interesting decisions because dragons are such a small group and are mostly a subset of monsters slowed by the freezing brand. In addition, it has rather arbitrary effects against players, hitting some for an degenerate amount of damage while ignoring others.
* Rename "vampiricism" to "vampirism" (ChrisOelmueller, #8435)reaverb2014-06-151-3/+3
| | | | | | | Chris Oelmueller made an excellent patch for this, but unfortunately it was rather rotted by the time somebody decided to look at it. It was easier to recreate than update. I've also added some tiles stuff which was missed in the original patch.
* Plus2: Update unrand weaponsChris Oelmueller2014-06-141-9/+4
| | | | | | Leech receives a buff to +8 and increased penalties (-2 instead of -1). [Committer's note: Tweaked some more.]
* Simplify some code now that slaying only uses item.plusChris Oelmueller2014-06-131-7/+0
|
* No longer consider Dam+ boring on artefactsChris Oelmueller2014-06-131-10/+2
| | | | | Slaying rings are the rarest base type, and the effects of slaying are definitely large enough now to no longer warrant this special treatment.
* Combine plus/plus2 for rings of slaying, and Acc+/Dam+ on artefactsChris Oelmueller2014-06-131-23/+8
| | | | | | | | | | Phase out ARTP_ACCURACY, rename ARTP_DAMAGE to ARTP_SLAYING which now combines both Acc+ and Dam+ bonuses. Bracers of archery are +4 now instead of +5,+3. [Committer's note: fixed a description and cleaned up various other small issues.]
* Revert "Make random_choose_weighted() end on -1 weight"reaverb2014-06-101-2/+2
| | | | | | | 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-2/+2
| | | | For consistency with random_choose().
* Combine the frost/flame and freezing/flaming brands.Shmuale Mark2014-06-101-3/+3
| | | | | | | Elec and venom launchers already use the same brands, and with ranged code more similar to melee code this change actually simplifies most code. There should be no gameplay change though some weird brand picking code for launchers was refactored, which might have some effect.
* Recalculate cache of equipped unrands with world_reacts on save loadEduardo Gonzalez2014-05-091-1/+1
| | | | | | This allows us to more easily add or remove those hooks on existing unrands. The data type has also been changed to FixedBitVector from unsigned short, allowing the expanded ring slots to be referenced.
* Replace rings of hunger/sustenance with loudness/stealth in-placeChris Oelmueller2014-04-301-16/+30
| | | | | Those give one level of -50/+50 stealth each. Stealth is priced at old sustenance level (but often comes cursed), loudness around 50-60 after curses.
* Remove ARTP_METABOLISMChris Oelmueller2014-04-301-6/+2
| | | | | Convert existing ones into a negative level of ARTP_STEALTH, or in the case of Black Knight's barding, to rPois (mostly for flavor reasons).
* Rework ARTP_STEALTH akin to MR rescaleChris Oelmueller2014-04-301-2/+2
| | | | Now Stlth+ stands for a discrete step of +50 stealth, Stlth- for -50 and so on.
* Fix a problem with randart jewellery (N78291).Shmuale Mark2014-04-281-1/+7
| | | | | The base type showed up as revealed always, which was not the intended behavior.
* Auto-id jewellery on equip.Shmuale Mark2014-04-271-13/+1
| | | | | | | | | | | | In the case of rings/amulets that identified themselves when they had an effect, the player would want to try to put themselves in a position where the item would identify, which was techincally optimal but quite annoying. There were a few items that never would identify, but on the whole it's not worth keeping around the behavior just for them. The ID code is pretty confusing and it's quite possible the implementation is not ideal or there are actual bugs.
* Don't let ranged weapons get Noisy (minmay).Shmuale Mark2014-04-101-1/+1
| | | | Since it wouldn't do anything in practice.
* Improve descriptions of artefact jewelleryChris Campbell2014-04-031-0/+13
| | | | | | | | | | | | Instead of giving the base type's verbose description and then short descriptions for each subtype, give the "It is an ancient artefact" text and then a short description for each property. This fixes things like randart rings of {+Inv Str+3} being described differently depending on which of invisibility and strength happens to be the base type. It also fixes unrandart jewellery not having its base property described at all. Randart amulets of warding will now get {Ward rN+} in their inscription, and Cekugob will correctly display {Ward rN++}. Also fixes some newline issues/inconsistencies with artefact descriptions.
* Rescale MR artefact property from 35-99 range to 40/80 stepsChris Oelmueller2014-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | Easier to compare to other MR items, more clear in the interaction with MR resistance line on %, gets rid of shops approximately leaking the amount of MR, and also removes a special-cased inscription handling. {MR+} now indicates 40 MR across the board, {MR++} stands for 80. Almost all MR unrands had to be adjusted one way or the other. Several of them had MR in the range 30-50 and were converted to {MR+} (40 MR). Exceptions and other changes are listed below: - Bear Spirit: buffed to 80 from 50 - Chilly/Flaming Death: buffed to 40 from 20 - Elemental Staff: buffed to 80 from 60 - robe of Folly: buffed to -80 from -100 - Four Winds: buffed to 120 from 100 - Jihad: loses its 20 MR - ring of the Mage: buffed to 80 from 50 - Spriggan's Knife: buffed to 40 from 20
* Remove some leftover references to racial equipmentChris Campbell2014-03-061-2/+0
|
* Don't generate racial armourChris Oelmueller2014-03-061-6/+2
| | | | | | | | [It had much the same problems as racial weapons, with only very slightly more significant effects. Some of the old effects of racial armour could potentially be rethought and made into a new armour ego. Beogh still gives a (slightly smaller than before) bonus for armour use, without the orcish requirement. -MarvinPA]
* Don't generate racial weapons or launchersChris Campbell2014-02-241-2/+0
| | | | | | | | | | | | The effects of racial weapons were very minimal and unlikely to be noticed. Even if they were made significant, they would only apply to a very small subset of races. The only somewhat notable effect was Beogh's slight slaying bonus (and even that was very minor), this could be compensated for in some other way if necessary. Racial armour has slightly more noticeable effects and currently still remains, but could probably be removed too (potentially replacing the racial effects with armour egos instead).
* Don't name flaming randarts after DithmenosChris Campbell2014-02-131-0/+9
|
* Remove caps; rename wizards hats "hats."wheals2014-01-121-1/+1
| | | | | | | | | | | | | | | | In the spirit of the glove/gauntlet and helmet types distinction removal, there doesn't seem to be much reason to have both caps and wizard hats. Hats are more common among unrands and wizards starting with hats is more "thematic" than some gladiators starting with caps. on the other hand, those gladiators starting with wizard hats would be pretty weird, so wizard hats are just hats now. Caps not removed: - Caps existing in old saves - Summon cap - Level cap This changes the percentages of hat brands from 2/3 MR and 1/3 int to 1/3 MR, 1/3 int, and 1/3 spirit shield.
* 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.
* More formatting fixes for return (...);Neil Moore2013-11-151-7/+7
|
* Drop unnecessary parentheses from return statements.Adam Borowski2013-11-151-4/+4
|
* Merge branch 'dwants'. Bring some Raid.Adam Borowski2013-11-061-6/+4
|\
| * Merge branch 'master' into dwantsAdam Borowski2013-11-011-23/+31
| |\
| * \ Merge branch 'master' into dwantspubby2013-10-011-0/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: crawl-ref/source/dat/des/variable/mini_monsters.des crawl-ref/source/enum.h crawl-ref/source/itemprop.cc crawl-ref/source/main.cc crawl-ref/source/mutation-data.h crawl-ref/source/mutation.cc crawl-ref/source/newgame.cc crawl-ref/source/ng-restr.cc crawl-ref/source/rltiles/dc-player.txt crawl-ref/source/spl-selfench.cc crawl-ref/source/throw.cc crawl-ref/source/tilepick-p.cc crawl-ref/source/wiz-you.cc
| * \ \ Merge branch 'master' into dwantspubby2013-08-311-58/+32
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: crawl-ref/docs/crawl_manual.reST crawl-ref/source/abl-show.cc crawl-ref/source/dat/descript/ability.txt crawl-ref/source/delay.cc crawl-ref/source/enum.h crawl-ref/source/main.cc crawl-ref/source/mon-cast.cc crawl-ref/source/mon-gear.cc crawl-ref/source/mon-spll.h crawl-ref/source/mutation-data.h crawl-ref/source/mutation.cc crawl-ref/source/ng-restr.cc crawl-ref/source/ng-setup.cc crawl-ref/source/output.cc crawl-ref/source/player-act.cc crawl-ref/source/player.cc crawl-ref/source/species.cc crawl-ref/source/spl-data.h crawl-ref/source/wiz-you.cc
| * | | | Create Formicid species and monsters.pubby2013-08-251-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tavern post: https://crawl.develz.org/tavern/viewtopic.php?f=8&t=8298 Wierdness & mutations: - poison weakness - retractable antennae (can wear headgear and ignore mutation) - chitin skin (+3 AC) - most weapons 1-handed, big weapons 2-handed - permanent stasis - ability to shaft self - ability to dig - Starts with 2 curing pots 3 monster versions of formicids were added: formicid, a weak fighter formicid drone, a stronger fighter formicid venom mage, a magician with olgreb's and mass cure poison [ Pushing to a branch for experimental playtesting on CSZO. Also optimised the new tiles. -nfm ]
* | | | | 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.
* | | | Specify upgrade inhibition in art-data.txtAdam Borowski2013-10-291-0/+3
| | | |
* | | | Update unrands on game load.Adam Borowski2013-10-291-14/+21
| | | | | | | | | | | | | | | | It's frustrating to recreate them over and over when you're messing with one.
* | | | Allow +Rage, *RAGE, -TELE and Contam on faerie dragon armour.Adam Borowski2013-10-271-8/+5
| | | | | | | | | | | | | | | | Also, make the enchantment more random.
* | | | Reformat multi-line array literals.Adam Borowski2013-10-051-1/+2
| | | |
* | | | Don't put +Jump on randartsChris Campbell2013-10-041-9/+0
| | | | | | | | | | | | | | | | | | | | It's fine for it to be a rare property like running, there's no need for it to be obtainable for every species and a possibility on almost all randarts.
* | | | Add a jump artefact property giving the evoke jump abilitygammafunk2013-10-011-0/+9
| |_|/ |/| | | | | | | | | | | | | | * Can be added to anything that's not a ranged weapon with same frequency code as used for fly/blink/rage (occurs after rage) * Shops appraise this for same value as +Rage.
* | | Set Arga's racial make to "dwarven".Adam Borowski2013-10-011-0/+2
| |/ |/|
* | Drop some randart power_level oddities.Adam Borowski2013-08-051-8/+4
| |
* | Sort artefact brands by their chance rather than enum.Adam Borowski2013-08-051-3/+3
| |
* | Refactor melee randart brand selection.Adam Borowski2013-08-051-59/+35
| | | | | | | | | | | | | | | | The chained pile of enum arithmetic was hard to read and hard to modify. There should be no functional change wrt old code (other that slight rounding errors in probabilities). I preserved calculations of "power_level" as well, even if its behaviour for demon items and distortion looks strange.
* | Don't pointlessly reroll melee randarts.Adam Borowski2013-08-051-2/+0
| |
* | Remove the orc slaying brandChris Campbell2013-07-101-7/+11
|/ | | | | It only ever generates on artefacts and is very unlikely to be relevant even when it does.
* ASSERT_RANGEs other than >= <.Adam Borowski2013-06-081-6/+3
| | | | | | 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?