Advertisement
Guest User

Untitled

a guest
Nov 2nd, 2014
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 217.52 KB | None | 0 0
  1. // query: SELECT "ID", "PARENT", "NAME_LANG0", "UI_ORDER" FROM "ACHIEVEMENT_CATEGORY" ORDER BY ui_order, ID
  2. struct Achievement_CategoryRec // sizeof(0x10)
  3. {
  4.     DWORD m_ID; // +0x0, size 0x4, type 0
  5.     DWORD m_parent; // +0x4, size 0x4, type 0
  6.     char* m_name_lang; // +0x8, size 0x4, type 2
  7.     DWORD m_ui_order; // +0xC, size 0x4, type 0
  8. };
  9.  
  10. // query: SELECT "ID", "FACTION", "INSTANCE_ID", "SUPERCEDES", "TITLE_LANG0", "DESCRIPTION_LANG0", "CATEGORY", "POINTS", "UI_ORDER", "FLAGS", "ICONID", "REWARD_LANG0", "MINIMUM_CRITERIA", "SHARES_CRITERIA", "CRITERIA_TREE" FROM "ACHIEVEMENT" WHERE BITAND(flags,2) = 0 ORDER BY ui_order, ID
  11. struct AchievementRec // sizeof(0x3C)
  12. {
  13.     DWORD m_ID; // +0x0, size 0x4, type 0
  14.     DWORD m_faction; // +0x4, size 0x4, type 0
  15.     DWORD m_instance_id; // +0x8, size 0x4, type 0
  16.     DWORD m_supercedes; // +0xC, size 0x4, type 0
  17.     char* m_title_lang; // +0x10, size 0x4, type 2
  18.     char* m_description_lang; // +0x14, size 0x4, type 2
  19.     DWORD m_category; // +0x18, size 0x4, type 0
  20.     DWORD m_points; // +0x1C, size 0x4, type 0
  21.     DWORD m_ui_order; // +0x20, size 0x4, type 0
  22.     DWORD m_flags; // +0x24, size 0x4, type 0
  23.     DWORD m_iconID; // +0x28, size 0x4, type 0
  24.     char* m_reward_lang; // +0x2C, size 0x4, type 2
  25.     DWORD m_minimum_criteria; // +0x30, size 0x4, type 0
  26.     DWORD m_shares_criteria; // +0x34, size 0x4, type 0
  27.     DWORD m_criteria_tree; // +0x38, size 0x4, type 0
  28. };
  29.  
  30. // query: SELECT "ID", "BONEDATAID", "ANIMKITBONESETID" FROM "ANIMKITBONESETALIAS" ORDER BY  ID
  31. struct AnimKitBoneSetAliasRec // sizeof(0xC)
  32. {
  33.     DWORD m_ID; // +0x0, size 0x4, type 0
  34.     DWORD m_boneDataID; // +0x4, size 0x4, type 0
  35.     DWORD m_animKitBoneSetID; // +0x8, size 0x4, type 0
  36. };
  37.  
  38. // query: SELECT "ID", "NAME", "BONEDATAID", "PARENTANIMKITBONESETID", "EXTRABONECOUNT", "ALTANIMKITBONESETID" FROM "ANIMKITBONESET" ORDER BY  ID
  39. struct AnimKitBoneSetRec // sizeof(0x18)
  40. {
  41.     DWORD m_ID; // +0x0, size 0x4, type 0
  42.     char* m_name; // +0x4, size 0x4, type 2
  43.     DWORD m_boneDataID; // +0x8, size 0x4, type 0
  44.     DWORD m_parentAnimKitBoneSetID; // +0xC, size 0x4, type 0
  45.     DWORD m_extraBoneCount; // +0x10, size 0x4, type 0
  46.     DWORD m_altAnimKitBoneSetID; // +0x14, size 0x4, type 0
  47. };
  48.  
  49. // query: SELECT "ID", "PARENTANIMKITCONFIGID", "ANIMKITBONESETID", "ANIMKITPRIORITYID" FROM "ANIMKITCONFIGBONESET" ORDER BY  ID
  50. struct AnimKitConfigBoneSetRec // sizeof(0x10)
  51. {
  52.     DWORD m_ID; // +0x0, size 0x4, type 0
  53.     DWORD m_parentAnimKitConfigID; // +0x4, size 0x4, type 0
  54.     DWORD m_animKitBoneSetID; // +0x8, size 0x4, type 0
  55.     DWORD m_animKitPriorityID; // +0xC, size 0x4, type 0
  56. };
  57.  
  58. // query: SELECT "ID", "CONFIGFLAGS" FROM "ANIMKITCONFIG" ORDER BY  ID
  59. struct AnimKitConfigRec // sizeof(0x8)
  60. {
  61.     DWORD m_ID; // +0x0, size 0x4, type 0
  62.     DWORD m_configFlags; // +0x4, size 0x4, type 0
  63. };
  64.  
  65. // query: SELECT "ID", "PRIORITY" FROM "ANIMKITPRIORITY" ORDER BY  ID
  66. struct AnimKitPriorityRec // sizeof(0x8)
  67. {
  68.     DWORD m_ID; // +0x0, size 0x4, type 0
  69.     DWORD m_priority; // +0x4, size 0x4, type 0
  70. };
  71.  
  72. // query: SELECT "ID", "ONESHOTDURATION", "ONESHOTSTOPANIMKITID", "LOWDEFANIMKITID" FROM "ANIMKIT" ORDER BY  ID
  73. struct AnimKitRec // sizeof(0x10)
  74. {
  75.     DWORD m_ID; // +0x0, size 0x4, type 0
  76.     DWORD m_oneShotDuration; // +0x4, size 0x4, type 0
  77.     DWORD m_oneShotStopAnimKitID; // +0x8, size 0x4, type 0
  78.     DWORD m_lowDefAnimKitID; // +0xC, size 0x4, type 0
  79. };
  80.  
  81. // query: SELECT "ID", "PARENTANIMKITID", "ORDERINDEX", "ANIMID", "ANIMSTARTTIME", "ANIMKITCONFIGID", "STARTCONDITION", "STARTCONDITIONPARAM", "STARTCONDITIONDELAY", "ENDCONDITION", "ENDCONDITIONPARAM", "ENDCONDITIONDELAY", "SPEED", "SEGMENTFLAGS", "FORCEDVARIATION", "OVERRIDECONFIGFLAGS", "LOOPTOSEGMENTINDEX" FROM "ANIMKITSEGMENT" ORDER BY parentAnimKitID, orderIndex, ID
  82. struct AnimKitSegmentRec // sizeof(0x44)
  83. {
  84.     DWORD m_ID; // +0x0, size 0x4, type 0
  85.     DWORD m_parentAnimKitID; // +0x4, size 0x4, type 0
  86.     DWORD m_orderIndex; // +0x8, size 0x4, type 0
  87.     DWORD m_animID; // +0xC, size 0x4, type 0
  88.     DWORD m_animStartTime; // +0x10, size 0x4, type 0
  89.     DWORD m_animKitConfigID; // +0x14, size 0x4, type 0
  90.     DWORD m_startCondition; // +0x18, size 0x4, type 0
  91.     DWORD m_startConditionParam; // +0x1C, size 0x4, type 0
  92.     DWORD m_startConditionDelay; // +0x20, size 0x4, type 0
  93.     DWORD m_endCondition; // +0x24, size 0x4, type 0
  94.     DWORD m_endConditionParam; // +0x28, size 0x4, type 0
  95.     DWORD m_endConditionDelay; // +0x2C, size 0x4, type 0
  96.     float m_speed; // +0x30, size 0x4, type 3
  97.     DWORD m_segmentFlags; // +0x34, size 0x4, type 0
  98.     DWORD m_forcedVariation; // +0x38, size 0x4, type 0
  99.     DWORD m_overrideConfigFlags; // +0x3C, size 0x4, type 0
  100.     DWORD m_loopToSegmentIndex; // +0x40, size 0x4, type 0
  101. };
  102.  
  103. // query: SELECT "ID", "SRCANIMID", "DSTANIMID", "PARENTANIMREPLACEMENTSETID" FROM "ANIMREPLACEMENT" ORDER BY  ID
  104. struct AnimReplacementRec // sizeof(0x10)
  105. {
  106.     DWORD m_ID; // +0x0, size 0x4, type 0
  107.     DWORD m_srcAnimID; // +0x4, size 0x4, type 0
  108.     DWORD m_dstAnimID; // +0x8, size 0x4, type 0
  109.     DWORD m_parentAnimReplacementSetID; // +0xC, size 0x4, type 0
  110. };
  111.  
  112. // query: SELECT "ID", "EXECORDER" FROM "ANIMREPLACEMENTSET" ORDER BY  ID
  113. struct AnimReplacementSetRec // sizeof(0x8)
  114. {
  115.     DWORD m_ID; // +0x0, size 0x4, type 0
  116.     DWORD m_execOrder; // +0x4, size 0x4, type 0
  117. };
  118.  
  119. // query: SELECT DISTINCT "MAPID", "AREAID", "CHUNKX", "CHUNKY" FROM "AREAASSIGNMENT" ORDER BY MapID,AreaID,ChunkX,ChunkY
  120. struct AreaAssignmentRec // sizeof(0x14)
  121. {
  122.     DWORD m_ID; // +0x0, size 0x4, type 0
  123.     DWORD m_MapID; // +0x4, size 0x4, type 0
  124.     DWORD m_AreaID; // +0x8, size 0x4, type 0
  125.     DWORD m_ChunkX; // +0xC, size 0x4, type 0
  126.     DWORD m_ChunkY; // +0x10, size 0x4, type 0
  127. };
  128.  
  129. // query: SELECT "ID", "AREAID0", "AREAID1", "AREAID2", "AREAID3", "AREAID4", "AREAID5", "NEXTAREAID" FROM "AREAGROUP" ORDER BY  ID
  130. struct AreaGroupRec // sizeof(0x20)
  131. {
  132.     DWORD m_ID; // +0x0, size 0x4, type 0
  133.     DWORD m_areaID[6]; // +0x4, size 0x18, type 0
  134.     DWORD m_nextAreaID; // +0x1C, size 0x4, type 0
  135. };
  136.  
  137. // query: SELECT "ID", "IMPORTANCE", "ICON", "ICON1", "ICON2", "ICON3", "ICON4", "ICON5", "ICON6", "ICON7", "ICON8", "FACTIONID", "X", "Y", "CONTINENTID", "FLAGS", "AREAID", "NAME_LANG0", "DESCRIPTION_LANG0", "WORLDSTATEID", "PLAYERCONDITIONID", "WORLDMAPLINK", "PORTLOCID" FROM "AREAPOI" WHERE BITAND(flags,64) = 0 ORDER BY continentID, name_lang0, ID, ID
  138. struct AreaPOIRec // sizeof(0x5C)
  139. {
  140.     DWORD m_ID; // +0x0, size 0x4, type 0
  141.     DWORD m_importance; // +0x4, size 0x4, type 0
  142.     DWORD m_icon[9]; // +0x8, size 0x24, type 0
  143.     DWORD m_factionID; // +0x2C, size 0x4, type 0
  144.     float m_pos[2]; // +0x30, size 0x8, type 3
  145.     DWORD m_continentID; // +0x38, size 0x4, type 0
  146.     DWORD m_flags; // +0x3C, size 0x4, type 0
  147.     DWORD m_areaID; // +0x40, size 0x4, type 0
  148.     char* m_name_lang; // +0x44, size 0x4, type 2
  149.     char* m_description_lang; // +0x48, size 0x4, type 2
  150.     DWORD m_worldStateID; // +0x4C, size 0x4, type 0
  151.     DWORD m_playerConditionID; // +0x50, size 0x4, type 0
  152.     DWORD m_worldMapLink; // +0x54, size 0x4, type 0
  153.     DWORD m_portLocID; // +0x58, size 0x4, type 0
  154. };
  155.  
  156. // query: SELECT "ID", "FLAGS" FROM "AREATRIGGERACTIONSET" WHERE bitand(flags, 24) <> 0 ORDER BY  ID
  157. struct AreaTriggerActionSetRec // sizeof(0x8)
  158. {
  159.     DWORD m_ID; // +0x0, size 0x4, type 0
  160.     DWORD m_flags; // +0x4, size 0x4, type 0
  161. };
  162.  
  163. // query: SELECT "ID", "EXTENTSX", "EXTENTSY", "EXTENTSZ" FROM "AREATRIGGERBOX" WHERE ID IN (SELECT shapeID FROM AreaTrigger WHERE shapeType = 1 AND AreaTrigger.AreaTriggerActionSetID IN (SELECT ID FROM AreaTriggerActionSet WHERE AreaTriggerActionSet.type IN (0,3))) ORDER BY  ID
  164. struct AreaTriggerBoxRec // sizeof(0x10)
  165. {
  166.     DWORD m_ID; // +0x0, size 0x4, type 0
  167.     float m_extents[3]; // +0x4, size 0xC, type 3
  168. };
  169.  
  170. // query: SELECT "ID", "RADIUS", "HEIGHT" FROM "AREATRIGGERCYLINDER" WHERE ID IN (SELECT shapeID FROM AreaTrigger WHERE shapeType = 4 AND AreaTrigger.AreaTriggerActionSetID IN (SELECT ID FROM AreaTriggerActionSet WHERE AreaTriggerActionSet.type IN (0,3))) ORDER BY  ID
  171. struct AreaTriggerCylinderRec // sizeof(0xC)
  172. {
  173.     DWORD m_ID; // +0x0, size 0x4, type 0
  174.     float m_radius; // +0x4, size 0x4, type 3
  175.     float m_height; // +0x8, size 0x4, type 3
  176. };
  177.  
  178. // query: SELECT "ID", NVL(CONTINENTID, -1) AS "CONTINENTID", "X", "Y", "Z", "PHASEUSEFLAGS", "PHASEID", "PHASEGROUPID", "RADIUS", "BOX_LENGTH", "BOX_WIDTH", "BOX_HEIGHT", "BOX_YAW", "SHAPETYPE", "SHAPEID", "AREATRIGGERACTIONSETID", "FLAGS" FROM "AREATRIGGER" WHERE id in (select t.id from areatrigger t inner join areatriggeractionset s ON t.AREATRIGGERACTIONSETID = s.id where s.type in (0,2)) AND BITAND(flags, 128) = 0  ORDER BY ContinentID, id, ID
  179. struct AreaTriggerRec // sizeof(0x44)
  180. {
  181.     DWORD m_ID; // +0x0, size 0x4, type 0
  182.     DWORD m_ContinentID; // +0x4, size 0x4, type 0
  183.     float m_pos[3]; // +0x8, size 0xC, type 3
  184.     DWORD m_phaseUseFlags; // +0x14, size 0x4, type 0
  185.     DWORD m_phaseID; // +0x18, size 0x4, type 0
  186.     DWORD m_phaseGroupID; // +0x1C, size 0x4, type 0
  187.     float m_radius; // +0x20, size 0x4, type 3
  188.     float m_box_length; // +0x24, size 0x4, type 3
  189.     float m_box_width; // +0x28, size 0x4, type 3
  190.     float m_box_height; // +0x2C, size 0x4, type 3
  191.     float m_box_yaw; // +0x30, size 0x4, type 3
  192.     DWORD m_shapeType; // +0x34, size 0x4, type 0
  193.     DWORD m_shapeID; // +0x38, size 0x4, type 0
  194.     DWORD m_areaTriggerActionSetID; // +0x3C, size 0x4, type 0
  195.     DWORD m_flags; // +0x40, size 0x4, type 0
  196. };
  197.  
  198. // query: SELECT "ID", "MAXRADIUS" FROM "AREATRIGGERSPHERE" WHERE ID IN (SELECT shapeID FROM AreaTrigger WHERE shapeType = 0 AND AreaTrigger.AreaTriggerActionSetID IN (SELECT ID FROM AreaTriggerActionSet WHERE AreaTriggerActionSet.type IN (0,3))) ORDER BY  ID
  199. struct AreaTriggerSphereRec // sizeof(0x8)
  200. {
  201.     DWORD m_ID; // +0x0, size 0x4, type 0
  202.     float m_maxRadius; // +0x4, size 0x4, type 3
  203. };
  204.  
  205. // query: SELECT "ID", "CLOTHMODIFIER", "LEATHERMODIFIER", "CHAINMODIFIER", "PLATEMODIFIER", "MODIFIER" FROM "ARMORLOCATION" ORDER BY  ID
  206. struct ArmorLocationRec // sizeof(0x18)
  207. {
  208.     DWORD m_ID; // +0x0, size 0x4, type 0
  209.     float m_clothmodifier; // +0x4, size 0x4, type 3
  210.     float m_leathermodifier; // +0x8, size 0x4, type 3
  211.     float m_chainmodifier; // +0xC, size 0x4, type 3
  212.     float m_platemodifier; // +0x10, size 0x4, type 3
  213.     float m_modifier; // +0x14, size 0x4, type 3
  214. };
  215.  
  216. // query: SELECT "ID", "FACTIONID", "DEPOSITRATE", "CONSIGNMENTRATE", "NAME_LANG0" FROM "AUCTIONHOUSE" ORDER BY id, ID
  217. struct AuctionHouseRec // sizeof(0x14)
  218. {
  219.     DWORD m_ID; // +0x0, size 0x4, type 0
  220.     DWORD m_factionID; // +0x4, size 0x4, type 0
  221.     DWORD m_depositRate; // +0x8, size 0x4, type 0
  222.     DWORD m_consignmentRate; // +0xC, size 0x4, type 0
  223.     char* m_name_lang; // +0x10, size 0x4, type 2
  224. };
  225.  
  226. // query: SELECT "ID", "COST" FROM "BANKBAGSLOTPRICES" ORDER BY id, ID
  227. struct BankBagSlotPricesRec // sizeof(0x8)
  228. {
  229.     DWORD m_ID; // +0x0, size 0x4, type 0
  230.     DWORD m_Cost; // +0x4, size 0x4, type 0
  231. };
  232.  
  233. // query: SELECT "ID", "NAMEMD5_0", "NAMEMD5_1", "NAMEMD5_2", "NAMEMD5_3", "VERSIONMD5_0", "VERSIONMD5_1", "VERSIONMD5_2", "VERSIONMD5_3", "LASTMODIFIED", "FLAGS" FROM "BANNEDADDONS" ORDER BY id, ID
  234. struct BannedAddOnsRec // sizeof(0x2C)
  235. {
  236.     DWORD m_ID; // +0x0, size 0x4, type 0
  237.     DWORD m_nameMD5_[4]; // +0x4, size 0x10, type 0
  238.     DWORD m_versionMD5_[4]; // +0x14, size 0x10, type 0
  239.     DWORD m_lastModified; // +0x24, size 0x4, type 0
  240.     DWORD m_flags; // +0x28, size 0x4, type 0
  241. };
  242.  
  243. // query: SELECT "ID", "TYPE", "DISPLAYNAME_LANG0", "DESCRIPTION_LANG0", "COST_MODIFIER", "RACE", "SEX", "DATA" FROM "BARBERSHOPSTYLE" ORDER BY id, ID
  244. struct BarberShopStyleRec // sizeof(0x20)
  245. {
  246.     DWORD m_ID; // +0x0, size 0x4, type 0
  247.     DWORD m_type; // +0x4, size 0x4, type 0
  248.     char* m_DisplayName_lang; // +0x8, size 0x4, type 2
  249.     char* m_Description_lang; // +0xC, size 0x4, type 2
  250.     float m_Cost_Modifier; // +0x10, size 0x4, type 3
  251.     DWORD m_race; // +0x14, size 0x4, type 0
  252.     DWORD m_sex; // +0x18, size 0x4, type 0
  253.     DWORD m_data; // +0x1C, size 0x4, type 0
  254. };
  255.  
  256. // query: SELECT "ID", NVL(MAPID0, -1) AS "MAPID0", NVL(MAPID01, -1) AS "MAPID01", NVL(MAPID02, -1) AS "MAPID02", NVL(MAPID03, -1) AS "MAPID03", NVL(MAPID04, -1) AS "MAPID04", NVL(MAPID05, -1) AS "MAPID05", NVL(MAPID06, -1) AS "MAPID06", NVL(MAPID07, -1) AS "MAPID07", NVL(MAPID08, -1) AS "MAPID08", NVL(MAPID09, -1) AS "MAPID09", NVL(MAPID10, -1) AS "MAPID10", NVL(MAPID11, -1) AS "MAPID11", NVL(MAPID12, -1) AS "MAPID12", NVL(MAPID13, -1) AS "MAPID13", NVL(MAPID14, -1) AS "MAPID14", NVL(MAPID15, -1) AS "MAPID15", "INSTANCETYPE", "GROUPSALLOWED", "NAME_LANG0", "MAXGROUPSIZE", "HOLIDAYWORLDSTATE", "MINLEVEL", "MAXLEVEL", "RATEDPLAYERS", "MINPLAYERS", "MAXPLAYERS", "FLAGS", "ICONFILEDATAID", "GAMETYPE_LANG0" FROM "BATTLEMASTERLIST" ORDER BY ID, ID
  257. struct BattlemasterListRec // sizeof(0x78)
  258. {
  259.     DWORD m_ID; // +0x0, size 0x4, type 0
  260.     DWORD m_mapID[16]; // +0x4, size 0x40, type 0
  261.     DWORD m_instanceType; // +0x44, size 0x4, type 0
  262.     DWORD m_groupsAllowed; // +0x48, size 0x4, type 0
  263.     char* m_name_lang; // +0x4C, size 0x4, type 2
  264.     DWORD m_maxGroupSize; // +0x50, size 0x4, type 0
  265.     DWORD m_holidayWorldState; // +0x54, size 0x4, type 0
  266.     DWORD m_minlevel; // +0x58, size 0x4, type 0
  267.     DWORD m_maxlevel; // +0x5C, size 0x4, type 0
  268.     DWORD m_ratedPlayers; // +0x60, size 0x4, type 0
  269.     DWORD m_minPlayers; // +0x64, size 0x4, type 0
  270.     DWORD m_maxPlayers; // +0x68, size 0x4, type 0
  271.     DWORD m_flags; // +0x6C, size 0x4, type 0
  272.     DWORD m_iconFileDataID; // +0x70, size 0x4, type 0
  273.     char* m_gametype_lang; // +0x74, size 0x4, type 2
  274. };
  275.  
  276. // query: SELECT "ID", "NAME", "TYPE", "FLAGS", "POSITIONOFFSETX", "POSITIONOFFSETY", "POSITIONOFFSETZ", "TARGETOFFSETX", "TARGETOFFSETY", "TARGETOFFSETZ", "POSITIONSMOOTHING", "ROTATIONSMOOTHING", "FIELDOFVIEW", "LOCKEDPOSITIONOFFSETBASE", "LOCKEDPOSITIONOFFSETDIRECTION", "LOCKEDTARGETOFFSETBASE", "LOCKEDTARGETOFFSETDIRECTION" FROM "CAMERAMODE" ORDER BY ID, ID
  277. struct CameraModeRec // sizeof(0x44)
  278. {
  279.     DWORD m_ID; // +0x0, size 0x4, type 0
  280.     char* m_name; // +0x4, size 0x4, type 2
  281.     DWORD m_type; // +0x8, size 0x4, type 0
  282.     DWORD m_flags; // +0xC, size 0x4, type 0
  283.     float m_positionOffset[3]; // +0x10, size 0xC, type 3
  284.     float m_targetOffset[3]; // +0x1C, size 0xC, type 3
  285.     float m_positionSmoothing; // +0x28, size 0x4, type 3
  286.     float m_rotationSmoothing; // +0x2C, size 0x4, type 3
  287.     float m_fieldOfView; // +0x30, size 0x4, type 3
  288.     DWORD m_lockedPositionOffsetBase; // +0x34, size 0x4, type 0
  289.     DWORD m_lockedPositionOffsetDirection; // +0x38, size 0x4, type 0
  290.     DWORD m_lockedTargetOffsetBase; // +0x3C, size 0x4, type 0
  291.     DWORD m_lockedTargetOffsetDirection; // +0x40, size 0x4, type 0
  292. };
  293.  
  294. // query: SELECT "ID", "SHAKETYPE", "DIRECTION", "AMPLITUDE", "FREQUENCY", "DURATION", "PHASE", "COEFFICIENT", "FLAGS" FROM "CAMERASHAKES" ORDER BY id, ID
  295. struct CameraShakesRec // sizeof(0x24)
  296. {
  297.     DWORD m_ID; // +0x0, size 0x4, type 0
  298.     DWORD m_shakeType; // +0x4, size 0x4, type 0
  299.     DWORD m_direction; // +0x8, size 0x4, type 0
  300.     float m_amplitude; // +0xC, size 0x4, type 3
  301.     float m_frequency; // +0x10, size 0x4, type 3
  302.     float m_duration; // +0x14, size 0x4, type 3
  303.     float m_phase; // +0x18, size 0x4, type 3
  304.     float m_coefficient; // +0x1C, size 0x4, type 3
  305.     DWORD m_flags; // +0x20, size 0x4, type 0
  306. };
  307.  
  308. // query: SELECT "ID", "SPELLID", "CASTINGSPELLID" FROM "CASTABLERAIDBUFFS" ORDER BY spellID, ID
  309. struct CastableRaidBuffsRec // sizeof(0xC)
  310. {
  311.     DWORD m_ID; // +0x0, size 0x4, type 0
  312.     DWORD m_spellID; // +0x4, size 0x4, type 0
  313.     DWORD m_castingSpellID; // +0x8, size 0x4, type 0
  314. };
  315.  
  316. // query: SELECT "ID", "LOCALEMASK", "CREATE_CHARSETMASK", "EXISTING_CHARSETMASK", "FLAGS", "NAME_LANG0" FROM "CFG_CATEGORIES" ORDER BY id, ID
  317. struct Cfg_CategoriesRec // sizeof(0x18)
  318. {
  319.     DWORD m_ID; // +0x0, size 0x4, type 0
  320.     DWORD m_localeMask; // +0x4, size 0x4, type 0
  321.     DWORD m_create_charsetMask; // +0x8, size 0x4, type 0
  322.     DWORD m_existing_charsetMask; // +0xC, size 0x4, type 0
  323.     DWORD m_flags; // +0x10, size 0x4, type 0
  324.     char* m_name_lang; // +0x14, size 0x4, type 2
  325. };
  326.  
  327. // query: SELECT "ID", "REALMTYPE", "PLAYERKILLINGALLOWED", "ROLEPLAYING", "PLAYERATTACKSPEEDBASE", "MAXDAMAGEREDUCTIONPCTPHYSICAL" FROM "CFG_CONFIGS" ORDER BY id, ID
  328. struct Cfg_ConfigsRec // sizeof(0x1C)
  329. {
  330.     DWORD m_ID; // +0x0, size 0x4, type 0
  331.     DWORD m_ID; // +0x4, size 0x4, type 0
  332.     DWORD m_realmType; // +0x8, size 0x4, type 0
  333.     DWORD m_playerKillingAllowed; // +0xC, size 0x4, type 0
  334.     DWORD m_roleplaying; // +0x10, size 0x4, type 0
  335.     DWORD m_playerAttackSpeedBase; // +0x14, size 0x4, type 0
  336.     DWORD m_maxDamageReductionPctPhysical; // +0x18, size 0x4, type 0
  337. };
  338.  
  339. // query: SELECT "ID", "TAG", "REGION_GROUP_MASK", NVL(RULESETID, 1) AS "RULESETID" FROM "CFG_REGIONS" ORDER BY  ID
  340. struct Cfg_RegionsRec // sizeof(0x10)
  341. {
  342.     DWORD m_ID; // +0x0, size 0x4, type 0
  343.     char* m_tag; // +0x4, size 0x4, type 2
  344.     DWORD m_region_group_mask; // +0x8, size 0x4, type 0
  345.     DWORD m_rulesetID; // +0xC, size 0x4, type 0
  346. };
  347.  
  348. // query: SELECT "RACEID", "SEXID", "VARIATIONID", "GEOSET0", "GEOSET1", "GEOSET2", "GEOSET3", "GEOSET4" FROM "CHARACTERFACIALHAIRSTYLES" ORDER BY id, ID
  349. struct CharacterFacialHairStylesRec // sizeof(0x24)
  350. {
  351.     DWORD m_ID; // +0x0, size 0x4, type 0
  352.     DWORD m_raceID; // +0x4, size 0x4, type 0
  353.     DWORD m_sexID; // +0x8, size 0x4, type 0
  354.     DWORD m_VariationID; // +0xC, size 0x4, type 0
  355.     DWORD m_Geoset[5]; // +0x10, size 0x14, type 0
  356. };
  357.  
  358. // query: SELECT "ID", "CHARACTERLOADOUTID", "ITEMID", NVL((SELECT DISPLAYINFOID FROM ITEM WHERE ID = ITEMID), -1) AS "ITEMDISPLAYINFOID", NVL((SELECT INVENTORYTYPE FROM ITEM WHERE ID = ITEMID), -1) AS "ITEMINVENTORYTYPE" FROM "CHARACTERLOADOUTITEM" ORDER BY  ID
  359. struct CharacterLoadoutItemRec // sizeof(0x14)
  360. {
  361.     DWORD m_ID; // +0x0, size 0x4, type 0
  362.     DWORD m_characterLoadoutID; // +0x4, size 0x4, type 0
  363.     DWORD m_itemID; // +0x8, size 0x4, type 0
  364.     DWORD m_itemDisplayInfoID; // +0xC, size 0x4, type 0
  365.     DWORD m_itemInventoryType; // +0x10, size 0x4, type 0
  366. };
  367.  
  368. // query: SELECT "ID", "CHRCLASSID", "PURPOSE", "RACEMASK" FROM "CHARACTERLOADOUT" ORDER BY  ID
  369. struct CharacterLoadoutRec // sizeof(0x10)
  370. {
  371.     DWORD m_ID; // +0x0, size 0x4, type 0
  372.     DWORD m_chrClassID; // +0x4, size 0x4, type 0
  373.     DWORD m_purpose; // +0x8, size 0x4, type 0
  374.     DWORD m_racemask; // +0xC, size 0x4, type 0
  375. };
  376.  
  377. // query: SELECT "RACEID", "CLASSID" FROM "CHARBASEINFO" ORDER BY raceID, classID, ID
  378. struct CharBaseInfoRec // sizeof(0x8)
  379. {
  380.     DWORD m_ID; // +0x0, size 0x4, type 0
  381.     BYTE m_raceID; // +0x4, size 0x1, type 0
  382.     BYTE m_classID; // +0x5, size 0x1, type 0
  383.     BYTE padding[2];
  384. };
  385.  
  386. // query: SELECT "ID", "FALLBACKID", "LAYOUTRESTYPE" FROM "CHARBASESECTION" ORDER BY id, ID
  387. struct CharBaseSectionRec // sizeof(0xC)
  388. {
  389.     DWORD m_ID; // +0x0, size 0x4, type 0
  390.     DWORD m_fallbackID; // +0x4, size 0x4, type 0
  391.     DWORD m_layoutResType; // +0x8, size 0x4, type 0
  392. };
  393.  
  394. // query: SELECT "ID", "WIDTH", "HEIGHT" FROM "CHARCOMPONENTTEXTURELAYOUTS" ORDER BY  ID
  395. struct CharComponentTextureLayoutsRec // sizeof(0xC)
  396. {
  397.     DWORD m_ID; // +0x0, size 0x4, type 0
  398.     DWORD m_width; // +0x4, size 0x4, type 0
  399.     DWORD m_height; // +0x8, size 0x4, type 0
  400. };
  401.  
  402. // query: SELECT "ID", "CHARCOMPONENTTEXTURELAYOUTID", "SECTIONTYPE", "X", "Y", "WIDTH", "HEIGHT" FROM "CHARCOMPONENTTEXTURESECTIONS" ORDER BY charComponentTextureLayoutID, ID, sectionType, ID
  403. struct CharComponentTextureSectionsRec // sizeof(0x1C)
  404. {
  405.     DWORD m_ID; // +0x0, size 0x4, type 0
  406.     DWORD m_charComponentTextureLayoutID; // +0x4, size 0x4, type 0
  407.     DWORD m_sectionType; // +0x8, size 0x4, type 0
  408.     DWORD m_x; // +0xC, size 0x4, type 0
  409.     DWORD m_y; // +0x10, size 0x4, type 0
  410.     DWORD m_width; // +0x14, size 0x4, type 0
  411.     DWORD m_height; // +0x18, size 0x4, type 0
  412. };
  413.  
  414. // query: SELECT "ID", "RACEID", "SEXID", "VARIATIONID", "VARIATIONTYPE", "GEOSETID", "GEOSETTYPE", "SHOWSCALP", "COLORINDEX" FROM "CHARHAIRGEOSETS" ORDER BY id, ID
  415. struct CharHairGeosetsRec // sizeof(0x24)
  416. {
  417.     DWORD m_ID; // +0x0, size 0x4, type 0
  418.     DWORD m_RaceID; // +0x4, size 0x4, type 0
  419.     DWORD m_SexID; // +0x8, size 0x4, type 0
  420.     DWORD m_VariationID; // +0xC, size 0x4, type 0
  421.     DWORD m_VariationType; // +0x10, size 0x4, type 0
  422.     DWORD m_GeosetID; // +0x14, size 0x4, type 0
  423.     DWORD m_GeosetType; // +0x18, size 0x4, type 0
  424.     DWORD m_Showscalp; // +0x1C, size 0x4, type 0
  425.     DWORD m_ColorIndex; // +0x20, size 0x4, type 0
  426. };
  427.  
  428. // query: SELECT "ID", "RACEID", "SEXID", "BASESECTION", "TEXTURENAME0", "TEXTURENAME1", "TEXTURENAME2", "FLAGS", "VARIATIONINDEX", "COLORINDEX" FROM "CHARSECTIONS" WHERE baseSection >= 0 and baseSection <= 9 ORDER BY FLOOR(baseSection/5),raceID,sexID,baseSection,variationIndex,colorIndex, ID
  429. struct CharSectionsRec // sizeof(0x28)
  430. {
  431.     DWORD m_ID; // +0x0, size 0x4, type 0
  432.     DWORD m_raceID; // +0x4, size 0x4, type 0
  433.     DWORD m_sexID; // +0x8, size 0x4, type 0
  434.     DWORD m_baseSection; // +0xC, size 0x4, type 0
  435.     char* m_TextureName[3]; // +0x10, size 0xC, type 2
  436.     DWORD m_flags; // +0x1C, size 0x4, type 0
  437.     DWORD m_variationIndex; // +0x20, size 0x4, type 0
  438.     DWORD m_colorIndex; // +0x24, size 0x4, type 0
  439. };
  440.  
  441. // query: SELECT "ID", "RACEID", "CLASSID", "SEXID", "OUTFITID", "ITEMID0", "ITEMID1", "ITEMID2", "ITEMID3", "ITEMID4", "ITEMID5", "ITEMID6", "ITEMID7", "ITEMID8", "ITEMID9", "ITEMID10", "ITEMID11", "ITEMID12", "ITEMID13", "ITEMID14", "ITEMID15", "ITEMID16", "ITEMID17", "ITEMID18", "ITEMID19", "ITEMID20", "ITEMID21", "ITEMID22", "ITEMID23", NVL((SELECT DISPLAYINFOID FROM ITEM WHERE ID = ITEMID23), -1) AS "DISPLAYITEMID0", "DISPLAYITEMID1", "DISPLAYITEMID2", "DISPLAYITEMID3", "DISPLAYITEMID4", "DISPLAYITEMID5", "DISPLAYITEMID6", "DISPLAYITEMID7", "DISPLAYITEMID8", "DISPLAYITEMID9", "DISPLAYITEMID10", "DISPLAYITEMID11", "DISPLAYITEMID12", "DISPLAYITEMID13", "DISPLAYITEMID14", "DISPLAYITEMID15", "DISPLAYITEMID16", "DISPLAYITEMID17", "DISPLAYITEMID18", "DISPLAYITEMID19", "DISPLAYITEMID20", "DISPLAYITEMID21", "DISPLAYITEMID22", "DISPLAYITEMID23", NVL((SELECT INVENTORYTYPE FROM ITEM WHERE ID = ITEMID23), -1) AS "INVENTORYTYPE0", "INVENTORYTYPE1", "INVENTORYTYPE2", "INVENTORYTYPE3", "INVENTORYTYPE4", "INVENTORYTYPE5", "INVENTORYTYPE6", "INVENTORYTYPE7", "INVENTORYTYPE8", "INVENTORYTYPE9", "INVENTORYTYPE10", "INVENTORYTYPE11", "INVENTORYTYPE12", "INVENTORYTYPE13", "INVENTORYTYPE14", "INVENTORYTYPE15", "INVENTORYTYPE16", "INVENTORYTYPE17", "INVENTORYTYPE18", "INVENTORYTYPE19", "INVENTORYTYPE20", "INVENTORYTYPE21", "INVENTORYTYPE22", "INVENTORYTYPE23", "PETDISPLAYID", "PETFAMILYID" FROM "CHARSTARTOUTFIT" ORDER BY raceId, classID, sexId, outfitId, ID
  442. struct CharStartOutfitRec // sizeof(0x130)
  443. {
  444.     DWORD m_ID; // +0x0, size 0x4, type 0
  445.     BYTE m_raceID; // +0x4, size 0x1, type 0
  446.     BYTE m_classID; // +0x5, size 0x1, type 0
  447.     BYTE m_sexID; // +0x6, size 0x1, type 0
  448.     BYTE m_outfitID; // +0x7, size 0x1, type 0
  449.     DWORD m_ItemID[24]; // +0x8, size 0x60, type 0
  450.     DWORD m_DisplayItemID[24]; // +0x68, size 0x60, type 0
  451.     DWORD m_InventoryType[24]; // +0xC8, size 0x60, type 0
  452.     DWORD m_petDisplayID; // +0x128, size 0x4, type 0
  453.     DWORD m_petFamilyID; // +0x12C, size 0x4, type 0
  454. };
  455.  
  456. // query: SELECT "ID", "CONDITION_ID", "NAME_LANG0", "NAME1_LANG0", "MASK_ID", "FLAGS" FROM "CHARTITLES" ORDER BY id, ID
  457. struct CharTitlesRec // sizeof(0x18)
  458. {
  459.     DWORD m_ID; // +0x0, size 0x4, type 0
  460.     DWORD m_Condition_ID; // +0x4, size 0x4, type 0
  461.     char* m_name_lang; // +0x8, size 0x4, type 2
  462.     char* m_name1_lang; // +0xC, size 0x4, type 2
  463.     DWORD m_mask_ID; // +0x10, size 0x4, type 0
  464.     DWORD m_flags; // +0x14, size 0x4, type 0
  465. };
  466.  
  467. // query: SELECT "ID", "FLAGS", "FACTIONGROUP", "NAME_LANG0", "SHORTCUT_LANG0" FROM "CHATCHANNELS" ORDER BY id, ID
  468. struct ChatChannelsRec // sizeof(0x14)
  469. {
  470.     DWORD m_ID; // +0x0, size 0x4, type 0
  471.     DWORD m_flags; // +0x4, size 0x4, type 0
  472.     DWORD m_factionGroup; // +0x8, size 0x4, type 0
  473.     char* m_name_lang; // +0xC, size 0x4, type 2
  474.     char* m_shortcut_lang; // +0x10, size 0x4, type 2
  475. };
  476.  
  477. // query: SELECT "ID", "TEXT", "LANGUAGE" FROM "CHATPROFANITY" ORDER BY id, ID
  478. struct ChatProfanityRec // sizeof(0xC)
  479. {
  480.     DWORD m_ID; // +0x0, size 0x4, type 0
  481.     char* m_text; // +0x4, size 0x4, type 2
  482.     DWORD m_Language; // +0x8, size 0x4, type 0
  483. };
  484.  
  485. // query: SELECT "ID", "DISPLAYPOWER", "PETNAMETOKEN", "NAME_LANG0", "NAME_FEMALE_LANG0", "NAME_MALE_LANG0", "FILENAME", "SPELLCLASSSET", "FLAGS", "CINEMATICSEQUENCEID", "ATTACKPOWERPERSTRENGTH", "ATTACKPOWERPERAGILITY", "RANGEDATTACKPOWERPERAGILITY", "DEFAULTSPEC", "CREATESCREENFILEDATAID", "SELECTSCREENFILEDATAID", "LOWRESSCREENFILEDATAID", "ICONFILEDATAID" FROM "CHRCLASSES" WHERE deleted = 0 ORDER BY id, ID
  486. struct ChrClassesRec // sizeof(0x48)
  487. {
  488.     DWORD m_ID; // +0x0, size 0x4, type 0
  489.     DWORD m_DisplayPower; // +0x4, size 0x4, type 0
  490.     char* m_petNameToken; // +0x8, size 0x4, type 2
  491.     char* m_name_lang; // +0xC, size 0x4, type 2
  492.     char* m_name_female_lang; // +0x10, size 0x4, type 2
  493.     char* m_name_male_lang; // +0x14, size 0x4, type 2
  494.     char* m_filename; // +0x18, size 0x4, type 2
  495.     DWORD m_spellClassSet; // +0x1C, size 0x4, type 0
  496.     DWORD m_flags; // +0x20, size 0x4, type 0
  497.     DWORD m_cinematicSequenceID; // +0x24, size 0x4, type 0
  498.     DWORD m_attackPowerPerStrength; // +0x28, size 0x4, type 0
  499.     DWORD m_attackPowerPerAgility; // +0x2C, size 0x4, type 0
  500.     DWORD m_rangedAttackPowerPerAgility; // +0x30, size 0x4, type 0
  501.     DWORD m_defaultSpec; // +0x34, size 0x4, type 0
  502.     DWORD m_createScreenFileDataID; // +0x38, size 0x4, type 0
  503.     DWORD m_selectScreenFileDataID; // +0x3C, size 0x4, type 0
  504.     DWORD m_lowResScreenFileDataID; // +0x40, size 0x4, type 0
  505.     DWORD m_iconFileDataID; // +0x44, size 0x4, type 0
  506. };
  507.  
  508. // query: SELECT "CLASSID", "POWERTYPE" FROM "CHRCLASSESXPOWERTYPES" ORDER BY classID, powerType, ID
  509. struct ChrClassesXPowerTypesRec // sizeof(0xC)
  510. {
  511.     DWORD m_ID; // +0x0, size 0x4, type 0
  512.     DWORD m_classID; // +0x4, size 0x4, type 0
  513.     DWORD m_powerType; // +0x8, size 0x4, type 0
  514. };
  515.  
  516. // query: SELECT "ID", "FLAGS", "FACTIONID", "EXPLORATIONSOUNDID", "MALEDISPLAYID", "FEMALEDISPLAYID", "CLIENTPREFIX", "BASELANGUAGE", "CREATURETYPE", "RESSICKNESSSPELLID", "SPLASHSOUNDID", "CLIENTFILESTRING", "CINEMATICSEQUENCEID", "ALLIANCE", "NAME_LANG0", "NAME_FEMALE_LANG0", "NAME_MALE_LANG0", "FACIALHAIRCUSTOMIZATION0", "FACIALHAIRCUSTOMIZATION1", "HAIRCUSTOMIZATION", "RACE_RELATED", "UNALTEREDVISUALRACEID", "UAMALECREATURESOUNDDATAID", "UAFEMALECREATURESOUNDDATAID", "CHARCOMPONENTTEXTURELAYOUTID", "DEFAULTCLASSID", "CREATESCREENFILEDATAID", "SELECTSCREENFILEDATAID", "MALECUSTOMIZEOFFSETX", "MALECUSTOMIZEOFFSETY", "MALECUSTOMIZEOFFSETZ", "FEMALECUSTOMIZEOFFSETX", "FEMALECUSTOMIZEOFFSETY", "FEMALECUSTOMIZEOFFSETZ", "NEUTRALRACEID", "LOWRESSCREENFILEDATAID", "HIGHRESMALEDISPLAYID", "HIGHRESFEMALEDISPLAYID", "CHARCOMPONENTTEXLAYOUTHIRESID" FROM "CHRRACES" ORDER BY id, ID
  517. struct ChrRacesRec // sizeof(0x9C)
  518. {
  519.     DWORD m_ID; // +0x0, size 0x4, type 0
  520.     DWORD m_flags; // +0x4, size 0x4, type 0
  521.     DWORD m_factionID; // +0x8, size 0x4, type 0
  522.     DWORD m_ExplorationSoundID; // +0xC, size 0x4, type 0
  523.     DWORD m_MaleDisplayId; // +0x10, size 0x4, type 0
  524.     DWORD m_FemaleDisplayId; // +0x14, size 0x4, type 0
  525.     char* m_ClientPrefix; // +0x18, size 0x4, type 2
  526.     DWORD m_BaseLanguage; // +0x1C, size 0x4, type 0
  527.     DWORD m_creatureType; // +0x20, size 0x4, type 0
  528.     DWORD m_ResSicknessSpellID; // +0x24, size 0x4, type 0
  529.     DWORD m_SplashSoundID; // +0x28, size 0x4, type 0
  530.     char* m_clientFileString; // +0x2C, size 0x4, type 2
  531.     DWORD m_cinematicSequenceID; // +0x30, size 0x4, type 0
  532.     DWORD m_alliance; // +0x34, size 0x4, type 0
  533.     char* m_name_lang; // +0x38, size 0x4, type 2
  534.     char* m_name_female_lang; // +0x3C, size 0x4, type 2
  535.     char* m_name_male_lang; // +0x40, size 0x4, type 2
  536.     char* m_facialHairCustomization[2]; // +0x44, size 0x8, type 2
  537.     char* m_hairCustomization; // +0x4C, size 0x4, type 2
  538.     DWORD m_race_related; // +0x50, size 0x4, type 0
  539.     DWORD m_unalteredVisualRaceID; // +0x54, size 0x4, type 0
  540.     DWORD m_uaMaleCreatureSoundDataID; // +0x58, size 0x4, type 0
  541.     DWORD m_uaFemaleCreatureSoundDataID; // +0x5C, size 0x4, type 0
  542.     DWORD m_charComponentTextureLayoutID; // +0x60, size 0x4, type 0
  543.     DWORD m_defaultClassID; // +0x64, size 0x4, type 0
  544.     DWORD m_createScreenFileDataID; // +0x68, size 0x4, type 0
  545.     DWORD m_selectScreenFileDataID; // +0x6C, size 0x4, type 0
  546.     float m_maleCustomizeOffset[3]; // +0x70, size 0xC, type 3
  547.     float m_femaleCustomizeOffset[3]; // +0x7C, size 0xC, type 3
  548.     DWORD m_neutralRaceID; // +0x88, size 0x4, type 0
  549.     DWORD m_lowResScreenFileDataID; // +0x8C, size 0x4, type 0
  550.     DWORD m_HighResMaleDisplayId; // +0x90, size 0x4, type 0
  551.     DWORD m_HighResFemaleDisplayId; // +0x94, size 0x4, type 0
  552.     DWORD m_charComponentTexLayoutHiResID; // +0x98, size 0x4, type 0
  553. };
  554.  
  555. // query: SELECT "ID", "BACKGROUNDFILE", "CLASSID", "MASTERYSPELLID0", "MASTERYSPELLID01", "ORDERINDEX", "PETTALENTTYPE", "ROLE", "SPELLICONID", "RAIDBUFFS", "FLAGS", "NAME_LANG0", "DESCRIPTION_LANG0", "MAXBUFFS", "PRIMARYSTATORDER0", "PRIMARYSTATORDER1", "PRIMARYSTATORDER2" FROM "CHRSPECIALIZATION" WHERE orderIndex >= 0 ORDER BY orderIndex, ID
  556. struct ChrSpecializationRec // sizeof(0x44)
  557. {
  558.     DWORD m_ID; // +0x0, size 0x4, type 0
  559.     char* m_backgroundFile; // +0x4, size 0x4, type 2
  560.     DWORD m_classID; // +0x8, size 0x4, type 0
  561.     DWORD m_masterySpellID[2]; // +0xC, size 0x8, type 0
  562.     DWORD m_orderIndex; // +0x14, size 0x4, type 0
  563.     DWORD m_petTalentType; // +0x18, size 0x4, type 0
  564.     DWORD m_role; // +0x1C, size 0x4, type 0
  565.     DWORD m_spellIconID; // +0x20, size 0x4, type 0
  566.     DWORD m_raidBuffs; // +0x24, size 0x4, type 0
  567.     DWORD m_flags; // +0x28, size 0x4, type 0
  568.     char* m_name_lang; // +0x2C, size 0x4, type 2
  569.     char* m_description_lang; // +0x30, size 0x4, type 2
  570.     DWORD m_maxBuffs; // +0x34, size 0x4, type 0
  571.     DWORD m_primaryStatOrder[3]; // +0x38, size 0xC, type 0
  572. };
  573.  
  574. // query: SELECT "ID", "MODEL", "SOUNDID", "ORIGINX", "ORIGINY", "ORIGINZ", "ORIGINFACING" FROM "CINEMATICCAMERA" ORDER BY id, ID
  575. struct CinematicCameraRec // sizeof(0x1C)
  576. {
  577.     DWORD m_ID; // +0x0, size 0x4, type 0
  578.     char* m_model; // +0x4, size 0x4, type 2
  579.     DWORD m_soundID; // +0x8, size 0x4, type 0
  580.     float m_origin[3]; // +0xC, size 0xC, type 3
  581.     float m_originFacing; // +0x18, size 0x4, type 3
  582. };
  583.  
  584. // query: SELECT "ID", "SOUNDID", "CAMERA0", "CAMERA1", "CAMERA2", "CAMERA3", "CAMERA4", "CAMERA5", "CAMERA6", "CAMERA7" FROM "CINEMATICSEQUENCES" ORDER BY id, ID
  585. struct CinematicSequencesRec // sizeof(0x28)
  586. {
  587.     DWORD m_ID; // +0x0, size 0x4, type 0
  588.     DWORD m_soundID; // +0x4, size 0x4, type 0
  589.     DWORD m_camera[8]; // +0x8, size 0x20, type 0
  590. };
  591.  
  592. // query: SELECT "ID", "WORLDSTATEEXPRESSIONID", "SELFCONDITIONID", "TARGETCONDITIONID", "FRIENDCONDITIONID", "FRIENDCONDITIONID1", "FRIENDCONDITIONOP", "FRIENDCONDITIONOP1", "FRIENDCONDITIONCOUNT", "FRIENDCONDITIONCOUNT1", "FRIENDCONDITIONLOGIC", "ENEMYCONDITIONID", "ENEMYCONDITIONID1", "ENEMYCONDITIONOP", "ENEMYCONDITIONOP1", "ENEMYCONDITIONCOUNT", "ENEMYCONDITIONCOUNT1", "ENEMYCONDITIONLOGIC" FROM "COMBATCONDITION" ORDER BY  ID
  593. struct CombatConditionRec // sizeof(0x48)
  594. {
  595.     DWORD m_ID; // +0x0, size 0x4, type 0
  596.     DWORD m_worldStateExpressionID; // +0x4, size 0x4, type 0
  597.     DWORD m_selfConditionID; // +0x8, size 0x4, type 0
  598.     DWORD m_targetConditionID; // +0xC, size 0x4, type 0
  599.     DWORD m_friendConditionID[2]; // +0x10, size 0x8, type 0
  600.     DWORD m_friendConditionOp[2]; // +0x18, size 0x8, type 0
  601.     DWORD m_friendConditionCount[2]; // +0x20, size 0x8, type 0
  602.     DWORD m_friendConditionLogic; // +0x28, size 0x4, type 0
  603.     DWORD m_enemyConditionID[2]; // +0x2C, size 0x8, type 0
  604.     DWORD m_enemyConditionOp[2]; // +0x34, size 0x8, type 0
  605.     DWORD m_enemyConditionCount[2]; // +0x3C, size 0x8, type 0
  606.     DWORD m_enemyConditionLogic; // +0x44, size 0x4, type 0
  607. };
  608.  
  609. // query: SELECT "ID", "NAME", "SCRIPT" FROM "CONSOLESCRIPTS" ORDER BY  ID
  610. struct ConsoleScriptsRec // sizeof(0xC)
  611. {
  612.     DWORD m_ID; // +0x0, size 0x4, type 0
  613.     char* m_name; // +0x4, size 0x4, type 2
  614.     char* m_script; // +0x8, size 0x4, type 2
  615. };
  616.  
  617. // query: SELECT "ID", "DISPLAYRACEID", "DISPLAYSEXID", "SKINID", "FACEID", "HAIRSTYLEID", "HAIRCOLORID", "FACIALHAIRID", "NPCITEMDISPLAY0", "NPCITEMDISPLAY1", "NPCITEMDISPLAY2", "NPCITEMDISPLAY3", "NPCITEMDISPLAY4", "NPCITEMDISPLAY5", "NPCITEMDISPLAY6", "NPCITEMDISPLAY7", "NPCITEMDISPLAY8", "NPCITEMDISPLAY9", "NPCITEMDISPLAY10", "FLAGS", "FILEDATAID", "HDFILEDATAID" FROM "CREATUREDISPLAYINFOEXTRA" ORDER BY id, ID
  618. struct CreatureDisplayInfoExtraRec // sizeof(0x58)
  619. {
  620.     DWORD m_ID; // +0x0, size 0x4, type 0
  621.     DWORD m_DisplayRaceID; // +0x4, size 0x4, type 0
  622.     DWORD m_DisplaySexID; // +0x8, size 0x4, type 0
  623.     DWORD m_SkinID; // +0xC, size 0x4, type 0
  624.     DWORD m_FaceID; // +0x10, size 0x4, type 0
  625.     DWORD m_HairStyleID; // +0x14, size 0x4, type 0
  626.     DWORD m_HairColorID; // +0x18, size 0x4, type 0
  627.     DWORD m_FacialHairID; // +0x1C, size 0x4, type 0
  628.     DWORD m_NPCItemDisplay[11]; // +0x20, size 0x2C, type 0
  629.     DWORD m_flags; // +0x4C, size 0x4, type 0
  630.     DWORD m_fileDataID; // +0x50, size 0x4, type 0
  631.     DWORD m_hdFileDataID; // +0x54, size 0x4, type 0
  632. };
  633.  
  634. // query: SELECT "ID", "MODELID", "SOUNDID", "EXTENDEDDISPLAYINFOID", "CREATUREMODELSCALE", "CREATUREMODELALPHA", "TEXTUREVARIATION0", "TEXTUREVARIATION1", "TEXTUREVARIATION2", "PORTRAITTEXTURENAME", "PORTRAITCREATUREDISPLAYINFOID", "SIZECLASS", "BLOODID", "NPCSOUNDID", "PARTICLECOLORID", "CREATUREGEOSETDATA", "OBJECTEFFECTPACKAGEID", "ANIMREPLACEMENTSETID", "FLAGS", "GENDER", "STATESPELLVISUALKITID" FROM "CREATUREDISPLAYINFO" ORDER BY id, ID
  635. struct CreatureDisplayInfoRec // sizeof(0x54)
  636. {
  637.     DWORD m_ID; // +0x0, size 0x4, type 0
  638.     DWORD m_modelID; // +0x4, size 0x4, type 0
  639.     DWORD m_soundID; // +0x8, size 0x4, type 0
  640.     DWORD m_extendedDisplayInfoID; // +0xC, size 0x4, type 0
  641.     float m_creatureModelScale; // +0x10, size 0x4, type 3
  642.     DWORD m_creatureModelAlpha; // +0x14, size 0x4, type 0
  643.     char* m_textureVariation[3]; // +0x18, size 0xC, type 2
  644.     char* m_portraitTextureName; // +0x24, size 0x4, type 2
  645.     DWORD m_portraitCreatureDisplayInfoID; // +0x28, size 0x4, type 0
  646.     DWORD m_sizeClass; // +0x2C, size 0x4, type 0
  647.     DWORD m_bloodID; // +0x30, size 0x4, type 0
  648.     DWORD m_NPCSoundID; // +0x34, size 0x4, type 0
  649.     DWORD m_particleColorID; // +0x38, size 0x4, type 0
  650.     DWORD m_creatureGeosetData; // +0x3C, size 0x4, type 0
  651.     DWORD m_objectEffectPackageID; // +0x40, size 0x4, type 0
  652.     DWORD m_animReplacementSetID; // +0x44, size 0x4, type 0
  653.     DWORD m_flags; // +0x48, size 0x4, type 0
  654.     DWORD m_gender; // +0x4C, size 0x4, type 0
  655.     DWORD m_stateSpellVisualKitID; // +0x50, size 0x4, type 0
  656. };
  657.  
  658. // query: SELECT "ID", "MINSCALE", "MINSCALELEVEL", "MAXSCALE", "MAXSCALELEVEL", "SKILLLINE", "SKILLLINE1", "PETFOODMASK", "PETTALENTTYPE", "CATEGORYENUMID", "NAME_LANG0", "ICONFILE" FROM "CREATUREFAMILY" ORDER BY id, ID
  659. struct CreatureFamilyRec // sizeof(0x30)
  660. {
  661.     DWORD m_ID; // +0x0, size 0x4, type 0
  662.     float m_minScale; // +0x4, size 0x4, type 3
  663.     DWORD m_minScaleLevel; // +0x8, size 0x4, type 0
  664.     float m_maxScale; // +0xC, size 0x4, type 3
  665.     DWORD m_maxScaleLevel; // +0x10, size 0x4, type 0
  666.     DWORD m_skillLine[2]; // +0x14, size 0x8, type 0
  667.     DWORD m_petFoodMask; // +0x1C, size 0x4, type 0
  668.     DWORD m_petTalentType; // +0x20, size 0x4, type 0
  669.     DWORD m_categoryEnumID; // +0x24, size 0x4, type 0
  670.     char* m_name_lang; // +0x28, size 0x4, type 2
  671.     char* m_iconFile; // +0x2C, size 0x4, type 2
  672. };
  673.  
  674. // query: SELECT "ID", "SCHOOL", "DISPELTYPE", "MECHANICSALLOWED", "MECHANIC", "EFFECTSALLOWED", "EFFECT0", "EFFECT1", "EFFECT2", "EFFECT3", "EFFECT4", "EFFECT5", "EFFECT6", "STATESALLOWED", "STATE0", "STATE1", "STATE2", "STATE3", "STATE4", "STATE5", "STATE6", "STATE7", "STATE8", "STATE9", "STATE10", "STATE11", "STATE12", "STATE13", "STATE14", "FLAGS" FROM "CREATUREIMMUNITIES" WHERE BITAND(flags, 4) > 0 ORDER BY  ID
  675. struct CreatureImmunitiesRec // sizeof(0x78)
  676. {
  677.     DWORD m_ID; // +0x0, size 0x4, type 0
  678.     DWORD m_school; // +0x4, size 0x4, type 0
  679.     DWORD m_dispelType; // +0x8, size 0x4, type 0
  680.     DWORD m_mechanicsAllowed; // +0xC, size 0x4, type 0
  681.     DWORD m_mechanic; // +0x10, size 0x4, type 0
  682.     DWORD m_effectsAllowed; // +0x14, size 0x4, type 0
  683.     DWORD m_effect[7]; // +0x18, size 0x1C, type 0
  684.     DWORD m_statesAllowed; // +0x34, size 0x4, type 0
  685.     DWORD m_state[15]; // +0x38, size 0x3C, type 0
  686.     DWORD m_flags; // +0x74, size 0x4, type 0
  687. };
  688.  
  689. // query: SELECT "ID", "FLAGS", "FILEDATAID", "SIZECLASS", "MODELSCALE", "BLOODID", "FOOTPRINTTEXTUREID", "FOOTPRINTTEXTURELENGTH", "FOOTPRINTTEXTUREWIDTH", "FOOTPRINTPARTICLESCALE", "FOLEYMATERIALID", "FOOTSTEPSHAKESIZE", "DEATHTHUDSHAKESIZE", "SOUNDID", "COLLISIONWIDTH", "COLLISIONHEIGHT", "MOUNTHEIGHT", "GEOBOXMINX", "GEOBOXMINY", "GEOBOXMINZ", "GEOBOXMAXX", "GEOBOXMAXY", "GEOBOXMAXZ", "WORLDEFFECTSCALE", "ATTACHEDEFFECTSCALE", "MISSILECOLLISIONRADIUS", "MISSILECOLLISIONPUSH", "MISSILECOLLISIONRAISE", "OVERRIDELOOTEFFECTSCALE", "OVERRIDENAMESCALE", "OVERRIDESELECTIONRADIUS", "TAMEDPETBASESCALE", "CREATUREGEOSETDATAID", "HOVERHEIGHT" FROM "VW_CREATUREMODELDATA" ORDER BY id, ID
  690. struct CreatureModelDataRec // sizeof(0x88)
  691. {
  692.     DWORD m_ID; // +0x0, size 0x4, type 0
  693.     DWORD m_flags; // +0x4, size 0x4, type 0
  694.     DWORD m_fileDataID; // +0x8, size 0x4, type 0
  695.     DWORD m_sizeClass; // +0xC, size 0x4, type 0
  696.     float m_modelScale; // +0x10, size 0x4, type 3
  697.     DWORD m_bloodID; // +0x14, size 0x4, type 0
  698.     DWORD m_footprintTextureID; // +0x18, size 0x4, type 0
  699.     float m_footprintTextureLength; // +0x1C, size 0x4, type 3
  700.     float m_footprintTextureWidth; // +0x20, size 0x4, type 3
  701.     float m_footprintParticleScale; // +0x24, size 0x4, type 3
  702.     DWORD m_foleyMaterialID; // +0x28, size 0x4, type 0
  703.     DWORD m_footstepShakeSize; // +0x2C, size 0x4, type 0
  704.     DWORD m_deathThudShakeSize; // +0x30, size 0x4, type 0
  705.     DWORD m_soundID; // +0x34, size 0x4, type 0
  706.     float m_collisionWidth; // +0x38, size 0x4, type 3
  707.     float m_collisionHeight; // +0x3C, size 0x4, type 3
  708.     float m_mountHeight; // +0x40, size 0x4, type 3
  709.     float m_geoBoxMin[3]; // +0x44, size 0xC, type 3
  710.     float m_geoBoxMax[3]; // +0x50, size 0xC, type 3
  711.     float m_worldEffectScale; // +0x5C, size 0x4, type 3
  712.     float m_attachedEffectScale; // +0x60, size 0x4, type 3
  713.     float m_missileCollisionRadius; // +0x64, size 0x4, type 3
  714.     float m_missileCollisionPush; // +0x68, size 0x4, type 3
  715.     float m_missileCollisionRaise; // +0x6C, size 0x4, type 3
  716.     float m_overrideLootEffectScale; // +0x70, size 0x4, type 3
  717.     float m_overrideNameScale; // +0x74, size 0x4, type 3
  718.     float m_overrideSelectionRadius; // +0x78, size 0x4, type 3
  719.     float m_tamedPetBaseScale; // +0x7C, size 0x4, type 3
  720.     DWORD m_creatureGeosetDataID; // +0x80, size 0x4, type 0
  721.     float m_hoverHeight; // +0x84, size 0x4, type 3
  722. };
  723.  
  724. // query: SELECT "ID", "SMOOTHFACINGCHASERATE" FROM "CREATUREMOVEMENTINFO" ORDER BY  ID
  725. struct CreatureMovementInfoRec // sizeof(0x8)
  726. {
  727.     DWORD m_ID; // +0x0, size 0x4, type 0
  728.     float m_smoothFacingChaseRate; // +0x4, size 0x4, type 3
  729. };
  730.  
  731. // query: SELECT "ID", "SOUNDEXERTIONID", "SOUNDEXERTIONCRITICALID", "SOUNDINJURYID", "SOUNDINJURYCRITICALID", "SOUNDINJURYCRUSHINGBLOWID", "SOUNDDEATHID", "SOUNDSTUNID", "SOUNDSTANDID", "SOUNDFOOTSTEPID", "SOUNDAGGROID", "SOUNDWINGFLAPID", "SOUNDWINGGLIDEID", "SOUNDALERTID", "SOUNDFIDGET0", "SOUNDFIDGET1", "SOUNDFIDGET2", "SOUNDFIDGET3", "SOUNDFIDGET4", "CUSTOMATTACK0", "CUSTOMATTACK1", "CUSTOMATTACK2", "CUSTOMATTACK3", "NPCSOUNDID", "LOOPSOUNDID", "CREATUREIMPACTTYPE", "SOUNDJUMPSTARTID", "SOUNDJUMPENDID", "SOUNDPETATTACKID", "SOUNDPETORDERID", "SOUNDPETDISMISSID", "FIDGETDELAYSECONDSMIN", "FIDGETDELAYSECONDSMAX", "BIRTHSOUNDID", "SPELLCASTDIRECTEDSOUNDID", "SUBMERGESOUNDID", "SUBMERGEDSOUNDID", "CREATURESOUNDDATAIDPET", "TRANSFORMSOUNDID", "TRANSFORMANIMATEDSOUNDID" FROM "CREATURESOUNDDATA" ORDER BY id, ID
  732. struct CreatureSoundDataRec // sizeof(0xA0)
  733. {
  734.     DWORD m_ID; // +0x0, size 0x4, type 0
  735.     DWORD m_soundExertionID; // +0x4, size 0x4, type 0
  736.     DWORD m_soundExertionCriticalID; // +0x8, size 0x4, type 0
  737.     DWORD m_soundInjuryID; // +0xC, size 0x4, type 0
  738.     DWORD m_soundInjuryCriticalID; // +0x10, size 0x4, type 0
  739.     DWORD m_soundInjuryCrushingBlowID; // +0x14, size 0x4, type 0
  740.     DWORD m_soundDeathID; // +0x18, size 0x4, type 0
  741.     DWORD m_soundStunID; // +0x1C, size 0x4, type 0
  742.     DWORD m_soundStandID; // +0x20, size 0x4, type 0
  743.     DWORD m_soundFootstepID; // +0x24, size 0x4, type 0
  744.     DWORD m_soundAggroID; // +0x28, size 0x4, type 0
  745.     DWORD m_soundWingFlapID; // +0x2C, size 0x4, type 0
  746.     DWORD m_soundWingGlideID; // +0x30, size 0x4, type 0
  747.     DWORD m_soundAlertID; // +0x34, size 0x4, type 0
  748.     DWORD m_soundFidget[5]; // +0x38, size 0x14, type 0
  749.     DWORD m_customAttack[4]; // +0x4C, size 0x10, type 0
  750.     DWORD m_NPCSoundID; // +0x5C, size 0x4, type 0
  751.     DWORD m_loopSoundID; // +0x60, size 0x4, type 0
  752.     DWORD m_creatureImpactType; // +0x64, size 0x4, type 0
  753.     DWORD m_soundJumpStartID; // +0x68, size 0x4, type 0
  754.     DWORD m_soundJumpEndID; // +0x6C, size 0x4, type 0
  755.     DWORD m_soundPetAttackID; // +0x70, size 0x4, type 0
  756.     DWORD m_soundPetOrderID; // +0x74, size 0x4, type 0
  757.     DWORD m_soundPetDismissID; // +0x78, size 0x4, type 0
  758.     float m_fidgetDelaySecondsMin; // +0x7C, size 0x4, type 3
  759.     float m_fidgetDelaySecondsMax; // +0x80, size 0x4, type 3
  760.     DWORD m_birthSoundID; // +0x84, size 0x4, type 0
  761.     DWORD m_spellCastDirectedSoundID; // +0x88, size 0x4, type 0
  762.     DWORD m_submergeSoundID; // +0x8C, size 0x4, type 0
  763.     DWORD m_submergedSoundID; // +0x90, size 0x4, type 0
  764.     DWORD m_creatureSoundDataIDPet; // +0x94, size 0x4, type 0
  765.     DWORD m_transformSoundID; // +0x98, size 0x4, type 0
  766.     DWORD m_transformAnimatedSoundID; // +0x9C, size 0x4, type 0
  767. };
  768.  
  769. // query: SELECT "ID", "SPELLS0", "SPELLS01", "SPELLS02", "SPELLS03", "AVAILABILITY0", "AVAILABILITY01", "AVAILABILITY02", "AVAILABILITY03" FROM "CREATURESPELLDATA" WHERE ID IN (SELECT petSpellsID FROM Creature) ORDER BY id, ID
  770. struct CreatureSpellDataRec // sizeof(0x24)
  771. {
  772.     DWORD m_ID; // +0x0, size 0x4, type 0
  773.     DWORD m_spells[4]; // +0x4, size 0x10, type 0
  774.     DWORD m_availability[4]; // +0x14, size 0x10, type 0
  775. };
  776.  
  777. // query: SELECT "ID", "NAME_LANG0", "FLAGS" FROM "CREATURETYPE" ORDER BY id, ID
  778. struct CreatureTypeRec // sizeof(0xC)
  779. {
  780.     DWORD m_ID; // +0x0, size 0x4, type 0
  781.     char* m_name_lang; // +0x4, size 0x4, type 2
  782.     DWORD m_flags; // +0x8, size 0x4, type 0
  783. };
  784.  
  785. // query: SELECT "ID", "TYPE", "ASSET", "START_EVENT", "START_ASSET", "START_TIMER", "FAIL_EVENT", "FAIL_ASSET", "MODIFIER_TREE_ID", "FLAGS", "ELIGIBILITY_WORLD_STATE_ID", "ELIGIBILITY_WORLD_STATE_VALUE" FROM "CRITERIA" WHERE BITAND(flags,4) = 0 ORDER BY  ID
  786. struct CriteriaRec // sizeof(0x30)
  787. {
  788.     DWORD m_ID; // +0x0, size 0x4, type 0
  789.     DWORD m_type; // +0x4, size 0x4, type 0
  790.     DWORD m_asset; // +0x8, size 0x4, type 0
  791.     DWORD m_start_event; // +0xC, size 0x4, type 0
  792.     DWORD m_start_asset; // +0x10, size 0x4, type 0
  793.     DWORD m_start_timer; // +0x14, size 0x4, type 0
  794.     DWORD m_fail_event; // +0x18, size 0x4, type 0
  795.     DWORD m_fail_asset; // +0x1C, size 0x4, type 0
  796.     DWORD m_modifier_tree_id; // +0x20, size 0x4, type 0
  797.     DWORD m_flags; // +0x24, size 0x4, type 0
  798.     DWORD m_eligibility_world_state_ID; // +0x28, size 0x4, type 0
  799.     DWORD m_eligibility_world_state_value; // +0x2C, size 0x4, type 0
  800. };
  801.  
  802. // query: SELECT "ID", "CRITERIAID", "AMOUNT", "OPERATOR", "PARENT", "FLAGS", "DESCRIPTION_LANG0", "ORDERINDEX" FROM "CRITERIATREE" ORDER BY (SELECT MAX(LEVEL) FROM CriteriaTree CT START WITH CT.ID = CriteriaTree.ID CONNECT BY PRIOR Parent = ID), OrderIndex, ID
  803. struct CriteriaTreeRec // sizeof(0x28)
  804. {
  805.     DWORD m_ID; // +0x0, size 0x4, type 0
  806.     DWORD m_criteriaID; // +0x4, size 0x4, type 0
  807.     QWORD m_amount; // +0x8, size 0x8, type 1
  808.     DWORD m_operator; // +0x10, size 0x4, type 0
  809.     DWORD m_parent; // +0x14, size 0x4, type 0
  810.     DWORD m_flags; // +0x18, size 0x4, type 0
  811.     char* m_description_lang; // +0x1C, size 0x4, type 2
  812.     DWORD m_orderIndex; // +0x20, size 0x4, type 0
  813.     BYTE padding[4];
  814. };
  815.  
  816. // query: SELECT "ID", "CRITERIATREEID", "WORLDEFFECTID" FROM "CRITERIATREEXEFFECT" ORDER BY criteriaTreeID, worldEffectID, ID
  817. struct CriteriaTreeXEffectRec // sizeof(0xC)
  818. {
  819.     DWORD m_ID; // +0x0, size 0x4, type 0
  820.     DWORD m_criteriaTreeID; // +0x4, size 0x4, type 0
  821.     DWORD m_worldEffectID; // +0x8, size 0x4, type 0
  822. };
  823.  
  824. // query: SELECT "ID", "FLAGS", "NAME_LANG0" FROM "CURRENCYCATEGORY" ORDER BY BITAND(flags, 2), ID
  825. struct CurrencyCategoryRec // sizeof(0xC)
  826. {
  827.     DWORD m_ID; // +0x0, size 0x4, type 0
  828.     DWORD m_flags; // +0x4, size 0x4, type 0
  829.     char* m_name_lang; // +0x8, size 0x4, type 2
  830. };
  831.  
  832. // query: SELECT "ID", "CATEGORYID", "NAME_LANG0", "INVENTORYICON", "INVENTORYICON1", "SPELLWEIGHT", "SPELLCATEGORY", "MAXQTY", "MAXEARNABLEPERWEEK", "FLAGS", "QUALITY", "DESCRIPTION_LANG0" FROM "CURRENCYTYPES" ORDER BY categoryID, ID
  833. struct CurrencyTypesRec // sizeof(0x30)
  834. {
  835.     DWORD m_ID; // +0x0, size 0x4, type 0
  836.     DWORD m_categoryID; // +0x4, size 0x4, type 0
  837.     char* m_name_lang; // +0x8, size 0x4, type 2
  838.     char* m_inventoryIcon[2]; // +0xC, size 0x8, type 2
  839.     DWORD m_spellWeight; // +0x14, size 0x4, type 0
  840.     DWORD m_spellCategory; // +0x18, size 0x4, type 0
  841.     DWORD m_maxQty; // +0x1C, size 0x4, type 0
  842.     DWORD m_maxEarnablePerWeek; // +0x20, size 0x4, type 0
  843.     DWORD m_flags; // +0x24, size 0x4, type 0
  844.     DWORD m_quality; // +0x28, size 0x4, type 0
  845.     char* m_description_lang; // +0x2C, size 0x4, type 2
  846. };
  847.  
  848. // query: SELECT "ID", "SIZECLASS", "TERRAINTYPESOUNDID", "SOUNDENTRYID", "SOUNDENTRYIDWATER" FROM "DEATHTHUDLOOKUPS" ORDER BY id, ID
  849. struct DeathThudLookupsRec // sizeof(0x14)
  850. {
  851.     DWORD m_ID; // +0x0, size 0x4, type 0
  852.     DWORD m_SizeClass; // +0x4, size 0x4, type 0
  853.     DWORD m_TerrainTypeSoundID; // +0x8, size 0x4, type 0
  854.     DWORD m_SoundEntryID; // +0xC, size 0x4, type 0
  855.     DWORD m_SoundEntryIDWater; // +0x10, size 0x4, type 0
  856. };
  857.  
  858. // query: SELECT "ID", "DECLINEDWORDID", "CASEINDEX", "DECLINEDWORD" FROM "DECLINEDWORDCASES" ORDER BY declinedWordID, caseIndex, ID
  859. struct DeclinedWordCasesRec // sizeof(0x10)
  860. {
  861.     DWORD m_ID; // +0x0, size 0x4, type 0
  862.     DWORD m_declinedWordID; // +0x4, size 0x4, type 0
  863.     DWORD m_caseIndex; // +0x8, size 0x4, type 0
  864.     char* m_declinedWord; // +0xC, size 0x4, type 2
  865. };
  866.  
  867. // query: SELECT "ID", "WORD" FROM "DECLINEDWORD" ORDER BY ID, ID
  868. struct DeclinedWordRec // sizeof(0x8)
  869. {
  870.     DWORD m_ID; // +0x0, size 0x4, type 0
  871.     char* m_word; // +0x4, size 0x4, type 2
  872. };
  873.  
  874. // query: SELECT "ID", "STATE0WMO", "STATE0IMPACTEFFECTDOODADSET", "STATE0AMBIENTDOODADSET", "STATE0NAMESET", "STATE1WMO", "STATE1DESTRUCTIONDOODADSET", "STATE1IMPACTEFFECTDOODADSET", "STATE1AMBIENTDOODADSET", "STATE1NAMESET", "STATE2WMO", "STATE2DESTRUCTIONDOODADSET", "STATE2IMPACTEFFECTDOODADSET", "STATE2AMBIENTDOODADSET", "STATE2NAMESET", "STATE3WMO", "STATE3INITDOODADSET", "STATE3AMBIENTDOODADSET", "STATE3NAMESET", "EJECTDIRECTION", "REPAIRGROUNDFX", "DONOTHIGHLIGHT", "HEALEFFECT", "HEALEFFECTSPEED" FROM "DESTRUCTIBLEMODELDATA" ORDER BY  ID
  875. struct DestructibleModelDataRec // sizeof(0x60)
  876. {
  877.     DWORD m_ID; // +0x0, size 0x4, type 0
  878.     DWORD m_state0Wmo; // +0x4, size 0x4, type 0
  879.     DWORD m_state0ImpactEffectDoodadSet; // +0x8, size 0x4, type 0
  880.     DWORD m_state0AmbientDoodadSet; // +0xC, size 0x4, type 0
  881.     DWORD m_state0NameSet; // +0x10, size 0x4, type 0
  882.     DWORD m_state1Wmo; // +0x14, size 0x4, type 0
  883.     DWORD m_state1DestructionDoodadSet; // +0x18, size 0x4, type 0
  884.     DWORD m_state1ImpactEffectDoodadSet; // +0x1C, size 0x4, type 0
  885.     DWORD m_state1AmbientDoodadSet; // +0x20, size 0x4, type 0
  886.     DWORD m_state1NameSet; // +0x24, size 0x4, type 0
  887.     DWORD m_state2Wmo; // +0x28, size 0x4, type 0
  888.     DWORD m_state2DestructionDoodadSet; // +0x2C, size 0x4, type 0
  889.     DWORD m_state2ImpactEffectDoodadSet; // +0x30, size 0x4, type 0
  890.     DWORD m_state2AmbientDoodadSet; // +0x34, size 0x4, type 0
  891.     DWORD m_state2NameSet; // +0x38, size 0x4, type 0
  892.     DWORD m_state3Wmo; // +0x3C, size 0x4, type 0
  893.     DWORD m_state3InitDoodadSet; // +0x40, size 0x4, type 0
  894.     DWORD m_state3AmbientDoodadSet; // +0x44, size 0x4, type 0
  895.     DWORD m_state3NameSet; // +0x48, size 0x4, type 0
  896.     DWORD m_ejectDirection; // +0x4C, size 0x4, type 0
  897.     DWORD m_repairGroundFx; // +0x50, size 0x4, type 0
  898.     DWORD m_doNotHighlight; // +0x54, size 0x4, type 0
  899.     DWORD m_healEffect; // +0x58, size 0x4, type 0
  900.     DWORD m_healEffectSpeed; // +0x5C, size 0x4, type 0
  901. };
  902.  
  903. // query: SELECT "ID", "FALLBACKDIFFICULTYID", "INSTANCETYPE", "MINPLAYERS", "MAXPLAYERS", "OLDENUMVALUE", "FLAGS", "TOGGLEDIFFICULTYID", "GROUPSIZEHEALTHCURVEID", "GROUPSIZEDMGCURVEID", "GROUPSIZESPELLPOINTSCURVEID", "NAME_LANG0" FROM "DIFFICULTY" ORDER BY  ID
  904. struct DifficultyRec // sizeof(0x30)
  905. {
  906.     DWORD m_ID; // +0x0, size 0x4, type 0
  907.     DWORD m_fallbackDifficultyID; // +0x4, size 0x4, type 0
  908.     DWORD m_instanceType; // +0x8, size 0x4, type 0
  909.     DWORD m_minPlayers; // +0xC, size 0x4, type 0
  910.     DWORD m_maxPlayers; // +0x10, size 0x4, type 0
  911.     DWORD m_oldEnumValue; // +0x14, size 0x4, type 0
  912.     DWORD m_flags; // +0x18, size 0x4, type 0
  913.     DWORD m_toggleDifficultyID; // +0x1C, size 0x4, type 0
  914.     DWORD m_groupSizeHealthCurveID; // +0x20, size 0x4, type 0
  915.     DWORD m_groupSizeDmgCurveID; // +0x24, size 0x4, type 0
  916.     DWORD m_groupSizeSpellPointsCurveID; // +0x28, size 0x4, type 0
  917.     char* m_name_lang; // +0x2C, size 0x4, type 2
  918. };
  919.  
  920. // query: SELECT "ID", NVL(MAPID, -1) AS "MAPID", "DIFFICULTYID", "ORDERINDEX", "BIT", "NAME_LANG0", "CREATUREDISPLAYID", "SPELLICONID", "FLAGS" FROM "DUNGEONENCOUNTER" ORDER BY mapID, orderIndex, ID, ID
  921. struct DungeonEncounterRec // sizeof(0x24)
  922. {
  923.     DWORD m_ID; // +0x0, size 0x4, type 0
  924.     DWORD m_mapID; // +0x4, size 0x4, type 0
  925.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  926.     DWORD m_orderIndex; // +0xC, size 0x4, type 0
  927.     DWORD m_Bit; // +0x10, size 0x4, type 0
  928.     char* m_name_lang; // +0x14, size 0x4, type 2
  929.     DWORD m_CreatureDisplayID; // +0x18, size 0x4, type 0
  930.     DWORD m_spellIconID; // +0x1C, size 0x4, type 0
  931.     DWORD m_flags; // +0x20, size 0x4, type 0
  932. };
  933.  
  934. // query: SELECT "ID", NVL(MAPID, -1) AS "MAPID", "WMOGROUPID", "DUNGEONMAPID", "MINZ", "DOODADPLACEMENTID" FROM "DUNGEONMAPCHUNK" ORDER BY mapID, wmoGroupID, minZ, id, ID
  935. struct DungeonMapChunkRec // sizeof(0x18)
  936. {
  937.     DWORD m_ID; // +0x0, size 0x4, type 0
  938.     DWORD m_mapID; // +0x4, size 0x4, type 0
  939.     DWORD m_wmoGroupID; // +0x8, size 0x4, type 0
  940.     DWORD m_dungeonMapID; // +0xC, size 0x4, type 0
  941.     float m_minZ; // +0x10, size 0x4, type 3
  942.     DWORD m_doodadPlacementID; // +0x14, size 0x4, type 0
  943. };
  944.  
  945. // query: SELECT "ID", NVL(MAPID, -1) AS "MAPID", "FLOORINDEX", "MINX", "MINY", "MAXX", "MAXY", "PARENTWORLDMAPID", "FLAGS" FROM "DUNGEONMAP" ORDER BY mapID, floorIndex, id, ID
  946. struct DungeonMapRec // sizeof(0x24)
  947. {
  948.     DWORD m_ID; // +0x0, size 0x4, type 0
  949.     DWORD m_mapID; // +0x4, size 0x4, type 0
  950.     DWORD m_floorIndex; // +0x8, size 0x4, type 0
  951.     float m_min[2]; // +0xC, size 0x8, type 3
  952.     float m_max[2]; // +0x14, size 0x8, type 3
  953.     DWORD m_parentWorldMapID; // +0x1C, size 0x4, type 0
  954.     DWORD m_flags; // +0x20, size 0x4, type 0
  955. };
  956.  
  957. // query: SELECT "ID", "WEAPONSUBCLASSCOST0", "WEAPONSUBCLASSCOST1", "WEAPONSUBCLASSCOST2", "WEAPONSUBCLASSCOST3", "WEAPONSUBCLASSCOST4", "WEAPONSUBCLASSCOST5", "WEAPONSUBCLASSCOST6", "WEAPONSUBCLASSCOST7", "WEAPONSUBCLASSCOST8", "WEAPONSUBCLASSCOST9", "WEAPONSUBCLASSCOST10", "WEAPONSUBCLASSCOST11", "WEAPONSUBCLASSCOST12", "WEAPONSUBCLASSCOST13", "WEAPONSUBCLASSCOST14", "WEAPONSUBCLASSCOST15", "WEAPONSUBCLASSCOST16", "WEAPONSUBCLASSCOST17", "WEAPONSUBCLASSCOST18", "WEAPONSUBCLASSCOST19", "WEAPONSUBCLASSCOST20", "ARMORSUBCLASSCOST0", "ARMORSUBCLASSCOST1", "ARMORSUBCLASSCOST2", "ARMORSUBCLASSCOST3", "ARMORSUBCLASSCOST4", "ARMORSUBCLASSCOST5", "ARMORSUBCLASSCOST6", "ARMORSUBCLASSCOST7" FROM "DURABILITYCOSTS" ORDER BY ID, ID
  958. struct DurabilityCostsRec // sizeof(0x78)
  959. {
  960.     DWORD m_ID; // +0x0, size 0x4, type 0
  961.     DWORD m_weaponSubClassCost[21]; // +0x4, size 0x54, type 0
  962.     DWORD m_armorSubClassCost[8]; // +0x58, size 0x20, type 0
  963. };
  964.  
  965. // query: SELECT "ID", "DATA" FROM "DURABILITYQUALITY" ORDER BY ID, ID
  966. struct DurabilityQualityRec // sizeof(0x8)
  967. {
  968.     DWORD m_ID; // +0x0, size 0x4, type 0
  969.     float m_data; // +0x4, size 0x4, type 3
  970. };
  971.  
  972. // query: SELECT "ID", "EMOTESLASHCOMMAND", "ANIMID", "EMOTEFLAGS", "EMOTESPECPROC", "EMOTESPECPROCPARAM", "EVENTSOUNDID", "SPELLVISUALKITID" FROM "EMOTES" ORDER BY id, ID
  973. struct EmotesRec // sizeof(0x20)
  974. {
  975.     DWORD m_ID; // +0x0, size 0x4, type 0
  976.     char* m_EmoteSlashCommand; // +0x4, size 0x4, type 2
  977.     DWORD m_AnimID; // +0x8, size 0x4, type 0
  978.     DWORD m_EmoteFlags; // +0xC, size 0x4, type 0
  979.     DWORD m_EmoteSpecProc; // +0x10, size 0x4, type 0
  980.     DWORD m_EmoteSpecProcParam; // +0x14, size 0x4, type 0
  981.     DWORD m_EventSoundID; // +0x18, size 0x4, type 0
  982.     DWORD m_SpellVisualKitID; // +0x1C, size 0x4, type 0
  983. };
  984.  
  985. // query: SELECT "ID", "TEXT_LANG0" FROM "EMOTESTEXTDATA" ORDER BY id, ID
  986. struct EmotesTextDataRec // sizeof(0x8)
  987. {
  988.     DWORD m_ID; // +0x0, size 0x4, type 0
  989.     char* m_text_lang; // +0x4, size 0x4, type 2
  990. };
  991.  
  992. // query: SELECT "ID", "NAME", "EMOTEID", "EMOTETEXT0", "EMOTETEXT01", "EMOTETEXT02", "EMOTETEXT03", "EMOTETEXT04", "EMOTETEXT05", "EMOTETEXT06", "EMOTETEXT07", "EMOTETEXT08", "EMOTETEXT09", "EMOTETEXT010", "EMOTETEXT011", "EMOTETEXT012", "EMOTETEXT013", "EMOTETEXT014", "EMOTETEXT015" FROM "EMOTESTEXT" ORDER BY id, ID
  993. struct EmotesTextRec // sizeof(0x4C)
  994. {
  995.     DWORD m_ID; // +0x0, size 0x4, type 0
  996.     char* m_name; // +0x4, size 0x4, type 2
  997.     DWORD m_emoteID; // +0x8, size 0x4, type 0
  998.     DWORD m_emoteText[16]; // +0xC, size 0x40, type 0
  999. };
  1000.  
  1001. // query: SELECT "ID", "EMOTESTEXTID", "RACEID", "SEXID", "SOUNDID" FROM "EMOTESTEXTSOUND" ORDER BY emotesTextID, ID, ID
  1002. struct EmotesTextSoundRec // sizeof(0x14)
  1003. {
  1004.     DWORD m_ID; // +0x0, size 0x4, type 0
  1005.     DWORD m_emotesTextID; // +0x4, size 0x4, type 0
  1006.     DWORD m_raceID; // +0x8, size 0x4, type 0
  1007.     DWORD m_sexID; // +0xC, size 0x4, type 0
  1008.     DWORD m_soundID; // +0x10, size 0x4, type 0
  1009. };
  1010.  
  1011. // query: SELECT "ID", "ENUMID", "VISUALKITID" FROM "ENVIRONMENTALDAMAGE" ORDER BY id, ID
  1012. struct EnvironmentalDamageRec // sizeof(0xC)
  1013. {
  1014.     DWORD m_ID; // +0x0, size 0x4, type 0
  1015.     DWORD m_EnumID; // +0x4, size 0x4, type 0
  1016.     DWORD m_VisualkitID; // +0x8, size 0x4, type 0
  1017. };
  1018.  
  1019. // query: SELECT "ID", "XP", "FACTOR", "OUTDOORHOURS", "INNHOURS", "NAME_LANG0", "THRESHOLD", "COMBATLOGTEXT" FROM "EXHAUSTION" ORDER BY id, ID
  1020. struct ExhaustionRec // sizeof(0x20)
  1021. {
  1022.     DWORD m_ID; // +0x0, size 0x4, type 0
  1023.     DWORD m_xp; // +0x4, size 0x4, type 0
  1024.     float m_factor; // +0x8, size 0x4, type 3
  1025.     float m_outdoorHours; // +0xC, size 0x4, type 3
  1026.     float m_innHours; // +0x10, size 0x4, type 3
  1027.     char* m_name_lang; // +0x14, size 0x4, type 2
  1028.     float m_threshold; // +0x18, size 0x4, type 3
  1029.     char* m_combatLogText; // +0x1C, size 0x4, type 2
  1030. };
  1031.  
  1032. // query: SELECT "ID", "MASKID", "INTERNALNAME", "NAME_LANG0" FROM "FACTIONGROUP" ORDER BY id, ID
  1033. struct FactionGroupRec // sizeof(0x10)
  1034. {
  1035.     DWORD m_ID; // +0x0, size 0x4, type 0
  1036.     DWORD m_maskID; // +0x4, size 0x4, type 0
  1037.     char* m_internalName; // +0x8, size 0x4, type 2
  1038.     char* m_name_lang; // +0xC, size 0x4, type 2
  1039. };
  1040.  
  1041. // query: SELECT "ID", "REPUTATIONINDEX", "REPUTATIONRACEMASK0", "REPUTATIONRACEMASK01", "REPUTATIONRACEMASK02", "REPUTATIONRACEMASK03", "REPUTATIONCLASSMASK0", "REPUTATIONCLASSMASK01", "REPUTATIONCLASSMASK02", "REPUTATIONCLASSMASK03", "REPUTATIONBASE0", "REPUTATIONBASE01", "REPUTATIONBASE02", "REPUTATIONBASE03", "REPUTATIONFLAGS0", "REPUTATIONFLAGS01", "REPUTATIONFLAGS02", "REPUTATIONFLAGS03", "PARENTFACTIONID", "PARENTFACTIONMOD0", "PARENTFACTIONMOD01", "PARENTFACTIONCAP0", "PARENTFACTIONCAP01", "NAME_LANG0", "DESCRIPTION_LANG0", "EXPANSION", "FLAGS", "FRIENDSHIPREPID" FROM "FACTION" WHERE DELETED = 0 ORDER BY id, ID
  1042. struct FactionRec // sizeof(0x70)
  1043. {
  1044.     DWORD m_ID; // +0x0, size 0x4, type 0
  1045.     DWORD m_reputationIndex; // +0x4, size 0x4, type 0
  1046.     DWORD m_reputationRaceMask[4]; // +0x8, size 0x10, type 0
  1047.     DWORD m_reputationClassMask[4]; // +0x18, size 0x10, type 0
  1048.     DWORD m_reputationBase[4]; // +0x28, size 0x10, type 0
  1049.     DWORD m_reputationFlags[4]; // +0x38, size 0x10, type 0
  1050.     DWORD m_parentFactionID; // +0x48, size 0x4, type 0
  1051.     float m_parentFactionMod[2]; // +0x4C, size 0x8, type 3
  1052.     DWORD m_parentFactionCap[2]; // +0x54, size 0x8, type 0
  1053.     char* m_name_lang; // +0x5C, size 0x4, type 2
  1054.     char* m_description_lang; // +0x60, size 0x4, type 2
  1055.     DWORD m_expansion; // +0x64, size 0x4, type 0
  1056.     DWORD m_flags; // +0x68, size 0x4, type 0
  1057.     DWORD m_friendshipRepID; // +0x6C, size 0x4, type 0
  1058. };
  1059.  
  1060. // query: SELECT "ID", "FACTION", "FLAGS", "FACTIONGROUP", "FRIENDGROUP", "ENEMYGROUP", "ENEMIES0", "ENEMIES01", "ENEMIES02", "ENEMIES03", "FRIEND0", "FRIEND01", "FRIEND02", "FRIEND03" FROM "FACTIONTEMPLATE" ORDER BY id, ID
  1061. struct FactionTemplateRec // sizeof(0x38)
  1062. {
  1063.     DWORD m_ID; // +0x0, size 0x4, type 0
  1064.     DWORD m_faction; // +0x4, size 0x4, type 0
  1065.     DWORD m_flags; // +0x8, size 0x4, type 0
  1066.     DWORD m_factionGroup; // +0xC, size 0x4, type 0
  1067.     DWORD m_friendGroup; // +0x10, size 0x4, type 0
  1068.     DWORD m_enemyGroup; // +0x14, size 0x4, type 0
  1069.     DWORD m_enemies[4]; // +0x18, size 0x10, type 0
  1070.     DWORD m_friend[4]; // +0x28, size 0x10, type 0
  1071. };
  1072.  
  1073. // query: SELECT "ID", "CREATUREFOOTSTEPID", "TERRAINSOUNDID", "SOUNDID", "SOUNDIDSPLASH" FROM "FOOTSTEPTERRAINLOOKUP" ORDER BY id, ID
  1074. struct FootstepTerrainLookupRec // sizeof(0x14)
  1075. {
  1076.     DWORD m_ID; // +0x0, size 0x4, type 0
  1077.     DWORD m_CreatureFootstepID; // +0x4, size 0x4, type 0
  1078.     DWORD m_TerrainSoundID; // +0x8, size 0x4, type 0
  1079.     DWORD m_SoundID; // +0xC, size 0x4, type 0
  1080.     DWORD m_SoundIDSplash; // +0x10, size 0x4, type 0
  1081. };
  1082.  
  1083. // query: SELECT "ID", "FRIENDSHIPREPID", "REACTIONTHRESHOLD", "REACTION_LANG0" FROM "FRIENDSHIPREPREACTION" ORDER BY friendshipRepID, reactionThreshold, ID
  1084. struct FriendshipRepReactionRec // sizeof(0x10)
  1085. {
  1086.     DWORD m_ID; // +0x0, size 0x4, type 0
  1087.     DWORD m_friendshipRepID; // +0x4, size 0x4, type 0
  1088.     DWORD m_reactionThreshold; // +0x8, size 0x4, type 0
  1089.     char* m_reaction_lang; // +0xC, size 0x4, type 2
  1090. };
  1091.  
  1092. // query: SELECT "ID", "FACTIONID", "TEXTUREFILEID", "DESCRIPTION_LANG0" FROM "FRIENDSHIPREPUTATION" ORDER BY  ID
  1093. struct FriendshipReputationRec // sizeof(0x10)
  1094. {
  1095.     DWORD m_ID; // +0x0, size 0x4, type 0
  1096.     DWORD m_factionID; // +0x4, size 0x4, type 0
  1097.     DWORD m_textureFileID; // +0x8, size 0x4, type 0
  1098.     char* m_description_lang; // +0xC, size 0x4, type 2
  1099. };
  1100.  
  1101. // query: SELECT "ID", "TEXTUREVARIATION0", "TEXTUREVARIATION01", "TEXTUREVARIATION02", "ATTACHMODEL0", "ATTACHMODEL01", "ATTACHMODEL02", "ATTACHMODEL03" FROM "GAMEOBJECTARTKIT" ORDER BY  ID
  1102. struct GameObjectArtKitRec // sizeof(0x20)
  1103. {
  1104.     DWORD m_ID; // +0x0, size 0x4, type 0
  1105.     char* m_textureVariation[3]; // +0x4, size 0xC, type 2
  1106.     char* m_attachModel[4]; // +0x10, size 0x10, type 2
  1107. };
  1108.  
  1109. // query: SELECT "ID", "GAMEOBJECTDIFFANIMID", "DIFFICULTYID", "ANIMATION", "ATTACHMENTDISPLAYID" FROM "GAMEOBJECTDIFFANIMMAP" ORDER BY gameObjectDiffAnimID, NVL(difficultyID, 0), ID
  1110. struct GameObjectDiffAnimMapRec // sizeof(0x14)
  1111. {
  1112.     DWORD m_ID; // +0x0, size 0x4, type 0
  1113.     DWORD m_gameObjectDiffAnimID; // +0x4, size 0x4, type 0
  1114.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  1115.     DWORD m_animation; // +0xC, size 0x4, type 0
  1116.     DWORD m_attachmentDisplayID; // +0x10, size 0x4, type 0
  1117. };
  1118.  
  1119. // query: SELECT "ID", "FILEDATAID", "SOUND0", "SOUND1", "SOUND2", "SOUND3", "SOUND4", "SOUND5", "SOUND6", "SOUND7", "SOUND8", "SOUND9", "GEOBOXMINX", "GEOBOXMINY", "GEOBOXMINZ", "GEOBOXMAXX", "GEOBOXMAXY", "GEOBOXMAXZ", "OBJECTEFFECTPACKAGEID", "OVERRIDELOOTEFFECTSCALE", "OVERRIDENAMESCALE" FROM "GAMEOBJECTDISPLAYINFO" ORDER BY id, ID
  1120. struct GameObjectDisplayInfoRec // sizeof(0x54)
  1121. {
  1122.     DWORD m_ID; // +0x0, size 0x4, type 0
  1123.     DWORD m_fileDataID; // +0x4, size 0x4, type 0
  1124.     DWORD m_Sound[10]; // +0x8, size 0x28, type 0
  1125.     float m_geoBoxMin[3]; // +0x30, size 0xC, type 3
  1126.     float m_geoBoxMax[3]; // +0x3C, size 0xC, type 3
  1127.     DWORD m_objectEffectPackageID; // +0x48, size 0x4, type 0
  1128.     float m_overrideLootEffectScale; // +0x4C, size 0x4, type 3
  1129.     float m_overrideNameScale; // +0x50, size 0x4, type 3
  1130. };
  1131.  
  1132. // query: SELECT "NAME", "NUMROWS", "NUMCOLUMNS" FROM "GAMETABLES" ORDER BY  ID
  1133. struct GameTablesRec // sizeof(0x10)
  1134. {
  1135.     DWORD m_ID; // +0x0, size 0x4, type 0
  1136.     char* m_name; // +0x4, size 0x4, type 2
  1137.     DWORD m_numRows; // +0x8, size 0x4, type 0
  1138.     DWORD m_numColumns; // +0xC, size 0x4, type 0
  1139. };
  1140.  
  1141. // query: SELECT "ID", "TEXT_LANG0", "MIN_LEVEL", "MAX_LEVEL" FROM "GAMETIPS" ORDER BY sortIndex, ID
  1142. struct GameTipsRec // sizeof(0x10)
  1143. {
  1144.     DWORD m_ID; // +0x0, size 0x4, type 0
  1145.     char* m_text_lang; // +0x4, size 0x4, type 2
  1146.     DWORD m_min_level; // +0x8, size 0x4, type 0
  1147.     DWORD m_max_level; // +0xC, size 0x4, type 0
  1148. };
  1149.  
  1150. // query: SELECT "ID", "GARRCLASSSPECID", "SPELLVISUALID", "MOVEMENTTYPE", "IMPACTDELAYSECS" FROM "GARRUIANIMCLASSINFO" ORDER BY  ID
  1151. struct GarrUiAnimClassInfoRec // sizeof(0x14)
  1152. {
  1153.     DWORD m_ID; // +0x0, size 0x4, type 0
  1154.     DWORD m_garrClassSpecID; // +0x4, size 0x4, type 0
  1155.     DWORD m_spellVisualID; // +0x8, size 0x4, type 0
  1156.     DWORD m_movementType; // +0xC, size 0x4, type 0
  1157.     float m_impactDelaySecs; // +0x10, size 0x4, type 3
  1158. };
  1159.  
  1160. // query: SELECT "ID", "CHRRACEID", "SCALE", "HEIGHT", "SINGLEMODELSCALE", "SINGLEMODELHEIGHT" FROM "GARRUIANIMRACEINFO" ORDER BY  ID
  1161. struct GarrUiAnimRaceInfoRec // sizeof(0x18)
  1162. {
  1163.     DWORD m_ID; // +0x0, size 0x4, type 0
  1164.     DWORD m_chrRaceID; // +0x4, size 0x4, type 0
  1165.     float m_scale; // +0x8, size 0x4, type 3
  1166.     float m_height; // +0xC, size 0x4, type 3
  1167.     float m_singleModelScale; // +0x10, size 0x4, type 3
  1168.     float m_singleModelHeight; // +0x14, size 0x4, type 3
  1169. };
  1170.  
  1171. // query: SELECT "ID", "ENCHANT_ID", "MAXCOUNT_INV", "MAXCOUNT_ITEM", "TYPE", "MIN_ITEM_LEVEL" FROM "GEMPROPERTIES" ORDER BY id, ID
  1172. struct GemPropertiesRec // sizeof(0x18)
  1173. {
  1174.     DWORD m_id; // +0x0, size 0x4, type 0
  1175.     DWORD m_enchant_id; // +0x4, size 0x4, type 0
  1176.     DWORD m_maxcount_inv; // +0x8, size 0x4, type 0
  1177.     DWORD m_maxcount_item; // +0xC, size 0x4, type 0
  1178.     DWORD m_type; // +0x10, size 0x4, type 0
  1179.     DWORD m_min_item_level; // +0x14, size 0x4, type 0
  1180. };
  1181.  
  1182. // query: SELECT "ID", "CLASSID", "RACEID", "SEXID", "LEFTHANDITEMTYPE", "RIGHTHANDITEMTYPE", "ANIMKITID", "SPELLVISUALKITID" FROM "GLUESCREENEMOTE" ORDER BY classId DESC, raceId DESC, sexId ASC, rightHandItemType DESC, leftHandItemType DESC, ID
  1183. struct GlueScreenEmoteRec // sizeof(0x20)
  1184. {
  1185.     DWORD m_ID; // +0x0, size 0x4, type 0
  1186.     DWORD m_classId; // +0x4, size 0x4, type 0
  1187.     DWORD m_raceId; // +0x8, size 0x4, type 0
  1188.     DWORD m_sexId; // +0xC, size 0x4, type 0
  1189.     DWORD m_leftHandItemType; // +0x10, size 0x4, type 0
  1190.     DWORD m_rightHandItemType; // +0x14, size 0x4, type 0
  1191.     DWORD m_animKitId; // +0x18, size 0x4, type 0
  1192.     DWORD m_spellVisualKitId; // +0x1C, size 0x4, type 0
  1193. };
  1194.  
  1195. // query: SELECT "ID", "SPELLID", "GLYPHTYPE", "SPELLICONID", "GLYPHEXCLUSIVECATEGORYID" FROM "GLYPHPROPERTIES" ORDER BY id, ID
  1196. struct GlyphPropertiesRec // sizeof(0x14)
  1197. {
  1198.     DWORD m_id; // +0x0, size 0x4, type 0
  1199.     DWORD m_spellID; // +0x4, size 0x4, type 0
  1200.     DWORD m_glyphType; // +0x8, size 0x4, type 0
  1201.     DWORD m_spellIconID; // +0xC, size 0x4, type 0
  1202.     DWORD m_glyphExclusiveCategoryID; // +0x10, size 0x4, type 0
  1203. };
  1204.  
  1205. // query: SELECT "ID", "TYPE", "TOOLTIP" FROM "GLYPHSLOT" ORDER BY id, ID
  1206. struct GlyphSlotRec // sizeof(0xC)
  1207. {
  1208.     DWORD m_id; // +0x0, size 0x4, type 0
  1209.     DWORD m_type; // +0x4, size 0x4, type 0
  1210.     DWORD m_tooltip; // +0x8, size 0x4, type 0
  1211. };
  1212.  
  1213. // query: SELECT "ID", "SORT_INDEX", "GMSURVEYQUESTIONID", "ANSWER_LANG0" FROM "GMSURVEYANSWERS" ORDER BY GMSurveyQuestionID, Sort_Index, ID
  1214. struct GMSurveyAnswersRec // sizeof(0x10)
  1215. {
  1216.     DWORD m_ID; // +0x0, size 0x4, type 0
  1217.     DWORD m_Sort_Index; // +0x4, size 0x4, type 0
  1218.     DWORD m_GMSurveyQuestionID; // +0x8, size 0x4, type 0
  1219.     char* m_Answer_lang; // +0xC, size 0x4, type 2
  1220. };
  1221.  
  1222. // query: SELECT "LANGID", "GMSURVEY_ID" FROM "GMSURVEYCURRENTSURVEY" ORDER BY LANGID, ID
  1223. struct GMSurveyCurrentSurveyRec // sizeof(0x8)
  1224. {
  1225.     DWORD m_LANGID; // +0x0, size 0x4, type 0
  1226.     DWORD m_GMSURVEY_ID; // +0x4, size 0x4, type 0
  1227. };
  1228.  
  1229. // query: SELECT "ID", "QUESTION_LANG0" FROM "GMSURVEYQUESTIONS" ORDER BY id, ID
  1230. struct GMSurveyQuestionsRec // sizeof(0x8)
  1231. {
  1232.     DWORD m_ID; // +0x0, size 0x4, type 0
  1233.     char* m_Question_lang; // +0x4, size 0x4, type 2
  1234. };
  1235.  
  1236. // query: SELECT "ID", "Q0", "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12", "Q13", "Q14" FROM "GMSURVEYSURVEYS" ORDER BY id, ID
  1237. struct GMSurveySurveysRec // sizeof(0x40)
  1238. {
  1239.     DWORD m_ID; // +0x0, size 0x4, type 0
  1240.     DWORD m_Q[15]; // +0x4, size 0x3C, type 0
  1241. };
  1242.  
  1243. // query: SELECT "ID", "CATEGORY_LANG0" FROM "GMTICKETCATEGORY" ORDER BY id, ID
  1244. struct GMTicketCategoryRec // sizeof(0x8)
  1245. {
  1246.     DWORD m_ID; // +0x0, size 0x4, type 0
  1247.     char* m_category_lang; // +0x4, size 0x4, type 2
  1248. };
  1249.  
  1250. // query: SELECT "ID", "DOODADID0", "DOODADID1", "DOODADID2", "DOODADID3", "DOODADWEIGHT0", "DOODADWEIGHT1", "DOODADWEIGHT2", "DOODADWEIGHT3", "DENSITY", "SOUND" FROM "GROUNDEFFECTTEXTURE" WHERE doodadId0 <> 0 or doodadId1 <> 0 or doodadId2 <> 0 or doodadId3 <> 0 or sound <> 0 ORDER BY ContinentId, AreaId, TextureId, ID, ID
  1251. struct GroundEffectTextureRec // sizeof(0x2C)
  1252. {
  1253.     DWORD m_ID; // +0x0, size 0x4, type 0
  1254.     DWORD m_doodadId[4]; // +0x4, size 0x10, type 0
  1255.     DWORD m_doodadWeight[4]; // +0x14, size 0x10, type 0
  1256.     DWORD m_density; // +0x24, size 0x4, type 0
  1257.     DWORD m_sound; // +0x28, size 0x4, type 0
  1258. };
  1259.  
  1260. // query: SELECT "DATA" FROM "GTARMORMITIGATIONBYLVL" ORDER BY ID, ID
  1261. struct gtArmorMitigationByLvlRec // sizeof(0x8)
  1262. {
  1263.     DWORD m_ID; // +0x0, size 0x4, type 0
  1264.     float m_data; // +0x4, size 0x4, type 3
  1265. };
  1266.  
  1267. // query: SELECT "DATA" FROM "GTBARBERSHOPCOSTBASE" ORDER BY ID, ID
  1268. struct gtBarberShopCostBaseRec // sizeof(0x8)
  1269. {
  1270.     DWORD m_ID; // +0x0, size 0x4, type 0
  1271.     float m_data; // +0x4, size 0x4, type 3
  1272. };
  1273.  
  1274. // query: SELECT "DATA" FROM "GTBATTLEPETTYPEDAMAGEMOD" ORDER BY ID, ID
  1275. struct gtBattlePetTypeDamageModRec // sizeof(0x8)
  1276. {
  1277.     DWORD m_ID; // +0x0, size 0x4, type 0
  1278.     float m_data; // +0x4, size 0x4, type 3
  1279. };
  1280.  
  1281. // query: SELECT "DATA" FROM "GTBATTLEPETXP" ORDER BY ID, ID
  1282. struct gtBattlePetXPRec // sizeof(0x8)
  1283. {
  1284.     DWORD m_ID; // +0x0, size 0x4, type 0
  1285.     float m_data; // +0x4, size 0x4, type 3
  1286. };
  1287.  
  1288. // query: SELECT "DATA" FROM "GTCHANCETOMELEECRITBASE" ORDER BY ID, ID
  1289. struct gtChanceToMeleeCritBaseRec // sizeof(0x8)
  1290. {
  1291.     DWORD m_ID; // +0x0, size 0x4, type 0
  1292.     float m_data; // +0x4, size 0x4, type 3
  1293. };
  1294.  
  1295. // query: SELECT "DATA" FROM "GTCHANCETOMELEECRIT" ORDER BY ID, ID
  1296. struct gtChanceToMeleeCritRec // sizeof(0x8)
  1297. {
  1298.     DWORD m_ID; // +0x0, size 0x4, type 0
  1299.     float m_data; // +0x4, size 0x4, type 3
  1300. };
  1301.  
  1302. // query: SELECT "DATA" FROM "GTCHANCETOSPELLCRITBASE" ORDER BY ID, ID
  1303. struct gtChanceToSpellCritBaseRec // sizeof(0x8)
  1304. {
  1305.     DWORD m_ID; // +0x0, size 0x4, type 0
  1306.     float m_data; // +0x4, size 0x4, type 3
  1307. };
  1308.  
  1309. // query: SELECT "DATA" FROM "GTCHANCETOSPELLCRIT" ORDER BY ID, ID
  1310. struct gtChanceToSpellCritRec // sizeof(0x8)
  1311. {
  1312.     DWORD m_ID; // +0x0, size 0x4, type 0
  1313.     float m_data; // +0x4, size 0x4, type 3
  1314. };
  1315.  
  1316. // query: SELECT "DATA" FROM "GTCOMBATRATINGS" ORDER BY ID, ID
  1317. struct gtCombatRatingsRec // sizeof(0x8)
  1318. {
  1319.     DWORD m_ID; // +0x0, size 0x4, type 0
  1320.     float m_data; // +0x4, size 0x4, type 3
  1321. };
  1322.  
  1323. // query: SELECT "DATA" FROM "GTITEMSOCKETCOSTPERLEVEL" ORDER BY ID, ID
  1324. struct gtItemSocketCostPerLevelRec // sizeof(0x8)
  1325. {
  1326.     DWORD m_ID; // +0x0, size 0x4, type 0
  1327.     float m_data; // +0x4, size 0x4, type 3
  1328. };
  1329.  
  1330. // query: SELECT "DATA" FROM "GTNPCMANACOSTSCALER" ORDER BY ID, ID
  1331. struct gtNPCManaCostScalerRec // sizeof(0x8)
  1332. {
  1333.     DWORD m_ID; // +0x0, size 0x4, type 0
  1334.     float m_data; // +0x4, size 0x4, type 3
  1335. };
  1336.  
  1337. // query: SELECT "DATA" FROM "GTOCTBASEHPBYCLASS" ORDER BY ID, ID
  1338. struct gtOCTBaseHPByClassRec // sizeof(0x8)
  1339. {
  1340.     DWORD m_ID; // +0x0, size 0x4, type 0
  1341.     float m_data; // +0x4, size 0x4, type 3
  1342. };
  1343.  
  1344. // query: SELECT "DATA" FROM "GTOCTBASEMPBYCLASS" ORDER BY ID, ID
  1345. struct gtOCTBaseMPByClassRec // sizeof(0x8)
  1346. {
  1347.     DWORD m_ID; // +0x0, size 0x4, type 0
  1348.     float m_data; // +0x4, size 0x4, type 3
  1349. };
  1350.  
  1351. // query: SELECT "ID", "DATA" FROM "GTOCTCLASSCOMBATRATINGSCALAR" ORDER BY  ID
  1352. struct gtOCTClassCombatRatingScalarRec // sizeof(0x8)
  1353. {
  1354.     DWORD m_ID; // +0x0, size 0x4, type 0
  1355.     float m_data; // +0x4, size 0x4, type 3
  1356. };
  1357.  
  1358. // query: SELECT "DATA" FROM "GTOCTHPPERSTAMINA" ORDER BY ID, ID
  1359. struct gtOCTHpPerStaminaRec // sizeof(0x8)
  1360. {
  1361.     DWORD m_ID; // +0x0, size 0x4, type 0
  1362.     float m_data; // +0x4, size 0x4, type 3
  1363. };
  1364.  
  1365. // query: SELECT "DATA" FROM "GTOCTLEVELEXPERIENCE" ORDER BY ID, ID
  1366. struct gtOCTLevelExperienceRec // sizeof(0x8)
  1367. {
  1368.     DWORD m_ID; // +0x0, size 0x4, type 0
  1369.     float m_data; // +0x4, size 0x4, type 3
  1370. };
  1371.  
  1372. // query: SELECT "DATA" FROM "GTREGENMPPERSPT" ORDER BY ID, ID
  1373. struct gtRegenMPPerSptRec // sizeof(0x8)
  1374. {
  1375.     DWORD m_ID; // +0x0, size 0x4, type 0
  1376.     float m_data; // +0x4, size 0x4, type 3
  1377. };
  1378.  
  1379. // query: SELECT "DATA" FROM "GTRESILIENCEDR" ORDER BY ID, ID
  1380. struct gtResilienceDRRec // sizeof(0x8)
  1381. {
  1382.     DWORD m_ID; // +0x0, size 0x4, type 0
  1383.     float m_data; // +0x4, size 0x4, type 3
  1384. };
  1385.  
  1386. // query: SELECT "DATA" FROM "GTSPELLSCALING" ORDER BY ID, ID
  1387. struct gtSpellScalingRec // sizeof(0x8)
  1388. {
  1389.     DWORD m_ID; // +0x0, size 0x4, type 0
  1390.     float m_data; // +0x4, size 0x4, type 3
  1391. };
  1392.  
  1393. // query: SELECT "COLORID", "RED", "GREEN", "BLUE" FROM "GUILDCOLORBACKGROUND" ORDER BY colorID, ID
  1394. struct GuildColorBackgroundRec // sizeof(0x8)
  1395. {
  1396.     DWORD m_colorID; // +0x0, size 0x4, type 0
  1397.     BYTE m_red; // +0x4, size 0x1, type 0
  1398.     BYTE m_green; // +0x5, size 0x1, type 0
  1399.     BYTE m_blue; // +0x6, size 0x1, type 0
  1400.     BYTE padding[1];
  1401. };
  1402.  
  1403. // query: SELECT "COLORID", "RED", "GREEN", "BLUE" FROM "GUILDCOLORBORDER" ORDER BY colorID, ID
  1404. struct GuildColorBorderRec // sizeof(0x8)
  1405. {
  1406.     DWORD m_colorID; // +0x0, size 0x4, type 0
  1407.     BYTE m_red; // +0x4, size 0x1, type 0
  1408.     BYTE m_green; // +0x5, size 0x1, type 0
  1409.     BYTE m_blue; // +0x6, size 0x1, type 0
  1410.     BYTE padding[1];
  1411. };
  1412.  
  1413. // query: SELECT "COLORID", "RED", "GREEN", "BLUE" FROM "GUILDCOLOREMBLEM" ORDER BY colorID, ID
  1414. struct GuildColorEmblemRec // sizeof(0x8)
  1415. {
  1416.     DWORD m_colorID; // +0x0, size 0x4, type 0
  1417.     BYTE m_red; // +0x4, size 0x1, type 0
  1418.     BYTE m_green; // +0x5, size 0x1, type 0
  1419.     BYTE m_blue; // +0x6, size 0x1, type 0
  1420.     BYTE padding[1];
  1421. };
  1422.  
  1423. // query: SELECT "ID", "GUILDLEVEL", "SPELLID" FROM "GUILDPERKSPELLS" ORDER BY guildLevel, id, ID
  1424. struct GuildPerkSpellsRec // sizeof(0xC)
  1425. {
  1426.     DWORD m_id; // +0x0, size 0x4, type 0
  1427.     DWORD m_guildLevel; // +0x4, size 0x4, type 0
  1428.     DWORD m_spellID; // +0x8, size 0x4, type 0
  1429. };
  1430.  
  1431. // query: SELECT "ID", "HELMETGEOSETVISDATAID", "RACEID", "AMOUNT" FROM "HELMETANIMSCALING" ORDER BY helmetGeosetVisDataID, raceID, ID
  1432. struct HelmetAnimScalingRec // sizeof(0x10)
  1433. {
  1434.     DWORD m_ID; // +0x0, size 0x4, type 0
  1435.     DWORD m_helmetGeosetVisDataID; // +0x4, size 0x4, type 0
  1436.     DWORD m_raceID; // +0x8, size 0x4, type 0
  1437.     float m_amount; // +0xC, size 0x4, type 3
  1438. };
  1439.  
  1440. // query: SELECT "ID", "HIDEGEOSET0", "HIDEGEOSET1", "HIDEGEOSET2", "HIDEGEOSET3", "HIDEGEOSET4", "HIDEGEOSET5", "HIDEGEOSET6" FROM "HELMETGEOSETVISDATA" ORDER BY id, ID
  1441. struct HelmetGeosetVisDataRec // sizeof(0x20)
  1442. {
  1443.     DWORD m_ID; // +0x0, size 0x4, type 0
  1444.     DWORD m_hideGeoset[7]; // +0x4, size 0x1C, type 0
  1445. };
  1446.  
  1447. // query: SELECT "ID", "DESCRIPTION_LANG0" FROM "HOLIDAYDESCRIPTIONS" ORDER BY ID, ID
  1448. struct HolidayDescriptionsRec // sizeof(0x8)
  1449. {
  1450.     DWORD m_ID; // +0x0, size 0x4, type 0
  1451.     char* m_description_lang; // +0x4, size 0x4, type 2
  1452. };
  1453.  
  1454. // query: SELECT "ID", "NAME_LANG0" FROM "HOLIDAYNAMES" ORDER BY ID, ID
  1455. struct HolidayNamesRec // sizeof(0x8)
  1456. {
  1457.     DWORD m_ID; // +0x0, size 0x4, type 0
  1458.     char* m_name_lang; // +0x4, size 0x4, type 2
  1459. };
  1460.  
  1461. // query: SELECT "ID", "DURATION", "DURATION1", "DURATION2", "DURATION3", "DURATION4", "DURATION5", "DURATION6", "DURATION7", "DURATION8", "DURATION9", "DATE0", "DATE1", "DATE2", "DATE3", "DATE4", "DATE5", "DATE6", "DATE7", "DATE8", "DATE9", "DATE10", "DATE11", "DATE12", "DATE13", "DATE14", "DATE15", "DATE16", "DATE17", "DATE18", "DATE19", "DATE20", "DATE21", "DATE22", "DATE23", "DATE24", "DATE25", "REGION", "LOOPING", "CALENDARFLAGS", "CALENDARFLAGS1", "CALENDARFLAGS2", "CALENDARFLAGS3", "CALENDARFLAGS4", "CALENDARFLAGS5", "CALENDARFLAGS6", "CALENDARFLAGS7", "CALENDARFLAGS8", "CALENDARFLAGS9", "HOLIDAYNAMEID", "HOLIDAYDESCRIPTIONID", "TEXTUREFILENAME", "PRIORITY", "CALENDARFILTERTYPE", "FLAGS" FROM "HOLIDAYS" WHERE (calendarFlags <> 0) OR (calendarFlags1 <> 0) OR (calendarFlags2 <> 0) OR (calendarFlags3 <> 0) OR (calendarFlags4 <> 0)  ORDER BY ID, ID
  1462. struct HolidaysRec // sizeof(0xDC)
  1463. {
  1464.     DWORD m_ID; // +0x0, size 0x4, type 0
  1465.     DWORD m_duration[10]; // +0x4, size 0x28, type 0
  1466.     DWORD m_date[26]; // +0x2C, size 0x68, type 0
  1467.     DWORD m_region; // +0x94, size 0x4, type 0
  1468.     DWORD m_looping; // +0x98, size 0x4, type 0
  1469.     DWORD m_calendarFlags[10]; // +0x9C, size 0x28, type 0
  1470.     DWORD m_holidayNameID; // +0xC4, size 0x4, type 0
  1471.     DWORD m_holidayDescriptionID; // +0xC8, size 0x4, type 0
  1472.     char* m_textureFilename; // +0xCC, size 0x4, type 2
  1473.     DWORD m_priority; // +0xD0, size 0x4, type 0
  1474.     DWORD m_calendarFilterType; // +0xD4, size 0x4, type 0
  1475.     DWORD m_flags; // +0xD8, size 0x4, type 0
  1476. };
  1477.  
  1478. // query: SELECT "ID", "CLOTHMODIFIER", "LEATHERMODIFIER", "CHAINMODIFIER", "PLATEMODIFIER" FROM "IMPORTPRICEARMOR" ORDER BY  ID
  1479. struct ImportPriceArmorRec // sizeof(0x14)
  1480. {
  1481.     DWORD m_ID; // +0x0, size 0x4, type 0
  1482.     float m_ClothModifier; // +0x4, size 0x4, type 3
  1483.     float m_LeatherModifier; // +0x8, size 0x4, type 3
  1484.     float m_ChainModifier; // +0xC, size 0x4, type 3
  1485.     float m_PlateModifier; // +0x10, size 0x4, type 3
  1486. };
  1487.  
  1488. // query: SELECT "ID", "DATA" FROM "IMPORTPRICEQUALITY" ORDER BY  ID
  1489. struct ImportPriceQualityRec // sizeof(0x8)
  1490. {
  1491.     DWORD m_ID; // +0x0, size 0x4, type 0
  1492.     float m_data; // +0x4, size 0x4, type 3
  1493. };
  1494.  
  1495. // query: SELECT "ID", "DATA" FROM "IMPORTPRICESHIELD" ORDER BY  ID
  1496. struct ImportPriceShieldRec // sizeof(0x8)
  1497. {
  1498.     DWORD m_ID; // +0x0, size 0x4, type 0
  1499.     float m_data; // +0x4, size 0x4, type 3
  1500. };
  1501.  
  1502. // query: SELECT "ID", "DATA" FROM "IMPORTPRICEWEAPON" ORDER BY  ID
  1503. struct ImportPriceWeaponRec // sizeof(0x8)
  1504. {
  1505.     DWORD m_ID; // +0x0, size 0x4, type 0
  1506.     float m_data; // +0x4, size 0x4, type 3
  1507. };
  1508.  
  1509. // query: SELECT "ID", "QUALITYMOD0", "QUALITYMOD1", "QUALITYMOD2", "QUALITYMOD3", "QUALITYMOD4", "QUALITYMOD5", "QUALITYMOD6", "ITEMLEVEL" FROM "ITEMARMORQUALITY" ORDER BY  ID
  1510. struct ItemArmorQualityRec // sizeof(0x24)
  1511. {
  1512.     DWORD m_ID; // +0x0, size 0x4, type 0
  1513.     float m_qualitymod[7]; // +0x4, size 0x1C, type 3
  1514.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1515. };
  1516.  
  1517. // query: SELECT "ID", "ITEMLEVEL", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6" FROM "ITEMARMORSHIELD" ORDER BY  ID
  1518. struct ItemArmorShieldRec // sizeof(0x24)
  1519. {
  1520.     DWORD m_ID; // +0x0, size 0x4, type 0
  1521.     DWORD m_itemLevel; // +0x4, size 0x4, type 0
  1522.     float m_quality[7]; // +0x8, size 0x1C, type 3
  1523. };
  1524.  
  1525. // query: SELECT "ID", "ITEMLEVEL", "CLOTH", "LEATHER", "MAIL", "PLATE" FROM "ITEMARMORTOTAL" ORDER BY  ID
  1526. struct ItemArmorTotalRec // sizeof(0x18)
  1527. {
  1528.     DWORD m_ID; // +0x0, size 0x4, type 0
  1529.     DWORD m_itemLevel; // +0x4, size 0x4, type 0
  1530.     float m_cloth; // +0x8, size 0x4, type 3
  1531.     float m_leather; // +0xC, size 0x4, type 3
  1532.     float m_mail; // +0x10, size 0x4, type 3
  1533.     float m_plate; // +0x14, size 0x4, type 3
  1534. };
  1535.  
  1536. // query: SELECT "ID", "NAME_LANG0" FROM "ITEMBAGFAMILY" ORDER BY id, ID
  1537. struct ItemBagFamilyRec // sizeof(0x8)
  1538. {
  1539.     DWORD m_ID; // +0x0, size 0x4, type 0
  1540.     char* m_name_lang; // +0x4, size 0x4, type 2
  1541. };
  1542.  
  1543. // query: SELECT "CLASSID", "FLAGS", "PRICEMODIFIER", "CLASSNAME_LANG0" FROM "ITEMCLASS" ORDER BY  ID
  1544. struct ItemClassRec // sizeof(0x10)
  1545. {
  1546.     DWORD m_classID; // +0x0, size 0x4, type 0
  1547.     DWORD m_flags; // +0x4, size 0x4, type 0
  1548.     float m_priceModifier; // +0x8, size 0x4, type 3
  1549.     char* m_className_lang; // +0xC, size 0x4, type 2
  1550. };
  1551.  
  1552. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGEAMMO" ORDER BY  ID
  1553. struct ItemDamageAmmoRec // sizeof(0x24)
  1554. {
  1555.     DWORD m_ID; // +0x0, size 0x4, type 0
  1556.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1557.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1558. };
  1559.  
  1560. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGEONEHANDCASTER" ORDER BY  ID
  1561. struct ItemDamageOneHandCasterRec // sizeof(0x24)
  1562. {
  1563.     DWORD m_ID; // +0x0, size 0x4, type 0
  1564.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1565.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1566. };
  1567.  
  1568. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGEONEHAND" ORDER BY  ID
  1569. struct ItemDamageOneHandRec // sizeof(0x24)
  1570. {
  1571.     DWORD m_ID; // +0x0, size 0x4, type 0
  1572.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1573.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1574. };
  1575.  
  1576. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGERANGED" ORDER BY  ID
  1577. struct ItemDamageRangedRec // sizeof(0x24)
  1578. {
  1579.     DWORD m_ID; // +0x0, size 0x4, type 0
  1580.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1581.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1582. };
  1583.  
  1584. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGETHROWN" ORDER BY  ID
  1585. struct ItemDamageThrownRec // sizeof(0x24)
  1586. {
  1587.     DWORD m_ID; // +0x0, size 0x4, type 0
  1588.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1589.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1590. };
  1591.  
  1592. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGETWOHANDCASTER" ORDER BY  ID
  1593. struct ItemDamageTwoHandCasterRec // sizeof(0x24)
  1594. {
  1595.     DWORD m_ID; // +0x0, size 0x4, type 0
  1596.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1597.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1598. };
  1599.  
  1600. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGETWOHAND" ORDER BY  ID
  1601. struct ItemDamageTwoHandRec // sizeof(0x24)
  1602. {
  1603.     DWORD m_ID; // +0x0, size 0x4, type 0
  1604.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1605.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1606. };
  1607.  
  1608. // query: SELECT "ID", "QUALITY0", "QUALITY1", "QUALITY2", "QUALITY3", "QUALITY4", "QUALITY5", "QUALITY6", "ITEMLEVEL" FROM "ITEMDAMAGEWAND" ORDER BY  ID
  1609. struct ItemDamageWandRec // sizeof(0x24)
  1610. {
  1611.     DWORD m_ID; // +0x0, size 0x4, type 0
  1612.     float m_quality[7]; // +0x4, size 0x1C, type 3
  1613.     DWORD m_itemLevel; // +0x20, size 0x4, type 0
  1614. };
  1615.  
  1616. // query: SELECT "ID", "CLASS", "SUBCLASS", "QUALITY", "MINLEVEL", "MAXLEVEL", "SKILLREQUIRED" FROM "ITEMDISENCHANTLOOT" ORDER BY  ID
  1617. struct ItemDisenchantLootRec // sizeof(0x1C)
  1618. {
  1619.     DWORD m_ID; // +0x0, size 0x4, type 0
  1620.     DWORD m_class; // +0x4, size 0x4, type 0
  1621.     DWORD m_subclass; // +0x8, size 0x4, type 0
  1622.     DWORD m_quality; // +0xC, size 0x4, type 0
  1623.     DWORD m_minLevel; // +0x10, size 0x4, type 0
  1624.     DWORD m_maxLevel; // +0x14, size 0x4, type 0
  1625.     DWORD m_skillRequired; // +0x18, size 0x4, type 0
  1626. };
  1627.  
  1628. // query: SELECT "ID", "MODELNAME0", "MODELNAME1", "MODELTEXTURE0", "MODELTEXTURE1", "GEOSETGROUP0", "GEOSETGROUP1", "GEOSETGROUP2", "FLAGS", "SPELLVISUALID", "HELMETGEOSETVIS0", "HELMETGEOSETVIS1", "TEXTURE0", "TEXTURE01", "TEXTURE02", "TEXTURE03", "TEXTURE04", "TEXTURE05", "TEXTURE06", "TEXTURE07", "TEXTURE08", "ITEMVISUAL", "PARTICLECOLORID" FROM "ITEMDISPLAYINFO" ORDER BY id, ID
  1629. struct ItemDisplayInfoRec // sizeof(0x5C)
  1630. {
  1631.     DWORD m_ID; // +0x0, size 0x4, type 0
  1632.     char* m_modelName[2]; // +0x4, size 0x8, type 2
  1633.     char* m_modelTexture[2]; // +0xC, size 0x8, type 2
  1634.     DWORD m_geosetGroup[3]; // +0x14, size 0xC, type 0
  1635.     DWORD m_flags; // +0x20, size 0x4, type 0
  1636.     DWORD m_spellVisualID; // +0x24, size 0x4, type 0
  1637.     DWORD m_helmetGeosetVis[2]; // +0x28, size 0x8, type 0
  1638.     char* m_texture[9]; // +0x30, size 0x24, type 2
  1639.     DWORD m_itemVisual; // +0x54, size 0x4, type 0
  1640.     DWORD m_particleColorID; // +0x58, size 0x4, type 0
  1641. };
  1642.  
  1643. // query: SELECT "ID", "SOUND0", "SOUND1", "SOUND2", "SOUND3" FROM "ITEMGROUPSOUNDS" ORDER BY id, ID
  1644. struct ItemGroupSoundsRec // sizeof(0x14)
  1645. {
  1646.     DWORD m_ID; // +0x0, size 0x4, type 0
  1647.     DWORD m_sound[4]; // +0x4, size 0x10, type 0
  1648. };
  1649.  
  1650. // query: SELECT "ID", "NAME_LANG0", "QUANTITY", "FLAGS" FROM "ITEMLIMITCATEGORY" ORDER BY  ID
  1651. struct ItemLimitCategoryRec // sizeof(0x10)
  1652. {
  1653.     DWORD m_ID; // +0x0, size 0x4, type 0
  1654.     char* m_name_lang; // +0x4, size 0x4, type 2
  1655.     DWORD m_quantity; // +0x8, size 0x4, type 0
  1656.     DWORD m_flags; // +0xC, size 0x4, type 0
  1657. };
  1658.  
  1659. // query: SELECT "ID", "DESCRIPTION_LANG0", "COLOR" FROM "ITEMNAMEDESCRIPTION" ORDER BY  ID
  1660. struct ItemNameDescriptionRec // sizeof(0xC)
  1661. {
  1662.     DWORD m_ID; // +0x0, size 0x4, type 0
  1663.     char* m_description_lang; // +0x4, size 0x4, type 2
  1664.     DWORD m_color; // +0x8, size 0x4, type 0
  1665. };
  1666.  
  1667. // query: SELECT "ID", "NAME_LANG0" FROM "ITEMPETFOOD" ORDER BY id, ID
  1668. struct ItemPetFoodRec // sizeof(0x8)
  1669. {
  1670.     DWORD m_ID; // +0x0, size 0x4, type 0
  1671.     char* m_Name_lang; // +0x4, size 0x4, type 2
  1672. };
  1673.  
  1674. // query: SELECT "ID", "ITEMLEVEL", "ARMOR", "WEAPON" FROM "ITEMPRICEBASE" ORDER BY  ID
  1675. struct ItemPriceBaseRec // sizeof(0x10)
  1676. {
  1677.     DWORD m_ID; // +0x0, size 0x4, type 0
  1678.     DWORD m_itemLevel; // +0x4, size 0x4, type 0
  1679.     float m_armor; // +0x8, size 0x4, type 3
  1680.     float m_weapon; // +0xC, size 0x4, type 3
  1681. };
  1682.  
  1683. // query: SELECT "ID", "ITEMID0", "ITEMID01", "ITEMID02", "ITEMID03", "ITEMID04", "ITEMID05", "ITEMID06", "ITEMID07", "NAME_LANG0" FROM "ITEMPURCHASEGROUP" ORDER BY ID, ID
  1684. struct ItemPurchaseGroupRec // sizeof(0x28)
  1685. {
  1686.     DWORD m_ID; // +0x0, size 0x4, type 0
  1687.     DWORD m_itemID[8]; // +0x4, size 0x20, type 0
  1688.     char* m_name_lang; // +0x24, size 0x4, type 2
  1689. };
  1690.  
  1691. // query: SELECT "ID", "NAME", "ENCHANTMENT0", "ENCHANTMENT1", "ENCHANTMENT2", "ENCHANTMENT3", "ENCHANTMENT4", "NAME_LANG0" FROM "ITEMRANDOMPROPERTIES" ORDER BY id, ID
  1692. struct ItemRandomPropertiesRec // sizeof(0x20)
  1693. {
  1694.     DWORD m_ID; // +0x0, size 0x4, type 0
  1695.     char* m_Name; // +0x4, size 0x4, type 2
  1696.     DWORD m_Enchantment[5]; // +0x8, size 0x14, type 0
  1697.     char* m_name_lang; // +0x1C, size 0x4, type 2
  1698. };
  1699.  
  1700. // query: SELECT "ID", "NAME_LANG0", "INTERNALNAME", "ENCHANTMENT0", "ENCHANTMENT01", "ENCHANTMENT02", "ENCHANTMENT03", "ENCHANTMENT04", "ALLOCATIONPCT0", "ALLOCATIONPCT01", "ALLOCATIONPCT02", "ALLOCATIONPCT03", "ALLOCATIONPCT04" FROM "ITEMRANDOMSUFFIX" ORDER BY id, ID
  1701. struct ItemRandomSuffixRec // sizeof(0x34)
  1702. {
  1703.     DWORD m_ID; // +0x0, size 0x4, type 0
  1704.     char* m_name_lang; // +0x4, size 0x4, type 2
  1705.     char* m_internalName; // +0x8, size 0x4, type 2
  1706.     DWORD m_enchantment[5]; // +0xC, size 0x14, type 0
  1707.     DWORD m_allocationPct[5]; // +0x20, size 0x14, type 0
  1708. };
  1709.  
  1710. // query: SELECT "ID", "NAME_LANG0", "ITEMID0", "ITEMID1", "ITEMID2", "ITEMID3", "ITEMID4", "ITEMID5", "ITEMID6", "ITEMID7", "ITEMID8", "ITEMID9", "ITEMID10", "ITEMID11", "ITEMID12", "ITEMID13", "ITEMID14", "ITEMID15", "ITEMID16", "REQUIREDSKILL", "REQUIREDSKILLRANK" FROM "ITEMSET" ORDER BY id, ID
  1711. struct ItemSetRec // sizeof(0x54)
  1712. {
  1713.     DWORD m_ID; // +0x0, size 0x4, type 0
  1714.     char* m_name_lang; // +0x4, size 0x4, type 2
  1715.     DWORD m_itemID[17]; // +0x8, size 0x44, type 0
  1716.     DWORD m_requiredSkill; // +0x4C, size 0x4, type 0
  1717.     DWORD m_requiredSkillRank; // +0x50, size 0x4, type 0
  1718. };
  1719.  
  1720. // query: SELECT "ID", "ITEMSETID", "SPELLID", "THRESHOLD", "CHRSPECID" FROM "ITEMSETSPELL" ORDER BY itemSetID, chrSpecID, threshold, ID
  1721. struct ItemSetSpellRec // sizeof(0x14)
  1722. {
  1723.     DWORD m_ID; // +0x0, size 0x4, type 0
  1724.     DWORD m_itemSetID; // +0x4, size 0x4, type 0
  1725.     DWORD m_spellID; // +0x8, size 0x4, type 0
  1726.     DWORD m_threshold; // +0xC, size 0x4, type 0
  1727.     DWORD m_chrSpecID; // +0x10, size 0x4, type 0
  1728. };
  1729.  
  1730. // query: SELECT "ID", "ITEMID", "SPECID" FROM "ITEMSPECOVERRIDE" ORDER BY itemID, specID, ID
  1731. struct ItemSpecOverrideRec // sizeof(0xC)
  1732. {
  1733.     DWORD m_ID; // +0x0, size 0x4, type 0
  1734.     DWORD m_itemID; // +0x4, size 0x4, type 0
  1735.     DWORD m_specID; // +0x8, size 0x4, type 0
  1736. };
  1737.  
  1738. // query: SELECT "ID", "MINLEVEL", "MAXLEVEL", "ITEMTYPE", "PRIMARYSTAT", "SECONDARYSTAT", "SPECIALIZATIONID" FROM "ITEMSPEC" ORDER BY minLevel, itemType, primaryStat, secondaryStat, ID
  1739. struct ItemSpecRec // sizeof(0x1C)
  1740. {
  1741.     DWORD m_ID; // +0x0, size 0x4, type 0
  1742.     DWORD m_minLevel; // +0x4, size 0x4, type 0
  1743.     DWORD m_maxLevel; // +0x8, size 0x4, type 0
  1744.     DWORD m_itemType; // +0xC, size 0x4, type 0
  1745.     DWORD m_primaryStat; // +0x10, size 0x4, type 0
  1746.     DWORD m_secondaryStat; // +0x14, size 0x4, type 0
  1747.     DWORD m_specializationID; // +0x18, size 0x4, type 0
  1748. };
  1749.  
  1750. // query: SELECT "CLASSID", "MASK", "NAME_LANG0" FROM "ITEMSUBCLASSMASK" ORDER BY id, ID
  1751. struct ItemSubClassMaskRec // sizeof(0x10)
  1752. {
  1753.     DWORD m_ID; // +0x0, size 0x4, type 0
  1754.     DWORD m_classID; // +0x4, size 0x4, type 0
  1755.     DWORD m_mask; // +0x8, size 0x4, type 0
  1756.     char* m_name_lang; // +0xC, size 0x4, type 2
  1757. };
  1758.  
  1759. // query: SELECT "CLASSID", "SUBCLASSID", "PREREQUISITEPROFICIENCY", "POSTREQUISITEPROFICIENCY", "FLAGS", "DISPLAYFLAGS", "WEAPONPARRYSEQ", "WEAPONREADYSEQ", "WEAPONATTACKSEQ", "WEAPONSWINGSIZE", "DISPLAYNAME_LANG0", "VERBOSENAME_LANG0" FROM "ITEMSUBCLASS" ORDER BY classID, auctionOrderIndex, subClassID, ID
  1760. struct ItemSubClassRec // sizeof(0x34)
  1761. {
  1762.     DWORD m_ID; // +0x0, size 0x4, type 0
  1763.     DWORD m_classID; // +0x4, size 0x4, type 0
  1764.     DWORD m_subClassID; // +0x8, size 0x4, type 0
  1765.     DWORD m_prerequisiteProficiency; // +0xC, size 0x4, type 0
  1766.     DWORD m_postrequisiteProficiency; // +0x10, size 0x4, type 0
  1767.     DWORD m_flags; // +0x14, size 0x4, type 0
  1768.     DWORD m_displayFlags; // +0x18, size 0x4, type 0
  1769.     DWORD m_weaponParrySeq; // +0x1C, size 0x4, type 0
  1770.     DWORD m_weaponReadySeq; // +0x20, size 0x4, type 0
  1771.     DWORD m_weaponAttackSeq; // +0x24, size 0x4, type 0
  1772.     DWORD m_WeaponSwingSize; // +0x28, size 0x4, type 0
  1773.     char* m_displayName_lang; // +0x2C, size 0x4, type 2
  1774.     char* m_verboseName_lang; // +0x30, size 0x4, type 2
  1775. };
  1776.  
  1777. // query: SELECT "ID" FROM "ITEMUPGRADEPATH" ORDER BY id, ID
  1778. struct ItemUpgradePathRec // sizeof(0x4)
  1779. {
  1780.     DWORD m_id; // +0x0, size 0x4, type 0
  1781. };
  1782.  
  1783. // query: SELECT "ID", "MODEL" FROM "ITEMVISUALEFFECTS" ORDER BY id, ID
  1784. struct ItemVisualEffectsRec // sizeof(0x8)
  1785. {
  1786.     DWORD m_ID; // +0x0, size 0x4, type 0
  1787.     char* m_Model; // +0x4, size 0x4, type 2
  1788. };
  1789.  
  1790. // query: SELECT "ID", "SLOT0", "SLOT01", "SLOT02", "SLOT03", "SLOT04" FROM "ITEMVISUALS" ORDER BY id, ID
  1791. struct ItemVisualsRec // sizeof(0x18)
  1792. {
  1793.     DWORD m_ID; // +0x0, size 0x4, type 0
  1794.     DWORD m_Slot[5]; // +0x4, size 0x14, type 0
  1795. };
  1796.  
  1797. // query: SELECT "ID", "JOURNALENCOUNTERID", "CREATUREDISPLAYINFOID", "ORDERINDEX", "FILEDATAID", "NAME_LANG0", "DESCRIPTION_LANG0" FROM "JOURNALENCOUNTERCREATURE" ORDER BY journalEncounterID, orderIndex, ID
  1798. struct JournalEncounterCreatureRec // sizeof(0x1C)
  1799. {
  1800.     DWORD m_ID; // +0x0, size 0x4, type 0
  1801.     DWORD m_journalEncounterID; // +0x4, size 0x4, type 0
  1802.     DWORD m_creatureDisplayInfoID; // +0x8, size 0x4, type 0
  1803.     DWORD m_orderIndex; // +0xC, size 0x4, type 0
  1804.     DWORD m_fileDataID; // +0x10, size 0x4, type 0
  1805.     char* m_name_lang; // +0x14, size 0x4, type 2
  1806.     char* m_description_lang; // +0x18, size 0x4, type 2
  1807. };
  1808.  
  1809. // query: SELECT "ID", "JOURNALENCOUNTERID", "ITEMID", "DIFFICULTYMASK", "FACTIONMASK", "FLAGS" FROM "JOURNALENCOUNTERITEM" ORDER BY journalEncounterID, ID
  1810. struct JournalEncounterItemRec // sizeof(0x18)
  1811. {
  1812.     DWORD m_ID; // +0x0, size 0x4, type 0
  1813.     DWORD m_journalEncounterID; // +0x4, size 0x4, type 0
  1814.     DWORD m_itemID; // +0x8, size 0x4, type 0
  1815.     DWORD m_difficultyMask; // +0xC, size 0x4, type 0
  1816.     DWORD m_factionMask; // +0x10, size 0x4, type 0
  1817.     DWORD m_flags; // +0x14, size 0x4, type 0
  1818. };
  1819.  
  1820. // query: SELECT "ID", "DUNGEONMAPID", "WORLDMAPAREAID", "MAPX", "MAPY", "FIRSTSECTIONID", "JOURNALINSTANCEID", "ORDERINDEX", "DIFFICULTYMASK", "NAME_LANG0", "DESCRIPTION_LANG0", "FLAGS" FROM "JOURNALENCOUNTER" ORDER BY journalInstanceID, orderIndex, ID
  1821. struct JournalEncounterRec // sizeof(0x30)
  1822. {
  1823.     DWORD m_ID; // +0x0, size 0x4, type 0
  1824.     DWORD m_dungeonMapID; // +0x4, size 0x4, type 0
  1825.     DWORD m_worldMapAreaID; // +0x8, size 0x4, type 0
  1826.     float m_map[2]; // +0xC, size 0x8, type 3
  1827.     DWORD m_firstSectionID; // +0x14, size 0x4, type 0
  1828.     DWORD m_journalInstanceID; // +0x18, size 0x4, type 0
  1829.     DWORD m_orderIndex; // +0x1C, size 0x4, type 0
  1830.     DWORD m_difficultyMask; // +0x20, size 0x4, type 0
  1831.     char* m_name_lang; // +0x24, size 0x4, type 2
  1832.     char* m_description_lang; // +0x28, size 0x4, type 2
  1833.     DWORD m_flags; // +0x2C, size 0x4, type 0
  1834. };
  1835.  
  1836. // query: SELECT "ID", "JOURNALENCOUNTERID", "NEXTSIBLINGSECTIONID", "FIRSTCHILDSECTIONID", "PARENTSECTIONID", "ORDERINDEX", "TYPE", "FLAGS", "ICONFLAGS", "TITLE_LANG0", "BODYTEXT_LANG0", "DIFFICULTYMASK", "ICONCREATUREDISPLAYINFOID", "SPELLID", "ICONFILEDATAID" FROM "JOURNALENCOUNTERSECTION" ORDER BY  ID
  1837. struct JournalEncounterSectionRec // sizeof(0x3C)
  1838. {
  1839.     DWORD m_ID; // +0x0, size 0x4, type 0
  1840.     DWORD m_journalEncounterID; // +0x4, size 0x4, type 0
  1841.     DWORD m_nextSiblingSectionID; // +0x8, size 0x4, type 0
  1842.     DWORD m_firstChildSectionID; // +0xC, size 0x4, type 0
  1843.     DWORD m_parentSectionID; // +0x10, size 0x4, type 0
  1844.     DWORD m_orderIndex; // +0x14, size 0x4, type 0
  1845.     DWORD m_type; // +0x18, size 0x4, type 0
  1846.     DWORD m_flags; // +0x1C, size 0x4, type 0
  1847.     DWORD m_iconFlags; // +0x20, size 0x4, type 0
  1848.     char* m_title_lang; // +0x24, size 0x4, type 2
  1849.     char* m_bodyText_lang; // +0x28, size 0x4, type 2
  1850.     DWORD m_difficultyMask; // +0x2C, size 0x4, type 0
  1851.     DWORD m_iconCreatureDisplayInfoID; // +0x30, size 0x4, type 0
  1852.     DWORD m_spellID; // +0x34, size 0x4, type 0
  1853.     DWORD m_iconFileDataID; // +0x38, size 0x4, type 0
  1854. };
  1855.  
  1856. // query: SELECT "ID", "JOURNALENCOUNTERID", "DIFFICULTYID" FROM "JOURNALENCOUNTERXDIFFICULTY" ORDER BY journalEncounterID, difficultyID, ID
  1857. struct JournalEncounterXDifficultyRec // sizeof(0xC)
  1858. {
  1859.     DWORD m_ID; // +0x0, size 0x4, type 0
  1860.     DWORD m_journalEncounterID; // +0x4, size 0x4, type 0
  1861.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  1862. };
  1863.  
  1864. // query: SELECT "ID", "MAPID", "AREAID", "BUTTONFILEDATAID", "BUTTONSMALLFILEDATAID", "BACKGROUNDFILEDATAID", "LOREFILEDATAID", "NAME_LANG0", "DESCRIPTION_LANG0" FROM "JOURNALINSTANCE" ORDER BY  ID
  1865. struct JournalInstanceRec // sizeof(0x24)
  1866. {
  1867.     DWORD m_ID; // +0x0, size 0x4, type 0
  1868.     DWORD m_mapID; // +0x4, size 0x4, type 0
  1869.     DWORD m_areaID; // +0x8, size 0x4, type 0
  1870.     DWORD m_buttonFiledataID; // +0xC, size 0x4, type 0
  1871.     DWORD m_buttonSmallFileDataID; // +0x10, size 0x4, type 0
  1872.     DWORD m_backgroundFiledataID; // +0x14, size 0x4, type 0
  1873.     DWORD m_loreFileDataID; // +0x18, size 0x4, type 0
  1874.     char* m_name_lang; // +0x1C, size 0x4, type 2
  1875.     char* m_description_lang; // +0x20, size 0x4, type 2
  1876. };
  1877.  
  1878. // query: SELECT "ID", "JOURNALENCOUNTERITEMID", "DIFFICULTYID" FROM "JOURNALITEMXDIFFICULTY" ORDER BY journalEncounterItemID, difficultyID, ID
  1879. struct JournalItemXDifficultyRec // sizeof(0xC)
  1880. {
  1881.     DWORD m_ID; // +0x0, size 0x4, type 0
  1882.     DWORD m_journalEncounterItemID; // +0x4, size 0x4, type 0
  1883.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  1884. };
  1885.  
  1886. // query: SELECT "ID", "JOURNALENCOUNTERSECTIONID", "DIFFICULTYID" FROM "JOURNALSECTIONXDIFFICULTY" ORDER BY journalEncounterSectionID, difficultyID, ID
  1887. struct JournalSectionXDifficultyRec // sizeof(0xC)
  1888. {
  1889.     DWORD m_ID; // +0x0, size 0x4, type 0
  1890.     DWORD m_journalEncounterSectionID; // +0x4, size 0x4, type 0
  1891.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  1892. };
  1893.  
  1894. // query: SELECT "ID", "NAME_LANG0" FROM "JOURNALTIER" ORDER BY ID, ID
  1895. struct JournalTierRec // sizeof(0x8)
  1896. {
  1897.     DWORD m_ID; // +0x0, size 0x4, type 0
  1898.     char* m_name_lang; // +0x4, size 0x4, type 2
  1899. };
  1900.  
  1901. // query: SELECT "JOURNALTIERID", "JOURNALINSTANCEID" FROM "JOURNALTIERXINSTANCE" ORDER BY journalTierID, journalInstanceID, ID
  1902. struct JournalTierXInstanceRec // sizeof(0x8)
  1903. {
  1904.     DWORD m_journalTierID; // +0x0, size 0x4, type 0
  1905.     DWORD m_journalInstanceID; // +0x4, size 0x4, type 0
  1906. };
  1907.  
  1908. // query: SELECT "ID", "NAME_LANG0" FROM "LANGUAGES" ORDER BY id, ID
  1909. struct LanguagesRec // sizeof(0x8)
  1910. {
  1911.     DWORD m_ID; // +0x0, size 0x4, type 0
  1912.     char* m_name_lang; // +0x4, size 0x4, type 2
  1913. };
  1914.  
  1915. // query: SELECT "ID", "LANGUAGEID", "WORD" FROM "LANGUAGEWORDS" ORDER BY id, ID
  1916. struct LanguageWordsRec // sizeof(0xC)
  1917. {
  1918.     DWORD m_ID; // +0x0, size 0x4, type 0
  1919.     DWORD m_languageID; // +0x4, size 0x4, type 0
  1920.     char* m_word; // +0x8, size 0x4, type 2
  1921. };
  1922.  
  1923. // query: SELECT "ID", "LFG_ID", "EXPANSION_LEVEL", "RANDOM_ID", "HARD_LEVEL_MIN", "HARD_LEVEL_MAX", "TARGET_LEVEL_MIN", "TARGET_LEVEL_MAX" FROM "LFGDUNGEONEXPANSION" ORDER BY lfg_id, expansion_level, ID
  1924. struct LfgDungeonExpansionRec // sizeof(0x20)
  1925. {
  1926.     DWORD m_ID; // +0x0, size 0x4, type 0
  1927.     DWORD m_lfg_id; // +0x4, size 0x4, type 0
  1928.     DWORD m_expansion_level; // +0x8, size 0x4, type 0
  1929.     DWORD m_random_id; // +0xC, size 0x4, type 0
  1930.     DWORD m_hard_level_min; // +0x10, size 0x4, type 0
  1931.     DWORD m_hard_level_max; // +0x14, size 0x4, type 0
  1932.     DWORD m_target_level_min; // +0x18, size 0x4, type 0
  1933.     DWORD m_target_level_max; // +0x1C, size 0x4, type 0
  1934. };
  1935.  
  1936. // query: SELECT "ID", "NAME_LANG0", "ORDER_INDEX", "PARENT_GROUP_ID", "TYPEID" FROM "LFGDUNGEONGROUP" ORDER BY order_index, ID, ID
  1937. struct LfgDungeonGroupRec // sizeof(0x14)
  1938. {
  1939.     DWORD m_ID; // +0x0, size 0x4, type 0
  1940.     char* m_name_lang; // +0x4, size 0x4, type 2
  1941.     DWORD m_order_index; // +0x8, size 0x4, type 0
  1942.     DWORD m_parent_group_id; // +0xC, size 0x4, type 0
  1943.     DWORD m_typeid; // +0x10, size 0x4, type 0
  1944. };
  1945.  
  1946. // query: SELECT "ID", "LFGDUNGEONSID", "RANDOM_LFGDUNGEONSID", "GROUP_ID" FROM "LFGDUNGEONSGROUPINGMAP" ORDER BY lfgDungeonsID, ID
  1947. struct LfgDungeonsGroupingMapRec // sizeof(0x10)
  1948. {
  1949.     DWORD m_ID; // +0x0, size 0x4, type 0
  1950.     DWORD m_lfgDungeonsID; // +0x4, size 0x4, type 0
  1951.     DWORD m_random_lfgDungeonsID; // +0x8, size 0x4, type 0
  1952.     DWORD m_group_id; // +0xC, size 0x4, type 0
  1953. };
  1954.  
  1955. // query: SELECT "ID", "NAME_LANG0", "MINLEVEL", "MAXLEVEL", "TARGET_LEVEL", "TARGET_LEVEL_MIN", "TARGET_LEVEL_MAX", "MAPID", "DIFFICULTYID", "FLAGS", "TYPEID", "FACTION", "TEXTUREFILENAME", "EXPANSIONLEVEL", "ORDER_INDEX", "GROUP_ID", "DESCRIPTION_LANG0", "RANDOM_ID", "COUNT_TANK", "COUNT_HEALER", "COUNT_DAMAGE", "MIN_COUNT_TANK", "MIN_COUNT_HEALER", "MIN_COUNT_DAMAGE", "SCENARIOID", "SUBTYPE", "BONUS_REPUTATION_AMOUNT", "MENTORCHARLEVEL", "MENTORITEMLEVEL" FROM "LFGDUNGEONS" WHERE ID <> 436 AND ID <> 438 AND ID <> 440 ORDER BY typeID, order_index, ID, ID
  1956. struct LfgDungeonsRec // sizeof(0x74)
  1957. {
  1958.     DWORD m_ID; // +0x0, size 0x4, type 0
  1959.     char* m_name_lang; // +0x4, size 0x4, type 2
  1960.     DWORD m_minLevel; // +0x8, size 0x4, type 0
  1961.     DWORD m_maxLevel; // +0xC, size 0x4, type 0
  1962.     DWORD m_target_level; // +0x10, size 0x4, type 0
  1963.     DWORD m_target_level_min; // +0x14, size 0x4, type 0
  1964.     DWORD m_target_level_max; // +0x18, size 0x4, type 0
  1965.     DWORD m_mapID; // +0x1C, size 0x4, type 0
  1966.     DWORD m_difficultyID; // +0x20, size 0x4, type 0
  1967.     DWORD m_flags; // +0x24, size 0x4, type 0
  1968.     DWORD m_typeID; // +0x28, size 0x4, type 0
  1969.     DWORD m_faction; // +0x2C, size 0x4, type 0
  1970.     char* m_textureFilename; // +0x30, size 0x4, type 2
  1971.     DWORD m_expansionLevel; // +0x34, size 0x4, type 0
  1972.     DWORD m_order_index; // +0x38, size 0x4, type 0
  1973.     DWORD m_group_id; // +0x3C, size 0x4, type 0
  1974.     char* m_description_lang; // +0x40, size 0x4, type 2
  1975.     DWORD m_random_id; // +0x44, size 0x4, type 0
  1976.     DWORD m_count_tank; // +0x48, size 0x4, type 0
  1977.     DWORD m_count_healer; // +0x4C, size 0x4, type 0
  1978.     DWORD m_count_damage; // +0x50, size 0x4, type 0
  1979.     DWORD m_min_count_tank; // +0x54, size 0x4, type 0
  1980.     DWORD m_min_count_healer; // +0x58, size 0x4, type 0
  1981.     DWORD m_min_count_damage; // +0x5C, size 0x4, type 0
  1982.     DWORD m_scenarioID; // +0x60, size 0x4, type 0
  1983.     DWORD m_subtype; // +0x64, size 0x4, type 0
  1984.     DWORD m_bonus_reputation_amount; // +0x68, size 0x4, type 0
  1985.     DWORD m_mentorCharLevel; // +0x6C, size 0x4, type 0
  1986.     DWORD m_mentorItemLevel; // +0x70, size 0x4, type 0
  1987. };
  1988.  
  1989. // query: SELECT "ID", "NAME", "FILENAME", "HASWIDESCREEN" FROM "LOADINGSCREENS" ORDER BY id, ID
  1990. struct LoadingScreensRec // sizeof(0x10)
  1991. {
  1992.     DWORD m_ID; // +0x0, size 0x4, type 0
  1993.     char* m_name; // +0x4, size 0x4, type 2
  1994.     char* m_fileName; // +0x8, size 0x4, type 2
  1995.     DWORD m_hasWideScreen; // +0xC, size 0x4, type 0
  1996. };
  1997.  
  1998. // query: SELECT "ID", "PATHID", "LOCX0", "LOCX01", "LOCX02", "LOCX03", "LOCX04", "LOCX05", "LOCX06", "LOCX07", "LOCX08", "LOCX09", "LOCY0", "LOCY01", "LOCY02", "LOCY03", "LOCY04", "LOCY05", "LOCY06", "LOCY07", "LOCY08", "LOCY09", "LEGINDEX", "LOADINGSCREENID" FROM "LOADINGSCREENTAXISPLINES" ORDER BY id, ID
  1999. struct LoadingScreenTaxiSplinesRec // sizeof(0x60)
  2000. {
  2001.     DWORD m_ID; // +0x0, size 0x4, type 0
  2002.     DWORD m_PathID; // +0x4, size 0x4, type 0
  2003.     float m_Locx[10]; // +0x8, size 0x28, type 3
  2004.     float m_Locy[10]; // +0x30, size 0x28, type 3
  2005.     DWORD m_LegIndex; // +0x58, size 0x4, type 0
  2006.     DWORD m_LoadingScreenID; // +0x5C, size 0x4, type 0
  2007. };
  2008.  
  2009. // query: SELECT "ID", "TYPE0", "TYPE1", "TYPE2", "TYPE3", "TYPE4", "TYPE5", "TYPE6", "TYPE7", "INDEX0", "INDEX1", "INDEX2", "INDEX3", "INDEX4", "INDEX5", "INDEX6", "INDEX7", "SKILL0", "SKILL1", "SKILL2", "SKILL3", "SKILL4", "SKILL5", "SKILL6", "SKILL7", "ACTION0", "ACTION1", "ACTION2", "ACTION3", "ACTION4", "ACTION5", "ACTION6", "ACTION7" FROM "LOCK_" ORDER BY id, ID
  2010. struct LockRec // sizeof(0x84)
  2011. {
  2012.     DWORD m_ID; // +0x0, size 0x4, type 0
  2013.     DWORD m_Type[8]; // +0x4, size 0x20, type 0
  2014.     DWORD m_Index[8]; // +0x24, size 0x20, type 0
  2015.     DWORD m_Skill[8]; // +0x44, size 0x20, type 0
  2016.     DWORD m_Action[8]; // +0x64, size 0x20, type 0
  2017. };
  2018.  
  2019. // query: SELECT "ID", "NAME_LANG0", "RESOURCENAME_LANG0", "VERB_LANG0", "CURSORNAME" FROM "LOCKTYPE" ORDER BY id, ID
  2020. struct LockTypeRec // sizeof(0x14)
  2021. {
  2022.     DWORD m_ID; // +0x0, size 0x4, type 0
  2023.     char* m_name_lang; // +0x4, size 0x4, type 2
  2024.     char* m_resourceName_lang; // +0x8, size 0x4, type 2
  2025.     char* m_verb_lang; // +0xC, size 0x4, type 2
  2026.     char* m_cursorName; // +0x10, size 0x4, type 2
  2027. };
  2028.  
  2029. // query: SELECT "ID", "SUBJECT_LANG0", "BODY_LANG0" FROM "MAILTEMPLATE" ORDER BY id, ID
  2030. struct MailTemplateRec // sizeof(0xC)
  2031. {
  2032.     DWORD m_ID; // +0x0, size 0x4, type 0
  2033.     char* m_subject_lang; // +0x4, size 0x4, type 2
  2034.     char* m_body_lang; // +0x8, size 0x4, type 2
  2035. };
  2036.  
  2037. // query: SELECT "ID" FROM "VW_MANIFESTFILEDATA" WHERE UPPER(FilePath) LIKE 'INTERFACE\ICONS\%' AND (UPPER(FileName) LIKE 'ABILITY*_%.BLP' ESCAPE '*' OR UPPER(FileName) LIKE 'SPELL*_%.BLP' ESCAPE '*') ORDER BY  ID
  2038. struct ManifestInterfaceActionIconRec // sizeof(0x4)
  2039. {
  2040.     DWORD m_ID; // +0x0, size 0x4, type 0
  2041. };
  2042.  
  2043. // query: SELECT "ID", "FILEPATH", "FILENAME" FROM "VW_MANIFESTFILEDATA" WHERE UPPER(FilePath) LIKE 'INTERFACE\%' ORDER BY  ID
  2044. struct ManifestInterfaceDataRec // sizeof(0xC)
  2045. {
  2046.     DWORD m_ID; // +0x0, size 0x4, type 0
  2047.     char* m_FilePath; // +0x4, size 0x4, type 2
  2048.     char* m_FileName; // +0x8, size 0x4, type 2
  2049. };
  2050.  
  2051. // query: SELECT "ID" FROM "VW_MANIFESTFILEDATA" WHERE UPPER(FilePath) LIKE 'INTERFACE\ICONS\%' AND UPPER(FileName) LIKE 'INV*_%.BLP' ESCAPE '*' ORDER BY  ID
  2052. struct ManifestInterfaceItemIconRec // sizeof(0x4)
  2053. {
  2054.     DWORD m_ID; // +0x0, size 0x4, type 0
  2055. };
  2056.  
  2057. // query: SELECT "ID", "FILEPATH" FROM "VW_MANIFESTFILEDATA" WHERE UPPER(FilePath) LIKE 'INTERFACE\ADDONS\%' AND UPPER(FileName) LIKE '%.TOC' ORDER BY  ID
  2058. struct ManifestInterfaceTOCDataRec // sizeof(0x8)
  2059. {
  2060.     DWORD m_ID; // +0x0, size 0x4, type 0
  2061.     char* m_FilePath; // +0x4, size 0x4, type 2
  2062. };
  2063.  
  2064. // query: SELECT "ID", "MAPID", "DIFFICULTYID", "MESSAGE_LANG0", "RAIDDURATION", "MAXPLAYERS", "LOCKID" FROM "MAPDIFFICULTY" ORDER BY mapID, difficultyID, ID
  2065. struct MapDifficultyRec // sizeof(0x1C)
  2066. {
  2067.     DWORD m_ID; // +0x0, size 0x4, type 0
  2068.     DWORD m_mapID; // +0x4, size 0x4, type 0
  2069.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  2070.     char* m_message_lang; // +0xC, size 0x4, type 2
  2071.     DWORD m_raidDuration; // +0x10, size 0x4, type 0
  2072.     DWORD m_maxPlayers; // +0x14, size 0x4, type 0
  2073.     DWORD m_lockID; // +0x18, size 0x4, type 0
  2074. };
  2075.  
  2076. // query: SELECT "ID", "FLAGS", "FOLEYSOUNDID", "SHEATHESOUNDID", "UNSHEATHESOUNDID" FROM "MATERIAL" ORDER BY ID, ID
  2077. struct MaterialRec // sizeof(0x14)
  2078. {
  2079.     DWORD m_ID; // +0x0, size 0x4, type 0
  2080.     DWORD m_flags; // +0x4, size 0x4, type 0
  2081.     DWORD m_foleySoundID; // +0x8, size 0x4, type 0
  2082.     DWORD m_sheatheSoundID; // +0xC, size 0x4, type 0
  2083.     DWORD m_unsheatheSoundID; // +0x10, size 0x4, type 0
  2084. };
  2085.  
  2086. // query: SELECT "ID", "CHRSPECIALIZATIONID", "SPELLID", "ORDERINDEX" FROM "MINORTALENT" ORDER BY chrSpecializationID, orderIndex, ID
  2087. struct MinorTalentRec // sizeof(0x10)
  2088. {
  2089.     DWORD m_ID; // +0x0, size 0x4, type 0
  2090.     DWORD m_chrSpecializationID; // +0x4, size 0x4, type 0
  2091.     DWORD m_spellID; // +0x8, size 0x4, type 0
  2092.     DWORD m_orderIndex; // +0xC, size 0x4, type 0
  2093. };
  2094.  
  2095. // query: SELECT "ID", "TYPE", "ASSET", "SECONDARYASSET", "OPERATOR", "AMOUNT", "PARENT" FROM "MODIFIERTREE" ORDER BY  ID
  2096. struct ModifierTreeRec // sizeof(0x1C)
  2097. {
  2098.     DWORD m_ID; // +0x0, size 0x4, type 0
  2099.     DWORD m_type; // +0x4, size 0x4, type 0
  2100.     DWORD m_asset; // +0x8, size 0x4, type 0
  2101.     DWORD m_secondaryAsset; // +0xC, size 0x4, type 0
  2102.     DWORD m_operator; // +0x10, size 0x4, type 0
  2103.     DWORD m_amount; // +0x14, size 0x4, type 0
  2104.     DWORD m_parent; // +0x18, size 0x4, type 0
  2105. };
  2106.  
  2107. // query: SELECT "ID", "FLAGS", "REQRIDINGSKILL", "REQAREAID", "REQSPELLAURAID", "REQSPELLKNOWNID", "MODSPELLAURAID", "REQMAPID" FROM "MOUNTCAPABILITY" ORDER BY ID, ID
  2108. struct MountCapabilityRec // sizeof(0x20)
  2109. {
  2110.     DWORD m_ID; // +0x0, size 0x4, type 0
  2111.     DWORD m_flags; // +0x4, size 0x4, type 0
  2112.     DWORD m_reqRidingSkill; // +0x8, size 0x4, type 0
  2113.     DWORD m_reqAreaID; // +0xC, size 0x4, type 0
  2114.     DWORD m_reqSpellAuraID; // +0x10, size 0x4, type 0
  2115.     DWORD m_reqSpellKnownID; // +0x14, size 0x4, type 0
  2116.     DWORD m_modSpellAuraID; // +0x18, size 0x4, type 0
  2117.     DWORD m_reqMapID; // +0x1C, size 0x4, type 0
  2118. };
  2119.  
  2120. // query: SELECT "ID", "CAPABILITY0", "CAPABILITY1", "CAPABILITY2", "CAPABILITY3", "CAPABILITY4", "CAPABILITY5", "CAPABILITY6", "CAPABILITY7", "CAPABILITY8", "CAPABILITY9", "CAPABILITY10", "CAPABILITY11", "CAPABILITY12", "CAPABILITY13", "CAPABILITY14", "CAPABILITY15", "CAPABILITY16", "CAPABILITY17", "CAPABILITY18", "CAPABILITY19", "CAPABILITY20", "CAPABILITY21", "CAPABILITY22", "CAPABILITY23" FROM "MOUNTTYPE" ORDER BY ID, ID
  2121. struct MountTypeRec // sizeof(0x64)
  2122. {
  2123.     DWORD m_ID; // +0x0, size 0x4, type 0
  2124.     DWORD m_capability[24]; // +0x4, size 0x60, type 0
  2125. };
  2126.  
  2127. // query: SELECT "FILEDATAID", "RESOLUTION" FROM "MOVIEFILEDATA" ORDER BY FileDataID, ID
  2128. struct MovieFileDataRec // sizeof(0x8)
  2129. {
  2130.     DWORD m_FileDataID; // +0x0, size 0x4, type 0
  2131.     DWORD m_resolution; // +0x4, size 0x4, type 0
  2132. };
  2133.  
  2134. // query: SELECT "MOVIEID", "LOCALEMASK", "OVERLAYRANGEBEGIN", "OVERLAYRANGEEND" FROM "MOVIEOVERLAYS" ORDER BY movieID,localeMask,overlayRangeBegin, ID
  2135. struct MovieOverlaysRec // sizeof(0x14)
  2136. {
  2137.     DWORD m_ID; // +0x0, size 0x4, type 0
  2138.     DWORD m_movieID; // +0x4, size 0x4, type 0
  2139.     DWORD m_localeMask; // +0x8, size 0x4, type 0
  2140.     DWORD m_overlayRangeBegin; // +0xC, size 0x4, type 0
  2141.     DWORD m_overlayRangeEnd; // +0x10, size 0x4, type 0
  2142. };
  2143.  
  2144. // query: SELECT "ID", "VOLUME", "KEYID", "AUDIOFILEDATAID", "SUBTITLEFILEDATAID" FROM "MOVIE" ORDER BY id, ID
  2145. struct MovieRec // sizeof(0x14)
  2146. {
  2147.     DWORD m_ID; // +0x0, size 0x4, type 0
  2148.     DWORD m_volume; // +0x4, size 0x4, type 0
  2149.     DWORD m_keyID; // +0x8, size 0x4, type 0
  2150.     DWORD m_audioFileDataID; // +0xC, size 0x4, type 0
  2151.     DWORD m_subtitleFileDataID; // +0x10, size 0x4, type 0
  2152. };
  2153.  
  2154. // query: SELECT "ID", "MOVIEID", "FILEDATAID", "OVERLAYFILEDATAID" FROM "MOVIEVARIATION" WHERE movieID <> 0 ORDER BY movieID, ID, ID
  2155. struct MovieVariationRec // sizeof(0x10)
  2156. {
  2157.     DWORD m_ID; // +0x0, size 0x4, type 0
  2158.     DWORD m_movieID; // +0x4, size 0x4, type 0
  2159.     DWORD m_fileDataID; // +0x8, size 0x4, type 0
  2160.     DWORD m_OverlayFileDataID; // +0xC, size 0x4, type 0
  2161. };
  2162.  
  2163. // query: SELECT "ID", "NAME", "RACEID", "SEX" FROM "NAMEGEN" ORDER BY raceID, sex, ID, ID
  2164. struct NameGenRec // sizeof(0x10)
  2165. {
  2166.     DWORD m_ID; // +0x0, size 0x4, type 0
  2167.     char* m_name; // +0x4, size 0x4, type 2
  2168.     DWORD m_raceID; // +0x8, size 0x4, type 0
  2169.     DWORD m_sex; // +0xC, size 0x4, type 0
  2170. };
  2171.  
  2172. // query: SELECT "ID", "NAME", "LANGUAGE" FROM "NAMESPROFANITY" ORDER BY id, ID
  2173. struct NamesProfanityRec // sizeof(0xC)
  2174. {
  2175.     DWORD m_ID; // +0x0, size 0x4, type 0
  2176.     char* m_Name; // +0x4, size 0x4, type 2
  2177.     DWORD m_Language; // +0x8, size 0x4, type 0
  2178. };
  2179.  
  2180. // query: SELECT "ID", "NAME", "LOCALEMASK" FROM "NAMESRESERVEDLOCALE" ORDER BY id, ID
  2181. struct NamesReservedLocaleRec // sizeof(0xC)
  2182. {
  2183.     DWORD m_ID; // +0x0, size 0x4, type 0
  2184.     char* m_Name; // +0x4, size 0x4, type 2
  2185.     DWORD m_LocaleMask; // +0x8, size 0x4, type 0
  2186. };
  2187.  
  2188. // query: SELECT "ID", "NAME" FROM "NAMESRESERVED" ORDER BY id, ID
  2189. struct NamesReservedRec // sizeof(0x8)
  2190. {
  2191.     DWORD m_ID; // +0x0, size 0x4, type 0
  2192.     char* m_Name; // +0x4, size 0x4, type 2
  2193. };
  2194.  
  2195. // query: SELECT "ID", "SOUNDID0", "SOUNDID1", "SOUNDID2", "SOUNDID3" FROM "NPCSOUNDS" ORDER BY id, ID
  2196. struct NPCSoundsRec // sizeof(0x14)
  2197. {
  2198.     DWORD m_ID; // +0x0, size 0x4, type 0
  2199.     DWORD m_SoundID[4]; // +0x4, size 0x10, type 0
  2200. };
  2201.  
  2202. // query: SELECT "ID", "NAME" FROM "OBJECTEFFECTGROUP" ORDER BY id, ID
  2203. struct ObjectEffectGroupRec // sizeof(0x8)
  2204. {
  2205.     DWORD m_ID; // +0x0, size 0x4, type 0
  2206.     char* m_name; // +0x4, size 0x4, type 2
  2207. };
  2208.  
  2209. // query: SELECT "ID", "INPUTTYPE", "MAPTYPE", "OUTPUTTYPE", "PARAM0", "PARAM1", "PARAM2", "PARAM3" FROM "OBJECTEFFECTMODIFIER" ORDER BY id, ID
  2210. struct ObjectEffectModifierRec // sizeof(0x20)
  2211. {
  2212.     DWORD m_ID; // +0x0, size 0x4, type 0
  2213.     DWORD m_inputType; // +0x4, size 0x4, type 0
  2214.     DWORD m_mapType; // +0x8, size 0x4, type 0
  2215.     DWORD m_outputType; // +0xC, size 0x4, type 0
  2216.     float m_param[4]; // +0x10, size 0x10, type 3
  2217. };
  2218.  
  2219. // query: SELECT "ID", "OBJECTEFFECTPACKAGEID", "OBJECTEFFECTGROUPID", "STATETYPE" FROM "OBJECTEFFECTPACKAGEELEM" ORDER BY id, ID
  2220. struct ObjectEffectPackageElemRec // sizeof(0x10)
  2221. {
  2222.     DWORD m_ID; // +0x0, size 0x4, type 0
  2223.     DWORD m_objectEffectPackageID; // +0x4, size 0x4, type 0
  2224.     DWORD m_objectEffectGroupID; // +0x8, size 0x4, type 0
  2225.     DWORD m_stateType; // +0xC, size 0x4, type 0
  2226. };
  2227.  
  2228. // query: SELECT "ID", "NAME" FROM "OBJECTEFFECTPACKAGE" ORDER BY id, ID
  2229. struct ObjectEffectPackageRec // sizeof(0x8)
  2230. {
  2231.     DWORD m_ID; // +0x0, size 0x4, type 0
  2232.     char* m_name; // +0x4, size 0x4, type 2
  2233. };
  2234.  
  2235. // query: SELECT "ID", "NAME", "OBJECTEFFECTGROUPID", "TRIGGERTYPE", "EVENTTYPE", "EFFECTRECTYPE", "EFFECTRECID", "ATTACHMENT", "OFFSETX", "OFFSETY", "OFFSETZ", "OBJECTEFFECTMODIFIERID" FROM "OBJECTEFFECT" ORDER BY id, ID
  2236. struct ObjectEffectRec // sizeof(0x30)
  2237. {
  2238.     DWORD m_ID; // +0x0, size 0x4, type 0
  2239.     char* m_name; // +0x4, size 0x4, type 2
  2240.     DWORD m_objectEffectGroupID; // +0x8, size 0x4, type 0
  2241.     DWORD m_triggerType; // +0xC, size 0x4, type 0
  2242.     DWORD m_eventType; // +0x10, size 0x4, type 0
  2243.     DWORD m_effectRecType; // +0x14, size 0x4, type 0
  2244.     DWORD m_effectRecID; // +0x18, size 0x4, type 0
  2245.     DWORD m_attachment; // +0x1C, size 0x4, type 0
  2246.     float m_offset[3]; // +0x20, size 0xC, type 3
  2247.     DWORD m_objectEffectModifierID; // +0x2C, size 0x4, type 0
  2248. };
  2249.  
  2250. // query: SELECT "ID", "SPELLS0", "SPELLS1", "SPELLS2", "SPELLS3", "SPELLS4", "SPELLS5", "SPELLS6", "SPELLS7", "SPELLS8", "SPELLS9", "FLAGS", "PLAYERACTIONBARFILEDATAID" FROM "OVERRIDESPELLDATA" ORDER BY  ID
  2251. struct OverrideSpellDataRec // sizeof(0x34)
  2252. {
  2253.     DWORD m_ID; // +0x0, size 0x4, type 0
  2254.     DWORD m_spells[10]; // +0x4, size 0x28, type 0
  2255.     DWORD m_flags; // +0x2C, size 0x4, type 0
  2256.     DWORD m_playerActionbarFileDataID; // +0x30, size 0x4, type 0
  2257. };
  2258.  
  2259. // query: SELECT "ID", "ICON", "COST", "NAME_LANG0" FROM "PACKAGE" ORDER BY cost, ID
  2260. struct PackageRec // sizeof(0x10)
  2261. {
  2262.     DWORD m_ID; // +0x0, size 0x4, type 0
  2263.     char* m_icon; // +0x4, size 0x4, type 2
  2264.     DWORD m_cost; // +0x8, size 0x4, type 0
  2265.     char* m_name_lang; // +0xC, size 0x4, type 2
  2266. };
  2267.  
  2268. // query: SELECT "ID", "NAME" FROM "PAGETEXTMATERIAL" ORDER BY id, ID
  2269. struct PageTextMaterialRec // sizeof(0x8)
  2270. {
  2271.     DWORD m_ID; // +0x0, size 0x4, type 0
  2272.     char* m_name; // +0x4, size 0x4, type 2
  2273. };
  2274.  
  2275. // query: SELECT "ITEMBUTTONNAME", "SLOTICON", "SLOTNUMBER" FROM "TBLPAPERDOLLITEMFRAME" ORDER BY id, ID
  2276. struct PaperDollItemFrameRec // sizeof(0x10)
  2277. {
  2278.     DWORD m_ID; // +0x0, size 0x4, type 0
  2279.     char* m_ItemButtonName; // +0x4, size 0x4, type 2
  2280.     char* m_SlotIcon; // +0x8, size 0x4, type 2
  2281.     DWORD m_SlotNumber; // +0xC, size 0x4, type 0
  2282. };
  2283.  
  2284. // query: SELECT "ID", "START0", "START1", "START2", "MID0", "MID1", "MID2", "END0", "END1", "END2" FROM "PARTICLECOLOR" ORDER BY  ID
  2285. struct ParticleColorRec // sizeof(0x28)
  2286. {
  2287.     DWORD m_ID; // +0x0, size 0x4, type 0
  2288.     DWORD m_start[3]; // +0x4, size 0xC, type 0
  2289.     DWORD m_mid[3]; // +0x10, size 0xC, type 0
  2290.     DWORD m_end[3]; // +0x1C, size 0xC, type 0
  2291. };
  2292.  
  2293. // query: SELECT "ID", "NAME", "FLAGS" FROM "PHASE" ORDER BY  ID
  2294. struct PhaseRec // sizeof(0xC)
  2295. {
  2296.     DWORD m_ID; // +0x0, size 0x4, type 0
  2297.     char* m_name; // +0x4, size 0x4, type 2
  2298.     DWORD m_flags; // +0x8, size 0x4, type 0
  2299. };
  2300.  
  2301. // query: SELECT "ID", "AREAID", "WMOAREAID", "PHASEID", "PHASEGROUPID", "PHASEUSEFLAGS", "ZONEINTROMUSICID", "ZONEMUSICID", "SOUNDAMBIENCEID", "SOUNDPROVIDERPREFERENCESID", "UWZONEINTROMUSICID", "UWZONEMUSICID", "UWSOUNDAMBIENCEID", "UWSOUNDPROVIDERPREFERENCESID" FROM "PHASESHIFTZONESOUNDS" ORDER BY id, ID
  2302. struct PhaseShiftZoneSoundsRec // sizeof(0x38)
  2303. {
  2304.     DWORD m_ID; // +0x0, size 0x4, type 0
  2305.     DWORD m_AreaID; // +0x4, size 0x4, type 0
  2306.     DWORD m_WMOAreaID; // +0x8, size 0x4, type 0
  2307.     DWORD m_PhaseID; // +0xC, size 0x4, type 0
  2308.     DWORD m_PhaseGroupID; // +0x10, size 0x4, type 0
  2309.     DWORD m_PhaseUseFlags; // +0x14, size 0x4, type 0
  2310.     DWORD m_ZoneIntroMusicID; // +0x18, size 0x4, type 0
  2311.     DWORD m_ZoneMusicID; // +0x1C, size 0x4, type 0
  2312.     DWORD m_SoundAmbienceID; // +0x20, size 0x4, type 0
  2313.     DWORD m_SoundProviderPreferencesID; // +0x24, size 0x4, type 0
  2314.     DWORD m_UWZoneIntroMusicID; // +0x28, size 0x4, type 0
  2315.     DWORD m_UWZoneMusicID; // +0x2C, size 0x4, type 0
  2316.     DWORD m_UWSoundAmbienceID; // +0x30, size 0x4, type 0
  2317.     DWORD m_UWSoundProviderPreferencesID; // +0x34, size 0x4, type 0
  2318. };
  2319.  
  2320. // query: SELECT "ID", "PHASEID", "PHASEGROUPID" FROM "PHASEXPHASEGROUP" ORDER BY phaseGroupID, phaseID, ID
  2321. struct PhaseXPhaseGroupRec // sizeof(0xC)
  2322. {
  2323.     DWORD m_ID; // +0x0, size 0x4, type 0
  2324.     DWORD m_phaseID; // +0x4, size 0x4, type 0
  2325.     DWORD m_phaseGroupID; // +0x8, size 0x4, type 0
  2326. };
  2327.  
  2328. // query: SELECT "ID", "FLAGS", "MINLEVEL", "MAXLEVEL", "RACEMASK", "CLASSMASK", "GENDER", "NATIVEGENDER", "SKILLID", "SKILLID01", "SKILLID02", "SKILLID03", "MINSKILL", "MINSKILL01", "MINSKILL02", "MINSKILL03", "MAXSKILL", "MAXSKILL01", "MAXSKILL02", "MAXSKILL03", "SKILLLOGIC", "LANGUAGEID", "MINLANGUAGE", "MAXLANGUAGE", "MINFACTIONID", "MINFACTIONID01", "MINFACTIONID02", "MAXFACTIONID", "MINREPUTATION", "MINREPUTATION01", "MINREPUTATION02", "MAXREPUTATION", "REPUTATIONLOGIC", "MINPVPRANK", "MAXPVPRANK", "PVPMEDAL", "PREVQUESTLOGIC", "PREVQUESTID0", "PREVQUESTID01", "PREVQUESTID02", "PREVQUESTID03", "CURRQUESTLOGIC", "CURRQUESTID0", "CURRQUESTID01", "CURRQUESTID02", "CURRQUESTID03", "CURRENTCOMPLETEDQUESTLOGIC", "CURRENTCOMPLETEDQUESTID0", "CURRENTCOMPLETEDQUESTID01", "CURRENTCOMPLETEDQUESTID02", "CURRENTCOMPLETEDQUESTID03", "SPELLLOGIC", "SPELLID0", "SPELLID01", "SPELLID02", "SPELLID03", "ITEMLOGIC", "ITEMID0", "ITEMID01", "ITEMID02", "ITEMID03", "ITEMCOUNT0", "ITEMCOUNT01", "ITEMCOUNT02", "ITEMCOUNT03", "ITEMFLAGS", "EXPLORED0", "EXPLORED01", "TIME0", "TIME01", "AURASPELLLOGIC", "AURASPELLID", "AURASPELLID01", "AURASPELLID02", "AURASPELLID03", "WORLDSTATEEXPRESSIONID", "WEATHERID", "PARTYSTATUS", "LIFETIMEMAXPVPRANK", "ACHIEVEMENTLOGIC", "ACHIEVEMENT0", "ACHIEVEMENT01", "ACHIEVEMENT02", "ACHIEVEMENT03", "LFGLOGIC", "LFGSTATUS0", "LFGSTATUS01", "LFGSTATUS02", "LFGSTATUS03", "LFGCOMPARE0", "LFGCOMPARE01", "LFGCOMPARE02", "LFGCOMPARE03", "LFGVALUE0", "LFGVALUE01", "LFGVALUE02", "LFGVALUE03", "AREALOGIC", "AREAID0", "AREAID1", "AREAID2", "AREAID3", "CURRENCYLOGIC", "CURRENCYID0", "CURRENCYID01", "CURRENCYID02", "CURRENCYID03", "CURRENCYCOUNT0", "CURRENCYCOUNT01", "CURRENCYCOUNT02", "CURRENCYCOUNT03", "QUESTKILLID", "QUESTKILLLOGIC", "QUESTKILLMONSTER0", "QUESTKILLMONSTER01", "QUESTKILLMONSTER02", "QUESTKILLMONSTER03", NVL(MINEXPANSIONLEVEL, -1) AS "MINEXPANSIONLEVEL", NVL(MAXEXPANSIONLEVEL, -1) AS "MAXEXPANSIONLEVEL", NVL(MINEXPANSIONTIER, -1) AS "MINEXPANSIONTIER", NVL(MAXEXPANSIONTIER, -1) AS "MAXEXPANSIONTIER", "MINGUILDLEVEL", "MAXGUILDLEVEL", "PHASEUSEFLAGS", "PHASEID", "PHASEGROUPID", "MINAVGITEMLEVEL", "MAXAVGITEMLEVEL", "MINAVGEQUIPPEDITEMLEVEL", "MAXAVGEQUIPPEDITEMLEVEL", NVL(CHRSPECIALIZATIONINDEX, -1) AS "CHRSPECIALIZATIONINDEX", NVL(CHRSPECIALIZATIONROLE, -1) AS "CHRSPECIALIZATIONROLE", "FAILURE_DESCRIPTION_LANG0", "POWERTYPE", "POWERTYPECOMP", "POWERTYPEVALUE" FROM "PLAYERCONDITION" WHERE (BITAND(flags,1) <> 0) OR (failure_description_lang0 IS NOT NULL) ORDER BY  ID
  2329. struct PlayerConditionRec // sizeof(0x220)
  2330. {
  2331.     DWORD m_ID; // +0x0, size 0x4, type 0
  2332.     DWORD m_flags; // +0x4, size 0x4, type 0
  2333.     DWORD m_minLevel; // +0x8, size 0x4, type 0
  2334.     DWORD m_maxLevel; // +0xC, size 0x4, type 0
  2335.     DWORD m_raceMask; // +0x10, size 0x4, type 0
  2336.     DWORD m_classMask; // +0x14, size 0x4, type 0
  2337.     DWORD m_gender; // +0x18, size 0x4, type 0
  2338.     DWORD m_nativeGender; // +0x1C, size 0x4, type 0
  2339.     DWORD m_skillID[4]; // +0x20, size 0x10, type 0
  2340.     DWORD m_minSkill[4]; // +0x30, size 0x10, type 0
  2341.     DWORD m_maxSkill[4]; // +0x40, size 0x10, type 0
  2342.     DWORD m_skillLogic; // +0x50, size 0x4, type 0
  2343.     DWORD m_languageID; // +0x54, size 0x4, type 0
  2344.     DWORD m_minLanguage; // +0x58, size 0x4, type 0
  2345.     DWORD m_maxLanguage; // +0x5C, size 0x4, type 0
  2346.     DWORD m_minFactionID[3]; // +0x60, size 0xC, type 0
  2347.     DWORD m_maxFactionID; // +0x6C, size 0x4, type 0
  2348.     DWORD m_minReputation[3]; // +0x70, size 0xC, type 0
  2349.     DWORD m_maxReputation; // +0x7C, size 0x4, type 0
  2350.     DWORD m_reputationLogic; // +0x80, size 0x4, type 0
  2351.     DWORD m_minPVPRank; // +0x84, size 0x4, type 0
  2352.     DWORD m_maxPVPRank; // +0x88, size 0x4, type 0
  2353.     DWORD m_pvpMedal; // +0x8C, size 0x4, type 0
  2354.     DWORD m_prevQuestLogic; // +0x90, size 0x4, type 0
  2355.     DWORD m_prevQuestID[4]; // +0x94, size 0x10, type 0
  2356.     DWORD m_currQuestLogic; // +0xA4, size 0x4, type 0
  2357.     DWORD m_currQuestID[4]; // +0xA8, size 0x10, type 0
  2358.     DWORD m_currentCompletedQuestLogic; // +0xB8, size 0x4, type 0
  2359.     DWORD m_currentCompletedQuestID[4]; // +0xBC, size 0x10, type 0
  2360.     DWORD m_spellLogic; // +0xCC, size 0x4, type 0
  2361.     DWORD m_spellID[4]; // +0xD0, size 0x10, type 0
  2362.     DWORD m_itemLogic; // +0xE0, size 0x4, type 0
  2363.     DWORD m_itemID[4]; // +0xE4, size 0x10, type 0
  2364.     DWORD m_itemCount[4]; // +0xF4, size 0x10, type 0
  2365.     DWORD m_itemFlags; // +0x104, size 0x4, type 0
  2366.     DWORD m_explored[2]; // +0x108, size 0x8, type 0
  2367.     DWORD m_time[2]; // +0x110, size 0x8, type 0
  2368.     DWORD m_auraSpellLogic; // +0x118, size 0x4, type 0
  2369.     DWORD m_auraSpellID[4]; // +0x11C, size 0x10, type 0
  2370.     DWORD m_worldStateExpressionID; // +0x12C, size 0x4, type 0
  2371.     DWORD m_weatherID; // +0x130, size 0x4, type 0
  2372.     DWORD m_partyStatus; // +0x134, size 0x4, type 0
  2373.     DWORD m_lifetimeMaxPVPRank; // +0x138, size 0x4, type 0
  2374.     DWORD m_achievementLogic; // +0x13C, size 0x4, type 0
  2375.     DWORD m_achievement[4]; // +0x140, size 0x10, type 0
  2376.     DWORD m_lfgLogic; // +0x150, size 0x4, type 0
  2377.     DWORD m_lfgStatus[4]; // +0x154, size 0x10, type 0
  2378.     DWORD m_lfgCompare[4]; // +0x164, size 0x10, type 0
  2379.     DWORD m_lfgValue[4]; // +0x174, size 0x10, type 0
  2380.     DWORD m_areaLogic; // +0x184, size 0x4, type 0
  2381.     DWORD m_areaID[4]; // +0x188, size 0x10, type 0
  2382.     DWORD m_currencyLogic; // +0x198, size 0x4, type 0
  2383.     DWORD m_currencyID[4]; // +0x19C, size 0x10, type 0
  2384.     DWORD m_currencyCount[4]; // +0x1AC, size 0x10, type 0
  2385.     DWORD m_questKillID; // +0x1BC, size 0x4, type 0
  2386.     DWORD m_questKillLogic; // +0x1C0, size 0x4, type 0
  2387.     DWORD m_questKillMonster[4]; // +0x1C4, size 0x10, type 0
  2388.     DWORD m_minExpansionLevel; // +0x1D4, size 0x4, type 0
  2389.     DWORD m_maxExpansionLevel; // +0x1D8, size 0x4, type 0
  2390.     DWORD m_minExpansionTier; // +0x1DC, size 0x4, type 0
  2391.     DWORD m_maxExpansionTier; // +0x1E0, size 0x4, type 0
  2392.     DWORD m_minGuildLevel; // +0x1E4, size 0x4, type 0
  2393.     DWORD m_maxGuildLevel; // +0x1E8, size 0x4, type 0
  2394.     DWORD m_phaseUseFlags; // +0x1EC, size 0x4, type 0
  2395.     DWORD m_phaseID; // +0x1F0, size 0x4, type 0
  2396.     DWORD m_phaseGroupID; // +0x1F4, size 0x4, type 0
  2397.     DWORD m_minAvgItemLevel; // +0x1F8, size 0x4, type 0
  2398.     DWORD m_maxAvgItemLevel; // +0x1FC, size 0x4, type 0
  2399.     DWORD m_minAvgEquippedItemLevel; // +0x200, size 0x4, type 0
  2400.     DWORD m_maxAvgEquippedItemLevel; // +0x204, size 0x4, type 0
  2401.     DWORD m_chrSpecializationIndex; // +0x208, size 0x4, type 0
  2402.     DWORD m_chrSpecializationRole; // +0x20C, size 0x4, type 0
  2403.     char* m_failure_description_lang; // +0x210, size 0x4, type 2
  2404.     DWORD m_powerType; // +0x214, size 0x4, type 0
  2405.     DWORD m_powerTypeComp; // +0x218, size 0x4, type 0
  2406.     DWORD m_powerTypeValue; // +0x21C, size 0x4, type 0
  2407. };
  2408.  
  2409. // query: SELECT "ID", "ACTUALTYPE", "GLOBALSTRINGBASETAG", "RED", "GREEN", "BLUE" FROM "POWERDISPLAY" ORDER BY id, ID
  2410. struct PowerDisplayRec // sizeof(0x10)
  2411. {
  2412.     DWORD m_ID; // +0x0, size 0x4, type 0
  2413.     DWORD m_actualType; // +0x4, size 0x4, type 0
  2414.     char* m_globalStringBaseTag; // +0x8, size 0x4, type 2
  2415.     BYTE m_red; // +0xC, size 0x1, type 0
  2416.     BYTE m_green; // +0xD, size 0x1, type 0
  2417.     BYTE m_blue; // +0xE, size 0x1, type 0
  2418.     BYTE padding[1];
  2419. };
  2420.  
  2421. // query: SELECT "ID", "MAPID", "RANGEINDEX", "MINLEVEL", "MAXLEVEL" FROM "PVPDIFFICULTY" ORDER BY mapID, rangeIndex, ID
  2422. struct PvpDifficultyRec // sizeof(0x14)
  2423. {
  2424.     DWORD m_ID; // +0x0, size 0x4, type 0
  2425.     DWORD m_mapID; // +0x4, size 0x4, type 0
  2426.     DWORD m_rangeIndex; // +0x8, size 0x4, type 0
  2427.     DWORD m_minLevel; // +0xC, size 0x4, type 0
  2428.     DWORD m_maxLevel; // +0x10, size 0x4, type 0
  2429. };
  2430.  
  2431. // query: SELECT "ID", "DIFFICULTY0", "DIFFICULTY01", "DIFFICULTY02", "DIFFICULTY03", "DIFFICULTY04", "DIFFICULTY05", "DIFFICULTY06", "DIFFICULTY07", "DIFFICULTY08", "DIFFICULTY09" FROM "QUESTFACTIONREWARD" WHERE ID < 3 ORDER BY  ID
  2432. struct QuestFactionRewardRec // sizeof(0x2C)
  2433. {
  2434.     DWORD m_ID; // +0x0, size 0x4, type 0
  2435.     DWORD m_Difficulty[10]; // +0x4, size 0x28, type 0
  2436. };
  2437.  
  2438. // query: SELECT "ID", "FILEDATAID", "ATTACHPOINT", "MINIMAPOBJECT", "PRIORITY", "FLAGS" FROM "QUESTFEEDBACKEFFECT" ORDER BY  ID
  2439. struct QuestFeedbackEffectRec // sizeof(0x18)
  2440. {
  2441.     DWORD m_ID; // +0x0, size 0x4, type 0
  2442.     DWORD m_fileDataID; // +0x4, size 0x4, type 0
  2443.     DWORD m_attachPoint; // +0x8, size 0x4, type 0
  2444.     DWORD m_minimapobject; // +0xC, size 0x4, type 0
  2445.     DWORD m_priority; // +0x10, size 0x4, type 0
  2446.     DWORD m_flags; // +0x14, size 0x4, type 0
  2447. };
  2448.  
  2449. // query: SELECT "ID", "INFONAME_LANG0" FROM "QUESTINFO" ORDER BY id, ID
  2450. struct QuestInfoRec // sizeof(0x8)
  2451. {
  2452.     DWORD m_ID; // +0x0, size 0x4, type 0
  2453.     char* m_InfoName_lang; // +0x4, size 0x4, type 2
  2454. };
  2455.  
  2456. // query: SELECT "ID", "DIFFICULTY0", "DIFFICULTY01", "DIFFICULTY02", "DIFFICULTY03", "DIFFICULTY04", "DIFFICULTY05", "DIFFICULTY06", "DIFFICULTY07", "DIFFICULTY08", "DIFFICULTY09" FROM "QUESTMONEYREWARD" ORDER BY  ID
  2457. struct QuestMoneyRewardRec // sizeof(0x2C)
  2458. {
  2459.     DWORD m_ID; // +0x0, size 0x4, type 0
  2460.     DWORD m_difficulty[10]; // +0x4, size 0x28, type 0
  2461. };
  2462.  
  2463. // query: SELECT "ID", "NUMPOINTS", "MAPID", "WORLDMAPAREAID" FROM "QUESTPOIBLOB" WHERE questID is NULL ORDER BY  ID
  2464. struct QuestPOIBlobRec // sizeof(0x10)
  2465. {
  2466.     DWORD m_ID; // +0x0, size 0x4, type 0
  2467.     DWORD m_NumPoints; // +0x4, size 0x4, type 0
  2468.     DWORD m_MapID; // +0x8, size 0x4, type 0
  2469.     DWORD m_WorldMapAreaID; // +0xC, size 0x4, type 0
  2470. };
  2471.  
  2472. // query: SELECT "ID", "X", "Y", "QUESTPOIBLOBID" FROM "QUESTPOIPOINT" WHERE QuestPOIBlobID <> 0 ORDER BY QuestPOIBlobID, ID, ID
  2473. struct QuestPOIPointRec // sizeof(0x10)
  2474. {
  2475.     DWORD m_ID; // +0x0, size 0x4, type 0
  2476.     DWORD m_X; // +0x4, size 0x4, type 0
  2477.     DWORD m_Y; // +0x8, size 0x4, type 0
  2478.     DWORD m_QuestPOIBlobID; // +0xC, size 0x4, type 0
  2479. };
  2480.  
  2481. // query: SELECT "ID", "SORTNAME_LANG0" FROM "QUESTSORT" ORDER BY id, ID
  2482. struct QuestSortRec // sizeof(0x8)
  2483. {
  2484.     DWORD m_ID; // +0x0, size 0x4, type 0
  2485.     char* m_SortName_lang; // +0x4, size 0x4, type 2
  2486. };
  2487.  
  2488. // query: SELECT "ID", "UNIQUEBITFLAG" FROM "QUESTV2" WHERE UniqueBitFlag > 0 ORDER BY  ID
  2489. struct QuestV2Rec // sizeof(0x8)
  2490. {
  2491.     DWORD m_ID; // +0x0, size 0x4, type 0
  2492.     DWORD m_UniqueBitFlag; // +0x4, size 0x4, type 0
  2493. };
  2494.  
  2495. // query: SELECT "ID", "DIFFICULTY0", "DIFFICULTY01", "DIFFICULTY02", "DIFFICULTY03", "DIFFICULTY04", "DIFFICULTY05", "DIFFICULTY06", "DIFFICULTY07", "DIFFICULTY08", "DIFFICULTY09" FROM "QUESTXP" ORDER BY  ID
  2496. struct QuestXPRec // sizeof(0x2C)
  2497. {
  2498.     DWORD m_ID; // +0x0, size 0x4, type 0
  2499.     DWORD m_difficulty[10]; // +0x4, size 0x28, type 0
  2500. };
  2501.  
  2502. // query: SELECT "ID", "RACE", "SPELL_ID" FROM "RACIALMOUNTS" ORDER BY spell_id, ID
  2503. struct RacialMountsRec // sizeof(0xC)
  2504. {
  2505.     DWORD m_ID; // +0x0, size 0x4, type 0
  2506.     DWORD m_race; // +0x4, size 0x4, type 0
  2507.     DWORD m_spell_id; // +0x8, size 0x4, type 0
  2508. };
  2509.  
  2510. // query: SELECT "ID", "EPIC0", "EPIC01", "EPIC02", "EPIC03", "EPIC04", "SUPERIOR0", "SUPERIOR01", "SUPERIOR02", "SUPERIOR03", "SUPERIOR04", "GOOD0", "GOOD01", "GOOD02", "GOOD03", "GOOD04" FROM "RANDPROPPOINTS" ORDER BY id, ID
  2511. struct RandPropPointsRec // sizeof(0x40)
  2512. {
  2513.     DWORD m_ID; // +0x0, size 0x4, type 0
  2514.     DWORD m_Epic[5]; // +0x4, size 0x14, type 0
  2515.     DWORD m_Superior[5]; // +0x18, size 0x14, type 0
  2516.     DWORD m_Good[5]; // +0x2C, size 0x14, type 0
  2517. };
  2518.  
  2519. // query: SELECT "ID", "NAME_LANG0", "RESEARCHFIELDID", "CURRENCYID", "TEXTURE", "ITEMID" FROM "RESEARCHBRANCH" ORDER BY  ID
  2520. struct ResearchBranchRec // sizeof(0x18)
  2521. {
  2522.     DWORD m_ID; // +0x0, size 0x4, type 0
  2523.     char* m_name_lang; // +0x4, size 0x4, type 2
  2524.     DWORD m_researchFieldID; // +0x8, size 0x4, type 0
  2525.     DWORD m_currencyID; // +0xC, size 0x4, type 0
  2526.     char* m_texture; // +0x10, size 0x4, type 2
  2527.     DWORD m_itemID; // +0x14, size 0x4, type 0
  2528. };
  2529.  
  2530. // query: SELECT "ID", "NAME_LANG0", "SLOT" FROM "RESEARCHFIELD" ORDER BY  ID
  2531. struct ResearchFieldRec // sizeof(0xC)
  2532. {
  2533.     DWORD m_ID; // +0x0, size 0x4, type 0
  2534.     char* m_name_lang; // +0x4, size 0x4, type 2
  2535.     DWORD m_slot; // +0x8, size 0x4, type 0
  2536. };
  2537.  
  2538. // query: SELECT "ID", "NAME_LANG0", "DESCRIPTION_LANG0", "RARITY", "RESEARCHBRANCHID", "SPELLID", "NUMSOCKETS", "TEXTURE", "REQUIREDWEIGHT" FROM "RESEARCHPROJECT" ORDER BY  ID
  2539. struct ResearchProjectRec // sizeof(0x24)
  2540. {
  2541.     DWORD m_ID; // +0x0, size 0x4, type 0
  2542.     char* m_name_lang; // +0x4, size 0x4, type 2
  2543.     char* m_description_lang; // +0x8, size 0x4, type 2
  2544.     DWORD m_rarity; // +0xC, size 0x4, type 0
  2545.     DWORD m_researchBranchID; // +0x10, size 0x4, type 0
  2546.     DWORD m_spellID; // +0x14, size 0x4, type 0
  2547.     DWORD m_numSockets; // +0x18, size 0x4, type 0
  2548.     char* m_texture; // +0x1C, size 0x4, type 2
  2549.     DWORD m_requiredWeight; // +0x20, size 0x4, type 0
  2550. };
  2551.  
  2552. // query: SELECT "ID", "MAPID", "QUESTPOIBLOBID", "NAME_LANG0", "AREAPOIICONENUM" FROM "RESEARCHSITE" ORDER BY  ID
  2553. struct ResearchSiteRec // sizeof(0x14)
  2554. {
  2555.     DWORD m_ID; // +0x0, size 0x4, type 0
  2556.     DWORD m_mapID; // +0x4, size 0x4, type 0
  2557.     DWORD m_QuestPOIBlobID; // +0x8, size 0x4, type 0
  2558.     char* m_name_lang; // +0xC, size 0x4, type 2
  2559.     DWORD m_areaPOIIconEnum; // +0x10, size 0x4, type 0
  2560. };
  2561.  
  2562. // query: SELECT "ID", "FLAGS", "FIZZLESOUNDID", "NAME_LANG0" FROM "RESISTANCES" ORDER BY ID, ID
  2563. struct ResistancesRec // sizeof(0x10)
  2564. {
  2565.     DWORD m_ID; // +0x0, size 0x4, type 0
  2566.     DWORD m_Flags; // +0x4, size 0x4, type 0
  2567.     DWORD m_FizzleSoundID; // +0x8, size 0x4, type 0
  2568.     char* m_name_lang; // +0xC, size 0x4, type 2
  2569. };
  2570.  
  2571. // query: SELECT "ID", NVL(MAPID, -1) AS "MAPID", "DIFFICULTYID", "RULESETID", "SHAREDLOCK", "RAIDDURATION" FROM "RULESETRAIDOVERRIDE" WHERE mapID <= (SELECT MAX(ID) FROM Map) ORDER BY mapID, difficultyID, rulesetID, ID
  2572. struct RulesetRaidOverrideRec // sizeof(0x18)
  2573. {
  2574.     DWORD m_ID; // +0x0, size 0x4, type 0
  2575.     DWORD m_mapID; // +0x4, size 0x4, type 0
  2576.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  2577.     DWORD m_rulesetID; // +0xC, size 0x4, type 0
  2578.     DWORD m_sharedLock; // +0x10, size 0x4, type 0
  2579.     DWORD m_raidduration; // +0x14, size 0x4, type 0
  2580. };
  2581.  
  2582. // query: SELECT "ID", "STATID0", "STATID01", "STATID02", "STATID03", "STATID04", "STATID05", "STATID06", "STATID07", "STATID08", "STATID09", "BONUS0", "BONUS01", "BONUS02", "BONUS03", "BONUS04", "BONUS05", "BONUS06", "BONUS07", "BONUS08", "BONUS09", "MINLEVEL", "MAXLEVEL" FROM "SCALINGSTATDISTRIBUTION" ORDER BY id, ID
  2583. struct ScalingStatDistributionRec // sizeof(0x5C)
  2584. {
  2585.     DWORD m_ID; // +0x0, size 0x4, type 0
  2586.     DWORD m_statID[10]; // +0x4, size 0x28, type 0
  2587.     DWORD m_bonus[10]; // +0x2C, size 0x28, type 0
  2588.     DWORD m_minlevel; // +0x54, size 0x4, type 0
  2589.     DWORD m_maxlevel; // +0x58, size 0x4, type 0
  2590. };
  2591.  
  2592. // query: SELECT "ID", "CHARLEVEL", "EFFECTIVELEVEL", "WEAPONDPS1H", "WEAPONDPS2H", "SPELLCASTERDPS1H", "SPELLCASTERDPS2H", "RANGEDDPS", "WANDDPS", "SPELLPOWER", "BUDGETPRIMARY", "BUDGETSECONDARY", "BUDGETTERTIARY", "BUDGETSUB", "BUDGETTRIVIAL", "ARMORSHOULDER", "ARMORSHOULDER1", "ARMORSHOULDER2", "ARMORSHOULDER3", "ARMORCHEST", "ARMORCHEST1", "ARMORCHEST2", "ARMORCHEST3", "ARMORHEAD", "ARMORHEAD1", "ARMORHEAD2", "ARMORHEAD3", "ARMORLEGS", "ARMORLEGS1", "ARMORLEGS2", "ARMORLEGS3", "ARMORFEET", "ARMORFEET1", "ARMORFEET2", "ARMORFEET3", "ARMORWAIST", "ARMORWAIST1", "ARMORWAIST2", "ARMORWAIST3", "ARMORHANDS", "ARMORHANDS1", "ARMORHANDS2", "ARMORHANDS3", "ARMORWRISTS", "ARMORWRISTS1", "ARMORWRISTS2", "ARMORWRISTS3", "ARMORBACK", "ARMORSHIELD" FROM "SCALINGSTATVALUES" ORDER BY charlevel, ID
  2593. struct ScalingStatValuesRec // sizeof(0xC4)
  2594. {
  2595.     DWORD m_ID; // +0x0, size 0x4, type 0
  2596.     DWORD m_charlevel; // +0x4, size 0x4, type 0
  2597.     DWORD m_effectiveLevel; // +0x8, size 0x4, type 0
  2598.     DWORD m_weaponDPS1H; // +0xC, size 0x4, type 0
  2599.     DWORD m_weaponDPS2H; // +0x10, size 0x4, type 0
  2600.     DWORD m_spellcasterDPS1H; // +0x14, size 0x4, type 0
  2601.     DWORD m_spellcasterDPS2H; // +0x18, size 0x4, type 0
  2602.     DWORD m_rangedDPS; // +0x1C, size 0x4, type 0
  2603.     DWORD m_wandDPS; // +0x20, size 0x4, type 0
  2604.     DWORD m_spellPower; // +0x24, size 0x4, type 0
  2605.     DWORD m_budgetPrimary; // +0x28, size 0x4, type 0
  2606.     DWORD m_budgetSecondary; // +0x2C, size 0x4, type 0
  2607.     DWORD m_budgetTertiary; // +0x30, size 0x4, type 0
  2608.     DWORD m_budgetSub; // +0x34, size 0x4, type 0
  2609.     DWORD m_budgetTrivial; // +0x38, size 0x4, type 0
  2610.     DWORD m_armorShoulder[4]; // +0x3C, size 0x10, type 0
  2611.     DWORD m_armorChest[4]; // +0x4C, size 0x10, type 0
  2612.     DWORD m_armorHead[4]; // +0x5C, size 0x10, type 0
  2613.     DWORD m_armorLegs[4]; // +0x6C, size 0x10, type 0
  2614.     DWORD m_armorFeet[4]; // +0x7C, size 0x10, type 0
  2615.     DWORD m_armorWaist[4]; // +0x8C, size 0x10, type 0
  2616.     DWORD m_armorHands[4]; // +0x9C, size 0x10, type 0
  2617.     DWORD m_armorWrists[4]; // +0xAC, size 0x10, type 0
  2618.     DWORD m_armorBack; // +0xBC, size 0x4, type 0
  2619.     DWORD m_armorShield; // +0xC0, size 0x4, type 0
  2620. };
  2621.  
  2622. // query: SELECT "ID", "TRIGGERTYPE", "TRIGGERASSET" FROM "SCENARIOEVENTENTRY" ORDER BY  ID
  2623. struct ScenarioEventEntryRec // sizeof(0xC)
  2624. {
  2625.     DWORD m_ID; // +0x0, size 0x4, type 0
  2626.     DWORD m_triggerType; // +0x4, size 0x4, type 0
  2627.     DWORD m_triggerAsset; // +0x8, size 0x4, type 0
  2628. };
  2629.  
  2630. // query: SELECT "ID", "NAME_LANG0", "FLAGS" FROM "SCENARIO" ORDER BY  ID
  2631. struct ScenarioRec // sizeof(0xC)
  2632. {
  2633.     DWORD m_ID; // +0x0, size 0x4, type 0
  2634.     char* m_name_lang; // +0x4, size 0x4, type 2
  2635.     DWORD m_flags; // +0x8, size 0x4, type 0
  2636. };
  2637.  
  2638. // query: SELECT "ID", "CRITERIATREEID", "SCENARIOID", "ORDERINDEX", "DESCRIPTION_LANG0", "TITLE_LANG0", "FLAGS", "RELATEDSTEP", "SUPERSEDES", "REWARDQUESTID" FROM "SCENARIOSTEP" ORDER BY  ID
  2639. struct ScenarioStepRec // sizeof(0x28)
  2640. {
  2641.     DWORD m_ID; // +0x0, size 0x4, type 0
  2642.     DWORD m_criteriatreeid; // +0x4, size 0x4, type 0
  2643.     DWORD m_scenarioID; // +0x8, size 0x4, type 0
  2644.     DWORD m_orderIndex; // +0xC, size 0x4, type 0
  2645.     char* m_description_lang; // +0x10, size 0x4, type 2
  2646.     char* m_title_lang; // +0x14, size 0x4, type 2
  2647.     DWORD m_flags; // +0x18, size 0x4, type 0
  2648.     DWORD m_relatedStep; // +0x1C, size 0x4, type 0
  2649.     DWORD m_supersedes; // +0x20, size 0x4, type 0
  2650.     DWORD m_rewardQuestID; // +0x24, size 0x4, type 0
  2651. };
  2652.  
  2653. // query: SELECT "ID", "NAME", "EFFECT", "PARAM0", "PARAM1", "PARAM2", "PARAM3", "LIGHTPARAMSID", "LIGHTPARAMSFADEIN", "LIGHTPARAMSFADEOUT", "LIGHTFLAGS", "SOUNDAMBIENCEID", "ZONEMUSICID", "TIMEOFDAYOVERRIDE", "EFFECTMASK" FROM "SCREENEFFECT" WHERE LOWER(NVL(name, 'none')) NOT LIKE 'zz%' ORDER BY id, ID
  2654. struct ScreenEffectRec // sizeof(0x3C)
  2655. {
  2656.     DWORD m_id; // +0x0, size 0x4, type 0
  2657.     char* m_name; // +0x4, size 0x4, type 2
  2658.     DWORD m_effect; // +0x8, size 0x4, type 0
  2659.     DWORD m_param[4]; // +0xC, size 0x10, type 0
  2660.     DWORD m_lightParamsID; // +0x1C, size 0x4, type 0
  2661.     DWORD m_lightParamsFadeIn; // +0x20, size 0x4, type 0
  2662.     DWORD m_lightParamsFadeOut; // +0x24, size 0x4, type 0
  2663.     DWORD m_lightFlags; // +0x28, size 0x4, type 0
  2664.     DWORD m_soundAmbienceID; // +0x2C, size 0x4, type 0
  2665.     DWORD m_zoneMusicID; // +0x30, size 0x4, type 0
  2666.     DWORD m_timeOfDayOverride; // +0x34, size 0x4, type 0
  2667.     DWORD m_effectMask; // +0x38, size 0x4, type 0
  2668. };
  2669.  
  2670. // query: SELECT "ID", "NAME" FROM "SCREENLOCATION" ORDER BY ID, ID
  2671. struct ScreenLocationRec // sizeof(0x8)
  2672. {
  2673.     DWORD m_ID; // +0x0, size 0x4, type 0
  2674.     char* m_name; // +0x4, size 0x4, type 2
  2675. };
  2676.  
  2677. // query: SELECT "ID", "TEXT_LANG0" FROM "SERVERMESSAGES" ORDER BY id, ID
  2678. struct ServerMessagesRec // sizeof(0x8)
  2679. {
  2680.     DWORD m_ID; // +0x0, size 0x4, type 0
  2681.     char* m_Text_lang; // +0x4, size 0x4, type 2
  2682. };
  2683.  
  2684. // query: SELECT "ID", "SKILLLINE", "SPELL", "RACEMASK", "CLASSMASK", "MINSKILLLINERANK", "SUPERCEDESSPELL", "ACQUIREMETHOD", "TRIVIALSKILLLINERANKHIGH", "TRIVIALSKILLLINERANKLOW", "NUMSKILLUPS", "UNIQUEBIT", "TRADESKILLCATEGORYID" FROM "SKILLLINEABILITY" ORDER BY skillLine, minSkillLineRank, ID, ID
  2685. struct SkillLineAbilityRec // sizeof(0x34)
  2686. {
  2687.     DWORD m_ID; // +0x0, size 0x4, type 0
  2688.     DWORD m_skillLine; // +0x4, size 0x4, type 0
  2689.     DWORD m_spell; // +0x8, size 0x4, type 0
  2690.     DWORD m_raceMask; // +0xC, size 0x4, type 0
  2691.     DWORD m_classMask; // +0x10, size 0x4, type 0
  2692.     DWORD m_minSkillLineRank; // +0x14, size 0x4, type 0
  2693.     DWORD m_supercedesSpell; // +0x18, size 0x4, type 0
  2694.     DWORD m_acquireMethod; // +0x1C, size 0x4, type 0
  2695.     DWORD m_trivialSkillLineRankHigh; // +0x20, size 0x4, type 0
  2696.     DWORD m_trivialSkillLineRankLow; // +0x24, size 0x4, type 0
  2697.     DWORD m_numSkillUps; // +0x28, size 0x4, type 0
  2698.     DWORD m_uniqueBit; // +0x2C, size 0x4, type 0
  2699.     DWORD m_tradeSkillCategoryID; // +0x30, size 0x4, type 0
  2700. };
  2701.  
  2702. // query: SELECT "ID", "SPELL" FROM "SKILLLINEABILITY" ORDER BY spell, ID
  2703. struct SkillLineAbilitySortedSpellRec // sizeof(0x8)
  2704. {
  2705.     DWORD m_ID; // +0x0, size 0x4, type 0
  2706.     DWORD m_spell; // +0x4, size 0x4, type 0
  2707. };
  2708.  
  2709. // query: SELECT "ID", "CATEGORYID", "DISPLAYNAME_LANG0", "DESCRIPTION_LANG0", "SPELLICONID", "ALTERNATEVERB_LANG0", "CANLINK", "PARENTSKILLLINEID", "FLAGS" FROM "SKILLLINE" ORDER BY id, ID
  2710. struct SkillLineRec // sizeof(0x24)
  2711. {
  2712.     DWORD m_ID; // +0x0, size 0x4, type 0
  2713.     DWORD m_categoryID; // +0x4, size 0x4, type 0
  2714.     char* m_displayName_lang; // +0x8, size 0x4, type 2
  2715.     char* m_description_lang; // +0xC, size 0x4, type 2
  2716.     DWORD m_spellIconID; // +0x10, size 0x4, type 0
  2717.     char* m_alternateVerb_lang; // +0x14, size 0x4, type 2
  2718.     DWORD m_canLink; // +0x18, size 0x4, type 0
  2719.     DWORD m_parentSkillLineID; // +0x1C, size 0x4, type 0
  2720.     DWORD m_flags; // +0x20, size 0x4, type 0
  2721. };
  2722.  
  2723. // query: SELECT "ID", "SKILLID", "RACEMASK", "CLASSMASK", "FLAGS", "AVAILABILITY", "MINLEVEL", "SKILLTIERID" FROM "SKILLRACECLASSINFO" ORDER BY skillID, ID, ID
  2724. struct SkillRaceClassInfoRec // sizeof(0x20)
  2725. {
  2726.     DWORD m_ID; // +0x0, size 0x4, type 0
  2727.     DWORD m_skillID; // +0x4, size 0x4, type 0
  2728.     DWORD m_raceMask; // +0x8, size 0x4, type 0
  2729.     DWORD m_classMask; // +0xC, size 0x4, type 0
  2730.     DWORD m_flags; // +0x10, size 0x4, type 0
  2731.     DWORD m_availability; // +0x14, size 0x4, type 0
  2732.     DWORD m_minLevel; // +0x18, size 0x4, type 0
  2733.     DWORD m_skillTierID; // +0x1C, size 0x4, type 0
  2734. };
  2735.  
  2736. // query: SELECT "ID", "VALUE0", "VALUE01", "VALUE02", "VALUE03", "VALUE04", "VALUE05", "VALUE06", "VALUE07", "VALUE08", "VALUE09", "VALUE10", "VALUE11", "VALUE12", "VALUE13", "VALUE14", "VALUE15" FROM "SKILLTIERS" ORDER BY id, ID
  2737. struct SkillTiersRec // sizeof(0x44)
  2738. {
  2739.     DWORD m_ID; // +0x0, size 0x4, type 0
  2740.     DWORD m_value[16]; // +0x4, size 0x40, type 0
  2741. };
  2742.  
  2743. // query: SELECT "ID", "SOUNDAMBIENCEID", "SOUNDENTRIESIDDAY", "SOUNDENTRIESIDNIGHT" FROM "SOUNDAMBIENCEFLAVOR" ORDER BY id, ID
  2744. struct SoundAmbienceFlavorRec // sizeof(0x10)
  2745. {
  2746.     DWORD m_ID; // +0x0, size 0x4, type 0
  2747.     DWORD m_SoundAmbienceID; // +0x4, size 0x4, type 0
  2748.     DWORD m_SoundEntriesIDDay; // +0x8, size 0x4, type 0
  2749.     DWORD m_SoundEntriesIDNight; // +0xC, size 0x4, type 0
  2750. };
  2751.  
  2752. // query: SELECT "ID", "AMBIENCEID0", "AMBIENCEID1", "FLAGS" FROM "SOUNDAMBIENCE" ORDER BY id, ID
  2753. struct SoundAmbienceRec // sizeof(0x10)
  2754. {
  2755.     DWORD m_ID; // +0x0, size 0x4, type 0
  2756.     DWORD m_AmbienceID[2]; // +0x4, size 0x8, type 0
  2757.     DWORD m_flags; // +0xC, size 0x4, type 0
  2758. };
  2759.  
  2760. // query: SELECT "ID", "SOUNDFILTERID", "ORDERINDEX", "FILTERTYPE", "PARAMS0", "PARAMS01", "PARAMS02", "PARAMS03", "PARAMS04", "PARAMS05", "PARAMS06", "PARAMS07", "PARAMS08" FROM "SOUNDFILTERELEM" ORDER BY id, ID
  2761. struct SoundFilterElemRec // sizeof(0x34)
  2762. {
  2763.     DWORD m_ID; // +0x0, size 0x4, type 0
  2764.     DWORD m_soundFilterID; // +0x4, size 0x4, type 0
  2765.     DWORD m_orderIndex; // +0x8, size 0x4, type 0
  2766.     DWORD m_filterType; // +0xC, size 0x4, type 0
  2767.     float m_params[9]; // +0x10, size 0x24, type 3
  2768. };
  2769.  
  2770. // query: SELECT "ID", "NAME" FROM "SOUNDFILTER" ORDER BY id, ID
  2771. struct SoundFilterRec // sizeof(0x8)
  2772. {
  2773.     DWORD m_ID; // +0x0, size 0x4, type 0
  2774.     char* m_name; // +0x4, size 0x4, type 2
  2775. };
  2776.  
  2777. // query: SELECT "ID", "WOWEDITLOCK", "WOWEDITLOCKUSER", "ZONEINTROMUSICID", "ZONEMUSICID", "SOUNDAMBIENCEID", "SOUNDPROVIDERPREFERENCESID" FROM "SOUNDOVERRIDE" ORDER BY  ID
  2778. struct SoundOverrideRec // sizeof(0x1C)
  2779. {
  2780.     DWORD m_ID; // +0x0, size 0x4, type 0
  2781.     DWORD m_WowEditLock; // +0x4, size 0x4, type 0
  2782.     char* m_WowEditLockUser; // +0x8, size 0x4, type 2
  2783.     DWORD m_ZoneIntroMusicID; // +0xC, size 0x4, type 0
  2784.     DWORD m_ZoneMusicID; // +0x10, size 0x4, type 0
  2785.     DWORD m_SoundAmbienceID; // +0x14, size 0x4, type 0
  2786.     DWORD m_SoundProviderPreferencesID; // +0x18, size 0x4, type 0
  2787. };
  2788.  
  2789. // query: SELECT "ID", "DESCRIPTION", "FLAGS", "EAXENVIRONMENTSELECTION", "EAXDECAYTIME", "EAX2ENVIRONMENTSIZE", "EAX2ENVIRONMENTDIFFUSION", "EAX2ROOM", "EAX2ROOMHF", "EAX2DECAYHFRATIO", "EAX2REFLECTIONS", "EAX2REFLECTIONSDELAY", "EAX2REVERB", "EAX2REVERBDELAY", "EAX2ROOMROLLOFF", "EAX2AIRABSORPTION", "EAX3ROOMLF", "EAX3DECAYLFRATIO", "EAX3ECHOTIME", "EAX3ECHODEPTH", "EAX3MODULATIONTIME", "EAX3MODULATIONDEPTH", "EAX3HFREFERENCE", "EAX3LFREFERENCE" FROM "SOUNDPROVIDERPREFERENCES" ORDER BY id, ID
  2790. struct SoundProviderPreferencesRec // sizeof(0x60)
  2791. {
  2792.     DWORD m_ID; // +0x0, size 0x4, type 0
  2793.     char* m_Description; // +0x4, size 0x4, type 2
  2794.     DWORD m_Flags; // +0x8, size 0x4, type 0
  2795.     DWORD m_EAXEnvironmentSelection; // +0xC, size 0x4, type 0
  2796.     float m_EAXDecayTime; // +0x10, size 0x4, type 3
  2797.     float m_EAX2EnvironmentSize; // +0x14, size 0x4, type 3
  2798.     float m_EAX2EnvironmentDiffusion; // +0x18, size 0x4, type 3
  2799.     DWORD m_EAX2Room; // +0x1C, size 0x4, type 0
  2800.     DWORD m_EAX2RoomHF; // +0x20, size 0x4, type 0
  2801.     float m_EAX2DecayHFRatio; // +0x24, size 0x4, type 3
  2802.     DWORD m_EAX2Reflections; // +0x28, size 0x4, type 0
  2803.     float m_EAX2ReflectionsDelay; // +0x2C, size 0x4, type 3
  2804.     DWORD m_EAX2Reverb; // +0x30, size 0x4, type 0
  2805.     float m_EAX2ReverbDelay; // +0x34, size 0x4, type 3
  2806.     float m_EAX2RoomRolloff; // +0x38, size 0x4, type 3
  2807.     float m_EAX2AirAbsorption; // +0x3C, size 0x4, type 3
  2808.     DWORD m_EAX3RoomLF; // +0x40, size 0x4, type 0
  2809.     float m_EAX3DecayLFRatio; // +0x44, size 0x4, type 3
  2810.     float m_EAX3EchoTime; // +0x48, size 0x4, type 3
  2811.     float m_EAX3EchoDepth; // +0x4C, size 0x4, type 3
  2812.     float m_EAX3ModulationTime; // +0x50, size 0x4, type 3
  2813.     float m_EAX3ModulationDepth; // +0x54, size 0x4, type 3
  2814.     float m_EAX3HFReference; // +0x58, size 0x4, type 3
  2815.     float m_EAX3LFReference; // +0x5C, size 0x4, type 3
  2816. };
  2817.  
  2818. // query: SELECT "ID", "TEXT" FROM "SPAMMESSAGES" ORDER BY id, ID
  2819. struct SpamMessagesRec // sizeof(0x8)
  2820. {
  2821.     DWORD m_ID; // +0x0, size 0x4, type 0
  2822.     char* m_text; // +0x4, size 0x4, type 2
  2823. };
  2824.  
  2825. // query: SELECT "ID", "SPECID", "SPELLID", "OVERRIDESSPELLID", "DESCRIPTION_LANG0" FROM "SPECIALIZATIONSPELLS" ORDER BY specID, displayOrder, ID, ID
  2826. struct SpecializationSpellsRec // sizeof(0x14)
  2827. {
  2828.     DWORD m_ID; // +0x0, size 0x4, type 0
  2829.     DWORD m_specID; // +0x4, size 0x4, type 0
  2830.     DWORD m_spellID; // +0x8, size 0x4, type 0
  2831.     DWORD m_overridesSpellID; // +0xC, size 0x4, type 0
  2832.     char* m_description_lang; // +0x10, size 0x4, type 2
  2833. };
  2834.  
  2835. // query: SELECT "ID", "SPELLID", "OVERLAYFILEDATAID", "SCREENLOCATIONID", "COLOR", "SCALE", "ICONHIGHLIGHTSPELLCLASSMASK0", "ICONHIGHLIGHTSPELLCLASSMASK1", "ICONHIGHLIGHTSPELLCLASSMASK2", "ICONHIGHLIGHTSPELLCLASSMASK3", "TRIGGERTYPE", "SOUNDENTRIESID" FROM "SPELLACTIVATIONOVERLAY" ORDER BY  ID
  2836. struct SpellActivationOverlayRec // sizeof(0x30)
  2837. {
  2838.     DWORD m_ID; // +0x0, size 0x4, type 0
  2839.     DWORD m_spellID; // +0x4, size 0x4, type 0
  2840.     DWORD m_overlayFileDataID; // +0x8, size 0x4, type 0
  2841.     DWORD m_screenLocationID; // +0xC, size 0x4, type 0
  2842.     DWORD m_color; // +0x10, size 0x4, type 0
  2843.     float m_scale; // +0x14, size 0x4, type 3
  2844.     DWORD m_iconHighlightSpellClassMask[4]; // +0x18, size 0x10, type 0
  2845.     DWORD m_triggerType; // +0x28, size 0x4, type 0
  2846.     DWORD m_soundEntriesID; // +0x2C, size 0x4, type 0
  2847. };
  2848.  
  2849. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "CUMULATIVEAURA", "PROCCHANCE", "PROCCHARGES", "PROCTYPEMASK", "PROCCATEGORYRECOVERY", "SPELLPROCSPERMINUTEID" FROM "SPELLAURAOPTIONS" WHERE (cumulativeAura<>0 or procChance<101 or procCharges<>0 or procTypeMask<>0) AND spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  2850. struct SpellAuraOptionsRec // sizeof(0x24)
  2851. {
  2852.     DWORD m_ID; // +0x0, size 0x4, type 0
  2853.     DWORD m_spellID; // +0x4, size 0x4, type 0
  2854.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  2855.     DWORD m_cumulativeAura; // +0xC, size 0x4, type 0
  2856.     DWORD m_procChance; // +0x10, size 0x4, type 0
  2857.     DWORD m_procCharges; // +0x14, size 0x4, type 0
  2858.     DWORD m_procTypeMask; // +0x18, size 0x4, type 0
  2859.     DWORD m_procCategoryRecovery; // +0x1C, size 0x4, type 0
  2860.     DWORD m_spellProcsPerMinuteID; // +0x20, size 0x4, type 0
  2861. };
  2862.  
  2863. // query: SELECT "ID", "SPELLID", "TYPE", "FLAGS" FROM "SPELLAURAVISIBILITY" WHERE spellID IN (SELECT ID FROM SPELL WHERE LOWER(NVL(name_lang0, 'none')) NOT LIKE 'zz%' AND LOWER(NVL(internalname_lang0, 'none')) NOT LIKE 'zz%' AND serveronly = 0) ORDER BY spellID, type, ID
  2864. struct SpellAuraVisibilityRec // sizeof(0x10)
  2865. {
  2866.     DWORD m_ID; // +0x0, size 0x4, type 0
  2867.     DWORD m_spellID; // +0x4, size 0x4, type 0
  2868.     DWORD m_type; // +0x8, size 0x4, type 0
  2869.     DWORD m_flags; // +0xC, size 0x4, type 0
  2870. };
  2871.  
  2872. // query: SELECT "ID", "SPELLAURAVISIBILITYID", "CHRSPECIALIZATIONID" FROM "SPELLAURAVISXCHRSPEC" ORDER BY spellAuraVisibilityID, chrSpecializationID, ID
  2873. struct SpellAuraVisXChrSpecRec // sizeof(0xC)
  2874. {
  2875.     DWORD m_ID; // +0x0, size 0x4, type 0
  2876.     DWORD m_spellAuraVisibilityID; // +0x4, size 0x4, type 0
  2877.     DWORD m_chrSpecializationID; // +0x8, size 0x4, type 0
  2878. };
  2879.  
  2880. // query: SELECT "ID", "FACINGCASTERFLAGS", "MINFACTIONID", "MINREPUTATION", "REQUIREDAREASID", "REQUIREDAURAVISION", "REQUIRESSPELLFOCUS" FROM "SPELLCASTINGREQUIREMENTS" WHERE (facingCasterFlags<>0 or minFactionID<>0 or minReputation<>0 or requiredAreasID<>0 or requiredAuraVision<>0 or requiresSpellFocus<>0) AND spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY  ID
  2881. struct SpellCastingRequirementsRec // sizeof(0x1C)
  2882. {
  2883.     DWORD m_ID; // +0x0, size 0x4, type 0
  2884.     DWORD m_facingCasterFlags; // +0x4, size 0x4, type 0
  2885.     DWORD m_minFactionID; // +0x8, size 0x4, type 0
  2886.     DWORD m_minReputation; // +0xC, size 0x4, type 0
  2887.     DWORD m_requiredAreasID; // +0x10, size 0x4, type 0
  2888.     DWORD m_requiredAuraVision; // +0x14, size 0x4, type 0
  2889.     DWORD m_requiresSpellFocus; // +0x18, size 0x4, type 0
  2890. };
  2891.  
  2892. // query: SELECT "ID", "BASE", "PERLEVEL", "MINIMUM" FROM "SPELLCASTTIMES" ORDER BY id, ID
  2893. struct SpellCastTimesRec // sizeof(0x10)
  2894. {
  2895.     DWORD m_ID; // +0x0, size 0x4, type 0
  2896.     DWORD m_base; // +0x4, size 0x4, type 0
  2897.     DWORD m_perLevel; // +0x8, size 0x4, type 0
  2898.     DWORD m_minimum; // +0xC, size 0x4, type 0
  2899. };
  2900.  
  2901. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "CATEGORY", "DEFENSETYPE", "DISPELTYPE", "MECHANIC", "PREVENTIONTYPE", "STARTRECOVERYCATEGORY", "CHARGECATEGORY" FROM "SPELLCATEGORIES" WHERE (category<>0 or defenseType<>0 or dispelType<>0 or mechanic<>0 or preventionType<>0 or startRecoveryCategory<>0) AND spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  2902. struct SpellCategoriesRec // sizeof(0x28)
  2903. {
  2904.     DWORD m_ID; // +0x0, size 0x4, type 0
  2905.     DWORD m_spellID; // +0x4, size 0x4, type 0
  2906.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  2907.     DWORD m_category; // +0xC, size 0x4, type 0
  2908.     DWORD m_defenseType; // +0x10, size 0x4, type 0
  2909.     DWORD m_dispelType; // +0x14, size 0x4, type 0
  2910.     DWORD m_mechanic; // +0x18, size 0x4, type 0
  2911.     DWORD m_preventionType; // +0x1C, size 0x4, type 0
  2912.     DWORD m_startRecoveryCategory; // +0x20, size 0x4, type 0
  2913.     DWORD m_chargeCategory; // +0x24, size 0x4, type 0
  2914. };
  2915.  
  2916. // query: SELECT "ID", "FLAGS", "USESPERWEEK", "NAME_LANG0", "MAXCHARGES", "CHARGERECOVERYTIME" FROM "SPELLCATEGORY" ORDER BY id, ID
  2917. struct SpellCategoryRec // sizeof(0x18)
  2918. {
  2919.     DWORD m_ID; // +0x0, size 0x4, type 0
  2920.     DWORD m_flags; // +0x4, size 0x4, type 0
  2921.     BYTE m_usesPerWeek; // +0x8, size 0x1, type 0
  2922.     BYTE padding[3];
  2923.     char* m_name_lang; // +0xC, size 0x4, type 2
  2924.     DWORD m_maxCharges; // +0x10, size 0x4, type 0
  2925.     DWORD m_chargeRecoveryTime; // +0x14, size 0x4, type 0
  2926. };
  2927.  
  2928. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "CATEGORYRECOVERYTIME", "RECOVERYTIME", "STARTRECOVERYTIME" FROM "SPELLCOOLDOWNS" WHERE spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  2929. struct SpellCooldownsRec // sizeof(0x18)
  2930. {
  2931.     DWORD m_ID; // +0x0, size 0x4, type 0
  2932.     DWORD m_spellID; // +0x4, size 0x4, type 0
  2933.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  2934.     DWORD m_categoryRecoveryTime; // +0xC, size 0x4, type 0
  2935.     DWORD m_recoveryTime; // +0x10, size 0x4, type 0
  2936.     DWORD m_startRecoveryTime; // +0x14, size 0x4, type 0
  2937. };
  2938.  
  2939. // query: SELECT "ID", "VARIABLES" FROM "SPELLDESCRIPTIONVARIABLES" ORDER BY ID, ID
  2940. struct SpellDescriptionVariablesRec // sizeof(0x8)
  2941. {
  2942.     DWORD m_ID; // +0x0, size 0x4, type 0
  2943.     char* m_variables; // +0x4, size 0x4, type 2
  2944. };
  2945.  
  2946. // query: SELECT "ID", "NAME_LANG0", "MASK", "IMMUNITYPOSSIBLE", "INTERNALNAME" FROM "SPELLDISPELTYPE" ORDER BY id, ID
  2947. struct SpellDispelTypeRec // sizeof(0x14)
  2948. {
  2949.     DWORD m_ID; // +0x0, size 0x4, type 0
  2950.     char* m_name_lang; // +0x4, size 0x4, type 2
  2951.     DWORD m_mask; // +0x8, size 0x4, type 0
  2952.     DWORD m_immunityPossible; // +0xC, size 0x4, type 0
  2953.     char* m_internalName; // +0x10, size 0x4, type 2
  2954. };
  2955.  
  2956. // query: SELECT "ID", "DURATION", "DURATIONPERLEVEL", "MAXDURATION" FROM "SPELLDURATION" ORDER BY id, ID
  2957. struct SpellDurationRec // sizeof(0x10)
  2958. {
  2959.     DWORD m_ID; // +0x0, size 0x4, type 0
  2960.     DWORD m_duration; // +0x4, size 0x4, type 0
  2961.     DWORD m_durationPerLevel; // +0x8, size 0x4, type 0
  2962.     DWORD m_maxDuration; // +0xC, size 0x4, type 0
  2963. };
  2964.  
  2965. // query: SELECT "ID", "DIFFICULTYID", "EFFECT", "EFFECTAMPLITUDE", "EFFECTAURA", "EFFECTAURAPERIOD", "EFFECTBASEPOINTS", "EFFECTBONUSCOEFFICIENT", "EFFECTCHAINAMPLITUDE", "EFFECTCHAINTARGETS", "EFFECTDIESIDES", "EFFECTITEMTYPE", "EFFECTMECHANIC", "EFFECTMISCVALUE0", "EFFECTMISCVALUE1", "EFFECTPOINTSPERRESOURCE", "EFFECTRADIUSINDEX0", "EFFECTRADIUSINDEX1", "EFFECTREALPOINTSPERLEVEL", "EFFECTSPELLCLASSMASK0", "EFFECTSPELLCLASSMASK1", "EFFECTSPELLCLASSMASK2", "EFFECTSPELLCLASSMASK3", "EFFECTTRIGGERSPELL", "EFFECTPOS_FACING", "IMPLICITTARGET0", "IMPLICITTARGET1", "SPELLID", "EFFECTINDEX", "EFFECTATTRIBUTES", "BONUSCOEFFICIENTFROMAP" FROM "SPELLEFFECT" WHERE (effectIndex < 32) AND (effect<>0 or effectAuraPeriod<>0 or effectBasePoints<>0 or effectDieSides<>0 or effectRadiusIndex0<>0) AND spellID IN (SELECT ID FROM SPELL WHERE LOWER(NVL(name_lang0, 'none')) NOT LIKE 'zz%' AND LOWER(NVL(internalname_lang0, 'none')) NOT LIKE 'zz%' AND serveronly = 0) ORDER BY spellID ASC, effectIndex DESC, NVL(difficultyID, 0) ASC, ID
  2966. struct SpellEffectRec // sizeof(0x7C)
  2967. {
  2968.     DWORD m_ID; // +0x0, size 0x4, type 0
  2969.     DWORD m_difficultyID; // +0x4, size 0x4, type 0
  2970.     DWORD m_effect; // +0x8, size 0x4, type 0
  2971.     float m_effectAmplitude; // +0xC, size 0x4, type 3
  2972.     DWORD m_effectAura; // +0x10, size 0x4, type 0
  2973.     DWORD m_effectAuraPeriod; // +0x14, size 0x4, type 0
  2974.     DWORD m_effectBasePoints; // +0x18, size 0x4, type 0
  2975.     float m_effectBonusCoefficient; // +0x1C, size 0x4, type 3
  2976.     float m_effectChainAmplitude; // +0x20, size 0x4, type 3
  2977.     DWORD m_effectChainTargets; // +0x24, size 0x4, type 0
  2978.     DWORD m_effectDieSides; // +0x28, size 0x4, type 0
  2979.     DWORD m_effectItemType; // +0x2C, size 0x4, type 0
  2980.     DWORD m_effectMechanic; // +0x30, size 0x4, type 0
  2981.     DWORD m_effectMiscValue[2]; // +0x34, size 0x8, type 0
  2982.     float m_effectPointsPerResource; // +0x3C, size 0x4, type 3
  2983.     DWORD m_effectRadiusIndex[2]; // +0x40, size 0x8, type 0
  2984.     float m_effectRealPointsPerLevel; // +0x48, size 0x4, type 3
  2985.     DWORD m_effectSpellClassMask[4]; // +0x4C, size 0x10, type 0
  2986.     DWORD m_effectTriggerSpell; // +0x5C, size 0x4, type 0
  2987.     float m_effectPos_facing; // +0x60, size 0x4, type 3
  2988.     DWORD m_implicitTarget[2]; // +0x64, size 0x8, type 0
  2989.     DWORD m_spellID; // +0x6C, size 0x4, type 0
  2990.     DWORD m_effectIndex; // +0x70, size 0x4, type 0
  2991.     DWORD m_effectAttributes; // +0x74, size 0x4, type 0
  2992.     float m_bonusCoefficientFromAP; // +0x78, size 0x4, type 3
  2993. };
  2994.  
  2995. // query: SELECT "ID", "COEFFICIENT", "VARIANCE", "RESOURCECOEFFICIENT", "SPELLEFFECTID" FROM "SPELLEFFECTSCALING" ORDER BY spellEffectID, ID
  2996. struct SpellEffectScalingRec // sizeof(0x14)
  2997. {
  2998.     DWORD m_ID; // +0x0, size 0x4, type 0
  2999.     float m_coefficient; // +0x4, size 0x4, type 3
  3000.     float m_variance; // +0x8, size 0x4, type 3
  3001.     float m_resourceCoefficient; // +0xC, size 0x4, type 3
  3002.     DWORD m_spellEffectID; // +0x10, size 0x4, type 0
  3003. };
  3004.  
  3005. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "EQUIPPEDITEMCLASS", "EQUIPPEDITEMINVTYPES", "EQUIPPEDITEMSUBCLASS" FROM "SPELLEQUIPPEDITEMS" WHERE (equippedItemClass>-1) AND spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  3006. struct SpellEquippedItemsRec // sizeof(0x18)
  3007. {
  3008.     DWORD m_ID; // +0x0, size 0x4, type 0
  3009.     DWORD m_spellID; // +0x4, size 0x4, type 0
  3010.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  3011.     DWORD m_equippedItemClass; // +0xC, size 0x4, type 0
  3012.     DWORD m_equippedItemInvTypes; // +0x10, size 0x4, type 0
  3013.     DWORD m_equippedItemSubclass; // +0x14, size 0x4, type 0
  3014. };
  3015.  
  3016. // query: SELECT "ID", "SPELLFLYOUTID", "SPELLID", "SLOT" FROM "SPELLFLYOUTITEM" ORDER BY spellFlyoutID, slot, ID, ID
  3017. struct SpellFlyoutItemRec // sizeof(0x10)
  3018. {
  3019.     DWORD m_ID; // +0x0, size 0x4, type 0
  3020.     DWORD m_spellFlyoutID; // +0x4, size 0x4, type 0
  3021.     DWORD m_spellID; // +0x8, size 0x4, type 0
  3022.     DWORD m_slot; // +0xC, size 0x4, type 0
  3023. };
  3024.  
  3025. // query: SELECT "ID", "FLAGS", "RACEMASK", "CLASSMASK", "SPELLICONID", "NAME_LANG0", "DESCRIPTION_LANG0" FROM "SPELLFLYOUT" ORDER BY ID, ID
  3026. struct SpellFlyoutRec // sizeof(0x1C)
  3027. {
  3028.     DWORD m_ID; // +0x0, size 0x4, type 0
  3029.     DWORD m_flags; // +0x4, size 0x4, type 0
  3030.     DWORD m_raceMask; // +0x8, size 0x4, type 0
  3031.     DWORD m_classMask; // +0xC, size 0x4, type 0
  3032.     DWORD m_spellIconID; // +0x10, size 0x4, type 0
  3033.     char* m_name_lang; // +0x14, size 0x4, type 2
  3034.     char* m_description_lang; // +0x18, size 0x4, type 2
  3035. };
  3036.  
  3037. // query: SELECT "ID", "NAME_LANG0" FROM "SPELLFOCUSOBJECT" ORDER BY id, ID
  3038. struct SpellFocusObjectRec // sizeof(0x8)
  3039. {
  3040.     DWORD m_ID; // +0x0, size 0x4, type 0
  3041.     char* m_name_lang; // +0x4, size 0x4, type 2
  3042. };
  3043.  
  3044. // query: SELECT "ID", "TEXTUREFILENAME" FROM "SPELLICON" ORDER BY id, ID
  3045. struct SpellIconRec // sizeof(0x8)
  3046. {
  3047.     DWORD m_ID; // +0x0, size 0x4, type 0
  3048.     char* m_textureFilename; // +0x4, size 0x4, type 2
  3049. };
  3050.  
  3051. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "AURAINTERRUPTFLAGS", "AURAINTERRUPTFLAGS1", "CHANNELINTERRUPTFLAGS", "CHANNELINTERRUPTFLAGS1", "INTERRUPTFLAGS" FROM "SPELLINTERRUPTS" WHERE spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  3052. struct SpellInterruptsRec // sizeof(0x20)
  3053. {
  3054.     DWORD m_ID; // +0x0, size 0x4, type 0
  3055.     DWORD m_spellID; // +0x4, size 0x4, type 0
  3056.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  3057.     DWORD m_auraInterruptFlags[2]; // +0xC, size 0x8, type 0
  3058.     DWORD m_channelInterruptFlags[2]; // +0x14, size 0x8, type 0
  3059.     DWORD m_interruptFlags; // +0x1C, size 0x4, type 0
  3060. };
  3061.  
  3062. // query: SELECT "ID", "LT_OPERANDTYPE0", "LT_OPERANDTYPE01", "LT_OPERANDTYPE02", "LT_OPERANDTYPE03", "LT_OPERANDTYPE04", "LT_OPERAND0", "LT_OPERAND01", "LT_OPERAND02", "LT_OPERAND03", "LT_OPERAND04", "OPERATOR0", "OPERATOR01", "OPERATOR02", "OPERATOR03", "OPERATOR04", "RT_OPERANDTYPE0", "RT_OPERANDTYPE01", "RT_OPERANDTYPE02", "RT_OPERANDTYPE03", "RT_OPERANDTYPE04", "RT_OPERAND0", "RT_OPERAND01", "RT_OPERAND02", "RT_OPERAND03", "RT_OPERAND04", "LOGIC0", "LOGIC01", "LOGIC02", "LOGIC03", "LOGIC04" FROM "SPELLITEMENCHANTMENTCONDITION" ORDER BY  ID
  3063. struct SpellItemEnchantmentConditionRec // sizeof(0x48)
  3064. {
  3065.     DWORD m_ID; // +0x0, size 0x4, type 0
  3066.     BYTE m_lt_operandType[5]; // +0x4, size 0x5, type 0
  3067.     BYTE padding0[3];
  3068.     DWORD m_lt_operand[5]; // +0xC, size 0x14, type 0
  3069.     BYTE m_operator[5]; // +0x20, size 0x5, type 0
  3070.     BYTE m_rt_operandType[5]; // +0x25, size 0x5, type 0
  3071.     BYTE padding1[2];
  3072.     DWORD m_rt_operand[5]; // +0x2C, size 0x14, type 0
  3073.     BYTE m_logic[5]; // +0x40, size 0x5, type 0
  3074.     BYTE padding3[3];
  3075. };
  3076.  
  3077. // query: SELECT "ID", "CHARGES", "EFFECT0", "EFFECT01", "EFFECT02", "EFFECTPOINTSMIN0", "EFFECTPOINTSMIN01", "EFFECTPOINTSMIN02", "EFFECTARG0", "EFFECTARG01", "EFFECTARG02", "NAME_LANG0", "ITEMVISUAL", "FLAGS", "SRC_ITEMID", "CONDITION_ID", "REQUIREDSKILLID", "REQUIREDSKILLRANK", "MINLEVEL", "MAXLEVEL", "ITEMLEVEL", "SCALINGCLASS", "SCALINGCLASSRESTRICTED", "EFFECTSCALINGPOINTS0", "EFFECTSCALINGPOINTS01", "EFFECTSCALINGPOINTS02" FROM "SPELLITEMENCHANTMENT" ORDER BY id, ID
  3078. struct SpellItemEnchantmentRec // sizeof(0x68)
  3079. {
  3080.     DWORD m_ID; // +0x0, size 0x4, type 0
  3081.     DWORD m_charges; // +0x4, size 0x4, type 0
  3082.     DWORD m_effect[3]; // +0x8, size 0xC, type 0
  3083.     DWORD m_effectPointsMin[3]; // +0x14, size 0xC, type 0
  3084.     DWORD m_effectArg[3]; // +0x20, size 0xC, type 0
  3085.     char* m_name_lang; // +0x2C, size 0x4, type 2
  3086.     DWORD m_itemVisual; // +0x30, size 0x4, type 0
  3087.     DWORD m_flags; // +0x34, size 0x4, type 0
  3088.     DWORD m_src_itemID; // +0x38, size 0x4, type 0
  3089.     DWORD m_condition_id; // +0x3C, size 0x4, type 0
  3090.     DWORD m_requiredSkillID; // +0x40, size 0x4, type 0
  3091.     DWORD m_requiredSkillRank; // +0x44, size 0x4, type 0
  3092.     DWORD m_minLevel; // +0x48, size 0x4, type 0
  3093.     DWORD m_maxLevel; // +0x4C, size 0x4, type 0
  3094.     DWORD m_itemLevel; // +0x50, size 0x4, type 0
  3095.     DWORD m_scalingClass; // +0x54, size 0x4, type 0
  3096.     DWORD m_scalingClassRestricted; // +0x58, size 0x4, type 0
  3097.     float m_effectScalingPoints[3]; // +0x5C, size 0xC, type 3
  3098. };
  3099.  
  3100. // query: SELECT "ID", "FUNCTION" FROM "SPELLKEYBOUNDOVERRIDE" WHERE function IS NOT NULL ORDER BY  ID
  3101. struct SpellKeyboundOverrideRec // sizeof(0x8)
  3102. {
  3103.     DWORD m_ID; // +0x0, size 0x4, type 0
  3104.     char* m_function; // +0x4, size 0x4, type 2
  3105. };
  3106.  
  3107. // query: SELECT "ID", "LEARNSPELLID", "OVERRIDESSPELLID", "SPELLID" FROM "SPELLLEARNSPELL" ORDER BY spellID, ID
  3108. struct SpellLearnSpellRec // sizeof(0x10)
  3109. {
  3110.     DWORD m_ID; // +0x0, size 0x4, type 0
  3111.     DWORD m_learnSpellID; // +0x4, size 0x4, type 0
  3112.     DWORD m_overridesSpellID; // +0x8, size 0x4, type 0
  3113.     DWORD m_spellID; // +0xC, size 0x4, type 0
  3114. };
  3115.  
  3116. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "BASELEVEL", "MAXLEVEL", "SPELLLEVEL" FROM "SPELLLEVELS" WHERE spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  3117. struct SpellLevelsRec // sizeof(0x18)
  3118. {
  3119.     DWORD m_ID; // +0x0, size 0x4, type 0
  3120.     DWORD m_spellID; // +0x4, size 0x4, type 0
  3121.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  3122.     DWORD m_baseLevel; // +0xC, size 0x4, type 0
  3123.     DWORD m_maxLevel; // +0x10, size 0x4, type 0
  3124.     DWORD m_spellLevel; // +0x14, size 0x4, type 0
  3125. };
  3126.  
  3127. // query: SELECT "ID", "STATENAME_LANG0" FROM "SPELLMECHANIC" ORDER BY id, ID
  3128. struct SpellMechanicRec // sizeof(0x8)
  3129. {
  3130.     DWORD m_ID; // +0x0, size 0x4, type 0
  3131.     char* m_stateName_lang; // +0x4, size 0x4, type 2
  3132. };
  3133.  
  3134. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "ATTRIBUTES0", "ATTRIBUTES1", "ATTRIBUTES2", "ATTRIBUTES3", "ATTRIBUTES4", "ATTRIBUTES5", "ATTRIBUTES6", "ATTRIBUTES7", "ATTRIBUTES8", "ATTRIBUTES9", "ATTRIBUTES10", "ATTRIBUTES11", "ATTRIBUTES12", "ATTRIBUTES13", "CASTINGTIMEINDEX", "DURATIONINDEX", "RANGEINDEX", "SPEED", "SPELLVISUALID", "SPELLVISUALID1", "SPELLICONID", "ACTIVEICONID", "SCHOOLMASK" FROM "SPELLMISC" ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  3135. struct SpellMiscRec // sizeof(0x68)
  3136. {
  3137.     DWORD m_ID; // +0x0, size 0x4, type 0
  3138.     DWORD m_spellID; // +0x4, size 0x4, type 0
  3139.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  3140.     DWORD m_attributes[14]; // +0xC, size 0x38, type 0
  3141.     DWORD m_castingTimeIndex; // +0x44, size 0x4, type 0
  3142.     DWORD m_durationIndex; // +0x48, size 0x4, type 0
  3143.     DWORD m_rangeIndex; // +0x4C, size 0x4, type 0
  3144.     float m_speed; // +0x50, size 0x4, type 3
  3145.     DWORD m_spellVisualID[2]; // +0x54, size 0x8, type 0
  3146.     DWORD m_spellIconID; // +0x5C, size 0x4, type 0
  3147.     DWORD m_activeIconID; // +0x60, size 0x4, type 0
  3148.     DWORD m_schoolMask; // +0x64, size 0x4, type 0
  3149. };
  3150.  
  3151. // query: SELECT "ID", "TYPE", "PARAM", "COEFF", "SPELLPROCSPERMINUTEID" FROM "SPELLPROCSPERMINUTEMOD" ORDER BY spellProcsPerMinuteID ASC, ID
  3152. struct SpellProcsPerMinuteModRec // sizeof(0x14)
  3153. {
  3154.     DWORD m_ID; // +0x0, size 0x4, type 0
  3155.     DWORD m_type; // +0x4, size 0x4, type 0
  3156.     DWORD m_param; // +0x8, size 0x4, type 0
  3157.     float m_coeff; // +0xC, size 0x4, type 3
  3158.     DWORD m_spellProcsPerMinuteID; // +0x10, size 0x4, type 0
  3159. };
  3160.  
  3161. // query: SELECT "ID", "BASEPROCRATE", "FLAGS" FROM "SPELLPROCSPERMINUTE" ORDER BY  ID
  3162. struct SpellProcsPerMinuteRec // sizeof(0xC)
  3163. {
  3164.     DWORD m_ID; // +0x0, size 0x4, type 0
  3165.     float m_baseProcRate; // +0x4, size 0x4, type 3
  3166.     DWORD m_flags; // +0x8, size 0x4, type 0
  3167. };
  3168.  
  3169. // query: SELECT "ID", "RADIUS", "RADIUSPERLEVEL", "RADIUSMIN", "RADIUSMAX" FROM "SPELLRADIUS" WHERE obsolete <> 1 ORDER BY id, ID
  3170. struct SpellRadiusRec // sizeof(0x14)
  3171. {
  3172.     DWORD m_ID; // +0x0, size 0x4, type 0
  3173.     float m_radius; // +0x4, size 0x4, type 3
  3174.     float m_radiusPerLevel; // +0x8, size 0x4, type 3
  3175.     float m_radiusMin; // +0xC, size 0x4, type 3
  3176.     float m_radiusMax; // +0x10, size 0x4, type 3
  3177. };
  3178.  
  3179. // query: SELECT "ID", "RANGEMIN", "RANGEMIN1", "RANGEMAX", "RANGEMAX1", "FLAGS", "DISPLAYNAME_LANG0", "DISPLAYNAMESHORT_LANG0" FROM "SPELLRANGE" ORDER BY id, ID
  3180. struct SpellRangeRec // sizeof(0x20)
  3181. {
  3182.     DWORD m_ID; // +0x0, size 0x4, type 0
  3183.     float m_rangeMin[2]; // +0x4, size 0x8, type 3
  3184.     float m_rangeMax[2]; // +0xC, size 0x8, type 3
  3185.     DWORD m_flags; // +0x14, size 0x4, type 0
  3186.     char* m_displayName_lang; // +0x18, size 0x4, type 2
  3187.     char* m_displayNameShort_lang; // +0x1C, size 0x4, type 2
  3188. };
  3189.  
  3190. // query: SELECT "ID", "NAME_LANG0", "NAMESUBTEXT_LANG0", "DESCRIPTION_LANG0", "AURADESCRIPTION_LANG0", "RUNECOSTID", "SPELLMISSILEID", "DESCRIPTIONVARIABLESID", "SCALINGID", "AURAOPTIONSID", "AURARESTRICTIONSID", "CASTINGREQUIREMENTSID", "CATEGORIESID", "CLASSOPTIONSID", "COOLDOWNSID", "EQUIPPEDITEMSID", "INTERRUPTSID", "LEVELSID", "REAGENTSID", "SHAPESHIFTID", "TARGETRESTRICTIONSID", "TOTEMSID", "REQUIREDPROJECTID", "MISCID" FROM "SPELL" WHERE LOWER(NVL(name_lang0, 'none')) NOT LIKE 'zz%' AND LOWER(NVL(internalname_lang0, 'none')) NOT LIKE 'zz%' AND serveronly = 0 ORDER BY ID, ID
  3191. struct SpellRec // sizeof(0x60)
  3192. {
  3193.     DWORD m_ID; // +0x0, size 0x4, type 0
  3194.     char* m_name_lang; // +0x4, size 0x4, type 2
  3195.     char* m_nameSubtext_lang; // +0x8, size 0x4, type 2
  3196.     char* m_description_lang; // +0xC, size 0x4, type 2
  3197.     char* m_auraDescription_lang; // +0x10, size 0x4, type 2
  3198.     DWORD m_runeCostID; // +0x14, size 0x4, type 0
  3199.     DWORD m_spellMissileID; // +0x18, size 0x4, type 0
  3200.     DWORD m_descriptionVariablesID; // +0x1C, size 0x4, type 0
  3201.     DWORD m_scalingID; // +0x20, size 0x4, type 0
  3202.     DWORD m_auraOptionsID; // +0x24, size 0x4, type 0
  3203.     DWORD m_auraRestrictionsID; // +0x28, size 0x4, type 0
  3204.     DWORD m_castingRequirementsID; // +0x2C, size 0x4, type 0
  3205.     DWORD m_categoriesID; // +0x30, size 0x4, type 0
  3206.     DWORD m_classOptionsID; // +0x34, size 0x4, type 0
  3207.     DWORD m_cooldownsID; // +0x38, size 0x4, type 0
  3208.     DWORD m_equippedItemsID; // +0x3C, size 0x4, type 0
  3209.     DWORD m_interruptsID; // +0x40, size 0x4, type 0
  3210.     DWORD m_levelsID; // +0x44, size 0x4, type 0
  3211.     DWORD m_reagentsID; // +0x48, size 0x4, type 0
  3212.     DWORD m_shapeshiftID; // +0x4C, size 0x4, type 0
  3213.     DWORD m_targetRestrictionsID; // +0x50, size 0x4, type 0
  3214.     DWORD m_totemsID; // +0x54, size 0x4, type 0
  3215.     DWORD m_requiredProjectID; // +0x58, size 0x4, type 0
  3216.     DWORD m_miscID; // +0x5C, size 0x4, type 0
  3217. };
  3218.  
  3219. // query: SELECT "ID", "BLOOD", "UNHOLY", "FROST", "CHROMATIC", "RUNICPOWER" FROM "SPELLRUNECOST" ORDER BY  ID
  3220. struct SpellRuneCostRec // sizeof(0x18)
  3221. {
  3222.     DWORD m_ID; // +0x0, size 0x4, type 0
  3223.     DWORD m_blood; // +0x4, size 0x4, type 0
  3224.     DWORD m_unholy; // +0x8, size 0x4, type 0
  3225.     DWORD m_frost; // +0xC, size 0x4, type 0
  3226.     DWORD m_chromatic; // +0x10, size 0x4, type 0
  3227.     DWORD m_runicPower; // +0x14, size 0x4, type 0
  3228. };
  3229.  
  3230. // query: SELECT "ID", "CASTTIMEMIN", "CASTTIMEMAX", "CASTTIMEMAXLEVEL", "CLASS", "NERFFACTOR", "NERFMAXLEVEL", "MAXSCALINGLEVEL", "SCALESFROMITEMLEVEL" FROM "SPELLSCALING" ORDER BY  ID
  3231. struct SpellScalingRec // sizeof(0x24)
  3232. {
  3233.     DWORD m_ID; // +0x0, size 0x4, type 0
  3234.     DWORD m_castTimeMin; // +0x4, size 0x4, type 0
  3235.     DWORD m_castTimeMax; // +0x8, size 0x4, type 0
  3236.     DWORD m_castTimeMaxLevel; // +0xC, size 0x4, type 0
  3237.     DWORD m_class; // +0x10, size 0x4, type 0
  3238.     float m_nerfFactor; // +0x14, size 0x4, type 3
  3239.     DWORD m_nerfMaxLevel; // +0x18, size 0x4, type 0
  3240.     DWORD m_maxScalingLevel; // +0x1C, size 0x4, type 0
  3241.     DWORD m_scalesFromItemLevel; // +0x20, size 0x4, type 0
  3242. };
  3243.  
  3244. // query: SELECT "ID", "BONUSACTIONBAR", "NAME_LANG0", "FLAGS", "CREATURETYPE", "ATTACKICONID", "COMBATROUNDTIME", "CREATUREDISPLAYID0", "CREATUREDISPLAYID01", "CREATUREDISPLAYID02", "CREATUREDISPLAYID03", "PRESETSPELLID0", "PRESETSPELLID01", "PRESETSPELLID02", "PRESETSPELLID03", "PRESETSPELLID04", "PRESETSPELLID05", "PRESETSPELLID06", "PRESETSPELLID07", "MOUNTTYPEID", "EXITSOUNDENTRIESID" FROM "SPELLSHAPESHIFTFORM" ORDER BY id, ID
  3245. struct SpellShapeshiftFormRec // sizeof(0x54)
  3246. {
  3247.     DWORD m_ID; // +0x0, size 0x4, type 0
  3248.     DWORD m_bonusActionBar; // +0x4, size 0x4, type 0
  3249.     char* m_name_lang; // +0x8, size 0x4, type 2
  3250.     DWORD m_flags; // +0xC, size 0x4, type 0
  3251.     DWORD m_creatureType; // +0x10, size 0x4, type 0
  3252.     DWORD m_attackIconID; // +0x14, size 0x4, type 0
  3253.     DWORD m_combatRoundTime; // +0x18, size 0x4, type 0
  3254.     DWORD m_creatureDisplayID[4]; // +0x1C, size 0x10, type 0
  3255.     DWORD m_presetSpellID[8]; // +0x2C, size 0x20, type 0
  3256.     DWORD m_mountTypeID; // +0x4C, size 0x4, type 0
  3257.     DWORD m_exitSoundEntriesID; // +0x50, size 0x4, type 0
  3258. };
  3259.  
  3260. // query: SELECT "ID", "SHAPESHIFTEXCLUDE", "SHAPESHIFTEXCLUDE1", "SHAPESHIFTMASK", "SHAPESHIFTMASK1", "STANCEBARORDER" FROM "SPELLSHAPESHIFT" WHERE spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY  ID
  3261. struct SpellShapeshiftRec // sizeof(0x18)
  3262. {
  3263.     DWORD m_ID; // +0x0, size 0x4, type 0
  3264.     DWORD m_shapeshiftExclude[2]; // +0x4, size 0x8, type 0
  3265.     DWORD m_shapeshiftMask[2]; // +0xC, size 0x8, type 0
  3266.     DWORD m_stanceBarOrder; // +0x14, size 0x4, type 0
  3267. };
  3268.  
  3269. // query: SELECT "ENUMID", "SPELLVISUALEFFECTNAMEID" FROM "SPELLSPECIALUNITEFFECT" ORDER BY enumID, ID
  3270. struct SpellSpecialUnitEffectRec // sizeof(0x8)
  3271. {
  3272.     DWORD m_enumID; // +0x0, size 0x4, type 0
  3273.     DWORD m_spellVisualEffectNameID; // +0x4, size 0x4, type 0
  3274. };
  3275.  
  3276. // query: SELECT "ID", "SPELLID", "DIFFICULTYID", "CONEANGLE", "WIDTH", "MAXTARGETS", "MAXTARGETLEVEL", "TARGETCREATURETYPE", "TARGETS" FROM "SPELLTARGETRESTRICTIONS" WHERE (maxTargets<>0 or maxTargetLevel<>0 or targetCreatureType<>0 or targets<>0 or coneAngle<>60 or width<>0) AND spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY spellID ASC, NVL(difficultyID, 0) ASC, ID
  3277. struct SpellTargetRestrictionsRec // sizeof(0x24)
  3278. {
  3279.     DWORD m_ID; // +0x0, size 0x4, type 0
  3280.     DWORD m_spellID; // +0x4, size 0x4, type 0
  3281.     DWORD m_difficultyID; // +0x8, size 0x4, type 0
  3282.     float m_coneAngle; // +0xC, size 0x4, type 3
  3283.     float m_width; // +0x10, size 0x4, type 3
  3284.     DWORD m_maxTargets; // +0x14, size 0x4, type 0
  3285.     DWORD m_maxTargetLevel; // +0x18, size 0x4, type 0
  3286.     DWORD m_targetCreatureType; // +0x1C, size 0x4, type 0
  3287.     DWORD m_targets; // +0x20, size 0x4, type 0
  3288. };
  3289.  
  3290. // query: SELECT "ID", "REQUIREDTOTEMCATEGORYID", "REQUIREDTOTEMCATEGORYID1", "TOTEM0", "TOTEM1" FROM "SPELLTOTEMS" WHERE spellID IN (SELECT ID FROM SPELL WHERE serveronly<>1) ORDER BY  ID
  3291. struct SpellTotemsRec // sizeof(0x14)
  3292. {
  3293.     DWORD m_ID; // +0x0, size 0x4, type 0
  3294.     DWORD m_requiredTotemCategoryID[2]; // +0x4, size 0x8, type 0
  3295.     DWORD m_totem[2]; // +0xC, size 0x8, type 0
  3296. };
  3297.  
  3298. // query: SELECT "ID", "ITEMID", "TEXTURE", "FLAGS" FROM "STATIONERY" ORDER BY id, ID
  3299. struct StationeryRec // sizeof(0x10)
  3300. {
  3301.     DWORD m_ID; // +0x0, size 0x4, type 0
  3302.     DWORD m_itemID; // +0x4, size 0x4, type 0
  3303.     char* m_texture; // +0x8, size 0x4, type 2
  3304.     DWORD m_flags; // +0xC, size 0x4, type 0
  3305. };
  3306.  
  3307. // query: SELECT "ID", "STRING" FROM "STRINGLOOKUPS" ORDER BY id, ID
  3308. struct StringLookupsRec // sizeof(0x8)
  3309. {
  3310.     DWORD m_ID; // +0x0, size 0x4, type 0
  3311.     char* m_String; // +0x4, size 0x4, type 2
  3312. };
  3313.  
  3314. // query: SELECT "ID", "CONTROL", "FACTION", "TITLE", "SLOT", "FLAGS" FROM "SUMMONPROPERTIES" ORDER BY id, ID
  3315. struct SummonPropertiesRec // sizeof(0x18)
  3316. {
  3317.     DWORD m_id; // +0x0, size 0x4, type 0
  3318.     DWORD m_control; // +0x4, size 0x4, type 0
  3319.     DWORD m_faction; // +0x8, size 0x4, type 0
  3320.     DWORD m_title; // +0xC, size 0x4, type 0
  3321.     DWORD m_slot; // +0x10, size 0x4, type 0
  3322.     DWORD m_flags; // +0x14, size 0x4, type 0
  3323. };
  3324.  
  3325. // query: SELECT "ID", "SPECID", "TIERID", "COLUMNINDEX", "SPELLID", "FLAGS", "CATEGORYMASK0", "CATEGORYMASK1", "CLASSID", "OVERRIDESSPELLID", "DESCRIPTION_LANG0" FROM "TALENT" WHERE BITAND(flags,2) = 0 and columnIndex < 3 and classID > 0 and tierID < 7 ORDER BY classID, tierID, columnIndex, specID, ID
  3326. struct TalentRec // sizeof(0x2C)
  3327. {
  3328.     DWORD m_ID; // +0x0, size 0x4, type 0
  3329.     DWORD m_specID; // +0x4, size 0x4, type 0
  3330.     DWORD m_tierID; // +0x8, size 0x4, type 0
  3331.     DWORD m_columnIndex; // +0xC, size 0x4, type 0
  3332.     DWORD m_spellID; // +0x10, size 0x4, type 0
  3333.     DWORD m_flags; // +0x14, size 0x4, type 0
  3334.     DWORD m_categoryMask[2]; // +0x18, size 0x8, type 0
  3335.     DWORD m_classID; // +0x20, size 0x4, type 0
  3336.     DWORD m_overridesSpellID; // +0x24, size 0x4, type 0
  3337.     char* m_description_lang; // +0x28, size 0x4, type 2
  3338. };
  3339.  
  3340. // query: SELECT "ID", "CONTINENTID", "X", "Y", "Z", "NAME_LANG0", "MOUNTCREATUREID", "MOUNTCREATUREID1", "CONDITIONID", "FLAGS", "MAPOFFSETX", "MAPOFFSETY" FROM "TAXINODES" ORDER BY id, ID
  3341. struct TaxiNodesRec // sizeof(0x30)
  3342. {
  3343.     DWORD m_ID; // +0x0, size 0x4, type 0
  3344.     DWORD m_ContinentID; // +0x4, size 0x4, type 0
  3345.     float m_pos[3]; // +0x8, size 0xC, type 3
  3346.     char* m_Name_lang; // +0x14, size 0x4, type 2
  3347.     DWORD m_MountCreatureID[2]; // +0x18, size 0x8, type 0
  3348.     DWORD m_conditionID; // +0x20, size 0x4, type 0
  3349.     DWORD m_Flags; // +0x24, size 0x4, type 0
  3350.     float m_MapOffset[2]; // +0x28, size 0x8, type 3
  3351. };
  3352.  
  3353. // query: SELECT "ID", "PATHID", "NODEINDEX", "CONTINENTID", "LOCX", "LOCY", "LOCZ", "FLAGS", "DELAY", "ARRIVALEVENTID", "DEPARTUREEVENTID" FROM "TAXIPATHNODE" ORDER BY PathID, NodeIndex, ID
  3354. struct TaxiPathNodeRec // sizeof(0x2C)
  3355. {
  3356.     DWORD m_ID; // +0x0, size 0x4, type 0
  3357.     DWORD m_PathID; // +0x4, size 0x4, type 0
  3358.     DWORD m_NodeIndex; // +0x8, size 0x4, type 0
  3359.     DWORD m_ContinentID; // +0xC, size 0x4, type 0
  3360.     float m_Loc[3]; // +0x10, size 0xC, type 3
  3361.     DWORD m_flags; // +0x1C, size 0x4, type 0
  3362.     DWORD m_delay; // +0x20, size 0x4, type 0
  3363.     DWORD m_arrivalEventID; // +0x24, size 0x4, type 0
  3364.     DWORD m_departureEventID; // +0x28, size 0x4, type 0
  3365. };
  3366.  
  3367. // query: SELECT "ID", "FROMTAXINODE", "TOTAXINODE", "COST" FROM "TAXIPATH" ORDER BY NVL(FromTaxiNode, 0), NVL(ToTaxiNode,0), ID
  3368. struct TaxiPathRec // sizeof(0x10)
  3369. {
  3370.     DWORD m_ID; // +0x0, size 0x4, type 0
  3371.     DWORD m_FromTaxiNode; // +0x4, size 0x4, type 0
  3372.     DWORD m_ToTaxiNode; // +0x8, size 0x4, type 0
  3373.     DWORD m_Cost; // +0xC, size 0x4, type 0
  3374. };
  3375.  
  3376. // query: SELECT "ID" FROM "TERRAINTYPESOUNDS" ORDER BY id, ID
  3377. struct TerrainTypeSoundsRec // sizeof(0x4)
  3378. {
  3379.     DWORD m_ID; // +0x0, size 0x4, type 0
  3380. };
  3381.  
  3382. // query: SELECT "ID", "NAME_LANG0", "TOTEMCATEGORYTYPE", "TOTEMCATEGORYMASK" FROM "TOTEMCATEGORY" ORDER BY  ID
  3383. struct TotemCategoryRec // sizeof(0x10)
  3384. {
  3385.     DWORD m_ID; // +0x0, size 0x4, type 0
  3386.     char* m_name_lang; // +0x4, size 0x4, type 2
  3387.     DWORD m_totemCategoryType; // +0x8, size 0x4, type 0
  3388.     DWORD m_totemCategoryMask; // +0xC, size 0x4, type 0
  3389. };
  3390.  
  3391. // query: SELECT "ID", "SKILLLINEID", "PARENTTRADESKILLCATEGORYID", "ORDERINDEX", "NAME_LANG0", "FLAGS" FROM "TRADESKILLCATEGORY" ORDER BY id, ID
  3392. struct TradeSkillCategoryRec // sizeof(0x18)
  3393. {
  3394.     DWORD m_id; // +0x0, size 0x4, type 0
  3395.     DWORD m_skilllineid; // +0x4, size 0x4, type 0
  3396.     DWORD m_parenttradeskillcategoryid; // +0x8, size 0x4, type 0
  3397.     DWORD m_orderindex; // +0xC, size 0x4, type 0
  3398.     char* m_name_lang; // +0x10, size 0x4, type 2
  3399.     DWORD m_flags; // +0x14, size 0x4, type 0
  3400. };
  3401.  
  3402. // query: SELECT "ID", "TRANSPORTID", "TIMEINDEX", "POSX", "POSY", "POSZ", "SEQUENCEID" FROM "TRANSPORTANIMATION" ORDER BY TransportID, TimeIndex, ID
  3403. struct TransportAnimationRec // sizeof(0x1C)
  3404. {
  3405.     DWORD m_ID; // +0x0, size 0x4, type 0
  3406.     DWORD m_TransportID; // +0x4, size 0x4, type 0
  3407.     DWORD m_TimeIndex; // +0x8, size 0x4, type 0
  3408.     float m_Pos[3]; // +0xC, size 0xC, type 3
  3409.     DWORD m_SequenceID; // +0x18, size 0x4, type 0
  3410. };
  3411.  
  3412. // query: SELECT "ID", "WAVEAMP", "WAVETIMESCALE", "ROLLAMP", "ROLLTIMESCALE", "PITCHAMP", "PITCHTIMESCALE", "MAXBANK", "MAXBANKTURNSPEED", "SPEEDDAMPTHRESH", "SPEEDDAMP" FROM "TRANSPORTPHYSICS" ORDER BY  ID
  3413. struct TransportPhysicsRec // sizeof(0x2C)
  3414. {
  3415.     DWORD m_ID; // +0x0, size 0x4, type 0
  3416.     float m_waveAmp; // +0x4, size 0x4, type 3
  3417.     float m_waveTimeScale; // +0x8, size 0x4, type 3
  3418.     float m_rollAmp; // +0xC, size 0x4, type 3
  3419.     float m_rollTimeScale; // +0x10, size 0x4, type 3
  3420.     float m_pitchAmp; // +0x14, size 0x4, type 3
  3421.     float m_pitchTimeScale; // +0x18, size 0x4, type 3
  3422.     float m_maxBank; // +0x1C, size 0x4, type 3
  3423.     float m_maxBankTurnSpeed; // +0x20, size 0x4, type 3
  3424.     float m_speedDampThresh; // +0x24, size 0x4, type 3
  3425.     float m_speedDamp; // +0x28, size 0x4, type 3
  3426. };
  3427.  
  3428. // query: SELECT "ID", "GAMEOBJECTSID", "TIMEINDEX", "ROTX", "ROTY", "ROTZ", "ROTW" FROM "TRANSPORTROTATION" ORDER BY GameObjectsID, TimeIndex, ID
  3429. struct TransportRotationRec // sizeof(0x1C)
  3430. {
  3431.     DWORD m_ID; // +0x0, size 0x4, type 0
  3432.     DWORD m_GameObjectsID; // +0x4, size 0x4, type 0
  3433.     DWORD m_TimeIndex; // +0x8, size 0x4, type 0
  3434.     float m_Rot[4]; // +0xC, size 0x10, type 3
  3435. };
  3436.  
  3437. // query: SELECT "ID", "VIOLENCELEVEL0", "VIOLENCELEVEL01", "VIOLENCELEVEL02" FROM "UNITBLOODLEVELS" ORDER BY id, ID
  3438. struct UnitBloodLevelsRec // sizeof(0x10)
  3439. {
  3440.     DWORD m_ID; // +0x0, size 0x4, type 0
  3441.     DWORD m_Violencelevel[3]; // +0x4, size 0xC, type 0
  3442. };
  3443.  
  3444. // query: SELECT "ID", "COMBATBLOODSPURTFRONT0", "COMBATBLOODSPURTFRONT1", "COMBATBLOODSPURTBACK0", "COMBATBLOODSPURTBACK1", "GROUNDBLOOD0", "GROUNDBLOOD1", "GROUNDBLOOD2", "GROUNDBLOOD3", "GROUNDBLOOD4" FROM "UNITBLOOD" ORDER BY id, ID
  3445. struct UnitBloodRec // sizeof(0x28)
  3446. {
  3447.     DWORD m_ID; // +0x0, size 0x4, type 0
  3448.     DWORD m_CombatBloodSpurtFront[2]; // +0x4, size 0x8, type 0
  3449.     DWORD m_CombatBloodSpurtBack[2]; // +0xC, size 0x8, type 0
  3450.     char* m_GroundBlood[5]; // +0x14, size 0x14, type 2
  3451. };
  3452.  
  3453. // query: SELECT "ID", "FLAGS", "VARIABLE0", "VARIABLE1", "VARIABLE2", "VARIABLE3", "VARIABLE4", "VARIABLE5", "VARIABLE6", "VARIABLE7", "OP0", "OP1", "OP2", "OP3", "OP4", "OP5", "OP6", "OP7", "VALUE0", "VALUE1", "VALUE2", "VALUE3", "VALUE4", "VALUE5", "VALUE6", "VALUE7" FROM "UNITCONDITION" ORDER BY  ID
  3454. struct UnitConditionRec // sizeof(0x68)
  3455. {
  3456.     DWORD m_ID; // +0x0, size 0x4, type 0
  3457.     DWORD m_flags; // +0x4, size 0x4, type 0
  3458.     DWORD m_variable[8]; // +0x8, size 0x20, type 0
  3459.     DWORD m_op[8]; // +0x28, size 0x20, type 0
  3460.     DWORD m_value[8]; // +0x48, size 0x20, type 0
  3461. };
  3462.  
  3463. // query: SELECT "ID", "MINPOWER", "MAXPOWER", "STARTPOWER", "CENTERPOWER", "REGENERATIONPEACE", "REGENERATIONCOMBAT", "BARTYPE", "FILEDATAID0", "FILEDATAID1", "FILEDATAID2", "FILEDATAID3", "FILEDATAID4", "FILEDATAID5", "COLOR0", "COLOR1", "COLOR2", "COLOR3", "COLOR4", "COLOR5", "FLAGS", "NAME_LANG0", "COST_LANG0", "OUTOFERROR_LANG0", "TOOLTIP_LANG0", "STARTINSET", "ENDINSET" FROM "UNITPOWERBAR" ORDER BY  ID
  3464. struct UnitPowerBarRec // sizeof(0x6C)
  3465. {
  3466.     DWORD m_ID; // +0x0, size 0x4, type 0
  3467.     DWORD m_minPower; // +0x4, size 0x4, type 0
  3468.     DWORD m_maxPower; // +0x8, size 0x4, type 0
  3469.     DWORD m_startPower; // +0xC, size 0x4, type 0
  3470.     DWORD m_centerPower; // +0x10, size 0x4, type 0
  3471.     float m_regenerationPeace; // +0x14, size 0x4, type 3
  3472.     float m_regenerationCombat; // +0x18, size 0x4, type 3
  3473.     DWORD m_barType; // +0x1C, size 0x4, type 0
  3474.     DWORD m_fileDataID[6]; // +0x20, size 0x18, type 0
  3475.     DWORD m_color[6]; // +0x38, size 0x18, type 0
  3476.     DWORD m_flags; // +0x50, size 0x4, type 0
  3477.     char* m_name_lang; // +0x54, size 0x4, type 2
  3478.     char* m_cost_lang; // +0x58, size 0x4, type 2
  3479.     char* m_outOfError_lang; // +0x5C, size 0x4, type 2
  3480.     char* m_toolTip_lang; // +0x60, size 0x4, type 2
  3481.     float m_startInset; // +0x64, size 0x4, type 3
  3482.     float m_endInset; // +0x68, size 0x4, type 3
  3483. };
  3484.  
  3485. // query: SELECT "ID", "FLAGS", "FLAGSB", "TURNSPEED", "PITCHSPEED", "PITCHMIN", "PITCHMAX", "SEATID0", "SEATID1", "SEATID2", "SEATID3", "SEATID4", "SEATID5", "SEATID6", "SEATID7", "MOUSELOOKOFFSETPITCH", "CAMERAFADEDISTSCALARMIN", "CAMERAFADEDISTSCALARMAX", "CAMERAPITCHOFFSET", "FACINGLIMITRIGHT", "FACINGLIMITLEFT", "MSSLTRGTTURNLINGERING", "MSSLTRGTPITCHLINGERING", "MSSLTRGTMOUSELINGERING", "MSSLTRGTENDOPACITY", "MSSLTRGTARCSPEED", "MSSLTRGTARCREPEAT", "MSSLTRGTARCWIDTH", "MSSLTRGTIMPACTRADIUS", "MSSLTRGTIMPACTRADIUS1", "MSSLTRGTARCTEXTURE", "MSSLTRGTIMPACTTEXTURE", "MSSLTRGTIMPACTMODEL0", "MSSLTRGTIMPACTMODEL1", "CAMERAYAWOFFSET", "UILOCOMOTIONTYPE", "MSSLTRGTIMPACTTEXRADIUS", "VEHICLEUIINDICATORID", "POWERDISPLAYID0", "POWERDISPLAYID1", "POWERDISPLAYID2" FROM "VEHICLE" ORDER BY  ID
  3486. struct VehicleRec // sizeof(0xA4)
  3487. {
  3488.     DWORD m_ID; // +0x0, size 0x4, type 0
  3489.     DWORD m_flags; // +0x4, size 0x4, type 0
  3490.     DWORD m_flagsB; // +0x8, size 0x4, type 0
  3491.     float m_turnSpeed; // +0xC, size 0x4, type 3
  3492.     float m_pitchSpeed; // +0x10, size 0x4, type 3
  3493.     float m_pitchMin; // +0x14, size 0x4, type 3
  3494.     float m_pitchMax; // +0x18, size 0x4, type 3
  3495.     DWORD m_seatID[8]; // +0x1C, size 0x20, type 0
  3496.     float m_mouseLookOffsetPitch; // +0x3C, size 0x4, type 3
  3497.     float m_cameraFadeDistScalarMin; // +0x40, size 0x4, type 3
  3498.     float m_cameraFadeDistScalarMax; // +0x44, size 0x4, type 3
  3499.     float m_cameraPitchOffset; // +0x48, size 0x4, type 3
  3500.     float m_facingLimitRight; // +0x4C, size 0x4, type 3
  3501.     float m_facingLimitLeft; // +0x50, size 0x4, type 3
  3502.     float m_msslTrgtTurnLingering; // +0x54, size 0x4, type 3
  3503.     float m_msslTrgtPitchLingering; // +0x58, size 0x4, type 3
  3504.     float m_msslTrgtMouseLingering; // +0x5C, size 0x4, type 3
  3505.     float m_msslTrgtEndOpacity; // +0x60, size 0x4, type 3
  3506.     float m_msslTrgtArcSpeed; // +0x64, size 0x4, type 3
  3507.     float m_msslTrgtArcRepeat; // +0x68, size 0x4, type 3
  3508.     float m_msslTrgtArcWidth; // +0x6C, size 0x4, type 3
  3509.     float m_msslTrgtImpactRadius[2]; // +0x70, size 0x8, type 3
  3510.     char* m_msslTrgtArcTexture; // +0x78, size 0x4, type 2
  3511.     char* m_msslTrgtImpactTexture; // +0x7C, size 0x4, type 2
  3512.     char* m_msslTrgtImpactModel[2]; // +0x80, size 0x8, type 2
  3513.     float m_cameraYawOffset; // +0x88, size 0x4, type 3
  3514.     DWORD m_uiLocomotionType; // +0x8C, size 0x4, type 0
  3515.     float m_msslTrgtImpactTexRadius; // +0x90, size 0x4, type 3
  3516.     DWORD m_vehicleUIIndicatorID; // +0x94, size 0x4, type 0
  3517.     DWORD m_powerDisplayID[3]; // +0x98, size 0xC, type 0
  3518. };
  3519.  
  3520. // query: SELECT "ID", "FLAGS", "ATTACHMENTID", "ATTACHMENTOFFSETX", "ATTACHMENTOFFSETY", "ATTACHMENTOFFSETZ", "ENTERPREDELAY", "ENTERSPEED", "ENTERGRAVITY", "ENTERMINDURATION", "ENTERMAXDURATION", "ENTERMINARCHEIGHT", "ENTERMAXARCHEIGHT", "ENTERANIMSTART", "ENTERANIMLOOP", "RIDEANIMSTART", "RIDEANIMLOOP", "RIDEUPPERANIMSTART", "RIDEUPPERANIMLOOP", "EXITPREDELAY", "EXITSPEED", "EXITGRAVITY", "EXITMINDURATION", "EXITMAXDURATION", "EXITMINARCHEIGHT", "EXITMAXARCHEIGHT", "EXITANIMSTART", "EXITANIMLOOP", "EXITANIMEND", "PASSENGERYAW", "PASSENGERPITCH", "PASSENGERROLL", "PASSENGERATTACHMENTID", "VEHICLEENTERANIM", "VEHICLEEXITANIM", "VEHICLERIDEANIMLOOP", "VEHICLEENTERANIMBONE", "VEHICLEEXITANIMBONE", "VEHICLERIDEANIMLOOPBONE", "VEHICLEENTERANIMDELAY", "VEHICLEEXITANIMDELAY", "VEHICLEABILITYDISPLAY", "ENTERUISOUNDID", "EXITUISOUNDID", "FLAGSB", "CAMERAENTERINGDELAY", "CAMERAENTERINGDURATION", "CAMERAEXITINGDELAY", "CAMERAEXITINGDURATION", "CAMERAOFFSETX", "CAMERAOFFSETY", "CAMERAOFFSETZ", "CAMERAPOSCHASERATE", "CAMERAFACINGCHASERATE", "CAMERAENTERINGZOOM", "CAMERASEATZOOMMIN", "CAMERASEATZOOMMAX", "ENTERANIMKITID", "RIDEANIMKITID", "EXITANIMKITID", "VEHICLEENTERANIMKITID", "VEHICLERIDEANIMKITID", "VEHICLEEXITANIMKITID", "CAMERAMODEID", "FLAGSC", "UISKINFILEDATAID" FROM "VEHICLESEAT" ORDER BY  ID
  3521. struct VehicleSeatRec // sizeof(0x108)
  3522. {
  3523.     DWORD m_ID; // +0x0, size 0x4, type 0
  3524.     DWORD m_flags; // +0x4, size 0x4, type 0
  3525.     DWORD m_attachmentID; // +0x8, size 0x4, type 0
  3526.     float m_attachmentOffset[3]; // +0xC, size 0xC, type 3
  3527.     float m_enterPreDelay; // +0x18, size 0x4, type 3
  3528.     float m_enterSpeed; // +0x1C, size 0x4, type 3
  3529.     float m_enterGravity; // +0x20, size 0x4, type 3
  3530.     float m_enterMinDuration; // +0x24, size 0x4, type 3
  3531.     float m_enterMaxDuration; // +0x28, size 0x4, type 3
  3532.     float m_enterMinArcHeight; // +0x2C, size 0x4, type 3
  3533.     float m_enterMaxArcHeight; // +0x30, size 0x4, type 3
  3534.     DWORD m_enterAnimStart; // +0x34, size 0x4, type 0
  3535.     DWORD m_enterAnimLoop; // +0x38, size 0x4, type 0
  3536.     DWORD m_rideAnimStart; // +0x3C, size 0x4, type 0
  3537.     DWORD m_rideAnimLoop; // +0x40, size 0x4, type 0
  3538.     DWORD m_rideUpperAnimStart; // +0x44, size 0x4, type 0
  3539.     DWORD m_rideUpperAnimLoop; // +0x48, size 0x4, type 0
  3540.     float m_exitPreDelay; // +0x4C, size 0x4, type 3
  3541.     float m_exitSpeed; // +0x50, size 0x4, type 3
  3542.     float m_exitGravity; // +0x54, size 0x4, type 3
  3543.     float m_exitMinDuration; // +0x58, size 0x4, type 3
  3544.     float m_exitMaxDuration; // +0x5C, size 0x4, type 3
  3545.     float m_exitMinArcHeight; // +0x60, size 0x4, type 3
  3546.     float m_exitMaxArcHeight; // +0x64, size 0x4, type 3
  3547.     DWORD m_exitAnimStart; // +0x68, size 0x4, type 0
  3548.     DWORD m_exitAnimLoop; // +0x6C, size 0x4, type 0
  3549.     DWORD m_exitAnimEnd; // +0x70, size 0x4, type 0
  3550.     float m_passengerYaw; // +0x74, size 0x4, type 3
  3551.     float m_passengerPitch; // +0x78, size 0x4, type 3
  3552.     float m_passengerRoll; // +0x7C, size 0x4, type 3
  3553.     DWORD m_passengerAttachmentID; // +0x80, size 0x4, type 0
  3554.     DWORD m_vehicleEnterAnim; // +0x84, size 0x4, type 0
  3555.     DWORD m_vehicleExitAnim; // +0x88, size 0x4, type 0
  3556.     DWORD m_vehicleRideAnimLoop; // +0x8C, size 0x4, type 0
  3557.     DWORD m_vehicleEnterAnimBone; // +0x90, size 0x4, type 0
  3558.     DWORD m_vehicleExitAnimBone; // +0x94, size 0x4, type 0
  3559.     DWORD m_vehicleRideAnimLoopBone; // +0x98, size 0x4, type 0
  3560.     float m_vehicleEnterAnimDelay; // +0x9C, size 0x4, type 3
  3561.     float m_vehicleExitAnimDelay; // +0xA0, size 0x4, type 3
  3562.     DWORD m_vehicleAbilityDisplay; // +0xA4, size 0x4, type 0
  3563.     DWORD m_enterUISoundID; // +0xA8, size 0x4, type 0
  3564.     DWORD m_exitUISoundID; // +0xAC, size 0x4, type 0
  3565.     DWORD m_flagsB; // +0xB0, size 0x4, type 0
  3566.     float m_cameraEnteringDelay; // +0xB4, size 0x4, type 3
  3567.     float m_cameraEnteringDuration; // +0xB8, size 0x4, type 3
  3568.     float m_cameraExitingDelay; // +0xBC, size 0x4, type 3
  3569.     float m_cameraExitingDuration; // +0xC0, size 0x4, type 3
  3570.     float m_cameraOffset[3]; // +0xC4, size 0xC, type 3
  3571.     float m_cameraPosChaseRate; // +0xD0, size 0x4, type 3
  3572.     float m_cameraFacingChaseRate; // +0xD4, size 0x4, type 3
  3573.     float m_cameraEnteringZoom; // +0xD8, size 0x4, type 3
  3574.     float m_cameraSeatZoomMin; // +0xDC, size 0x4, type 3
  3575.     float m_cameraSeatZoomMax; // +0xE0, size 0x4, type 3
  3576.     DWORD m_enterAnimKitID; // +0xE4, size 0x4, type 0
  3577.     DWORD m_rideAnimKitID; // +0xE8, size 0x4, type 0
  3578.     DWORD m_exitAnimKitID; // +0xEC, size 0x4, type 0
  3579.     DWORD m_vehicleEnterAnimKitID; // +0xF0, size 0x4, type 0
  3580.     DWORD m_vehicleRideAnimKitID; // +0xF4, size 0x4, type 0
  3581.     DWORD m_vehicleExitAnimKitID; // +0xF8, size 0x4, type 0
  3582.     DWORD m_cameraModeID; // +0xFC, size 0x4, type 0
  3583.     DWORD m_flagsC; // +0x100, size 0x4, type 0
  3584.     DWORD m_uiSkinFileDataID; // +0x104, size 0x4, type 0
  3585. };
  3586.  
  3587. // query: SELECT "ID", "BACKGROUNDTEXTURE" FROM "VEHICLEUIINDICATOR" ORDER BY  ID
  3588. struct VehicleUIIndicatorRec // sizeof(0x8)
  3589. {
  3590.     DWORD m_ID; // +0x0, size 0x4, type 0
  3591.     char* m_backgroundTexture; // +0x4, size 0x4, type 2
  3592. };
  3593.  
  3594. // query: SELECT "ID", "VEHICLEUIINDICATORID", "VIRTUALSEATINDEX", "XPOS", "YPOS" FROM "VEHICLEUIINDSEAT" ORDER BY  ID
  3595. struct VehicleUIIndSeatRec // sizeof(0x14)
  3596. {
  3597.     DWORD m_ID; // +0x0, size 0x4, type 0
  3598.     DWORD m_vehicleUIIndicatorID; // +0x4, size 0x4, type 0
  3599.     DWORD m_virtualSeatIndex; // +0x8, size 0x4, type 0
  3600.     float m_xPos; // +0xC, size 0x4, type 3
  3601.     float m_yPos; // +0x10, size 0x4, type 3
  3602. };
  3603.  
  3604. // query: SELECT "ID", "VOCALUIENUM", "RACEID", "NORMALSOUNDID0", "NORMALSOUNDID1", "PISSEDSOUNDID0", "PISSEDSOUNDID1" FROM "VOCALUISOUNDS" ORDER BY id, ID
  3605. struct VocalUISoundsRec // sizeof(0x1C)
  3606. {
  3607.     DWORD m_ID; // +0x0, size 0x4, type 0
  3608.     DWORD m_vocalUIEnum; // +0x4, size 0x4, type 0
  3609.     DWORD m_raceID; // +0x8, size 0x4, type 0
  3610.     DWORD m_NormalSoundID[2]; // +0xC, size 0x8, type 0
  3611.     DWORD m_PissedSoundID[2]; // +0x14, size 0x8, type 0
  3612. };
  3613.  
  3614. // query: SELECT "ID", "WEAPONSUBCLASSID", "PARRYSOUNDTYPE", "IMPACTSOUNDID0", "IMPACTSOUNDID1", "IMPACTSOUNDID2", "IMPACTSOUNDID3", "IMPACTSOUNDID4", "IMPACTSOUNDID5", "IMPACTSOUNDID6", "IMPACTSOUNDID7", "IMPACTSOUNDID8", "IMPACTSOUNDID9", "CRITIMPACTSOUNDID0", "CRITIMPACTSOUNDID1", "CRITIMPACTSOUNDID2", "CRITIMPACTSOUNDID3", "CRITIMPACTSOUNDID4", "CRITIMPACTSOUNDID5", "CRITIMPACTSOUNDID6", "CRITIMPACTSOUNDID7", "CRITIMPACTSOUNDID8", "CRITIMPACTSOUNDID9" FROM "WEAPONIMPACTSOUNDS" ORDER BY id, ID
  3615. struct WeaponImpactSoundsRec // sizeof(0x5C)
  3616. {
  3617.     DWORD m_ID; // +0x0, size 0x4, type 0
  3618.     DWORD m_WeaponSubClassID; // +0x4, size 0x4, type 0
  3619.     DWORD m_ParrySoundType; // +0x8, size 0x4, type 0
  3620.     DWORD m_impactSoundID[10]; // +0xC, size 0x28, type 0
  3621.     DWORD m_critImpactSoundID[10]; // +0x34, size 0x28, type 0
  3622. };
  3623.  
  3624. // query: SELECT "ID", "SWINGTYPE", "CRIT", "SOUNDID" FROM "WEAPONSWINGSOUNDS2" ORDER BY id, ID
  3625. struct WeaponSwingSounds2Rec // sizeof(0x10)
  3626. {
  3627.     DWORD m_ID; // +0x0, size 0x4, type 0
  3628.     DWORD m_SwingType; // +0x4, size 0x4, type 0
  3629.     DWORD m_Crit; // +0x8, size 0x4, type 0
  3630.     DWORD m_SoundID; // +0xC, size 0x4, type 0
  3631. };
  3632.  
  3633. // query: SELECT "ID", "AREA_ID", "NEXT_TIME_WORLDSTATE", "GAME_TIME_WORLDSTATE", "BATTLE_POPULATE_TIME", "MIN_LEVEL", "MAX_LEVEL" FROM "WORLD_PVP_AREA" ORDER BY  ID
  3634. struct World_PVP_AreaRec // sizeof(0x1C)
  3635. {
  3636.     DWORD m_ID; // +0x0, size 0x4, type 0
  3637.     DWORD m_area_ID; // +0x4, size 0x4, type 0
  3638.     DWORD m_next_time_worldstate; // +0x8, size 0x4, type 0
  3639.     DWORD m_game_time_worldstate; // +0xC, size 0x4, type 0
  3640.     DWORD m_battle_populate_time; // +0x10, size 0x4, type 0
  3641.     DWORD m_min_level; // +0x14, size 0x4, type 0
  3642.     DWORD m_max_level; // +0x18, size 0x4, type 0
  3643. };
  3644.  
  3645. // query: SELECT "MAPID", "CHUNKX", "CHUNKY", "SUBCHUNKX", "SUBCHUNKY", "SOUNDOVERRIDEID" FROM "WORLDCHUNKSOUNDS" ORDER BY id, ID
  3646. struct WorldChunkSoundsRec // sizeof(0x1C)
  3647. {
  3648.     DWORD m_ID; // +0x0, size 0x4, type 0
  3649.     DWORD m_MapID; // +0x4, size 0x4, type 0
  3650.     DWORD m_ChunkX; // +0x8, size 0x4, type 0
  3651.     DWORD m_ChunkY; // +0xC, size 0x4, type 0
  3652.     DWORD m_SubchunkX; // +0x10, size 0x4, type 0
  3653.     DWORD m_SubchunkY; // +0x14, size 0x4, type 0
  3654.     DWORD m_SoundOverrideID; // +0x18, size 0x4, type 0
  3655. };
  3656.  
  3657. // query: SELECT "ID", "TARGETTYPE", "TARGETASSET", "QUESTFEEDBACKEFFECTID", "PLAYERCONDITIONID", "COMBATCONDITIONID", "WHENTODISPLAY" FROM "WORLDEFFECT" ORDER BY targetType, targetAsset, ID
  3658. struct WorldEffectRec // sizeof(0x1C)
  3659. {
  3660.     DWORD m_ID; // +0x0, size 0x4, type 0
  3661.     DWORD m_targetType; // +0x4, size 0x4, type 0
  3662.     DWORD m_targetAsset; // +0x8, size 0x4, type 0
  3663.     DWORD m_questFeedbackEffectID; // +0xC, size 0x4, type 0
  3664.     DWORD m_playerConditionID; // +0x10, size 0x4, type 0
  3665.     DWORD m_combatConditionID; // +0x14, size 0x4, type 0
  3666.     DWORD m_whenToDisplay; // +0x18, size 0x4, type 0
  3667. };
  3668.  
  3669. // query: SELECT "ID", "NAME_LANG0", "FLAGS", "TYPE" FROM "WORLDELAPSEDTIMER" ORDER BY  ID
  3670. struct WorldElapsedTimerRec // sizeof(0x10)
  3671. {
  3672.     DWORD m_ID; // +0x0, size 0x4, type 0
  3673.     char* m_name_lang; // +0x4, size 0x4, type 2
  3674.     DWORD m_flags; // +0x8, size 0x4, type 0
  3675.     DWORD m_type; // +0xC, size 0x4, type 0
  3676. };
  3677.  
  3678. // query: SELECT "ID", NVL(MAPID, -1) AS "MAPID", "AREAID", "AREANAME", "LOCLEFT", "LOCRIGHT", "LOCTOP", "LOCBOTTOM", "DISPLAYMAPID", "DEFAULTDUNGEONFLOOR", "PARENTWORLDMAPID", "FLAGS", "LEVELRANGEMIN", "LEVELRANGEMAX" FROM "WORLDMAPAREA" WHERE BitAnd(flags, 1)=0 ORDER BY id, ID
  3679. struct WorldMapAreaRec // sizeof(0x38)
  3680. {
  3681.     DWORD m_ID; // +0x0, size 0x4, type 0
  3682.     DWORD m_mapID; // +0x4, size 0x4, type 0
  3683.     DWORD m_areaID; // +0x8, size 0x4, type 0
  3684.     char* m_areaName; // +0xC, size 0x4, type 2
  3685.     float m_locLeft; // +0x10, size 0x4, type 3
  3686.     float m_locRight; // +0x14, size 0x4, type 3
  3687.     float m_locTop; // +0x18, size 0x4, type 3
  3688.     float m_locBottom; // +0x1C, size 0x4, type 3
  3689.     DWORD m_displayMapID; // +0x20, size 0x4, type 0
  3690.     DWORD m_defaultDungeonFloor; // +0x24, size 0x4, type 0
  3691.     DWORD m_parentWorldMapID; // +0x28, size 0x4, type 0
  3692.     DWORD m_flags; // +0x2C, size 0x4, type 0
  3693.     DWORD m_levelRangeMin; // +0x30, size 0x4, type 0
  3694.     DWORD m_levelRangeMax; // +0x34, size 0x4, type 0
  3695. };
  3696.  
  3697. // query: SELECT "ID", "MAPID", "LEFTBOUNDARY", "RIGHTBOUNDARY", "TOPBOUNDARY", "BOTTOMBOUNDARY", "CONTINENTOFFSETX", "CONTINENTOFFSETY", "SCALE", "TAXIMINX", "TAXIMINY", "TAXIMAXX", "TAXIMAXY", "WORLDMAPID" FROM "WORLDMAPCONTINENT" ORDER BY id, ID
  3698. struct WorldMapContinentRec // sizeof(0x38)
  3699. {
  3700.     DWORD m_ID; // +0x0, size 0x4, type 0
  3701.     DWORD m_mapID; // +0x4, size 0x4, type 0
  3702.     DWORD m_leftBoundary; // +0x8, size 0x4, type 0
  3703.     DWORD m_rightBoundary; // +0xC, size 0x4, type 0
  3704.     DWORD m_topBoundary; // +0x10, size 0x4, type 0
  3705.     DWORD m_bottomBoundary; // +0x14, size 0x4, type 0
  3706.     float m_continentOffset[2]; // +0x18, size 0x8, type 3
  3707.     float m_scale; // +0x20, size 0x4, type 3
  3708.     float m_taxiMin[2]; // +0x24, size 0x8, type 3
  3709.     float m_taxiMax[2]; // +0x2C, size 0x8, type 3
  3710.     DWORD m_worldMapID; // +0x34, size 0x4, type 0
  3711. };
  3712.  
  3713. // query: SELECT "ID", "MAPAREAID", "AREAID0", "AREAID01", "AREAID02", "AREAID03", "TEXTURENAME", "TEXTUREWIDTH", "TEXTUREHEIGHT", "OFFSETX", "OFFSETY", "HITRECTTOP", "HITRECTLEFT", "HITRECTBOTTOM", "HITRECTRIGHT", "PLAYERCONDITIONID" FROM "WORLDMAPOVERLAY" ORDER BY id, ID
  3714. struct WorldMapOverlayRec // sizeof(0x40)
  3715. {
  3716.     DWORD m_ID; // +0x0, size 0x4, type 0
  3717.     DWORD m_mapAreaID; // +0x4, size 0x4, type 0
  3718.     DWORD m_areaID[4]; // +0x8, size 0x10, type 0
  3719.     char* m_textureName; // +0x18, size 0x4, type 2
  3720.     DWORD m_textureWidth; // +0x1C, size 0x4, type 0
  3721.     DWORD m_textureHeight; // +0x20, size 0x4, type 0
  3722.     DWORD m_offsetX; // +0x24, size 0x4, type 0
  3723.     DWORD m_offsetY; // +0x28, size 0x4, type 0
  3724.     DWORD m_hitRectTop; // +0x2C, size 0x4, type 0
  3725.     DWORD m_hitRectLeft; // +0x30, size 0x4, type 0
  3726.     DWORD m_hitRectBottom; // +0x34, size 0x4, type 0
  3727.     DWORD m_hitRectRight; // +0x38, size 0x4, type 0
  3728.     DWORD m_playerConditionID; // +0x3C, size 0x4, type 0
  3729. };
  3730.  
  3731. // query: SELECT "ID", "MAPID", "REGIONMINX", "REGIONMINY", "REGIONMINZ", "REGIONMAXX", "REGIONMAXY", "REGIONMAXZ", "NEWMAPID", "REGIONOFFSETX", "REGIONOFFSETY", "NEWDUNGEONMAPID", "FLAGS", "NEWAREAID", "REGIONSCALE" FROM "WORLDMAPTRANSFORMS" ORDER BY id, ID
  3732. struct WorldMapTransformsRec // sizeof(0x3C)
  3733. {
  3734.     DWORD m_ID; // +0x0, size 0x4, type 0
  3735.     DWORD m_mapID; // +0x4, size 0x4, type 0
  3736.     float m_regionMin[3]; // +0x8, size 0xC, type 3
  3737.     float m_regionMax[3]; // +0x14, size 0xC, type 3
  3738.     DWORD m_newMapID; // +0x20, size 0x4, type 0
  3739.     float m_regionOffset[2]; // +0x24, size 0x8, type 3
  3740.     DWORD m_newDungeonMapID; // +0x2C, size 0x4, type 0
  3741.     DWORD m_flags; // +0x30, size 0x4, type 0
  3742.     DWORD m_newAreaID; // +0x34, size 0x4, type 0
  3743.     float m_regionScale; // +0x38, size 0x4, type 3
  3744. };
  3745.  
  3746. // query: SELECT "ID", NVL(CONTINENT, -1) AS "CONTINENT", "LOCX", "LOCY", "LOCZ", "FACING", "AREANAME_LANG0" FROM "WORLDSAFELOCS" ORDER BY id, ID
  3747. struct WorldSafeLocsRec // sizeof(0x1C)
  3748. {
  3749.     DWORD m_ID; // +0x0, size 0x4, type 0
  3750.     DWORD m_continent; // +0x4, size 0x4, type 0
  3751.     float m_loc[3]; // +0x8, size 0xC, type 3
  3752.     float m_facing; // +0x14, size 0x4, type 3
  3753.     char* m_areaName_lang; // +0x18, size 0x4, type 2
  3754. };
  3755.  
  3756. // query: SELECT "ID", "EXPRESSION" FROM "WORLDSTATEEXPRESSION" ORDER BY  ID
  3757. struct WorldStateExpressionRec // sizeof(0x8)
  3758. {
  3759.     DWORD m_ID; // +0x0, size 0x4, type 0
  3760.     char* m_expression; // +0x4, size 0x4, type 2
  3761. };
  3762.  
  3763. // query: SELECT "ID" FROM "WORLDSTATE" WHERE (BITAND(flags, 1) <> 0) ORDER BY ID, ID
  3764. struct WorldStateRec // sizeof(0x4)
  3765. {
  3766.     DWORD m_ID; // +0x0, size 0x4, type 0
  3767. };
  3768.  
  3769. // query: SELECT "ID", "MAPID", "AREAID", "PHASEUSEFLAGS", "PHASEID", "PHASEGROUPID", "ICON", "STRING_LANG0", "TOOLTIP_LANG0", "STATEVARIABLE", "TYPE", "DYNAMICICON", "DYNAMICTOOLTIP_LANG0", "EXTENDEDUI", "EXTENDEDUISTATEVARIABLE0", "EXTENDEDUISTATEVARIABLE01", "EXTENDEDUISTATEVARIABLE02" FROM "WORLDSTATEUI" ORDER BY mapID, areaID, type, orderIndex, ID, ID
  3770. struct WorldStateUIRec // sizeof(0x44)
  3771. {
  3772.     DWORD m_ID; // +0x0, size 0x4, type 0
  3773.     DWORD m_mapID; // +0x4, size 0x4, type 0
  3774.     DWORD m_areaID; // +0x8, size 0x4, type 0
  3775.     DWORD m_phaseUseFlags; // +0xC, size 0x4, type 0
  3776.     DWORD m_phaseID; // +0x10, size 0x4, type 0
  3777.     DWORD m_phaseGroupID; // +0x14, size 0x4, type 0
  3778.     char* m_icon; // +0x18, size 0x4, type 2
  3779.     char* m_string_lang; // +0x1C, size 0x4, type 2
  3780.     char* m_tooltip_lang; // +0x20, size 0x4, type 2
  3781.     DWORD m_stateVariable; // +0x24, size 0x4, type 0
  3782.     DWORD m_type; // +0x28, size 0x4, type 0
  3783.     char* m_dynamicIcon; // +0x2C, size 0x4, type 2
  3784.     char* m_dynamicTooltip_lang; // +0x30, size 0x4, type 2
  3785.     char* m_extendedUI; // +0x34, size 0x4, type 2
  3786.     DWORD m_extendedUIStateVariable[3]; // +0x38, size 0xC, type 0
  3787. };
  3788.  
  3789. // query: SELECT "WORLDSTATEID", "WORLDSTATEVALUE", "AREAID", "WMOAREAID", "ZONEINTROMUSICID", "ZONEMUSICID", "SOUNDAMBIENCEID", "SOUNDPROVIDERPREFERENCESID" FROM "WORLDSTATEZONESOUNDS" ORDER BY id, ID
  3790. struct WorldStateZoneSoundsRec // sizeof(0x24)
  3791. {
  3792.     DWORD m_ID; // +0x0, size 0x4, type 0
  3793.     DWORD m_WorldStateID; // +0x4, size 0x4, type 0
  3794.     DWORD m_WorldStateValue; // +0x8, size 0x4, type 0
  3795.     DWORD m_AreaID; // +0xC, size 0x4, type 0
  3796.     DWORD m_WMOAreaID; // +0x10, size 0x4, type 0
  3797.     DWORD m_ZoneIntroMusicID; // +0x14, size 0x4, type 0
  3798.     DWORD m_ZoneMusicID; // +0x18, size 0x4, type 0
  3799.     DWORD m_SoundAmbienceID; // +0x1C, size 0x4, type 0
  3800.     DWORD m_SoundProviderPreferencesID; // +0x20, size 0x4, type 0
  3801. };
  3802.  
  3803. // query: SELECT "ID", "NAME", "SOUNDID", "PRIORITY", "MINDELAYMINUTES" FROM "ZONEINTROMUSICTABLE" ORDER BY id, ID
  3804. struct ZoneIntroMusicTableRec // sizeof(0x14)
  3805. {
  3806.     DWORD m_ID; // +0x0, size 0x4, type 0
  3807.     char* m_Name; // +0x4, size 0x4, type 2
  3808.     DWORD m_SoundID; // +0x8, size 0x4, type 0
  3809.     DWORD m_Priority; // +0xC, size 0x4, type 0
  3810.     DWORD m_MinDelayMinutes; // +0x10, size 0x4, type 0
  3811. };
  3812.  
  3813. // query: SELECT "ID", "SETNAME", "SILENCEINTERVALMIN0", "SILENCEINTERVALMIN1", "SILENCEINTERVALMAX0", "SILENCEINTERVALMAX1", "SOUNDS0", "SOUNDS1" FROM "ZONEMUSIC" ORDER BY id, ID
  3814. struct ZoneMusicRec // sizeof(0x20)
  3815. {
  3816.     DWORD m_ID; // +0x0, size 0x4, type 0
  3817.     char* m_SetName; // +0x4, size 0x4, type 2
  3818.     DWORD m_SilenceIntervalMin[2]; // +0x8, size 0x8, type 0
  3819.     DWORD m_SilenceIntervalMax[2]; // +0x10, size 0x8, type 0
  3820.     DWORD m_Sounds[2]; // +0x18, size 0x8, type 0
  3821. };
  3822.  
  3823. // query: SELECT "ID", "NAME", "FLAGS", "FALLBACK", "BEHAVIORID", "BEHAVIORTIER" FROM "ANIMATIONDATA" ORDER BY id, ID
  3824. struct AnimationDataRec // sizeof(0x18)
  3825. {
  3826.     DWORD m_ID; // +0x0, size 0x4, type 0
  3827.     char* m_Name; // +0x4, size 0x4, type 2
  3828.     DWORD m_Flags; // +0x8, size 0x4, type 0
  3829.     DWORD m_Fallback; // +0xC, size 0x4, type 0
  3830.     DWORD m_BehaviorID; // +0x10, size 0x4, type 0
  3831.     DWORD m_BehaviorTier; // +0x14, size 0x4, type 0
  3832. };
  3833.  
  3834. // query: SELECT "ID", "CONTINENTID", "PARENTAREAID", "AREABIT", "FLAGS", "FLAGS1", "SOUNDPROVIDERPREF", "SOUNDPROVIDERPREFUNDERWATER", "AMBIENCEID", "ZONEMUSIC", "ZONENAME", "INTROSOUND", "EXPLORATIONLEVEL", "AREANAME_LANG0", "FACTIONGROUPMASK", "LIQUIDTYPEID0", "LIQUIDTYPEID01", "LIQUIDTYPEID02", "LIQUIDTYPEID03", "MINELEVATION", "AMBIENT_MULTIPLIER", "LIGHTID", "MOUNTFLAGS", "UWINTROSOUND", "UWZONEMUSIC", "UWAMBIENCE", "WORLD_PVP_ID", NVL(PVPCOMBATWORLDSTATEID, -1) AS "PVPCOMBATWORLDSTATEID", "WILDBATTLEPETLEVELMIN", "WILDBATTLEPETLEVELMAX", "WINDSETTINGSID" FROM "AREATABLE" ORDER BY id, ID
  3835. struct AreaTableRec // sizeof(0x7C)
  3836. {
  3837.     DWORD m_ID; // +0x0, size 0x4, type 0
  3838.     DWORD m_ContinentID; // +0x4, size 0x4, type 0
  3839.     DWORD m_ParentAreaID; // +0x8, size 0x4, type 0
  3840.     DWORD m_AreaBit; // +0xC, size 0x4, type 0
  3841.     DWORD m_flags[2]; // +0x10, size 0x8, type 0
  3842.     DWORD m_SoundProviderPref; // +0x18, size 0x4, type 0
  3843.     DWORD m_SoundProviderPrefUnderwater; // +0x1C, size 0x4, type 0
  3844.     DWORD m_AmbienceID; // +0x20, size 0x4, type 0
  3845.     DWORD m_ZoneMusic; // +0x24, size 0x4, type 0
  3846.     char* m_ZoneName; // +0x28, size 0x4, type 2
  3847.     DWORD m_IntroSound; // +0x2C, size 0x4, type 0
  3848.     DWORD m_ExplorationLevel; // +0x30, size 0x4, type 0
  3849.     char* m_AreaName_lang; // +0x34, size 0x4, type 2
  3850.     DWORD m_factionGroupMask; // +0x38, size 0x4, type 0
  3851.     DWORD m_liquidTypeID[4]; // +0x3C, size 0x10, type 0
  3852.     float m_minElevation; // +0x4C, size 0x4, type 3
  3853.     float m_ambient_multiplier; // +0x50, size 0x4, type 3
  3854.     DWORD m_lightid; // +0x54, size 0x4, type 0
  3855.     DWORD m_mountFlags; // +0x58, size 0x4, type 0
  3856.     DWORD m_uwIntroSound; // +0x5C, size 0x4, type 0
  3857.     DWORD m_uwZoneMusic; // +0x60, size 0x4, type 0
  3858.     DWORD m_uwAmbience; // +0x64, size 0x4, type 0
  3859.     DWORD m_world_pvp_id; // +0x68, size 0x4, type 0
  3860.     DWORD m_pvpCombatWorldStateID; // +0x6C, size 0x4, type 0
  3861.     DWORD m_wildBattlePetLevelMin; // +0x70, size 0x4, type 0
  3862.     DWORD m_wildBattlePetLevelMax; // +0x74, size 0x4, type 0
  3863.     DWORD m_windSettingsID; // +0x78, size 0x4, type 0
  3864. };
  3865.  
  3866. // query: SELECT "ID", "FILENAME", "FILEPATH" FROM "VW_FILEDATA" ORDER BY  ID
  3867. struct FileDataRec // sizeof(0xC)
  3868. {
  3869.     DWORD m_ID; // +0x0, size 0x4, type 0
  3870.     char* m_filename; // +0x4, size 0x4, type 2
  3871.     char* m_filepath; // +0x8, size 0x4, type 2
  3872. };
  3873.  
  3874. // query: SELECT "ID", "FOOTSTEPFILENAME" FROM "FOOTPRINTTEXTURES" ORDER BY id, ID
  3875. struct FootprintTexturesRec // sizeof(0x8)
  3876. {
  3877.     DWORD m_ID; // +0x0, size 0x4, type 0
  3878.     char* m_FootstepFilename; // +0x4, size 0x4, type 2
  3879. };
  3880.  
  3881. // query: SELECT "ID", "DOODADPATH", "FLAGS", "ANIMSCALE", "PUSHSCALE" FROM "GROUNDEFFECTDOODAD" ORDER BY id, ID
  3882. struct GroundEffectDoodadRec // sizeof(0x14)
  3883. {
  3884.     DWORD m_ID; // +0x0, size 0x4, type 0
  3885.     char* m_doodadpath; // +0x4, size 0x4, type 2
  3886.     DWORD m_flags; // +0x8, size 0x4, type 0
  3887.     float m_animscale; // +0xC, size 0x4, type 3
  3888.     float m_pushscale; // +0x10, size 0x4, type 3
  3889. };
  3890.  
  3891. // query: SELECT "ID", "LIGHTPARAMID", "TIME", "DIRECTCOLOR", "AMBIENTCOLOR", "SKYTOPCOLOR", "SKYMIDDLECOLOR", "SKYBAND1COLOR", "SKYBAND2COLOR", "SKYSMOGCOLOR", "SKYFOGCOLOR", "SUNCOLOR", "CLOUDSUNCOLOR", "CLOUDEMISSIVECOLOR", "CLOUDLAYER1AMBIENTCOLOR", "CLOUDLAYER2AMBIENTCOLOR", "OCEANCLOSECOLOR", "OCEANFARCOLOR", "RIVERCLOSECOLOR", "RIVERFARCOLOR", "SHADOWOPACITY", "FOGEND", "FOGSCALER", "CLOUDDENSITY", "FOGDENSITY" FROM "LIGHTDATA" ORDER BY lightParamID, time, ID
  3892. struct LightDataRec // sizeof(0x64)
  3893. {
  3894.     DWORD m_ID; // +0x0, size 0x4, type 0
  3895.     DWORD m_lightParamID; // +0x4, size 0x4, type 0
  3896.     DWORD m_time; // +0x8, size 0x4, type 0
  3897.     DWORD m_directColor; // +0xC, size 0x4, type 0
  3898.     DWORD m_ambientColor; // +0x10, size 0x4, type 0
  3899.     DWORD m_skyTopColor; // +0x14, size 0x4, type 0
  3900.     DWORD m_skyMiddleColor; // +0x18, size 0x4, type 0
  3901.     DWORD m_skyBand1Color; // +0x1C, size 0x4, type 0
  3902.     DWORD m_skyBand2Color; // +0x20, size 0x4, type 0
  3903.     DWORD m_skySmogColor; // +0x24, size 0x4, type 0
  3904.     DWORD m_skyFogColor; // +0x28, size 0x4, type 0
  3905.     DWORD m_sunColor; // +0x2C, size 0x4, type 0
  3906.     DWORD m_cloudSunColor; // +0x30, size 0x4, type 0
  3907.     DWORD m_cloudEmissiveColor; // +0x34, size 0x4, type 0
  3908.     DWORD m_cloudLayer1AmbientColor; // +0x38, size 0x4, type 0
  3909.     DWORD m_cloudLayer2AmbientColor; // +0x3C, size 0x4, type 0
  3910.     DWORD m_oceanCloseColor; // +0x40, size 0x4, type 0
  3911.     DWORD m_oceanFarColor; // +0x44, size 0x4, type 0
  3912.     DWORD m_riverCloseColor; // +0x48, size 0x4, type 0
  3913.     DWORD m_riverFarColor; // +0x4C, size 0x4, type 0
  3914.     DWORD m_shadowOpacity; // +0x50, size 0x4, type 0
  3915.     float m_fogEnd; // +0x54, size 0x4, type 3
  3916.     float m_fogScaler; // +0x58, size 0x4, type 3
  3917.     float m_cloudDensity; // +0x5C, size 0x4, type 3
  3918.     float m_fogDensity; // +0x60, size 0x4, type 3
  3919. };
  3920.  
  3921. // query: SELECT "ID", "HIGHLIGHTSKY", "LIGHTSKYBOXID", "CLOUDTYPEID", "GLOW", "WATERSHALLOWALPHA", "WATERDEEPALPHA", "OCEANSHALLOWALPHA", "OCEANDEEPALPHA", "FLAGS" FROM "LIGHTPARAMS" ORDER BY ID, ID
  3922. struct LightParamsRec // sizeof(0x28)
  3923. {
  3924.     DWORD m_ID; // +0x0, size 0x4, type 0
  3925.     DWORD m_highlightSky; // +0x4, size 0x4, type 0
  3926.     DWORD m_lightSkyboxID; // +0x8, size 0x4, type 0
  3927.     DWORD m_cloudTypeID; // +0xC, size 0x4, type 0
  3928.     float m_glow; // +0x10, size 0x4, type 3
  3929.     float m_waterShallowAlpha; // +0x14, size 0x4, type 3
  3930.     float m_waterDeepAlpha; // +0x18, size 0x4, type 3
  3931.     float m_oceanShallowAlpha; // +0x1C, size 0x4, type 3
  3932.     float m_oceanDeepAlpha; // +0x20, size 0x4, type 3
  3933.     DWORD m_flags; // +0x24, size 0x4, type 0
  3934. };
  3935.  
  3936. // query: SELECT "ID", "CONTINENTID", "X", "Y", "Z", "FALLOFFSTART", "FALLOFFEND", "LIGHTPARAMSID0", "LIGHTPARAMSID1", "LIGHTPARAMSID2", "LIGHTPARAMSID3", "LIGHTPARAMSID4", "LIGHTPARAMSID5", "LIGHTPARAMSID6", "LIGHTPARAMSID7" FROM "LIGHT" ORDER BY ID, ID
  3937. struct LightRec // sizeof(0x3C)
  3938. {
  3939.     DWORD m_ID; // +0x0, size 0x4, type 0
  3940.     DWORD m_continentID; // +0x4, size 0x4, type 0
  3941.     float m_x; // +0x8, size 0x4, type 3
  3942.     float m_y; // +0xC, size 0x4, type 3
  3943.     float m_z; // +0x10, size 0x4, type 3
  3944.     float m_falloffStart; // +0x14, size 0x4, type 3
  3945.     float m_falloffEnd; // +0x18, size 0x4, type 3
  3946.     DWORD m_lightParamsID[8]; // +0x1C, size 0x20, type 0
  3947. };
  3948.  
  3949. // query: SELECT "ID", "NAME", "FLAGS" FROM "LIGHTSKYBOX" ORDER BY ID, ID
  3950. struct LightSkyboxRec // sizeof(0xC)
  3951. {
  3952.     DWORD m_ID; // +0x0, size 0x4, type 0
  3953.     char* m_name; // +0x4, size 0x4, type 2
  3954.     DWORD m_flags; // +0x8, size 0x4, type 0
  3955. };
  3956.  
  3957. // query: SELECT "ID", "LVF", "FLAGS" FROM "LIQUIDMATERIAL" ORDER BY  ID
  3958. struct LiquidMaterialRec // sizeof(0xC)
  3959. {
  3960.     DWORD m_ID; // +0x0, size 0x4, type 0
  3961.     DWORD m_LVF; // +0x4, size 0x4, type 0
  3962.     DWORD m_flags; // +0x8, size 0x4, type 0
  3963. };
  3964.  
  3965. // query: SELECT "ID", "FLOWDIRECTION", "FLOWSPEED", "LIQUIDTYPEID", "FISHABLE", "REFLECTION" FROM "LIQUIDOBJECT" ORDER BY  ID
  3966. struct LiquidObjectRec // sizeof(0x18)
  3967. {
  3968.     DWORD m_ID; // +0x0, size 0x4, type 0
  3969.     float m_flowDirection; // +0x4, size 0x4, type 3
  3970.     float m_flowSpeed; // +0x8, size 0x4, type 3
  3971.     DWORD m_liquidTypeID; // +0xC, size 0x4, type 0
  3972.     DWORD m_fishable; // +0x10, size 0x4, type 0
  3973.     DWORD m_reflection; // +0x14, size 0x4, type 0
  3974. };
  3975.  
  3976. // query: SELECT "ID", "NAME", "FLAGS", "SOUNDBANK", "SOUNDID", "SPELLID", "MAXDARKENDEPTH", "FOGDARKENINTENSITY", "AMBDARKENINTENSITY", "DIRDARKENINTENSITY", "LIGHTID", "PARTICLESCALE", "PARTICLEMOVEMENT", "PARTICLETEXSLOTS", "MATERIALID", "TEXTURE0", "TEXTURE1", "TEXTURE2", "TEXTURE3", "TEXTURE4", "TEXTURE5", "COLOR0", "COLOR1", "FLOAT0", "FLOAT1", "FLOAT2", "FLOAT3", "FLOAT4", "FLOAT5", "FLOAT6", "FLOAT7", "FLOAT8", "FLOAT9", "FLOAT10", "FLOAT11", "FLOAT12", "FLOAT13", "FLOAT14", "FLOAT15", "FLOAT16", "FLOAT17", "INT0", "INT1", "INT2", "INT3" FROM "LIQUIDTYPE" ORDER BY  ID
  3977. struct LiquidTypeRec // sizeof(0xB4)
  3978. {
  3979.     DWORD m_ID; // +0x0, size 0x4, type 0
  3980.     char* m_name; // +0x4, size 0x4, type 2
  3981.     DWORD m_flags; // +0x8, size 0x4, type 0
  3982.     DWORD m_soundBank; // +0xC, size 0x4, type 0
  3983.     DWORD m_soundID; // +0x10, size 0x4, type 0
  3984.     DWORD m_spellID; // +0x14, size 0x4, type 0
  3985.     float m_maxDarkenDepth; // +0x18, size 0x4, type 3
  3986.     float m_fogDarkenIntensity; // +0x1C, size 0x4, type 3
  3987.     float m_ambDarkenIntensity; // +0x20, size 0x4, type 3
  3988.     float m_dirDarkenIntensity; // +0x24, size 0x4, type 3
  3989.     DWORD m_lightID; // +0x28, size 0x4, type 0
  3990.     float m_particleScale; // +0x2C, size 0x4, type 3
  3991.     DWORD m_particleMovement; // +0x30, size 0x4, type 0
  3992.     DWORD m_particleTexSlots; // +0x34, size 0x4, type 0
  3993.     DWORD m_materialID; // +0x38, size 0x4, type 0
  3994.     char* m_texture[6]; // +0x3C, size 0x18, type 2
  3995.     DWORD m_color[2]; // +0x54, size 0x8, type 0
  3996.     float m_float[18]; // +0x5C, size 0x48, type 3
  3997.     DWORD m_int[4]; // +0xA4, size 0x10, type 0
  3998. };
  3999.  
  4000. // query: SELECT "ID", "DIRECTORY", "INSTANCETYPE", "FLAGS", "MAPTYPE", "MAPNAME_LANG0", "AREATABLEID", "MAPDESCRIPTION0_LANG0", "MAPDESCRIPTION1_LANG0", "LOADINGSCREENID", "MINIMAPICONSCALE", NVL(CORPSEMAPID, -1) AS "CORPSEMAPID", "CORPSEX", "CORPSEY", "TIMEOFDAYOVERRIDE", "EXPANSIONID", "RAIDOFFSET", "MAXPLAYERS", NVL(PARENTMAPID, -1) AS "PARENTMAPID", NVL(COSMETICPARENTMAPID, -1) AS "COSMETICPARENTMAPID", "TIMEOFFSET" FROM "MAP" ORDER BY id, ID
  4001. struct MapRec // sizeof(0x54)
  4002. {
  4003.     DWORD m_ID; // +0x0, size 0x4, type 0
  4004.     char* m_Directory; // +0x4, size 0x4, type 2
  4005.     DWORD m_InstanceType; // +0x8, size 0x4, type 0
  4006.     DWORD m_Flags; // +0xC, size 0x4, type 0
  4007.     DWORD m_MapType; // +0x10, size 0x4, type 0
  4008.     char* m_MapName_lang; // +0x14, size 0x4, type 2
  4009.     DWORD m_areaTableID; // +0x18, size 0x4, type 0
  4010.     char* m_MapDescription0_lang; // +0x1C, size 0x4, type 2
  4011.     char* m_MapDescription1_lang; // +0x20, size 0x4, type 2
  4012.     DWORD m_LoadingScreenID; // +0x24, size 0x4, type 0
  4013.     float m_minimapIconScale; // +0x28, size 0x4, type 3
  4014.     DWORD m_corpseMapID; // +0x2C, size 0x4, type 0
  4015.     float m_corpse[2]; // +0x30, size 0x8, type 3
  4016.     DWORD m_timeOfDayOverride; // +0x38, size 0x4, type 0
  4017.     DWORD m_expansionID; // +0x3C, size 0x4, type 0
  4018.     DWORD m_raidOffset; // +0x40, size 0x4, type 0
  4019.     DWORD m_maxPlayers; // +0x44, size 0x4, type 0
  4020.     DWORD m_parentMapID; // +0x48, size 0x4, type 0
  4021.     DWORD m_cosmeticParentMapID; // +0x4C, size 0x4, type 0
  4022.     DWORD m_timeOffset; // +0x50, size 0x4, type 0
  4023. };
  4024.  
  4025. // query: SELECT "ENUMID", "NAME" FROM "SOUNDBUSNAME" ORDER BY  ID
  4026. struct SoundBusNameRec // sizeof(0x8)
  4027. {
  4028.     DWORD m_EnumID; // +0x0, size 0x4, type 0
  4029.     char* m_Name; // +0x4, size 0x4, type 2
  4030. };
  4031.  
  4032. // query: SELECT "ID", "PARENT", "DEFAULTPRIORITY", "DEFAULTPRIORITYPENALTY", "RAIDPRIORITY", "RAIDPRIORITYPENALTY", "DEFAULTVOLUME", "RAIDVOLUME", "DEFAULTPLAYBACKLIMIT", "RAIDPLAYBACKLIMIT", NVL(BUSENUMID, -1) AS "BUSENUMID" FROM "SOUNDBUS" ORDER BY  ID
  4033. struct SoundBusRec // sizeof(0x2C)
  4034. {
  4035.     DWORD m_ID; // +0x0, size 0x4, type 0
  4036.     DWORD m_Parent; // +0x4, size 0x4, type 0
  4037.     DWORD m_DefaultPriority; // +0x8, size 0x4, type 0
  4038.     DWORD m_DefaultPriorityPenalty; // +0xC, size 0x4, type 0
  4039.     DWORD m_RaidPriority; // +0x10, size 0x4, type 0
  4040.     DWORD m_RaidPriorityPenalty; // +0x14, size 0x4, type 0
  4041.     float m_DefaultVolume; // +0x18, size 0x4, type 3
  4042.     float m_RaidVolume; // +0x1C, size 0x4, type 3
  4043.     DWORD m_DefaultPlaybackLimit; // +0x20, size 0x4, type 0
  4044.     DWORD m_RaidPlaybackLimit; // +0x24, size 0x4, type 0
  4045.     DWORD m_BusEnumID; // +0x28, size 0x4, type 0
  4046. };
  4047.  
  4048. // query: SELECT "ID", "SOUNDEMITTERSID", "POSITIONX", "POSITIONY", "POSITIONZ" FROM "SOUNDEMITTERPILLPOINTS" ORDER BY soundEmittersID, ID, ID
  4049. struct SoundEmitterPillPointsRec // sizeof(0x14)
  4050. {
  4051.     DWORD m_ID; // +0x0, size 0x4, type 0
  4052.     DWORD m_soundEmittersID; // +0x4, size 0x4, type 0
  4053.     float m_position[3]; // +0x8, size 0xC, type 3
  4054. };
  4055.  
  4056. // query: SELECT "ID", "POSITIONX", "POSITIONY", "POSITIONZ", "DIRECTIONX", "DIRECTIONY", "DIRECTIONZ", "SOUNDENTRIESID", "MAPID", "NAME", "EMITTERTYPE", "PHASEID", "PHASEGROUPID", "PHASEUSEFLAGS", "FLAGS", "WORLDSTATEEXPRESSIONID" FROM "SOUNDEMITTERS" ORDER BY mapID,ID, ID
  4057. struct SoundEmittersRec // sizeof(0x40)
  4058. {
  4059.     DWORD m_ID; // +0x0, size 0x4, type 0
  4060.     float m_position[3]; // +0x4, size 0xC, type 3
  4061.     float m_direction[3]; // +0x10, size 0xC, type 3
  4062.     DWORD m_soundEntriesID; // +0x1C, size 0x4, type 0
  4063.     DWORD m_mapID; // +0x20, size 0x4, type 0
  4064.     char* m_name; // +0x24, size 0x4, type 2
  4065.     DWORD m_emitterType; // +0x28, size 0x4, type 0
  4066.     DWORD m_PhaseID; // +0x2C, size 0x4, type 0
  4067.     DWORD m_PhaseGroupID; // +0x30, size 0x4, type 0
  4068.     DWORD m_PhaseUseFlags; // +0x34, size 0x4, type 0
  4069.     DWORD m_flags; // +0x38, size 0x4, type 0
  4070.     DWORD m_worldStateExpressionID; // +0x3C, size 0x4, type 0
  4071. };
  4072.  
  4073. // query: SELECT "ID", "SOUNDENTRYID", "INNERRADIUS2D", "TIMEA", "TIMEB", "TIMEC", "TIMED", "RANDOMOFFSETRANGE", "USAGE", "TIMEINTERVALMIN", "TIMEINTERVALMAX", "VOLUMESLIDERCATEGORY", "DUCKTOSFX", "DUCKTOMUSIC", "DUCKTOAMBIENCE", "INNERRADIUSOFINFLUENCE", "OUTERRADIUSOFINFLUENCE", "TIMETODUCK", "TIMETOUNDUCK", "INSIDEANGLE", "OUTSIDEANGLE", "OUTSIDEVOLUME", "OUTERRADIUS2D", "MINRANDOMPOSOFFSET", "MAXRANDOMPOSOFFSET", "DUCKTODIALOG", "DUCKTOSUPPRESSORS", "MSOFFSET", "VOLUME0", "VOLUME1", "VOLUME2", "VOLUME3", "VOLUME4", "VOLUME5", "VOLUME6", "VOLUME7", "VOLUME8", "VOLUME9", "VOLUME10", "VOLUME11", "VOLUME12", "VOLUME13", "VOLUME14", "VOLUME15", "VOLUME16", "VOLUME17", "VOLUME18", "VOLUME19" FROM "SOUNDENTRIESADVANCED" ORDER BY id, ID
  4074. struct SoundEntriesAdvancedRec // sizeof(0xC0)
  4075. {
  4076.     DWORD m_ID; // +0x0, size 0x4, type 0
  4077.     DWORD m_soundEntryID; // +0x4, size 0x4, type 0
  4078.     float m_innerRadius2D; // +0x8, size 0x4, type 3
  4079.     DWORD m_timeA; // +0xC, size 0x4, type 0
  4080.     DWORD m_timeB; // +0x10, size 0x4, type 0
  4081.     DWORD m_timeC; // +0x14, size 0x4, type 0
  4082.     DWORD m_timeD; // +0x18, size 0x4, type 0
  4083.     DWORD m_randomOffsetRange; // +0x1C, size 0x4, type 0
  4084.     DWORD m_usage; // +0x20, size 0x4, type 0
  4085.     DWORD m_timeIntervalMin; // +0x24, size 0x4, type 0
  4086.     DWORD m_timeIntervalMax; // +0x28, size 0x4, type 0
  4087.     DWORD m_volumeSliderCategory; // +0x2C, size 0x4, type 0
  4088.     float m_duckToSFX; // +0x30, size 0x4, type 3
  4089.     float m_duckToMusic; // +0x34, size 0x4, type 3
  4090.     float m_duckToAmbience; // +0x38, size 0x4, type 3
  4091.     float m_innerRadiusOfInfluence; // +0x3C, size 0x4, type 3
  4092.     float m_outerRadiusOfInfluence; // +0x40, size 0x4, type 3
  4093.     DWORD m_timeToDuck; // +0x44, size 0x4, type 0
  4094.     DWORD m_timeToUnduck; // +0x48, size 0x4, type 0
  4095.     float m_insideAngle; // +0x4C, size 0x4, type 3
  4096.     float m_outsideAngle; // +0x50, size 0x4, type 3
  4097.     float m_outsideVolume; // +0x54, size 0x4, type 3
  4098.     float m_outerRadius2D; // +0x58, size 0x4, type 3
  4099.     DWORD m_minRandomPosOffset; // +0x5C, size 0x4, type 0
  4100.     DWORD m_maxRandomPosOffset; // +0x60, size 0x4, type 0
  4101.     float m_duckToDialog; // +0x64, size 0x4, type 3
  4102.     float m_duckToSuppressors; // +0x68, size 0x4, type 3
  4103.     DWORD m_msOffset; // +0x6C, size 0x4, type 0
  4104.     float m_volume[20]; // +0x70, size 0x50, type 3
  4105. };
  4106.  
  4107. // query: SELECT "ID", "SOUNDENTRIESID", "FALLBACKSOUNDENTRIESID" FROM "SOUNDENTRIESFALLBACKS" ORDER BY soundEntriesID, ID
  4108. struct SoundEntriesFallbacksRec // sizeof(0xC)
  4109. {
  4110.     DWORD m_ID; // +0x0, size 0x4, type 0
  4111.     DWORD m_soundEntriesID; // +0x4, size 0x4, type 0
  4112.     DWORD m_fallbackSoundEntriesID; // +0x8, size 0x4, type 0
  4113. };
  4114.  
  4115. // query: SELECT "ID", "SOUNDTYPE", "NAME", "FILEDATAID0", "FILEDATAID1", "FILEDATAID2", "FILEDATAID3", "FILEDATAID4", "FILEDATAID5", "FILEDATAID6", "FILEDATAID7", "FILEDATAID8", "FILEDATAID9", "FILEDATAID10", "FILEDATAID11", "FILEDATAID12", "FILEDATAID13", "FILEDATAID14", "FILEDATAID15", "FILEDATAID16", "FILEDATAID17", "FILEDATAID18", "FILEDATAID19", "FREQ0", "FREQ1", "FREQ2", "FREQ3", "FREQ4", "FREQ5", "FREQ6", "FREQ7", "FREQ8", "FREQ9", "FREQ10", "FREQ11", "FREQ12", "FREQ13", "FREQ14", "FREQ15", "FREQ16", "FREQ17", "FREQ18", "FREQ19", "VOLUMEFLOAT", "FLAGS", "MINDISTANCE", "DISTANCECUTOFF", "EAXDEF", "SOUNDENTRIESADVANCEDID", "VOLUMEVARIATIONPLUS", "VOLUMEVARIATIONMINUS", "PITCHVARIATIONPLUS", "PITCHVARIATIONMINUS", "PITCHADJUST", "DIALOGTYPE", "BUSOVERWRITEID" FROM "SOUNDENTRIES" ORDER BY id, ID
  4116. struct SoundEntriesRec // sizeof(0xE0)
  4117. {
  4118.     DWORD m_ID; // +0x0, size 0x4, type 0
  4119.     DWORD m_soundType; // +0x4, size 0x4, type 0
  4120.     char* m_name; // +0x8, size 0x4, type 2
  4121.     DWORD m_FileDataID[20]; // +0xC, size 0x50, type 0
  4122.     DWORD m_Freq[20]; // +0x5C, size 0x50, type 0
  4123.     float m_volumeFloat; // +0xAC, size 0x4, type 3
  4124.     DWORD m_flags; // +0xB0, size 0x4, type 0
  4125.     float m_minDistance; // +0xB4, size 0x4, type 3
  4126.     float m_distanceCutoff; // +0xB8, size 0x4, type 3
  4127.     DWORD m_EAXDef; // +0xBC, size 0x4, type 0
  4128.     DWORD m_soundEntriesAdvancedID; // +0xC0, size 0x4, type 0
  4129.     float m_volumevariationplus; // +0xC4, size 0x4, type 3
  4130.     float m_volumevariationminus; // +0xC8, size 0x4, type 3
  4131.     float m_pitchvariationplus; // +0xCC, size 0x4, type 3
  4132.     float m_pitchvariationminus; // +0xD0, size 0x4, type 3
  4133.     float m_pitchAdjust; // +0xD4, size 0x4, type 3
  4134.     DWORD m_dialogtype; // +0xD8, size 0x4, type 0
  4135.     DWORD m_busOverwriteID; // +0xDC, size 0x4, type 0
  4136. };
  4137.  
  4138. // query: SELECT "ID", "AVGSEGLEN", "WIDTH", "NOISESCALE", "TEXCOORDSCALE", "SEGDURATION", "SEGDELAY", "FLAGS", "JOINTCOUNT", "JOINTOFFSETRADIUS", "JOINTSPERMINORJOINT", "MINORJOINTSPERMAJORJOINT", "MINORJOINTSCALE", "MAJORJOINTSCALE", "JOINTMOVESPEED", "JOINTSMOOTHNESS", "MINDURATIONBETWEENJOINTJUMPS", "MAXDURATIONBETWEENJOINTJUMPS", "WAVEHEIGHT", "WAVEFREQ", "WAVESPEED", "MINWAVEANGLE", "MAXWAVEANGLE", "MINWAVESPIN", "MAXWAVESPIN", "ARCHEIGHT", "MINARCANGLE", "MAXARCANGLE", "MINARCSPIN", "MAXARCSPIN", "DELAYBETWEENEFFECTS", "MINFLICKERONDURATION", "MAXFLICKERONDURATION", "MINFLICKEROFFDURATION", "MAXFLICKEROFFDURATION", "PULSESPEED", "PULSEONLENGTH", "PULSEFADELENGTH", "ALPHA", "RED", "GREEN", "BLUE", "BLENDMODE", "RENDERLAYER", "TEXTURELENGTH", "WAVEPHASE", "SPELLCHAINEFFECTID0", "SPELLCHAINEFFECTID1", "SPELLCHAINEFFECTID2", "SPELLCHAINEFFECTID3", "SPELLCHAINEFFECTID4", "SPELLCHAINEFFECTID5", "SPELLCHAINEFFECTID6", "SPELLCHAINEFFECTID7", "SPELLCHAINEFFECTID8", "SPELLCHAINEFFECTID9", "SPELLCHAINEFFECTID10", "TEXTURE" FROM "SPELLCHAINEFFECTS" ORDER BY id, ID
  4139. struct SpellChainEffectsRec // sizeof(0xDC)
  4140. {
  4141.     DWORD m_ID; // +0x0, size 0x4, type 0
  4142.     float m_AvgSegLen; // +0x4, size 0x4, type 3
  4143.     float m_Width; // +0x8, size 0x4, type 3
  4144.     float m_NoiseScale; // +0xC, size 0x4, type 3
  4145.     float m_TexCoordScale; // +0x10, size 0x4, type 3
  4146.     DWORD m_SegDuration; // +0x14, size 0x4, type 0
  4147.     DWORD m_SegDelay; // +0x18, size 0x4, type 0
  4148.     DWORD m_Flags; // +0x1C, size 0x4, type 0
  4149.     DWORD m_JointCount; // +0x20, size 0x4, type 0
  4150.     float m_JointOffsetRadius; // +0x24, size 0x4, type 3
  4151.     DWORD m_JointsPerMinorJoint; // +0x28, size 0x4, type 0
  4152.     DWORD m_MinorJointsPerMajorJoint; // +0x2C, size 0x4, type 0
  4153.     float m_MinorJointScale; // +0x30, size 0x4, type 3
  4154.     float m_MajorJointScale; // +0x34, size 0x4, type 3
  4155.     float m_JointMoveSpeed; // +0x38, size 0x4, type 3
  4156.     float m_JointSmoothness; // +0x3C, size 0x4, type 3
  4157.     float m_MinDurationBetweenJointJumps; // +0x40, size 0x4, type 3
  4158.     float m_MaxDurationBetweenJointJumps; // +0x44, size 0x4, type 3
  4159.     float m_WaveHeight; // +0x48, size 0x4, type 3
  4160.     float m_WaveFreq; // +0x4C, size 0x4, type 3
  4161.     float m_WaveSpeed; // +0x50, size 0x4, type 3
  4162.     float m_MinWaveAngle; // +0x54, size 0x4, type 3
  4163.     float m_MaxWaveAngle; // +0x58, size 0x4, type 3
  4164.     float m_MinWaveSpin; // +0x5C, size 0x4, type 3
  4165.     float m_MaxWaveSpin; // +0x60, size 0x4, type 3
  4166.     float m_ArcHeight; // +0x64, size 0x4, type 3
  4167.     float m_MinArcAngle; // +0x68, size 0x4, type 3
  4168.     float m_MaxArcAngle; // +0x6C, size 0x4, type 3
  4169.     float m_MinArcSpin; // +0x70, size 0x4, type 3
  4170.     float m_MaxArcSpin; // +0x74, size 0x4, type 3
  4171.     float m_DelayBetweenEffects; // +0x78, size 0x4, type 3
  4172.     float m_MinFlickerOnDuration; // +0x7C, size 0x4, type 3
  4173.     float m_MaxFlickerOnDuration; // +0x80, size 0x4, type 3
  4174.     float m_MinFlickerOffDuration; // +0x84, size 0x4, type 3
  4175.     float m_MaxFlickerOffDuration; // +0x88, size 0x4, type 3
  4176.     float m_PulseSpeed; // +0x8C, size 0x4, type 3
  4177.     float m_PulseOnLength; // +0x90, size 0x4, type 3
  4178.     float m_PulseFadeLength; // +0x94, size 0x4, type 3
  4179.     BYTE m_Alpha; // +0x98, size 0x1, type 0
  4180.     BYTE m_Red; // +0x99, size 0x1, type 0
  4181.     BYTE m_Green; // +0x9A, size 0x1, type 0
  4182.     BYTE m_Blue; // +0x9B, size 0x1, type 0
  4183.     BYTE m_BlendMode; // +0x9C, size 0x1, type 0
  4184.     BYTE padding[3];
  4185.     DWORD m_RenderLayer; // +0xA0, size 0x4, type 0
  4186.     float m_TextureLength; // +0xA4, size 0x4, type 3
  4187.     float m_WavePhase; // +0xA8, size 0x4, type 3
  4188.     DWORD m_SpellChainEffectID[11]; // +0xAC, size 0x2C, type 0
  4189.     char* m_Texture; // +0xD8, size 0x4, type 2
  4190. };
  4191.  
  4192. // query: SELECT "ID", "NAME", "MESSAGE_LANG0" FROM "STARTUP_STRINGS" ORDER BY id, ID
  4193. struct Startup_StringsRec // sizeof(0xC)
  4194. {
  4195.     DWORD m_ID; // +0x0, size 0x4, type 0
  4196.     char* m_name; // +0x4, size 0x4, type 2
  4197.     char* m_message_lang; // +0x8, size 0x4, type 2
  4198. };
  4199.  
  4200. // query: SELECT "ID", "NAME", "SHADER", "ENVMAPPATH" FROM "TERRAINMATERIAL" ORDER BY  ID
  4201. struct TerrainMaterialRec // sizeof(0x10)
  4202. {
  4203.     DWORD m_ID; // +0x0, size 0x4, type 0
  4204.     char* m_name; // +0x4, size 0x4, type 2
  4205.     DWORD m_shader; // +0x8, size 0x4, type 0
  4206.     char* m_envMapPath; // +0xC, size 0x4, type 2
  4207. };
  4208.  
  4209. // query: SELECT "TERRAINID", "TERRAINDESC", "FOOTSTEPSPRAYRUN", "FOOTSTEPSPRAYWALK", "SOUNDID", "FLAGS" FROM "TERRAINTYPE" ORDER BY id, ID
  4210. struct TerrainTypeRec // sizeof(0x1C)
  4211. {
  4212.     DWORD m_ID; // +0x0, size 0x4, type 0
  4213.     DWORD m_TerrainID; // +0x4, size 0x4, type 0
  4214.     char* m_TerrainDesc; // +0x8, size 0x4, type 2
  4215.     DWORD m_FootstepSprayRun; // +0xC, size 0x4, type 0
  4216.     DWORD m_FootstepSprayWalk; // +0x10, size 0x4, type 0
  4217.     DWORD m_SoundID; // +0x14, size 0x4, type 0
  4218.     DWORD m_Flags; // +0x18, size 0x4, type 0
  4219. };
  4220.  
  4221. // query: SELECT "ID", "VENDORID", "DEVICEID", "FARCLIPIDX", "TERRAINLODDISTIDX", "TERRAINSHADOWLOD", "DETAILDOODADDENSITYIDX", "DETAILDOODADALPHA", "ANIMATINGDOODADIDX", "TRILINEAR", "NUMLIGHTS", "SPECULARITY", "WATERLODIDX", "PARTICLEDENSITYIDX", "UNITDRAWDISTIDX", "SMALLCULLDISTIDX", "RESOLUTIONIDX", "BASEMIPLEVEL", "OGLOVERRIDES", "D3DOVERRIDES", "FIXLAG", "MULTISAMPLE", "ATLASDISABLE" FROM "VIDEOHARDWARE" ORDER BY id, ID
  4222. struct VideoHardwareRec // sizeof(0x5C)
  4223. {
  4224.     DWORD m_ID; // +0x0, size 0x4, type 0
  4225.     DWORD m_vendorID; // +0x4, size 0x4, type 0
  4226.     DWORD m_deviceID; // +0x8, size 0x4, type 0
  4227.     DWORD m_farclipIdx; // +0xC, size 0x4, type 0
  4228.     DWORD m_terrainLODDistIdx; // +0x10, size 0x4, type 0
  4229.     DWORD m_terrainShadowLOD; // +0x14, size 0x4, type 0
  4230.     DWORD m_detailDoodadDensityIdx; // +0x18, size 0x4, type 0
  4231.     DWORD m_detailDoodadAlpha; // +0x1C, size 0x4, type 0
  4232.     DWORD m_animatingDoodadIdx; // +0x20, size 0x4, type 0
  4233.     DWORD m_trilinear; // +0x24, size 0x4, type 0
  4234.     DWORD m_numLights; // +0x28, size 0x4, type 0
  4235.     DWORD m_specularity; // +0x2C, size 0x4, type 0
  4236.     DWORD m_waterLODIdx; // +0x30, size 0x4, type 0
  4237.     DWORD m_particleDensityIdx; // +0x34, size 0x4, type 0
  4238.     DWORD m_unitDrawDistIdx; // +0x38, size 0x4, type 0
  4239.     DWORD m_smallCullDistIdx; // +0x3C, size 0x4, type 0
  4240.     DWORD m_resolutionIdx; // +0x40, size 0x4, type 0
  4241.     DWORD m_baseMipLevel; // +0x44, size 0x4, type 0
  4242.     char* m_oglOverrides; // +0x48, size 0x4, type 2
  4243.     char* m_d3dOverrides; // +0x4C, size 0x4, type 2
  4244.     DWORD m_fixLag; // +0x50, size 0x4, type 0
  4245.     DWORD m_multisample; // +0x54, size 0x4, type 0
  4246.     DWORD m_atlasdisable; // +0x58, size 0x4, type 0
  4247. };
  4248.  
  4249. // query: SELECT "ID", "AMBIENCEID", "TYPE", "EFFECTTYPE", "INTENSITY", "INTENSITY1", "TRANSITIONSKYBOX", "EFFECTCOLOR0", "EFFECTCOLOR1", "EFFECTCOLOR2", "EFFECTTEXTURE", "SOUNDAMBIENCEID", "WINDSETTINGSID" FROM "WEATHER" ORDER BY  ID
  4250. struct WeatherRec // sizeof(0x34)
  4251. {
  4252.     DWORD m_ID; // +0x0, size 0x4, type 0
  4253.     DWORD m_ambienceID; // +0x4, size 0x4, type 0
  4254.     DWORD m_type; // +0x8, size 0x4, type 0
  4255.     DWORD m_effectType; // +0xC, size 0x4, type 0
  4256.     float m_intensity[2]; // +0x10, size 0x8, type 3
  4257.     float m_transitionSkyBox; // +0x18, size 0x4, type 3
  4258.     float m_effectColor[3]; // +0x1C, size 0xC, type 3
  4259.     char* m_effectTexture; // +0x28, size 0x4, type 2
  4260.     DWORD m_soundAmbienceID; // +0x2C, size 0x4, type 0
  4261.     DWORD m_windSettingsID; // +0x30, size 0x4, type 0
  4262. };
  4263.  
  4264. // query: SELECT "ID", "WMOID", "NAMESETID", "WMOGROUPID", "SOUNDPROVIDERPREF", "SOUNDPROVIDERPREFUNDERWATER", "AMBIENCEID", "ZONEMUSIC", "INTROSOUND", "FLAGS", "AREATABLEID", "AREANAME_LANG0", "UWINTROSOUND", "UWZONEMUSIC", "UWAMBIENCE" FROM "WMOAREATABLE" WHERE deleted = 0 ORDER BY WMOID, NameSetID, WMOGroupID, ID
  4265. struct WMOAreaTableRec // sizeof(0x3C)
  4266. {
  4267.     DWORD m_ID; // +0x0, size 0x4, type 0
  4268.     DWORD m_WMOID; // +0x4, size 0x4, type 0
  4269.     DWORD m_NameSetID; // +0x8, size 0x4, type 0
  4270.     DWORD m_WMOGroupID; // +0xC, size 0x4, type 0
  4271.     DWORD m_SoundProviderPref; // +0x10, size 0x4, type 0
  4272.     DWORD m_SoundProviderPrefUnderwater; // +0x14, size 0x4, type 0
  4273.     DWORD m_AmbienceID; // +0x18, size 0x4, type 0
  4274.     DWORD m_ZoneMusic; // +0x1C, size 0x4, type 0
  4275.     DWORD m_IntroSound; // +0x20, size 0x4, type 0
  4276.     DWORD m_flags; // +0x24, size 0x4, type 0
  4277.     DWORD m_AreaTableID; // +0x28, size 0x4, type 0
  4278.     char* m_AreaName_lang; // +0x2C, size 0x4, type 2
  4279.     DWORD m_uwIntroSound; // +0x30, size 0x4, type 0
  4280.     DWORD m_uwZoneMusic; // +0x34, size 0x4, type 0
  4281.     DWORD m_uwAmbience; // +0x38, size 0x4, type 0
  4282. };
  4283.  
  4284. // query: SELECT "ID", "ZONELIGHTID", "X", "Y", "POINTORDER" FROM "ZONELIGHTPOINT" ORDER BY zoneLightID, pointOrder, ID
  4285. struct ZoneLightPointRec // sizeof(0x14)
  4286. {
  4287.     DWORD m_ID; // +0x0, size 0x4, type 0
  4288.     DWORD m_zoneLightID; // +0x4, size 0x4, type 0
  4289.     float m_pos[2]; // +0x8, size 0x8, type 3
  4290.     DWORD m_pointOrder; // +0x10, size 0x4, type 0
  4291. };
  4292.  
  4293. // query: SELECT "ID", "NAME", "MAPID", "LIGHTID" FROM "ZONELIGHT" ORDER BY id, ID
  4294. struct ZoneLightRec // sizeof(0x10)
  4295. {
  4296.     DWORD m_ID; // +0x0, size 0x4, type 0
  4297.     char* m_name; // +0x4, size 0x4, type 2
  4298.     DWORD m_mapID; // +0x8, size 0x4, type 0
  4299.     DWORD m_lightID; // +0xC, size 0x4, type 0
  4300. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement