|
|
|
|
@ -337,10 +337,9 @@ bool ForceTownTrig()
|
|
|
|
|
for (auto tileId : TownDownList) { |
|
|
|
|
if (tileId == -1) |
|
|
|
|
break; |
|
|
|
|
if (dPiece[cursmx][cursmy] == tileId) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == tileId) { |
|
|
|
|
strcpy(infostr, _("Down to dungeon")); |
|
|
|
|
cursmx = 25; |
|
|
|
|
cursmy = 29; |
|
|
|
|
cursPosition = { 25, 29 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -349,10 +348,9 @@ bool ForceTownTrig()
|
|
|
|
|
for (auto tileId : TownWarp1List) { |
|
|
|
|
if (tileId == -1) |
|
|
|
|
break; |
|
|
|
|
if (dPiece[cursmx][cursmy] == tileId) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == tileId) { |
|
|
|
|
strcpy(infostr, _("Down to catacombs")); |
|
|
|
|
cursmx = 49; |
|
|
|
|
cursmy = 21; |
|
|
|
|
cursPosition = { 49, 21 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -360,10 +358,9 @@ bool ForceTownTrig()
|
|
|
|
|
|
|
|
|
|
if (IsWarpOpen(DTYPE_CAVES)) { |
|
|
|
|
for (int i = 1199; i <= 1220; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == i) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == i) { |
|
|
|
|
strcpy(infostr, _("Down to caves")); |
|
|
|
|
cursmx = 17; |
|
|
|
|
cursmy = 69; |
|
|
|
|
cursPosition = { 17, 69 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -371,10 +368,9 @@ bool ForceTownTrig()
|
|
|
|
|
|
|
|
|
|
if (IsWarpOpen(DTYPE_HELL)) { |
|
|
|
|
for (int i = 1240; i <= 1255; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == i) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == i) { |
|
|
|
|
strcpy(infostr, _("Down to hell")); |
|
|
|
|
cursmx = 41; |
|
|
|
|
cursmy = 80; |
|
|
|
|
cursPosition = { 41, 80 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -384,10 +380,9 @@ bool ForceTownTrig()
|
|
|
|
|
for (auto tileId : TownHiveList) { |
|
|
|
|
if (tileId == -1) |
|
|
|
|
break; |
|
|
|
|
if (dPiece[cursmx][cursmy] == tileId) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == tileId) { |
|
|
|
|
strcpy(infostr, _("Down to Hive")); |
|
|
|
|
cursmx = 80; |
|
|
|
|
cursmy = 62; |
|
|
|
|
cursPosition = { 80, 62 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -397,10 +392,9 @@ bool ForceTownTrig()
|
|
|
|
|
for (auto tileId : TownCryptList) { |
|
|
|
|
if (tileId == -1) |
|
|
|
|
break; |
|
|
|
|
if (dPiece[cursmx][cursmy] == tileId) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == tileId) { |
|
|
|
|
strcpy(infostr, _("Down to Crypt")); |
|
|
|
|
cursmx = 36; |
|
|
|
|
cursmy = 24; |
|
|
|
|
cursPosition = { 36, 24 }; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -413,27 +407,25 @@ bool ForceL1Trig()
|
|
|
|
|
{ |
|
|
|
|
if (currlevel < 17) { |
|
|
|
|
for (int i = 0; L1UpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L1UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L1UpList[i]) { |
|
|
|
|
if (currlevel > 1) |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to level {:d}"), currlevel - 1).c_str()); |
|
|
|
|
else |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int i = 0; L1DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L1DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L1DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to level {:d}"), currlevel + 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -441,28 +433,26 @@ bool ForceL1Trig()
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
for (int i = 0; L5UpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L5UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L5UpList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to Crypt level {:d}"), currlevel - 21).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (dPiece[cursmx][cursmy] == 317) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == 317) { |
|
|
|
|
strcpy(infostr, _("Cornerstone of the World")); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
for (int i = 0; L5DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L5DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L5DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to Crypt level {:d}"), currlevel - 19).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -470,15 +460,14 @@ bool ForceL1Trig()
|
|
|
|
|
} |
|
|
|
|
if (currlevel == 21) { |
|
|
|
|
for (int i = 0; L5TWarpUpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L5TWarpUpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L5TWarpUpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABTWARPUP) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -494,15 +483,14 @@ bool ForceL1Trig()
|
|
|
|
|
bool ForceL2Trig() |
|
|
|
|
{ |
|
|
|
|
for (int i = 0; L2UpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L2UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L2UpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to level {:d}"), currlevel - 1).c_str()); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -511,12 +499,11 @@ bool ForceL2Trig()
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (int i = 0; L2DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L2DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L2DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to level {:d}"), currlevel + 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -525,15 +512,14 @@ bool ForceL2Trig()
|
|
|
|
|
|
|
|
|
|
if (currlevel == 5) { |
|
|
|
|
for (int i = 0; L2TWarpUpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L2TWarpUpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L2TWarpUpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABTWARPUP) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -549,26 +535,24 @@ bool ForceL3Trig()
|
|
|
|
|
{ |
|
|
|
|
if (currlevel < 17) { |
|
|
|
|
for (int i = 0; L3UpList[i] != -1; ++i) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L3UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L3UpList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to level {:d}"), currlevel - 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int i = 0; L3DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L3DownList[i] |
|
|
|
|
|| dPiece[cursmx + 1][cursmy] == L3DownList[i] |
|
|
|
|
|| dPiece[cursmx + 2][cursmy] == L3DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L3DownList[i] |
|
|
|
|
|| dPiece[cursPosition.x + 1][cursPosition.y] == L3DownList[i] |
|
|
|
|
|| dPiece[cursPosition.x + 2][cursPosition.y] == L3DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to level {:d}"), currlevel + 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -576,26 +560,24 @@ bool ForceL3Trig()
|
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
for (int i = 0; L6UpList[i] != -1; ++i) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L6UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L6UpList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to Nest level {:d}"), currlevel - 17).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (int i = 0; L6DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L6DownList[i] |
|
|
|
|
|| dPiece[cursmx + 1][cursmy] == L6DownList[i] |
|
|
|
|
|| dPiece[cursmx + 2][cursmy] == L6DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L6DownList[i] |
|
|
|
|
|| dPiece[cursPosition.x + 1][cursPosition.y] == L6DownList[i] |
|
|
|
|
|| dPiece[cursPosition.x + 2][cursPosition.y] == L6DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to level {:d}"), currlevel - 15).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -605,15 +587,14 @@ bool ForceL3Trig()
|
|
|
|
|
|
|
|
|
|
if (currlevel == 9) { |
|
|
|
|
for (int i = 0; L3TWarpUpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L3TWarpUpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L3TWarpUpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABTWARPUP) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -623,15 +604,14 @@ bool ForceL3Trig()
|
|
|
|
|
} |
|
|
|
|
if (currlevel == 17) { |
|
|
|
|
for (int i = 0; L6TWarpUpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L6TWarpUpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L6TWarpUpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABTWARPUP) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -646,12 +626,11 @@ bool ForceL3Trig()
|
|
|
|
|
bool ForceL4Trig() |
|
|
|
|
{ |
|
|
|
|
for (int i = 0; L4UpList[i] != -1; ++i) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L4UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L4UpList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Up to level {:d}"), currlevel - 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABPREVLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -659,12 +638,11 @@ bool ForceL4Trig()
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
for (int i = 0; L4DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L4DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L4DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Down to level {:d}"), currlevel + 1).c_str()); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -673,15 +651,14 @@ bool ForceL4Trig()
|
|
|
|
|
|
|
|
|
|
if (currlevel == 13) { |
|
|
|
|
for (int i = 0; L4TWarpUpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L4TWarpUpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L4TWarpUpList[i]) { |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABTWARPUP) { |
|
|
|
|
int dx = abs(trigs[j].position.x - cursmx); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursmy); |
|
|
|
|
int dx = abs(trigs[j].position.x - cursPosition.x); |
|
|
|
|
int dy = abs(trigs[j].position.y - cursPosition.y); |
|
|
|
|
if (dx < 4 && dy < 4) { |
|
|
|
|
strcpy(infostr, _("Up to town")); |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -692,12 +669,11 @@ bool ForceL4Trig()
|
|
|
|
|
|
|
|
|
|
if (currlevel == 15) { |
|
|
|
|
for (int i = 0; L4PentaList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L4PentaList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L4PentaList[i]) { |
|
|
|
|
strcpy(infostr, _("Down to Diablo")); |
|
|
|
|
for (int j = 0; j < numtrigs; j++) { |
|
|
|
|
if (trigs[j]._tmsg == WM_DIABNEXTLVL) { |
|
|
|
|
cursmx = trigs[j].position.x; |
|
|
|
|
cursmy = trigs[j].position.y; |
|
|
|
|
cursPosition = trigs[j].position; |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
@ -726,10 +702,9 @@ void Freeupstairs()
|
|
|
|
|
bool ForceSKingTrig() |
|
|
|
|
{ |
|
|
|
|
for (int i = 0; L1UpList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L1UpList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L1UpList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Back to Level {:d}"), Quests[Q_SKELKING]._qlevel).c_str()); |
|
|
|
|
cursmx = trigs[0].position.x; |
|
|
|
|
cursmy = trigs[0].position.y; |
|
|
|
|
cursPosition = trigs[0].position; |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
@ -741,10 +716,9 @@ bool ForceSKingTrig()
|
|
|
|
|
bool ForceSChambTrig() |
|
|
|
|
{ |
|
|
|
|
for (int i = 0; L2DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L2DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L2DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Back to Level {:d}"), Quests[Q_SCHAMB]._qlevel).c_str()); |
|
|
|
|
cursmx = trigs[0].position.x; |
|
|
|
|
cursmy = trigs[0].position.y; |
|
|
|
|
cursPosition = trigs[0].position; |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
@ -756,10 +730,9 @@ bool ForceSChambTrig()
|
|
|
|
|
bool ForcePWaterTrig() |
|
|
|
|
{ |
|
|
|
|
for (int i = 0; L3DownList[i] != -1; i++) { |
|
|
|
|
if (dPiece[cursmx][cursmy] == L3DownList[i]) { |
|
|
|
|
if (dPiece[cursPosition.x][cursPosition.y] == L3DownList[i]) { |
|
|
|
|
strcpy(infostr, fmt::format(_("Back to Level {:d}"), Quests[Q_PWATER]._qlevel).c_str()); |
|
|
|
|
cursmx = trigs[0].position.x; |
|
|
|
|
cursmy = trigs[0].position.y; |
|
|
|
|
cursPosition = trigs[0].position; |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|