Updated/activated EQDictionary code to use the new possessions enumeration

This commit is contained in:
Uleat 2014-10-10 04:26:54 -04:00
parent 66cfb2e32b
commit ad3d065225
10 changed files with 277 additions and 311 deletions

View File

@ -216,6 +216,7 @@ SET(common_headers
patches/rof_itemfields.h
patches/rof_ops.h
patches/rof_structs.h
patches/rof2_constants.h
patches/titanium.h
patches/titanium_constants.h
patches/titanium_itemfields.h
@ -268,6 +269,7 @@ SOURCE_GROUP(Patches FILES
patches/rof_itemfields.h
patches/rof_ops.h
patches/rof_constants.h
patches/rof2_constants.h
patches/rof_structs.h
patches/titanium.h
patches/titanium_itemfields.h

View File

@ -810,77 +810,12 @@ enum MaterialUseSlots : uint8
**
*/
enum InventoryMapTypes : int16 {
MapPossessions = 0,
MapBank,
MapSharedBank,
MapTrade,
MapWorld,
MapLimbo,
MapTribute,
MapTrophyTribute,
MapGuildTribute,
MapMerchant,
MapDeleted,
MapCorpse,
MapBazaar,
MapInspect,
MapRealEstate,
MapViewMODPC,
MapViewMODBank,
MapViewMODSharedBank,
MapViewMODLimbo,
MapAltStorage,
MapArchived,
MapMail,
MapGuildTrophyTribute,
MapKrono,
MapOther,
_MapCount
};
enum InventoryMainTypes : int16 {
MainCharm = 0,
MainEar1,
MainHead,
MainFace,
MainEar2,
MainNeck,
MainShoulders,
MainArms,
MainBack,
MainWrist1,
MainWrist2,
MainRange,
MainHands,
MainPrimary,
MainSecondary,
MainFinger1,
MainFinger2,
MainChest,
MainLegs,
MainFeet,
MainWaist,
MainPowerSource = 9999, // temp
MainAmmo = 21, // temp
MainGeneral1,
MainGeneral2,
MainGeneral3,
MainGeneral4,
MainGeneral5,
MainGeneral6,
MainGeneral7,
MainGeneral8,
//MainGeneral9,
//MainGeneral10,
MainCursor,
_MainCount
};
#define INVALID_INDEX -1
#define NOT_USED 0
#define NO_ITEM 0
#define DB_ITEM_CONTAINER_SIZE 255 // probably need to move to database.h
// yes..these are redundant... but, they help to identify and define what is actually being performed
// plus, since they're pre-op's, they don't affect the actual binary size
#define MAP_BEGIN 0

View File

@ -216,12 +216,10 @@ std::string EmuConstants::InventoryMainName(int16 main) {
return "General 7";
case MainGeneral8:
return "General 8";
/*
case MainGeneral9:
return "General 9";
case MainGeneral10:
return "General 10";
*/
case MainCursor:
return "Cursor";
default:
@ -517,7 +515,7 @@ EQClientVersion EQLimits::ValidateMobVersion(EQClientVersion version) {
// inventory
uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
// not all maps will have an instantiated container..some are references for queue generators (i.e., bazaar, mail, etc...)
// a zero '0' indicates a needed value..otherwise, change to '_NOTUSED' for a null value so indices requiring research can be identified
// a zero '0' indicates a needed value..otherwise, change to 'NOT_USED' for a null value so indices requiring research can be identified
// ALL of these values need to be verified before pushing to live
//
// make sure that you transcribe the actual value from 'defaults' to here before updating or client crashes will ensue..and/or...
@ -586,10 +584,10 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
/*RoF*/ EmuConstants::MAP_TRADE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 4,
/*Merc*/ 4,
/*NPC*/ EmuConstants::TRADE_NPC_SIZE,
/*Merc*/ EmuConstants::TRADE_NPC_SIZE,
/*Bot*/ EmuConstants::MAP_TRADE_SIZE, // client thinks this is another client
/*Pet*/ 4
/*Pet*/ EmuConstants::TRADE_NPC_SIZE
},
{ // local[MapWorld]
/*Unknown*/ NOT_USED,
@ -631,70 +629,70 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
/*RoF*/ EmuConstants::MAP_TRIBUTE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapTrophyTribute]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*Titanium*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*SoF*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*SoD*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*Underfoot*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*RoF*/ EmuConstants::MAP_TROPHY_TRIBUTE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapGuildTribute]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*Titanium*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*SoF*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*SoD*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*Underfoot*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*RoF*/ EmuConstants::MAP_GUILD_TRIBUTE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapMerchant]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_MERCHANT_SIZE,
/*Titanium*/ EmuConstants::MAP_MERCHANT_SIZE,
/*SoF*/ EmuConstants::MAP_MERCHANT_SIZE,
/*SoD*/ EmuConstants::MAP_MERCHANT_SIZE,
/*Underfoot*/ EmuConstants::MAP_MERCHANT_SIZE,
/*RoF*/ EmuConstants::MAP_MERCHANT_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapDeleted]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_DELETED_SIZE,
/*Titanium*/ EmuConstants::MAP_DELETED_SIZE,
/*SoF*/ EmuConstants::MAP_DELETED_SIZE,
/*SoD*/ EmuConstants::MAP_DELETED_SIZE,
/*Underfoot*/ EmuConstants::MAP_DELETED_SIZE,
/*RoF*/ EmuConstants::MAP_DELETED_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapCorpse]
/*Unknown*/ NOT_USED,
@ -703,13 +701,13 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
/*SoF*/ SoF::consts::MAP_CORPSE_SIZE,
/*SoD*/ SoD::consts::MAP_CORPSE_SIZE,
/*Underfoot*/ Underfoot::consts::MAP_CORPSE_SIZE,
/*RoF*/ RoF::consts::MAP_CORPSE_SIZE,
/*RoF*/ EmuConstants::MAP_CORPSE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ EmuConstants::MAP_CORPSE_SIZE,
/*Merc*/ EmuConstants::MAP_CORPSE_SIZE,
/*Bot*/ EmuConstants::MAP_CORPSE_SIZE,
/*Pet*/ EmuConstants::MAP_CORPSE_SIZE
},
{ // local[MapBazaar]
/*Unknown*/ NOT_USED,
@ -721,19 +719,19 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
/*RoF*/ EmuConstants::MAP_BAZAAR_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0, // this may need to be 'EmuConstants::MAP_BAZAAR_SIZE' if offline client traders respawn as an npc
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED, // this may need to be 'EmuConstants::MAP_BAZAAR_SIZE' if offline client traders respawn as an npc
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapInspect]
/*Unknown*/ NOT_USED,
/*62*/ Client62::consts::MAP_INSPECT_SIZE,
/*Titanium*/ Titanium::consts::MAP_INSPECT_SIZE,
/*SoF*/ SoF::consts::MAP_INSPECT_SIZE,
/*SoD*/ SoD::consts::MAP_INSPECT_SIZE,
/*Underfoot*/ Underfoot::consts::MAP_INSPECT_SIZE,
/*RoF*/ RoF::consts::MAP_INSPECT_SIZE,
/*SoF*/ EmuConstants::MAP_INSPECT_SIZE,
/*SoD*/ EmuConstants::MAP_INSPECT_SIZE,
/*Underfoot*/ EmuConstants::MAP_INSPECT_SIZE,
/*RoF*/ EmuConstants::MAP_INSPECT_SIZE,
/*RoF2*/ 0,
/*NPC*/ NOT_USED,
@ -743,168 +741,168 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
},
{ // local[MapRealEstate]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*Titanium*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*SoF*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*SoD*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*Underfoot*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*RoF*/ EmuConstants::MAP_REAL_ESTATE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapViewMODPC]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*Titanium*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*SoF*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*SoD*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*Underfoot*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*RoF*/ EmuConstants::MAP_VIEW_MOD_PC_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapViewMODBank]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*Titanium*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*SoF*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*SoD*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*Underfoot*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*RoF*/ EmuConstants::MAP_VIEW_MOD_BANK_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapViewMODSharedBank]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*Titanium*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*SoF*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*SoD*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*Underfoot*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*RoF*/ EmuConstants::MAP_VIEW_MOD_SHARED_BANK_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapViewMODLimbo]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*Titanium*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*SoF*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*SoD*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*Underfoot*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*RoF*/ EmuConstants::MAP_VIEW_MOD_LIMBO_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapAltStorage]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*Titanium*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*SoF*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*SoD*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*Underfoot*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*RoF*/ EmuConstants::MAP_ALT_STORAGE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapArchived]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*Titanium*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*SoF*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*SoD*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*Underfoot*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*RoF*/ EmuConstants::MAP_ARCHIVED_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapMail]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_MAIL_SIZE,
/*Titanium*/ EmuConstants::MAP_MAIL_SIZE,
/*SoF*/ EmuConstants::MAP_MAIL_SIZE,
/*SoD*/ EmuConstants::MAP_MAIL_SIZE,
/*Underfoot*/ EmuConstants::MAP_MAIL_SIZE,
/*RoF*/ EmuConstants::MAP_MAIL_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapGuildTrophyTribute]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*Titanium*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*SoF*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*SoD*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*Underfoot*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*RoF*/ EmuConstants::MAP_GUILD_TROPHY_TRIBUTE_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapKrono]
/*Unknown*/ NOT_USED,
/*62*/ NOT_USED,
/*Titanium*/ NOT_USED,
/*SoF*/ NOT_USED,
/*SoD*/ NOT_USED,
/*Underfoot*/ NOT_USED,
/*62*/ Client62::consts::MAP_KRONO_SIZE,
/*Titanium*/ Titanium::consts::MAP_KRONO_SIZE,
/*SoF*/ SoF::consts::MAP_KRONO_SIZE,
/*SoD*/ SoD::consts::MAP_KRONO_SIZE,
/*Underfoot*/ Underfoot::consts::MAP_KRONO_SIZE,
/*RoF*/ EmuConstants::MAP_KRONO_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
},
{ // local[MapOther]
/*Unknown*/ NOT_USED,
/*62*/ 0,
/*Titanium*/ 0,
/*SoF*/ 0,
/*SoD*/ 0,
/*Underfoot*/ 0,
/*62*/ EmuConstants::MAP_OTHER_SIZE,
/*Titanium*/ EmuConstants::MAP_OTHER_SIZE,
/*SoF*/ EmuConstants::MAP_OTHER_SIZE,
/*SoD*/ EmuConstants::MAP_OTHER_SIZE,
/*Underfoot*/ EmuConstants::MAP_OTHER_SIZE,
/*RoF*/ EmuConstants::MAP_OTHER_SIZE,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
}
};
@ -915,7 +913,6 @@ uint16 EQLimits::InventoryMapSize(int16 map, uint32 version) {
}
uint64 EQLimits::PossessionsBitmask(uint32 version) {
// these are for the new inventory system (RoF)..not the current (Ti) one...
// 0x0000000000200000 is SlotPowerSource (SoF+)
// 0x0000000080000000 is SlotGeneral9 (RoF+)
// 0x0000000100000000 is SlotGeneral10 (RoF+)
@ -930,14 +927,13 @@ uint64 EQLimits::PossessionsBitmask(uint32 version) {
/*RoF*/ 0x00000003FFFFFFFF,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ 0x00000000007FFFFF, // limited to equipment slots..for the time being
/*Merc*/ 0x00000000007FFFFF,
/*Bot*/ 0x00000000007FFFFF,
/*Pet*/ 0x00000000007FFFFF
};
return NOT_USED;
//return local[ValidateMobVersion(version)];
return local[ValidateMobVersion(version)];
}
uint64 EQLimits::EquipmentBitmask(uint32 version) {
@ -951,14 +947,13 @@ uint64 EQLimits::EquipmentBitmask(uint32 version) {
/*RoF*/ 0x00000000007FFFFF,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ 0x00000000007FFFFF,
/*Merc*/ 0x00000000007FFFFF,
/*Bot*/ 0x00000000007FFFFF,
/*Pet*/ 0x00000000007FFFFF
};
return NOT_USED;
//return local[ValidateMobVersion(version)];
return local[ValidateMobVersion(version)];
}
uint64 EQLimits::GeneralBitmask(uint32 version) {
@ -972,14 +967,13 @@ uint64 EQLimits::GeneralBitmask(uint32 version) {
/*RoF*/ 0x00000001FF800000,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
};
return NOT_USED;
//return local[ValidateMobVersion(version)];
return local[ValidateMobVersion(version)];
}
uint64 EQLimits::CursorBitmask(uint32 version) {
@ -993,14 +987,13 @@ uint64 EQLimits::CursorBitmask(uint32 version) {
/*RoF*/ 0x0000000200000000,
/*RoF2*/ 0,
/*NPC*/ 0,
/*Merc*/ 0,
/*Bot*/ 0,
/*Pet*/ 0
/*NPC*/ NOT_USED,
/*Merc*/ NOT_USED,
/*Bot*/ NOT_USED,
/*Pet*/ NOT_USED
};
return NOT_USED;
//return local[ValidateMobVersion(version)];
return local[ValidateMobVersion(version)];
}
bool EQLimits::AllowsEmptyBagInBag(uint32 version) {
@ -1020,8 +1013,7 @@ bool EQLimits::AllowsEmptyBagInBag(uint32 version) {
/*Pet*/ false
};
return false; // not implemented
//return local[ValidateMobVersion(version)];
return local[ValidateMobVersion(version)];
}
bool EQLimits::AllowsClickCastFromBag(uint32 version) {

View File

@ -32,16 +32,15 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "../common/patches/sod_constants.h"
#include "../common/patches/underfoot_constants.h"
#include "../common/patches/rof_constants.h"
//#include "../common/patches/rof2_constants.h"
#include "../common/patches/rof2_constants.h"
// *** DO NOT CHANGE without a full understanding of the consequences..the server is set up to use these settings explicitly!! ***
// *** You will cause compilation failures and corrupt your database if partial or incorrect attempts to change them are made!! ***
// Hard-coded values usually indicate that further research is needed and the values given are from the old (known) system
// (future use)
//using namespace RoF2::maps; // server inventory maps enumeration (code and database sync'd to reference)
//using namespace RoF::slots; // server possessions slots enumeration (code and database sync'd to reference)
using namespace RoF2::maps; // server inventory maps enumeration (code and database sync'd to reference)
using namespace RoF2::slots; // server possessions slots enumeration (code and database sync'd to reference)
class EmuConstants {
// an immutable value is required to initialize arrays, etc... use this class as a repository for those
@ -58,20 +57,20 @@ public:
static std::string InventoryAugName(int16 aug);
// these are currently hard-coded for existing inventory system..do not use in place of special client version handlers until ready
static const uint16 MAP_POSSESSIONS_SIZE = _MainCount;
static const uint16 MAP_BANK_SIZE = 24;
static const uint16 MAP_SHARED_BANK_SIZE = 2;
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 5; // (need client values)
static const uint16 MAP_POSSESSIONS_SIZE = RoF2::consts::MAP_POSSESSIONS_SIZE;
static const uint16 MAP_BANK_SIZE = RoF2::consts::MAP_BANK_SIZE;
static const uint16 MAP_SHARED_BANK_SIZE = RoF2::consts::MAP_SHARED_BANK_SIZE;
static const uint16 MAP_TRADE_SIZE = RoF2::consts::MAP_TRADE_SIZE;
static const uint16 MAP_WORLD_SIZE = RoF2::consts::MAP_WORLD_SIZE;
static const uint16 MAP_LIMBO_SIZE = RoF2::consts::MAP_LIMBO_SIZE;
static const uint16 MAP_TRIBUTE_SIZE = Titanium::consts::MAP_TRIBUTE_SIZE; // server is setup for 'presumed' Titanium value of 5..if Titanium::consts is changed, hard-code this to '5' until server/db is updated
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
static const uint16 MAP_DELETED_SIZE = 0;
static const uint16 MAP_CORPSE_SIZE = _MainCount; // no bitmask use..limits to size of client corpse window (see EQLimits::InventoryMapSize(MapCorpse, <EQClientVersion))
static const uint16 MAP_BAZAAR_SIZE = 80;
static const uint16 MAP_INSPECT_SIZE = 22;
static const uint16 MAP_CORPSE_SIZE = RoF2::consts::MAP_CORPSE_SIZE; // no bitmask use..limits to size of client corpse window (see EQLimits::InventoryMapSize(MapCorpse, <EQClientVersion))
static const uint16 MAP_BAZAAR_SIZE = Titanium::consts::MAP_BAZAAR_SIZE;
static const uint16 MAP_INSPECT_SIZE = RoF2::consts::MAP_INSPECT_SIZE;
static const uint16 MAP_REAL_ESTATE_SIZE = 0;
static const uint16 MAP_VIEW_MOD_PC_SIZE = NOT_USED;
static const uint16 MAP_VIEW_MOD_BANK_SIZE = NOT_USED;
@ -81,60 +80,61 @@ public:
static const uint16 MAP_ARCHIVED_SIZE = 0;
static const uint16 MAP_MAIL_SIZE = 0;
static const uint16 MAP_GUILD_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_KRONO_SIZE = 0;
static const uint16 MAP_KRONO_SIZE = RoF::consts::MAP_KRONO_SIZE;
static const uint16 MAP_OTHER_SIZE = 0;
// most of these definitions will go away with the structure-based system..this maintains compatibility for now
// (these are mainly to assign specific values to constants used in conversions and to identify per-client ranges/offsets)
static const int16 EQUIPMENT_BEGIN = MainCharm;
static const int16 EQUIPMENT_END = MainAmmo;
static const uint16 EQUIPMENT_SIZE = 22; // does not account for 'Power Source' - used mainly for npc equipment arrays
static const int16 EQUIPMENT_BEGIN = RoF2::consts::EQUIPMENT_BEGIN;
static const int16 EQUIPMENT_END = RoF2::consts::EQUIPMENT_END;
static const uint16 EQUIPMENT_SIZE = RoF2::consts::EQUIPMENT_SIZE;
static const int16 GENERAL_BEGIN = MainGeneral1;
static const int16 GENERAL_END = MainGeneral8;
static const uint16 GENERAL_SIZE = 8;
static const int16 GENERAL_BAGS_BEGIN = 251;
static const int16 GENERAL_BAGS_END_OFFSET = 79;
static const int16 GENERAL_BAGS_END = GENERAL_BAGS_BEGIN + GENERAL_BAGS_END_OFFSET;
static const int16 GENERAL_BEGIN = RoF2::consts::GENERAL_BEGIN;
static const int16 GENERAL_END = RoF2::consts::GENERAL_END;
static const uint16 GENERAL_SIZE = RoF2::consts::GENERAL_SIZE;
static const int16 GENERAL_BAGS_BEGIN = RoF2::consts::GENERAL_BAGS_BEGIN;
static const int16 GENERAL_BAGS_END_OFFSET = RoF2::consts::GENERAL_BAGS_END_OFFSET;
static const int16 GENERAL_BAGS_END = RoF2::consts::GENERAL_BAGS_END;
static const int16 CURSOR_BAG_BEGIN = 331;
static const int16 CURSOR_BAG_END_OFFSET = 9;
static const int16 CURSOR_BAG_END = CURSOR_BAG_BEGIN + CURSOR_BAG_END_OFFSET;
static const int16 CURSOR_BAG_BEGIN = RoF2::consts::CURSOR_BAG_BEGIN;
static const int16 CURSOR_BAG_END_OFFSET = RoF2::consts::CURSOR_BAG_END_OFFSET;
static const int16 CURSOR_BAG_END = RoF2::consts::CURSOR_BAG_END;
static const int16 BANK_BEGIN = 2000;
static const int16 BANK_END = 2023;
static const int16 BANK_BAGS_BEGIN = 2031;
static const int16 BANK_BAGS_END_OFFSET = 239;
static const int16 BANK_BAGS_END = BANK_BAGS_BEGIN + BANK_BAGS_END_OFFSET;
static const int16 BANK_BEGIN = RoF2::consts::BANK_BEGIN;
static const int16 BANK_END = RoF2::consts::BANK_END;
static const int16 BANK_BAGS_BEGIN = RoF2::consts::BANK_BAGS_BEGIN;
static const int16 BANK_BAGS_END_OFFSET = RoF2::consts::BANK_BAGS_END_OFFSET;
static const int16 BANK_BAGS_END = RoF2::consts::BANK_BAGS_END;
static const int16 SHARED_BANK_BEGIN = 2500;
static const int16 SHARED_BANK_END = 2501;
static const int16 SHARED_BANK_BAGS_BEGIN = 2531;
static const int16 SHARED_BANK_BAGS_END_OFFSET = 19;
static const int16 SHARED_BANK_BAGS_END = SHARED_BANK_BAGS_BEGIN + SHARED_BANK_BAGS_END_OFFSET;
static const int16 SHARED_BANK_BEGIN = RoF2::consts::SHARED_BANK_BEGIN;
static const int16 SHARED_BANK_END = RoF2::consts::SHARED_BANK_END;
static const int16 SHARED_BANK_BAGS_BEGIN = RoF2::consts::SHARED_BANK_BAGS_BEGIN;
static const int16 SHARED_BANK_BAGS_END_OFFSET = RoF2::consts::SHARED_BANK_BAGS_END_OFFSET;
static const int16 SHARED_BANK_BAGS_END = RoF2::consts::SHARED_BANK_BAGS_END;
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
static const int16 TRADE_BEGIN = RoF2::consts::TRADE_BEGIN;
static const int16 TRADE_END = RoF2::consts::TRADE_END;
static const int16 TRADE_NPC_END = RoF2::consts::TRADE_NPC_END;
static const int16 TRADE_NPC_SIZE = RoF2::consts::TRADE_NPC_SIZE;
static const int16 TRADE_BAGS_BEGIN = RoF2::consts::TRADE_BAGS_BEGIN;
static const int16 TRADE_BAGS_END_OFFSET = RoF2::consts::TRADE_BAGS_END_OFFSET;
static const int16 TRADE_BAGS_END = RoF2::consts::TRADE_BAGS_END;
static const int16 WORLD_BEGIN = 4000;
static const int16 WORLD_END = 4009;
static const int16 WORLD_BEGIN = RoF2::consts::WORLD_BEGIN;
static const int16 WORLD_END = RoF2::consts::WORLD_END;
static const int16 WORLD_SIZE = MAP_WORLD_SIZE;
static const int16 TRIBUTE_BEGIN = 400;
static const int16 TRIBUTE_END = 404;
static const int16 TRIBUTE_BEGIN = RoF2::consts::TRIBUTE_BEGIN;
static const int16 TRIBUTE_END = RoF2::consts::TRIBUTE_END;
static const int16 TRIBUTE_SIZE = MAP_TRIBUTE_SIZE;
static const int16 CORPSE_BEGIN = 22;
//static const int16 CORPSE_END = RoF::consts::CORPSE_END; // not ready for use
static const int16 CORPSE_BEGIN = RoF2::consts::CORPSE_BEGIN;
static const int16 CORPSE_END = RoF2::consts::CORPSE_END;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const int16 MATERIAL_BEGIN = Underfoot::consts::MATERIAL_BEGIN;
static const int16 MATERIAL_END = Underfoot::consts::MATERIAL_END;
static const int16 MATERIAL_TINT_END = Underfoot::consts::MATERIAL_TINT_END;
static const int16 MATERIAL_SIZE = Underfoot::consts::MATERIAL_SIZE;
// items
// common and container sizes will not increase until the new 'location' struct is implemented

View File

@ -106,7 +106,7 @@ namespace Client62 {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -157,6 +157,7 @@ namespace Client62 {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -170,6 +171,11 @@ namespace Client62 {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;

View File

@ -108,7 +108,7 @@ namespace RoF {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -161,6 +161,7 @@ namespace RoF {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -174,6 +175,12 @@ namespace RoF {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
// RoF may have additional material slots based on observations in player profile - may need translators
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 6;
static const uint16 ITEM_CONTAINER_SIZE = 255; // 255; (server max will be 255..unsure what actual client is - test)

View File

@ -107,7 +107,7 @@ namespace SoD {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -158,6 +158,7 @@ namespace SoD {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -171,6 +172,11 @@ namespace SoD {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;

View File

@ -107,7 +107,7 @@ namespace SoF {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -158,6 +158,7 @@ namespace SoF {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -171,6 +172,11 @@ namespace SoF {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;

View File

@ -106,7 +106,7 @@ namespace Titanium {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -157,6 +157,7 @@ namespace Titanium {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -170,6 +171,11 @@ namespace Titanium {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;

View File

@ -107,7 +107,7 @@ namespace Underfoot {
static const uint16 MAP_TRADE_SIZE = 8;
static const uint16 MAP_WORLD_SIZE = 10;
static const uint16 MAP_LIMBO_SIZE = 36;
static const uint16 MAP_TRIBUTE_SIZE = 0; //?
static const uint16 MAP_TRIBUTE_SIZE = 5; // 5 until verified otherwise
static const uint16 MAP_TROPHY_TRIBUTE_SIZE = 0;
static const uint16 MAP_GUILD_TRIBUTE_SIZE = 0;
static const uint16 MAP_MERCHANT_SIZE = 0;
@ -158,6 +158,7 @@ namespace Underfoot {
static const int16 TRADE_BEGIN = 3000;
static const int16 TRADE_END = 3007;
static const int16 TRADE_NPC_END = 3003;
static const int16 TRADE_NPC_SIZE = 4;
static const int16 TRADE_BAGS_BEGIN = 3031;
static const int16 TRADE_BAGS_END_OFFSET = 79;
static const int16 TRADE_BAGS_END = TRADE_BAGS_BEGIN + TRADE_BAGS_END_OFFSET;
@ -171,6 +172,11 @@ namespace Underfoot {
static const int16 CORPSE_BEGIN = slots::MainGeneral1;
static const int16 CORPSE_END = slots::MainGeneral1 + slots::MainCursor;
static const int16 MATERIAL_BEGIN = MaterialHead;
static const int16 MATERIAL_END = MaterialSecondary;
static const int16 MATERIAL_TINT_END = MaterialFeet;
static const int16 MATERIAL_SIZE = _MaterialCount;
static const uint16 ITEM_COMMON_SIZE = 5;
static const uint16 ITEM_CONTAINER_SIZE = 10;