From 15c38b4792d238572f2a516b36fa82a46f736e56 Mon Sep 17 00:00:00 2001 From: NiteKat Date: Fri, 19 Dec 2025 21:13:25 -0500 Subject: [PATCH] Add _pISplLvlAdd to PlayerData Adds collecting _pISplLvlAdd to PlayerData server side and sending it client side. --- Source/dapi/Backend/Messages/data.proto | 3 ++- Source/dapi/Player.h | 1 + Source/dapi/Server.cpp | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/dapi/Backend/Messages/data.proto b/Source/dapi/Backend/Messages/data.proto index ed8876a3e..08965ba1c 100644 --- a/Source/dapi/Backend/Messages/data.proto +++ b/Source/dapi/Backend/Messages/data.proto @@ -174,5 +174,6 @@ message PlayerData { uint32 _pIBonusToHit = 47; uint32 _pIBonusAC = 48; uint32 _pIBonusDamMod = 49; - bool pManaShield = 50; + int32 _pISplLvlAdd = 50; + bool pManaShield = 51; } diff --git a/Source/dapi/Player.h b/Source/dapi/Player.h index e05103b40..8fb946227 100644 --- a/Source/dapi/Player.h +++ b/Source/dapi/Player.h @@ -69,6 +69,7 @@ struct PlayerData { int _pIBonusToHit; int _pIBonusAC; int _pIBonusDamMod; + char _pISplLvlAdd; bool pManaShield; }; } // namespace DAPI diff --git a/Source/dapi/Server.cpp b/Source/dapi/Server.cpp index 5d9229b80..baaf8c55d 100644 --- a/Source/dapi/Server.cpp +++ b/Source/dapi/Server.cpp @@ -713,6 +713,7 @@ void Server::updateGameData() data->playerList[i]._pIBonusToHit = devilution::Players[i]._pIBonusToHit; data->playerList[i]._pIBonusAC = devilution::Players[i]._pIBonusAC; data->playerList[i]._pIBonusDamMod = devilution::Players[i]._pIBonusDamMod; + data->playerList[i]._pISplLvlAdd = devilution::Players[i]._pISplLvlAdd; data->playerList[i].pManaShield = devilution::Players[i].pManaShield; } else if (devilution::Players.size() >= i + 1 && devilution::Players[i].plractive && devilution::Players[i].isOnActiveLevel() && devilution::IsTileLit(devilution::Point { devilution::Players[i].position.tile.x, devilution::Players[i].position.tile.y })) { memcpy(data->playerList[i]._pName, devilution::Players[i]._pName, 32); @@ -779,6 +780,7 @@ void Server::updateGameData() data->playerList[i]._pIBonusToHit = -1; data->playerList[i]._pIBonusAC = -1; data->playerList[i]._pIBonusDamMod = -1; + data->playerList[i]._pISplLvlAdd = -1; data->playerList[i].pManaShield = devilution::Players[i].pManaShield; } else { memset(data->playerList[i]._pName, 0, 32); @@ -845,6 +847,7 @@ void Server::updateGameData() data->playerList[i]._pIBonusToHit = -1; data->playerList[i]._pIBonusAC = -1; data->playerList[i]._pIBonusDamMod = -1; + data->playerList[i]._pISplLvlAdd = -1; data->playerList[i].pManaShield = false; } @@ -911,6 +914,7 @@ void Server::updateGameData() playerData->set__pibonustohit(data->playerList[i]._pIBonusToHit); playerData->set__pibonusac(data->playerList[i]._pIBonusAC); playerData->set__pibonusdammod(data->playerList[i]._pIBonusDamMod); + playerData->set__pispllvladd(data->playerList[i]._pISplLvlAdd); playerData->set_pmanashield(data->playerList[i].pManaShield); }