Advertisement
Callmephil

Welcome NPC (Cataclysm 4.3.4)

Jan 16th, 2014
379
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 36.04 KB | None | 0 0
  1. /*
  2. //Trinitycore//
  3. Author : Philippe
  4. Welcome NPC (Cataclysm)
  5. Version : 4.3.4a
  6.  
  7. //Spell List % Complete//
  8. Warrior : 100 %
  9. Mage : 100 %
  10. Druid : 100 %
  11. Paladin : 100 %
  12. Warlock : 100 %
  13. Hunter : 100 %
  14. Shaman : 100 %
  15. Rogue : 100 %
  16. Priest : 100 %
  17. DK : 100 %
  18. Mount spells : 100 %
  19. Mastery : 100 %
  20.  
  21. //Spell Glyph % Complete//
  22. Warrior : 100 %
  23. Mage : 100 %
  24. Druid : 100 %
  25. Paladin : 100 %
  26. Warlock : 100 %
  27. Hunter : 100 %
  28. Shaman : 100 %
  29. Rogue : 100 %
  30. Priest : 100 %
  31. DK : 100 %
  32. */
  33.  
  34. #include "ScriptPCH.h"
  35. #include "Chat.h"
  36.  
  37. enum eIcons
  38. {
  39.     CHAT_ICON               = 0,
  40.     VENDOR_ICON             = 1,
  41.     FLIGHT_ICON             = 2,
  42.     TRAINER_ICON            = 3,
  43.     GEAR_ICON               = 4,
  44.     GEAR_ICON_2             = 5,
  45.     BANK_ICON               = 6,
  46.     CHAT_DOTS_ICON          = 7,
  47.     TABARD_ICON             = 8,
  48.     SWORDS_ICON             = 9,
  49.     GOLD_DOT_ICON           = 10
  50. };
  51.  
  52. enum bags_id
  53. {
  54.     bag_24 = 51809, // Unused
  55.     bag_36 = 23162, // Used
  56.    
  57.     Number_of_Bags = 4 // 1-2-3-4 Default
  58. };
  59.  
  60. enum war_spell
  61. {
  62.     war_spell_Charge = 100,
  63.     war_spell_Rend = 772,
  64.     war_spell_Thunder_Clap = 6343,
  65.     war_spell_Heroic_Strike = 78,
  66.     war_spell_Heroic_Throw =57755,
  67.     war_spell_OverPower = 7384,
  68.     war_spell_Hamstring = 1715,
  69.     war_spell_Retaliation = 20230,
  70.     war_spell_Shattering_Throw = 64382,
  71.     war_spell_Colossus_Smash = 86346,
  72.     war_spell_Victory_Rush = 34428,
  73.     war_spell_Execute = 5308,
  74.     war_spell_Battle_Shout = 6673,
  75.     war_spell_Cleave = 845,
  76.     war_spell_Berserker_Stance =2458,
  77.     war_spell_WhirlWind = 1680,
  78.     war_spell_Pummel = 6552,
  79.     war_spell_Intimidating_Shout = 5246,
  80.     war_spell_Slam = 1464,
  81.     war_spell_Challenging_shout = 1161,
  82.     war_spell_Intercept = 20252,
  83.     war_spell_Demoralizing_Shout = 1160,
  84.     war_spell_Berserker_Rage = 18499,
  85.     war_spell_Inner_rage = 1134,
  86.     war_spell_Recklessness = 1719,
  87.     war_spell_Commanding_Shout = 469,
  88.     war_spell_Enraged_Regeneration = 55694,
  89.     war_spell_Rallying_Cry = 97462,
  90.     war_spell_Heroic_leap = 6544,
  91.     war_spell_Defensive_Stance = 71,
  92.     war_spell_Parry = 3127,
  93.     war_spell_Taunt = 355,
  94.     war_spell_Shield_Block = 2565,
  95.     war_spell_Disarm = 676,
  96.     war_spell_Revenge = 6572,
  97.     war_spell_Shield_Wall = 871,
  98.     war_spell_Stance_Mastery = 12678,
  99.     war_spell_Shell_Reflection = 23920,
  100.     war_spell_Intervene = 3411,
  101.     war_spell_Sunder_Armor = 7386,
  102.     war_spell_Mastery = 87500
  103. };
  104.  
  105. enum pala_spell
  106. {
  107.     pala_spell_holy_light = 635,
  108.     pala_spell_word_of_glory = 85673,
  109.     pala_spell_redemption = 7328,
  110.     pala_spell_flash_of_light = 19750,
  111.     pala_spell_lay_of_hands = 633,
  112.     pala_spell_Exorcism = 879,
  113.     pala_spell_consecration = 26573,
  114.     pala_spell_holy_wrath = 2812,
  115.     pala_spell_seal_of_insight = 20165,
  116.     pala_spell_cleanse = 4987,
  117.     pala_spell_concentration_aura = 19746,
  118.     pala_spell_divine_plea = 54428,
  119.     pala_spell_divine_light = 82326,
  120.     pala_spell_turn_evil = 10326,
  121.     pala_spell_holy_radiance = 82327,
  122.     pala_spell_seal_of_righteousness = 20154,
  123.     pala_spell_devotion_aura = 465,
  124.     pala_spell_parry  = 82242,
  125.     pala_spell_righteous_fury = 25780,
  126.     pala_spell_hammer_of_justice = 853,
  127.     pala_spell_hand_of_reckoning = 62124,
  128.     pala_spell_hand_of_protection = 1022,
  129.     pala_spell_blessing_of_kings = 20217,
  130.     pala_spell_divine_protection = 498,
  131.     pala_spell_righteous_defense = 31789,
  132.     pala_spell_divine_shield = 642,
  133.     pala_spell_hand_of_freedom = 1044,
  134.     pala_spell_seal_of_justice = 20164,
  135.     pala_spell_hand_of_salvation = 1038,
  136.     pala_spell_resistance_aura = 19891,
  137.     pala_spell_hand_of_sacrifice = 6940,
  138.     pala_spell_guardian_of_ancient_kings = 86150,
  139.     pala_spell_judgement = 20271,
  140.     pala_spell_retribution_aura = 7294,
  141.     pala_spell_seal_of_truth = 31801,
  142.     pala_spell_hammer_of_wrath = 24275,
  143.     pala_spell_rebuke = 96231,
  144.     pala_spell_blessing_of_might = 19740,
  145.     pala_spell_crusader_aura = 32223,
  146.     pala_spell_avenging_wrath = 31884,
  147.     pala_spell_inquisition = 84963
  148. };
  149.  
  150. enum mage_spell
  151. {
  152.     mage_spell_Conjure_mana_gem = 759,
  153.     mage_spell_mirror_image = 55342,
  154.     mage_spell_arcane_brilliance = 1459,
  155.     mage_spell_mage_armor = 6117,
  156.     mage_spell_spellsteal = 30449,
  157.     mage_spell_ritual_of_refreshment = 43987,
  158.     mage_spell_invisibility = 66,
  159.     mage_spell_time_warp = 80353,
  160.     mage_spell_Arcane_missiles = 5143,
  161.     mage_spell_Counterspell = 2139,
  162.     mage_spell_Evocation = 12051,
  163.     mage_spell_Polymorph = 118,
  164.     mage_spell_Blink = 1953,
  165.     mage_spell_Arcane_Blast = 30451,
  166.     mage_spell_Arcane_Explosion = 1449,
  167.     mage_spell_Remove_curse = 475,
  168.     mage_spell_slow_fall = 130,
  169.     mage_spell_mage_ward = 543,
  170.     mage_spell_conjure_refreshement = 42955,
  171.     mage_spell_mana_shield = 1463,
  172.     mage_spell_fire_blast = 2136,
  173.     mage_spell_scorch = 2948,
  174.     mage_spell_molten_armor = 30482,
  175.     mage_spell_Flamestrike = 2120,
  176.     mage_spell_frostfire_bolt = 44614,
  177.     mage_spell_flame_orb = 82731,
  178.     mage_spell_frostbolt = 116,
  179.     mage_spell_frost_nova = 122,
  180.     mage_spell_Cone_of_cold = 120,
  181.     mage_spell_ice_lance = 30455,
  182.     mage_spell_ice_block = 45438,
  183.     mage_spell_blizzard = 10,
  184.     mage_spell_forst_armor = 7302,
  185.     mage_spell_ring_of_frost = 82676
  186. };
  187.  
  188. enum dk_spell
  189. {
  190.     dk_spell_Death_Strike = 49998,
  191.     dk_spell_Pestilence = 50842,
  192.     dk_spell_Blood_Presence = 48263,
  193.     dk_spell_blood_boil = 48721,
  194.     dk_spell_strangulate = 47476,
  195.     dk_spell_Blood_Tap = 45529,
  196.     dk_spell_Dark_command = 56222,
  197.     dk_spell_death_pact = 48743,
  198.     dk_spell_Dark_simulacrum = 77606,
  199.     dk_spell_mind_freeze = 47528,
  200.     dk_spell_chains_of_ice = 45524,
  201.     dk_spell_obliterate = 49020,
  202.     dk_spell_path_of_frost = 3714,
  203.     dk_spell_icebound_fortitude = 48792,
  204.     dk_spell_festering_strike = 85948,
  205.     dk_spell_horn_of_winter = 57330,
  206.     dk_spell_rune_strike = 56815,
  207.     dk_spell_runic_empowerment = 81229,
  208.     dk_spell_empower_rune_weapon = 47568,
  209.     dk_spell_raise_dead = 46584,
  210.     dk_spell_death_of_decay = 43265,
  211.     dk_spell_anti_magic_shell = 48707,
  212.     dk_spell_unholy_presence = 48265,
  213.     dk_spell_raise_ally = 61999,
  214.     dk_spell_army_of_the_dead = 42650,
  215.     dk_spell_outbreak =  77575,
  216.     dk_spell_necrotic_strike = 73975
  217. };
  218.  
  219. enum druid_spell
  220. {
  221.     druid_spell_moonfire = 8921,
  222.     druid_spell_thorns = 467,
  223.     druid_spell_entanling_roots = 339,
  224.     druid_spell_starfire = 2912,
  225.     druid_spell_teleport_moonglade = 18960,
  226.     druid_spell_insect_swarm = 5570,
  227.     druid_spell_faerie_fire = 770,
  228.     druid_spell_innervate = 29166,
  229.     druid_spell_soothe = 2908,
  230.     druid_spell_hurricane = 16914,
  231.     druid_spell_hibernate = 2637,
  232.     druid_spell_nature_grasp = 16689,
  233.     druid_spell_barkskin = 22812,
  234.     druid_spell_cyclone = 33786,
  235.     druid_spell_wild_mushroom = 88747,
  236.     druid_spell_wild_mushroom_detonate = 88751,
  237.     druid_spell_cat_form = 768,
  238.     druid_spell_claw = 1082,
  239.     druid_spell_ferocious_bite = 22568,
  240.     druid_spell_rake = 1822,
  241.     druid_spell_prowl = 5215,
  242.     druid_spell_bear_form = 5487,
  243.     druid_spell_demoralizing_roar = 99,
  244.     druid_spell_growl = 6795,
  245.     druid_spell_maul = 6807,
  246.     druid_spell_aquatic_form = 1066,
  247.     druid_spell_travel_form = 783,
  248.     druid_spell_swipe = 779,
  249.     druid_spell_enrage = 5229,
  250.     druid_spell_ravage = 6785,
  251.     druid_spell_skill_Bash_cat = 80965,
  252.     druid_spell_skill_bash_bear = 80964,
  253.     druid_spell_faerie_fire_feral = 16857,
  254.     druid_spell_tiger_fury = 5217,
  255.     druid_spell_cower = 8998,
  256.     druid_spell_dash = 1850,
  257.     druid_spell_feline_grace = 20719,
  258.     druid_spell_challenging_roar = 5209,
  259.     druid_spell_bash = 5211,
  260.     druid_spell_pounce = 9005
  261.     druid_spell_swipe_feral = 62078,
  262.     druid_spell_savage_defense = 62600,
  263.     druid_spell_shred = 5221,
  264.     druid_spell_frenzied_regeneration = 22842,
  265.     druid_spell_rip = 1079,
  266.     druid_spell_flight_form = 33943,
  267.     druid_spell_maim = 22570,
  268.     druid_spell_lacerate = 33745,
  269.     druid_spell_swift_flight_form = 40120,
  270.     druid_spell_savage_roar = 52610,
  271.     druid_spell_trash = 77758,
  272.     druid_spell_stampeding_roar = 77761,
  273.     druid_spell_stampeding_raor_cat = 77764,
  274.     druid_spell_rejuvenation = 774,
  275.     druid_spell_nourish = 50464,
  276.     druid_spell_regrowth = 8936,
  277.     druid_spell_revive = 50769,
  278.     druid_spell_omen_of_clarity = 16864,
  279.     druid_spell_rebirth = 20484,
  280.     druid_spell_remove_corruption = 2782,
  281.     druid_spell_mark_of_the_wild = 1126,
  282.     druid_spell_lifebloom = 33763,
  283.     druid_spell_tranquility = 740,
  284.     druid_spell_healing_touch = 5185,
  285.     druid_spell_track_1 = 5225,
  286. };
  287.  
  288. enum shaman_spell
  289. {
  290.     shaman_spell_earth_shock = 8042,
  291.     shaman_spell_searing_totem  = 3599,
  292.     shaman_spell_purge = 370,
  293.     shaman_spell_flame_shock = 8050,
  294.     shaman_spell_wind_shear = 57994,
  295.     shaman_spell_earthbind_totem = 2484,
  296.     shaman_spell_frost_shock = 8056,
  297.     shaman_spell_chain_lightning = 421,
  298.     shaman_spell_fire_nova = 1535,
  299.     shaman_spell_call_of_the_elements = 66842,
  300.     shaman_spell_lava_burst = 51505,
  301.     shaman_spell_magma_totem = 8190,
  302.     shaman_spell_call_of_the_ancestors = 66843,
  303.     shaman_spell_call_of_the_spirits = 66844,
  304.     shaman_spell_stoneclaw_totem = 5730,
  305.     shaman_spell_bind_elemental = 76780,
  306.     shaman_spell_fire_elemental_totem = 2894,
  307.     shaman_spell_hex = 51514,
  308.     shaman_spell_spiritwalker_grace = 79206,
  309.     shaman_spell_primal_strike = 73899,
  310.     shaman_spell_strenght_of_earth_totem = 8075,
  311.     shaman_spell_lightning_shield = 324,
  312.     shaman_spell_flametongue_weapon = 8024,
  313.     shaman_spell_flametongue_totem = 8227,
  314.     shaman_spell_ghost_Wolf = 2645,
  315.     shaman_spell_water_walking = 546,
  316.     shaman_spell_frostbrand_weapon = 8033,
  317.     shaman_spell_astral_recall = 556,
  318.     shaman_spell_windfury_totem = 8512,
  319.     shaman_spell_windfury_weapon =  8232,
  320.     shaman_spell_far_sight = 6196,
  321.     shaman_spell_grounding_totem = 8177,
  322.     shaman_spell_wrath_of_air_totem = 3738,
  323.     shaman_spell_water_breathing = 131,
  324.     shaman_spell_stoneskin_totem = 8071,
  325.     shaman_spell_earth_elemental_totem = 2062,
  326.     shaman_spell_elemental_resistance_totem = 8184,
  327.     shaman_spell_rockbiter_weapon = 8017,
  328.     shaman_spell_unleash_elements = 73680,
  329.     shaman_spell_healing_wave = 331,
  330.     shaman_spell_ancestral_spirit = 2008,
  331.     shaman_spell_cleanse_spirit = 51886,
  332.     shaman_spell_healing_stream_totem = 5394,
  333.     shaman_spell_healing_surge = 8004,
  334.     shaman_spell_water_shield = 52127,
  335.     shaman_spell_reincarnation = 20608,
  336.     shaman_spell_totemic_recall = 36936,
  337.     shaman_spell_chain_heal = 1064,
  338.     shaman_spell_mana_spring_totem = 5675,
  339.     shaman_spell_tremor_totem = 8143,
  340.     shaman_spell_earthliving_weapon = 51730,
  341.     shaman_spell_greater_healing_wave = 77472,
  342.     shaman_spell_totem_of_tranquil_mind = 87718,
  343.     shaman_spell_healing_rain = 73920,
  344. };
  345.  
  346. enum hunter_spell
  347. {
  348.     hunter_spell_beast_lore = 1462,
  349.     hunter_spell_control_pet = 93321,
  350.     hunter_spell_Dismiss_pet = 2641,
  351.     hunter_spell_feed_pet = 6991,
  352.     hunter_spell_kill_command = 34026,
  353.     hunter_spell_tame_beast = 1515,
  354.     hunter_spell_aspect_of_the_hawk = 13165,
  355.     hunter_spell_eagle_eye = 6197,
  356.     hunter_spell_Mend_pet = 136,
  357.     hunter_spell_call_pet_2 = 83242,
  358.     hunter_spell_aspect_of_the_cheetah = 5118,
  359.     hunter_spell_scare_beast = 1513,
  360.     hunter_spell_window_venom = 82654,
  361.     hunter_spell_call_pet_3 = 83243,
  362.     hunter_spell_aspect_of_the_pack = 13159,
  363.     hunter_spell_call_pet_4 = 83244,
  364.     hunter_spell_aspect_of_the_wild = 20043,
  365.     hunter_spell_master_call = 53271,
  366.     hunter_spell_call_pet_5 = 83245,
  367.     hunter_spell_aspect_of_the_fox = 82661,
  368.     hunter_spell_steady_shot =  56641,
  369.     hunter_spell_hunter_mark = 1130,
  370.     hunter_spell_multi_shot = 2643,
  371.     hunter_spell_kill_shot = 53351,
  372.     hunter_spell_tranquilizing_shot = 19801,
  373.     hunter_spell_flare = 1543,
  374.     hunter_spell_distracting_shot = 20736,
  375.     hunter_spell_rapid_fire = 3045,
  376.     hunter_spell_raptor_strike = 2973,
  377.     hunter_spell_parry = 82243,
  378.     hunter_spell_serpent_sting = 1978,
  379.     hunter_spell_wing_clip = 2974,
  380.     hunter_spell_disengage = 781,
  381.     hunter_spell_scatter_shot = 19503,
  382.     hunter_spell_immolation_trap = 13795,
  383.     hunter_spell_freezing_trap = 1499,
  384.     hunter_spell_feign_death = 5384,
  385.     hunter_spell_explosive_trap = 13813,
  386.     hunter_spell_ice_trap  = 13809,
  387.     hunter_spell_trap_launcher = 77769,
  388.     hunter_spell_snake_trap = 34600,
  389.     hunter_spell_misdirection = 34477,
  390.     hunter_spell_deterrence = 19263,
  391.     hunter_spell_cobra_shot = 77767,
  392.     hunter_spell_camouflage = 51753,
  393.     hunter_Spell_Concussive_shot = 5116,
  394.     hunter_Spell_Track_1 = 1494,
  395.     hunter_Spell_Track_2 = 5116,
  396.     hunter_Spell_Track_3 = 79682,
  397.     hunter_Spell_Track_4 = 19883,
  398.     hunter_Spell_Track_5 = 19884,
  399.     hunter_Spell_Track_6 = 19885,
  400.     hunter_Spell_Track_7 = 19880,
  401.     hunter_Spell_Track_8 = 19878,
  402.     hunter_Spell_Track_9 = 19882,
  403.     hunter_Spell_Track_10 = 19879,
  404.  
  405. };
  406.  
  407. enum rogue_spell
  408. {
  409.     rogue_spell_Eviscerate = 2098,
  410.     rogue_spell_Ambush = 8676,
  411.     rogue_spell_Poisons = 2842,
  412.     rogue_spell_Slice_and_Dice =5171,
  413.     rogue_spell_Cheap_Shot = 1833,
  414.     rogue_spell_Kidney_Shot = 408,
  415.     rogue_spell_Expose_Armor = 8647,
  416.     rogue_spell_Dismantle = 51722,
  417.     rogue_spell_Garrote = 703,
  418.     rogue_spell_Rupture = 1943,
  419.     rogue_spell_Envenom = 32645,
  420.     rogue_spell_Deadly_Throw = 26679,
  421.     rogue_spell_Evasion = 5277,
  422.     rogue_spell_Parry = 82245,
  423.     rogue_spell_Recuperate = 73651,
  424.     rogue_spell_Kick = 1766,
  425.     rogue_spell_Gouge=  1776,
  426.     rogue_spell_Sprint = 2983,
  427.     rogue_spell_Backstab = 53,
  428.     rogue_spell_Feint = 1966,
  429.     rogue_spell_Shiv = 5938,
  430.     rogue_spell_Fan_of_Knives = 51723,
  431.     rogue_spell_Combat_Readiness = 74001,
  432.     rogue_spell_Stealth = 1784,
  433.     rogue_spell_Pick_Pocket = 921,
  434.     rogue_spell_Sap = 6770,
  435.     rogue_spell_Pick_Lock = 1804,
  436.     rogue_spell_Vanish = 1856,
  437.     rogue_spell_Distract = 1725,
  438.     rogue_spell_Detect_Traps = 2836,
  439.     rogue_spell_Blind = 2094,
  440.     rogue_spell_Disarm_Trap = 1842,
  441.     rogue_spell_Safe_Fall = 1860,
  442.     rogue_spell_Cloak_of_Shadows = 31224,
  443.     rogue_spell_Tricks_Of_the_Trade = 57934,
  444.     rogue_spell_Redirect = 73981,
  445.     rogue_spell_Smoke_Bomb = 76577
  446.  
  447. };
  448.  
  449. enum priest_spell
  450. {
  451.     priest_spell_Power_Word_Shield = 17,
  452.     priest_spell_Inner_Fire = 588,
  453.     priest_spell_Power_word_Fortitude = 21562,
  454.     priest_spell_Dispel_Magic = 527,
  455.     priest_spell_Shackle_Undead = 9484,
  456.     priest_spell_Levitate = 1706,
  457.     priest_spell_Fear_Ward = 6346,
  458.     priest_spell_Mana_Burn = 8129,
  459.     priest_spell_Mass_Dispel = 32375,
  460.     priest_spell_Inner_Will = 73413,
  461.     priest_spell_Flash_Heal = 2061,
  462.     priest_spell_Renew = 139,
  463.     priest_spell_Resurrection = 2006,
  464.     priest_spell_Heal = 2050,
  465.     priest_spell_Holy_Fire = 14914,
  466.     priest_spell_Cure_Disease = 528,
  467.     priest_spell_Grater_Heal = 2060,
  468.     priest_spell_Prayer_Of_Healing = 596,
  469.     priest_spell_Binding_Heal = 32546,
  470.     priest_spell_Holy_Nova = 15237,
  471.     priest_spell_Hymn_Of_Hope = 64901,
  472.     priest_spell_Prayer_of_Mending = 33076,
  473.     priest_spell_Divine_Hymn = 64843,
  474.     priest_spell_Leap_Of_faith = 73325,
  475.     priest_spell_Shadow_Word_Pain = 589,
  476.     priest_spell_Mind_Blast = 8092,
  477.     priest_spell_Psychic_Scream = 8122,
  478.     priest_spell_Fade = 586,
  479.     priest_spell_Devouring_plague = 2944,
  480.     priest_spell_Shadow_Word_Death = 32379,
  481.     priest_spell_Mind_Vision = 2096,
  482.     priest_spell_Mind_Control = 605,
  483.     priest_spell_Shadow_Protection = 27683,
  484.     priest_spell_Mind_Soothe = 453,
  485.     priest_spell_ShadowFiend = 34433,
  486.     priest_spell_Mind_Sear = 48045,
  487.     priest_spell_Mind_Spike = 73510
  488. };
  489.  
  490. enum warlock_spell
  491. {
  492.     warlock_spell_Corruption = 172,
  493.     warlock_spell_Life_Tap = 1454,
  494.     warlock_spell_Drain_life = 689,
  495.     warlock_spell_Drain_soul = 1120,
  496.     warlock_spell_Bane_Of_Agony = 980,
  497.     warlock_spell_Fear = 5782,
  498.     warlock_spell_Curse_of_Weakness = 702,
  499.     warlock_spell_Bane_Of_Doom = 603,
  500.     warlock_spell_Curse_Of_Tongues = 1714,
  501.     warlock_spell_Death_Coil = 6789,
  502.     warlock_spell_Howl_Of_Terror = 5484,
  503.     warlock_spell_Curse_of_the_Elements = 1490,
  504.     warlock_spell_Seed_Of_Corruption = 27243,
  505.     warlock_spell_Dark_Intent = 80398,
  506.     warlock_spell_Demon_Armor = 687,
  507.     warlock_spell_Summon_Voidwalker = 697,
  508.     warlock_spell_Create_Healthstone = 6201,
  509.     warlock_spell_Control_Demon = 93375,
  510.     warlock_spell_Soulburn = 74434,
  511.     warlock_spell_Healt_Funnel = 755,
  512.     warlock_spell_Soul_Harvest = 79268,
  513.     warlock_spell_Unending_Breath = 5697,
  514.     warlock_spell_Create_Soulstone = 693,
  515.     warlock_spell_Soul_Link = 19028,
  516.     warlock_spell_Summon_Succubus = 712,
  517.     warlock_spell_eye_of_kilrogg = 126,
  518.     warlock_spell_enslave_demon = 1098,
  519.     warlock_spell_summon_felhunter = 691,
  520.     warlock_spell_Banish = 710,
  521.     warlock_spell_Shadow_Ward = 6229,
  522.     warlock_spell_Ritual_Of_summoning = 698,
  523.     warlock_spell_Summon_Infernal = 1122,
  524.     warlock_spell_Summon_Doomguard = 18540,
  525.     warlock_spell_Fel_armor = 28176,
  526.     warlock_spell_SoulShatter = 29858,
  527.     warlock_spell_Ritual_of_souls = 29893,
  528.     warlock_spell_Demonic_Circle_Summon = 48018,
  529.     warlock_spell_Demonic_Circle_Teleport = 48020,
  530.     warlock_spell_Demon_Soul = 77801,
  531.     warlock_spell_Immolate = 348,
  532.     warlock_spell_Rain_of_Fire = 5740,
  533.     warlock_spell_Searing_Pain = 5676,
  534.     warlock_spell_Soul_Fire = 6353,
  535.     warlock_spell_Hellfire = 1949,
  536.     warlock_spell_Incinerate = 29722,
  537.     warlock_spell_ShadowFlame = 47897,
  538.     warlock_spell_Fel_Flame = 77799
  539. };
  540.  
  541. enum Specialisazion
  542. {
  543.     Spell_Dual_Wield = 674,
  544.     Spell_Spec_War_Plate = 87509, // War Only
  545.     Spell_Spec_Pal_Plate = 87511, // Pal Only
  546.     Spell_Spec_DK_Plate = 87510, // Dk Only
  547.     Spell_Spec_Druid_Leather = 87505, // Druid
  548.     Spell_Spec_Rogue_Leather = 87504, // rogue
  549.     Spell_Spec_Hunt_Mail = 87506, // Hunter ()
  550.     Spell_Spec_Shaman_Mail = 87507, //Shaman
  551.     Spell_netherMancy = 86091, //Warlock
  552.     Spell_Wizardry = 89744, //Mage
  553.     Spell_Mysticism = 89745, //Priest
  554.     Spell_Equip_plate = 750, // Pala-War-DK
  555.     Spell_Equip_Mail = 8737, // Hunt-Shaman
  556.     Spell_Equip_Leather = 9077 // Druid-Rogue
  557. };
  558.  
  559. enum mount_spell
  560. {
  561.     mount_spell_Master_Riding = 90265,
  562.     mount_spell_Journeyman_Riding = 33392,
  563.     mount_spell_Cold_Weather_Flying = 54197,
  564.     mount_spell_Flight_Master_License = 90267
  565. };
  566.  
  567.  
  568. enum spell_mastery
  569. {
  570.     spell_mastery_warrior = 87500,
  571.     spell_mastery_mage = 86467,
  572.     spell_mastery_druid = 87491,
  573.     spell_mastery_dk = 87492,
  574.     spell_mastery_hunter = 87493,
  575.     spell_mastery_paladin = 87494,
  576.     spell_mastery_priest = 87495,
  577.     spell_mastery_rogue = 87496,
  578.     spell_mastery_shaman = 87497,
  579.     spell_mastery_warlock = 87498
  580. };
  581.  
  582. //////////////////////WELCOME MENU/////////////////////////////////
  583. #define Class_Skills  "I would like to learn my class spell"       
  584. #define Glyph_Skills  "I would like to learn my Glyph skills"
  585. #define Riding_Skills "I would like to learn my Riding skills"
  586. #define nevermind     "[nevermind]"                          
  587. #define back          "[back]"                             
  588. //////////////////////////////////////////////////////////////////
  589.  
  590. class npc_welcome : public CreatureScript
  591. {
  592. public:
  593.     npc_welcome() : CreatureScript("npc_welcome") { }
  594.  
  595.     bool OnGossipHello(Player* player, Creature* creature)
  596.     {
  597.         if (player->getLevel() >= 85)
  598.         {
  599.             {
  600.                 player->PrepareQuestMenu(creature->GetGUID());
  601.                 player->SendPreparedQuest(creature->GetGUID());
  602.             }
  603.             player->ADD_GOSSIP_ITEM(TRAINER_ICON, Class_Skills, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
  604.             player->ADD_GOSSIP_ITEM(TRAINER_ICON, Glyph_Skills, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
  605.             player->ADD_GOSSIP_ITEM(TRAINER_ICON, Riding_Skills, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+3);
  606.             player->SEND_GOSSIP_MENU(1, creature->GetGUID());
  607.         }
  608.         else
  609.         {
  610.             player->PlayerTalkClass->SendCloseGossip();
  611.             return false;
  612.         }
  613.         return true;
  614.     }
  615.  
  616.     bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
  617.     {
  618.         uint32 mount_spells[4] =
  619.         {
  620.             mount_spell_Flight_Master_License,mount_spell_Journeyman_Riding,mount_spell_Cold_Weather_Flying,mount_spell_Master_Riding
  621.         };
  622.  
  623.         uint32 war_spell[44] =
  624.         {
  625.             war_spell_OverPower, war_spell_Battle_Shout, war_spell_Heroic_Strike, war_spell_Charge, war_spell_Rend, war_spell_Thunder_Clap, war_spell_Victory_Rush, war_spell_Hamstring, war_spell_Defensive_Stance, war_spell_Sunder_Armor,war_spell_Taunt,war_spell_Demoralizing_Shout,war_spell_Revenge,war_spell_Shield_Block,war_spell_Disarm,war_spell_Cleave,war_spell_Retaliation,war_spell_Execute,war_spell_Shield_Wall,war_spell_Berserker_Stance,war_spell_Intercept,war_spell_Slam,war_spell_WhirlWind,war_spell_Pummel,war_spell_Slam,war_spell_Recklessness,war_spell_Shell_Reflection,war_spell_Commanding_Shout,war_spell_Intervene,war_spell_Shattering_Throw,war_spell_Enraged_Regeneration,war_spell_Heroic_Throw,war_spell_Intimidating_Shout,war_spell_Parry, war_spell_Colossus_Smash,war_spell_Heroic_leap,war_spell_Berserker_Rage,war_spell_Inner_rage,war_spell_Rallying_Cry,war_spell_Stance_Mastery,war_spell_Mastery,Spell_Spec_War_Plate,war_spell_Challenging_shout,Spell_Equip_plate
  626.         };
  627.  
  628.  
  629.         uint32 mage_spell[36] =
  630.         {
  631.             mage_spell_Conjure_mana_gem,mage_spell_mirror_image,mage_spell_arcane_brilliance,mage_spell_mage_armor,mage_spell_spellsteal,mage_spell_ritual_of_refreshment,mage_spell_invisibility,mage_spell_time_warp,mage_spell_fire_blast,mage_spell_scorch,mage_spell_molten_armor,mage_spell_Flamestrike,mage_spell_frostfire_bolt,mage_spell_flame_orb,mage_spell_frostbolt,mage_spell_frost_nova,mage_spell_Cone_of_cold,mage_spell_ice_lance,mage_spell_ice_block,mage_spell_blizzard,mage_spell_forst_armor,mage_spell_ring_of_frost,mage_spell_Arcane_missiles,mage_spell_Counterspell,mage_spell_Evocation,mage_spell_Polymorph,mage_spell_Blink,mage_spell_Arcane_Blast,mage_spell_Arcane_Explosion,mage_spell_Remove_curse,mage_spell_slow_fall,mage_spell_mage_ward,mage_spell_conjure_refreshement,mage_spell_mana_shield,Spell_Wizardry,spell_mastery_mage
  632.         };
  633.  
  634.         uint32 pala_spell[44] =
  635.         {
  636.             pala_spell_holy_light,pala_spell_word_of_glory,pala_spell_redemption,pala_spell_flash_of_light,pala_spell_lay_of_hands,pala_spell_Exorcism,pala_spell_consecration,pala_spell_holy_wrath,pala_spell_seal_of_insight,pala_spell_cleanse,pala_spell_concentration_aura,pala_spell_divine_plea,pala_spell_divine_light,pala_spell_turn_evil,pala_spell_holy_radiance,pala_spell_seal_of_righteousness,pala_spell_devotion_aura,pala_spell_parry,pala_spell_righteous_fury,pala_spell_hammer_of_justice,pala_spell_hand_of_reckoning,pala_spell_hand_of_protection,pala_spell_blessing_of_kings,pala_spell_divine_protection,pala_spell_righteous_defense,pala_spell_divine_shield,pala_spell_hand_of_freedom,pala_spell_seal_of_justice,pala_spell_hand_of_salvation,pala_spell_resistance_aura,pala_spell_hand_of_sacrifice,pala_spell_guardian_of_ancient_kings,pala_spell_judgement,pala_spell_retribution_aura,pala_spell_seal_of_truth,pala_spell_hammer_of_wrath,pala_spell_rebuke,pala_spell_blessing_of_might,pala_spell_crusader_aura,pala_spell_avenging_wrath,pala_spell_inquisition,spell_mastery_paladin,Spell_Equip_plate,Spell_Spec_Pal_Plate
  637.         };
  638.  
  639.         uint32 dk_spell[29] =
  640.         {
  641.             dk_spell_Death_Strike,dk_spell_Pestilence,dk_spell_Blood_Presence,dk_spell_blood_boil,dk_spell_strangulate,dk_spell_Blood_Tap,dk_spell_Dark_command,dk_spell_death_pact,dk_spell_Dark_simulacrum,dk_spell_mind_freeze,dk_spell_chains_of_ice,dk_spell_obliterate,dk_spell_path_of_frost,dk_spell_icebound_fortitude,dk_spell_festering_strike,dk_spell_horn_of_winter,dk_spell_rune_strike,dk_spell_runic_empowerment,dk_spell_empower_rune_weapon,dk_spell_raise_dead,dk_spell_death_of_decay,dk_spell_anti_magic_shell,dk_spell_unholy_presence,dk_spell_raise_ally,dk_spell_army_of_the_dead,dk_spell_outbreak,dk_spell_necrotic_strike,spell_mastery_dk,Spell_Spec_DK_Plate
  642.         };
  643.  
  644.         uint32 druid_spell[69] =
  645.         {
  646.             druid_spell_moonfire,druid_spell_thorns,druid_spell_entanling_roots,druid_spell_starfire,druid_spell_teleport_moonglade,druid_spell_insect_swarm,druid_spell_faerie_fire,druid_spell_innervate,druid_spell_soothe,druid_spell_hurricane,druid_spell_hibernate,druid_spell_nature_grasp,druid_spell_barkskin,druid_spell_cyclone,druid_spell_wild_mushroom,druid_spell_wild_mushroom_detonate,druid_spell_cat_form,druid_spell_claw,druid_spell_ferocious_bite,druid_spell_rake,druid_spell_prowl,druid_spell_bear_form,druid_spell_demoralizing_roar,druid_spell_growl,druid_spell_maul,druid_spell_aquatic_form,druid_spell_travel_form,druid_spell_swipe,druid_spell_enrage,druid_spell_ravage,druid_spell_skill_Bash_cat,druid_spell_skill_bash_bear,druid_spell_faerie_fire_feral,druid_spell_tiger_fury,druid_spell_cower,druid_spell_dash,druid_spell_feline_grace,druid_spell_challenging_roar,druid_spell_bash,druid_spell_pounce,druid_spell_swipe_feral,druid_spell_savage_defense,druid_spell_shred,druid_spell_frenzied_regeneration,druid_spell_rip,druid_spell_flight_form,druid_spell_maim,druid_spell_lacerate,druid_spell_swift_flight_form,druid_spell_savage_roar,druid_spell_trash
  647.             ,druid_spell_stampeding_roar,druid_spell_stampeding_raor_cat,druid_spell_rejuvenation,druid_spell_nourish,druid_spell_regrowth,druid_spell_revive,druid_spell_omen_of_clarity,druid_spell_rebirth,
  648.             druid_spell_remove_corruption,druid_spell_mark_of_the_wild,druid_spell_lifebloom,druid_spell_tranquility,druid_spell_healing_touch,Spell_Equip_Leather,spell_mastery_druid,Spell_Spec_Druid_Leather,druid_spell_track_1
  649.         };
  650.  
  651.         uint32 shaman_spell[57] =
  652.         {
  653.             shaman_spell_searing_totem,shaman_spell_earth_shock,shaman_spell_purge,shaman_spell_flame_shock,shaman_spell_wind_shear,shaman_spell_earthbind_totem,shaman_spell_frost_shock,shaman_spell_chain_lightning,shaman_spell_fire_nova,shaman_spell_call_of_the_elements,shaman_spell_lava_burst,shaman_spell_magma_totem,shaman_spell_call_of_the_ancestors,shaman_spell_call_of_the_spirits,shaman_spell_stoneclaw_totem,shaman_spell_bind_elemental,shaman_spell_fire_elemental_totem,shaman_spell_hex,shaman_spell_spiritwalker_grace,shaman_spell_primal_strike,shaman_spell_strenght_of_earth_totem,shaman_spell_lightning_shield,shaman_spell_flametongue_weapon,shaman_spell_flametongue_totem,shaman_spell_ghost_Wolf,shaman_spell_water_walking,shaman_spell_frostbrand_weapon,shaman_spell_astral_recall,shaman_spell_windfury_totem,shaman_spell_windfury_weapon,shaman_spell_far_sight,shaman_spell_grounding_totem,shaman_spell_wrath_of_air_totem,shaman_spell_water_breathing,shaman_spell_stoneskin_totem,shaman_spell_earth_elemental_totem,shaman_spell_elemental_resistance_totem,shaman_spell_rockbiter_weapon,shaman_spell_unleash_elements,shaman_spell_healing_wave,shaman_spell_ancestral_spirit,shaman_spell_cleanse_spirit,shaman_spell_healing_stream_totem,shaman_spell_healing_surge,shaman_spell_water_shield,shaman_spell_reincarnation,shaman_spell_totemic_recall,shaman_spell_chain_heal,shaman_spell_mana_spring_totem,shaman_spell_tremor_totem,shaman_spell_earthliving_weapon,shaman_spell_greater_healing_wave,shaman_spell_totem_of_tranquil_mind,shaman_spell_healing_rain,Spell_Spec_Shaman_Mail,spell_mastery_shaman,Spell_Equip_Mail
  654.         };
  655.  
  656.         uint32 hunter_spell[60] =
  657.         {
  658.             hunter_spell_beast_lore,hunter_spell_control_pet,hunter_spell_Dismiss_pet,hunter_spell_feed_pet,hunter_spell_kill_command,hunter_spell_tame_beast,hunter_spell_aspect_of_the_hawk,hunter_spell_eagle_eye,hunter_spell_Mend_pet,hunter_spell_call_pet_2,hunter_spell_aspect_of_the_cheetah,hunter_spell_scare_beast,hunter_spell_window_venom,hunter_spell_call_pet_3,hunter_spell_aspect_of_the_pack,hunter_spell_call_pet_4,hunter_spell_aspect_of_the_wild,hunter_spell_master_call,hunter_spell_call_pet_5,hunter_spell_aspect_of_the_fox,hunter_spell_steady_shot,hunter_spell_hunter_mark,hunter_spell_multi_shot,hunter_spell_kill_shot,hunter_spell_tranquilizing_shot,hunter_spell_flare,hunter_spell_distracting_shot,hunter_spell_rapid_fire,hunter_spell_raptor_strike,hunter_spell_parry,hunter_spell_serpent_sting,hunter_spell_wing_clip,hunter_spell_disengage,hunter_spell_scatter_shot,hunter_spell_immolation_trap,hunter_spell_freezing_trap,hunter_spell_feign_death,hunter_spell_explosive_trap,hunter_spell_ice_trap,hunter_spell_trap_launcher,hunter_spell_snake_trap,hunter_spell_misdirection,hunter_spell_deterrence,hunter_spell_cobra_shot,hunter_spell_camouflage,Spell_Equip_Mail,Spell_Spec_Hunt_Mail,Spell_Dual_Wield,spell_mastery_hunter,hunter_Spell_Concussive_shot,
  659.             hunter_Spell_Track_1,hunter_Spell_Track_2,hunter_Spell_Track_3,hunter_Spell_Track_4,hunter_Spell_Track_5,hunter_Spell_Track_6,hunter_Spell_Track_7,hunter_Spell_Track_8,hunter_Spell_Track_9,hunter_Spell_Track_10
  660.         };
  661.  
  662.         uint32 rogue_spell[40] =
  663.         {
  664.             rogue_spell_Ambush,rogue_spell_Eviscerate,rogue_spell_Poisons,rogue_spell_Slice_and_Dice,rogue_spell_Cheap_Shot,rogue_spell_Kidney_Shot,rogue_spell_Expose_Armor,rogue_spell_Dismantle,rogue_spell_Garrote,rogue_spell_Rupture,rogue_spell_Envenom,rogue_spell_Deadly_Throw,rogue_spell_Evasion,rogue_spell_Recuperate,rogue_spell_Parry,rogue_spell_Kick,rogue_spell_Gouge,rogue_spell_Sprint,rogue_spell_Backstab,rogue_spell_Feint,rogue_spell_Shiv,rogue_spell_Fan_of_Knives,rogue_spell_Combat_Readiness,rogue_spell_Stealth,rogue_spell_Pick_Pocket,rogue_spell_Sap,rogue_spell_Pick_Lock,rogue_spell_Vanish,rogue_spell_Distract,rogue_spell_Detect_Traps,rogue_spell_Blind,rogue_spell_Disarm_Trap,rogue_spell_Safe_Fall,rogue_spell_Cloak_of_Shadows,rogue_spell_Tricks_Of_the_Trade,rogue_spell_Redirect,rogue_spell_Smoke_Bomb,Spell_Spec_Rogue_Leather,Spell_Equip_Leather,spell_mastery_rogue
  665.         };
  666.  
  667.  
  668.         uint32 priest_spell[39] =
  669.         {
  670.             priest_spell_Power_Word_Shield,priest_spell_Inner_Fire,priest_spell_Power_word_Fortitude,priest_spell_Dispel_Magic,priest_spell_Shackle_Undead,priest_spell_Levitate,priest_spell_Fear_Ward, priest_spell_Mana_Burn,priest_spell_Mass_Dispel,priest_spell_Inner_Will,priest_spell_Flash_Heal,priest_spell_Renew,priest_spell_Heal,priest_spell_Holy_Fire,
  671.             priest_spell_Cure_Disease,priest_spell_Grater_Heal,priest_spell_Prayer_Of_Healing,priest_spell_Binding_Heal,priest_spell_Holy_Nova,priest_spell_Hymn_Of_Hope,priest_spell_Prayer_of_Mending,priest_spell_Divine_Hymn,priest_spell_Leap_Of_faith,
  672.             priest_spell_Shadow_Word_Pain,priest_spell_Mind_Blast, priest_spell_Psychic_Scream,priest_spell_Fade,priest_spell_Devouring_plague,priest_spell_Shadow_Word_Death,priest_spell_Mind_Vision,priest_spell_Mind_Control,priest_spell_Shadow_Protection,priest_spell_Mind_Soothe, priest_spell_ShadowFiend,priest_spell_Mind_Sear,priest_spell_Mind_Spike,spell_mastery_priest,Spell_Mysticism,priest_spell_Resurrection
  673.  
  674.         };
  675.  
  676.         uint32 warlock_spell[49]=
  677.         {
  678.             warlock_spell_Corruption,warlock_spell_Life_Tap,warlock_spell_Drain_life,warlock_spell_Drain_soul,warlock_spell_Bane_Of_Agony,warlock_spell_Fear,warlock_spell_Curse_of_Weakness,warlock_spell_Bane_Of_Doom,warlock_spell_Curse_Of_Tongues,warlock_spell_Death_Coil,warlock_spell_Howl_Of_Terror,warlock_spell_Curse_of_the_Elements,warlock_spell_Seed_Of_Corruption,warlock_spell_Demon_Armor,warlock_spell_Create_Healthstone,warlock_spell_Control_Demon,warlock_spell_Soulburn,    warlock_spell_Healt_Funnel,warlock_spell_Soul_Harvest,warlock_spell_Unending_Breath,warlock_spell_Soul_Link,warlock_spell_Summon_Succubus,warlock_spell_eye_of_kilrogg,warlock_spell_enslave_demon,warlock_spell_summon_felhunter,warlock_spell_Banish,warlock_spell_Shadow_Ward,warlock_spell_Ritual_Of_summoning,warlock_spell_Summon_Infernal,warlock_spell_Summon_Doomguard,    warlock_spell_Fel_armor,warlock_spell_SoulShatter,warlock_spell_Ritual_of_souls,warlock_spell_Demonic_Circle_Summon,    warlock_spell_Demonic_Circle_Teleport,warlock_spell_Demon_Soul,warlock_spell_Immolate,  warlock_spell_Rain_of_Fire, warlock_spell_Searing_Pain, warlock_spell_Soul_Fire,warlock_spell_Hellfire, warlock_spell_Incinerate,warlock_spell_ShadowFlame, warlock_spell_Fel_Flame,Spell_netherMancy,spell_mastery_warlock,warlock_spell_Dark_Intent,warlock_spell_Summon_Voidwalker,warlock_spell_Create_Soulstone
  679.         };
  680.  
  681.         player->PlayerTalkClass->ClearMenus();
  682.         {
  683.             /**DUAL SPEC*////////////////////////////////////////////////////////////
  684.             /**/player->CastSpell(player,63680,true,NULL,NULL,player->GetGUID());///
  685.             /**/player->CastSpell(player,63624,true,NULL,NULL,player->GetGUID());//
  686.             /**///////////////////////////////////////////////////////////////////
  687.  
  688.             switch(action)
  689.             {
  690.             case GOSSIP_ACTION_INFO_DEF+1:
  691.                 //------------------------------------//
  692.                 if (player->getClass() == CLASS_WARRIOR)
  693.                 {
  694.                     for(uint32 i = 0; i < sizeof(war_spell)/sizeof(uint32); i++)
  695.                         player->learnSpell(war_spell[i],false);
  696.                     player->SaveToDB();
  697.                     player->AddItem(bag_36, Number_of_Bags);
  698.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Warrior!");
  699.                     player->CLOSE_GOSSIP_MENU();
  700.                 }
  701.  
  702.                 //----------------------------------//
  703.                 if (player->getClass() == CLASS_MAGE)
  704.  
  705.                 {
  706.                     for(uint32 i = 0; i < sizeof(mage_spell)/sizeof(uint32); i++)
  707.                         player->learnSpell(mage_spell[i],false);
  708.                     player->SaveToDB();
  709.                     player->AddItem(bag_36, Number_of_Bags);
  710.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Mage!");
  711.                     player->CLOSE_GOSSIP_MENU();
  712.                 }
  713.  
  714.                 //----------------------------------//
  715.                 if (player->getClass() == CLASS_PALADIN)
  716.                 {
  717.                     for(uint32 i = 0; i < sizeof(pala_spell)/sizeof(uint32); i++)
  718.                         player->learnSpell(pala_spell[i],false);
  719.                     player->SaveToDB();
  720.                     player->AddItem(bag_36, Number_of_Bags);
  721.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Paladin!");
  722.                     player->CLOSE_GOSSIP_MENU();
  723.                 }
  724.                 //------------------------------------------//
  725.                 if (player->getClass() == CLASS_DEATH_KNIGHT)
  726.                 {
  727.                     for(uint32 i = 0; i < sizeof(dk_spell)/sizeof(uint32); i++)
  728.                         player->learnSpell(dk_spell[i],false);
  729.                     player->SaveToDB();
  730.                     player->AddItem(bag_36, Number_of_Bags);
  731.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Death Knights!");
  732.                     player->CLOSE_GOSSIP_MENU();
  733.                 }
  734.                 //----------------------------------//
  735.                 if (player->getClass() == CLASS_DRUID)
  736.                 {
  737.                     for(uint32 i = 0; i < sizeof(druid_spell)/sizeof(uint32); i++)
  738.                         player->learnSpell(druid_spell[i],false);
  739.                     player->SaveToDB();
  740.                     player->AddItem(bag_36, Number_of_Bags);
  741.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Druid!");
  742.                     player->CLOSE_GOSSIP_MENU();
  743.                 }
  744.                 //------------------------------------//
  745.                 if (player->getClass() == CLASS_SHAMAN)
  746.                 {
  747.                     for(uint32 i = 0; i < sizeof(shaman_spell)/sizeof(uint32); i++)
  748.                         player->learnSpell(shaman_spell[i],false);
  749.                     player->SaveToDB();
  750.                     player->AddItem(bag_36, Number_of_Bags);
  751.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Shaman!");
  752.                     player->CLOSE_GOSSIP_MENU();
  753.                 }
  754.                 //------------------------------------//
  755.                 if (player->getClass() == CLASS_HUNTER)
  756.                 {
  757.                     for(uint32 i = 0; i < sizeof(hunter_spell)/sizeof(uint32); i++)
  758.                         player->learnSpell(hunter_spell[i],false);
  759.                     player->SaveToDB();
  760.                     player->AddItem(bag_36, Number_of_Bags);
  761.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Hunter!");
  762.                     player->CLOSE_GOSSIP_MENU();
  763.                 }
  764.                 //------------------------------------//
  765.                 if (player->getClass() == CLASS_ROGUE)
  766.                 {= 0; i < sizeof(rogue_spell)/sizeof(uint32); i++)
  767.                 player->learnSpell(rogue_spell[i],false);
  768.                 player->SaveToDB();
  769.                 player->AddItem(bag_36, Number_of_Bags);
  770.                 ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Rogue!");
  771.                 player->CLOSE_GOSSIP_MENU();
  772.                 }
  773.                 //------------------------------------//
  774.                 if (player->getClass() == CLASS_PRIEST)
  775.                 {
  776.                     for(uint32 i = 0; i < sizeof(priest_spell)/sizeof(uint32); i++)
  777.                         player->learnSpell(priest_spell[i],false);
  778.                     player->SaveToDB();
  779.                     player->AddItem(bag_36, Number_of_Bags);
  780.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Priest!");
  781.                     player->CLOSE_GOSSIP_MENU();
  782.                 }
  783.                 //------------------------------------//
  784.                 if (player->getClass() == CLASS_WARLOCK)
  785.                 {
  786.                     for(uint32 i = 0; i < sizeof(warlock_spell)/sizeof(uint32); i++)
  787.                         player->learnSpell(warlock_spell[i],false);
  788.                     player->SaveToDB();
  789.                     player->AddItem(bag_36, Number_of_Bags);
  790.                     ChatHandler(player->GetSession()).PSendSysMessage("Welcome home Warlock!");
  791.                     player->CLOSE_GOSSIP_MENU();
  792.                 }
  793.                 break;
  794.  
  795.             case GOSSIP_ACTION_INFO_DEF+2:
  796.                 for(ItemTemplateContainer::const_iterator
  797.                     itr = sObjectMgr->GetItemTemplateStore()->begin();
  798.                     itr!=sObjectMgr->GetItemTemplateStore()->end();itr++)
  799.                 {
  800.                     if(ItemTemplate const* templ=&itr->second)
  801.                     {
  802.                         for(int i=0;i<MAX_ITEM_PROTO_SPELLS;i++)
  803.                         {
  804.                             if(SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(templ->Spells[i].SpellId))
  805.                             {
  806.                                 if(templ->Class==16&&templ->SubClass== player->getClass()){
  807.                                     player->learnSpell(templ->Spells[i].SpellId,false);}
  808.                             }
  809.                         }
  810.                     }
  811.                 }  
  812.                 break;
  813.  
  814.             case GOSSIP_ACTION_INFO_DEF+3:
  815.                 {
  816.                     for(uint32 i = 0; i < sizeof(mount_spells)/sizeof(uint32); i++)
  817.                         player->learnSpell(mount_spells[i],false);
  818.                     if (player->GetTeam() == HORDE)
  819.                     {
  820.                         player->AddItem(46749, 1);
  821.                         player->AddItem(44690, 1);                     
  822.                     }
  823.                     else
  824.                     {
  825.                         player->AddItem(44689, 1);
  826.                         player->AddItem(45125, 1);
  827.                     }
  828.  
  829.                     player->CLOSE_GOSSIP_MENU();
  830.                 }
  831.                 break;
  832.             }
  833.         }
  834.         return true;
  835.     }
  836.  
  837. };
  838.  
  839. void AddSC_npc_welcome()
  840. {
  841.     new npc_welcome();
  842. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement