From 5a0d215601410817b0fcf4eb275be66eab9a8a22 Mon Sep 17 00:00:00 2001 From: NiteKat Date: Tue, 13 May 2025 00:25:35 -0400 Subject: [PATCH] Monster Name and Witch Fix Fixes the Monster Name passed to client and fixes buying items from Adria. --- Source/dapi/Server.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/dapi/Server.cpp b/Source/dapi/Server.cpp index d2f41fd32..5aca4f425 100644 --- a/Source/dapi/Server.cpp +++ b/Source/dapi/Server.cpp @@ -1078,7 +1078,7 @@ void Server::updateGameData() } // strcpy(towner._tName, devilution::Towners[i].name); old code but with devilution subbed in for reference. } else { - towner._ttype = static_cast(devilution::Towners[i]._ttype); + towner._ttype = devilution::Towners[i]._ttype; towner._tx = -1; towner._ty = -1; strcpy(towner._tName, ""); @@ -1164,9 +1164,10 @@ void Server::updateGameData() m->set_futx(devilution::Monsters[devilution::ActiveMonsters[i]].position.future.x); m->set_futy(devilution::Monsters[devilution::ActiveMonsters[i]].position.future.y); m->set_type(devilution::Monsters[devilution::ActiveMonsters[i]].type().type); - m->set_name(devilution::Monsters[devilution::ActiveMonsters[i]].data().name.c_str()); + std::string monsterName = std::string(devilution::Monsters[devilution::ActiveMonsters[i]].name()); + m->set_name(monsterName.c_str()); m->set_mode(static_cast(devilution::Monsters[devilution::ActiveMonsters[i]].mode)); - m->set_unique(static_cast(devilution::Monsters[devilution::ActiveMonsters[i]].isUnique())); + m->set_unique(devilution::Monsters[devilution::ActiveMonsters[i]].isUnique()); } } @@ -1482,7 +1483,7 @@ void Server::buyItem(int itemID) if (idx < 3) devilution::WitchItems[idx]._iSeed = devilution::AdvanceRndSeed(); - devilution::TakePlrsMoney(devilution::Players[devilution::MyPlayerId].HoldItem._iIvalue); + devilution::TakePlrsMoney(devilution::WitchItems[idx]._iIvalue); if (idx >= 3) {