diff options
-rw-r--r-- | sql/FULL/world_script_waypoints.sql | 16 | ||||
-rw-r--r-- | sql/FULL/world_scripts_full.sql | 3 | ||||
-rw-r--r-- | sql/updates/5136_world_scripts_dk.sql | 1 | ||||
-rw-r--r-- | sql/updates/5152_world_scripts_dk.sql | 19 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp | 28 |
5 files changed, 56 insertions, 11 deletions
diff --git a/sql/FULL/world_script_waypoints.sql b/sql/FULL/world_script_waypoints.sql index 940ef9920ce..8b0b2b8edf9 100644 --- a/sql/FULL/world_script_waypoints.sql +++ b/sql/FULL/world_script_waypoints.sql @@ -1480,4 +1480,18 @@ INSERT INTO `script_waypoint` VALUES (22377, 10, -2896.67, 5366.20, -9.59, 0, ''), (22377, 11, -2888.23, 5330.39, -11.19, 2000, ''); -/* EOF */
\ No newline at end of file +/* EOF */ + +DELETE FROM script_waypoint WHERE entry=28912; +INSERT INTO script_waypoint VALUES + (28912, 0, 1653.518, -6038.374, 127.585, 1000, 'Jump off'), + (28912, 1, 1653.978, -6034.614, 127.585, 5000, 'To Box'), + (28912, 2, 1653.854, -6034.726, 127.585, 0, 'Equip'), + (28912, 3, 1652.297, -6035.671, 127.585, 1000, 'Recover'), + (28912, 4, 1639.762, -6046.343, 127.948, 0, 'Escape'), + (28912, 5, 1640.963, -6028.119, 134.740, 0, ''), + (28912, 6, 1625.805, -6029.197, 134.740, 0, ''), + (28912, 7, 1626.845, -6015.085, 134.740, 0, ''), + (28912, 8, 1649.150, -6016.975, 133.240, 0, ''), + (28912, 9, 1653.063, -5974.844, 132.652, 5000, 'Mount'), + (28912, 10, 1654.747, -5926.424, 121.191, 0, 'Disappear');
\ No newline at end of file diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql index 9d7c21389a2..b26a1c83536 100644 --- a/sql/FULL/world_scripts_full.sql +++ b/sql/FULL/world_scripts_full.sql @@ -103,7 +103,8 @@ UPDATE `creature_template` SET `ScriptName`='npc_dark_rider_of_acherus' WHERE `e UPDATE `creature_template` SET `ScriptName`='npc_ros_dark_rider' WHERE `entry`=28768; UPDATE `creature_template` SET `ScriptName`='npc_dkc1_gothik' WHERE `entry`=28658; UPDATE `creature_template` SET `ScriptName`='npc_a_special_surprise' WHERE `entry` IN (29032,29061,29065,29067,29068,29070,29074,29072,29073,29071); -UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`=28912; +UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`='28912'; +UPDATE `creature_template` SET `ScriptName`='mob_high_inquisitor_valroth' WHERE `entry`='29001'; UPDATE `creature_template` SET `ScriptName`='npc_demolisher_engineerer' WHERE `entry` IN (30400,30499); UPDATE `creature_template` SET `ScriptName`='npc_valkyr_battle_maiden' WHERE `entry`=28534; UPDATE `creature_template` SET `ScriptName`='npc_mirror_image' WHERE `entry`=31216; diff --git a/sql/updates/5136_world_scripts_dk.sql b/sql/updates/5136_world_scripts_dk.sql new file mode 100644 index 00000000000..3f07fd0cc5d --- /dev/null +++ b/sql/updates/5136_world_scripts_dk.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `ScriptName`='mob_scarlet_courier' WHERE `entry`='29076';
\ No newline at end of file diff --git a/sql/updates/5152_world_scripts_dk.sql b/sql/updates/5152_world_scripts_dk.sql new file mode 100644 index 00000000000..ac9f1146f08 --- /dev/null +++ b/sql/updates/5152_world_scripts_dk.sql @@ -0,0 +1,19 @@ +UPDATE `creature_template` SET `ScriptName`='mob_scarlet_courier' WHERE `entry`='29076'; + +UPDATE `creature_template` SET `ScriptName`='npc_koltira_deathweaver' WHERE `entry`='28912'; +UPDATE `creature_template` SET `ScriptName`='mob_high_inquisitor_valroth' WHERE `entry`='29001'; + + +DELETE FROM script_waypoint WHERE entry=28912; +INSERT INTO script_waypoint VALUES + (28912, 0, 1653.518, -6038.374, 127.585, 1000, 'Jump off'), + (28912, 1, 1653.978, -6034.614, 127.585, 5000, 'To Box'), + (28912, 2, 1653.854, -6034.726, 127.585, 0, 'Equip'), + (28912, 3, 1652.297, -6035.671, 127.585, 1000, 'Recover'), + (28912, 4, 1639.762, -6046.343, 127.948, 0, 'Escape'), + (28912, 5, 1640.963, -6028.119, 134.740, 0, ''), + (28912, 6, 1625.805, -6029.197, 134.740, 0, ''), + (28912, 7, 1626.845, -6015.085, 134.740, 0, ''), + (28912, 8, 1649.150, -6016.975, 133.240, 0, ''), + (28912, 9, 1653.063, -5974.844, 132.652, 5000, 'Mount'), + (28912, 10, 1654.747, -5926.424, 121.191, 0, 'Disappear');
\ No newline at end of file diff --git a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp index 65aff3f0fda..8d597e4713e 100644 --- a/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp +++ b/src/bindings/scripts/scripts/eastern_kingdoms/scarlet_enclave/chapter2.cpp @@ -181,7 +181,10 @@ enum eKoltira struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI { - npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature) { } + npc_koltira_deathweaverAI(Creature *pCreature) : npc_escortAI(pCreature) + { + me->SetReactState(REACT_DEFENSIVE); + } uint32 m_uiWave; uint32 m_uiWave_Timer; @@ -194,6 +197,9 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI m_uiWave = 0; m_uiWave_Timer = 3000; m_uiValrothGUID = 0; + me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); + me->LoadEquipment(0, true); + me->RemoveAura(SPELL_ANTI_MAGIC_ZONE); } } @@ -203,6 +209,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI { case 0: DoScriptText(SAY_BREAKOUT1, me); + me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); break; case 1: me->SetStandState(UNIT_STAND_STATE_KNEEL); @@ -211,6 +218,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI me->SetStandState(UNIT_STAND_STATE_STAND); //me->UpdateEntry(NPC_KOLTIRA_ALT); //unclear if we must update or not DoCast(me, SPELL_KOLTIRA_TRANSFORM); + me->LoadEquipment(me->GetEquipmentId()); break; case 3: IsOnHold = true; @@ -235,11 +243,13 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI if (Player* pPlayer = GetPlayerForEscort()) { pSummoned->AI()->AttackStart(pPlayer); - pSummoned->AddThreat(me, 0.0f); } if (pSummoned->GetEntry() == NPC_HIGH_INQUISITOR_VALROTH) m_uiValrothGUID = pSummoned->GetGUID(); + + pSummoned->AddThreat(me, 0.0f); + pSummoned->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_ATTACKABLE_2); } void SummonAcolyte(uint32 uiAmount) @@ -280,7 +290,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI break; case 4: { - Unit* pTemp = Unit::GetUnit(*me, m_uiValrothGUID); + Creature* pTemp = Unit::GetCreature(*me, m_uiValrothGUID); if (!pTemp || !pTemp->isAlive()) { @@ -297,6 +307,7 @@ struct TRINITY_DLL_DECL npc_koltira_deathweaverAI : public npc_escortAI case 5: DoScriptText(SAY_BREAKOUT9, me); me->RemoveAurasDueToSpell(SPELL_ANTI_MAGIC_ZONE); + // i do not know why the armor will also be removed m_uiWave_Timer = 2500; break; case 6: @@ -429,22 +440,21 @@ enum valroth struct TRINITY_DLL_DECL mob_high_inquisitor_valrothAI : public ScriptedAI { - mob_high_inquisitor_valrothAI(Creature *pCreature) : ScriptedAI(pCreature) - { - Reset(); - } + mob_high_inquisitor_valrothAI(Creature *pCreature) : ScriptedAI(pCreature) {} uint32 uiRenew_timer; uint32 uiInquisitor_Penance_timer; uint32 uiValroth_Smite_timer; - void Reset() { + void Reset() + { uiRenew_timer = 1000; uiInquisitor_Penance_timer = 2000; uiValroth_Smite_timer = 1000; } - void Aggro(Unit* who){ + void EnterCombat(Unit* who) + { DoScriptText(SAY_VALROTH2, me); DoCast(who, SPELL_VALROTH_SMITE); } |