Browse Source

Use AdvanceRndSeed() when changing RNG with out use

pull/2351/head
Anders Jenbo 5 years ago
parent
commit
65d7b3c1eb
  1. 12
      Source/drlg_l1.cpp
  2. 4
      Source/drlg_l4.cpp
  3. 6
      Source/items.cpp
  4. 2
      Source/monster.cpp

12
Source/drlg_l1.cpp

@ -1375,42 +1375,42 @@ void AddWall()
for (int i = 0; i < DMAXX; i++) {
if (L5dflags[i][j] == 0) {
if (dungeon[i][j] == 3) {
GenerateRnd(100);
AdvanceRndSeed();
int x = HorizontalWallOk(i, j);
if (x != -1) {
HorizontalWall(i, j, 2, x);
}
}
if (dungeon[i][j] == 3) {
GenerateRnd(100);
AdvanceRndSeed();
int y = VerticalWallOk(i, j);
if (y != -1) {
VerticalWall(i, j, 1, y);
}
}
if (dungeon[i][j] == 6) {
GenerateRnd(100);
AdvanceRndSeed();
int x = HorizontalWallOk(i, j);
if (x != -1) {
HorizontalWall(i, j, 4, x);
}
}
if (dungeon[i][j] == 7) {
GenerateRnd(100);
AdvanceRndSeed();
int y = VerticalWallOk(i, j);
if (y != -1) {
VerticalWall(i, j, 4, y);
}
}
if (dungeon[i][j] == 2) {
GenerateRnd(100);
AdvanceRndSeed();
int x = HorizontalWallOk(i, j);
if (x != -1) {
HorizontalWall(i, j, 2, x);
}
}
if (dungeon[i][j] == 1) {
GenerateRnd(100);
AdvanceRndSeed();
int y = VerticalWallOk(i, j);
if (y != -1) {
VerticalWall(i, j, 1, y);

4
Source/drlg_l4.cpp

@ -641,14 +641,14 @@ void AddWall()
continue;
}
if (IsAnyOf(dungeon[i][j], 10, 12, 13, 15, 16, 21, 22)) {
GenerateRnd(100);
AdvanceRndSeed();
int x = HorizontalWallOk(i, j);
if (x != -1) {
HorizontalWall(i, j, x);
}
}
if (IsAnyOf(dungeon[i][j], 8, 9, 11, 14, 15, 16, 21, 23)) {
GenerateRnd(100);
AdvanceRndSeed();
int y = VerticalWallOk(i, j);
if (y != -1) {
VerticalWall(i, j, y);

6
Source/items.cpp

@ -1501,7 +1501,7 @@ _unique_items CheckUnique(int i, int lvl, int uper, bool recreate)
if (numu == 0)
return UITEM_INVALID;
GenerateRnd(10); /// BUGFIX: unused, last unique in array always gets chosen
AdvanceRndSeed();
uint8_t idata = 0;
while (numu > 0) {
if (uok[idata])
@ -2384,7 +2384,7 @@ void RecreateWitchItem(int ii, int idx, int lvl, int iseed)
GetItemAttrs(ii, idx, lvl);
} else if (gbIsHellfire && idx >= 114 && idx <= 117) {
SetRndSeed(iseed);
GenerateRnd(1);
AdvanceRndSeed();
GetItemAttrs(ii, idx, lvl);
} else {
SetRndSeed(iseed);
@ -4551,7 +4551,7 @@ void SpawnWitch(int lvl)
memset(&Items[0], 0, sizeof(*Items));
Items[0]._iSeed = AdvanceRndSeed();
GenerateRnd(1);
AdvanceRndSeed();
GetItemAttrs(0, i, lvl);
witchitem[j] = Items[0];

2
Source/monster.cpp

@ -3197,7 +3197,7 @@ void MAI_Fireman(int i)
monst->_mgoal = MGOAL_ATTACK2;
}
monst->_mdir = md;
GenerateRnd(100);
AdvanceRndSeed();
if (monst->_mmode != MM_STAND)
return;

Loading…
Cancel
Save