aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bindings/scripts/ScriptMgr.cpp1
-rw-r--r--src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp10
-rw-r--r--src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp56
3 files changed, 36 insertions, 31 deletions
diff --git a/src/bindings/scripts/ScriptMgr.cpp b/src/bindings/scripts/ScriptMgr.cpp
index ab5b29aa928..ba26d02acbe 100644
--- a/src/bindings/scripts/ScriptMgr.cpp
+++ b/src/bindings/scripts/ScriptMgr.cpp
@@ -454,7 +454,6 @@ bool EffectDummyGameObj(Unit *caster, uint32 spellId, uint32 effIndex, GameObjec
return tmpscript->pEffectDummyGameObj(caster, spellId, effIndex, gameObjTarget);
}
-
TRINITY_DLL_EXPORT
bool EffectDummyItem(Unit *caster, uint32 spellId, uint32 effIndex, Item *itemTarget)
{
diff --git a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
index e6f2f375ed1..50462a4666c 100644
--- a/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
+++ b/src/bindings/scripts/scripts/northrend/ulduar/halls_of_stone/boss_maiden_of_grief.cpp
@@ -20,7 +20,6 @@ update creature_template set scriptname = 'boss_maiden_of_grief' where entry = '
#define SPELL_PILLAR_OF_WOE_N 50761
#define SPELL_PILLAR_OF_WOE_H 59727
-//not in db
//Yell
#define SAY_AGGRO -1603000
#define SAY_SLAY_1 -1603001
@@ -120,13 +119,8 @@ struct TRINITY_DLL_DECL boss_maiden_of_griefAI : public ScriptedAI
{
if (victim == m_creature)
return;
- switch(rand()%4)
- {
- case 0: DoScriptText(SAY_SLAY_1, m_creature);break;
- case 1: DoScriptText(SAY_SLAY_2, m_creature);break;
- case 2: DoScriptText(SAY_SLAY_3, m_creature);break;
- case 3: DoScriptText(SAY_SLAY_4, m_creature);break;
- }
+
+ DoScriptText(RAND(SAY_SLAY_1,SAY_SLAY_2,SAY_SLAY_3,SAY_SLAY_4), m_creature);
}
};
diff --git a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
index 1e67b163aa7..744891371a9 100644
--- a/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
+++ b/src/bindings/scripts/scripts/northrend/utgarde_keep/utgarde_keep/instance_utgarde_keep.cpp
@@ -64,6 +64,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
uint64 portcullis[2];
uint32 m_auiEncounter[MAX_ENCOUNTER];
+ uint32 forge_event[3];
std::string str_data;
void Initialize()
@@ -80,6 +81,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
forge_bellow[i] = 0;
forge_fire[i] = 0;
forge_anvil[i] = 0;
+ forge_event[i] = NOT_STARTED;
}
portcullis[0] = 0;
@@ -127,17 +129,28 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
switch(pGo->GetEntry())
{
//door and object id
- case ENTRY_BELLOW_1: forge_bellow[0] = pGo->GetGUID(); break;
- case ENTRY_BELLOW_2: forge_bellow[1] = pGo->GetGUID(); break;
- case ENTRY_BELLOW_3: forge_bellow[2] = pGo->GetGUID(); break;
- case ENTRY_FORGEFIRE_1: forge_fire[0] = pGo->GetGUID(); break;
- case ENTRY_FORGEFIRE_2: forge_fire[1] = pGo->GetGUID(); break;
- case ENTRY_FORGEFIRE_3: forge_fire[2] = pGo->GetGUID(); break;
- case ENTRY_GLOWING_ANVIL_1: forge_anvil[0] = pGo->GetGUID(); break;
- case ENTRY_GLOWING_ANVIL_2: forge_anvil[1] = pGo->GetGUID(); break;
- case ENTRY_GLOWING_ANVIL_3: forge_anvil[2] = pGo->GetGUID(); break;
- case ENTRY_GIANT_PORTCULLIS_1: portcullis[0] = pGo->GetGUID(); break;
- case ENTRY_GIANT_PORTCULLIS_2: portcullis[1] = pGo->GetGUID(); break;
+ case ENTRY_BELLOW_1: forge_bellow[0] = pGo->GetGUID();
+ if (forge_event[0] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_BELLOW_2: forge_bellow[1] = pGo->GetGUID();
+ if (forge_event[1] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_BELLOW_3: forge_bellow[2] = pGo->GetGUID();
+ if (forge_event[2] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_FORGEFIRE_1: forge_fire[0] = pGo->GetGUID();
+ if (forge_event[0] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_FORGEFIRE_2: forge_fire[1] = pGo->GetGUID();
+ if (forge_event[1] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_FORGEFIRE_3: forge_fire[2] = pGo->GetGUID();
+ if (forge_event[2] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_GLOWING_ANVIL_1: forge_anvil[0] = pGo->GetGUID();
+ if (forge_event[0] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_GLOWING_ANVIL_2: forge_anvil[1] = pGo->GetGUID();
+ if (forge_event[1] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_GLOWING_ANVIL_3: forge_anvil[2] = pGo->GetGUID();
+ if (forge_event[2] != NOT_STARTED)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_GIANT_PORTCULLIS_1: portcullis[0] = pGo->GetGUID();
+ if (m_auiEncounter[2] == DONE)HandleGameObject(NULL,true,pGo);break;
+ case ENTRY_GIANT_PORTCULLIS_2: portcullis[1] = pGo->GetGUID();
+ if (m_auiEncounter[2] == DONE)HandleGameObject(NULL,true,pGo);break;
}
}
@@ -159,17 +172,9 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
switch(type)
{
case DATA_PRINCEKELESETH_EVENT:
- if (data == DONE)
- {
- //HandleGameObject(doorname, 0);
- }
m_auiEncounter[0] = data;
break;
case DATA_SKARVALD_DALRONN_EVENT:
- if (data == DONE)
- {
- //HandleGameObject(doorname, 0);
- }
m_auiEncounter[1] = data;
break;
case DATA_INGVAR_EVENT:
@@ -192,6 +197,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
HandleGameObject(forge_fire[0],true);
HandleGameObject(forge_anvil[0],true);
}
+ forge_event[0] = data;
break;
case EVENT_FORGE_2:
if (data == NOT_STARTED)
@@ -205,6 +211,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
HandleGameObject(forge_fire[1],true);
HandleGameObject(forge_anvil[1],true);
}
+ forge_event[1] = data;
break;
case EVENT_FORGE_3:
if (data == NOT_STARTED)
@@ -218,6 +225,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
HandleGameObject(forge_fire[2],true);
HandleGameObject(forge_anvil[2],true);
}
+ forge_event[2] = data;
break;
}
@@ -246,7 +254,7 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
std::ostringstream saveStream;
saveStream << "U K " << m_auiEncounter[0] << " " << m_auiEncounter[1] << " "
- << m_auiEncounter[2];
+ << m_auiEncounter[2] << " " << forge_event[0] << " " << forge_event[1] << " " << forge_event[2];
str_data = saveStream.str();
@@ -265,10 +273,10 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
OUT_LOAD_INST_DATA(in);
char dataHead1, dataHead2;
- uint16 data0,data1,data2;
+ uint16 data0,data1,data2, data3, data4, data5;
std::istringstream loadStream(in);
- loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2;
+ loadStream >> dataHead1 >> dataHead2 >> data0 >> data1 >> data2 >> data3 >> data4 >> data5;
if (dataHead1 == 'U' && dataHead2 == 'K')
{
@@ -280,6 +288,10 @@ struct TRINITY_DLL_DECL instance_utgarde_keep : public ScriptedInstance
if (m_auiEncounter[i] == IN_PROGRESS)
m_auiEncounter[i] = NOT_STARTED;
+ forge_event[0] = data3;
+ forge_event[1] = data4;
+ forge_event[2] = data5;
+
}else OUT_LOAD_INST_DATA_FAIL;
OUT_LOAD_INST_DATA_COMPLETE;