diff --git a/Source/levels/drlg_l1.cpp b/Source/levels/drlg_l1.cpp index a57383afd..a5dfed46a 100644 --- a/Source/levels/drlg_l1.cpp +++ b/Source/levels/drlg_l1.cpp @@ -449,7 +449,7 @@ bool CheckRoom(Rectangle room) void GenerateRoom(Rectangle area, bool verticalLayout) { - bool rotate = GenerateRnd(4) == 0; + bool rotate = FlipCoin(4); verticalLayout = (!verticalLayout && rotate) || (verticalLayout && !rotate); bool placeRoom1; diff --git a/Source/levels/drlg_l4.cpp b/Source/levels/drlg_l4.cpp index 48d864ded..b46144b23 100644 --- a/Source/levels/drlg_l4.cpp +++ b/Source/levels/drlg_l4.cpp @@ -203,7 +203,7 @@ bool CheckRoom(Rectangle room) void GenerateRoom(Rectangle area, bool verticalLayout) { - bool rotate = GenerateRnd(4) != 0; + bool rotate = !FlipCoin(4); verticalLayout = (!verticalLayout && rotate) || (verticalLayout && !rotate); bool placeRoom1; diff --git a/Source/levels/themes.cpp b/Source/levels/themes.cpp index 8ad0f8829..a1e1a0f1a 100644 --- a/Source/levels/themes.cpp +++ b/Source/levels/themes.cpp @@ -648,8 +648,8 @@ void Theme_Treasure(int t) if (dTransVal[xp][yp] == themes[t].ttval && IsTileNotSolid({ xp, yp })) { int8_t treasureType = treasrnd[leveltype - 1]; int rv = GenerateRnd(treasureType); - // BUGFIX: the `2*` in `2*GenerateRnd(treasrnd...) == 0` has no effect, should probably be `GenerateRnd(2*treasrnd...) == 0` - if ((2 * GenerateRnd(treasureType)) == 0) { + // BUGFIX: this used to be `2*GenerateRnd(treasureType) == 0` however 2*0 has no effect, should probably be `FlipCoin(2*treasureType)` + if (FlipCoin(treasureType)) { CreateTypeItem({ xp, yp }, false, ItemType::Gold, IMISC_NONE, false, true); ItemNoFlippy(); }