mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-26 05:22:25 +00:00
World tradeskill objects should now exhibit pre-RoF behavior to all clients
This commit is contained in:
parent
acb1d14fbd
commit
21fc487c33
@ -1,5 +1,8 @@
|
|||||||
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
EQEMu Changelog (Started on Sept 24, 2003 15:50)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
== 01/12/2016 ==
|
||||||
|
Uleat: Fix for tradeskill containers remaining locked after a RoF+ client leaves. Intermediary fix for RoF+ clients accessing tradeskill containers when in use by another player.
|
||||||
|
|
||||||
== 12/29/2015 ==
|
== 12/29/2015 ==
|
||||||
Akkadius: Implemented standardized zone controller scripts (Rule Zone, UseZoneController) Defaulted to true
|
Akkadius: Implemented standardized zone controller scripts (Rule Zone, UseZoneController) Defaulted to true
|
||||||
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
|
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
|
||||||
|
|||||||
@ -4253,15 +4253,11 @@ void Client::Handle_OP_ClickObjectAction(const EQApplicationPacket *app)
|
|||||||
EQApplicationPacket end_trade2(OP_FinishWindow2, 0);
|
EQApplicationPacket end_trade2(OP_FinishWindow2, 0);
|
||||||
QueuePacket(&end_trade2);
|
QueuePacket(&end_trade2);
|
||||||
|
|
||||||
return;
|
|
||||||
|
|
||||||
// RoF sends a 0 sized packet for closing objects
|
// RoF sends a 0 sized packet for closing objects
|
||||||
/*
|
if (GetTradeskillObject() && GetClientVersion() >= ClientVersion::RoF)
|
||||||
Object* object = GetTradeskillObject();
|
GetTradeskillObject()->CastToObject()->Close();
|
||||||
if (object) {
|
|
||||||
object->CastToObject()->Close();
|
return;
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@ -533,20 +533,26 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
|
|||||||
ClickObjectAction_Struct* coa = (ClickObjectAction_Struct*)outapp->pBuffer;
|
ClickObjectAction_Struct* coa = (ClickObjectAction_Struct*)outapp->pBuffer;
|
||||||
|
|
||||||
//TODO: there is prolly a better way to do this.
|
//TODO: there is prolly a better way to do this.
|
||||||
//if this is not the main user, send them a close and a message
|
m_inuse = true;
|
||||||
if(user == nullptr || user == sender)
|
coa->type = m_type;
|
||||||
coa->open = 0x01;
|
coa->unknown16 = 0x0a;
|
||||||
else {
|
|
||||||
coa->open = 0x00;
|
|
||||||
//sender->Message(13, "Somebody is allready using that container.");
|
|
||||||
}
|
|
||||||
m_inuse = true;
|
|
||||||
coa->type = m_type;
|
|
||||||
coa->unknown16 = 0x0a;
|
|
||||||
|
|
||||||
coa->drop_id = click_object->drop_id;
|
coa->drop_id = click_object->drop_id;
|
||||||
coa->player_id = click_object->player_id;
|
coa->player_id = click_object->player_id;
|
||||||
coa->icon = m_icon;
|
coa->icon = m_icon;
|
||||||
|
|
||||||
|
//if this is not the main user, send them a close and a message
|
||||||
|
if (user == nullptr || user == sender) {
|
||||||
|
coa->open = 0x01;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
coa->open = 0x00;
|
||||||
|
|
||||||
|
if (sender->GetClientVersion() >= ClientVersion::RoF) {
|
||||||
|
coa->drop_id = 0xFFFFFFFF;
|
||||||
|
sender->Message(0, "Someone else is using that. Try again later.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(sender->IsLooting())
|
if(sender->IsLooting())
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user