Beispiel #1
0
uint32 EQLimits::PotionBeltSize(uint32 version) {
	static const uint32 local[_EmuClientCount] = {
		/*Unknown*/		NOT_USED,
		/*Mac*/			NOT_USED,
		/*Evolution*/	0,

		/*NPC*/			NOT_USED,
		/*Pet*/			NOT_USED
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #2
0
bool EQLimits::CoinHasWeight(uint32 version) {
	static const bool local[_EmuClientCount] = {
		/*Unknown*/		true,
		/*Mac*/			MAC::limits::COIN_HAS_WEIGHT,
		/*Evolution*/	true,

		/*NPC*/			true,
		/*Pet*/			true
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #3
0
uint32 EQLimits::BandolierSize(uint32 version) {
	static const uint32 local[_EmuClientCount] = {
		/*Unknown*/		NOT_USED,
		/*Mac*/			EmuConstants::BANDOLIER_SIZE,
		/*Evolution*/	0,

		/*NPC*/			NOT_USED,
		/*Pet*/			NOT_USED
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #4
0
uint16 EQLimits::ItemContainerSize(uint32 version) {
	static const uint16 local[_EmuClientCount] = {
		/*Unknown*/		NOT_USED,
		/*Mac*/			EmuConstants::ITEM_CONTAINER_SIZE,
		/*Evolution*/	0,

		/*NPC*/			EmuConstants::ITEM_CONTAINER_SIZE,
		/*Pet*/			EmuConstants::ITEM_CONTAINER_SIZE
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #5
0
bool EQLimits::AllowsClickCastFromBag(uint32 version) {
	static const bool local[_EmuClientCount] = {
/*Unknown*/		false,
/*Unused*/		false,
/*Mac*/			MAC::limits::ALLOWS_CLICK_CAST_FROM_BAG,
/*Evolution*/	false,

/*NPC*/			false,
/*Pet*/			false
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #6
0
uint32 EQLimits::PotionBeltSize(uint32 version) {
	static const uint32 local[_EmuClientCount] = {
/*Unknown*/		NOT_USED,
/*62*/			EmuConstants::POTION_BELT_SIZE,
/*Titanium*/	EmuConstants::POTION_BELT_SIZE,
/*SoF*/			EmuConstants::POTION_BELT_SIZE,
/*SoD*/			EmuConstants::POTION_BELT_SIZE,
/*Underfoot*/	EmuConstants::POTION_BELT_SIZE,
/*RoF*/			EmuConstants::POTION_BELT_SIZE,
/*RoF2*/		0,

/*NPC*/			NOT_USED,
/*Merc*/		NOT_USED,
/*Bot*/			NOT_USED,
/*Pet*/			NOT_USED
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #7
0
uint32 EQLimits::BandoliersCount(uint32 version) {
	static const uint32 local[_EmuClientCount] = {
/*Unknown*/		NOT_USED,
/*62*/			EmuConstants::BANDOLIERS_COUNT,
/*Titanium*/	EmuConstants::BANDOLIERS_COUNT,
/*SoF*/			EmuConstants::BANDOLIERS_COUNT,
/*SoD*/			EmuConstants::BANDOLIERS_COUNT,
/*Underfoot*/	EmuConstants::BANDOLIERS_COUNT,
/*RoF*/			EmuConstants::BANDOLIERS_COUNT,
/*RoF2*/		0,

/*NPC*/			NOT_USED,
/*Merc*/		NOT_USED,
/*Bot*/			NOT_USED,
/*Pet*/			NOT_USED
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #8
0
bool EQLimits::CoinHasWeight(uint32 version) {
	static const bool local[_EmuClientCount] = {
/*Unknown*/		true,
/*62*/			Client62::limits::COIN_HAS_WEIGHT,
/*Titanium*/	Titanium::limits::COIN_HAS_WEIGHT,
/*SoF*/			SoF::limits::COIN_HAS_WEIGHT,
/*SoD*/			SoD::limits::COIN_HAS_WEIGHT,
/*Underfoot*/	Underfoot::limits::COIN_HAS_WEIGHT,
/*RoF*/			RoF::limits::COIN_HAS_WEIGHT,
/*RoF2*/		true,

/*NPC*/			true,
/*Merc*/		true,
/*Bot*/			true,
/*Pet*/			true
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #9
0
uint16 EQLimits::ItemContainerSize(uint32 version) {
	static const uint16 local[_EmuClientCount] = {
/*Unknown*/		NOT_USED,
/*62*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*Titanium*/	EmuConstants::ITEM_CONTAINER_SIZE,
/*SoF*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*SoD*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*Underfoot*/	EmuConstants::ITEM_CONTAINER_SIZE,
/*RoF*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*RoF2*/		0,

/*NPC*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*Merc*/		EmuConstants::ITEM_CONTAINER_SIZE,
/*Bot*/			EmuConstants::ITEM_CONTAINER_SIZE,
/*Pet*/			EmuConstants::ITEM_CONTAINER_SIZE
	};

	return local[ValidateMobVersion(version)];
}
Beispiel #10
0
// 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
	// 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...
	// insert older clients inside of the progression of client order
	//
	// MAP_POSSESSIONS_SIZE does not reflect all actual <client>_constants size due to bitmask-use compatibility
	//
	// when setting NPC-based values, try to adhere to an EmuConstants::<property> or NOT_USED value to avoid unnecessary issues

	static const uint16 local[_MapCount][_EmuClientCount] = {
		// server and database are sync'd to current MapPossessions's client as set in 'using namespace RoF::slots;' and
		// 'EmuConstants::MAP_POSSESSIONS_SIZE' - use/update EquipmentBitmask(), GeneralBitmask() and CursorBitmask()
		// for partial range validation checks and 'EmuConstants::MAP_POSSESSIONS_SIZE' for full range iterations
		{ // local[MainPossessions]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			EmuConstants::MAP_POSSESSIONS_SIZE,
/*evolution*/	0,


/*NPC*/			EmuConstants::MAP_POSSESSIONS_SIZE,
/*Pet*/			EmuConstants::MAP_POSSESSIONS_SIZE
		},
		{ // local[MapBank]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			MAC::consts::MAP_BANK_SIZE,
/*evolution*/	0,

/*NPC*/			NOT_USED,
/*Pet*/			NOT_USED
		},
		{ // local[MapUnused]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	NOT_USED,

/*NPC*/			NOT_USED,
/*Pet*/			NOT_USED
		},
		{ // local[MapTrade]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			EmuConstants::MAP_TRADE_SIZE,
/*evolution*/	0,

/*NPC*/			4,
/*Pet*/			4
		},
		{ // local[MapWorld]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			EmuConstants::MAP_WORLD_SIZE,
/*evolution*/	NOT_USED,

/*NPC*/			NOT_USED,
/*Pet*/			NOT_USED
		},
		{ // local[MapLimbo]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			EmuConstants::MAP_LIMBO_SIZE,
/*evolution*/	NOT_USED,

/*NPC*/			NOT_USED,
/*Pet*/			NOT_USED
		},
		{ // local[MapTribute]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	NOT_USED,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapTrophyTribute]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	NOT_USED,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapGuildTribute]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	NOT_USED,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapMerchant]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapDeleted]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapCorpse]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			MAC::consts::MAP_CORPSE_SIZE,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapBazaar]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			EmuConstants::MAP_BAZAAR_SIZE,
/*evolution*/	0,

/*NPC*/			0, // this may need to be 'EmuConstants::MAP_BAZAAR_SIZE' if offline client traders respawn as an npc
/*Pet*/			0
		},
		{ // local[MapInspect]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			MAC::consts::MAP_INSPECT_SIZE,
/*evolution*/	0,

/*NPC*/			NOT_USED,
/*Pet*/			NOT_USED
		},
		{ // local[MapRealEstate]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapViewMODPC]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapViewMODBank]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapViewMODUnused]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapViewMODLimbo]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapAltStorage]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapArchived]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapMail]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapGuildTrophyTribute]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapKrono]
/*Unknown*/		NOT_USED,
/*Unused*/		NOT_USED,
/*Mac*/			NOT_USED,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		},
		{ // local[MapOther]
/*Unknown*/		NOT_USED,
/*Unused*/		0,
/*Mac*/			0,
/*evolution*/	0,

/*NPC*/			0,
/*Pet*/			0
		}
	};

	if ((uint16)map < _MapCount)
		return local[map][ValidateMobVersion(version)];

	return NOT_USED;
}