/*
* This file is part of the Pandaria 5.4.8 Project. See THANKS 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 <http://www.gnu.org/licenses/>.
*/

#ifndef DAGGER_IN_THE_DARK_H_
#define DAGGER_IN_THE_DARK_H_

const Position darkhatchedSwarmPos[3] =
{
    { 1224.71f, -139.91f, 478.62f, 2.98f },
    { 1222.93f, -122.58f, 476.86f, 2.56f },
    { 1202.13f,  -77.83f, 477.92f, 4.03f },
};

const Position korkronLeavePath[7] =
{
    { 786.243f,  -190.6302f, 406.1024f, 0.0f, },
    { 762.4809f, -205.5139f, 421.4945f, 0.0f, },
    { 775.6406f, -257.6406f, 446.6274f, 0.0f, },
    { 780.4965f, -277.1163f, 462.263f,  0.0f, },
    { 826.3368f, -299.9184f, 478.9033f, 0.0f, },
    { 875.1111f, -310.6111f, 492.076f,  0.0f, },
    { 981.1337f, -304.2604f, 516.049f,  0.0f, },
};

const Position voljinFirstPath[3]=
{
    { 790.48f, -196.866f, 402.73f, 0.0f },
    { 792.23f, -204.24f,  402.70f, 0.0f },
    { 794.36f, -207.11f,  402.65f, 0.0f },
};

const Position voljinSecondPath[42]=
{
    { 809.7122f, -210.1489f, 402.9629f, 0.0f },
    { 813.7122f, -209.6489f, 403.7129f, 0.0f },
    { 820.7122f, -208.3989f, 404.9629f, 0.0f },
    { 823.7122f, -208.1489f, 405.7129f, 0.0f },
    { 826.4622f, -207.6489f, 406.4629f, 0.0f },
    { 830.2122f, -206.3989f, 407.2129f, 0.0f },
    { 838.2122f, -202.3989f, 408.9629f, 0.0f },
    { 840.7122f, -202.3989f, 409.7129f, 0.0f },
    { 842.7122f, -202.3989f, 410.4629f, 0.0f },
    { 845.7122f, -202.3989f, 411.2129f, 0.0f },
    { 868.6597f, -197.9167f, 416.5059f, 0.0f },
    { 876.7866f, -189.2262f, 417.5241f, 0.0f },
    { 880.0366f, -183.9762f, 418.5241f, 0.0f },
    { 881.5366f, -181.4762f, 419.2741f, 0.0f },
    { 879.2991f, -180.9689f, 420.3079f, 0.0f },
    { 883.5491f, -178.7189f, 421.0579f, 0.0f },
    { 894.5491f, -168.2189f, 422.3079f, 0.0f },
    { 903.0707f, -156.2448f, 424.3375f, 0.0f },
    { 910.6494f, -153.8294f, 425.3727f, 0.0f },
    { 916.6494f, -146.0794f, 426.3727f, 0.0f },
    { 926.307f,  -137.6226f, 428.5189f, 0.0f },
    { 930.7411f, -126.0352f, 429.9956f, 0.0f },
    { 936.9911f, -123.5352f, 430.7456f, 0.0f },
    { 942.5019f, -121.3254f, 432.1841f, 0.0f },
    { 947.7519f, -117.3254f, 434.1841f, 0.0f },
    { 951.7519f, -114.5754f, 435.4341f, 0.0f },
    { 967.8738f, -109.4654f, 440.4592f, 0.0f },
    { 975.1895f, -107.923f,  444.2235f, 0.0f },
    { 981.1895f, -108.673f,  446.7235f, 0.0f },
    { 984.3333f, -113.1042f, 448.6675f, 0.0f },
    { 990.3333f, -113.1042f, 450.9175f, 0.0f },
    { 999.0833f, -113.1042f, 453.4175f, 0.0f },
    { 1007.388f, -114.6808f, 456.1762f, 0.0f },
    { 1011.388f, -114.6808f, 457.6762f, 0.0f },
    { 1020.632f, -115.783f,  460.6223f, 0.0f },
    { 1023.912f, -116.296f,  463.0694f, 0.0f },
    { 1039.882f, -120.033f,  465.3723f, 0.0f },
    { 1052.509f, -122.655f,  469.3025f, 0.0f },
    { 1066.192f, -125.5938f, 470.1413f, 0.0f },
    { 1072.942f, -126.8438f, 472.1413f, 0.0f },
    { 1085.372f, -129.3246f, 475.1469f, 0.0f },
    { 1122.028f, -134.1076f, 476.2334f, 0.0f },
};

const Position bodyguardsCavePos[2]=
{
    { 1505.52f, -57.28f, 480.65f, 1.54f },
    { 1499.35f, -54.41f, 481.00f, 0.97f },
};

const Position lizardLordPath[4]=
{
    { 1202.43f, -73.80f,  478.00f, 0.0f },
    { 1180.10f, -86.78f,  476.32f, 0.0f },
    { 1175.68f, -104.81f, 476.34f, 0.0f },
    { 1161.00f, -121.53f, 475.87f, 0.0f },
};

const Position boatPath[2] =
{
    { 1165.73f, -124.31f,  475.59f, 0.0f },
    { 1168.74f, -121.84f,  475.95f, 0.0f },
};

const Position slayerPath[7] =
{
    { 1200.50f, -107.50f, 476.88f, 0.0f },
    { 1228.48f, -80.06f,  476.88f, 0.0f }, // 1
    { 1267.16f, -45.75f,  476.88f, 0.0f },
    { 1335.67f, -32.55f,  476.88f, 0.0f }, // 2
    { 1325.63f, -17.76f,  476.88f, 0.0f }, // 3
    { 1364.34f,  0.89f,   476.88f, 0.0f }, // 4
    { 1436.96f,  55.17f,  476.88f, 0.0f },
};

const Position voljinCavePath[4] =
{
    { 1445.86f, 11.53f,  477.53f, 0.0f },
    { 1466.96f, -7.38f,  479.14f, 0.0f },
    { 1508.27f, -47.79f, 480.64f, 0.0f },
    { 1533.80f, -33.61f, 482.66f, 0.0f },
};

const Position bloodrazorCavePath[4] =
{
    { 1523.56f, -39.12f, 480.85f, 0.0f },
    { 1533.66f, -28.82f, 482.83f, 0.0f },
    { 1552.13f, -18.14f, 479.24f, 0.0f },
    { 1570.22f,  -4.89f, 479.24f, 0.0f },
};

const Position additionalGrizzlePoint = { 1131.23f, -144.89f, 479.41f, 6.28f };
const Position voljinLizzardPoint = { 1156.06f, -121.21f, 475.95f, 0.0f };
const Position voljinLeaveBoatPoint = { 1443.16f, 50.37f, 475.80f, 5.33f };
const Position voljinLastStand = { 1574.22f, 19.60f, 479.24f, 2.74f };
const Position bigBadVooodooPos = { 1588.8f, 3.62441f, 479.215f, 0.0f };

enum Data
{
    DATA_THE_MISSION,
    DATA_WE_RIDE,
    DATA_GUARDS,
    DATA_INTO_THE_CAVE,
    DATA_THE_SOURCE,
    DATA_THE_BROODMASTER,
    DATA_INVESTIGATION,
    DATA_DEFEAT_RAKGOR,

    // Misc
    TYPE_TABLET_USING,
    DATA_TABLETS_COUNT,
    FACTION_DATA,
    WATER_JETS_SLAIN_DATA,
};

enum Creatures
{
    NPC_VOLJIN                       = 67414,
    NPC_RAKGOR_BLOODRAZOR            = 67266,
    NPC_KORKRON_BODYGUARD            = 67681,
    NPC_GRIZZLE_GEARSLIP             = 67782,
    NPC_DARKHATCHED_LIZARD_LORD      = 67263,
    NPC_DARKHATCHED_SORCERER         = 67748,
    NPC_CORRUOTED_DARKHATCHED_SLAYER = 67832,
    NPC_DARKHATCHED_FLASH_HUNTER     = 67259,
    NPC_DARKHATCHED_ORACLE           = 67256,
    NPC_DARKHATCHED_SHAMAN           = 67255,
    NPC_DARKHATCHED_SKULKER          = 67257,
    NPC_DARKHATCHED_SKINFLAYER       = 67258,
    NPC_BROODMASTER_NOSHI            = 67264,

    // Misc
    NPC_MOGU_RUNE                    = 67686,
    NPC_BROKEN_MOGU_TABLET           = 67862,
    NPC_BROKEN_MOGU_TABLET_2         = 67863,
    NPC_CORRUPTED_DARKHATCHED_EGG    = 67798,
    NPC_SPRING_DRIFTER               = 67783,
    NPC_SPRING_SAUROK_SLAYER         = 67706,
    NPC_GOBLIN_CANNON                = 67694,
    NPC_SPRING_DRIFTER_TARGET        = 67878,
    NPC_SAUROK_EGG                   = 67792,
    NPC_MATURE_SAUROK_EGG            = 67779,
    NPC_WORLD_INVISIBLE_TRIGGER      = 12999,
    NPC_STALACTITE                   = 67755,
    NPC_CORRUPTED_DARK_HATCHED_EGG   = 67798,
    NPC_HEALING_WARD                 = 67415,
};

enum Yells
{
    TALK_INTRO,
    TALK_SPECIAL_1,
    TALK_SPECIAL_2,
    TALK_SPECIAL_3,
    TALK_SPECIAL_4,
    TALK_SPECIAL_5,
    TALK_SPECIAL_6,
    TALK_SPECIAL_7,
    TALK_SPECIAL_8,
    TALK_SPECIAL_9,
    TALK_SPECIAL_10,
    TALK_SPECIAL_11,
    TALK_SPECIAL_12,
    TALK_SPECIAL_13,
    TALK_SPECIAL_14,
    TALK_SPECIAL_15,
    TALK_SPECIAL_16,
    TALK_SPECIAL_17,
    TALK_SPECIAL_18,
    TALK_SPECIAL_19,
    TALK_SPECIAL_20,
    TALK_SPECIAL_21,
    TALK_SPECIAL_22,
    TALK_SPECIAL_23,
    TALK_SPECIAL_24,
    TALK_SPECIAL_25,
    TALK_SPECIAL_26,
    TALK_SPECIAL_27,
    TALK_SPECIAL_28,
    TALK_SPECIAL_29,
    TALK_SPECIAL_30,
    TALK_SPECIAL_31,
    TALK_SPECIAL_32,
    TALK_SPECIAL_33,
};

enum Actions
{
    ACTION_START_INTRO,
    ACTION_MEET_LIZARD_LORD,
    ACTION_LIZARD_DIED,
    ACTION_MOVE_TO_BOAT,
    ACTION_IN_CAVE,
    ACTION_APPLY_STASIS,
    ACTION_REMOVE_STASIS,
    ACTION_VOLJIN_LEAVE_BOAT,
    ACTION_REACH_BROODMASTER,
    ACTION_DEFEAT_BROODMASTER,
    ACTION_INVESTIGATE_DONE,
    ACTION_GONNA_KILL_VOLJIN,
    ACTION_BLOODRAZOR_SLAIN,
    ACTION_BIG_BAD_VOOODOO,
};

enum LFGTypes
{
    LFG_DAGGER_IN_THE_DARK_H = 586,
    LFG_DAGGER_IN_THE_DARK_A = 616,
};

enum Criteries
{
    CRITERIA_DEFEAT_SAUROK_PATROL = 22416,
    CRITERIA_LIZARD_LORD          = 22238,
    CRITERIA_DEFEAT_BROODMASTER   = 22239,
    CRITERIA_WEST_STATUE          = 22288,
    CRITERIA_EAST_STATUE          = 22289,
    CRITERIA_DEFEAT_BLOODRAZOR    = 22240,
};

enum Worldstates
{
    WORLDSTATE_U_MEAN_THATS_NOT_VOID_ZONE = 13147,
    WORLDSTATE_NO_EGG_LEFT_BEHIND         = 13155,
    WORLDSTATE_WATERY_GRAVE               = 13146,
};

#endif // DAGGER_IN_THE_DARK_H_