1. diff -r c605ea76b498 QSW/DBC/DBCStructure.h
  2. --- a/QSW/DBC/DBCStructure.h Sat Apr 06 13:11:01 2013 +0300
  3. +++ b/QSW/DBC/DBCStructure.h Sat Apr 06 13:40:35 2013 +0300
  4. @@ -241,8 +241,8 @@
  5. quint32 AttributesEx6; // 7 m_attributesExF
  6. quint32 AttributesEx7; // 8 3.2.0 (0x20 - totems, 0x4 - paladin auras, etc...)
  7. quint32 AttributesEx8; // 9 m_attributesExH
  8. - // quint32 unk_400_1; // 10 4.0.0
  9. - // quint32 unk_420; // 11 - 4.2.0
  10. + quint32 AttributesEx9; // 10 m_attributesExI
  11. + quint32 AttributesEx10; // 11 m_attributesExJ
  12. quint32 CastingTimeIndex; // 12 - m_castingTimeIndex
  13. quint32 DurationIndex; // 13 - m_durationIndex
  14. quint32 PowerType; // 14 - m_powerType
  15. diff -r c605ea76b498 QSW/DBC/DBCfmt.h
  16. --- a/QSW/DBC/DBCfmt.h Sat Apr 06 13:11:01 2013 +0300
  17. +++ b/QSW/DBC/DBCfmt.h Sat Apr 06 13:40:35 2013 +0300
  18. @@ -5,7 +5,7 @@
  19. const char* SkillLineAbilityfmt = "niiiiiiiiiiiii";
  20. const char* SpellCastTimefmt = "nifi";
  21. const char* SpellDurationfmt = "niii";
  22. -const char* SpellEntryfmt = "niiiiiiiiixxiiiifiiiissssiiiiixiiiiiiixiiiiiiiix";
  23. +const char* SpellEntryfmt = "niiiiiiiiiiiiiiifiiiissssiiiiixiiiiiiixiiiiiiiix";
  24. const char* SpellRadiusfmt = "nfxf";
  25. const char* SpellRangefmt = "nffffiss";
  26. const char* SpellIconfmt = "ns";
  27. diff -r c605ea76b498 QSW/Enums.xml
  28. --- a/QSW/Enums.xml Sat Apr 06 13:11:01 2013 +0300
  29. +++ b/QSW/Enums.xml Sat Apr 06 13:40:35 2013 +0300
  30. @@ -227,8 +227,8 @@
  31. <value value="SPELL_ATTR_LEVEL_DAMAGE_CALCULATION" key="0x00080000" />
  32. <value value="SPELL_ATTR_STOP_ATTACK_TARGET" key="0x00100000" />
  33. <value value="SPELL_ATTR_IMPOSSIBLE_DODGE_PARRY_BLOCK" key="0x00200000" />
  34. - <value value="SPELL_ATTR_UNK22" key="0x00400000" />
  35. - <value value="SPELL_ATTR_UNK23" key="0x00800000" />
  36. + <value value="SPELL_ATTR_SET_TRACKING_TARGET" key="0x00400000" />
  37. + <value value="SPELL_ATTR_CASTABLE_WHILE_DEAD" key="0x00800000" />
  38. <value value="SPELL_ATTR_CASTABLE_WHILE_MOUNTED" key="0x01000000" />
  39. <value value="SPELL_ATTR_DISABLED_WHILE_ACTIVE" key="0x02000000" />
  40. <value value="SPELL_ATTR_UNK26" key="0x04000000" />
  41. @@ -249,16 +249,16 @@
  42. <value value="SPELL_ATTR_EX_NEGATIVE" key="0x00000080" />
  43. <value value="SPELL_ATTR_EX_NOT_IN_COMBAT_TARGET" key="0x00000100" />
  44. <value value="SPELL_ATTR_EX_UNK9" key="0x00000200" />
  45. - <value value="SPELL_ATTR_EX_NO_INITIAL_AGGRO" key="0x00000400" />
  46. + <value value="SPELL_ATTR_EX_NO_THREAT" key="0x00000400" />
  47. <value value="SPELL_ATTR_EX_UNK11" key="0x00000800" />
  48. <value value="SPELL_ATTR_EX_UNK12" key="0x00001000" />
  49. - <value value="SPELL_ATTR_EX_UNK13" key="0x00002000" />
  50. - <value value="SPELL_ATTR_EX_UNK14" key="0x00004000" />
  51. + <value value="SPELL_ATTR_EX_FARSIGHT" key="0x00002000" />
  52. + <value value="SPELL_ATTR_EX_CHANNEL_TRACKING_TARGET" key="0x00004000" />
  53. <value value="SPELL_ATTR_EX_DISPEL_AURAS_ON_IMMUNITY" key="0x00008000" />
  54. <value value="SPELL_ATTR_EX_UNAFFECTED_BY_SCHOOL_IMMUNE" key="0x00010000" />
  55. <value value="SPELL_ATTR_EX_UNK17" key="0x00020000" />
  56. <value value="SPELL_ATTR_EX_UNK18" key="0x00040000" />
  57. - <value value="SPELL_ATTR_EX_UNK19" key="0x00080000" />
  58. + <value value="SPELL_ATTR_EX_CANT_TARGET_SELF" key="0x00080000" />
  59. <value value="SPELL_ATTR_EX_REQ_TARGET_COMBO_POINTS" key="0x00100000" />
  60. <value value="SPELL_ATTR_EX_UNK21" key="0x00200000" />
  61. <value value="SPELL_ATTR_EX_REQ_COMBO_POINTS" key="0x00400000" />
  62. @@ -273,7 +273,7 @@
  63. <value value="SPELL_ATTR_EX_UNK31" key="0x80000000" />
  64. </AttributesEx1>
  65. <AttributesEx2>
  66. - <value value="SPELL_ATTR_EX2_UNK0" key="0x00000001" />
  67. + <value value="SPELL_ATTR2_ALLOW_DEAD_TARGET" key="0x00000001" />
  68. <value value="SPELL_ATTR_EX2_UNK1" key="0x00000002" />
  69. <value value="SPELL_ATTR_EX2_CANT_REFLECTED" key="0x00000004" />
  70. <value value="SPELL_ATTR_EX2_UNK3" key="0x00000008" />
  71. @@ -290,7 +290,7 @@
  72. <value value="SPELL_ATTR_EX2_UNK14" key="0x00004000" />
  73. <value value="SPELL_ATTR_EX2_UNK15" key="0x00008000" />
  74. <value value="SPELL_ATTR_EX2_UNK16" key="0x00010000" />
  75. - <value value="SPELL_ATTR_EX2_UNK17" key="0x00020000" />
  76. + <value value="SPELL_ATTR_EX2_NOT_RESET_AUTOSHOT" key="0x00020000" />
  77. <value value="SPELL_ATTR_EX2_UNK18" key="0x00040000" />
  78. <value value="SPELL_ATTR_EX2_NOT_NEED_SHAPESHIFT" key="0x00080000" />
  79. <value value="SPELL_ATTR_EX2_UNK20" key="0x00100000" />
  80. @@ -303,7 +303,7 @@
  81. <value value="SPELL_ATTR_EX2_UNK27" key="0x08000000" />
  82. <value value="SPELL_ATTR_EX2_UNK28" key="0x10000000" />
  83. <value value="SPELL_ATTR_EX2_CANT_CRIT" key="0x20000000" />
  84. - <value value="SPELL_ATTR_EX2_UNK30" key="0x40000000" />
  85. + <value value="SPELL_ATTR_EX2_TRIGGERED_CAN_TRIGGER_PROC" key="0x40000000" />
  86. <value value="SPELL_ATTR_EX2_FOOD_BUFF" key="0x80000000" />
  87. </AttributesEx2>
  88. <AttributesEx3>
  89. @@ -311,21 +311,21 @@
  90. <value value="SPELL_ATTR_EX3_UNK1" key="0x00000002" />
  91. <value value="SPELL_ATTR_EX3_UNK2" key="0x00000004" />
  92. <value value="SPELL_ATTR_EX3_UNK3" key="0x00000008" />
  93. - <value value="SPELL_ATTR_EX3_UNK4" key="0x00000010" />
  94. + <value value="SPELL_ATTR_EX3_IGNORE_RESURRECTION_TIMER" key="0x00000010" />
  95. <value value="SPELL_ATTR_EX3_UNK5" key="0x00000020" />
  96. <value value="SPELL_ATTR_EX3_UNK6" key="0x00000040" />
  97. - <value value="SPELL_ATTR_EX3_UNK7" key="0x00000080" />
  98. + <value value="SPELL_ATTR_EX3_STACK_FOR_DIFF_CASTERS" key="0x00000080" />
  99. <value value="SPELL_ATTR_EX3_UNK8" key="0x00000100" />
  100. - <value value="SPELL_ATTR_EX3_UNK9" key="0x00000200" />
  101. + <value value="SPELL_ATTR_EX3_TRIGGERED_CAN_TRIGGER_PROC_2" key="0x00000200" />
  102. <value value="SPELL_ATTR_EX3_MAIN_HAND" key="0x00000400" />
  103. <value value="SPELL_ATTR_EX3_BATTLEGROUND" key="0x00000800" />
  104. <value value="SPELL_ATTR_EX3_CAST_ON_DEAD" key="0x00001000" />
  105. <value value="SPELL_ATTR_EX3_UNK13" key="0x00002000" />
  106. <value value="SPELL_ATTR_EX3_UNK14" key="0x00004000" />
  107. <value value="SPELL_ATTR_EX3_UNK15" key="0x00008000" />
  108. - <value value="SPELL_ATTR_EX3_UNK16" key="0x00010000" />
  109. - <value value="SPELL_ATTR_EX3_UNK17" key="0x00020000" />
  110. - <value value="SPELL_ATTR_EX3_UNK18" key="0x00040000" />
  111. + <value value="SPELL_ATTR_EX3_CANT_TRIGGER_PROC" key="0x00010000" />
  112. + <value value="SPELL_ATTR_EX3_NO_INITIAL_AGGRO" key="0x00020000" />
  113. + <value value="SPELL_ATTR_EX3_CANT_MISS" key="0x00040000" />
  114. <value value="SPELL_ATTR_EX3_UNK19" key="0x00080000" />
  115. <value value="SPELL_ATTR_EX3_DEATH_PERSISTENT" key="0x00100000" />
  116. <value value="SPELL_ATTR_EX3_UNK21" key="0x00200000" />
  117. @@ -333,7 +333,7 @@
  118. <value value="SPELL_ATTR_EX3_UNK23" key="0x00800000" />
  119. <value value="SPELL_ATTR_EX3_REQ_OFFHAND" key="0x01000000" />
  120. <value value="SPELL_ATTR_EX3_UNK25" key="0x02000000" />
  121. - <value value="SPELL_ATTR_EX3_UNK26" key="0x04000000" />
  122. + <value value="SPELL_ATTR_EX3_CAN_PROC_WITH_TRIGGERED" key="0x04000000" />
  123. <value value="SPELL_ATTR_EX3_UNK27" key="0x08000000" />
  124. <value value="SPELL_ATTR_EX3_UNK28" key="0x10000000" />
  125. <value value="SPELL_ATTR_EX3_UNK29" key="0x20000000" />
  126. @@ -345,11 +345,11 @@
  127. <value value="SPELL_ATTR_EX4_UNK1" key="0x00000002" />
  128. <value value="SPELL_ATTR_EX4_UNK2" key="0x00000004" />
  129. <value value="SPELL_ATTR_EX4_UNK3" key="0x00000008" />
  130. - <value value="SPELL_ATTR_EX4_UNK4" key="0x00000010" />
  131. + <value value="SPELL_ATTR_EX4_TRIGGERED" key="0x00000010" />
  132. <value value="SPELL_ATTR_EX4_UNK5" key="0x00000020" />
  133. <value value="SPELL_ATTR_EX4_NOT_STEALABLE" key="0x00000040" />
  134. <value value="SPELL_ATTR_EX4_UNK7" key="0x00000080" />
  135. - <value value="SPELL_ATTR_EX4_UNK8" key="0x00000100" />
  136. + <value value="SPELL_ATTR_EX4_FIXED_DAMAGE" key="0x00000100" />
  137. <value value="SPELL_ATTR_EX4_UNK9" key="0x00000200" />
  138. <value value="SPELL_ATTR_EX4_SPELL_VS_EXTEND_COST" key="0x00000400" />
  139. <value value="SPELL_ATTR_EX4_UNK11" key="0x00000800" />
  140. @@ -357,7 +357,7 @@
  141. <value value="SPELL_ATTR_EX4_UNK13" key="0x00002000" />
  142. <value value="SPELL_ATTR_EX4_UNK14" key="0x00004000" />
  143. <value value="SPELL_ATTR_EX4_UNK15" key="0x00008000" />
  144. - <value value="SPELL_ATTR_EX4_NOT_USABLE_IN_ARENA" key="0x00010000" />
  145. + <value value="SPELL_ATTR_EX4_NOT_USABLE_IN_ARENA_OR_RATED_BG" key="0x00010000" />
  146. <value value="SPELL_ATTR_EX4_USABLE_IN_ARENA" key="0x00020000" />
  147. <value value="SPELL_ATTR_EX4_UNK18" key="0x00040000" />
  148. <value value="SPELL_ATTR_EX4_UNK19" key="0x00080000" />
  149. @@ -366,7 +366,7 @@
  150. <value value="SPELL_ATTR_EX4_UNK22" key="0x00400000" />
  151. <value value="SPELL_ATTR_EX4_UNK23" key="0x00800000" />
  152. <value value="SPELL_ATTR_EX4_UNK24" key="0x01000000" />
  153. - <value value="SPELL_ATTR_EX4_UNK25" key="0x02000000" />
  154. + <value value="SPELL_ATTR_EX4_PET_SCALING_AURA" key="0x02000000" />
  155. <value value="SPELL_ATTR_EX4_CAST_ONLY_IN_OUTLAND" key="0x04000000" />
  156. <value value="SPELL_ATTR_EX4_UNK27" key="0x08000000" />
  157. <value value="SPELL_ATTR_EX4_UNK28" key="0x10000000" />
  158. @@ -385,10 +385,10 @@
  159. <value value="SPELL_ATTR_EX5_UNK7" key="0x00000080" />
  160. <value value="SPELL_ATTR_EX5_UNK8" key="0x00000100" />
  161. <value value="SPELL_ATTR_EX5_START_PERIODIC_AT_APPLY" key="0x00000200" />
  162. - <value value="SPELL_ATTR_EX5_UNK10" key="0x00000400" />
  163. + <value value="SPELL_ATTR_EX5_HIDE_DURATION" key="0x00000400" />
  164. <value value="SPELL_ATTR_EX5_UNK11" key="0x00000800" />
  165. <value value="SPELL_ATTR_EX5_UNK12" key="0x00001000" />
  166. - <value value="SPELL_ATTR_EX5_UNK13" key="0x00002000" />
  167. + <value value="SPELL_ATTR_EX5_AFFECTED_BY_HASTE" key="0x00002000" />
  168. <value value="SPELL_ATTR_EX5_UNK14" key="0x00004000" />
  169. <value value="SPELL_ATTR_EX5_UNK15" key="0x00008000" />
  170. <value value="SPELL_ATTR_EX5_UNK16" key="0x00010000" />
  171. @@ -415,13 +415,13 @@
  172. <value value="SPELL_ATTR_EX6_UNK3" key="0x00000008" />
  173. <value value="SPELL_ATTR_EX6_UNK4" key="0x00000010" />
  174. <value value="SPELL_ATTR_EX6_UNK5" key="0x00000020" />
  175. - <value value="SPELL_ATTR_EX6_UNK6" key="0x00000040" />
  176. + <value value="SPELL_ATTR_EX6_REMOVED_AT_SPEC_SWITCH" key="0x00000040" />
  177. <value value="SPELL_ATTR_EX6_UNK7" key="0x00000080" />
  178. - <value value="SPELL_ATTR_EX6_UNK8" key="0x00000100" />
  179. + <value value="SPELL_ATTR_EX6_IGNORE_CCED_TARGETS" key="0x00000100" />
  180. <value value="SPELL_ATTR_EX6_UNK9" key="0x00000200" />
  181. <value value="SPELL_ATTR_EX6_UNK10" key="0x00000400" />
  182. <value value="SPELL_ATTR_EX6_NOT_IN_RAID_INSTANCE" key="0x00000800" />
  183. - <value value="SPELL_ATTR_EX6_UNK12" key="0x00001000" />
  184. + <value value="SPELL_ATTR_EX6_CASTABLE_ON_VEHICLE" key="0x00001000" />
  185. <value value="SPELL_ATTR_EX6_UNK13" key="0x00002000" />
  186. <value value="SPELL_ATTR_EX6_UNK14" key="0x00004000" />
  187. <value value="SPELL_ATTR_EX6_UNK15" key="0x00008000" />
  188. @@ -489,27 +489,95 @@
  189. <value value="SPELL_ATTR_EX8_UNK9" key="0x00000200" />
  190. <value value="SPELL_ATTR_EX8_UNK10" key="0x00000400" />
  191. <value value="SPELL_ATTR_EX8_UNK11" key="0x00000800" />
  192. - <value value="SPELL_ATTR_EX8_UNK12" key="0x00001000" />
  193. + <value value="SPELL_ATTR_EX8_AURA_SENDS_AMOUNT" key="0x00001000" />
  194. <value value="SPELL_ATTR_EX8_UNK13" key="0x00002000" />
  195. <value value="SPELL_ATTR_EX8_UNK14" key="0x00004000" />
  196. <value value="SPELL_ATTR_EX8_UNK15" key="0x00008000" />
  197. <value value="SPELL_ATTR_EX8_UNK16" key="0x00010000" />
  198. <value value="SPELL_ATTR_EX8_UNK17" key="0x00020000" />
  199. <value value="SPELL_ATTR_EX8_UNK18" key="0x00040000" />
  200. - <value value="SPELL_ATTR_EX8_UNK19" key="0x00080000" />
  201. - <value value="SPELL_ATTR_EX8_UNK20" key="0x00100000" />
  202. + <value value="SPELL_ATTR_EX8_IGNORE_TARGET_FOR_COMBO_POINTS" key="0x00080000" />
  203. + <value value="SPELL_ATTR_EX8_ARMOR_SPECIALIZATION" key="0x00100000" />
  204. <value value="SPELL_ATTR_EX8_UNK21" key="0x00200000" />
  205. <value value="SPELL_ATTR_EX8_UNK22" key="0x00400000" />
  206. <value value="SPELL_ATTR_EX8_UNK23" key="0x00800000" />
  207. <value value="SPELL_ATTR_EX8_UNK24" key="0x01000000" />
  208. <value value="SPELL_ATTR_EX8_UNK25" key="0x02000000" />
  209. - <value value="SPELL_ATTR_EX8_UNK26" key="0x04000000" />
  210. + <value value="SPELL_ATTR_EX8_RAID_MARKER" key="0x04000000" />
  211. <value value="SPELL_ATTR_EX8_UNK27" key="0x08000000" />
  212. - <value value="SPELL_ATTR_EX8_UNK28" key="0x10000000" />
  213. - <value value="SPELL_ATTR_EX8_UNK29" key="0x20000000" />
  214. + <value value="SPELL_ATTR_EX8_GUILD_PERKS" key="0x10000000" />
  215. + <value value="SPELL_ATTR_EX8_MASTERY" key="0x20000000" />
  216. <value value="SPELL_ATTR_EX8_UNK30" key="0x40000000" />
  217. <value value="SPELL_ATTR_EX8_UNK31" key="0x80000000" />
  218. </AttributesEx8>
  219. + <AttributesEx9>
  220. + <value value="SPELL_ATTR_EX9_UNK0" key="0x00000001" />
  221. + <value value="SPELL_ATTR_EX9_UNK1" key="0x00000002" />
  222. + <value value="SPELL_ATTR_EX9_UNK2" key="0x00000004" />
  223. + <value value="SPELL_ATTR_EX9_UNK3" key="0x00000008" />
  224. + <value value="SPELL_ATTR_EX9_UNK4" key="0x00000010" />
  225. + <value value="SPELL_ATTR_EX9_UNK5" key="0x00000020" />
  226. + <value value="SPELL_ATTR_EX9_UNK6" key="0x00000040" />
  227. + <value value="SPELL_ATTR_EX9_UNK7" key="0x00000080" />
  228. + <value value="SPELL_ATTR_EX9_UNK8" key="0x00000100" />
  229. + <value value="SPELL_ATTR_EX9_NOT_USABLE_IN_ARENA" key="0x00000200" />
  230. + <value value="SPELL_ATTR_EX9_UNK10" key="0x00000400" />
  231. + <value value="SPELL_ATTR_EX9_UNK11" key="0x00000800" />
  232. + <value value="SPELL_ATTR_EX9_UNK12" key="0x00001000" />
  233. + <value value="SPELL_ATTR_EX9_UNK13" key="0x00002000" />
  234. + <value value="SPELL_ATTR_EX9_USABLE_IN_RATED_BG" key="0x00004000" />
  235. + <value value="SPELL_ATTR_EX9_UNK15" key="0x00008000" />
  236. + <value value="SPELL_ATTR_EX9_UNK16" key="0x00010000" />
  237. + <value value="SPELL_ATTR_EX9_UNK17" key="0x00020000" />
  238. + <value value="SPELL_ATTR_EX9_UNK18" key="0x00040000" />
  239. + <value value="SPELL_ATTR_EX9_UNK19" key="0x00080000" />
  240. + <value value="SPELL_ATTR_EX9_UNK20" key="0x00100000" />
  241. + <value value="SPELL_ATTR_EX9_UNK21" key="0x00200000" />
  242. + <value value="SPELL_ATTR_EX9_UNK22" key="0x00400000" />
  243. + <value value="SPELL_ATTR_EX9_UNK23" key="0x00800000" />
  244. + <value value="SPELL_ATTR_EX9_UNK24" key="0x01000000" />
  245. + <value value="SPELL_ATTR_EX9_UNK25" key="0x02000000" />
  246. + <value value="SPELL_ATTR_EX9_UNK26" key="0x04000000" />
  247. + <value value="SPELL_ATTR_EX9_UNK27" key="0x08000000" />
  248. + <value value="SPELL_ATTR_EX9_UNK28" key="0x10000000" />
  249. + <value value="SPELL_ATTR_EX9_UNK29" key="0x20000000" />
  250. + <value value="SPELL_ATTR_EX9_UNK30" key="0x40000000" />
  251. + <value value="SPELL_ATTR_EX9_UNK31" key="0x80000000" />
  252. + </AttributesEx9>
  253. + <AttributesEx10>
  254. + <value value="SPELL_ATTR_EX10_UNK0" key="0x00000001" />
  255. + <value value="SPELL_ATTR_EX10_UNK1" key="0x00000002" />
  256. + <value value="SPELL_ATTR_EX10_UNK2" key="0x00000004" />
  257. + <value value="SPELL_ATTR_EX10_UNK3" key="0x00000008" />
  258. + <value value="SPELL_ATTR_EX10_UNK4" key="0x00000010" />
  259. + <value value="SPELL_ATTR_EX10_UNK5" key="0x00000020" />
  260. + <value value="SPELL_ATTR_EX10_UNK6" key="0x00000040" />
  261. + <value value="SPELL_ATTR_EX10_UNK7" key="0x00000080" />
  262. + <value value="SPELL_ATTR_EX10_UNK8" key="0x00000100" />
  263. + <value value="SPELL_ATTR_EX10_UNK9" key="0x00000200" />
  264. + <value value="SPELL_ATTR_EX10_UNK10" key="0x00000400" />
  265. + <value value="SPELL_ATTR_EX10_UNK11" key="0x00000800" />
  266. + <value value="SPELL_ATTR_EX10_UNK12" key="0x00001000" />
  267. + <value value="SPELL_ATTR_EX10_UNK13" key="0x00002000" />
  268. + <value value="SPELL_ATTR_EX10_UNK14" key="0x00004000" />
  269. + <value value="SPELL_ATTR_EX10_UNK15" key="0x00008000" />
  270. + <value value="SPELL_ATTR_EX10_UNK16" key="0x00010000" />
  271. + <value value="SPELL_ATTR_EX10_UNK17" key="0x00020000" />
  272. + <value value="SPELL_ATTR_EX10_UNK18" key="0x00040000" />
  273. + <value value="SPELL_ATTR_EX10_UNK19" key="0x00080000" />
  274. + <value value="SPELL_ATTR_EX10_UNK20" key="0x00100000" />
  275. + <value value="SPELL_ATTR_EX10_UNK21" key="0x00200000" />
  276. + <value value="SPELL_ATTR_EX10_UNK22" key="0x00400000" />
  277. + <value value="SPELL_ATTR_EX10_UNK23" key="0x00800000" />
  278. + <value value="SPELL_ATTR_EX10_UNK24" key="0x01000000" />
  279. + <value value="SPELL_ATTR_EX10_UNK25" key="0x02000000" />
  280. + <value value="SPELL_ATTR_EX10_UNK26" key="0x04000000" />
  281. + <value value="SPELL_ATTR_EX10_UNK27" key="0x08000000" />
  282. + <value value="SPELL_ATTR_EX10_UNK28" key="0x10000000" />
  283. + <value value="SPELL_ATTR_EX10_UNK29" key="0x20000000" />
  284. + <value value="SPELL_ATTR_EX10_UNK30" key="0x40000000" />
  285. + <value value="SPELL_ATTR_EX10_UNK31" key="0x80000000" />
  286. + </AttributesEx10>
  287. <Target>
  288. <value value="NO_TARGET" key="0" />
  289. <value value="TARGET_SELF" key="1" />
  290. diff -r c605ea76b498 QSW/SWDefines.h
  291. --- a/QSW/SWDefines.h Sat Apr 06 13:11:01 2013 +0300
  292. +++ b/QSW/SWDefines.h Sat Apr 06 13:40:35 2013 +0300
  293. @@ -30,6 +30,8 @@
  294. TYPE_ATTR_EX6,
  295. TYPE_ATTR_EX7,
  296. TYPE_ATTR_EX8,
  297. + TYPE_ATTR_EX9,
  298. + TYPE_ATTR_EX10,
  299. TYPE_TARGETS,
  300. TYPE_CREATURE,
  301. TYPE_FORMS,
  302. diff -r c605ea76b498 QSW/SWEnums.h
  303. --- a/QSW/SWEnums.h Sat Apr 06 13:11:01 2013 +0300
  304. +++ b/QSW/SWEnums.h Sat Apr 06 13:40:35 2013 +0300
  305. @@ -35,6 +35,8 @@
  306. Enumerator getAttributesEx6() const { return m_enums["AttributesEx6"]; }
  307. Enumerator getAttributesEx7() const { return m_enums["AttributesEx7"]; }
  308. Enumerator getAttributesEx8() const { return m_enums["AttributesEx8"]; }
  309. + Enumerator getAttributesEx9() const { return m_enums["AttributesEx9"]; }
  310. + Enumerator getAttributesEx10() const { return m_enums["AttributesEx10"]; }
  311. Enumerator getTargets() const { return m_enums["Target"]; }
  312. Enumerator getInventoryTypes() const { return m_enums["InventoryType"]; }
  313. Enumerator getItemSubClassMiscs() const { return m_enums["ItemSubClassMisc"]; }
  314. diff -r c605ea76b498 QSW/SWObject.cpp
  315. --- a/QSW/SWObject.cpp Sat Apr 06 13:11:01 2013 +0300
  316. +++ b/QSW/SWObject.cpp Sat Apr 06 13:40:35 2013 +0300
  317. @@ -648,6 +648,8 @@
  318. QString sAttributesEx6(QString("%0").arg(spellInfo->AttributesEx6, 8, 16, QChar('0')));
  319. QString sAttributesEx7(QString("%0").arg(spellInfo->AttributesEx7, 8, 16, QChar('0')));
  320. QString sAttributesEx8(QString("%0").arg(spellInfo->AttributesEx8, 8, 16, QChar('0')));
  321. + QString sAttributesEx9(QString("%0").arg(spellInfo->AttributesEx9, 8, 16, QChar('0')));
  322. + QString sAttributesEx10(QString("%0").arg(spellInfo->AttributesEx10, 8, 16, QChar('0')));
  323. QString sTargetMask(QString("%0").arg(spellInfo->getTargets(), 8, 16, QChar('0')));
  324. QString sCreatureTypeMask(QString("%0").arg(spellInfo->getTargetCreatureType(), 8, 16, QChar('0')));
  325. QString sFormMask(QString("%0").arg(spellInfo->getStances(0), 8, 16, QChar('0')));
  326. @@ -750,7 +752,8 @@
  327. if (spellInfo->Attributes || spellInfo->AttributesEx1 || spellInfo->AttributesEx2 ||
  328. spellInfo->AttributesEx3 || spellInfo->AttributesEx4 || spellInfo->AttributesEx5 ||
  329. - spellInfo->AttributesEx6 || spellInfo->AttributesEx7 || spellInfo->AttributesEx8)
  330. + spellInfo->AttributesEx6 || spellInfo->AttributesEx7 || spellInfo->AttributesEx8 ||
  331. + spellInfo->AttributesEx9 || spellInfo->AttributesEx10)
  332. {
  333. html.append("<div class='b-box-title'>Attributes</div>"
  334. "<div class='b-box-body'>"
  335. @@ -802,6 +805,16 @@
  336. .arg(sAttributesEx8.toUpper())
  337. .arg(containAttributes(spellInfo, TYPE_ATTR_EX8)));
  338. + if (spellInfo->AttributesEx9)
  339. + html.append(QString("<li>AttributesEx9: 0x%0 (%1)</li>")
  340. + .arg(sAttributesEx9.toUpper())
  341. + .arg(containAttributes(spellInfo, TYPE_ATTR_EX9)));
  342. +
  343. + if (spellInfo->AttributesEx10)
  344. + html.append(QString("<li>AttributesEx10: 0x%0 (%1)</li>")
  345. + .arg(sAttributesEx10.toUpper())
  346. + .arg(containAttributes(spellInfo, TYPE_ATTR_EX10)));
  347. +
  348. html.append("</ul>"
  349. "</div>"
  350. "</div>");
  351. @@ -1520,6 +1533,40 @@
  352. return str;
  353. }
  354. break;
  355. + case TYPE_ATTR_EX9:
  356. + {
  357. + EnumIterator itr(m_form->getEnums()->getAttributesEx9());
  358. + while (itr.hasNext())
  359. + {
  360. + itr.next();
  361. + if (spellInfo->AttributesEx9 & itr.key())
  362. + {
  363. + QString tstr(QString("%0, ").arg(itr.value()));
  364. + str += tstr;
  365. + }
  366. + }
  367. + if (!str.isEmpty())
  368. + str.chop(2);
  369. + return str;
  370. + }
  371. + break;
  372. + case TYPE_ATTR_EX10:
  373. + {
  374. + EnumIterator itr(m_form->getEnums()->getAttributesEx10());
  375. + while (itr.hasNext())
  376. + {
  377. + itr.next();
  378. + if (spellInfo->AttributesEx10 & itr.key())
  379. + {
  380. + QString tstr(QString("%0, ").arg(itr.value()));
  381. + str += tstr;
  382. + }
  383. + }
  384. + if (!str.isEmpty())
  385. + str.chop(2);
  386. + return str;
  387. + }
  388. + break;
  389. case TYPE_TARGETS:
  390. {
  391. EnumIterator itr(m_form->getEnums()->getTargetFlags());
  392. diff -r c605ea76b498 QSW/SWSearch.h
  393. --- a/QSW/SWSearch.h Sat Apr 06 13:11:01 2013 +0300
  394. +++ b/QSW/SWSearch.h Sat Apr 06 13:40:35 2013 +0300
  395. @@ -43,6 +43,8 @@
  396. Q_INVOKABLE QVariant AttributesEx6() { return m_spellInfo->AttributesEx6; }
  397. Q_INVOKABLE QVariant AttributesEx7() { return m_spellInfo->AttributesEx7; }
  398. Q_INVOKABLE QVariant AttributesEx8() { return m_spellInfo->AttributesEx8; }
  399. + Q_INVOKABLE QVariant AttributesEx9() { return m_spellInfo->AttributesEx9; }
  400. + Q_INVOKABLE QVariant AttributesEx10() { return m_spellInfo->AttributesEx10; }
  401. Q_INVOKABLE QVariant Stances(quint8 index) { return m_spellInfo->getStances(index); }
  402. Q_INVOKABLE QVariant StancesNot(quint8 index) { return m_spellInfo->getStancesNot(index); }
  403. Q_INVOKABLE QVariant Targets() { return m_spellInfo->getTargets(); }