Split InventoryVersion::Pet into discrete sub-types

This commit is contained in:
Uleat 2016-06-04 07:04:31 -04:00
parent 51d8f00418
commit c29219f214
4 changed files with 170 additions and 35 deletions

View File

@ -54,7 +54,34 @@ namespace EntityLimits
} /*Bot*/
namespace Pet {
namespace ClientPet {
enum : int { Invalid = -1, Null, Safety };
enum : bool { False = false, True = true };
const size_t InvTypeTradeSize = 4;
} /*Pet*/
namespace NPCPet {
enum : int { Invalid = -1, Null, Safety };
enum : bool { False = false, True = true };
const size_t InvTypeTradeSize = 4;
} /*Pet*/
namespace MercPet {
enum : int { Invalid = -1, Null, Safety };
enum : bool { False = false, True = true };
const size_t InvTypeTradeSize = 4;
} /*Pet*/
namespace BotPet {
enum : int { Invalid = -1, Null, Safety };
enum : bool { False = false, True = true };

View File

@ -216,8 +216,14 @@ const char* EQEmu::versions::InventoryVersionName(InventoryVersion inventory_ver
return "Merc";
case InventoryVersion::Bot:
return "Bot";
case InventoryVersion::Pet:
return "Pet";
case InventoryVersion::ClientPet:
return "Client Pet";
case InventoryVersion::NPCPet:
return "NPC Pet";
case InventoryVersion::MercPet:
return "Merc Pet";
case InventoryVersion::BotPet:
return "Bot Pet";
case InventoryVersion::OfflineTitanium:
return "Offline Titanium";
case InventoryVersion::OfflineSoF:

View File

@ -86,7 +86,10 @@ namespace EQEmu
NPC,
Merc,
Bot,
Pet,
ClientPet,
NPCPet,
MercPet,
BotPet,
OfflineTitanium,
OfflineSoF,
OfflineSoD,
@ -97,7 +100,7 @@ namespace EQEmu
const InventoryVersion LastInventoryVersion = InventoryVersion::OfflineRoF2;
const InventoryVersion LastPCInventoryVersion = InventoryVersion::RoF2;
const InventoryVersion LastNonPCInventoryVersion = InventoryVersion::Pet;
const InventoryVersion LastNonPCInventoryVersion = InventoryVersion::BotPet;
const InventoryVersion LastOfflinePCInventoryVersion = InventoryVersion::OfflineRoF2;
const size_t InventoryVersionCount = (static_cast<size_t>(LastInventoryVersion) + 1);

View File

@ -53,6 +53,9 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
legacy::TYPE_POSSESSIONS_SIZE, //InvTypePossessionsSize,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -72,7 +75,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -92,7 +98,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -112,7 +121,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::InvTypeTradeSize,
EntityLimits::Merc::InvTypeTradeSize,
EntityLimits::Bot::InvTypeTradeSize, // client thinks this is another client
EntityLimits::Pet::InvTypeTradeSize,
EntityLimits::ClientPet::InvTypeTradeSize,
EntityLimits::NPCPet::InvTypeTradeSize,
EntityLimits::MercPet::InvTypeTradeSize,
EntityLimits::BotPet::InvTypeTradeSize,
Titanium::invtype::InvTypeTradeSize,
SoF::invtype::InvTypeTradeSize,
SoD::invtype::InvTypeTradeSize,
@ -132,7 +144,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -152,7 +167,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -172,7 +190,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -192,7 +213,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -212,7 +236,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -232,7 +259,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeMerchantSize,
SoF::invtype::InvTypeMerchantSize,
SoD::invtype::InvTypeMerchantSize,
@ -252,7 +282,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -272,7 +305,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null, //InvTypeCorpseSize,
EntityLimits::Merc::Null, //InvTypeCorpseSize,
EntityLimits::Bot::Null, //InvTypeCorpseSize,
EntityLimits::Pet::Null, //InvTypeCorpseSize,
EntityLimits::ClientPet::Null, //InvTypeCorpseSize,
EntityLimits::NPCPet::Null, //InvTypeCorpseSize,
EntityLimits::MercPet::Null, //InvTypeCorpseSize,
EntityLimits::BotPet::Null, //InvTypeCorpseSize,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -292,7 +328,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null, //Titanium::invtype::InvTypeBazaarSize,
SoF::Null, //SoF::invtype::InvTypeBazaarSize,
SoD::Null, //SoD::invtype::InvTypeBazaarSize,
@ -312,7 +351,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeInspectSize,
SoF::invtype::InvTypeInspectSize,
SoD::invtype::InvTypeInspectSize,
@ -332,7 +374,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -352,7 +397,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeViewMODPCSize,
SoF::invtype::InvTypeViewMODPCSize,
SoD::invtype::InvTypeViewMODPCSize,
@ -372,7 +420,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeViewMODBankSize,
SoF::invtype::InvTypeViewMODBankSize,
SoD::invtype::InvTypeViewMODBankSize,
@ -392,7 +443,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeViewMODSharedBankSize,
SoF::invtype::InvTypeViewMODSharedBankSize,
SoD::invtype::InvTypeViewMODSharedBankSize,
@ -412,7 +466,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::invtype::InvTypeViewMODLimboSize,
SoF::invtype::InvTypeViewMODLimboSize,
SoD::invtype::InvTypeViewMODLimboSize,
@ -432,7 +489,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -452,7 +512,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -472,7 +535,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -492,7 +558,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -512,7 +581,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -532,7 +604,10 @@ size_t EQEmu::inventory::GetInventoryTypeSize(versions::InventoryVersion invento
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -562,7 +637,10 @@ uint64 EQEmu::inventory::GetPossessionsBitmask(versions::InventoryVersion invent
EntityLimits::NPC::Null,
EntityLimits::Merc::Null,
EntityLimits::Bot::Null,
EntityLimits::Pet::Null,
EntityLimits::ClientPet::Null,
EntityLimits::NPCPet::Null,
EntityLimits::MercPet::Null,
EntityLimits::BotPet::Null,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -588,7 +666,10 @@ bool EQEmu::inventory::GetAllowEmptyBagInBag(versions::InventoryVersion inventor
EntityLimits::NPC::False,
EntityLimits::Merc::False,
EntityLimits::Bot::False,
EntityLimits::Pet::False,
EntityLimits::ClientPet::False,
EntityLimits::NPCPet::False,
EntityLimits::MercPet::False,
EntityLimits::BotPet::False,
Titanium::False,
SoF::False,
SoD::False,
@ -614,7 +695,10 @@ bool EQEmu::inventory::GetAllowClickCastFromBag(versions::InventoryVersion inven
EntityLimits::NPC::False,
EntityLimits::Merc::False,
EntityLimits::Bot::False,
EntityLimits::Pet::False,
EntityLimits::ClientPet::False,
EntityLimits::NPCPet::False,
EntityLimits::MercPet::False,
EntityLimits::BotPet::False,
Titanium::False,
SoF::False,
SoD::False,
@ -640,7 +724,10 @@ bool EQEmu::inventory::GetConcatenateInvTypeLimbo(versions::InventoryVersion inv
EntityLimits::NPC::False,
EntityLimits::Merc::False,
EntityLimits::Bot::False,
EntityLimits::Pet::False,
EntityLimits::ClientPet::False,
EntityLimits::NPCPet::False,
EntityLimits::MercPet::False,
EntityLimits::BotPet::False,
Titanium::False,
SoF::False,
SoD::False,
@ -666,7 +753,10 @@ bool EQEmu::inventory::GetAllowOverLevelEquipment(versions::InventoryVersion inv
EntityLimits::NPC::False,
EntityLimits::Merc::False,
EntityLimits::Bot::False,
EntityLimits::Pet::False,
EntityLimits::ClientPet::False,
EntityLimits::NPCPet::False,
EntityLimits::MercPet::False,
EntityLimits::BotPet::False,
Titanium::False,
SoF::False,
SoD::False,
@ -693,6 +783,9 @@ size_t EQEmu::inventory::GetItemAugSize(versions::InventoryVersion inventory_ver
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
legacy::ITEM_COMMON_SIZE, //ItemAugSize,
Titanium::Null,
SoF::Null,
SoD::Null,
@ -719,6 +812,9 @@ size_t EQEmu::inventory::GetItemBagSize(versions::InventoryVersion inventory_ver
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //ItemBagSize,
legacy::ITEM_CONTAINER_SIZE, //Titanium::Null,
legacy::ITEM_CONTAINER_SIZE, //SoF::Null,
legacy::ITEM_CONTAINER_SIZE, //SoD::Null,
@ -744,7 +840,10 @@ bool EQEmu::behavior::GetCoinHasWeight(versions::InventoryVersion inventory_vers
EntityLimits::NPC::True, //CoinHasWeight,
EntityLimits::Merc::True, //CoinHasWeight,
EntityLimits::Bot::True, //CoinHasWeight,
EntityLimits::Pet::True, //CoinHasWeight,
EntityLimits::ClientPet::True, //CoinHasWeight,
EntityLimits::NPCPet::True, //CoinHasWeight,
EntityLimits::MercPet::True, //CoinHasWeight,
EntityLimits::BotPet::True, //CoinHasWeight,
Titanium::False,
SoF::False,
SoD::False,