diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..eb64e2f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 4 +tab_width = 4 +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 80 diff --git a/.git_commit_template.txt b/.git_commit_template.txt new file mode 100644 index 0000000..708b551 --- /dev/null +++ b/.git_commit_template.txt @@ -0,0 +1,49 @@ +### TITLE +## Type(Scope/Subscope): Commit ultra short explanation +## |---- Write below the examples with a maximum of 50 characters ----| +## Example 1: fix(DB/SAI): Missing spell to NPC Hogger +## Example 2: fix(CORE/Raid): Phase 2 of Ragnaros +## Example 3: feat(CORE/Commands): New GM command to do something + + +### DESCRIPTION +## Explain why this change is being made, what does it fix etc... +## |---- Write below the examples with a maximum of 72 characters per lines ----| +## Example: Hogger (id: 492) was not charging player when being engaged. + + +## Provide links to any issue, commit, pull request or other resource +## Example 1: Closes issue #23 +## Example 2: Ported from other project's commit (link) +## Example 3: References taken from wowpedia / wowhead / wowwiki / https://wowgaming.altervista.org/aowow/ + + + +## ======================================================= +## EXTRA INFOS +## ======================================================= +## "Type" can be: +## feat (new feature) +## fix (bug fix) +## refactor (refactoring production code) +## style (formatting, missing semi colons, etc; no code change) +## docs (changes to documentation) +## test (adding or refactoring tests; no production code change) +## chore (updating bash scripts, git files etc; no production code change) +## -------------------- +## Remember to +## Capitalize the subject line +## Use the imperative mood in the subject line +## Do not end the subject line with a period +## Separate subject from body with a blank line +## Use the body to explain what and why rather than how +## Can use multiple lines with "-" for bullet points in body +## -------------------- +## More info here https://www.conventionalcommits.org/en/v1.0.0-beta.2/ +## ======================================================= +## "Scope" can be: +## CORE (core related, c++) +## DB (database related, sql) +## ======================================================= +## "Subscope" is optional and depends on the nature of the commit. +## ======================================================= diff --git a/.gitattributes b/.gitattributes index dfe0770..7ef9001 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,105 @@ -# Auto detect text files and perform LF normalization -* text=auto +## AUTO-DETECT +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto eol=lf + +# Text +*.conf text +*.conf.dist text +*.cmake text + +## Scripts +*.sh text +*.fish text +*.lua text + +## SQL +*.sql text + +## C++ +*.c text +*.cc text +*.cxx text +*.cpp text +*.c++ text +*.hpp text +*.h text +*.h++ text +*.hh text + + +## For documentation + +# Documents +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain + +## DOCUMENTATION +*.markdown text +*.md text +*.mdwn text +*.mdown text +*.mkd text +*.mkdn text +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +## GRAPHICS +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +*.svg text +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary + + +## ARCHIVES +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary + +## EXECUTABLES +*.exe binary +*.pyc binary diff --git a/.github/workflows/core-build.yml b/.github/workflows/core-build.yml new file mode 100644 index 0000000..67b75f7 --- /dev/null +++ b/.github/workflows/core-build.yml @@ -0,0 +1,45 @@ +name: core-build +on: + push: + pull_request: + +jobs: + build: + strategy: + fail-fast: false + matrix: + compiler: [clang] + runs-on: ubuntu-latest + name: ${{ matrix.compiler }} + env: + COMPILER: ${{ matrix.compiler }} + steps: + - uses: actions/checkout@v2 + with: + repository: 'azerothcore/azerothcore-wotlk' + ref: 'master' + submodules: 'recursive' + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + path: 'modules/mod-skip-dk-starting-area' + - name: Cache + uses: actions/cache@v1.1.2 + with: + path: /home/runner/.ccache + key: ccache:${{ matrix.compiler }}:${{ github.ref }}:${{ github.sha }} + restore-keys: | + ccache:${{ matrix.compiler }}:${{ github.ref }} + ccache:${{ matrix.compiler }} + - name: Configure OS + run: source ./apps/ci/ci-install.sh + env: + CONTINUOUS_INTEGRATION: true + - name: Import db + run: source ./apps/ci/ci-import-db.sh + - name: Build + run: source ./apps/ci/ci-compile.sh + - name: Dry run + run: source ./apps/ci/ci-worldserver-dry-run.sh + - name: Check startup errors + run: source ./apps/ci/ci-error-check.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6e1299 --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +!.gitignore + +# +#Generic +# + +.directory +.mailmap +*.orig +*.rej +*.*~ +.hg/ +*.kdev* +.DS_Store +CMakeLists.txt.user +*.bak +*.patch +*.diff +*.REMOTE.* +*.BACKUP.* +*.BASE.* +*.LOCAL.* + +# +# IDE & other softwares +# +/.settings/ +/.externalToolBuilders/* +# exclude in all levels +nbproject/ +.sync.ffs_db +*.kate-swp + +# +# Eclipse +# +*.pydevproject +.metadata +.gradle +tmp/ +*.tmp +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.project +.cproject diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1c278db --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,4 @@ +AC_ADD_SCRIPT("${CMAKE_CURRENT_LIST_DIR}/src/SkipDK.cpp") +AC_ADD_SCRIPT_LOADER("SkipDK" "${CMAKE_CURRENT_LIST_DIR}/src/loader.h") + +AC_ADD_CONFIG_FILE("${CMAKE_CURRENT_LIST_DIR}/conf/SkipDKModule.conf.dist") \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7bd874d --- /dev/null +++ b/README.md @@ -0,0 +1,34 @@ +# ![logo](https://raw.githubusercontent.com/azerothcore/azerothcore.github.io/master/images/logo-github.png) AzerothCore + +## mod-racial-trait-swap + +- Latest build status with azerothcore: + +## Description + +- Skips the Death Knight starting zone, for those who want to make a Death Knight without having to go through the starting area. + +## How to use ingame + +1. Enable in conf +2. Go into conf and set any features you want to enable or modify +3. Spawn NPC ID 98888 anywhere and talk to him. + +## Requirements + +- Latest AzerothCore Wotlk commit + +## Installation + +1. Simply place the module under the `modules` directory of your AzerothCore source. +1. Re-run CMake and rebuild the AzerothCore source. + +## Edit module configuration (optional) + +If you need to change the module configuration, go to your server configuration folder (where your worldserver or worldserver.exe is), copy SkipDKModule.conf.dist to SkipDKModule.conf and edit that new file. + +### Credits ### +------------------------------------------------------------------------------------------------------------------ +- [acidmanifesto (MDic)](https://github.com/acidmanifesto/TC-Custom-Scripts/tree/main/335%20TC/Official%20Trinitycore%20Custom%20Scripts/Official%20Merged/Racial%20Swap%20Skills%20Abilities%20NPC) +- [Jinnaix](https://github.com/Jinnaix) +- AzerothCore: [repository](https://github.com/azerothcore) - [website](http://azerothcore.org/) - [discord chat community](https://discord.gg/PaqQRkd) diff --git a/conf/RacialTraitSwap.dist b/conf/RacialTraitSwap.dist new file mode 100644 index 0000000..f73593d --- /dev/null +++ b/conf/RacialTraitSwap.dist @@ -0,0 +1,26 @@ +[worldserver] + +################################################################################################### +#Trinitycore Racial Trait Swap NPC # +##################################### +# +# Trinitycore Equipment Exchange NPC +# For a cost, you can swap our you current racial traits for that of another. +# +# Trinitycore.Equipment.Exchange.Announce.enable +# Description: Announces Module when player logs in. +# Default: 0 - (Disabled) +# 1 - (Enabled) + +Trinitycore.Racial.Trait.Swap.Announce.enable = 1 + +# +# Racial.Traits.Swap.Gold +# Description: Cost in gold for Racial Trait Exchange. +# Default: 0 - (Zero Gold Free) +# 10 - (Ten Gold Cost) + +Racial.Traits.Swap.Gold = 10 + +# +################################################################################################### diff --git a/conf/conf.sh.dist b/conf/conf.sh.dist new file mode 100644 index 0000000..9ae8df1 --- /dev/null +++ b/conf/conf.sh.dist @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +## CUSTOM SQL - Important file used by the db_assembler.sh +## Keep only the required variables (base sql files or updates, depending on the DB) + + +## BASE SQL + +DB_AUTH_CUSTOM_PATHS+=( + $MOD_SKELETON_ROOT"/sql/auth/base/" +) + +DB_CHARACTERS_CUSTOM_PATHS+=( + $MOD_SKELETON_ROOT"/sql/characters/base/" +) + +DB_WORLD_CUSTOM_PATHS+=( + $MOD_SKELETON_ROOT"/sql/world/base/" +) + + +## UPDATES + +DB_AUTH_UPDATE_PATHS+=( + $MOD_SKELETON_ROOT"/sql/auth/updates/" +) + +DB_CHARACTERS_UPDATE_PATHS+=( + $MOD_SKELETON_ROOT"/sql/characters/updates/" +) + +DB_WORLD_UPDATE_PATHS+=( + $MOD_SKELETON_ROOT"/sql/world/updates/" +) diff --git a/include.sh b/include.sh new file mode 100644 index 0000000..a241572 --- /dev/null +++ b/include.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +## GETS THE CURRENT MODULE ROOT DIRECTORY +MOD_SKELETON_ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/" && pwd )" + +source $MOD_SKELETON_ROOT"/conf/conf.sh.dist" + +if [ -f $MOD_SKELETON_ROOT"/conf/conf.sh" ]; then + source $MOD_SKELETON_ROOT"/conf/conf.sh" +fi diff --git a/setup_git_commit_template.sh b/setup_git_commit_template.sh new file mode 100644 index 0000000..7b52062 --- /dev/null +++ b/setup_git_commit_template.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +## Set a local git commit template +git config --local commit.template ".git_commit_template.txt" ; diff --git a/sql/world/world.RTS.sql b/sql/world/world.RTS.sql new file mode 100644 index 0000000..568f5d4 --- /dev/null +++ b/sql/world/world.RTS.sql @@ -0,0 +1,188 @@ +-- NPC ID 98888 Swirl +DELETE FROM `creature_template` WHERE `entry`=98888; +INSERT INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `detection_range`, `scale`, `rank`, `dmgschool`, `DamageModifier`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `HealthModifier`, `ManaModifier`, `ArmorModifier`, `ExperienceModifier`, `RacialLeader`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `spell_school_immune_mask`, `flags_extra`, `ScriptName`, `VerifiedBuild`) VALUES +(98888, 0, 0, 0, 0, 0, 19646, 0, 0, 0, 'Swirl', 'Racial Traits Swapper', NULL, 0, 80, 80, 2, 35, 1, 1, 1.14286, 20, 1, 0, 0, 1, 2000, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 7, 138936390, 0, 0, 0, 0, 0, 0, 0, '', 0, 3, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 'npc_race_trait_swap', 0); + +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='koKR'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='frFR'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='deDE'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='zhCN'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='zhTW'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='esES'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='esMX'; +DELETE FROM `creature_template_locale` WHERE `entry`=98888 AND `locale`='ruRU'; +INSERT INTO `creature_template_locale` (`entry`, `locale`, `Name`, `Title`, `VerifiedBuild`) VALUES +(98888, 'koKR', '소용돌이', '인종 특성 교환 자', 0), +(98888, 'frFR', 'Tourbillon', 'Échangeur de traits raciaux', 0), +(98888, 'deDE', 'Strudel', 'Rassenmerkmale Swapper', 0), +(98888, 'zhCN', '漩渦', '種族特質交換', 0), +(98888, 'zhTW', '漩渦', '種族特質交換', 0), +(98888, 'esES', 'Remolino', 'Intercambiador de rasgos raciales', 0), +(98888, 'esMX', 'Remolino', 'Intercambiador de rasgos raciales', 0), +(98888, 'ruRU', 'Водоворот', 'Обмен расовыми чертами', 0); + +-- Initial Gossip 98888 +DELETE FROM `npc_text` WHERE `ID`=98888; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(98888, 'Greetings $n. \r\nYou can swap your racial traits and abilities with me for a cost. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\n\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with me for a cost. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\n\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); + +DELETE FROM `npc_text_locale` WHERE `ID`=98888; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(98888, 'koKR', '인사 $n. \r\n 비용을 지불하면 인종 특성과 능력을 저와 교환 할 수 있습니다. 선택한 인종에 $c 가 없으면 $c 인종적 특성을 잊게됩니다.\r\n\r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(98888, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec moi moyennant un coût. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c.\r\n\r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'deDE', 'Grüße $n.\r\nSie können Ihre Rassenmerkmale und Fähigkeiten gegen eine Gebühr mit mir tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\n\r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'zhCN', '問候$n。 \r\ n您可以與我交換您的種族特質和能力,但需要付費。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n\r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'zhTW', '問候$n。 \r\ n您可以與我交換您的種族特質和能力,但需要付費。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n\r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos raciales y habilidades conmigo por un costo. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales.\r\n\r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos raciales y habilidades conmigo por un costo. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales.\r\n\r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) +(98888, 'ruRU', 'Привет $n. \r\nВы можете обменять свои расовые черты и способности со мной за определенную плату. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\n\r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Blood ELf Menu 988881 +DELETE FROM `npc_text` WHERE `ID`=988881; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988881, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Blood Elf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Arcane Affinity, Magic Resistance, and if you are a Death Knight, Hunter, Mage, Paladin, Rogue, or Warlock you will learn Arcane Torrent.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Blood Elf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Arcane Affinity, Magic Resistance, and if you are a Death Knight, Hunter, Mage, Paladin, Rogue, or Warlock you will learn Arcane Torrent.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988881; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988881, 'koKR', '인사 $n. \r\n 블러드 엘프와 인종 특성과 능력을 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잃게됩니다. \r\n아케인 친화력, 마법 저항력을 배우고 죽음의 기사, 사냥꾼, 마법사, 성기사, 도적, 또는 워록 당신은 비전 격류를 배울 것입니다. \r\n\r\n 당신의 소망은 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux de l\'elfe de sang. Si la race que vous avez choisie n’a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez l’affinité arcane, la résistance magique et si vous êtes un chevalier de la mort, un chasseur, un mage, un paladin, un voleur, ou Warlock, vous apprendrez Arcane Torrent. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Blutelfen austauschen. Wenn die Rasse, die Sie ausgewählt haben, kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Arkane Affinität, Magieresistenz und wenn Sie ein Todesritter, Jäger, Magier, Paladin, Schurke sind, oder Hexenmeister, du wirst Arcane Torrent lernen. \r\n\r\nWas ist dein Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'zhCN', '問候 $n。 \r\n您可以與血精靈的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學習奧術親和力,魔法抗性,並且如果您是死亡騎士,獵人,法師,聖騎士,流氓, 或術士,您將學習奧術洪流。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'zhTW', '問候 $n。 \r\n您可以與血精靈的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學習奧術親和力,魔法抗性,並且如果您是死亡騎士,獵人,法師,聖騎士,流氓, 或術士,您將學習奧術洪流。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del elfo de sangre. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Afinidad Arcana, Resistencia Mágica, y si eres Caballero de la Muerte, Cazador, Mago, Paladín, Pícaro, o Brujo aprenderás Torrente arcano. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del elfo de sangre. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Afinidad Arcana, Resistencia Mágica, y si eres Caballero de la Muerte, Cazador, Mago, Paladín, Pícaro, o Brujo aprenderás Torrente arcano. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988881, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на эльфов крови. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите близость к тайной магии, сопротивление магии, а если вы рыцарь смерти, охотник, маг, паладин, разбойник, или Чернокнижник, вы изучите Arcane Torrent. \r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Draenei Menu 988882 +DELETE FROM `npc_text` WHERE `ID`=988882; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988882, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Draenei. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Gem Cutting, Gift of Naaru, Shadow Resistance, and if you are a Death Knight, Hunter, Mage, Paladin, Priest, Shaman, or Warrior you will learn Heroic Presence. \r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Draenei. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Gem Cutting, Gift of Naaru, Shadow Resistance, and if you are a Death Knight, Hunter, Mage, Paladin, Priest, Shaman, or Warrior you will learn Heroic Presence. \r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988882; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988882, 'koKR', '인사 $n. \r\n 당신의 인종적 특성과 능력을 드레나이 족과 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잊게됩니다. \r\n 보석 절단, 나루의 선물, 암흑 저항을 배우고, 죽음의 기사, 사냥꾼, 마법사, 성기사, 사제, 주술사 또는 전사는 영웅의 존재를 배우게됩니다. \r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux des Draeneï. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la taille de gemmes, le don de Naaru, la résistance à l\'ombre, et si vous êtes un chevalier de la mort, un chasseur, un mage, Paladin, prêtre, chaman ou guerrier, vous apprendrez la présence héroïque. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen der Draenei tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Edelsteinschneiden, Geschenk von Naaru, Schattenresistenz und wenn Sie ein Todesritter, Jäger, Magier sind, Paladin, Priester, Schamane oder Krieger lernst du heroische Präsenz. \r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'zhCN', '問候$n。 \r\n您可以與德萊尼人的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學習寶石切割,納魯的禮物,暗影抗性,並且如果您是死亡騎士,獵人,法師, 聖騎士,牧師,薩滿或戰士,您將學習英勇的存在。 \r\n\r\n您的要求是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'zhTW', '問候$n。 \r\n您可以與德萊尼人的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學習寶石切割,納魯的禮物,暗影抗性,並且如果您是死亡騎士,獵人,法師, 聖騎士,牧師,薩滿或戰士,您將學習英勇的存在。 \r\n\r\n您的要求是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los Draenei. Si la raza que elegiste no tiene un $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás Tallado de gemas, Don de Naaru, Resistencia a las sombras, y si eres un Caballero de la Muerte, Cazador, Mago, Paladín, Sacerdote, Chamán o Guerrero, aprenderás Presencia heroica. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los Draenei. Si la raza que elegiste no tiene un $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás Tallado de gemas, Don de Naaru, Resistencia a las sombras, y si eres un Caballero de la Muerte, Cazador, Mago, Paladín, Sacerdote, Chamán o Guerrero, aprenderás Presencia heroica. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988882, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на таковые у дренеев. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите огранку драгоценных камней, дар наару, сопротивление тени, а если вы рыцарь смерти, охотник, маг, Паладин, Жрец, Шаман или Воин вы изучите Героическое Присутствие. \r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Dwarves Menu 988883 +DELETE FROM `npc_text` WHERE `ID`=988883; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988883, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Dwarf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Find Treasure, Frost Resistance, Gun Specialization, Mace Specialization, and Stoneform.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Dwarf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Find Treasure, Frost Resistance, Gun Specialization, Mace Specialization, and Stoneform.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988883; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988883, 'koKR', '인사 $n. \r\n 당신은 당신의 인종 특성과 능력을 드워프와 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잊게됩니다. \r\n 보물 찾기, 냉기 저항, 총기 전문화, 철퇴 전문화 및 돌의 형태를 배우게됩니다. \ r\n\r\n 당신의 욕망은 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux du Nain. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez Find Treasure, Frost Resistance, Gun Specialization, Mace Specialization et Stoneform. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Zwergs tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Schatz finden, Frostresistenz, Waffenspezialisierung, Streitkolbenspezialisierung und Steinform. \r\n\r\nWas ist dein Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'zhCN', '問候$n。 \r\n您可以與矮人交換種族特質和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習“尋找寶藏”,“抗霜凍”,“槍支專精”,“釘頭鎚專精”和“石形”。\r\n\r\n 你的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'zhTW', '問候$n。 \r\n您可以與矮人交換種族特質和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習“尋找寶藏”,“抗霜凍”,“槍支專精”,“釘頭鎚專精”和“石形”。\r\n\r\n 你的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Enano. Si la raza que eliges no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Encontrar tesoro, Resistencia a las heladas, Especialización en armas, Especialización en mazas y Forma de piedra. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Enano. Si la raza que eliges no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Encontrar tesoro, Resistencia a las heladas, Especialización en armas, Especialización en mazas y Forma de piedra. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988883, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на черты гнома. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы научитесь искать сокровища, морозостойкость, специализацию по оружию, специализацию по булаве и каменную форму. \r\n\r\nЧто вы хотите?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Gnome Menu 988884 +DELETE FROM `npc_text` WHERE `ID`=988884; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988884, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Gnome. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Arcane Resistance, Engineering Specialization, Escape Artist, and Expansive Mind.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Gnome. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Arcane Resistance, Engineering Specialization, Escape Artist, and Expansive Mind.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988884; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988884, 'koKR', '인사 $n. \r\n 인종 특성과 능력을 노움과 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잊게됩니다. \r\n 비전 저항, 공학 전문화, 탈출 예술가, 확장 정신을 배우게됩니다. \r\n\r\n 무엇입니까? 당신의 욕망?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux du Gnome. Si la race que vous avez choisie n\’a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la résistance aux arcanes, la spécialisation en ingénierie, l\’artiste d’évasion et l’esprit expansif. \r\n\r\n votre désire?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Gnomen tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Arkanen Widerstand, technische Spezialisierung, Fluchtkünstler und expansiven Verstand. \r\n\r\nWas ist dein Verlangen?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'zhCN', '問候$n。 \r\n您可以與Gnome的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學到奧術抵抗,工程專業化,逃脫藝術家和擴張性思維。\r\n\r\n是什麼 你的願望?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'zhTW', '問候$n。 \r\n您可以與Gnome的種族特徵和能力交換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學到奧術抵抗,工程專業化,逃脫藝術家和擴張性思維。\r\n\r\n是什麼 你的願望?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del gnomo. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Resistencia Arcana, Especialización en Ingeniería, Artista del Escape y Mente Expansiva. \r\n\r\nQué es ¿tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del gnomo. Si la raza que elegiste no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Resistencia Arcana, Especialización en Ingeniería, Artista del Escape y Mente Expansiva. \r\n\r\nQué es ¿tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988884, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на Гнома. Если у выбранной вами расы нет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите сопротивление тайной магии, инженерное дело, мастер побега и обширный разум. \r\n\r\nЧто такое Ваше желание?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Human Menu 988885 +DELETE FROM `npc_text` WHERE `ID`=988885; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988885, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Human. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Diplomacy, Every man for himself, Mace Specialization, Perception, Sword Specialization, and The Human Spirit.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Human. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Diplomacy, Every man for himself, Mace Specialization, Perception, Sword Specialization, and The Human Spirit.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988885; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988885, 'koKR', '인사 $n. \r\n 인종 특성과 능력을 인간과 바꿀 수 있습니다. 선택한 종족에 $c가 없으면 $c 종족 특성을 잊게됩니다. \r\n 외교, 모든 사람이 자신을 위해, 철퇴 전문화, 지각, 검 전문화 및 인간 정신을 배우게됩니다. \r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux de l\'humain. Si la race que vous avez choisie n\’a pas de $c, vous n\'apprendrez pas vos traits raciaux $c. \r\nVous apprendrez la diplomatie, Chacun pour soi, la specialisation Masse, la Perception, la specialisation Epee et l\'Esprit humain. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Menschen austauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Diplomatie, jeden Mann für sich, Streitkolbenspezialisierung, Wahrnehmung, Schwertspezialisierung und den menschlichen Geist. \r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'zhCN', '問候$n。 \r\n您可以將自己的種族特徵和能力與人類的互換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學到外交,每個人自己,狼牙棒專精,感知,劍專精和人文精神。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'zhTW', '問候$n。 \r\n您可以將自己的種族特徵和能力與人類的互換。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特徵。\r\n您將學到外交,每個人自己,狼牙棒專精,感知,劍專精和人文精神。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del humano. Si la raza que eliges no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Diplomacia, Cada hombre por sí mismo, Especialización en mazas, Percepción, Especialización en espadas y El espíritu humano. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del humano. Si la raza que eliges no tiene $c, entonces desaprenderás tus $c rasgos raciales. \r\nAprenderás Diplomacia, Cada hombre por sí mismo, Especialización en mazas, Percepción, Especialización en espadas y El espíritu humano. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988885, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на человеческие. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите дипломатию, каждого человека за себя, специализацию булавы, восприятие, специализацию по мече и человеческий дух. \r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Night Elf Menu 988886 +DELETE FROM `npc_text` WHERE `ID`=988886; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988886, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Night Elf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Nature Resistance, Quickness, Shadowmeld, and Wisp Spirit. If you are a Death Knight, Druid, Hunter, Priest, or Rogue you will learn Elusiveness.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Night Elf. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Nature Resistance, Quickness, Shadowmeld, and Wisp Spirit. If you are a Death Knight, Druid, Hunter, Priest, or Rogue you will learn Elusiveness.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988886; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988886, 'koKR', '인사 $n. \r\n 종족 특성과 능력을 나이트 엘프와 바꿀 수 있습니다. 선택한 종족에 $c가 없으면 $c 종족 특성을 잊게됩니다. \r\n 자연 저항, 신속성, Shadowmeld 및 Wisp Spirit을 배우게됩니다. 당신이 죽음의 기사, 드루이드, 사냥꾼, 사제 또는 도적이라면 도적을 배울 것입니다. \r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux de l\'elfe de la nuit. Si la race que vous avez choisie n\'a pas de $c, vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la résistance à la nature, la rapidité, l\'ombremeld et l\'esprit brindille. Si vous êtes un chevalier de la mort, un druide, un chasseur, un prêtre ou un voleur, vous apprendrez l’insaisissabilité. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Nachtelfen tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Naturresistenz, Schnelligkeit, Schattenmeldung und Wisp Spirit. Wenn Sie ein Todesritter, Druide, Jäger, Priester oder Schurke sind, lernen Sie Elusiveness. \r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'zhCN', '問候$n。 \r\n您可以與暗夜精靈交換種族特徵和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習“自然抵抗”,“敏捷”,“暗影融合”和“小精靈精神”。 如果您是死亡騎士,德魯伊,獵人,牧師或流氓,您會學到難以捉摸的。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'zhTW', '問候$n。 \r\n您可以與暗夜精靈交換種族特徵和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習“自然抵抗”,“敏捷”,“暗影融合”和“小精靈精神”。 如果您是死亡騎士,德魯伊,獵人,牧師或流氓,您會學到難以捉摸的。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del elfo de la noche. Si la raza que eliges no tiene $c, desaprenderás tus rasgos raciales de $c . \r\nAprenderás Resistencia a la naturaleza, Rapidez, Mezcla de sombras y Espíritu Wisp. Si eres un Caballero de la Muerte, Druida, Cazador, Sacerdote o Pícaro, aprenderás a Elusividad. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del elfo de la noche. Si la raza que eliges no tiene $c, desaprenderás tus rasgos raciales de $c . \r\nAprenderás Resistencia a la naturaleza, Rapidez, Mezcla de sombras y Espíritu Wisp. Si eres un Caballero de la Muerte, Druida, Cazador, Sacerdote o Pícaro, aprenderás a Elusividad. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988886, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на черты ночного эльфа. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите сопротивление природе, быстроту, слияние теней и дух огоньков. Если вы рыцарь смерти, друид, охотник, жрец или разбойник, вы научитесь Неуловимости. \r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Orc Menu 988887 +DELETE FROM `npc_text` WHERE `ID`=988887; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988887, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Orc. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Axe Specialization, Hardiness, Command, and Blood Fury\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Orc. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Axe Specialization, Hardiness, Command, and Blood Fury\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988887; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988887, 'koKR', '인사 $n. \r\n 오크의 종족 특성과 능력을 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잊게됩니다. \r\nAx Specialization, Hardiness, Command 및 Blood Fury를 배우게됩니다. \r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux de l\'Orque. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la spécialisation de la hache, la robustesse, le commandement et la fureur de sang \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Orks tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Axt-Spezialisierung, Winterhärte, Befehl und Blutwut \r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'zhCN', '問候$n。 \r\n您可以與獸人的種族特徵和能力交換。 如果您選擇的種族沒有$c,那麼您將失去$c的種族特徵。\r\n您將學習斧頭專精,耐力,指揮和血腥狂\ r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'zhTW', '問候$n。 \r\n您可以與獸人的種族特徵和能力交換。 如果您選擇的種族沒有$c,那麼您將失去$c的種族特徵。\r\n您將學習斧頭專精,耐力,指揮和血腥狂\ r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Orco. Si la raza que elegiste no tiene un $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás especialización en hachas, resistencia, mando y furia sangrienta \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Orco. Si la raza que elegiste no tiene un $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás especialización en hachas, resistencia, mando y furia sangrienta \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988887, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на таковые орков. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы изучите специализацию по топору, выносливость, командование и кровавую ярость \r\n\r\nЧто вы хотите?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Tauren Menu 988888 +DELETE FROM `npc_text` WHERE `ID`=988888; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988888, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Tauren. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Cultivation, Endurance, Nature Resistance, and War Stomp.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Orc. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Axe Specialization, Hardiness, Command, and Blood Fury\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988888; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988888, 'koKR', '인사 $n. \r\n 종족 특성과 능력을 타우렌과 바꿀 수 있습니다. 선택한 종족에 $c 가 없으면 $c 종족 특성을 잊게됩니다. \r\n 경작, 지구력, 자연 저항, 전쟁 스톰프를 배우게됩니다. \r\n\r\n 원하는 것은 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux des Taurens. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la cultivation, l\'endurance, la résistance à la nature et la guerre. \r\n\r\nQuel est votre désir ?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fahigkeiten mit denen der Tauren tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Kultivierung, Ausdauer, Naturresistenz und Kriegsstampfen. \r\n\r\nWas ist Ihr Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'zhCN', '問候$n。 \r\n您可以與牛頭人交換自己的種族特質和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習耕種,耐力,自然抗性和戰鎚。\r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'zhTW', '問候$n。 \r\n您可以與牛頭人交換自己的種族特質和能力。 如果您選擇的種族沒有 $c,那麼您將失去 $c 的種族特質。\r\n您將學習耕種,耐力,自然抗性和戰鎚。\r\n\r\n您的期望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los Tauren. Si la raza que elegiste no tiene $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás Cultivo, Resistencia, Resistencia a la naturaleza y Pisotón de guerra. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los Tauren. Si la raza que elegiste no tiene $c, entonces desaprenderás tus rasgos raciales de $c. \r\nAprenderás Cultivo, Resistencia, Resistencia a la naturaleza y Pisotón de guerra. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988888, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на тауренов. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы научитесь совершенствованию, выносливости, сопротивлению силам природы и боевому топору. \r\n\r\nЧто вы хотите ?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Troll Menu 988889 +DELETE FROM `npc_text` WHERE `ID`=988889; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988889, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Troll. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Beast Slaying, Berserking, Bow Specialization, Da Voodoo Shuffle, Regeneration, and Throwing Specialization.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Troll. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Beast Slaying, Berserking, Bow Specialization, Da Voodoo Shuffle, Regeneration, and Throwing Specialization.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988889; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988889, 'koKR', '인사 $n. \r\n 당신은 당신의 인종적 특성과 능력을 트롤들과 바꿀 수 있습니다. 선택한 종족에 $c가 없으면 $c 종족 특성을 잃게됩니다. \r\n 야수 사냥, 광전, 활 전문화, 다 부두 셔플, 재생 및 투척 전문화를 배우게됩니다. \r\n\r\n 원하는 것이 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux du Troll. Si la race que vous avez choisie n\'a pas de $c, vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez la spécialisation Beast Slaying, Berserking, Bow, Da Voodoo Shuffle, Regeneration et Throwing Specialization. \r\n\r\nQuel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen des Trolls austauschen. Wenn das von Ihnen gewählte Rennen kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Beast Slaying, Berserking, Bogenspezialisierung, Da Voodoo Shuffle, Regeneration und Throwing Specialization. \r\n\r\nWas ist dein Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'zhCN', '問候$n。 \r\n您可以將自己的種族特質和能力與巨魔的那些互換。 如果您選擇的種族沒有 $c,則您將失去 $c 的種族特質。\r\n您將學習野獸殺戮,狂暴,弓箭專長,達伏都教混洗,再生和投擲專長。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'zhTW', '問候$n。 \r\n您可以將自己的種族特質和能力與巨魔的那些互換。 如果您選擇的種族沒有 $c,則您將失去 $c 的種族特質。\r\n您將學習野獸殺戮,狂暴,弓箭專長,達伏都教混洗,再生和投擲專長。\r\n\r\n您的願望是什麼?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Troll. Si la raza que elegiste no tiene $c, desaprenderás tus rasgos raciales de $c. \r\nAprenderás Matanza de bestias, Berserking, Especialización con arco, Da Voodoo Shuffle, Regeneración y Especialización en lanzamiento. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los del Troll. Si la raza que elegiste no tiene $c, desaprenderás tus rasgos raciales de $c. \r\nAprenderás Matanza de bestias, Berserking, Especialización con arco, Da Voodoo Shuffle, Regeneración y Especialización en lanzamiento. \r\n\r\n¿Cuál es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988889, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на таковые у Тролля. Если у выбранной вами расы нет $c, то вы откажетесь от своих расовых черт $c. \r\nВы изучите Убийство зверей, Берсерк, Специализацию лука, Вудуистское перемешивание, Регенерацию и специализацию по метанию. \r\n\r\nЧего вы желаете?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + +-- Undead Menu 988880 +DELETE FROM `npc_text` WHERE `ID`=988880; +INSERT INTO `npc_text` (`ID`, `text0_0`, `text0_1`, `BroadcastTextID0`, `lang0`, `Probability0`, `em0_0`, `em0_1`, `em0_2`, `em0_3`, `em0_4`, `em0_5`, `text1_0`, `text1_1`, `BroadcastTextID1`, `lang1`, `Probability1`, `em1_0`, `em1_1`, `em1_2`, `em1_3`, `em1_4`, `em1_5`, `text2_0`, `text2_1`, `BroadcastTextID2`, `lang2`, `Probability2`, `em2_0`, `em2_1`, `em2_2`, `em2_3`, `em2_4`, `em2_5`, `text3_0`, `text3_1`, `BroadcastTextID3`, `lang3`, `Probability3`, `em3_0`, `em3_1`, `em3_2`, `em3_3`, `em3_4`, `em3_5`, `text4_0`, `text4_1`, `BroadcastTextID4`, `lang4`, `Probability4`, `em4_0`, `em4_1`, `em4_2`, `em4_3`, `em4_4`, `em4_5`, `text5_0`, `text5_1`, `BroadcastTextID5`, `lang5`, `Probability5`, `em5_0`, `em5_1`, `em5_2`, `em5_3`, `em5_4`, `em5_5`, `text6_0`, `text6_1`, `BroadcastTextID6`, `lang6`, `Probability6`, `em6_0`, `em6_1`, `em6_2`, `em6_3`, `em6_4`, `em6_5`, `text7_0`, `text7_1`, `BroadcastTextID7`, `lang7`, `Probability7`, `em7_0`, `em7_1`, `em7_2`, `em7_3`, `em7_4`, `em7_5`, `VerifiedBuild`) VALUES +(988880, 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Undead. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Cannibalize, Shadow Resistance, Underwater Breating, and Will of the Forsaken.\r\n\r\nWhat is your desire?', 'Greetings $n. \r\nYou can swap your racial traits and abilities with the ones of the Undead. If the race you chose does not have a $c, then you will unlearn your $c racial traits.\r\nYou will learn Cannibalize, Shadow Resistance, Underwater Breating, and Will of the Forsaken.\r\n\r\nWhat is your desire?', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1); +DELETE FROM `npc_text_locale` WHERE `ID`=988880; +INSERT INTO `npc_text_locale` (`ID`, `Locale`, `Text0_0`, `Text0_1`, `Text1_0`, `Text1_1`, `Text2_0`, `Text2_1`, `Text3_0`, `Text3_1`, `Text4_0`, `Text4_1`, `Text5_0`, `Text5_1`, `Text6_0`, `Text6_1`, `Text7_0`, `Text7_1`) VALUES +(988880, 'koKR', '인사 $n. \r\n 언데드와 인종 특성 및 능력을 바꿀 수 있습니다. 선택한 종족에 $c가 없으면 $c 종족 특성을 잊게됩니다. \r\n 식인종, 암흑 저항, 수중 번식, 포세이큰의 의지를 배우게됩니다. \r\n\r\n당신의 욕망은 무엇입니까?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'frFR', 'Salutations $n. \r\nVous pouvez échanger vos traits et capacités raciales avec ceux des morts-vivants. Si la race que vous avez choisie n\'a pas de $c, alors vous désapprendrez vos traits raciaux $c. \r\nVous apprendrez Cannibalisation, Résistance à l\'ombre, Respiration sous-marine et Volonté des réprouvés. \r\n\r\n Quel est votre désir?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'deDE', 'Grüße $n. \r\nSie können Ihre Rassenmerkmale und Fähigkeiten mit denen der Untoten tauschen. Wenn die von Ihnen gewählte Rasse kein $c hat, werden Sie Ihre $c Rassenmerkmale verlernen. \r\nSie lernen Kannibalisierung, Schattenresistenz, Unterwasseratmung und Willen der Verlassenen. \r\n\r\n Was ist dein Wunsch?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'zhCN', '問候$n。 \r\n您可以將自己的種族特質和能力與亡靈者互換。 如果您選擇的種族沒有$c,那麼您將失去$c的種族特徵。\r\n您將學習食人族化,暗影抵抗,水下哺乳和遺忘者的意志。\r\n\r\n 你有什麼願望', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'zhTW', '問候$n。 \r\n您可以將自己的種族特質和能力與亡靈者互換。 如果您選擇的種族沒有$c,那麼您將失去$c的種族特徵。\r\n您將學習食人族化,暗影抵抗,水下哺乳和遺忘者的意志。\r\n\r\n 你有什麼願望', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'esES', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los no muertos. Si la raza que elegiste no tiene $c, desaprenderás tus $c rasgos raciales. \r\nAprenderás Canibalizar, Resistencia a las sombras, Respiración submarina y Voluntad de los renegados. \r\n\r\n ¿Cual es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'esMX', 'Saludos $n. \r\nPuedes intercambiar tus rasgos y habilidades raciales con los de los no muertos. Si la raza que elegiste no tiene $c, desaprenderás tus $c rasgos raciales. \r\nAprenderás Canibalizar, Resistencia a las sombras, Respiración submarina y Voluntad de los renegados. \r\n\r\n ¿Cual es tu deseo?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL), +(988880, 'ruRU', 'Привет $n. \r\nВы можете поменять свои расовые черты и способности на способности Нежити. Если выбранная вами раса не имеет $c, вы откажетесь от своих $c расовых черт. \r\nВы научитесь каннибализму, сопротивлению теням, подводному дыханию и воле отрекшихся. \r\n\r\nЧто твое желание?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); \ No newline at end of file diff --git a/src/RacialTraitSwap.cpp b/src/RacialTraitSwap.cpp new file mode 100644 index 0000000..62876d1 --- /dev/null +++ b/src/RacialTraitSwap.cpp @@ -0,0 +1,1607 @@ +/* + * This file is part of the Azerothcore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + * + * Racial Traits Swap NPC For Azerothcore Custom Changes Branch + * Written by SPP DEV MDIC + * SQL Assistance by Nemesis Dev Jinnai + * Modified for Azerothcore +*/ + +#include "Chat.h" +#include "Config.h" +#include "Creature.h" +#include "GameEventMgr.h" +#include "Item.h" +#include "ItemEnchantmentMgr.h" +#include "Player.h" +#include "ScriptPCH.h" +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "ScriptedGossip.h" +#include "WorldSession.h" + +#define LOCALE_RACESWAP_0 "Racial Trait Swap" +#define LOCALE_RACESWAP_1 "인종 특성 교환" +#define LOCALE_RACESWAP_2 "Échange de traits raciaux" +#define LOCALE_RACESWAP_3 "Rassenmerkmalswechsel" +#define LOCALE_RACESWAP_4 "種族特質交換" +#define LOCALE_RACESWAP_5 "種族特質交換" +#define LOCALE_RACESWAP_6 "Intercambio de rasgos raciales" +#define LOCALE_RACESWAP_7 "Intercambio de rasgos raciales" +#define LOCALE_RACESWAP_8 "Обмен расовыми особенностями" + +#define LOCALE_EXIT_0 "[EXIT]" +#define LOCALE_EXIT_1 "[출구]" +#define LOCALE_EXIT_2 "[SORTIR]" +#define LOCALE_EXIT_3 "[AUSFAHRT]" +#define LOCALE_EXIT_4 "[出口]" +#define LOCALE_EXIT_5 "[出口]" +#define LOCALE_EXIT_6 "[SALIDA]" +#define LOCALE_EXIT_7 "[SALIDA]" +#define LOCALE_EXIT_8 "[ВЫХОД]" + +#define LOCALE_BACK_0 "[BACK]" +#define LOCALE_BACK_1 "[출구]" +#define LOCALE_BACK_2 "[RETOUR]" +#define LOCALE_BACK_3 "[ZURÜCK]" +#define LOCALE_BACK_4 "[背部]" +#define LOCALE_BACK_5 "[背部]" +#define LOCALE_BACK_6 "[ESPALDA]" +#define LOCALE_BACK_7 "[ESPALDA]" +#define LOCALE_BACK_8 "[НАЗАД]" + +#define LOCALE_GOLD_0 " Gold." +#define LOCALE_GOLD_1 " 골드." +#define LOCALE_GOLD_2 " L' or." +#define LOCALE_GOLD_3 " Gold." +#define LOCALE_GOLD_4 " 金." +#define LOCALE_GOLD_5 " 金." +#define LOCALE_GOLD_6 " Oro." +#define LOCALE_GOLD_7 " Oro." +#define LOCALE_GOLD_8 " Золото." + +#define LOCALE_BES_0 "Blood Elf Racial Trait Swap -" +#define LOCALE_BES_1 "블러드 엘프 인종 특성 스왑 -" +#define LOCALE_BES_2 "Échange de traits raciaux des elfes de sang -" +#define LOCALE_BES_3 "Rassenwechsel der Blutelfen -" +#define LOCALE_BES_4 "血精靈種族特質交換 -" +#define LOCALE_BES_5 "血精靈種族特質交換 -" +#define LOCALE_BES_6 "Intercambio de rasgos raciales de elfos de sangre -" +#define LOCALE_BES_7 "Intercambio de rasgos raciales de elfos de sangre -" +#define LOCALE_BES_8 "Обмен расовой особенностью эльфов крови -" + +#define LOCALE_DRS_0 "Draenei Racial Trait Swap -" +#define LOCALE_DRS_1 "드레나이 인종 특성 스왑 -" +#define LOCALE_DRS_2 "Échange de traits raciaux draeneï -" +#define LOCALE_DRS_3 "Draenei Rasseneigenschaftstausch -" +#define LOCALE_DRS_4 "德萊尼人種特質交換 -" +#define LOCALE_DRS_5 "德萊尼人種特質交換 -" +#define LOCALE_DRS_6 "Cambio de rasgo racial Draenei -" +#define LOCALE_DRS_7 "Cambio de rasgo racial Draenei -" +#define LOCALE_DRS_8 "Обмен расовыми особенностями дренеев -" + +#define LOCALE_DWS_0 "Dwarven Racial Trait Swap -" +#define LOCALE_DWS_1 "드워프 종족 특성 전환 -" +#define LOCALE_DWS_2 "Échange de traits raciaux nains -" +#define LOCALE_DWS_3 "Tausch der Rasseneigenschaften der Zwerge -" +#define LOCALE_DWS_4 "矮人種族特質交換 -" +#define LOCALE_DWS_5 "矮人種族特質交換 -" +#define LOCALE_DWS_6 "Intercambio de rasgos raciales enanos -" +#define LOCALE_DWS_7 "Intercambio de rasgos raciales enanos -" +#define LOCALE_DWS_8 "Обмен расовыми особенностями гномов -" + +#define LOCALE_GNS_0 "Gnome Racial Trait Swap -" +#define LOCALE_GNS_1 "그놈 인종 특성 스왑 -" +#define LOCALE_GNS_2 "Échange de traits raciaux de gnome -" +#define LOCALE_GNS_3 "Tausch der Rasseneigenschaft Gnom -" +#define LOCALE_GNS_4 "侏儒種族特質交換 -" +#define LOCALE_GNS_5 "侏儒種族特質交換 -" +#define LOCALE_GNS_6 "Cambio de rasgo racial de gnomo -" +#define LOCALE_GNS_7 "Cambio de rasgo racial de gnomo -" +#define LOCALE_GNS_8 "Смена расовой особенности гномов -" + +#define LOCALE_HUS_0 "Human Racial Trait Swap -" +#define LOCALE_HUS_1 "인간 인종 특성 교환 -" +#define LOCALE_HUS_2 "Échange de traits raciaux humains -" +#define LOCALE_HUS_3 "Austausch von menschlichen Rassenmerkmalen -" +#define LOCALE_HUS_4 "人類種族特質交換 -" +#define LOCALE_HUS_5 "人類種族特質交換 -" +#define LOCALE_HUS_6 "Intercambio de rasgos raciales humanos -" +#define LOCALE_HUS_7 "Intercambio de rasgos raciales humanos -" +#define LOCALE_HUS_8 "Обмен расовыми особенностями человека -" + +#define LOCALE_NES_0 "Night Elf Racial Trait Swap -" +#define LOCALE_NES_1 "나이트 엘프 인종 특성 스왑 -" +#define LOCALE_NES_2 "Échange de traits raciaux des elfes de la nuit -" +#define LOCALE_NES_3 "Tausch der Nachtelfen-Rasseneigenschaft -" +#define LOCALE_NES_4 "暗夜精靈種族特質交換 -" +#define LOCALE_NES_5 "暗夜精靈種族特質交換 -" +#define LOCALE_NES_6 "Cambio de rasgo racial elfo de la noche -" +#define LOCALE_NES_7 "Cambio de rasgo racial elfo de la noche -" +#define LOCALE_NES_8 "Обмен расовыми особенностями ночных эльфов -" + +#define LOCALE_ORC_0 "Orc Racial Trait Swap -" +#define LOCALE_ORC_1 "오크 종족 특성 교환 -" +#define LOCALE_ORC_2 "Échange de traits raciaux orques -" +#define LOCALE_ORC_3 "Austausch der Ork-Rassenmerkmale -" +#define LOCALE_ORC_4 "獸人種族特質交換 -" +#define LOCALE_ORC_5 "獸人種族特質交換 -" +#define LOCALE_ORC_6 "Intercambio de rasgos raciales de orcos -" +#define LOCALE_ORC_7 "Intercambio de rasgos raciales de orcos -" +#define LOCALE_ORC_8 "Смена расовой особенности орков -" + +#define LOCALE_TUR_0 "Tauren Racial Trait Swap -" +#define LOCALE_TUR_1 "타우렌 인종 특성 교환 -" +#define LOCALE_TUR_2 "Échange de traits raciaux Tauren -" +#define LOCALE_TUR_3 "Tauren Rasseneigenschaftstausch -" +#define LOCALE_TUR_4 "牛頭人種族特質交換 -" +#define LOCALE_TUR_5 "牛頭人種族特質交換 -" +#define LOCALE_TUR_6 "Intercambio de rasgos raciales tauren -" +#define LOCALE_TUR_7 "Intercambio de rasgos raciales tauren -" +#define LOCALE_TUR_8 "Обмен расовыми особенностями тауренов -" + +#define LOCALE_TRL_0 "Troll Racial Trait Swap -" +#define LOCALE_TRL_1 "트롤 인종 특성 교환 -" +#define LOCALE_TRL_2 "Échange de traits raciaux de troll -" +#define LOCALE_TRL_3 "Troll-Rasseneigenschaftstausch -" +#define LOCALE_TRL_4 "巨魔種族特質交換 -" +#define LOCALE_TRL_5 "巨魔種族特質交換 -" +#define LOCALE_TRL_6 "Cambio de rasgo racial de trol -" +#define LOCALE_TRL_7 "Cambio de rasgo racial de trol -" +#define LOCALE_TRL_8 "Обмен расовой особенности троллей -" + +#define LOCALE_UND_0 "Undead Racial Trait Swap -" +#define LOCALE_UND_1 "언데드 인종 특성 스왑 -" +#define LOCALE_UND_2 "Échange de traits raciaux morts-vivants -" +#define LOCALE_UND_3 "Untoter Rassenmerkmalentausch -" +#define LOCALE_UND_4 "亡靈種族特質交換 -" +#define LOCALE_UND_5 "亡靈種族特質交換 -" +#define LOCALE_UND_6 "Intercambio de rasgos raciales no muertos -" +#define LOCALE_UND_7 "Intercambio de rasgos raciales no muertos -" +#define LOCALE_UND_8 "Смена расовой особенности нежити -" + +class Azerothcore_Race_Trait_announce : public PlayerScript +{ +public: + Azerothcore_Race_Trait_announce() : PlayerScript("Azerothcore_Race_Trait_announce") { } + + void OnLogin(Player* Player, bool /*firstLogin*/) override + { + if (sConfigMgr->GetBoolDefault("Azerothcore.Racial.Trait.Swap.Announce.enable", true)) + { + ChatHandler(Player->GetSession()).SendSysMessage("This server is running the |cff4CFF00Azerothcore Racial Trait Swap NPC |rmodule."); + } + } +}; + +class npc_race_trait_swap : public CreatureScript +{ +public: + + npc_race_trait_swap() : CreatureScript("npc_race_trait_swap") { } + + struct npc_race_trait_swapAI : public ScriptedAI + { + npc_race_trait_swapAI(Creature* creature) : ScriptedAI(creature) { } + + bool OnGossipHello(Player* player) override + { + if (player->IsInCombat()) + { + ClearGossipMenuFor(player); + ChatHandler(player->GetSession()).PSendSysMessage("You are still in combat!"); + return true; + } + else + { + return OnGossipHello(player, me); + } + } + + static bool OnGossipHello(Player* player, Creature* creature) + { + char const* localizedEntry; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedEntry = LOCALE_RACESWAP_1; break; + case LOCALE_frFR: localizedEntry = LOCALE_RACESWAP_2; break; + case LOCALE_deDE: localizedEntry = LOCALE_RACESWAP_3; break; + case LOCALE_zhCN: localizedEntry = LOCALE_RACESWAP_4; break; + case LOCALE_zhTW: localizedEntry = LOCALE_RACESWAP_5; break; + case LOCALE_esES: localizedEntry = LOCALE_RACESWAP_6; break; + case LOCALE_esMX: localizedEntry = LOCALE_RACESWAP_7; break; + case LOCALE_ruRU: localizedEntry = LOCALE_RACESWAP_8; break; + case LOCALE_enUS: default: localizedEntry = LOCALE_RACESWAP_0; + } + AddGossipItemFor(player, GOSSIP_ICON_TRAINER, localizedEntry, GOSSIP_SENDER_MAIN, 11); + SendGossipMenuFor(player, 98888, creature->GetGUID()); + return true; + } + + bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override + { + uint32 const sender = player->PlayerTalkClass->GetGossipOptionSender(gossipListId); + uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId); + return OnGossipSelect(player, me, sender, action); + } + + bool OnGossipSelect(Player* player, Creature* _creature, uint32 /*sender*/, uint32 uiAction) + { + const int32 RTS1 = sConfigMgr->GetIntDefault("Racial.Traits.Swap.Gold", 100); + char const* localizedExit; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedExit = LOCALE_EXIT_1; break; + case LOCALE_frFR: localizedExit = LOCALE_EXIT_2; break; + case LOCALE_deDE: localizedExit = LOCALE_EXIT_3; break; + case LOCALE_zhCN: localizedExit = LOCALE_EXIT_4; break; + case LOCALE_zhTW: localizedExit = LOCALE_EXIT_5; break; + case LOCALE_esES: localizedExit = LOCALE_EXIT_6; break; + case LOCALE_esMX: localizedExit = LOCALE_EXIT_7; break; + case LOCALE_ruRU: localizedExit = LOCALE_EXIT_8; break; + case LOCALE_enUS: default: localizedExit = LOCALE_EXIT_0; + } + char const* localizedBack; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedBack = LOCALE_BACK_1; break; + case LOCALE_frFR: localizedBack = LOCALE_BACK_2; break; + case LOCALE_deDE: localizedBack = LOCALE_BACK_3; break; + case LOCALE_zhCN: localizedBack = LOCALE_BACK_4; break; + case LOCALE_zhTW: localizedBack = LOCALE_BACK_5; break; + case LOCALE_esES: localizedBack = LOCALE_BACK_6; break; + case LOCALE_esMX: localizedBack = LOCALE_BACK_7; break; + case LOCALE_ruRU: localizedBack = LOCALE_BACK_8; break; + case LOCALE_enUS: default: localizedBack = LOCALE_BACK_0; + } + char const* localizedGold; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedGold = LOCALE_GOLD_1; break; + case LOCALE_frFR: localizedGold = LOCALE_GOLD_2; break; + case LOCALE_deDE: localizedGold = LOCALE_GOLD_3; break; + case LOCALE_zhCN: localizedGold = LOCALE_GOLD_4; break; + case LOCALE_zhTW: localizedGold = LOCALE_GOLD_5; break; + case LOCALE_esES: localizedGold = LOCALE_GOLD_6; break; + case LOCALE_esMX: localizedGold = LOCALE_GOLD_7; break; + case LOCALE_ruRU: localizedGold = LOCALE_GOLD_8; break; + case LOCALE_enUS: default: localizedGold = LOCALE_GOLD_0; + } + char const* localizedBES; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedBES = LOCALE_BES_1; break; + case LOCALE_frFR: localizedBES = LOCALE_BES_2; break; + case LOCALE_deDE: localizedBES = LOCALE_BES_3; break; + case LOCALE_zhCN: localizedBES = LOCALE_BES_4; break; + case LOCALE_zhTW: localizedBES = LOCALE_BES_5; break; + case LOCALE_esES: localizedBES = LOCALE_BES_6; break; + case LOCALE_esMX: localizedBES = LOCALE_BES_7; break; + case LOCALE_ruRU: localizedBES = LOCALE_BES_8; break; + case LOCALE_enUS: default: localizedBES = LOCALE_BES_0; + } + char const* localizedDRS; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedDRS = LOCALE_DRS_1; break; + case LOCALE_frFR: localizedDRS = LOCALE_DRS_2; break; + case LOCALE_deDE: localizedDRS = LOCALE_DRS_3; break; + case LOCALE_zhCN: localizedDRS = LOCALE_DRS_4; break; + case LOCALE_zhTW: localizedDRS = LOCALE_DRS_5; break; + case LOCALE_esES: localizedDRS = LOCALE_DRS_6; break; + case LOCALE_esMX: localizedDRS = LOCALE_DRS_7; break; + case LOCALE_ruRU: localizedDRS = LOCALE_DRS_8; break; + case LOCALE_enUS: default: localizedDRS = LOCALE_DRS_0; + } + char const* localizedDWS; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedDWS = LOCALE_DWS_1; break; + case LOCALE_frFR: localizedDWS = LOCALE_DWS_2; break; + case LOCALE_deDE: localizedDWS = LOCALE_DWS_3; break; + case LOCALE_zhCN: localizedDWS = LOCALE_DWS_4; break; + case LOCALE_zhTW: localizedDWS = LOCALE_DWS_5; break; + case LOCALE_esES: localizedDWS = LOCALE_DWS_6; break; + case LOCALE_esMX: localizedDWS = LOCALE_DWS_7; break; + case LOCALE_ruRU: localizedDWS = LOCALE_DWS_8; break; + case LOCALE_enUS: default: localizedDWS = LOCALE_DWS_0; + } + char const* localizedGNS; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedGNS = LOCALE_GNS_1; break; + case LOCALE_frFR: localizedGNS = LOCALE_GNS_2; break; + case LOCALE_deDE: localizedGNS = LOCALE_GNS_3; break; + case LOCALE_zhCN: localizedGNS = LOCALE_GNS_4; break; + case LOCALE_zhTW: localizedGNS = LOCALE_GNS_5; break; + case LOCALE_esES: localizedGNS = LOCALE_GNS_6; break; + case LOCALE_esMX: localizedGNS = LOCALE_GNS_7; break; + case LOCALE_ruRU: localizedGNS = LOCALE_GNS_8; break; + case LOCALE_enUS: default: localizedGNS = LOCALE_GNS_0; + } + char const* localizedHUS; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedHUS = LOCALE_HUS_1; break; + case LOCALE_frFR: localizedHUS = LOCALE_HUS_2; break; + case LOCALE_deDE: localizedHUS = LOCALE_HUS_3; break; + case LOCALE_zhCN: localizedHUS = LOCALE_HUS_4; break; + case LOCALE_zhTW: localizedHUS = LOCALE_HUS_5; break; + case LOCALE_esES: localizedHUS = LOCALE_HUS_6; break; + case LOCALE_esMX: localizedHUS = LOCALE_HUS_7; break; + case LOCALE_ruRU: localizedHUS = LOCALE_HUS_8; break; + case LOCALE_enUS: default: localizedHUS = LOCALE_HUS_0; + } + char const* localizedNES; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedNES = LOCALE_NES_1; break; + case LOCALE_frFR: localizedNES = LOCALE_NES_2; break; + case LOCALE_deDE: localizedNES = LOCALE_NES_3; break; + case LOCALE_zhCN: localizedNES = LOCALE_NES_4; break; + case LOCALE_zhTW: localizedNES = LOCALE_NES_5; break; + case LOCALE_esES: localizedNES = LOCALE_NES_6; break; + case LOCALE_esMX: localizedNES = LOCALE_NES_7; break; + case LOCALE_ruRU: localizedNES = LOCALE_NES_8; break; + case LOCALE_enUS: default: localizedNES = LOCALE_NES_0; + } + char const* localizedORC; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedORC = LOCALE_ORC_1; break; + case LOCALE_frFR: localizedORC = LOCALE_ORC_2; break; + case LOCALE_deDE: localizedORC = LOCALE_ORC_3; break; + case LOCALE_zhCN: localizedORC = LOCALE_ORC_4; break; + case LOCALE_zhTW: localizedORC = LOCALE_ORC_5; break; + case LOCALE_esES: localizedORC = LOCALE_ORC_6; break; + case LOCALE_esMX: localizedORC = LOCALE_ORC_7; break; + case LOCALE_ruRU: localizedORC = LOCALE_ORC_8; break; + case LOCALE_enUS: default: localizedORC = LOCALE_ORC_0; + } + char const* localizedTUR; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedTUR = LOCALE_TUR_1; break; + case LOCALE_frFR: localizedTUR = LOCALE_TUR_2; break; + case LOCALE_deDE: localizedTUR = LOCALE_TUR_3; break; + case LOCALE_zhCN: localizedTUR = LOCALE_TUR_4; break; + case LOCALE_zhTW: localizedTUR = LOCALE_TUR_5; break; + case LOCALE_esES: localizedTUR = LOCALE_TUR_6; break; + case LOCALE_esMX: localizedTUR = LOCALE_TUR_7; break; + case LOCALE_ruRU: localizedTUR = LOCALE_TUR_8; break; + case LOCALE_enUS: default: localizedTUR = LOCALE_TUR_0; + } + char const* localizedTRL; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedTRL = LOCALE_TRL_1; break; + case LOCALE_frFR: localizedTRL = LOCALE_TRL_2; break; + case LOCALE_deDE: localizedTRL = LOCALE_TRL_3; break; + case LOCALE_zhCN: localizedTRL = LOCALE_TRL_4; break; + case LOCALE_zhTW: localizedTRL = LOCALE_TRL_5; break; + case LOCALE_esES: localizedTRL = LOCALE_TRL_6; break; + case LOCALE_esMX: localizedTRL = LOCALE_TRL_7; break; + case LOCALE_ruRU: localizedTRL = LOCALE_TRL_8; break; + case LOCALE_enUS: default: localizedTRL = LOCALE_TRL_0; + } + char const* localizedUND; + switch (player->GetSession()->GetSessionDbcLocale()) + { + case LOCALE_koKR: localizedUND = LOCALE_UND_1; break; + case LOCALE_frFR: localizedUND = LOCALE_UND_2; break; + case LOCALE_deDE: localizedUND = LOCALE_UND_3; break; + case LOCALE_zhCN: localizedUND = LOCALE_UND_4; break; + case LOCALE_zhTW: localizedUND = LOCALE_UND_5; break; + case LOCALE_esES: localizedUND = LOCALE_UND_6; break; + case LOCALE_esMX: localizedUND = LOCALE_UND_7; break; + case LOCALE_ruRU: localizedUND = LOCALE_UND_8; break; + case LOCALE_enUS: default: localizedUND = LOCALE_UND_0; + } + std::ostringstream messageBE; + messageBE << localizedBES << RTS1 << localizedGold; + std::ostringstream messageDR; + messageDR << localizedDRS << RTS1 << localizedGold; + std::ostringstream messageDW; + messageDW << localizedDWS << RTS1 << localizedGold; + std::ostringstream messageGN; + messageGN << localizedGNS << RTS1 << localizedGold; + std::ostringstream messageHU; + messageHU << localizedHUS << RTS1 << localizedGold; + std::ostringstream messageNE; + messageNE << localizedNES << RTS1 << localizedGold; + std::ostringstream messageOR; + messageOR << localizedORC << RTS1 << localizedGold; + std::ostringstream messageTA; + messageTA << localizedTUR << RTS1 << localizedGold; + std::ostringstream messageTR; + messageTR << localizedTRL << RTS1 << localizedGold; + std::ostringstream messageUN; + messageUN << localizedUND << RTS1 << localizedGold; + ClearGossipMenuFor(player); + + switch (uiAction) + { + + case 11: + + if (player) + { + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageBE.str(), GOSSIP_SENDER_MAIN, 1);//Blood Elf Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageDR.str(), GOSSIP_SENDER_MAIN, 2);//Draenei Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageDW.str(), GOSSIP_SENDER_MAIN, 3);//Dwarves Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageGN.str(), GOSSIP_SENDER_MAIN, 4);//Gnome Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageHU.str(), GOSSIP_SENDER_MAIN, 5);//Human Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageNE.str(), GOSSIP_SENDER_MAIN, 6);//Night Elf Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageOR.str(), GOSSIP_SENDER_MAIN, 7);//Orc Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageTA.str(), GOSSIP_SENDER_MAIN, 8);//Tauren Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageTR.str(), GOSSIP_SENDER_MAIN, 9);//Troll Selection + AddGossipItemFor(player, GOSSIP_ICON_MONEY_BAG, messageUN.str(), GOSSIP_SENDER_MAIN, 10);//Undead + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 98888, _creature->GetGUID()); + } + break; + + case 1111://close + CloseGossipMenuFor(player); + break; + + case 1://Blood Elf Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Pride of the Blood Elves", GOSSIP_SENDER_MAIN, 112); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988881, _creature->GetGUID()); + break; + + case 112://Blood Elf + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(28877, false);//Arcane Affinity + player->LearnSpell(822, false);// Magic Resistance + if (player->GetClass() == CLASS_DEATH_KNIGHT) + { + player->LearnSpell(50613, false);//Arcane Torrent + } + if (player->GetClass() == CLASS_HUNTER || player->GetClass() == CLASS_MAGE || player->GetClass() == CLASS_PALADIN || player->GetClass() == CLASS_WARLOCK) + { + player->LearnSpell(28730, false);//Arcane Torrent + } + if (player->GetClass() == CLASS_ROGUE) + { + player->LearnSpell(25046, false);//Arcane Torrent + } + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 2://Draenei Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Light of the Draenei", GOSSIP_SENDER_MAIN, 212); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988882, _creature->GetGUID()); + break; + + case 212://Draenei + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(28875, false);// Gem Cutting + if (player->GetClass() == CLASS_DEATH_KNIGHT) + { + player->LearnSpell(59545, false);//Gift of Naaru + player->LearnSpell(59539, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_DEATH_KNIGHT || player->GetClass() == CLASS_HUNTER || player->GetClass() == CLASS_PALADIN || player->GetClass() == CLASS_WARRIOR) + { + player->LearnSpell(6562, false);//Heroic Presence + } + if (player->GetClass() == CLASS_HUNTER) + { + player->LearnSpell(59543, false);//Gift of Naaru + player->LearnSpell(59536, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_MAGE) + { + player->LearnSpell(59548, false);//Gift of Naaru + player->LearnSpell(59541, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_MAGE || player->GetClass() == CLASS_PRIEST || player->GetClass() == CLASS_SHAMAN) + { + player->LearnSpell(28878, false);//Heroic Presence + } + if (player->GetClass() == CLASS_PALADIN) + { + player->LearnSpell(59542, false);//Gift of Naaru + player->LearnSpell(59535, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_PRIEST) + { + player->LearnSpell(59544, false);//Gift of Naaru + player->LearnSpell(59538, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_SHAMAN) + { + player->LearnSpell(59547, false);//Gift of Naaru + player->LearnSpell(59540, false);//Shadow Resistance + } + if (player->GetClass() == CLASS_SHAMAN) + { + player->LearnSpell(28880, false);//Gift of Naaru + player->LearnSpell(59221, false);//Shadow Resistance + } + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 3://Dwarves Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Iron Will of the Dwarves", GOSSIP_SENDER_MAIN, 31); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988883, _creature->GetGUID()); + break; + + case 31://Dwarves + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(2481, false);//Find Treasure + player->LearnSpell(20596, false);//Frost Resistance + player->LearnSpell(20595, false);//Gun Specialization + player->LearnSpell(59224, false);//Mace Specialization + player->LearnSpell(20594, false);//Stoneform + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 4://Gnome Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Technological Might of the Gnomes", GOSSIP_SENDER_MAIN, 41); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988884, _creature->GetGUID()); + break; + + case 41://Gnome + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occur and money is deducted + player->LearnSpell(20592, false);//Arcane Resistance + player->LearnSpell(20593, false);//Engineering Specialization + player->LearnSpell(20589, false);//Escape Artist + player->LearnSpell(20591, false);//Expansive Mind + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 5://Human Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Human Spirit", GOSSIP_SENDER_MAIN, 51); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988885, _creature->GetGUID()); + break; + + case 51://Human + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20599, false);//Diplomacy + player->LearnSpell(59752, false);//Every man for himself + player->LearnSpell(20864, false);//Mace Specialization + player->LearnSpell(58985, false);//Perception + player->LearnSpell(20597, false);//Sword Specialization + player->LearnSpell(20598, false);//The Human Spirit + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 6://Night Elf Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Ancient Night Elves", GOSSIP_SENDER_MAIN, 61); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988886, _creature->GetGUID()); + break; + + case 61://Night Elf + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20583, false);//Nature Resistance + player->LearnSpell(20582, false);//Quickness + player->LearnSpell(58984, false);//Shadowmeld + player->LearnSpell(20585, false);//Wisp Spirit + if (player->GetClass() == CLASS_DEATH_KNIGHT || player->GetClass() == CLASS_DRUID || player->GetClass() == CLASS_HUNTER || player->GetClass() == CLASS_PRIEST || player->GetClass() == CLASS_ROGUE || player->GetClass() == CLASS_WARRIOR) + { + player->LearnSpell(21009, false);//Elusiveness + } + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 7://Orc Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Strength of the Orc", GOSSIP_SENDER_MAIN, 71); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988887, _creature->GetGUID()); + break; + + case 71://Orc + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20574, false);//Axe Specialization + player->LearnSpell(20573, false);//Hardiness + if (player->GetClass() == CLASS_DEATH_KNIGHT) + { + player->LearnSpell(54562, false);//Command + } + if (player->GetClass() == CLASS_DEATH_KNIGHT || player->GetClass() == CLASS_HUNTER || player->GetClass() == CLASS_ROGUE || player->GetClass() == CLASS_WARRIOR) + { + player->LearnSpell(20572, false);//Blood Fury + } + if (player->GetClass() == CLASS_DRUID || player->GetClass() == CLASS_PALADIN || player->GetClass() == CLASS_PRIEST || player->GetClass() == CLASS_ROGUE || player->GetClass() == CLASS_WARRIOR) + { + player->LearnSpell(21563, false);//Command + } + if (player->GetClass() == CLASS_HUNTER) + { + player->LearnSpell(20576, false);//Command + } + if (player->GetClass() == CLASS_SHAMAN) + { + player->LearnSpell(33697, false);//Blood Fury + player->LearnSpell(65222, false);//Command + } + if (player->GetClass() == CLASS_WARLOCK) + { + player->LearnSpell(33702, false);//Blood Fury + player->LearnSpell(20575, false);//Command + } + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 8://Tauren Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Endurance of the Taurens", GOSSIP_SENDER_MAIN, 81); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988888, _creature->GetGUID()); + break; + + case 81://Tauren + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20552, false);//Cultivation + player->LearnSpell(20550, false);//Endurance + player->LearnSpell(20551, false);//Nature Resistance + player->LearnSpell(20549, false);//Warstomp + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 9://Troll Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Vodoo of the Trolls", GOSSIP_SENDER_MAIN, 91); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988889, _creature->GetGUID()); + break; + + case 91://Troll + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20557, false);//Beast Slaying + player->LearnSpell(26297, false);//Berserking + player->LearnSpell(26290, false);//Bow Specialization + player->LearnSpell(58943, false);//Da Voodoo Shuffle + player->LearnSpell(20555, false);//Regeneration + player->LearnSpell(20558, false);//Throwing Specialization + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Undead: + player->RemoveSpell(20577, false, false);// unlearn Cannibalize + player->RemoveSpell(20579, false, false);// unlearn Shadow Resistance + player->RemoveSpell(5227, false, false);// unlearn Underwater Breating + player->RemoveSpell(7744, false, false);// unlearn Will of the Forsaken + break; + + case 10://Undead Selection + AddGossipItemFor(player, GOSSIP_ICON_INTERACT_1, "Commit to the Will of the Forsaken", GOSSIP_SENDER_MAIN, 101); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedBack, GOSSIP_SENDER_MAIN, 11); + AddGossipItemFor(player, GOSSIP_ICON_TALK, localizedExit, GOSSIP_SENDER_MAIN, 1111); + SendGossipMenuFor(player, 988880, _creature->GetGUID()); + break; + + case 101://Undead + CloseGossipMenuFor(player); + if (!player->HasEnoughMoney(int32(RTS1 * GOLD)))//gold check + return true; + player->ModifyMoney(int32(-RTS1 * GOLD));//Deducting the money if check passes + player->CastSpell(player, 47292);//Level up visual effect to let you know the transaction did occure and money is deducted + player->LearnSpell(20577, false);//Cannibalize + player->LearnSpell(20579, false);//Shadow Resistance + player->LearnSpell(5227, false);//Underwater Breating + player->LearnSpell(7744, false);//Will of the Forsaken + //blood elf: + player->RemoveSpell(28877, false, false);// unlearn Arcane Affinity + player->RemoveSpell(822, false, false);// unlearn Magic Resistance + //~DK + player->RemoveSpell(50613, false, false);// unlearn Arcane Torrent + //~Hunter, mage, paladin, priest, warlock + player->RemoveSpell(28730, false, false);// unlearn Arcane Torrent + //~Rogue + player->RemoveSpell(25046, false, false);// unlearn Arcane Torrent + //Draenei: + player->RemoveSpell(28875, false, false);// unlearn Gemcutting + //~DK + player->RemoveSpell(59545, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59539, false, false);// unlearnShadow Resistance + //~DK, Hunter, Paladin, Warrior + player->RemoveSpell(6562, false, false);// unlearn Heroic Presence + //~Hunter + player->RemoveSpell(59543, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59536, false, false);// unlearn Shadow Resistance + //~Mage + player->RemoveSpell(59548, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59541, false, false);// unlearn Shadow Resistance + //~Mage, Priest, Shaman + player->RemoveSpell(28878, false, false);// unlearn Heroic Presence + //~Paladin + player->RemoveSpell(59542, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59535, false, false);// unlearn Shadow Resistance + //~Priest + player->RemoveSpell(59544, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59538, false, false);// unlearn Shadow Resistance + //~Shaman + player->RemoveSpell(59547, false, false);// unlearn Gift of the Narru + player->RemoveSpell(59540, false, false);// unlearn Shadow Resistance + //~Warrior + player->RemoveSpell(28880, false, false);// unlearn Gift of Naaru + player->RemoveSpell(59221, false, false);// unlearn Shadow Resistance + //Dwarven: + player->RemoveSpell(2481, false, false);// unlearn Find Treasure + player->RemoveSpell(20596, false, false);// unlearn Frost Resistance + player->RemoveSpell(20595, false, false);// unlearn Gun Specialization + player->RemoveSpell(59224, false, false);// unlearn Mace Specialization + player->RemoveSpell(20594, false, false);// unlearn Stoneform + //Gnome: + player->RemoveSpell(20592, false, false);// unlearn Arcane Resistance + player->RemoveSpell(20593, false, false);// unlearn Engineering Specialization + player->RemoveSpell(20589, false, false);// unlearn Escape Artist + player->RemoveSpell(20591, false, false);// unlearn Expansive Mind + //Human: + player->RemoveSpell(20599, false, false);// unlearn Diplomacy + player->RemoveSpell(59752, false, false);// unlearn Every man for himself + player->RemoveSpell(20864, false, false);// unlearn Mace Specialization + player->RemoveSpell(58985, false, false);// unlearn Perception + player->RemoveSpell(20597, false, false);// unlearn Sword Specialization + player->RemoveSpell(20598, false, false);// unlearn The Human Spirit + //Night Elf: + player->RemoveSpell(20583, false, false);// unlearn Nature Resistance + player->RemoveSpell(20582, false, false);// unlearn Quickness + player->RemoveSpell(58984, false, false);// unlearn Shadowmeld + player->RemoveSpell(20585, false, false);// unlearn Wisp Spirit + //~DK, Hunter, Druid, Hunter, Priest, Rogue, Warrior + player->RemoveSpell(21009, false, false);// unlearn Elusiveness + //Orc: + player->RemoveSpell(20574, false, false);// unlearn Axe Specialization + player->RemoveSpell(20573, false, false);// unlearn Hardiness + //~DK + player->RemoveSpell(54562, false, false);// unlearn Command + //~DK, hunter, rogue, warrior + player->RemoveSpell(20572, false, false);// unlearn Blood Fury + //~Druid, mage, paladin, priest, rogue, warrior + player->RemoveSpell(21563, false, false);// unlearn Command + //~Hunter + player->RemoveSpell(20576, false, false);// unlearn Command + //~Shaman + player->RemoveSpell(33697, false, false);// unlearn Blood fury + player->RemoveSpell(65222, false, false);// unlearn Command + //~Warlock + player->RemoveSpell(33702, false, false);// unlearn Blood Fury + player->RemoveSpell(20575, false, false);// unlearn Command + //Tauren: + player->RemoveSpell(20552, false, false);// unlearn Cultivation + player->RemoveSpell(20550, false, false);// unlearn Endurance + player->RemoveSpell(20551, false, false);// unlearn Nature Resistance + player->RemoveSpell(20549, false, false);// unlearn Warstomp + //Troll: + player->RemoveSpell(20557, false, false);// unlearn Beast Slaying + player->RemoveSpell(26297, false, false);// unlearn Berserking + player->RemoveSpell(26290, false, false);// unlearn Bow Specialization + player->RemoveSpell(58943, false, false);// unlearn Da Voodoo Shuffle + player->RemoveSpell(20555, false, false);// unlearn Regeneration + player->RemoveSpell(20558, false, false);// unlearn Throwing Specialization + break; + + default: + + break; + } + return true; + } + }; + + CreatureAI* GetAI(Creature* creature) const override + { + return new npc_race_trait_swapAI(creature); + } +}; + +void AddSC_racial_traits_npc() +{ + new Azerothcore_Race_Trait_announce(); + new npc_race_trait_swap(); +} \ No newline at end of file diff --git a/src/loader.h b/src/loader.h new file mode 100644 index 0000000..7f7b8ad --- /dev/null +++ b/src/loader.h @@ -0,0 +1 @@ +AddSC_racial_traits_npc();