diff options
Diffstat (limited to 'src')
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; |