Merge branch 'master' of https://github.com/EQEmu/Server into integration/multi-tenancy-expansions-repository

This commit is contained in:
Akkadius
2020-05-23 22:33:34 -05:00
225 changed files with 7700 additions and 6657 deletions
+32 -32
View File
@@ -39,7 +39,7 @@ extern Zone* zone;
extern EntityList entity_list;
// Loading object from database
Object::Object(uint32 id, uint32 type, uint32 icon, const Object_Struct& object, const EQEmu::ItemInstance* inst)
Object::Object(uint32 id, uint32 type, uint32 icon, const Object_Struct& object, const EQ::ItemInstance* inst)
: respawn_timer(0), decay_timer(300000)
{
@@ -71,7 +71,7 @@ Object::Object(uint32 id, uint32 type, uint32 icon, const Object_Struct& object,
}
//creating a re-ocurring ground spawn.
Object::Object(const EQEmu::ItemInstance* inst, char* name,float max_x,float min_x,float max_y,float min_y,float z,float heading,uint32 respawntimer)
Object::Object(const EQ::ItemInstance* inst, char* name,float max_x,float min_x,float max_y,float min_y,float z,float heading,uint32 respawntimer)
: respawn_timer(respawntimer * 1000), decay_timer(300000)
{
@@ -104,7 +104,7 @@ Object::Object(const EQEmu::ItemInstance* inst, char* name,float max_x,float min
}
// Loading object from client dropping item on ground
Object::Object(Client* client, const EQEmu::ItemInstance* inst)
Object::Object(Client* client, const EQ::ItemInstance* inst)
: respawn_timer(0), decay_timer(300000)
{
user = nullptr;
@@ -122,7 +122,7 @@ Object::Object(Client* client, const EQEmu::ItemInstance* inst)
m_data.heading = client->GetHeading();
m_data.x = client->GetX();
m_data.y = client->GetY();
if (client->ClientVersion() >= EQEmu::versions::ClientVersion::RoF2)
if (client->ClientVersion() >= EQ::versions::ClientVersion::RoF2)
{
// RoF2 places items at player's Z, which is 0.625 of their height.
m_data.z = client->GetZ() - (client->GetSize() * 0.625f);
@@ -143,7 +143,7 @@ Object::Object(Client* client, const EQEmu::ItemInstance* inst)
// Set object name
if (inst) {
const EQEmu::ItemData* item = inst->GetItem();
const EQ::ItemData* item = inst->GetItem();
if (item && item->IDFile) {
if (strlen(item->IDFile) == 0) {
strcpy(m_data.object_name, DEFAULT_OBJECT_NAME);
@@ -166,7 +166,7 @@ Object::Object(Client* client, const EQEmu::ItemInstance* inst)
}
}
Object::Object(const EQEmu::ItemInstance *inst, float x, float y, float z, float heading, uint32 decay_time)
Object::Object(const EQ::ItemInstance *inst, float x, float y, float z, float heading, uint32 decay_time)
: respawn_timer(0), decay_timer(decay_time)
{
user = nullptr;
@@ -199,7 +199,7 @@ Object::Object(const EQEmu::ItemInstance *inst, float x, float y, float z, float
// Set object name
if (inst) {
const EQEmu::ItemData* item = inst->GetItem();
const EQ::ItemData* item = inst->GetItem();
if (item && item->IDFile) {
if (strlen(item->IDFile) == 0) {
strcpy(m_data.object_name, DEFAULT_OBJECT_NAME);
@@ -227,7 +227,7 @@ Object::Object(const char *model, float x, float y, float z, float heading, uint
{
user = nullptr;
last_user = nullptr;
EQEmu::ItemInstance* inst = new EQEmu::ItemInstance(ItemInstWorldContainer);
EQ::ItemInstance* inst = new EQ::ItemInstance(ItemInstWorldContainer);
// Initialize members
m_id = 0;
@@ -329,8 +329,8 @@ void Object::Delete(bool reset_state)
}
}
const EQEmu::ItemInstance* Object::GetItem(uint8 index) {
if (index < EQEmu::invtype::WORLD_SIZE) {
const EQ::ItemInstance* Object::GetItem(uint8 index) {
if (index < EQ::invtype::WORLD_SIZE) {
return m_inst->GetItem(index);
}
@@ -338,14 +338,14 @@ const EQEmu::ItemInstance* Object::GetItem(uint8 index) {
}
// Add item to object (only logical for world tradeskill containers
void Object::PutItem(uint8 index, const EQEmu::ItemInstance* inst)
void Object::PutItem(uint8 index, const EQ::ItemInstance* inst)
{
if (index > 9) {
LogError("Object::PutItem: Invalid index specified ([{}])", index);
return;
}
if (m_inst && m_inst->IsType(EQEmu::item::ItemClassBag)) {
if (m_inst && m_inst->IsType(EQ::item::ItemClassBag)) {
if (inst) {
m_inst->PutItem(index, *inst);
}
@@ -365,12 +365,12 @@ void Object::Close() {
last_user = user;
// put any remaining items from the world container back into the player's inventory to avoid item loss
// if they close the container without removing all items
EQEmu::ItemInstance* container = this->m_inst;
EQ::ItemInstance* container = this->m_inst;
if(container != nullptr)
{
for (uint8 i = EQEmu::invbag::SLOT_BEGIN; i <= EQEmu::invbag::SLOT_END; i++)
for (uint8 i = EQ::invbag::SLOT_BEGIN; i <= EQ::invbag::SLOT_END; i++)
{
EQEmu::ItemInstance* inst = container->PopItem(i);
EQ::ItemInstance* inst = container->PopItem(i);
if(inst != nullptr)
{
user->MoveItemToInventory(inst, true);
@@ -386,7 +386,7 @@ void Object::Close() {
// Remove item from container
void Object::DeleteItem(uint8 index)
{
if (m_inst && m_inst->IsType(EQEmu::item::ItemClassBag)) {
if (m_inst && m_inst->IsType(EQ::item::ItemClassBag)) {
m_inst->DeleteItem(index);
// This is _highly_ inefficient, but for now it will work: Save entire object to database
@@ -395,11 +395,11 @@ void Object::DeleteItem(uint8 index)
}
// Pop item out of container
EQEmu::ItemInstance* Object::PopItem(uint8 index)
EQ::ItemInstance* Object::PopItem(uint8 index)
{
EQEmu::ItemInstance* inst = nullptr;
EQ::ItemInstance* inst = nullptr;
if (m_inst && m_inst->IsType(EQEmu::item::ItemClassBag)) {
if (m_inst && m_inst->IsType(EQ::item::ItemClassBag)) {
inst = m_inst->PopItem(index);
// This is _highly_ inefficient, but for now it will work: Save entire object to database
@@ -512,7 +512,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
char buf[10];
snprintf(buf, 9, "%u", item->ID);
buf[9] = '\0';
std::vector<EQEmu::Any> args;
std::vector<EQ::Any> args;
args.push_back(m_inst);
if(parse->EventPlayer(EVENT_PLAYER_PICKUP, sender, buf, this->GetID(), &args))
{
@@ -532,11 +532,11 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
// Transfer item to client
sender->PutItemInInventory(EQEmu::invslot::slotCursor, *m_inst, false);
sender->SendItemPacket(EQEmu::invslot::slotCursor, m_inst, ItemPacketTrade);
sender->PutItemInInventory(EQ::invslot::slotCursor, *m_inst, false);
sender->SendItemPacket(EQ::invslot::slotCursor, m_inst, ItemPacketTrade);
if(cursordelete) // delete the item if it's a duplicate lore. We have to do this because the client expects the item packet
sender->DeleteItemInInventory(EQEmu::invslot::slotCursor);
sender->DeleteItemInInventory(EQ::invslot::slotCursor);
sender->DropItemQS(m_inst, true);
@@ -579,7 +579,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
else {
coa->open = 0x00;
if (sender->ClientVersion() >= EQEmu::versions::ClientVersion::RoF) {
if (sender->ClientVersion() >= EQ::versions::ClientVersion::RoF) {
coa->drop_id = 0xFFFFFFFF;
sender->Message(Chat::White, "Someone else is using that. Try again later.");
}
@@ -600,7 +600,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
// Send items inside of container
if (m_inst && m_inst->IsType(EQEmu::item::ItemClassBag)) {
if (m_inst && m_inst->IsType(EQ::item::ItemClassBag)) {
//Clear out no-drop and no-rent items first if different player opens it
if(user != last_user)
@@ -609,8 +609,8 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
auto outapp = new EQApplicationPacket(OP_ClientReady, 0);
sender->QueuePacket(outapp);
safe_delete(outapp);
for (uint8 i = EQEmu::invbag::SLOT_BEGIN; i <= EQEmu::invbag::SLOT_END; i++) {
const EQEmu::ItemInstance* inst = m_inst->GetItem(i);
for (uint8 i = EQ::invbag::SLOT_BEGIN; i <= EQ::invbag::SLOT_END; i++) {
const EQ::ItemInstance* inst = m_inst->GetItem(i);
if (inst) {
//sender->GetInv().PutItem(i+4000,inst);
sender->SendItemPacket(i, inst, ItemPacketWorldContainer);
@@ -623,7 +623,7 @@ bool Object::HandleClick(Client* sender, const ClickObject_Struct* click_object)
}
// Add new Zone Object (theoretically only called for items dropped to ground)
uint32 ZoneDatabase::AddObject(uint32 type, uint32 icon, const Object_Struct& object, const EQEmu::ItemInstance* inst)
uint32 ZoneDatabase::AddObject(uint32 type, uint32 icon, const Object_Struct& object, const EQ::ItemInstance* inst)
{
uint32 database_id = 0;
uint32 item_id = 0;
@@ -654,7 +654,7 @@ uint32 ZoneDatabase::AddObject(uint32 type, uint32 icon, const Object_Struct& ob
}
// Save container contents, if container
if (inst && inst->IsType(EQEmu::item::ItemClassBag)) {
if (inst && inst->IsType(EQ::item::ItemClassBag)) {
SaveWorldContainer(object.zone_id, database_id, inst);
}
@@ -662,7 +662,7 @@ uint32 ZoneDatabase::AddObject(uint32 type, uint32 icon, const Object_Struct& ob
}
// Update information about existing object in database
void ZoneDatabase::UpdateObject(uint32 id, uint32 type, uint32 icon, const Object_Struct& object, const EQEmu::ItemInstance* inst)
void ZoneDatabase::UpdateObject(uint32 id, uint32 type, uint32 icon, const Object_Struct& object, const EQ::ItemInstance* inst)
{
uint32 item_id = 0;
int16 charges = 0;
@@ -694,7 +694,7 @@ void ZoneDatabase::UpdateObject(uint32 id, uint32 type, uint32 icon, const Objec
}
// Save container contents, if container
if (inst && inst->IsType(EQEmu::item::ItemClassBag))
if (inst && inst->IsType(EQ::item::ItemClassBag))
SaveWorldContainer(object.zone_id, id, inst);
}
@@ -963,7 +963,7 @@ uint32 Object::GetItemID()
return 0;
}
const EQEmu::ItemData* item = this->m_inst->GetItem();
const EQ::ItemData* item = this->m_inst->GetItem();
if (item == 0)
{