Initial Commit for client version change to 4.2.2 (14545)
- added known opcodes (handlers are commented till not updated) - added bitstream support to bytebuffer - updated realm auth for 14545 - updated world auth - fixed char_enum,create,delete handlers - added DB2 reader - added opcode logging to debuglogmask (ignores loglevel) - fixed compile in win64, others not yet tested - using db2 values for item models at char_enum to prevent client crash Lots of Thanks to All SingularityCore Members
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
/*
|
||||
* Copyright (C) 2011 TrintiyCore <http://www.trinitycore.org/>
|
||||
*
|
||||
* 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; either version 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; 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, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef TRINITY_DB2STRUCTURE_H
|
||||
#define TRINITY_DB2STRUCTURE_H
|
||||
|
||||
#include "Common.h"
|
||||
#include "DBCEnums.h"
|
||||
#include "Define.h"
|
||||
#include "Path.h"
|
||||
#include "Util.h"
|
||||
#include "Vehicle.h"
|
||||
#include "SharedDefines.h"
|
||||
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
||||
// Structures used to access raw DB2 data and required packing to portability
|
||||
struct ItemEntry
|
||||
{
|
||||
uint32 ID; // 0
|
||||
uint32 Class; // 1
|
||||
uint32 SubClass; // 2
|
||||
int32 Unk0; // 3
|
||||
int32 Material; // 4
|
||||
uint32 DisplayId; // 5
|
||||
uint32 InventoryType; // 6
|
||||
uint32 Sheath; // 7
|
||||
};
|
||||
|
||||
struct ItemSparseEntry
|
||||
{
|
||||
uint32 ID; // 0
|
||||
uint32 Quality; // 1
|
||||
uint32 Flags; // 2
|
||||
uint32 Flags2; // 3
|
||||
uint32 BuyPrice; // 4
|
||||
uint32 SellPrice; // 5
|
||||
uint32 InventoryType; // 6
|
||||
int32 AllowableClass; // 7
|
||||
int32 AllowableRace; // 8
|
||||
uint32 ItemLevel; // 9
|
||||
int32 RequiredLevel; // 10
|
||||
uint32 RequiredSkill; // 11
|
||||
uint32 RequiredSkillRank; // 12
|
||||
uint32 RequiredSpell; // 13
|
||||
uint32 RequiredHonorRank; // 14
|
||||
uint32 RequiredCityRank; // 15
|
||||
uint32 RequiredReputationFaction; // 16
|
||||
uint32 RequiredReputationRank; // 17
|
||||
uint32 MaxCount; // 18
|
||||
uint32 Stackable; // 19
|
||||
uint32 ContainerSlots; // 20
|
||||
int32 ItemStatType[MAX_ITEM_PROTO_STATS]; // 21 - 30
|
||||
uint32 ItemStatValue[MAX_ITEM_PROTO_STATS]; // 31 - 40
|
||||
int32 ItemStatUnk1[MAX_ITEM_PROTO_STATS]; // 41 - 50
|
||||
int32 ItemStatUnk2[MAX_ITEM_PROTO_STATS]; // 51 - 60
|
||||
uint32 ScalingStatDistribution; // 61
|
||||
uint32 DamageType; // 62
|
||||
uint32 Delay; // 63
|
||||
float RangedModRange; // 64
|
||||
int32 SpellId[MAX_ITEM_PROTO_SPELLS]; // 65 - 69
|
||||
int32 SpellTrigger[MAX_ITEM_PROTO_SPELLS]; // 70 - 74
|
||||
int32 SpellCharges[MAX_ITEM_PROTO_SPELLS]; // 75 - 79
|
||||
int32 SpellCooldown[MAX_ITEM_PROTO_SPELLS]; // 80 - 84
|
||||
int32 SpellCategory[MAX_ITEM_PROTO_SPELLS]; // 85 - 89
|
||||
int32 SpellCategoryCooldown[MAX_ITEM_PROTO_SPELLS]; // 90 - 94
|
||||
uint32 Bonding; // 95
|
||||
DB2String Name; // 96
|
||||
DB2String Name2; // 97
|
||||
DB2String Name3; // 98
|
||||
DB2String Name4; // 99
|
||||
DB2String Description; // 100
|
||||
uint32 PageText; // 101
|
||||
uint32 LanguageID; // 102
|
||||
uint32 PageMaterial; // 103
|
||||
uint32 StartQuest; // 104
|
||||
uint32 LockID; // 105
|
||||
int32 Material; // 106
|
||||
uint32 Sheath; // 107
|
||||
uint32 RandomProperty; // 108
|
||||
uint32 RandomSuffix; // 109
|
||||
uint32 ItemSet; // 110
|
||||
uint32 MaxDurability; // 111
|
||||
uint32 Area; // 112
|
||||
uint32 Map; // 113
|
||||
uint32 BagFamily; // 114
|
||||
uint32 TotemCategory; // 115
|
||||
uint32 Color[MAX_ITEM_PROTO_SOCKETS]; // 116 - 118
|
||||
uint32 Content[MAX_ITEM_PROTO_SOCKETS]; // 119 - 121
|
||||
int32 SocketBonus; // 122
|
||||
uint32 GemProperties; // 123
|
||||
float ArmorDamageModifier; // 124
|
||||
uint32 Duration; // 125
|
||||
uint32 ItemLimitCategory; // 126
|
||||
uint32 HolidayId; // 127
|
||||
float StatScalingFactor; // 128
|
||||
int32 Field130; // 129
|
||||
int32 Field131; // 130
|
||||
};
|
||||
|
||||
#define MAX_ITEM_EXT_COST_ITEMS 5
|
||||
#define MAX_ITEM_EXT_COST_CURRENCIES 5
|
||||
|
||||
struct ItemExtendedCostEntry
|
||||
{
|
||||
uint32 ID; // 0 extended-cost entry id
|
||||
//uint32 reqhonorpoints; // 1 required honor points
|
||||
//uint32 reqarenapoints; // 2 required arena points
|
||||
uint32 RequiredArenaSlot; // 3 arena slot restrictions (min slot value)
|
||||
uint32 RequiredItem[MAX_ITEM_EXT_COST_ITEMS]; // 4-8 required item id
|
||||
uint32 RequiredItemCount[MAX_ITEM_EXT_COST_ITEMS]; // 9-13 required count of 1st item
|
||||
uint32 RequiredPersonalArenaRating; // 14 required personal arena rating
|
||||
//uint32 ItemPurchaseGroup; // 15
|
||||
uint32 RequiredCurrency[MAX_ITEM_EXT_COST_CURRENCIES];// 16-20 required curency id
|
||||
uint32 RequiredCurrencyCount[MAX_ITEM_EXT_COST_CURRENCIES];// 21-25 required curency count
|
||||
//uint32 Unknown[5]; // 26-30
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user