Permalink
Browse files

Merge pull request #87 from PortgasDAce/patch-1

Core/Scripts : Worgen/Goblin Work
  • Loading branch information...
2 parents 36a8230 + 674fdad commit fedef55b4377c4a4a370ae310d05b663c4869874 @User2312 User2312 committed Jun 24, 2011
Showing with 74 additions and 0 deletions.
  1. +74 −0 src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -533,18 +533,21 @@ class mob_high_inquisitor_valroth : public CreatureScript
## npc_a_special_surprise
######*/
//used by 29032,29061,29065,29067,29068,29070,29074,29072,29073,29071 but signed for 29032
+//Worgen and Goblin implemented by Saiifii@live.de
enum SpecialSurprise
{
SAY_EXEC_START_1 = -1609025, // speech for all
SAY_EXEC_START_2 = -1609026,
SAY_EXEC_START_3 = -1609027,
+ SAY_EXEC_START_4 = -1609079, // Cataclysm: Goblin
SAY_EXEC_PROG_1 = -1609028,
SAY_EXEC_PROG_2 = -1609029,
SAY_EXEC_PROG_3 = -1609030,
SAY_EXEC_PROG_4 = -1609031,
SAY_EXEC_PROG_5 = -1609032,
SAY_EXEC_PROG_6 = -1609033,
SAY_EXEC_PROG_7 = -1609034,
+ SAY_EXEC_PROG_8 = -1609080, // Cataclysm: Goblin
SAY_EXEC_NAME_1 = -1609035,
SAY_EXEC_NAME_2 = -1609036,
SAY_EXEC_RECOG_1 = -1609037,
@@ -562,6 +565,8 @@ enum SpecialSurprise
SAY_EXEC_NOREM_7 = -1609049,
SAY_EXEC_NOREM_8 = -1609050,
SAY_EXEC_NOREM_9 = -1609051,
+ SAY_EXEC_NOREM_10 = -1609081, // Cataclysm: Goblin
+ SAY_EXEC_NOREM_11 = -1609085, // Cataclysm: Worgen
SAY_EXEC_THINK_1 = -1609052,
SAY_EXEC_THINK_2 = -1609053,
SAY_EXEC_THINK_3 = -1609054,
@@ -572,10 +577,13 @@ enum SpecialSurprise
SAY_EXEC_THINK_8 = -1609059,
SAY_EXEC_THINK_9 = -1609060,
SAY_EXEC_THINK_10 = -1609061,
+ SAY_EXEC_THINK_11 = -1609082, // Cataclysm: Goblin
+ SAY_EXEC_THINK_12 = -1609086, // Cataclysm: Worgen
SAY_EXEC_LISTEN_1 = -1609062,
SAY_EXEC_LISTEN_2 = -1609063,
SAY_EXEC_LISTEN_3 = -1609064,
SAY_EXEC_LISTEN_4 = -1609065,
+ SAY_EXEC_LISTEN_5 = -1609083, // Cataclysm: Goblin
SAY_PLAGUEFIST = -1609066,
SAY_EXEC_TIME_1 = -1609067,
SAY_EXEC_TIME_2 = -1609068,
@@ -587,6 +595,8 @@ enum SpecialSurprise
SAY_EXEC_TIME_8 = -1609074,
SAY_EXEC_TIME_9 = -1609075,
SAY_EXEC_TIME_10 = -1609076,
+ SAY_EXEC_TIME_11 = -1609084, // Cataclysm: Goblin
+ SAY_EXEC_TIME_12 = -1609087,
SAY_EXEC_WAITING = -1609077,
EMOTE_DIES = -1609078,
@@ -664,6 +674,14 @@ class npc_a_special_surprise : public CreatureScript
if (CAST_PLR(pPlayer)->GetQuestStatus(12746) == QUEST_STATUS_INCOMPLETE)
return true;
break;
+ case 49355: // Lord Harford
+ if (CAST_PLR(pPlayer)->GetQuestStatus(28649) == QUEST_STATUS_INCOMPLETE)
+ return true;
+ break;
+ case 49356: // Gally Lumpstain
+ if (CAST_PLR(pPlayer)->GetQuestStatus(28650) == QUEST_STATUS_INCOMPLETE)
+ return true;
+ break;
}
return false;
@@ -976,6 +994,62 @@ class npc_a_special_surprise : public CreatureScript
return;
}
break;
+ case RACE_WORGEN:
+ switch(ExecuteSpeech_Counter)
+ {
+ case 0: DoScriptText(SAY_EXEC_START_1, me, pPlayer); break;
+ case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
+ case 2: DoScriptText(SAY_EXEC_PROG_1, me, pPlayer); break;
+ case 3: DoScriptText(SAY_EXEC_NAME_1, me, pPlayer); break;
+ case 4: DoScriptText(SAY_EXEC_RECOG_1, me, pPlayer); break;
+ case 5: DoScriptText(SAY_EXEC_NOREM_11, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 6: DoScriptText(SAY_EXEC_THINK_12, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 7: DoScriptText(SAY_EXEC_LISTEN_1, me, pPlayer); break;
+ case 8:
+ if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
+ DoScriptText(SAY_PLAGUEFIST, Plaguefist, pPlayer);
+ break;
+ case 9:
+ DoScriptText(SAY_EXEC_TIME_12, me, pPlayer);
+ me->SetStandState(UNIT_STAND_STATE_KNEEL);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ break;
+ case 10: DoScriptText(SAY_EXEC_WAITING, me, pPlayer); break;
+ case 11:
+ DoScriptText(EMOTE_DIES, me);
+ me->setDeathState(JUST_DIED);
+ me->SetHealth(0);
+ return;
+ }
+ break;
+ case RACE_GOBLIN:
+ switch(ExecuteSpeech_Counter)
+ {
+ case 0: DoScriptText(SAY_EXEC_START_4, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 1: me->SetStandState(UNIT_STAND_STATE_STAND); break;
+ case 2: DoScriptText(SAY_EXEC_PROG_8, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 3: DoScriptText(SAY_EXEC_NAME_1, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 4: DoScriptText(SAY_EXEC_RECOG_1, me, pPlayer); break;
+ case 5: DoScriptText(SAY_EXEC_NOREM_11, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 6: DoScriptText(SAY_EXEC_THINK_11, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 7: DoScriptText(SAY_EXEC_LISTEN_5, me, pPlayer); break; // SQL Part Implemented in Cataclysm
+ case 8:
+ if (Creature* Plaguefist = GetClosestCreatureWithEntry(me, NPC_PLAGUEFIST, 85.0f))
+ DoScriptText(SAY_PLAGUEFIST, Plaguefist, pPlayer);
+ break;
+ case 9:
+ DoScriptText(SAY_EXEC_TIME_11, me, pPlayer);
+ me->SetStandState(UNIT_STAND_STATE_KNEEL);
+ me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE);
+ break;
+ case 10: DoScriptText(SAY_EXEC_WAITING, me, pPlayer); break;
+ case 11:
+ DoScriptText(EMOTE_DIES, me);
+ me->setDeathState(JUST_DIED);
+ me->SetHealth(0);
+ return;
+ }
+ break;
}
if (ExecuteSpeech_Counter >= 9)

0 comments on commit fedef55

Please sign in to comment.