diff options
author | Chris Oelmueller <chris.oelmueller@gmail.com> | 2014-04-10 01:06:32 +0200 |
---|---|---|
committer | Nicholas Feinberg <pleasingfung@gmail.com> | 2014-06-13 23:41:47 -0700 |
commit | 6537abdd850278128eb7b5d4954eba2d7d0a5526 (patch) | |
tree | 527c10ebda198a195aa04a4692427aec6b9d3c85 /crawl-ref/source/artefact.cc | |
parent | 1b4b79b5505598c32d5aabc183851e8b556b74dd (diff) | |
download | crawl-ref-6537abdd850278128eb7b5d4954eba2d7d0a5526.tar.gz crawl-ref-6537abdd850278128eb7b5d4954eba2d7d0a5526.zip |
Combine plus/plus2 for rings of slaying, and Acc+/Dam+ on artefacts
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.]
Diffstat (limited to 'crawl-ref/source/artefact.cc')
-rw-r--r-- | crawl-ref/source/artefact.cc | 31 |
1 files changed, 8 insertions, 23 deletions
diff --git a/crawl-ref/source/artefact.cc b/crawl-ref/source/artefact.cc index ef346c1cb4..03fad8b582 100644 --- a/crawl-ref/source/artefact.cc +++ b/crawl-ref/source/artefact.cc @@ -519,10 +519,8 @@ void artefact_desc_properties(const item_def &item, break; case RING_SLAYING: - fake_rap = ARTP_ACCURACY; - fake_plus = item.plus; - fake_rap2 = ARTP_DAMAGE; - fake_plus2 = item.plus2; + fake_rap = ARTP_SLAYING; + fake_plus = item.plus; break; case RING_SEE_INVISIBLE: @@ -665,7 +663,7 @@ static int _randart_add_one_property(const item_def &item, } // An artefact will pass this check if it has any non-stat properties, and -// also if it has enough stat (Str, Dex, Int, Acc, Dam) properties. +// also if it has enough stat properties (Str, Dex, Int, Slay). // Returns how many (more) stat properties we need to add. static int _need_bonus_stat_props(const artefact_properties_t &proprt) { @@ -682,7 +680,7 @@ static int _need_bonus_stat_props(const artefact_properties_t &proprt) if (i >= ARTP_AC && i <= ARTP_DEXTERITY) num_stats++; - else if (i >= ARTP_ACCURACY && i <= ARTP_DAMAGE) + else if (i == ARTP_SLAYING) num_acc_dam++; else return 0; @@ -840,25 +838,13 @@ static void _get_randart_properties(const item_def &item, && (aclass != OBJ_JEWELLERY || atype != RING_SLAYING)) { // Weapons and rings of slaying can't get these. - if (one_chance_in(4 + power_level)) // to-hit - { - proprt[ARTP_ACCURACY] = 2 + random2(3) + random2(3); - power_level++; - if (one_chance_in(4)) - { - proprt[ARTP_ACCURACY] -= 2 + random2(4) + random2(4) - + random2(3); - power_level--; - } - } - if (one_chance_in(4 + power_level)) // to-dam { - proprt[ARTP_DAMAGE] = 2 + random2(3) + random2(3); + proprt[ARTP_SLAYING] = 2 + random2(3) + random2(3); power_level++; if (one_chance_in(4)) { - proprt[ARTP_DAMAGE] -= 2 + random2(4) + random2(4) + proprt[ARTP_SLAYING] -= 2 + random2(4) + random2(4) + random2(3); power_level--; } @@ -1673,8 +1659,7 @@ static bool _randart_is_redundant(const item_def &item, break; case RING_SLAYING: - provides = ARTP_DAMAGE; - provides2 = ARTP_ACCURACY; + provides = ARTP_SLAYING; break; case RING_SEE_INVISIBLE: @@ -1726,7 +1711,7 @@ static bool _randart_is_redundant(const item_def &item, break; case AMU_INACCURACY: - provides = ARTP_ACCURACY; + provides = ARTP_SLAYING; break; case AMU_STASIS: |