/* EQEMu: Everquest Server Emulator Copyright (C) 2001-2014 EQEMu Development Team (http://eqemulator.net) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY except by those people which sell it, which are required to give you total support for your newly bought product; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef EQ_DICTIONARY_H #define EQ_DICTIONARY_H #include "types.h" #include "eq_constants.h" #include "clientversions.h" #include #include "../common/patches/client62_constants.h" #include "../common/patches/titanium_constants.h" #include "../common/patches/sof_constants.h" #include "../common/patches/sod_constants.h" #include "../common/patches/underfoot_constants.h" #include "../common/patches/rof_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) class EmuConstants { // an immutable value is required to initialize arrays, etc... use this class as a repository for those public: // database static const EQClientVersion CHARACTER_CREATION_CLIENT = EQClientRoF; // adjust according to starting item placement and target client // inventory static uint16 InventoryMapSize(int16 map); //static std::string InventoryLocationName(Location_Struct location); static std::string InventoryMapName(int16 map); static std::string InventoryMainName(int16 main); static std::string InventorySubName(int16 sub); 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_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,