From 200b4c0e08504a7c8df898d77a9d72b3fa573c04 Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 6 Jul 2008 16:47:06 +0000 Subject: Add a function x_chance_in_y(x,y) to replace the various random2(y) < x checks, e.g. x_chance_in_y(weight, totalweight). This should make things a bit more readable. Apply it to a number of files. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6428 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/xom.cc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'crawl-ref/source/xom.cc') diff --git a/crawl-ref/source/xom.cc b/crawl-ref/source/xom.cc index fc40cb3750..6af82176bb 100644 --- a/crawl-ref/source/xom.cc +++ b/crawl-ref/source/xom.cc @@ -227,17 +227,17 @@ static object_class_type _get_unrelated_wield_class(object_class_type ref) object_class_type objtype = OBJ_WEAPONS; if (ref == OBJ_WEAPONS) { - if (random2(10)) - objtype = OBJ_STAVES; - else + if (one_chance_in(10)) objtype = OBJ_MISCELLANY; + else + objtype = OBJ_STAVES; } else if (ref == OBJ_STAVES) { - if (random2(10)) - objtype = OBJ_WEAPONS; - else + if (one_chance_in(10)) objtype = OBJ_MISCELLANY; + else + objtype = OBJ_WEAPONS; } else { @@ -313,7 +313,7 @@ static bool _xom_annoyance_gift(int power) const object_class_type objtype = _get_unrelated_wield_class(weapon->base_type); - if (power > random2(256)) + if (x_chance_in_y(power, 256)) acquirement(objtype, GOD_XOM); else _xom_make_item(objtype, OBJ_RANDOM, power * 3); @@ -336,9 +336,8 @@ static bool _xom_gives_item(int power) // cloak or body armour. Ha ha! god_speaks(GOD_XOM, _get_xom_speech("armour gift").c_str()); _xom_make_item(OBJ_ARMOUR, - random2(10) ? - get_random_body_armour_type(you.your_level * 2) - : ARM_CLOAK, + one_chance_in(10) ? ARM_CLOAK : + get_random_body_armour_type(you.your_level * 2), power * 3); return (true); } @@ -350,7 +349,7 @@ static bool _xom_gives_item(int power) // better than random object), and it is sometimes tuned to the // player's skills and nature. Being tuned to the player's skills // and nature is not very Xomlike... - if (power > random2(256)) + if (x_chance_in_y(power, 256)) { // Random-type acquirement. const int r = random2(7); @@ -465,6 +464,7 @@ static bool _xom_is_good(int sever) } else if (random2(sever) <= 3) { + // XXX: Can we clean up this ugliness, please? const int numdemons = std::min(random2(random2(random2(sever+1)+1)+1)+2, 16); int numdifferent = 0; -- cgit v1.2.3-54-g00ecf