mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 22:01:30 +00:00
[Cleanup] Cleanup item_instance.cpp always true statements and reassigning of same values (#3187)
# Notes - Some things were always true. - Some values were reassigned to the value they already were.
This commit is contained in:
parent
e11610b9fa
commit
beccd557a8
@ -58,19 +58,22 @@ static inline int32 GetNextItemInstSerialNumber() {
|
|||||||
//
|
//
|
||||||
EQ::ItemInstance::ItemInstance(const ItemData* item, int16 charges) {
|
EQ::ItemInstance::ItemInstance(const ItemData* item, int16 charges) {
|
||||||
m_use_type = ItemInstNormal;
|
m_use_type = ItemInstNormal;
|
||||||
if(item) {
|
|
||||||
|
if (item) {
|
||||||
m_item = new ItemData(*item);
|
m_item = new ItemData(*item);
|
||||||
} else {
|
|
||||||
m_item = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m_charges = charges;
|
m_charges = charges;
|
||||||
m_price = 0;
|
m_price = 0;
|
||||||
m_attuned = false;
|
m_attuned = false;
|
||||||
m_merchantslot = 0;
|
m_merchantslot = 0;
|
||||||
if (m_item && m_item->IsClassCommon())
|
|
||||||
|
if (m_item && m_item->IsClassCommon()) {
|
||||||
m_color = m_item->Color;
|
m_color = m_item->Color;
|
||||||
else
|
} else {
|
||||||
m_color = 0;
|
m_color = 0;
|
||||||
|
}
|
||||||
|
|
||||||
m_merchantcount = 1;
|
m_merchantcount = 1;
|
||||||
m_SerialNumber = GetNextItemInstSerialNumber();
|
m_SerialNumber = GetNextItemInstSerialNumber();
|
||||||
|
|
||||||
@ -90,21 +93,22 @@ EQ::ItemInstance::ItemInstance(const ItemData* item, int16 charges) {
|
|||||||
EQ::ItemInstance::ItemInstance(SharedDatabase *db, uint32 item_id, int16 charges) {
|
EQ::ItemInstance::ItemInstance(SharedDatabase *db, uint32 item_id, int16 charges) {
|
||||||
m_use_type = ItemInstNormal;
|
m_use_type = ItemInstNormal;
|
||||||
m_item = db->GetItem(item_id);
|
m_item = db->GetItem(item_id);
|
||||||
if(m_item) {
|
|
||||||
|
if (m_item) {
|
||||||
m_item = new ItemData(*m_item);
|
m_item = new ItemData(*m_item);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
m_item = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_charges = charges;
|
m_charges = charges;
|
||||||
m_price = 0;
|
m_price = 0;
|
||||||
m_merchantslot = 0;
|
m_merchantslot = 0;
|
||||||
m_attuned=false;
|
m_attuned = false;
|
||||||
if (m_item && m_item->IsClassCommon())
|
|
||||||
|
if (m_item && m_item->IsClassCommon()) {
|
||||||
m_color = m_item->Color;
|
m_color = m_item->Color;
|
||||||
else
|
} else {
|
||||||
m_color = 0;
|
m_color = 0;
|
||||||
|
}
|
||||||
|
|
||||||
m_merchantcount = 1;
|
m_merchantcount = 1;
|
||||||
m_SerialNumber = GetNextItemInstSerialNumber();
|
m_SerialNumber = GetNextItemInstSerialNumber();
|
||||||
|
|
||||||
@ -146,19 +150,22 @@ EQ::ItemInstance::ItemInstance(ItemInstTypes use_type) {
|
|||||||
// Make a copy of an EQ::ItemInstance object
|
// Make a copy of an EQ::ItemInstance object
|
||||||
EQ::ItemInstance::ItemInstance(const ItemInstance& copy)
|
EQ::ItemInstance::ItemInstance(const ItemInstance& copy)
|
||||||
{
|
{
|
||||||
m_use_type=copy.m_use_type;
|
m_use_type = copy.m_use_type;
|
||||||
if(copy.m_item)
|
|
||||||
m_item = new ItemData(*copy.m_item);
|
if (copy.m_item) {
|
||||||
else
|
m_item = new ItemData(*copy.m_item);
|
||||||
m_item = nullptr;
|
} else {
|
||||||
|
m_item = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_charges = copy.m_charges;
|
||||||
|
m_price = copy.m_price;
|
||||||
|
m_color = copy.m_color;
|
||||||
|
m_merchantslot = copy.m_merchantslot;
|
||||||
|
m_currentslot = copy.m_currentslot;
|
||||||
|
m_attuned = copy.m_attuned;
|
||||||
|
m_merchantcount = copy.m_merchantcount;
|
||||||
|
|
||||||
m_charges=copy.m_charges;
|
|
||||||
m_price=copy.m_price;
|
|
||||||
m_color=copy.m_color;
|
|
||||||
m_merchantslot=copy.m_merchantslot;
|
|
||||||
m_currentslot=copy.m_currentslot;
|
|
||||||
m_attuned=copy.m_attuned;
|
|
||||||
m_merchantcount=copy.m_merchantcount;
|
|
||||||
// Copy container contents
|
// Copy container contents
|
||||||
for (auto it = copy.m_contents.begin(); it != copy.m_contents.end(); ++it) {
|
for (auto it = copy.m_contents.begin(); it != copy.m_contents.end(); ++it) {
|
||||||
ItemInstance* inst_old = it->second;
|
ItemInstance* inst_old = it->second;
|
||||||
@ -168,14 +175,16 @@ EQ::ItemInstance::ItemInstance(const ItemInstance& copy)
|
|||||||
inst_new = inst_old->Clone();
|
inst_new = inst_old->Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inst_new != nullptr) {
|
if (inst_new) {
|
||||||
m_contents[it->first] = inst_new;
|
m_contents[it->first] = inst_new;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::map<std::string, std::string>::const_iterator iter;
|
std::map<std::string, std::string>::const_iterator iter;
|
||||||
for (iter = copy.m_custom_data.begin(); iter != copy.m_custom_data.end(); ++iter) {
|
for (iter = copy.m_custom_data.begin(); iter != copy.m_custom_data.end(); ++iter) {
|
||||||
m_custom_data[iter->first] = iter->second;
|
m_custom_data[iter->first] = iter->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_SerialNumber = copy.m_SerialNumber;
|
m_SerialNumber = copy.m_SerialNumber;
|
||||||
m_custom_data = copy.m_custom_data;
|
m_custom_data = copy.m_custom_data;
|
||||||
m_timers = copy.m_timers;
|
m_timers = copy.m_timers;
|
||||||
@ -183,15 +192,18 @@ EQ::ItemInstance::ItemInstance(const ItemInstance& copy)
|
|||||||
m_exp = copy.m_exp;
|
m_exp = copy.m_exp;
|
||||||
m_evolveLvl = copy.m_evolveLvl;
|
m_evolveLvl = copy.m_evolveLvl;
|
||||||
m_activated = copy.m_activated;
|
m_activated = copy.m_activated;
|
||||||
if (copy.m_scaledItem)
|
|
||||||
m_scaledItem = new ItemData(*copy.m_scaledItem);
|
|
||||||
else
|
|
||||||
m_scaledItem = nullptr;
|
|
||||||
|
|
||||||
if(copy.m_evolveInfo)
|
if (copy.m_scaledItem) {
|
||||||
|
m_scaledItem = new ItemData(*copy.m_scaledItem);
|
||||||
|
} else {
|
||||||
|
m_scaledItem = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (copy.m_evolveInfo) {
|
||||||
m_evolveInfo = new EvolveInfo(*copy.m_evolveInfo);
|
m_evolveInfo = new EvolveInfo(*copy.m_evolveInfo);
|
||||||
else
|
} else {
|
||||||
m_evolveInfo = nullptr;
|
m_evolveInfo = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
m_scaling = copy.m_scaling;
|
m_scaling = copy.m_scaling;
|
||||||
m_ornamenticon = copy.m_ornamenticon;
|
m_ornamenticon = copy.m_ornamenticon;
|
||||||
@ -216,11 +228,13 @@ bool EQ::ItemInstance::IsType(item::ItemClass item_class) const
|
|||||||
// IsType(<ItemClassTypes>) does not protect against 'm_item = nullptr'
|
// IsType(<ItemClassTypes>) does not protect against 'm_item = nullptr'
|
||||||
|
|
||||||
// Check usage type
|
// Check usage type
|
||||||
if ((m_use_type == ItemInstWorldContainer) && (item_class == item::ItemClassBag))
|
if (m_use_type == ItemInstWorldContainer && item_class == item::ItemClassBag) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!m_item)
|
if (!m_item) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return (m_item->ItemClass == item_class);
|
return (m_item->ItemClass == item_class);
|
||||||
}
|
}
|
||||||
@ -243,21 +257,20 @@ bool EQ::ItemInstance::IsClassBook() const
|
|||||||
// Is item stackable?
|
// Is item stackable?
|
||||||
bool EQ::ItemInstance::IsStackable() const
|
bool EQ::ItemInstance::IsStackable() const
|
||||||
{
|
{
|
||||||
if (!m_item)
|
return (m_item && m_item->Stackable);
|
||||||
return false;
|
|
||||||
|
|
||||||
return m_item->Stackable;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EQ::ItemInstance::IsCharged() const
|
bool EQ::ItemInstance::IsCharged() const
|
||||||
{
|
{
|
||||||
if (!m_item)
|
if (!m_item) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (m_item->MaxCharges > 1)
|
if (m_item->MaxCharges > 1) {
|
||||||
return true;
|
return true;
|
||||||
else
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Can item be equipped?
|
// Can item be equipped?
|
||||||
@ -306,28 +319,32 @@ bool EQ::ItemInstance::IsEquipable(int16 slot_id) const
|
|||||||
|
|
||||||
bool EQ::ItemInstance::IsAugmentable() const
|
bool EQ::ItemInstance::IsAugmentable() const
|
||||||
{
|
{
|
||||||
if (!m_item)
|
if (!m_item) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
for (int index = invaug::SOCKET_BEGIN; index <= invaug::SOCKET_END; ++index) {
|
for (int index = invaug::SOCKET_BEGIN; index <= invaug::SOCKET_END; ++index) {
|
||||||
if (m_item->AugSlotType[index] != 0)
|
if (m_item->AugSlotType[index] != 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool EQ::ItemInstance::AvailableWearSlot(uint32 aug_wear_slots) const {
|
bool EQ::ItemInstance::AvailableWearSlot(uint32 aug_wear_slots) const {
|
||||||
if (!m_item || !m_item->IsClassCommon())
|
if (!m_item || !m_item->IsClassCommon()) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
int index = invslot::EQUIPMENT_BEGIN;
|
int index = invslot::EQUIPMENT_BEGIN;
|
||||||
for (; index <= invslot::EQUIPMENT_END; ++index) {
|
for (; index <= invslot::EQUIPMENT_END; ++index) {
|
||||||
if (m_item->Slots & (1 << index)) {
|
if (m_item->Slots & (1 << index)) {
|
||||||
if (aug_wear_slots & (1 << index))
|
if (aug_wear_slots & (1 << index)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (index <= EQ::invslot::EQUIPMENT_END);
|
return (index <= EQ::invslot::EQUIPMENT_END);
|
||||||
}
|
}
|
||||||
@ -394,9 +411,10 @@ EQ::ItemInstance* EQ::ItemInstance::GetItem(uint8 index) const
|
|||||||
|
|
||||||
uint32 EQ::ItemInstance::GetItemID(uint8 slot) const
|
uint32 EQ::ItemInstance::GetItemID(uint8 slot) const
|
||||||
{
|
{
|
||||||
ItemInstance *item = GetItem(slot);
|
const auto item = GetItem(slot);
|
||||||
if (item)
|
if (item) {
|
||||||
return item->GetID();
|
return item->GetID();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -520,14 +538,21 @@ uint8 EQ::ItemInstance::FirstOpenSlot() const
|
|||||||
|
|
||||||
uint8 EQ::ItemInstance::GetTotalItemCount() const
|
uint8 EQ::ItemInstance::GetTotalItemCount() const
|
||||||
{
|
{
|
||||||
if (!m_item)
|
if (!m_item) {
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
uint8 item_count = 1;
|
uint8 item_count = 1;
|
||||||
|
|
||||||
if (m_item && !m_item->IsClassBag()) { return item_count; }
|
if (!m_item->IsClassBag()) {
|
||||||
|
return item_count;
|
||||||
|
}
|
||||||
|
|
||||||
for (int index = invbag::SLOT_BEGIN; index < m_item->BagSlots; ++index) { if (GetItem(index)) { ++item_count; } }
|
for (int index = invbag::SLOT_BEGIN; index < m_item->BagSlots; ++index) {
|
||||||
|
if (GetItem(index)) {
|
||||||
|
++item_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return item_count;
|
return item_count;
|
||||||
}
|
}
|
||||||
@ -940,8 +965,9 @@ bool EQ::ItemInstance::IsDroppable(bool recurse) const
|
|||||||
|
|
||||||
void EQ::ItemInstance::Initialize(SharedDatabase *db) {
|
void EQ::ItemInstance::Initialize(SharedDatabase *db) {
|
||||||
// if there's no actual item, don't do anything
|
// if there's no actual item, don't do anything
|
||||||
if (!m_item)
|
if (!m_item) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// initialize scaling items
|
// initialize scaling items
|
||||||
if (m_item->CharmFileID != 0) {
|
if (m_item->CharmFileID != 0) {
|
||||||
@ -950,7 +976,7 @@ void EQ::ItemInstance::Initialize(SharedDatabase *db) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// initialize evolving items
|
// initialize evolving items
|
||||||
else if ((db) && m_item->LoreGroup >= 1000 && m_item->LoreGroup != -1) {
|
else if (db && m_item->LoreGroup >= 1000) {
|
||||||
// not complete yet
|
// not complete yet
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user