diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-15 20:06:05 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-15 20:06:05 +0000 |
commit | f45815f84b13ce816949ed7329bb6932f5642a4b (patch) | |
tree | 6096249373a2ab37a7296cf43ebb501d16c0f386 /crawl-ref/source/randart.cc | |
parent | eb8308719ac8b80dbd41fd822daabae039e04436 (diff) | |
download | crawl-ref-f45815f84b13ce816949ed7329bb6932f5642a4b.tar.gz crawl-ref-f45815f84b13ce816949ed7329bb6932f5642a4b.zip |
[1914670] Fixed randarts possibly getting up to -7 negative ench (sorear).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3655 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/randart.cc')
-rw-r--r-- | crawl-ref/source/randart.cc | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/crawl-ref/source/randart.cc b/crawl-ref/source/randart.cc index a7c06c1a05..a687e6ffa1 100644 --- a/crawl-ref/source/randart.cc +++ b/crawl-ref/source/randart.cc @@ -479,6 +479,14 @@ void randart_desc_properties( const item_def &item, } } +inline static void randart_propset( randart_properties_t &p, + randart_prop_type pt, + int value, + bool neg ) +{ + p[pt] = neg? -value : value; +} + static int randart_add_one_property( const item_def &item, randart_properties_t &proprt ) { @@ -522,37 +530,29 @@ static int randart_add_one_property( const item_def &item, { default: case 0: - if (negench) - proprt[RAP_AC] -= 1 + random2(3) + random2(3) + random2(3); - else - proprt[RAP_AC] = 1 + random2(3) + random2(3) + random2(3); + randart_propset(proprt, RAP_AC, + 1 + random2(3) + random2(3) + random2(3), + negench); break; case 1: - if (negench) - proprt[RAP_EVASION] -= 1 + random2(3) + random2(3) + random2(3); - else - proprt[RAP_EVASION] = 1 + random2(3) + random2(3) + random2(3); + randart_propset(proprt, RAP_EVASION, + 1 + random2(3) + random2(3) + random2(3), + negench); break; case 2: - if (negench) - proprt[RAP_STRENGTH] -= 1 + random2(3) + random2(3) - + random2(3); - else - proprt[RAP_STRENGTH] = 1 + random2(3) + random2(2); + randart_propset(proprt, RAP_STRENGTH, + 1 + random2(3) + random2(3), + negench); break; case 3: - if (negench) - proprt[RAP_INTELLIGENCE] -= 1 + random2(3) + random2(3) - + random2(3); - else - proprt[RAP_INTELLIGENCE] = 1 + random2(3) + random2(2); + randart_propset(proprt, RAP_INTELLIGENCE, + 1 + random2(3) + random2(3), + negench); break; case 4: - if (negench) - proprt[RAP_DEXTERITY] -= 1 + random2(3) + random2(3) - + random2(3); - else - proprt[RAP_DEXTERITY] = 1 + random2(3) + random2(2); + randart_propset(proprt, RAP_DEXTERITY, + 1 + random2(3) + random2(3), + negench); break; } |