summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/inventoryrecv.cpp6
-rw-r--r--src/net/eathena/playerhandler.cpp60
-rw-r--r--src/net/eathena/playerrecv.cpp10
3 files changed, 56 insertions, 20 deletions
diff --git a/src/net/eathena/inventoryrecv.cpp b/src/net/eathena/inventoryrecv.cpp
index ead74ad63..30ff720eb 100644
--- a/src/net/eathena/inventoryrecv.cpp
+++ b/src/net/eathena/inventoryrecv.cpp
@@ -912,9 +912,11 @@ void InventoryRecv::processCartInfo(Net::MessageIn &msg)
msg.readInt16("cart items used");
const int size = msg.readInt16("max cart items");
PlayerInfo::setAttribute(Attributes::CART_TOTAL_WEIGHT,
- msg.readInt32("cart weight"));
+ msg.readInt32("cart weight"),
+ Notify_true);
PlayerInfo::setAttribute(Attributes::CART_MAX_WEIGHT,
- msg.readInt32("max cart weight"));
+ msg.readInt32("max cart weight"),
+ Notify_true);
if (mCartItems.empty())
return;
diff --git a/src/net/eathena/playerhandler.cpp b/src/net/eathena/playerhandler.cpp
index 1091fd454..e98331a28 100644
--- a/src/net/eathena/playerhandler.cpp
+++ b/src/net/eathena/playerhandler.cpp
@@ -529,10 +529,14 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::setStatMod(Attributes::PLAYER_WALK_SPEED, 0);
break;
case Sp::BASEEXP:
- PlayerInfo::setAttribute(Attributes::PLAYER_EXP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_EXP,
+ base,
+ Notify_true);
break;
case Sp::JOBEXP:
- PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP,
+ base,
+ Notify_true);
break;
case Sp::KARMA:
PlayerInfo::setStatBase(Attributes::PLAYER_KARMA, base);
@@ -543,7 +547,9 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::setStatMod(Attributes::PLAYER_MANNER, 0);
break;
case Sp::HP:
- PlayerInfo::setAttribute(Attributes::PLAYER_HP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_HP,
+ base,
+ Notify_true);
if (localPlayer->isInParty() && (Party::getParty(1) != nullptr))
{
PartyMember *const m = Party::getParty(1)
@@ -557,7 +563,9 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
break;
case Sp::MAXHP:
- PlayerInfo::setAttribute(Attributes::PLAYER_MAX_HP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_MAX_HP,
+ base,
+ Notify_true);
if (localPlayer->isInParty() && (Party::getParty(1) != nullptr))
{
@@ -571,16 +579,24 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
break;
case Sp::SP:
- PlayerInfo::setAttribute(Attributes::PLAYER_MP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_MP,
+ base,
+ Notify_true);
break;
case Sp::MAXSP:
- PlayerInfo::setAttribute(Attributes::PLAYER_MAX_MP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_MAX_MP,
+ base,
+ Notify_true);
break;
case Sp::STATUSPOINT:
- PlayerInfo::setAttribute(Attributes::PLAYER_CHAR_POINTS, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_CHAR_POINTS,
+ base,
+ Notify_true);
break;
case Sp::BASELEVEL:
- PlayerInfo::setAttribute(Attributes::PLAYER_BASE_LEVEL, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_BASE_LEVEL,
+ base,
+ Notify_true);
if (localPlayer != nullptr)
{
localPlayer->setLevel(base);
@@ -588,7 +604,9 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
}
break;
case Sp::SKILLPOINT:
- PlayerInfo::setAttribute(Attributes::PLAYER_SKILL_POINTS, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_SKILL_POINTS,
+ base,
+ Notify_true);
if (skillDialog != nullptr)
skillDialog->update();
break;
@@ -625,20 +643,30 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
UnitsDb::formatCurrency(oldMoney - newMoney).c_str());
}
- PlayerInfo::setAttribute(Attributes::MONEY, newMoney);
+ PlayerInfo::setAttribute(Attributes::MONEY,
+ newMoney,
+ Notify_true);
break;
}
case Sp::NEXTBASEEXP:
- PlayerInfo::setAttribute(Attributes::PLAYER_EXP_NEEDED, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_EXP_NEEDED,
+ base,
+ Notify_true);
break;
case Sp::NEXTJOBEXP:
- PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP_NEEDED, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB_EXP_NEEDED,
+ base,
+ Notify_true);
break;
case Sp::WEIGHT:
- PlayerInfo::setAttribute(Attributes::TOTAL_WEIGHT, base);
+ PlayerInfo::setAttribute(Attributes::TOTAL_WEIGHT,
+ base,
+ Notify_true);
break;
case Sp::MAXWEIGHT:
- PlayerInfo::setAttribute(Attributes::MAX_WEIGHT, base);
+ PlayerInfo::setAttribute(Attributes::MAX_WEIGHT,
+ base,
+ Notify_true);
break;
case Sp::USTR:
statusWindow->setPointsNeeded(Attributes::PLAYER_STR, base);
@@ -704,7 +732,9 @@ void PlayerHandler::setStat(Net::MessageIn &msg,
PlayerInfo::updateAttrs();
break;
case Sp::JOBLEVEL:
- PlayerInfo::setAttribute(Attributes::PLAYER_JOB_LEVEL, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_JOB_LEVEL,
+ base,
+ Notify_true);
break;
default:
diff --git a/src/net/eathena/playerrecv.cpp b/src/net/eathena/playerrecv.cpp
index 436852091..7aad0440a 100644
--- a/src/net/eathena/playerrecv.cpp
+++ b/src/net/eathena/playerrecv.cpp
@@ -77,7 +77,8 @@ void PlayerRecv::processPlayerStatUpdate5(Net::MessageIn &msg)
{
BLOCK_START("PlayerRecv::processPlayerStatUpdate5")
PlayerInfo::setAttribute(Attributes::PLAYER_CHAR_POINTS,
- msg.readInt16("char points"));
+ msg.readInt16("char points"),
+ Notify_true);
unsigned int val = msg.readUInt8("str");
PlayerInfo::setStatBase(Attributes::PLAYER_STR, val);
@@ -185,7 +186,8 @@ void PlayerRecv::processPlayerStatUpdate5(Net::MessageIn &msg)
msg.readInt16("crit/10"));
PlayerInfo::setAttribute(Attributes::PLAYER_ATTACK_DELAY,
- msg.readInt16("attack speed"));
+ msg.readInt16("attack speed"),
+ Notify_true);
msg.readInt16("plus speed = 0");
BLOCK_END("PlayerRecv::processPlayerStatUpdate5")
@@ -282,7 +284,9 @@ void PlayerRecv::processPlayerHeal(Net::MessageIn &msg)
{
const int base = PlayerInfo::getAttribute(Attributes::PLAYER_HP) +
amount;
- PlayerInfo::setAttribute(Attributes::PLAYER_HP, base);
+ PlayerInfo::setAttribute(Attributes::PLAYER_HP,
+ base,
+ Notify_true);
if (localPlayer->isInParty() && (Party::getParty(1) != nullptr))
{
PartyMember *const m = Party::getParty(1)