Skip to content
Browse files

Merge branch.

  • Loading branch information...
2 parents be60fd9 + 33c2bd5 commit aea6e3a5204d33a8b8cb3845c74838845c6b91e8 @SergeWinters SergeWinters committed Jan 11, 2014
Showing with 5,256 additions and 4,414 deletions.
  1. +2 −2 README.md
  2. +2 −0 cmake/compiler/gcc/settings.cmake
  3. +1 −1 cmake/platform/unix/settings.cmake
  4. +1 −1 dep/mysqllite/libmysql/libmysql.c
  5. +2 −2 dep/recastnavigation/Detour/DetourCommon.cpp
  6. +5 −0 dep/recastnavigation/Detour/DetourCommon.h
  7. +21 −0 dep/recastnavigation/Detour/DetourMath.h
  8. +22 −10 dep/recastnavigation/Detour/DetourNavMesh.cpp
  9. +52 −20 dep/recastnavigation/Detour/DetourNavMesh.h
  10. +3 −3 dep/recastnavigation/Detour/DetourNavMeshBuilder.cpp
  11. +5 −10 dep/recastnavigation/Detour/DetourNavMeshQuery.cpp
  12. +2 −2 dep/recastnavigation/Detour/DetourNavMeshQuery.h
  13. +21 −8 dep/recastnavigation/Detour/DetourNode.cpp
  14. +8 −12 dep/recastnavigation/Recast/Recast.cpp
  15. +10 −5 dep/recastnavigation/Recast/Recast.h
  16. +2 −2 dep/recastnavigation/Recast/RecastLayers.cpp
  17. +3 −1 dep/recastnavigation/Recast/RecastMesh.cpp
  18. +3 −3 dep/recastnavigation/Recast/RecastMeshDetail.cpp
  19. +2 −2 sql/updates/world/2013_12_19_01_world_sai.sql
  20. 0 sql/updates/world/{2013_12_20_00_world_sai.sql → 2013_12_20_02_world_sai.sql}
  21. +1 −0 sql/updates/world/2013_12_21_00_world_sai.sql
  22. +137 −0 sql/updates/world/2013_12_22_00_world_sai.sql
  23. +21 −0 sql/updates/world/2013_12_22_01_world_misc.sql
  24. +24 −0 sql/updates/world/2013_12_22_02_world_misc.sql
  25. +2 −0 sql/updates/world/2013_12_22_03_world_quest_template.sql
  26. +3 −0 sql/updates/world/2013_12_22_04_world_creature.sql
  27. +5 −0 sql/updates/world/2013_12_22_05_world_misc.sql
  28. +27 −0 sql/updates/world/2013_12_22_06_world_misc.sql
  29. +14 −0 sql/updates/world/2013_12_22_07_world_creature_text.sql
  30. +22 −0 sql/updates/world/2013_12_22_08_world_creature_text.sql
  31. +4 −0 sql/updates/world/2013_12_22_09_world_sai.sql
  32. +44 −0 sql/updates/world/2013_12_23_00_world_misc.sql
  33. +28 −0 sql/updates/world/2013_12_23_01_world_misc.sql
  34. +12 −0 sql/updates/world/2013_12_23_02_world_gossip.sql
  35. +9 −0 sql/updates/world/2013_12_23_03_world_misc.sql
  36. +26 −0 sql/updates/world/2013_12_23_04_world_misc.sql
  37. +4 −0 sql/updates/world/2013_12_23_05_world_condition.sql
  38. +1 −0 sql/updates/world/2013_12_23_06_world_sai.sql
  39. +1 −0 sql/updates/world/2013_12_23_07_world_creature_template.sql
  40. +1 −0 sql/updates/world/2013_12_23_08_world_creature_text.sql
  41. +26 −0 sql/updates/world/2013_12_24_00_world_misc.sql
  42. +54 −0 sql/updates/world/2013_12_24_01_world_misc.sql
  43. +13 −0 sql/updates/world/2013_12_24_02_world_gameobject_template.sql
  44. +1 −0 sql/updates/world/2013_12_24_03_world_creature_template.sql
  45. +15 −0 sql/updates/world/2013_12_25_00_world_misc.sql
  46. +37 −0 sql/updates/world/2013_12_25_01_world_misc.sql
  47. +42 −0 sql/updates/world/2013_12_25_02_world_misc.sql
  48. +38 −0 sql/updates/world/2013_12_25_03_world_misc.sql
  49. +6 −0 sql/updates/world/2013_12_27_00_world_sai.sql
  50. +25 −0 sql/updates/world/2013_12_27_01_world_creature_formations.sql
  51. +6 −0 sql/updates/world/2013_12_28_00_world_creature_classlevelstats.sql
  52. +254 −0 sql/updates/world/2013_12_28_01_world_creature_classlevelstats.sql
  53. +5 −0 sql/updates/world/2013_12_28_02_world_sai.sql
  54. +168 −0 sql/updates/world/2013_12_28_03_world_creature_classlevelstats.sql
  55. +71 −0 sql/updates/world/2013_12_29_00_world_creature_classlevelstats.sql
  56. +71 −0 sql/updates/world/2013_12_29_01_world_creature_classlevelstats.sql
  57. +479 −0 sql/updates/world/2013_12_30_00_world_creature_classlevelstats.sql
  58. +83 −0 sql/updates/world/2013_12_30_01_world_creature_classlevelstats.sql
  59. +35 −0 sql/updates/world/2013_12_30_02_world_creature_classlevelstats.sql
  60. +119 −0 sql/updates/world/2013_12_30_03_world_creature_classlevelstats.sql
  61. +13 −0 sql/updates/world/2013_12_31_00_world_creature_classlevelstats.sql
  62. +1 −1 src/server/authserver/Main.cpp
  63. +1 −1 src/server/authserver/Server/AuthSocket.cpp
  64. +9 −9 src/server/collision/Management/MMapFactory.cpp
  65. +2 −6 src/server/collision/Management/MMapFactory.h
  66. +82 −93 src/server/collision/Management/MMapManager.cpp
  67. +15 −14 src/server/collision/Management/MMapManager.h
  68. +2 −1 src/server/game/AI/CoreAI/GameObjectAI.h
  69. +1 −1 src/server/game/AI/CoreAI/PetAI.cpp
  70. +1 −1 src/server/game/AI/CoreAI/TotemAI.cpp
  71. +2 −2 src/server/game/AI/CreatureAI.cpp
  72. +1 −1 src/server/game/AI/CreatureAI.h
  73. +1 −1 src/server/game/AI/ScriptedAI/ScriptedCreature.cpp
  74. +4 −1 src/server/game/AI/SmartScripts/SmartAI.cpp
  75. +20 −40 src/server/game/AI/SmartScripts/SmartScript.cpp
  76. +0 −1 src/server/game/AI/SmartScripts/SmartScript.h
  77. +5 −12 src/server/game/Achievements/AchievementMgr.cpp
  78. +2 −36 src/server/game/Battlefield/Battlefield.cpp
  79. +0 −2 src/server/game/Battlefield/Battlefield.h
  80. +1 −1 src/server/game/Battlefield/Zones/BattlefieldWG.cpp
  81. +22 −46 src/server/game/Battlegrounds/Battleground.cpp
  82. +1 −1 src/server/game/Battlegrounds/Zones/BattlegroundDS.h
  83. +2 −4 src/server/game/Battlegrounds/Zones/BattlegroundIC.cpp
  84. +5 −14 src/server/game/Chat/Channels/Channel.cpp
  85. +106 −75 src/server/game/Chat/Chat.cpp
  86. +8 −11 src/server/game/Chat/Chat.h
  87. +1 −1 src/server/game/DataStores/DBCEnums.h
  88. +0 −6 src/server/game/Entities/Corpse/Corpse.h
  89. +9 −7 src/server/game/Entities/Creature/Creature.cpp
  90. +10 −7 src/server/game/Entities/Creature/Creature.h
  91. +3 −3 src/server/game/Entities/Creature/GossipDef.cpp
  92. +1 −1 src/server/game/Entities/Creature/GossipDef.h
  93. +0 −6 src/server/game/Entities/DynamicObject/DynamicObject.h
  94. +2 −2 src/server/game/Entities/GameObject/GameObject.cpp
  95. +0 −6 src/server/game/Entities/GameObject/GameObject.h
  96. +1 −1 src/server/game/Entities/Item/Item.cpp
  97. +44 −82 src/server/game/Entities/Object/Object.cpp
  98. +8 −10 src/server/game/Entities/Object/Object.h
  99. +22 −38 src/server/game/Entities/Player/Player.cpp
  100. +1 −3 src/server/game/Entities/Player/Player.h
  101. +33 −53 src/server/game/Entities/Transport/Transport.cpp
  102. +1 −1 src/server/game/Entities/Transport/Transport.h
  103. +21 −21 src/server/game/Entities/Unit/Unit.cpp
  104. +6 −6 src/server/game/Entities/Unit/Unit.h
  105. +16 −7 src/server/game/Globals/ObjectMgr.cpp
  106. +2 −0 src/server/game/Globals/ObjectMgr.h
  107. +6 −4 src/server/game/Grids/Notifiers/GridNotifiersImpl.h
  108. +2 −2 src/server/game/Guilds/Guild.cpp
  109. +7 −7 src/server/game/Handlers/ChatHandler.cpp
  110. +1 −1 src/server/game/Handlers/LootHandler.cpp
  111. +21 −23 src/server/game/Handlers/QuestHandler.cpp
  112. +6 −6 src/server/game/Handlers/SpellHandler.cpp
  113. +2 −2 src/server/game/Handlers/TradeHandler.cpp
  114. +11 −1 src/server/game/Instances/InstanceScript.h
  115. +52 −16 src/server/game/Maps/Map.cpp
  116. +1 −1 src/server/game/Maps/MapInstanced.cpp
  117. +72 −67 src/server/game/Maps/TransportMgr.cpp
  118. +2 −1 src/server/game/Maps/TransportMgr.h
  119. +2 −2 src/server/game/Miscellaneous/SharedDefines.h
  120. +0 −1 src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp
  121. +0 −1 src/server/game/Movement/MovementGenerators/FleeingMovementGenerator.cpp
  122. +1 −1 src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
  123. +168 −667 src/server/game/Movement/PathGenerator.cpp
  124. +14 −51 src/server/game/Movement/PathGenerator.h
  125. +1 −1 src/server/game/Movement/Spline/Spline.cpp
  126. +1 −1 src/server/game/Movement/Spline/Spline.h
  127. +4 −1 src/server/game/Quests/QuestDef.h
  128. +9 −9 src/server/game/Scripting/MapScripts.cpp
  129. +2 −4 src/server/game/Scripting/ScriptMgr.cpp
  130. +3 −2 src/server/game/Scripting/ScriptMgr.h
  131. +1 −1 src/server/game/Server/WorldSession.h
  132. +2 −2 src/server/game/Spells/Auras/SpellAuraEffects.cpp
  133. +7 −7 src/server/game/Spells/Auras/SpellAuras.cpp
  134. +1 −1 src/server/game/Spells/Auras/SpellAuras.h
  135. +46 −27 src/server/game/Spells/Spell.cpp
  136. +1 −1 src/server/game/Spells/Spell.h
  137. +7 −6 src/server/game/Spells/SpellEffects.cpp
  138. +4 −4 src/server/game/Spells/SpellInfo.cpp
  139. +3 −3 src/server/game/Spells/SpellMgr.cpp
  140. +3 −3 src/server/game/Spells/SpellScript.h
  141. +21 −64 src/server/game/Texts/CreatureTextMgr.cpp
  142. +10 −10 src/server/game/Texts/CreatureTextMgr.h
  143. +4 −17 src/server/game/World/World.cpp
  144. +4 −1 src/server/scripts/Commands/cs_debug.cpp
  145. +1 −1 src/server/scripts/Commands/cs_go.cpp
  146. +1 −1 src/server/scripts/Commands/cs_gobject.cpp
  147. +2 −2 src/server/scripts/Commands/cs_misc.cpp
  148. +197 −16 src/server/scripts/Commands/cs_mmaps.cpp
  149. +10 −5 src/server/scripts/Commands/cs_npc.cpp
  150. +1 −1 src/server/scripts/Commands/cs_quest.cpp
  151. +2 −2 src/server/scripts/Commands/cs_wp.cpp
  152. +2 −2 src/server/scripts/EasternKingdoms/BaradinHold/boss_alizabal.cpp
  153. +5 −17 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/blackrock_depths.cpp
  154. +2 −2 ...rver/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp
  155. +7 −12 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_tomb_of_seven.cpp
  156. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_gyth.cpp
  157. +2 −3 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_lord_valthalak.cpp
  158. +36 −45 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_pyroguard_emberseer.cpp
  159. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_rend_blackhand.cpp
  160. +7 −8 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/boss_warmaster_voone.cpp
  161. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_broodlord_lashlayer.cpp
  162. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_chromaggus.cpp
  163. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_ebonroc.cpp
  164. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_firemaw.cpp
  165. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_flamegor.cpp
  166. +6 −6 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_nefarian.cpp
  167. +3 −5 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_razorgore.cpp
  168. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/BlackwingLair/boss_vaelastrasz.cpp
  169. +1 −1 src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_golemagg.cpp
  170. +2 −3 src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_majordomo_executus.cpp
  171. +24 −29 src/server/scripts/EasternKingdoms/BlackrockMountain/MoltenCore/boss_ragnaros.cpp
  172. +6 −7 src/server/scripts/EasternKingdoms/Deadmines/boss_mr_smite.cpp
  173. +2 −2 src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
  174. +9 −22 src/server/scripts/EasternKingdoms/Gnomeregan/gnomeregan.cpp
  175. +4 −3 src/server/scripts/EasternKingdoms/Karazhan/boss_midnight.cpp
  176. +12 −20 src/server/scripts/EasternKingdoms/Karazhan/boss_moroes.cpp
  177. +4 −4 src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp
  178. +9 −17 src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
  179. +5 −8 src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp
  180. +13 −25 src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp
  181. +10 −20 src/server/scripts/EasternKingdoms/Karazhan/boss_terestian_illhoof.cpp
  182. +33 −49 src/server/scripts/EasternKingdoms/Karazhan/bosses_opera.cpp
  183. +15 −20 src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
  184. +4 −12 src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
  185. +23 −40 src/server/scripts/EasternKingdoms/MagistersTerrace/boss_priestess_delrissa.cpp
  186. +20 −30 src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
  187. +4 −7 src/server/scripts/EasternKingdoms/MagistersTerrace/boss_vexallus.cpp
  188. +2 −2 src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
  189. +101 −101 src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
  190. +1 −1 src/server/scripts/EasternKingdoms/ScarletEnclave/zone_the_scarlet_enclave.cpp
  191. +1 −1 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_arcanist_doan.cpp
  192. +1 −1 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_azshir_the_sleepless.cpp
  193. +11 −20 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_headless_horseman.cpp
  194. +1 −1 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_herod.cpp
  195. +1 −1 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
  196. +3 −4 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_interrogator_vishas.cpp
  197. +15 −27 src/server/scripts/EasternKingdoms/ScarletMonastery/boss_mograine_and_whitemane.cpp
  198. +1 −1 src/server/scripts/EasternKingdoms/Scholomance/boss_darkmaster_gandling.cpp
  199. +2 −2 src/server/scripts/EasternKingdoms/Scholomance/boss_instructor_malicia.cpp
  200. +1 −1 src/server/scripts/EasternKingdoms/Scholomance/boss_jandice_barov.cpp
  201. +1 −1 src/server/scripts/EasternKingdoms/Scholomance/boss_kirtonos_the_herald.cpp
  202. +6 −3 src/server/scripts/EasternKingdoms/Scholomance/boss_lord_alexei_barov.cpp
  203. +4 −6 src/server/scripts/EasternKingdoms/ShadowfangKeep/shadowfang_keep.cpp
  204. +7 −8 src/server/scripts/EasternKingdoms/Stratholme/boss_baron_rivendare.cpp
  205. +5 −6 src/server/scripts/EasternKingdoms/Stratholme/boss_baroness_anastari.cpp
  206. +1 −1 src/server/scripts/EasternKingdoms/Stratholme/boss_dathrohan_balnazzar.cpp
  207. +2 −3 src/server/scripts/EasternKingdoms/Stratholme/boss_maleki_the_pallid.cpp
  208. +2 −3 src/server/scripts/EasternKingdoms/Stratholme/boss_nerubenkan.cpp
  209. +17 −23 src/server/scripts/EasternKingdoms/Stratholme/boss_order_of_silver_hand.cpp
  210. +2 −3 src/server/scripts/EasternKingdoms/Stratholme/boss_ramstein_the_gorger.cpp
  211. +2 −2 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
  212. +13 −13 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_eredar_twins.cpp
  213. +1 −1 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
  214. +7 −12 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
  215. +10 −17 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
  216. +5 −5 src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp
  217. +7 −14 src/server/scripts/EasternKingdoms/Uldaman/boss_archaedas.cpp
  218. +8 −8 src/server/scripts/EasternKingdoms/Uldaman/boss_ironaya.cpp
  219. +4 −4 src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
  220. +1 −1 src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
  221. +1 −1 src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
  222. +1 −1 src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
  223. +2 −3 src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
  224. +33 −41 src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
  225. +63 −23 src/server/scripts/EasternKingdoms/zone_blasted_lands.cpp
  226. +32 −0 src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
  227. +71 −63 src/server/scripts/EasternKingdoms/zone_duskwood.cpp
  228. +13 −55 src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
  229. +34 −45 src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
  230. +4 −4 src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
  231. +3 −3 src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
  232. +4 −4 src/server/scripts/EasternKingdoms/zone_westfall.cpp
  233. +2 −2 src/server/scripts/Examples/example_creature.cpp
  234. +5 −5 src/server/scripts/Examples/example_escort.cpp
  235. +1 −1 src/server/scripts/Examples/example_spell.cpp
  236. +2 −3 src/server/scripts/Kalimdor/BlackfathomDeeps/blackfathom_deeps.cpp
  237. +4 −7 src/server/scripts/Kalimdor/BlackfathomDeeps/boss_gelihast.cpp
  238. +4 −7 src/server/scripts/Kalimdor/BlackfathomDeeps/boss_kelris.cpp
  239. +16 −20 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_anetheron.cpp
  240. +15 −22 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp
  241. +13 −18 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_azgalor.cpp
  242. +11 −14 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_kazrogal.cpp
  243. +11 −14 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_rage_winterchill.cpp
  244. +9 −0 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal.cpp
  245. +43 −66 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
  246. +105 −141 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
  247. +3 −2 src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/instance_hyjal.cpp
  248. +4 −7 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_chrono_lord_epoch.cpp
  249. +4 −7 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_infinite_corruptor.cpp
  250. +8 −14 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_mal_ganis.cpp
  251. +5 −9 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_meathook.cpp
  252. +5 −9 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/boss_salramm_the_fleshcrafter.cpp
  253. +69 −90 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
  254. +1 −2 src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/instance_culling_of_stratholme.cpp
  255. +1 −1 src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_captain_skarloc.cpp
  256. +2 −2 src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/boss_epoch_hunter.cpp
  257. +4 −8 src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
  258. +6 −8 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_aeonus.cpp
  259. +2 −3 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_chrono_lord_deja.cpp
  260. +2 −3 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/boss_temporus.cpp
  261. +3 −19 src/server/scripts/Kalimdor/CavernsOfTime/TheBlackMorass/the_black_morass.cpp
  262. +10 −22 src/server/scripts/Kalimdor/OnyxiasLair/boss_onyxia.cpp
  263. +3 −2 src/server/scripts/Kalimdor/RazorfenDowns/boss_amnennar_the_coldbringer.cpp
  264. +6 −10 src/server/scripts/Kalimdor/RazorfenDowns/razorfen_downs.cpp
  265. +10 −10 src/server/scripts/Kalimdor/RazorfenKraul/razorfen_kraul.cpp
  266. +2 −2 src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ayamiss.cpp
  267. +3 −3 src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_buru.cpp
  268. +2 −2 src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_kurinnaxx.cpp
  269. +15 −18 src/server/scripts/Kalimdor/RuinsOfAhnQiraj/boss_ossirian.cpp
  270. +29 −47 src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_bug_trio.cpp
  271. +6 −30 src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp
  272. +1 −1 src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_sartura.cpp
  273. +9 −15 src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_twinemperors.cpp
  274. +3 −4 src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_viscidus.cpp
  275. +6 −14 src/server/scripts/Kalimdor/WailingCaverns/wailing_caverns.cpp
  276. +2 −3 src/server/scripts/Kalimdor/ZulFarrak/boss_zum_rah.cpp
  277. +18 −26 src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
  278. +206 −229 src/server/scripts/Kalimdor/zone_ashenvale.cpp
  279. +68 −97 src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp
  280. +11 −75 src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp
  281. +13 −14 src/server/scripts/Kalimdor/zone_desolace.cpp
  282. +1 −1 src/server/scripts/Kalimdor/zone_durotar.cpp
  283. +8 −8 src/server/scripts/Kalimdor/zone_dustwallow_marsh.cpp
  284. +10 −10 src/server/scripts/Kalimdor/zone_silithus.cpp
  285. +19 −19 src/server/scripts/Kalimdor/zone_tanaris.cpp
  286. +1 −1 src/server/scripts/Kalimdor/zone_teldrassil.cpp
  287. +11 −16 src/server/scripts/Kalimdor/zone_the_barrens.cpp
  288. +2 −2 src/server/scripts/Kalimdor/zone_winterspring.cpp
  289. +1 −1 src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_elder_nadox.cpp
  290. +10 −16 src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_herald_volazj.cpp
  291. +19 −41 src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_jedoga_shadowseeker.cpp
  292. +6 −12 src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_anubarak.cpp
  293. +3 −5 src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_hadronox.cpp
  294. +4 −7 src/server/scripts/Northrend/AzjolNerub/AzjolNerub/boss_krikthir_the_gatewatcher.cpp
  295. +76 −118 src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
  296. +193 −278 src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.cpp
  297. +9 −3 src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/obsidian_sanctum.h
  298. +2 −2 src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp
  299. +6 −9 src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
  300. +2 −3 src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_black_knight.cpp
Sorry, we could not display the entire diff because too many files (500) changed.
View
4 README.md
@@ -27,8 +27,8 @@ website at [arkania.net](http://www.arkania.net).
+ MySQL ≥ 5.1.0 (included for Windows)
+ CMake ≥ 2.8.0
+ OpenSSL ≥ 1.0.0
-+ GCC ≥ 4.3 (Linux only)
-+ MS Visual Studio ≥ 9 (2008) (Windows only)
++ GCC ≥ 4.7.2 (Linux only)
++ MS Visual Studio ≥ 12 (2013) (Windows only)
## Install
View
2 cmake/compiler/gcc/settings.cmake
@@ -22,3 +22,5 @@ if( WITH_COREDEBUG )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
message(STATUS "GCC: Debug-flags set (-g3)")
endif()
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
View
2 cmake/platform/unix/settings.cmake
@@ -33,7 +33,7 @@ add_custom_target(uninstall
message(STATUS "UNIX: Created uninstall target")
message(STATUS "UNIX: Detected compiler: ${CMAKE_C_COMPILER}")
-if(CMAKE_C_COMPILER MATCHES "gcc")
+if(CMAKE_C_COMPILER MATCHES "gcc" OR CMAKE_C_COMPILER_ID STREQUAL "GNU")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/gcc/settings.cmake)
elseif(CMAKE_C_COMPILER MATCHES "icc")
include(${CMAKE_SOURCE_DIR}/cmake/compiler/icc/settings.cmake)
View
2 dep/mysqllite/libmysql/libmysql.c
@@ -2303,7 +2303,7 @@ stmt_read_row_no_result_set(MYSQL_STMT *stmt __attribute__((unused)),
mysql_stmt_attr_set()
attr_type statement attribute
- value casted to const void * pointer to value.
+ value cast to const void * pointer to value.
RETURN VALUE
0 success
View
4 dep/recastnavigation/Detour/DetourCommon.cpp
@@ -16,14 +16,14 @@
// 3. This notice may not be removed or altered from any source distribution.
//
-#include <math.h>
#include "DetourCommon.h"
+#include "DetourMath.h"
//////////////////////////////////////////////////////////////////////////////////////////
float dtSqrt(float x)
{
- return sqrtf(x);
+ return dtMathSqrtf(x);
}
void dtClosestPtPointTriangle(float* closest, const float* p,
View
5 dep/recastnavigation/Detour/DetourCommon.h
@@ -32,6 +32,11 @@ feature to find minor members.
/// @name General helper functions
/// @{
+/// Used to ignore a function parameter. VS complains about unused parameters
+/// and this silences the warning.
+/// @param [in] _ Unused parameter
+template<class T> void dtIgnoreUnused(const T&) { }
+
/// Swaps the values of the two parameters.
/// @param[in,out] a Value A
/// @param[in,out] b Value B
View
21 dep/recastnavigation/Detour/DetourMath.h
@@ -0,0 +1,21 @@
+#ifndef DETOURMATH_H
+#define DETOURMATH_H
+
+/**
+@defgroup detour Detour
+
+Members in this module are wrappers around the standard math library
+
+*/
+
+#include <math.h>
+
+#define dtMathFabs(x) fabs(x)
+#define dtMathSqrtf(x) sqrtf(x)
+#define dtMathFloorf(x) floorf(x)
+#define dtMathCeilf(x) ceilf(x)
+#define dtMathCosf(x) cosf(x)
+#define dtMathSinf(x) sinf(x)
+#define dtMathAtan2f(y, x) atan2f(y, x)
+
+#endif
View
32 dep/recastnavigation/Detour/DetourNavMesh.cpp
@@ -16,13 +16,13 @@
// 3. This notice may not be removed or altered from any source distribution.
//
-#include <math.h>
#include <float.h>
#include <string.h>
#include <stdio.h>
#include "DetourNavMesh.h"
#include "DetourNode.h"
#include "DetourCommon.h"
+#include "DetourMath.h"
#include "DetourAlloc.h"
#include "DetourAssert.h"
#include <new>
@@ -193,11 +193,13 @@ dtNavMesh::dtNavMesh() :
m_tileLutMask(0),
m_posLookup(0),
m_nextFree(0),
- m_tiles(0),
- m_saltBits(0),
- m_tileBits(0),
- m_polyBits(0)
+ m_tiles(0)
{
+#ifndef DT_POLYREF64
+ m_saltBits = 0;
+ m_tileBits = 0;
+ m_polyBits = 0;
+#endif
memset(&m_params, 0, sizeof(dtNavMeshParams));
m_orig[0] = 0;
m_orig[1] = 0;
@@ -248,11 +250,17 @@ dtStatus dtNavMesh::init(const dtNavMeshParams* params)
m_nextFree = &m_tiles[i];
}
- // Edited by TC
- m_tileBits = STATIC_TILE_BITS;
- m_polyBits = STATIC_POLY_BITS;
- m_saltBits = STATIC_SALT_BITS;
-
+ // Init ID generator values.
+#ifndef DT_POLYREF64
+ m_tileBits = dtIlog2(dtNextPow2((unsigned int)params->maxTiles));
+ m_polyBits = dtIlog2(dtNextPow2((unsigned int)params->maxPolys));
+ // Only allow 31 salt bits, since the salt mask is calculated using 32bit uint and it will overflow.
+ m_saltBits = dtMin((unsigned int)31, 32 - m_tileBits - m_polyBits);
+
+ if (m_saltBits < 10)
+ return DT_FAILURE | DT_INVALID_PARAM;
+#endif
+
return DT_SUCCESS;
}
@@ -1206,7 +1214,11 @@ dtStatus dtNavMesh::removeTile(dtTileRef ref, unsigned char** data, int* dataSiz
tile->offMeshCons = 0;
// Update salt, salt should never be zero.
+#ifdef DT_POLYREF64
+ tile->salt = (tile->salt+1) & ((1<<DT_SALT_BITS)-1);
+#else
tile->salt = (tile->salt+1) & ((1<<m_saltBits)-1);
+#endif
if (tile->salt == 0)
tile->salt++;
View
72 dep/recastnavigation/Detour/DetourNavMesh.h
@@ -22,37 +22,39 @@
#include "DetourAlloc.h"
#include "DetourStatus.h"
-
-// Edited by TC
-#if defined(WIN32) && !defined(__MINGW32__)
-typedef unsigned __int64 uint64;
-#else
+// Undefine (or define in a build cofnig) the following line to use 64bit polyref.
+// Generally not needed, useful for very large worlds.
+// Note: tiles build using 32bit refs are not compatible with 64bit refs!
+//#define DT_POLYREF64 1
+
+#ifdef DT_POLYREF64
+// TODO: figure out a multiplatform version of uint64_t
+// - maybe: https://code.google.com/p/msinttypes/
+// - or: http://www.azillionmonkeys.com/qed/pstdint.h
#include <stdint.h>
-#ifndef uint64_t
-#ifdef __linux__
-#include <linux/types.h>
-#endif
#endif
-typedef uint64_t uint64;
-#endif
// Note: If you want to use 64-bit refs, change the types of both dtPolyRef & dtTileRef.
// It is also recommended that you change dtHashRef() to a proper 64-bit hash.
-// Edited by TC
-// We cannot have over 31 bits for either tile nor poly
-// without changing polyCount to use 64bits too.
-static const int STATIC_SALT_BITS = 12;
-static const int STATIC_TILE_BITS = 21;
-static const int STATIC_POLY_BITS = 31;
-
/// A handle to a polygon within a navigation mesh tile.
/// @ingroup detour
-typedef uint64 dtPolyRef; // Edited by TC
+#ifdef DT_POLYREF64
+static const unsigned int DT_SALT_BITS = 16;
+static const unsigned int DT_TILE_BITS = 28;
+static const unsigned int DT_POLY_BITS = 20;
+typedef uint64_t dtPolyRef;
+#else
+typedef unsigned int dtPolyRef;
+#endif
/// A handle to a tile within a navigation mesh.
/// @ingroup detour
-typedef uint64 dtTileRef; // Edited by TC
+#ifdef DT_POLYREF64
+typedef uint64_t dtTileRef;
+#else
+typedef unsigned int dtTileRef;
+#endif
/// The maximum number of vertices per navigation polygon.
/// @ingroup detour
@@ -490,7 +492,11 @@ class dtNavMesh
/// @param[in] ip The index of the polygon within the tile.
inline dtPolyRef encodePolyId(unsigned int salt, unsigned int it, unsigned int ip) const
{
+#ifdef DT_POLYREF64
+ return ((dtPolyRef)salt << (DT_POLY_BITS+DT_TILE_BITS)) | ((dtPolyRef)it << DT_POLY_BITS) | (dtPolyRef)ip;
+#else
return ((dtPolyRef)salt << (m_polyBits+m_tileBits)) | ((dtPolyRef)it << m_polyBits) | (dtPolyRef)ip;
+#endif
}
/// Decodes a standard polygon reference.
@@ -502,12 +508,21 @@ class dtNavMesh
/// @see #encodePolyId
inline void decodePolyId(dtPolyRef ref, unsigned int& salt, unsigned int& it, unsigned int& ip) const
{
+#ifdef DT_POLYREF64
+ const dtPolyRef saltMask = ((dtPolyRef)1<<DT_SALT_BITS)-1;
+ const dtPolyRef tileMask = ((dtPolyRef)1<<DT_TILE_BITS)-1;
+ const dtPolyRef polyMask = ((dtPolyRef)1<<DT_POLY_BITS)-1;
+ salt = (unsigned int)((ref >> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask);
+ it = (unsigned int)((ref >> DT_POLY_BITS) & tileMask);
+ ip = (unsigned int)(ref & polyMask);
+#else
const dtPolyRef saltMask = ((dtPolyRef)1<<m_saltBits)-1;
const dtPolyRef tileMask = ((dtPolyRef)1<<m_tileBits)-1;
const dtPolyRef polyMask = ((dtPolyRef)1<<m_polyBits)-1;
salt = (unsigned int)((ref >> (m_polyBits+m_tileBits)) & saltMask);
it = (unsigned int)((ref >> m_polyBits) & tileMask);
ip = (unsigned int)(ref & polyMask);
+#endif
}
/// Extracts a tile's salt value from the specified polygon reference.
@@ -516,8 +531,13 @@ class dtNavMesh
/// @see #encodePolyId
inline unsigned int decodePolyIdSalt(dtPolyRef ref) const
{
+#ifdef DT_POLYREF64
+ const dtPolyRef saltMask = ((dtPolyRef)1<<DT_SALT_BITS)-1;
+ return (unsigned int)((ref >> (DT_POLY_BITS+DT_TILE_BITS)) & saltMask);
+#else
const dtPolyRef saltMask = ((dtPolyRef)1<<m_saltBits)-1;
return (unsigned int)((ref >> (m_polyBits+m_tileBits)) & saltMask);
+#endif
}
/// Extracts the tile's index from the specified polygon reference.
@@ -526,8 +546,13 @@ class dtNavMesh
/// @see #encodePolyId
inline unsigned int decodePolyIdTile(dtPolyRef ref) const
{
+#ifdef DT_POLYREF64
+ const dtPolyRef tileMask = ((dtPolyRef)1<<DT_TILE_BITS)-1;
+ return (unsigned int)((ref >> DT_POLY_BITS) & tileMask);
+#else
const dtPolyRef tileMask = ((dtPolyRef)1<<m_tileBits)-1;
return (unsigned int)((ref >> m_polyBits) & tileMask);
+#endif
}
/// Extracts the polygon's index (within its tile) from the specified polygon reference.
@@ -536,8 +561,13 @@ class dtNavMesh
/// @see #encodePolyId
inline unsigned int decodePolyIdPoly(dtPolyRef ref) const
{
+#ifdef DT_POLYREF64
+ const dtPolyRef polyMask = ((dtPolyRef)1<<DT_POLY_BITS)-1;
+ return (unsigned int)(ref & polyMask);
+#else
const dtPolyRef polyMask = ((dtPolyRef)1<<m_polyBits)-1;
return (unsigned int)(ref & polyMask);
+#endif
}
/// @}
@@ -597,9 +627,11 @@ class dtNavMesh
dtMeshTile* m_nextFree; ///< Freelist of tiles.
dtMeshTile* m_tiles; ///< List of tiles.
+#ifndef DT_POLYREF64
unsigned int m_saltBits; ///< Number of salt bits in the tile ID.
unsigned int m_tileBits; ///< Number of tile bits in the tile ID.
unsigned int m_polyBits; ///< Number of poly bits in the tile ID.
+#endif
};
/// Allocates a navigation mesh object using the Detour allocator.
View
6 dep/recastnavigation/Detour/DetourNavMeshBuilder.cpp
@@ -16,13 +16,13 @@
// 3. This notice may not be removed or altered from any source distribution.
//
-#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include "DetourNavMesh.h"
#include "DetourCommon.h"
+#include "DetourMath.h"
#include "DetourNavMeshBuilder.h"
#include "DetourAlloc.h"
#include "DetourAssert.h"
@@ -202,8 +202,8 @@ static int createBVTree(const unsigned short* verts, const int /*nverts*/,
if (z > it.bmax[2]) it.bmax[2] = z;
}
// Remap y
- it.bmin[1] = (unsigned short)floorf((float)it.bmin[1]*ch/cs);
- it.bmax[1] = (unsigned short)ceilf((float)it.bmax[1]*ch/cs);
+ it.bmin[1] = (unsigned short)dtMathFloorf((float)it.bmin[1]*ch/cs);
+ it.bmax[1] = (unsigned short)dtMathCeilf((float)it.bmax[1]*ch/cs);
}
int curNode = 0;
View
15 dep/recastnavigation/Detour/DetourNavMeshQuery.cpp
@@ -16,13 +16,13 @@
// 3. This notice may not be removed or altered from any source distribution.
//
-#include <math.h>
#include <float.h>
#include <string.h>
#include "DetourNavMeshQuery.h"
#include "DetourNavMesh.h"
#include "DetourNode.h"
#include "DetourCommon.h"
+#include "DetourMath.h"
#include "DetourAlloc.h"
#include "DetourAssert.h"
#include <new>
@@ -99,9 +99,8 @@ inline float dtQueryFilter::getCost(const float* pa, const float* pb,
return dtVdist(pa, pb) * m_areaCost[curPoly->getArea()];
}
#endif
-
-// Edited by TC
-static const float H_SCALE = 2.0f; // Search heuristic scale.
+
+static const float H_SCALE = 0.999f; // Search heuristic scale.
dtNavMeshQuery* dtAllocNavMeshQuery()
@@ -511,11 +510,7 @@ dtStatus dtNavMeshQuery::closestPointOnPoly(dtPolyRef ref, const float* pos, flo
return DT_FAILURE | DT_INVALID_PARAM;
if (!tile)
return DT_FAILURE | DT_INVALID_PARAM;
-
- // Edited by TC
- if (poly->getType() == DT_POLYTYPE_OFFMESH_CONNECTION)
- return DT_FAILURE;
-
+
closestPointOnPolyInTile(tile, poly, pos, closest);
return DT_SUCCESS;
@@ -3347,7 +3342,7 @@ dtStatus dtNavMeshQuery::findDistanceToWall(dtPolyRef startRef, const float* cen
dtVsub(hitNormal, centerPos, hitPos);
dtVnormalize(hitNormal);
- *hitDist = dtSqrt(radiusSqr);
+ *hitDist = dtMathSqrtf(radiusSqr);
return status;
}
View
4 dep/recastnavigation/Detour/DetourNavMeshQuery.h
@@ -200,8 +200,8 @@ class dtNavMeshQuery
/// Finalizes and returns the results of an incomplete sliced path query, returning the path to the furthest
/// polygon on the existing path that was visited during the search.
- /// @param[out] existing An array of polygon references for the existing path.
- /// @param[out] existingSize The number of polygon in the @p existing array.
+ /// @param[in] existing An array of polygon references for the existing path.
+ /// @param[in] existingSize The number of polygon in the @p existing array.
/// @param[out] path An ordered list of polygon references representing the path. (Start to end.)
/// [(polyRef) * @p pathCount]
/// @param[out] pathCount The number of polygons returned in the @p path array.
View
29 dep/recastnavigation/Detour/DetourNode.cpp
@@ -22,17 +22,30 @@
#include "DetourCommon.h"
#include <string.h>
+#ifdef DT_POLYREF64
+// From Thomas Wang, https://gist.github.com/badboy/6267743
inline unsigned int dtHashRef(dtPolyRef a)
{
- // Edited by TC
- a = (~a) + (a << 18);
- a = a ^ (a >> 31);
- a = a * 21;
- a = a ^ (a >> 11);
- a = a + (a << 6);
- a = a ^ (a >> 22);
- return (unsigned int)a;
+ a = (~a) + (a << 18); // a = (a << 18) - a - 1;
+ a = a ^ (a >> 31);
+ a = a * 21; // a = (a + (a << 2)) + (a << 4);
+ a = a ^ (a >> 11);
+ a = a + (a << 6);
+ a = a ^ (a >> 22);
+ return (unsigned int)a;
}
+#else
+inline unsigned int dtHashRef(dtPolyRef a)
+{
+ a += ~(a<<15);
+ a ^= (a>>10);
+ a += (a<<3);
+ a ^= (a>>6);
+ a += ~(a<<11);
+ a ^= (a>>16);
+ return (unsigned int)a;
+}
+#endif
//////////////////////////////////////////////////////////////////////////////////////////
dtNodePool::dtNodePool(int maxNodes, int hashSize) :
View
20 dep/recastnavigation/Recast/Recast.cpp
@@ -208,12 +208,11 @@ void rcCalcGridSize(const float* bmin, const float* bmax, float cs, int* w, int*
/// See the #rcConfig documentation for more information on the configuration parameters.
///
/// @see rcAllocHeightfield, rcHeightfield
-bool rcCreateHeightfield(rcContext* /*ctx*/, rcHeightfield& hf, int width, int height,
+bool rcCreateHeightfield(rcContext* ctx, rcHeightfield& hf, int width, int height,
const float* bmin, const float* bmax,
float cs, float ch)
{
- // TODO: VC complains about unref formal variable, figure out a way to handle this better.
-// rcAssert(ctx);
+ rcIgnoreUnused(ctx);
hf.width = width;
hf.height = height;
@@ -245,13 +244,12 @@ static void calcTriNormal(const float* v0, const float* v1, const float* v2, flo
/// See the #rcConfig documentation for more information on the configuration parameters.
///
/// @see rcHeightfield, rcClearUnwalkableTriangles, rcRasterizeTriangles
-void rcMarkWalkableTriangles(rcContext* /*ctx*/, const float walkableSlopeAngle,
+void rcMarkWalkableTriangles(rcContext* ctx, const float walkableSlopeAngle,
const float* verts, int /*nv*/,
const int* tris, int nt,
unsigned char* areas)
{
- // TODO: VC complains about unref formal variable, figure out a way to handle this better.
-// rcAssert(ctx);
+ rcIgnoreUnused(ctx);
const float walkableThr = cosf(walkableSlopeAngle/180.0f*RC_PI);
@@ -275,13 +273,12 @@ void rcMarkWalkableTriangles(rcContext* /*ctx*/, const float walkableSlopeAngle,
/// See the #rcConfig documentation for more information on the configuration parameters.
///
/// @see rcHeightfield, rcClearUnwalkableTriangles, rcRasterizeTriangles
-void rcClearUnwalkableTriangles(rcContext* /*ctx*/, const float walkableSlopeAngle,
+void rcClearUnwalkableTriangles(rcContext* ctx, const float walkableSlopeAngle,
const float* verts, int /*nv*/,
const int* tris, int nt,
unsigned char* areas)
{
- // TODO: VC complains about unref formal variable, figure out a way to handle this better.
-// rcAssert(ctx);
+ rcIgnoreUnused(ctx);
const float walkableThr = cosf(walkableSlopeAngle/180.0f*RC_PI);
@@ -297,10 +294,9 @@ void rcClearUnwalkableTriangles(rcContext* /*ctx*/, const float walkableSlopeAng
}
}
-int rcGetHeightFieldSpanCount(rcContext* /*ctx*/, rcHeightfield& hf)
+int rcGetHeightFieldSpanCount(rcContext* ctx, rcHeightfield& hf)
{
- // TODO: VC complains about unref formal variable, figure out a way to handle this better.
-// rcAssert(ctx);
+ rcIgnoreUnused(ctx);
const int w = hf.width;
const int h = hf.height;
View
15 dep/recastnavigation/Recast/Recast.h
@@ -219,7 +219,7 @@ struct rcConfig
int maxEdgeLen;
/// The maximum distance a simplfied contour's border edges should deviate
- /// the original raw contour. [Limit: >=0] [Units: wu]
+ /// the original raw contour. [Limit: >=0] [Units: vx]
float maxSimplificationError;
/// The minimum number of cells allowed to form isolated island areas. [Limit: >=0] [Units: vx]
@@ -243,7 +243,7 @@ struct rcConfig
};
/// Defines the number of bits allocated to rcSpan::smin and rcSpan::smax.
-static const int RC_SPAN_HEIGHT_BITS = 16; // EDITED BY TC
+static const int RC_SPAN_HEIGHT_BITS = 13;
/// Defines the maximum value for rcSpan::smin and rcSpan::smax.
static const int RC_SPAN_MAX_HEIGHT = (1<<RC_SPAN_HEIGHT_BITS)-1;
@@ -255,9 +255,9 @@ static const int RC_SPANS_PER_POOL = 2048;
/// @see rcHeightfield
struct rcSpan
{
- unsigned int smin : 16; ///< The lower limit of the span. [Limit: < #smax]
- unsigned int smax : 16; ///< The upper limit of the span. [Limit: <= #RC_SPAN_MAX_HEIGHT]
- unsigned char area; ///< The area id assigned to the span.
+ unsigned int smin : 13; ///< The lower limit of the span. [Limit: < #smax]
+ unsigned int smax : 13; ///< The upper limit of the span. [Limit: <= #RC_SPAN_MAX_HEIGHT]
+ unsigned int area : 6; ///< The area id assigned to the span.
rcSpan* next; ///< The next span higher up in column.
};
@@ -549,6 +549,11 @@ static const int RC_NOT_CONNECTED = 0x3f;
/// @name General helper functions
/// @{
+/// Used to ignore a function parameter. VS complains about unused parameters
+/// and this silences the warning.
+/// @param [in] _ Unused parameter
+template<class T> void rcIgnoreUnused(const T&) { }
+
/// Swaps the values of the two parameters.
/// @param[in,out] a Value A
/// @param[in,out] b Value B
View
4 dep/recastnavigation/Recast/RecastLayers.cpp
@@ -325,7 +325,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
continue;
// Skip if the height range would become too large.
const int ymin = rcMin(root.ymin, regn.ymin);
- const int ymax = rcMax(root.ymax, regn.ymax); // Edited by TC
+ const int ymax = rcMax(root.ymax, regn.ymax);
if ((ymax - ymin) >= 255)
continue;
@@ -373,7 +373,7 @@ bool rcBuildHeightfieldLayers(rcContext* ctx, rcCompactHeightfield& chf,
continue;
// Skip if the height range would become too large.
const int ymin = rcMin(ri.ymin, rj.ymin);
- const int ymax = rcMax(ri.ymax, rj.ymax); // Edited by TC
+ const int ymax = rcMax(ri.ymax, rj.ymax);
if ((ymax - ymin) >= 255)
continue;
View
4 dep/recastnavigation/Recast/RecastMesh.cpp
@@ -1105,7 +1105,9 @@ bool rcBuildPolyMesh(rcContext* ctx, rcContourSet& cset, const int nvp, rcPolyMe
unsigned short* pa = &polys[bestPa*nvp];
unsigned short* pb = &polys[bestPb*nvp];
mergePolys(pa, pb, bestEa, bestEb, tmpPoly, nvp);
- memcpy(pb, &polys[(npolys-1)*nvp], sizeof(unsigned short)*nvp);
+ unsigned short* lastPoly = &polys[(npolys-1)*nvp];
+ if (pb != lastPoly)
+ memcpy(pb, lastPoly, sizeof(unsigned short)*nvp);
npolys--;
}
else
View
6 dep/recastnavigation/Recast/RecastMeshDetail.cpp
@@ -200,8 +200,8 @@ static unsigned short getHeight(const float fx, const float fy, const float fz,
{
int ix = (int)floorf(fx*ics + 0.01f);
int iz = (int)floorf(fz*ics + 0.01f);
- ix = rcClamp(ix-hp.xmin, 0, hp.width);
- iz = rcClamp(iz-hp.ymin, 0, hp.height);
+ ix = rcClamp(ix-hp.xmin, 0, hp.width - 1);
+ iz = rcClamp(iz-hp.ymin, 0, hp.height - 1);
unsigned short h = hp.data[ix+iz*hp.width];
if (h == RC_UNSET_HEIGHT)
{
@@ -554,7 +554,7 @@ static bool buildPolyDetail(rcContext* ctx, const float* in, const int nin,
float dx = vi[0] - vj[0];
float dy = vi[1] - vj[1];
float dz = vi[2] - vj[2];
- float d = rcSqrt(dx*dx + dz*dz);
+ float d = sqrtf(dx*dx + dz*dz);
int nn = 1 + (int)floorf(d/sampleDist);
if (nn >= MAX_VERTS_PER_EDGE) nn = MAX_VERTS_PER_EDGE-1;
if (nverts+nn >= MAX_VERTS)
View
4 sql/updates/world/2013_12_19_01_world_sai.sql
@@ -53,7 +53,7 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - On Death - Say text 1 CONDITIONED"),
(@ENTRY,0,1,0,1,0,100,0,1000,1000,1800000,1800000,11,13787,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Out Of Combat - Cast Demon Armor"),
-(@ENTRY,0,2,0,1,0,100,0,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Out Of Combat - Cast Summon Imp"),
+(@ENTRY,0,2,0,1,0,100,1,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Out Of Combat - Cast Summon Imp"),
(@ENTRY,0,3,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - On Aggro - Say text 0"),
(@ENTRY,0,4,0,0,0,100,0,0,0,2400,3800,11,20825,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Warlock - In Combat - Cast Shadow Bolt"),
(@ENTRY,0,5,0,2,0,100,1,0,20,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Warlock - Between 0-20% Health - Flee for assist");
@@ -430,7 +430,7 @@ DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(@ENTRY,0,0,0,6,0,100,0,0,0,0,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - On Death - Say text 1 CONDITIONED"),
(@ENTRY,0,1,0,1,0,100,0,1000,1000,1800000,1800000,11,13787,1,1,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Out Of Combat - Cast Demon Armor"),
-(@ENTRY,0,2,0,1,0,100,0,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Out Of Combat - Cast Summon Imp"),
+(@ENTRY,0,2,0,1,0,100,1,3000,3000,0,0,11,11939,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Out Of Combat - Cast Summon Imp"),
(@ENTRY,0,3,0,4,0,35,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - On Aggro - Say text 0"),
(@ENTRY,0,4,0,0,0,100,0,0,0,2400,3800,11,20825,64,0,0,0,0,2,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - In Combat - Cast Shadow Bolt"),
(@ENTRY,0,5,0,2,0,100,1,0,20,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Bloodmaul Soothsayer - Between 0-20% Health - Flee for assist");
View
0 ...updates/world/2013_12_20_00_world_sai.sql → ...updates/world/2013_12_20_02_world_sai.sql
File renamed without changes.
View
1 sql/updates/world/2013_12_21_00_world_sai.sql
@@ -0,0 +1 @@
+UPDATE `smart_scripts` SET `comment` = REPLACE(`comment`, 'Increment Phase By 0', CONCAT('Increment Phase By ', `action_param1`)) WHERE `comment` LIKE '%Increment Phase By 0%';
View
137 sql/updates/world/2013_12_22_00_world_sai.sql
@@ -0,0 +1,137 @@
+-- Firehawk Mariner SAI
+SET @ENTRY := 35070;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Firehawk Mariner - In Combat CMC - Cast 'Shoot'"),
+(@ENTRY,0,1,0,0,0,100,0,8000,10000,7000,9000,11,17174,1,0,0,0,0,5,0,0,0,0,0,0,0,"Firehawk Mariner - In Combat - Cast 'Concussive Shot'"),
+(@ENTRY,0,2,0,9,0,100,0,5,30,8000,11000,11,14443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Firehawk Mariner - Within 5-30 Range - Cast 'Multi-Shot'");
+
+-- Captain Aerthas Firehawk SAI
+SET @ENTRY := 35090;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Aerthas Firehawk - In Combat CMC - Cast 'Shoot'"),
+(@ENTRY,0,1,0,9,0,100,0,5,30,8000,11000,11,14443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Aerthas Firehawk - Within 5-30 Range - Cast 'Multi-Shot'"),
+(@ENTRY,0,2,0,9,0,100,0,0,5,4000,7000,11,29426,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Aerthas Firehawk - Within 0-5 Range - Cast 'Heroic Strike'");
+
+-- Wavecrest Mariner SAI
+SET @ENTRY := 35098;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Wavecrest Mariner - In Combat CMC - Cast 'Shoot'"),
+(@ENTRY,0,1,0,0,0,100,0,8000,10000,7000,9000,11,17174,1,0,0,0,0,5,0,0,0,0,0,0,0,"Wavecrest Mariner - In Combat - Cast 'Concussive Shot' (Phase 1)"),
+(@ENTRY,0,2,0,9,0,100,0,5,30,8000,11000,11,14443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Wavecrest Mariner - Within 5-30 Range - Cast 'Multi-Shot' (Phase 1)");
+
+-- Captain Elleane Wavecrest SAI
+SET @ENTRY := 35102;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,2300,3900,11,6660,64,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Elleane Wavecrest - In Combat CMC - Cast 'Shoot'"),
+(@ENTRY,0,1,0,9,0,100,0,5,30,8000,11000,11,14443,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Elleane Wavecrest - Within 5-30 Range - Cast 'Multi-Shot'"),
+(@ENTRY,0,2,0,9,0,100,0,0,5,4000,7000,11,29426,0,0,0,0,0,2,0,0,0,0,0,0,0,"Captain Elleane Wavecrest - Within 0-5 Range - Cast 'Heroic Strike'");
+
+-- Defias Smuggler SAI
+SET @ENTRY := 95;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,15,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Smuggler - On Aggro - Say Line 0"),
+(@ENTRY,0,1,0,0,0,100,0,0,0,3500,4100,11,10277,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Smuggler - In Combat CMC - Cast 'Throw'"),
+(@ENTRY,0,2,0,67,0,100,0,1300,7300,4800,4900,11,53,0,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Smuggler - Behind Target - Cast 'Backstab'"),
+(@ENTRY,0,3,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Smuggler - Between 0-15% Health - Flee For Assist (No Repeat)");
+
+-- Defias Rogue Wizard SAI
+SET @ENTRY := 474;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Rogue Wizard - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,4,0,15,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Rogue Wizard - On Aggro - Say Line 0"),
+(@ENTRY,0,2,0,0,0,100,0,0,0,2300,3900,11,13322,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Rogue Wizard - In Combat CMC - Cast 'Frostbolt'");
+
+-- Kobold Geomancer SAI
+SET @ENTRY := 476;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kobold Geomancer - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,4,0,15,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kobold Geomancer - On Aggro - Say Line 0"),
+(@ENTRY,0,2,0,0,0,100,0,0,0,2300,3900,11,20793,64,0,0,0,0,2,0,0,0,0,0,0,0,"Kobold Geomancer - In Combat CMC - Cast 'Fireball'");
+
+-- Defias Pillager SAI
+SET @ENTRY := 589;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Pillager - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,4,0,15,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Pillager - On Aggro - Say Line 0"),
+(@ENTRY,0,2,0,0,0,100,0,0,0,3400,5400,11,20793,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Pillager - In Combat CMC - Cast 'Fireball'"),
+(@ENTRY,0,3,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Pillager - Between 0-15% Health - Flee For Assist (No Repeat)");
+
+-- Surena Caledon SAI
+SET @ENTRY := 881;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,0,0,0,0,0,1,0,0,0,0,0,0,0,"Surena Caledon - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,4,0,40,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Surena Caledon - On Aggro - Say Line 0"),
+(@ENTRY,0,2,0,0,0,100,0,0,0,2300,3900,11,20793,64,0,0,0,0,2,0,0,0,0,0,0,0,"Surena Caledon - In Combat CMC - Cast 'Fireball'");
+
+-- Blackhand Dreadweaver SAI
+SET @ENTRY := 9817;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,25,0,100,0,0,0,0,0,11,12380,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - On Reset - Cast 'Shadow Channeling' (Normal Dungeon)"),
+(@ENTRY,0,1,0,4,0,100,2,0,0,0,0,39,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - On Aggro - Call For Help (Normal Dungeon)"),
+(@ENTRY,0,2,0,0,0,100,2,0,0,3600,6300,11,12739,64,0,0,0,0,2,0,0,0,0,0,0,0,"Blackhand Dreadweaver - In Combat - Cast 'Shadow Bolt' (Normal Dungeon)"),
+(@ENTRY,0,3,0,0,0,100,2,9400,21400,22000,28800,11,7068,3,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - In Combat - Cast 'Veil of Shadow' (Normal Dungeon)"),
+(@ENTRY,0,4,0,2,0,100,3,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Between 0-15% Health - Flee For Assist (Normal Dungeon)"),
+(@ENTRY,0,5,7,1,0,100,2,0,8000,12000,14000,92,0,0,1,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Out of Combat - Interrupt Spell (Normal Dungeon)"),
+(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Out of Combat - Set Event Phase 1 (Normal Dungeon)"),
+(@ENTRY,0,7,0,1,1,100,2,0,0,0,0,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Out of Combat - Play Emote 1 (Normal Dungeon)"),
+(@ENTRY,0,8,10,1,1,100,2,4000,4000,4000,4000,11,12380,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Out of Combat - Cast 'Shadow Channeling' (Phase 1) (Normal Dungeon)"),
+(@ENTRY,0,9,0,61,1,100,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Dreadweaver - Out of Combat - Set Event Phase 0 (Phase 1) (Normal Dungeon)");
+
+-- Blackhand Summoner SAI
+SET @ENTRY := 9818;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,2,0,0,3600,6300,11,12466,64,0,0,0,0,2,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Cast 'Fireball' (Normal Dungeon)"),
+(@ENTRY,0,1,0,25,0,100,0,0,0,0,0,11,12380,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - On Reset - Cast 'Shadow Channeling' (Phase 1) (Normal Dungeon)"),
+(@ENTRY,0,2,0,4,0,100,2,0,0,0,0,39,10,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - On Aggro - Call For Help (Normal Dungeon)"),
+(@ENTRY,0,3,0,0,0,100,2,11400,11400,12700,16700,11,15532,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Cast 'Frost Nova' (Normal Dungeon)"),
+(@ENTRY,0,4,6,0,0,100,3,30000,35000,0,0,11,15792,1,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Cast 'Summon Blackhand Veteran' (No Repeat) (Normal Dungeon)"),
+(@ENTRY,0,5,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Say Line 0 (No Repeat) (Normal Dungeon)"),
+(@ENTRY,0,6,8,0,0,100,3,40000,45000,0,0,11,15794,1,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Cast 'Summon Blackhand Dreadweaver' (No Repeat) (Normal Dungeon)"),
+(@ENTRY,0,7,0,61,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - In Combat - Say Line 1 (No Repeat) (Normal Dungeon)"),
+(@ENTRY,0,8,0,2,0,100,3,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - Between 0-15% Health - Flee For Assist (No Repeat) (Normal Dungeon)"),
+(@ENTRY,0,9,0,1,0,100,2,0,8000,12000,14000,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Blackhand Summoner - Out of Combat - Play Emote 1 (No Repeat) (Normal Dungeon)");
+
+-- Shadowy Initiate SAI
+SET @ENTRY := 18716;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,62,0,100,0,7759,0,0,0,11,47068,0,0,0,0,0,7,0,0,0,0,0,0,0,"Shadowy Initiate - On Gossip Option 0 Selected - Cast 'Who Are They: Shadowy Initiate Kill Credit' (Phase 1) (No Repeat)"),
+(@ENTRY,0,1,0,0,0,100,0,0,0,2400,3800,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowy Initiate - In Combat CMC - Cast 'Shadow Bolt'");
+
+-- Shadowy Advisor SAI
+SET @ENTRY := 18719;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,62,0,100,0,7760,0,0,0,11,47070,0,0,0,0,0,7,0,0,0,0,0,0,0,"Shadowy Advisor - On Gossip Option 0 Selected - Cast 'Who Are They: Shadowy Advisor Kill Credit' (Phase 1) (No Repeat)"),
+(@ENTRY,0,1,0,0,0,100,0,0,0,2400,3800,11,9613,64,0,0,0,0,2,0,0,0,0,0,0,0,"Shadowy Advisor - In Combat CMC - Cast 'Shadow Bolt'");
+
+-- Surge Needle Sorcerer SAI
+SET @ENTRY := 26257;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,3400,4800,11,51797,64,0,0,0,0,2,0,0,0,0,0,0,0,"Surge Needle Sorcerer - In Combat CMC - Cast 'Arcane Blast'");
View
21 sql/updates/world/2013_12_22_01_world_misc.sql
@@ -0,0 +1,21 @@
+-- Kara Thricestar SAI
+SET @ENTRY := 26602;
+UPDATE `creature_template` SET `AIName`='SmartAI', ScriptName= '' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,1,4,0,100,0,0,0,0,0,12,9526,4,4,0,0,0,1,0,0,0,0,0,0,0,"Kara Thricestar - On Aggro - Summon Enraged Gryphon"),
+(@ENTRY,0,1,2,61,0,100,0,0,0,0,0,12,9526,4,4,0,0,0,1,0,0,0,0,0,0,0,"Kara Thricestar - On Aggro - Summon Enraged Gryphon"),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kara Thricestar - On Aggro - Say Line 0"),
+(@ENTRY,0,3,0,62,0,100,0,9683,1,0,0,11,51446,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kara Thricestar - On gossip Option select - Cast Fizzcrank Airstrip to Dens of Dying Taxi");
+-- Add Gossip Options
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (9683);
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`option_id`,`npc_option_npcflag`,`action_menu_id`) VALUES
+(9683,1,0, 'Kara, I need to be flown out the Dens of Dying to find Bixie.',1,1,0);
+-- Add Conditions
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9683 AND `SourceEntry`=1;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15,9683,1,0,0,28,0,11692,0,0,0,0,0, '', 'Gossip Option - Show Option if Player has completed quest 11692');
+
+-- Update Wintergrasp Battle-Mage cpp to remove SmartAI
+UPDATE `creature_template` SET `AIName`='' WHERE `entry` IN (32169,32170,35596,35597,35598,35599,35600,35601,35602,35603,35611,35612);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (32169,32170,35596,35597,35598,35599,35600,35601,35602,35603,35611,35612) AND `source_type`=0;
View
24 sql/updates/world/2013_12_22_02_world_misc.sql
@@ -0,0 +1,24 @@
+-- Axle SAI
+SET @ENTRY := 23995;
+UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`= '' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,11,0,100,0,0,0,0,0,53,0,23995,1,0,0,0,1,0,0,0,0,0,0,0,"Axle - On Respawn - Start Waypoint"),
+(@ENTRY,0,1,2,40,0,100,0,4,23995,0,0,54,24000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Axle - On Waypoint 4 Reached - Pause Waypoint"),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,80,2399500,0,0,0,0,0,1,0,0,0,0,0,0,0,"Axle - On Waypoint 4 Reached - Run Script"),
+(@ENTRY,0,3,4,40,0,100,0,8,23995,0,0,54,140000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Axle - On Waypoint 8 Reached - Pause Waypoint"),
+(@ENTRY,0,4,0,61,0,100,0,0,0,0,0,66,23995,0,0,0,0,0,1,0,0,0,0,0,0,0,"Axle - On Waypoint 8 Reached - Set Orientation Home Position"),
+(@ENTRY,0,5,6,62,0,100,0,9123,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Axle - On Gossip Option 0 Selected - Close Gossip"),
+(@ENTRY,0,6,0,61,0,100,0,0,0,0,0,85,24751,0,0,0,0,0,7,0,0,0,0,0,0,0,"Axle - On Gossip Option 0 Selected - Invoker Cast 'Trick or Treat'");
+
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=9123);
+INSERT INTO `gossip_menu_option` (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text) VALUES
+(9123,0,0, 'Trick or Treat!',1,1,0,0,0,0, ''),
+(9123,2,5, 'Make this inn your home.',8,65536,0,0,0,0, ''),
+(9123,3,1, 'Let me browse your goods.',3,128,0,0,0,0, '');
+
+-- Add condition for Gossip Option
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=9123;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, 9123, 0, 0, 0, 1, 0, 24755, 0, 0, 1, 0, 0, '', 'Gossip Option - Player must not have aura Tricked or Treated'),
+(15, 9123, 0, 0, 0, 12, 0, 12, 0, 0, 0, 0, 0, '', 'Gossip Option - Hallow''s End event must be active');
View
2 sql/updates/world/2013_12_22_03_world_quest_template.sql
@@ -0,0 +1,2 @@
+-- [FIX] Wrong Previous quest for 12836 Expression of Gratitude
+UPDATE `quest_template` SET `PrevQuestId`=12822 WHERE `Id`=12836;
View
3 sql/updates/world/2013_12_22_04_world_creature.sql
@@ -0,0 +1,3 @@
+-- Talonpriest Skizzik
+DELETE FROM `creature` WHERE `guid`=132573;
+DELETE FROM `creature_addon` WHERE `guid`=132573;
View
5 sql/updates/world/2013_12_22_05_world_misc.sql
@@ -0,0 +1,5 @@
+-- Bloodmaul Brute
+SET @ENTRY := 19991;
+UPDATE `creature_template` SET `AIName`='',`ScriptName`= 'npc_bloodmaul_brute' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry`=@ENTRY;
View
27 sql/updates/world/2013_12_22_06_world_misc.sql
@@ -0,0 +1,27 @@
+-- Val'kyr Battle-maiden
+SET @ENTRY := 31095;
+DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=@ENTRY);
+DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@ENTRY,50331648,1,0, '');
+
+-- Scourge Necromancer
+SET @ENTRY := 31096;
+DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=@ENTRY);
+DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@ENTRY,0,1,0, '');
+
+-- Scourge Necromancer SAI
+SET @ENTRY := 31096;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,0,0,3400,4800,11,20298,64,0,0,0,0,2,0,0,0,0,0,0,0,"Scourge Necromancer - In Combat CMC - Cast Shadow Bolt"),
+(@ENTRY,0,1,0,0,0,100,0,12000,15000,16000,19000,11,51337,1,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Necromancer - In Combat - Cast Shadowflame"),
+(@ENTRY,0,2,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Scourge Necromancer - Between 0-15% Health - Flee For Assist (No Repeat)");
+
+-- Terrifying Abomination
+SET @ENTRY := 31098;
+DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=@ENTRY) AND `auras`<> '29266';
+DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=@ENTRY) AND `auras` IS NULL;
+DELETE FROM `creature_template_addon` WHERE `entry`=@ENTRY;
+INSERT INTO `creature_template_addon` (`entry`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@ENTRY,0,1,0, '');
View
14 sql/updates/world/2013_12_22_07_world_creature_text.sql
@@ -0,0 +1,14 @@
+-- NPC talk text insert from sniff
+UPDATE `creature_text` SET `text`= 'What is this? Mok-thorin ka! Kill them!' WHERE `entry`=26798 AND `groupid`=0;
+UPDATE `creature_text` SET `text`= 'Gaagh...' WHERE `entry`=26798 AND `groupid`=2;
+UPDATE `creature_text` SET `text`= 'You know what they say about curiosity....' WHERE `entry`=26731 AND `groupid`=0;
+DELETE FROM `creature_text` WHERE `entry`=26763 AND `groupid` IN (4,5);
+DELETE FROM `creature_text` WHERE `entry`=26794 AND `groupid`=6;
+DELETE FROM `creature_text` WHERE `entry`=26723 AND `groupid`=5;
+DELETE FROM `creature_text` WHERE `entry`=34716 AND `id`=4;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(26763,4,0, '%s opens a Chaotic Rift!',41,0,100,0,0,0, 'Anomalus'),
+(26763,5,0, '%s shields himself and diverts his power to the rifts!',41,0,100,0,0,0, 'Anomalus'),
+(26794,6,0, '%s goes into a frenzy!',41,0,100,0,0,0, 'Ormorok the Tree-Shaper'),
+(26723,5,0, '%s goes into a frenzy!',16,0,100,0,0,0, 'Keristrasza'),
+(34716,0,4, 'I thought I''d never make it out of here alive.',12,0,100,5,0,0, 'Captive Aspirant');
View
22 sql/updates/world/2013_12_22_08_world_creature_text.sql
@@ -0,0 +1,22 @@
+-- NPC talk text insert from sniff
+DELETE FROM `creature_text` WHERE `entry`=30452 AND `groupid` IN (6,7);
+DELETE FROM `creature_text` WHERE `entry`=30449 AND `groupid` IN (6,7);
+DELETE FROM `creature_text` WHERE `entry`=30451 AND `groupid` IN (6,7);
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(30452,6,0, '%s begins to open a Twilight Portal!',41,0,100,0,0,0, 'Tenebron WHISPER_OPEN_PORTAL'),
+(30452,7,0, 'Tenebron begins to hatch eggs in the Twilight!',41,0,100,0,0,0, 'Tenebron WHISPER_OPENED_PORTAL'),
+(30449,6,0, '%s begins to open a Twilight Portal!',41,0,100,0,0,0, 'Vesperon WHISPER_OPEN_PORTAL'),
+(30449,7,0, 'A Vesperon Disciple appears in the Twilight!',41,0,100,0,0,0, 'Vesperon - WHISPER_OPENED_PORTAL'),
+(30451,6,0, '%s begins to open a Twilight Portal!',41,0,100,0,0,0, 'Shadron WHISPER_OPEN_PORTAL'),
+(30451,7,0, 'A Shadron Disciple appears in the Twilight!',41,0,100,0,0,0, 'Shadron - WHISPER_OPENED_PORTAL');
+
+UPDATE `creature_text` SET `text`= 'Right. Let''s see if we can finish this keystone.' WHERE `entry`=31810 AND `groupid`=0;
+UPDATE `creature_text` SET `text`= 'We... are superior! How could this... be?' WHERE `entry`=30451 AND `groupid`=2;
+UPDATE `creature_text` SET `text`= 'You have no place here! Your place... is among the departed!' WHERE `entry`=30452 AND `groupid`=2;
+UPDATE `creature_text` SET `text`= 'To darkness I condemn you.' WHERE `entry`=30452 AND `groupid`=3;
+UPDATE `creature_text` SET `text`= 'Tenebron begins to hatch eggs in the Twilight!' WHERE `entry`=30452 AND `groupid`=6;
+UPDATE `creature_text` SET `text`= 'I am no mere dragon. You will find that I am much, much more.' WHERE `entry`=30452 AND `groupid`=5 AND `id`=1;
+UPDATE `creature_text` SET `text`= 'You pose no threat, lesser beings! Give me your worst!' WHERE `entry`=30449 AND `groupid`=6;
+UPDATE `creature_text` SET `text`= 'I still have some... fight... in me-e-e...' WHERE `entry`=30449 AND `groupid`=2;
+UPDATE `creature_text` SET `text`= 'Such is the price... of failure....' WHERE `entry`=28860 AND `groupid`=6;
+UPDATE `creature_text` SET `text`= 'I should not... have held back...' WHERE `entry`=30452 AND `groupid`=2;
View
4 sql/updates/world/2013_12_22_09_world_sai.sql
@@ -0,0 +1,4 @@
+UPDATE `smart_scripts` SET `link`=6 WHERE `entryorguid`=9817 AND `source_type`=0 AND `id`=5;
+UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=9817 AND `source_type`=0 AND `id`=8;
+UPDATE `smart_scripts` SET `link`=5 WHERE `entryorguid`=9818 AND `source_type`=0 AND `id`=4;
+UPDATE `smart_scripts` SET `link`=7 WHERE `entryorguid`=9818 AND `source_type`=0 AND `id`=6;
View
44 sql/updates/world/2013_12_23_00_world_misc.sql
@@ -0,0 +1,44 @@
+DELETE FROM `spell_target_position` WHERE `id`=56649;
+INSERT INTO `spell_target_position` (`id`,`effIndex`,`target_map`,`target_position_x`,`target_position_y`,`target_position_z`,`target_orientation`) VALUES
+(56649,0,571,7989.938,-3195.042,922.6224,3.572167);
+
+DELETE FROM `spell_script_names` WHERE `spell_id`=50630;
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(50630, 'spell_jokkum_eject_all');
+
+DELETE FROM `spell_script_names` WHERE `spell_id`=56650;
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(56650, 'spell_veranus_summon');
+
+-- Pathing for King Jokkum Entry: 30331
+-- by malcrom
+SET @PATH := 2072200;
+DELETE FROM `waypoint_data` WHERE `id` IN (@PATH, @PATH+1);
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_flag`,`action`,`action_chance`,`wpguid`) VALUES
+-- Path to event
+(@PATH,1,7357.088,-2865.398,803.5008,0,0,1,0,100,0),
+(@PATH,2,7355.184,-2904.322,821.0084,0,0,1,0,100,0),
+(@PATH,3,7355.473,-2946.654,833.0916,0,0,1,0,100,0),
+(@PATH,4,7358.789,-2974.211,845.01801,0,0,1,0,100,0),
+(@PATH,5,7360.866,-2994.785,845.9886,0,0,1,0,100,0),
+(@PATH,6,7378.764,-3035.887,840.6003,0,0,1,0,100,0),
+(@PATH,7,7411.658,-3072.211,837.5768,0,0,1,0,100,0),
+(@PATH,8,7453.996,-3088.695,837.5768,0,0,1,0,100,0),
+(@PATH,9,7496.08,-3113.922,837.5829,0,0,1,0,100,0),
+(@PATH,10,7536.843,-3136.489,837.5808,0,0,1,0,100,0),
+(@PATH,11,7564.738,-3145.144,844.8308,0,0,1,0,100,0),
+(@PATH,12,7604.358,-3171.258,850.8867,0,0,1,0,100,0),
+(@PATH,13,7635.467,-3207.211,857.19,0,0,1,0,100,0),
+(@PATH,14,7657.858,-3219.258,863.19,0,0,1,0,100,0),
+(@PATH,15,7685.416,-3218.983,867.14136,0,0,1,0,100,0),
+(@PATH,16,7706.542,-3219.742,864.3326,0,0,1,0,100,0),
+(@PATH,17,7747.335,-3226.993,862.4576,0,0,1,0,100,0),
+(@PATH,18,7796.658,-3221.782,860.6461,0,0,1,0,100,0),
+(@PATH,19,7827.596,-3229.273,856.4147,0,0,1,0,100,0),
+(@PATH,20,7846.174,-3253.239,852.1281,0,0,1,0,100,0),
+-- Path after event and despawn
+(@PATH+1,1,7837.094,-3235.536,853.8781,0,0,1,0,100,0),
+(@PATH+1,2,7828.622,-3230.38,855.9147,0,0,1,0,100,0),
+(@PATH+1,3,7793.782,-3219.743,861.1461,0,0,1,0,100,0),
+(@PATH+1,4,7765.224,-3225.374,864.0826,0,0,1,0,100,0),
+(@PATH+1,5,7736.733,-3226.5,861.4576,0,0,1,0,100,0);
View
28 sql/updates/world/2013_12_23_01_world_misc.sql
@@ -0,0 +1,28 @@
+-- Overseer Nuaar SAI
+SET @ENTRY := 21981;
+UPDATE `creature_template` SET `AIName`='SmartAI', `ScriptName`= '' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,62,0,100,0,8429,0,0,0,26,10682,0,0,0,0,0,7,0,0,0,0,0,0,0,"Overseer Nuaar - On Gossip Option - Complete quest 10682");
+
+-- Add Conditions for Overseer Nuaar gossip
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8429;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15,8429,0,0,0,9,0,10682,0,0,0,0,0, '', 'Gossip Option - Show Option if Quest 10682 is taken');
+
+-- Add Conditions for Sai'kkal the Elder gossip
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=8616;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15,8616,0,0,0,9,0,10980,0,0,0,0,0, '', 'Gossip Option - Show Option if Quest 10980 is taken');
+
+UPDATE `creature_template` SET `gossip_menu_id`=8616 WHERE `entry`=22932;
+DELETE FROM `gossip_menu` WHERE (`entry`=8616 AND `text_id`=10794);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8616,10794);
+DELETE FROM `gossip_menu` WHERE (`entry`=8617 AND `text_id`=10795);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8617,10795);
+DELETE FROM `gossip_menu` WHERE (`entry`=8618 AND `text_id`=10796);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (8618,10796);
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (8616,8617);
+INSERT INTO `gossip_menu_option` (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text) VALUES
+(8616,0,0, 'Yes... yes, it''s me.',1,1,8617,0,0,0, ''),
+(8617,0,0, 'Yes elder. Tell me more of the book.',1,1,8618,0,0,0, '');
View
12 sql/updates/world/2013_12_23_02_world_gossip.sql
@@ -0,0 +1,12 @@
+-- Add Missing gossip for Engineer "Spark" Overgrind
+UPDATE `creature_template` SET `gossip_menu_id`=7426 WHERE `entry`=17243;
+DELETE FROM `gossip_menu` WHERE (`entry`=7426 AND `text_id`=8978);
+INSERT INTO `gossip_menu` (`entry`,`text_id`) VALUES (7426,8978);
+DELETE FROM `gossip_menu_option` WHERE `menu_id` IN (7426);
+INSERT INTO `gossip_menu_option` (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, box_coded, box_money, box_text) VALUES
+(7426,0,0, 'It''s over, Spark. The admiral knows it was you who betrayed the Alliance. Now you''re either going to cooperate with me and tell me everything that you know or we''re going to engage in some fisticuff.',1,1,0,0,0,0, '');
+
+-- Add Conditions for Engineer "Spark" Overgrind gossip
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7426;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`,