refactor CheckTown() and CheckRportal()
This commit is contained in:
parent
aa109b14b4
commit
b9927c7ceb
1 changed files with 23 additions and 21 deletions
|
|
@ -217,21 +217,22 @@ void CheckTown()
|
|||
{
|
||||
for (int i = 0; i < ActiveMissileCount; i++) {
|
||||
int mx = ActiveMissiles[i];
|
||||
if (Missiles[mx]._mitype == MIS_TOWN) {
|
||||
if ((cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y)
|
||||
|| (cursmx == Missiles[mx].position.tile.x && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 2 && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 2 && cursmy == Missiles[mx].position.tile.y - 2)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y - 2)
|
||||
|| (cursmx == Missiles[mx].position.tile.x && cursmy == Missiles[mx].position.tile.y)) {
|
||||
auto &missile = Missiles[mx];
|
||||
if (missile._mitype == MIS_TOWN) {
|
||||
if ((cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y)
|
||||
|| (cursmx == missile.position.tile.x && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 2 && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 2 && cursmy == missile.position.tile.y - 2)
|
||||
|| (cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y - 2)
|
||||
|| (cursmx == missile.position.tile.x && cursmy == missile.position.tile.y)) {
|
||||
trigflag = true;
|
||||
ClearPanel();
|
||||
strcpy(infostr, _("Town Portal"));
|
||||
strcpy(tempstr, fmt::format(_("from {:s}"), Players[Missiles[mx]._misource]._pName).c_str());
|
||||
strcpy(tempstr, fmt::format(_("from {:s}"), Players[missile._misource]._pName).c_str());
|
||||
AddPanelString(tempstr);
|
||||
cursmx = Missiles[mx].position.tile.x;
|
||||
cursmy = Missiles[mx].position.tile.y;
|
||||
cursmx = missile.position.tile.x;
|
||||
cursmy = missile.position.tile.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -241,14 +242,15 @@ void CheckRportal()
|
|||
{
|
||||
for (int i = 0; i < ActiveMissileCount; i++) {
|
||||
int mx = ActiveMissiles[i];
|
||||
if (Missiles[mx]._mitype == MIS_RPORTAL) {
|
||||
if ((cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y)
|
||||
|| (cursmx == Missiles[mx].position.tile.x && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 2 && cursmy == Missiles[mx].position.tile.y - 1)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 2 && cursmy == Missiles[mx].position.tile.y - 2)
|
||||
|| (cursmx == Missiles[mx].position.tile.x - 1 && cursmy == Missiles[mx].position.tile.y - 2)
|
||||
|| (cursmx == Missiles[mx].position.tile.x && cursmy == Missiles[mx].position.tile.y)) {
|
||||
auto &missile = Missiles[mx];
|
||||
if (missile._mitype == MIS_RPORTAL) {
|
||||
if ((cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y)
|
||||
|| (cursmx == missile.position.tile.x && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 2 && cursmy == missile.position.tile.y - 1)
|
||||
|| (cursmx == missile.position.tile.x - 2 && cursmy == missile.position.tile.y - 2)
|
||||
|| (cursmx == missile.position.tile.x - 1 && cursmy == missile.position.tile.y - 2)
|
||||
|| (cursmx == missile.position.tile.x && cursmy == missile.position.tile.y)) {
|
||||
trigflag = true;
|
||||
ClearPanel();
|
||||
strcpy(infostr, _("Portal to"));
|
||||
|
|
@ -257,8 +259,8 @@ void CheckRportal()
|
|||
else
|
||||
strcpy(tempstr, _("level 15"));
|
||||
AddPanelString(tempstr);
|
||||
cursmx = Missiles[mx].position.tile.x;
|
||||
cursmy = Missiles[mx].position.tile.y;
|
||||
cursmx = missile.position.tile.x;
|
||||
cursmy = missile.position.tile.y;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue