diff --git a/src/map/packet_system.cpp b/src/map/packet_system.cpp index b98781f7e10..4febee3d560 100644 --- a/src/map/packet_system.cpp +++ b/src/map/packet_system.cpp @@ -6807,7 +6807,7 @@ void SmallPacket0x0EA(map_session_data_t* const PSession, CCharEntity* const PCh TracyZoneScoped; // Prevent sitting while crafting. - if (PChar->CraftContainer->getItemsCount() > 0 && PChar->animation == ANIMATION_SYNTH) + if (PChar->animation == ANIMATION_SYNTH || (PChar->CraftContainer && PChar->CraftContainer->getItemsCount() > 0)) { return; } diff --git a/src/map/utils/synthutils.cpp b/src/map/utils/synthutils.cpp index 0113f9c1ba2..b3a785d8c63 100644 --- a/src/map/utils/synthutils.cpp +++ b/src/map/utils/synthutils.cpp @@ -1040,6 +1040,7 @@ namespace synthutils { doSynthResult(PChar); + PChar->CraftContainer->Clean(); PChar->animation = ANIMATION_NONE; PChar->updatemask |= UPDATE_HP; PChar->pushPacket(new CCharUpdatePacket(PChar));