mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
Merge remote-tracking branch 'tkrokli/npc_sayge' into 3.3.5 (PR #17101)
This commit is contained in:
@@ -1188,35 +1188,48 @@ public:
|
||||
|
||||
enum Sayge
|
||||
{
|
||||
SPELL_DMG = 23768, // dmg
|
||||
SPELL_RES = 23769, // res
|
||||
SPELL_ARM = 23767, // arm
|
||||
SPELL_SPI = 23738, // spi
|
||||
SPELL_INT = 23766, // int
|
||||
SPELL_STM = 23737, // stm
|
||||
SPELL_STR = 23735, // str
|
||||
SPELL_AGI = 23736, // agi
|
||||
SPELL_FORTUNE = 23765 // faire fortune
|
||||
};
|
||||
GOSSIP_MENU_OPTION_ID_ANSWER_1 = 0,
|
||||
GOSSIP_MENU_OPTION_ID_ANSWER_2 = 1,
|
||||
GOSSIP_MENU_OPTION_ID_ANSWER_3 = 2,
|
||||
GOSSIP_MENU_OPTION_ID_ANSWER_4 = 3,
|
||||
GOSSIP_I_AM_READY_TO_DISCOVER = 6186,
|
||||
GOSSIP_MENU_OPTION_SAYGE1 = 6185,
|
||||
GOSSIP_MENU_OPTION_SAYGE2 = 6185,
|
||||
GOSSIP_MENU_OPTION_SAYGE3 = 6185,
|
||||
GOSSIP_MENU_OPTION_SAYGE4 = 6185,
|
||||
GOSSIP_MENU_OPTION_SAYGE5 = 6187,
|
||||
GOSSIP_MENU_OPTION_SAYGE6 = 6187,
|
||||
GOSSIP_MENU_OPTION_SAYGE7 = 6187,
|
||||
GOSSIP_MENU_OPTION_SAYGE8 = 6208,
|
||||
GOSSIP_MENU_OPTION_SAYGE9 = 6208,
|
||||
GOSSIP_MENU_OPTION_SAYGE10 = 6208,
|
||||
GOSSIP_MENU_OPTION_SAYGE11 = 6209,
|
||||
GOSSIP_MENU_OPTION_SAYGE12 = 6209,
|
||||
GOSSIP_MENU_OPTION_SAYGE13 = 6209,
|
||||
GOSSIP_MENU_OPTION_SAYGE14 = 6210,
|
||||
GOSSIP_MENU_OPTION_SAYGE15 = 6210,
|
||||
GOSSIP_MENU_OPTION_SAYGE16 = 6210,
|
||||
GOSSIP_MENU_OPTION_SAYGE17 = 6211,
|
||||
GOSSIP_MENU_I_HAVE_LONG_KNOWN = 7339,
|
||||
GOSSIP_MENU_YOU_HAVE_BEEN_TASKED = 7340,
|
||||
GOSSIP_MENU_SWORN_EXECUTIONER = 7341,
|
||||
GOSSIP_MENU_DIPLOMATIC_MISSION = 7361,
|
||||
GOSSIP_MENU_YOUR_BROTHER_SEEKS = 7362,
|
||||
GOSSIP_MENU_A_TERRIBLE_BEAST = 7363,
|
||||
GOSSIP_MENU_YOUR_FORTUNE_IS_CAST = 7364,
|
||||
GOSSIP_MENU_HERE_IS_YOUR_FORTUNE = 7365,
|
||||
GOSSIP_MENU_CANT_GIVE_YOU_YOUR = 7393,
|
||||
|
||||
#define GOSSIP_HELLO_SAYGE "Yes"
|
||||
#define GOSSIP_SENDACTION_SAYGE1 "Slay the Man"
|
||||
#define GOSSIP_SENDACTION_SAYGE2 "Turn him over to liege"
|
||||
#define GOSSIP_SENDACTION_SAYGE3 "Confiscate the corn"
|
||||
#define GOSSIP_SENDACTION_SAYGE4 "Let him go and have the corn"
|
||||
#define GOSSIP_SENDACTION_SAYGE5 "Execute your friend painfully"
|
||||
#define GOSSIP_SENDACTION_SAYGE6 "Execute your friend painlessly"
|
||||
#define GOSSIP_SENDACTION_SAYGE7 "Let your friend go"
|
||||
#define GOSSIP_SENDACTION_SAYGE8 "Confront the diplomat"
|
||||
#define GOSSIP_SENDACTION_SAYGE9 "Show not so quiet defiance"
|
||||
#define GOSSIP_SENDACTION_SAYGE10 "Remain quiet"
|
||||
#define GOSSIP_SENDACTION_SAYGE11 "Speak against your brother openly"
|
||||
#define GOSSIP_SENDACTION_SAYGE12 "Help your brother in"
|
||||
#define GOSSIP_SENDACTION_SAYGE13 "Keep your brother out without letting him know"
|
||||
#define GOSSIP_SENDACTION_SAYGE14 "Take credit, keep gold"
|
||||
#define GOSSIP_SENDACTION_SAYGE15 "Take credit, share the gold"
|
||||
#define GOSSIP_SENDACTION_SAYGE16 "Let the knight take credit"
|
||||
#define GOSSIP_SENDACTION_SAYGE17 "Thanks"
|
||||
SPELL_STRENGTH = 23735, // +10% Strength
|
||||
SPELL_AGILITY = 23736, // +10% Agility
|
||||
SPELL_STAMINA = 23737, // +10% Stamina
|
||||
SPELL_SPIRIT = 23738, // +10% Spirit
|
||||
SPELL_INTELLECT = 23766, // +10% Intellect
|
||||
SPELL_ARMOR = 23767, // +10% Armor
|
||||
SPELL_DAMAGE = 23768, // +10% Damage
|
||||
SPELL_RESISTANCE = 23769, // +25 Magic Resistance (All)
|
||||
SPELL_FORTUNE = 23765 // Darkmoon Faire Fortune
|
||||
};
|
||||
|
||||
class npc_sayge : public CreatureScript
|
||||
{
|
||||
@@ -1228,19 +1241,19 @@ public:
|
||||
if (creature->IsQuestGiver())
|
||||
player->PrepareQuestMenu(creature->GetGUID());
|
||||
|
||||
if (player->GetSpellHistory()->HasCooldown(SPELL_INT) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_ARM) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_DMG) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_RES) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_STR) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_AGI) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_STM) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_SPI))
|
||||
player->SEND_GOSSIP_MENU(7393, creature->GetGUID());
|
||||
if (player->GetSpellHistory()->HasCooldown(SPELL_STRENGTH) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_AGILITY) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_STAMINA) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_SPIRIT) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_INTELLECT) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_ARMOR) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_DAMAGE) ||
|
||||
player->GetSpellHistory()->HasCooldown(SPELL_RESISTANCE))
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_CANT_GIVE_YOU_YOUR, creature->GetGUID());
|
||||
else
|
||||
{
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_SAYGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
player->SEND_GOSSIP_MENU(7339, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_I_AM_READY_TO_DISCOVER, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_I_HAVE_LONG_KNOWN, creature->GetGUID());
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -1251,43 +1264,43 @@ public:
|
||||
switch (action)
|
||||
{
|
||||
case GOSSIP_ACTION_INFO_DEF + 1:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
player->SEND_GOSSIP_MENU(7340, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE1, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE2, GOSSIP_MENU_OPTION_ID_ANSWER_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE3, GOSSIP_MENU_OPTION_ID_ANSWER_3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE4, GOSSIP_MENU_OPTION_ID_ANSWER_4, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_YOU_HAVE_BEEN_TASKED, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 2:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE5, GOSSIP_SENDER_MAIN + 1, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE6, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE7, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(7341, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE5, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN + 1, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE6, GOSSIP_MENU_OPTION_ID_ANSWER_2, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE7, GOSSIP_MENU_OPTION_ID_ANSWER_3, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_SWORN_EXECUTIONER, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 3:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE8, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE9, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE10, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(7361, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE8, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE9, GOSSIP_MENU_OPTION_ID_ANSWER_2, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE10,GOSSIP_MENU_OPTION_ID_ANSWER_3, GOSSIP_SENDER_MAIN + 2, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_DIPLOMATIC_MISSION, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 4:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE11, GOSSIP_SENDER_MAIN + 6, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE12, GOSSIP_SENDER_MAIN + 7, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE13, GOSSIP_SENDER_MAIN + 8, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(7362, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE11, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN + 6, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE12, GOSSIP_MENU_OPTION_ID_ANSWER_2, GOSSIP_SENDER_MAIN + 7, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE13, GOSSIP_MENU_OPTION_ID_ANSWER_3, GOSSIP_SENDER_MAIN + 8, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_YOUR_BROTHER_SEEKS, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 5:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE14, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE15, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE16, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(7363, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE14, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN + 5, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE15, GOSSIP_MENU_OPTION_ID_ANSWER_2, GOSSIP_SENDER_MAIN + 4, GOSSIP_ACTION_INFO_DEF);
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE16, GOSSIP_MENU_OPTION_ID_ANSWER_3, GOSSIP_SENDER_MAIN + 3, GOSSIP_ACTION_INFO_DEF);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_A_TERRIBLE_BEAST, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF:
|
||||
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SENDACTION_SAYGE17, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
|
||||
player->SEND_GOSSIP_MENU(7364, creature->GetGUID());
|
||||
player->ADD_GOSSIP_ITEM_DB(GOSSIP_MENU_OPTION_SAYGE17, GOSSIP_MENU_OPTION_ID_ANSWER_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 6);
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_YOUR_FORTUNE_IS_CAST, creature->GetGUID());
|
||||
break;
|
||||
case GOSSIP_ACTION_INFO_DEF + 6:
|
||||
creature->CastSpell(player, SPELL_FORTUNE, false);
|
||||
player->SEND_GOSSIP_MENU(7365, creature->GetGUID());
|
||||
player->SEND_GOSSIP_MENU(GOSSIP_MENU_HERE_IS_YOUR_FORTUNE, creature->GetGUID());
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -1302,28 +1315,28 @@ public:
|
||||
SendAction(player, creature, action);
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 1:
|
||||
spellId = SPELL_DMG;
|
||||
spellId = SPELL_DAMAGE;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 2:
|
||||
spellId = SPELL_RES;
|
||||
spellId = SPELL_RESISTANCE;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 3:
|
||||
spellId = SPELL_ARM;
|
||||
spellId = SPELL_ARMOR;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 4:
|
||||
spellId = SPELL_SPI;
|
||||
spellId = SPELL_SPIRIT;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 5:
|
||||
spellId = SPELL_INT;
|
||||
spellId = SPELL_INTELLECT;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 6:
|
||||
spellId = SPELL_STM;
|
||||
spellId = SPELL_STAMINA;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 7:
|
||||
spellId = SPELL_STR;
|
||||
spellId = SPELL_STRENGTH;
|
||||
break;
|
||||
case GOSSIP_SENDER_MAIN + 8:
|
||||
spellId = SPELL_AGI;
|
||||
spellId = SPELL_AGILITY;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user