Browse Source

Introduce Player::setlevel

pull/4727/head
obligaron 4 years ago committed by Anders Jenbo
parent
commit
d0c14fe92f
  1. 2
      Source/loadsave.cpp
  2. 2
      Source/msg.cpp
  3. 2
      Source/multi.cpp
  4. 2
      Source/pack.cpp
  5. 10
      Source/player.cpp
  6. 8
      Source/player.h
  7. 6
      Source/portal.cpp

2
Source/loadsave.cpp

@ -322,7 +322,7 @@ void LoadPlayer(LoadHelper &file, Player &player)
player.destParam2 = file.NextLE<int32_t>(); player.destParam2 = file.NextLE<int32_t>();
player.destParam3 = file.NextLE<int32_t>(); player.destParam3 = file.NextLE<int32_t>();
player.destParam4 = file.NextLE<int32_t>(); player.destParam4 = file.NextLE<int32_t>();
player.plrlevel = file.NextLE<uint32_t>(); player.setLevel(file.NextLE<uint32_t>());
player.position.tile.x = file.NextLE<int32_t>(); player.position.tile.x = file.NextLE<int32_t>();
player.position.tile.y = file.NextLE<int32_t>(); player.position.tile.y = file.NextLE<int32_t>();
player.position.future.x = file.NextLE<int32_t>(); player.position.future.x = file.NextLE<int32_t>();

2
Source/msg.cpp

@ -1736,7 +1736,7 @@ DWORD OnPlayerJoinLevel(const TCmd *pCmd, int pnum)
if (player.plractive && MyPlayerId != pnum) { if (player.plractive && MyPlayerId != pnum) {
player.position.tile = position; player.position.tile = position;
player.plrlevel = playerLevel; player.setLevel(playerLevel);
ResetPlayerGFX(player); ResetPlayerGFX(player);
if (player.isOnActiveLevel()) { if (player.isOnActiveLevel()) {
SyncInitPlr(pnum); SyncInitPlr(pnum);

2
Source/multi.cpp

@ -358,7 +358,7 @@ void SetupLocalPositions()
myPlayer.position.tile = { x, y }; myPlayer.position.tile = { x, y };
myPlayer.position.future = { x, y }; myPlayer.position.future = { x, y };
myPlayer.plrlevel = currlevel; myPlayer.setLevel(currlevel);
myPlayer._pLvlChanging = true; myPlayer._pLvlChanging = true;
myPlayer.pLvlLoad = 0; myPlayer.pLvlLoad = 0;
myPlayer._pmode = PM_NEWLVL; myPlayer._pmode = PM_NEWLVL;

2
Source/pack.cpp

@ -218,7 +218,7 @@ bool UnPackPlayer(const PlayerPack *pPack, Player &player, bool netSync)
player.position.tile = position; player.position.tile = position;
player.position.future = position; player.position.future = position;
player.plrlevel = dungeonLevel; player.setLevel(dungeonLevel);
player._pClass = heroClass; player._pClass = heroClass;

10
Source/player.cpp

@ -3263,14 +3263,14 @@ StartNewLvl(int pnum, interface_mode fom, int lvl)
case WM_DIABPREVLVL: case WM_DIABPREVLVL:
case WM_DIABRTNLVL: case WM_DIABRTNLVL:
case WM_DIABTOWNWARP: case WM_DIABTOWNWARP:
player.plrlevel = lvl; player.setLevel(lvl);
break; break;
case WM_DIABSETLVL: case WM_DIABSETLVL:
setlvlnum = (_setlevels)lvl; setlvlnum = (_setlevels)lvl;
break; break;
case WM_DIABTWARPUP: case WM_DIABTWARPUP:
myPlayer.pTownWarps |= 1 << (leveltype - 2); myPlayer.pTownWarps |= 1 << (leveltype - 2);
player.plrlevel = lvl; player.setLevel(lvl);
break; break;
case WM_DIABRETOWN: case WM_DIABRETOWN:
break; break;
@ -3296,7 +3296,7 @@ void RestartTownLvl(int pnum)
} }
Player &player = Players[pnum]; Player &player = Players[pnum];
player.plrlevel = 0; player.setLevel(0);
player._pInvincible = false; player._pInvincible = false;
SetPlayerHitPoints(player, 64); SetPlayerHitPoints(player, 64);
@ -3321,9 +3321,9 @@ void StartWarpLvl(int pnum, int pidx)
if (gbIsMultiplayer) { if (gbIsMultiplayer) {
if (!player.isOnLevel(0)) { if (!player.isOnLevel(0)) {
player.plrlevel = 0; player.setLevel(0);
} else { } else {
player.plrlevel = Portals[pidx].level; player.setLevel(Portals[pidx].level);
} }
} }

8
Source/player.h

@ -718,6 +718,14 @@ struct Player {
{ {
return this->plrlevel == level; return this->plrlevel == level;
} }
void setLevel(uint8_t level)
{
this->plrlevel = level;
}
void setLevel(_setlevels level)
{
this->plrlevel = static_cast<uint8_t>(level);
}
}; };
extern DVL_API_FOR_TEST int MyPlayerId; extern DVL_API_FOR_TEST int MyPlayerId;

6
Source/portal.cpp

@ -134,7 +134,7 @@ void GetPortalLevel()
if (leveltype != DTYPE_TOWN) { if (leveltype != DTYPE_TOWN) {
setlevel = false; setlevel = false;
currlevel = 0; currlevel = 0;
MyPlayer->plrlevel = 0; MyPlayer->setLevel(0);
leveltype = DTYPE_TOWN; leveltype = DTYPE_TOWN;
return; return;
} }
@ -143,12 +143,12 @@ void GetPortalLevel()
setlevel = true; setlevel = true;
setlvlnum = (_setlevels)Portals[portalindex].level; setlvlnum = (_setlevels)Portals[portalindex].level;
currlevel = Portals[portalindex].level; currlevel = Portals[portalindex].level;
MyPlayer->plrlevel = setlvlnum; MyPlayer->setLevel(setlvlnum);
leveltype = Portals[portalindex].ltype; leveltype = Portals[portalindex].ltype;
} else { } else {
setlevel = false; setlevel = false;
currlevel = Portals[portalindex].level; currlevel = Portals[portalindex].level;
MyPlayer->plrlevel = currlevel; MyPlayer->setLevel(currlevel);
leveltype = Portals[portalindex].ltype; leveltype = Portals[portalindex].ltype;
} }

Loading…
Cancel
Save