summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/sql/updates/db_world/2025_10_06_00.sql (renamed from data/sql/updates/pending_db_world/rev_1759620083648554800.sql)1
-rw-r--r--data/sql/updates/db_world/2025_10_07_00.sql4
-rw-r--r--data/sql/updates/db_world/2025_10_07_01.sql17
-rw-r--r--src/server/game/Spells/SpellInfoCorrections.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp56
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp11
6 files changed, 29 insertions, 66 deletions
diff --git a/data/sql/updates/pending_db_world/rev_1759620083648554800.sql b/data/sql/updates/db_world/2025_10_06_00.sql
index 6c9838b19a..4406e18577 100644
--- a/data/sql/updates/pending_db_world/rev_1759620083648554800.sql
+++ b/data/sql/updates/db_world/2025_10_06_00.sql
@@ -1,3 +1,4 @@
+-- DB update 2025_10_04_06 -> 2025_10_06_00
--
DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = -127203);
diff --git a/data/sql/updates/db_world/2025_10_07_00.sql b/data/sql/updates/db_world/2025_10_07_00.sql
new file mode 100644
index 0000000000..deaa9dd34b
--- /dev/null
+++ b/data/sql/updates/db_world/2025_10_07_00.sql
@@ -0,0 +1,4 @@
+-- DB update 2025_10_06_00 -> 2025_10_07_00
+
+-- Remove Disarm Immunity
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask` &~ 4 WHERE (`entry` IN (31368, 29306));
diff --git a/data/sql/updates/db_world/2025_10_07_01.sql b/data/sql/updates/db_world/2025_10_07_01.sql
new file mode 100644
index 0000000000..7f4116a8cd
--- /dev/null
+++ b/data/sql/updates/db_world/2025_10_07_01.sql
@@ -0,0 +1,17 @@
+-- DB update 2025_10_07_00 -> 2025_10_07_01
+--
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = 25084;
+
+DELETE FROM `smart_scripts` WHERE (`source_type` = 0 AND `entryorguid` = 25084);
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `event_param5`, `event_param6`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_param4`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(25084, 0, 0, 1, 8, 0, 100, 1, 45109, 0, 0, 0, 0, 0, 11, 45110, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Spellhit \'Orb of Murloc Control\' - Cast \'Greengill Slave Freed\' (No Repeat)'),
+(25084, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 11, 45111, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Spellhit \'Orb of Murloc Control\' - Cast \'Enrage\' (No Repeat)'),
+(25084, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 36, 25085, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Spellhit \'Orb of Murloc Control\' - Update Template To \'Freed Greengill Slave\' (No Repeat)'),
+(25084, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 9, 25073, 0, 100, 0, 0, 0, 0, 0, 'Greengill Slave - On Spellhit \'Orb of Murloc Control\' - Start Attacking (No Repeat)'),
+(25084, 0, 4, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 19, 25060, 100, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Spellhit \'Orb of Murloc Control\' - Start Attacking (No Repeat)'),
+(25084, 0, 5, 6, 7, 0, 100, 0, 0, 0, 0, 0, 0, 0, 41, 5000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Evade - Despawn In 5000 ms'),
+(25084, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 0, 89, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 'Greengill Slave - On Evade - Start Random Movement');
+
+DELETE FROM `spell_custom_attr` WHERE `spell_id` = 45111;
+INSERT INTO `spell_custom_attr` (`spell_id`, `attributes`) VALUES
+(45111, 0x00000800);
diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp
index 9873af3253..6712f11091 100644
--- a/src/server/game/Spells/SpellInfoCorrections.cpp
+++ b/src/server/game/Spells/SpellInfoCorrections.cpp
@@ -5151,6 +5151,12 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT;
});
+ // Earth Shield
+ ApplySpellFix({ 55599, 58981 }, [](SpellInfo* spellInfo)
+ {
+ spellInfo->AttributesEx5 |= SPELL_ATTR5_LIMIT_N;
+ });
+
for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i)
{
SpellInfo* spellInfo = mSpellInfoMap[i];
diff --git a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
index be0caf53d1..61e04b795d 100644
--- a/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_isle_of_queldanas.cpp
@@ -610,61 +610,6 @@ public:
};
};
-/*###### THEIR: ######*/
-
-/*######
-## npc_greengill_slave
-######*/
-
-#define ENRAGE 45111
-#define ORB 45109
-#define QUESTG 11541
-#define DM 25060
-
-class npc_greengill_slave : public CreatureScript
-{
-public:
- npc_greengill_slave() : CreatureScript("npc_greengill_slave") { }
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_greengill_slaveAI(creature);
- }
-
- struct npc_greengill_slaveAI : public ScriptedAI
- {
- npc_greengill_slaveAI(Creature* creature) : ScriptedAI(creature) { }
-
- void JustEngagedWith(Unit* /*who*/) override { }
-
- void SpellHit(Unit* caster, SpellInfo const* spellInfo) override
- {
- Player* player = caster->ToPlayer();
- if (!player)
- return;
-
- if (spellInfo->Id == ORB && !me->HasAura(ENRAGE))
- {
- if (player->GetQuestStatus(QUESTG) == QUEST_STATUS_INCOMPLETE)
- DoCast(player, 45110, true);
-
- DoCast(me, ENRAGE);
-
- if (Creature* Myrmidon = me->FindNearestCreature(DM, 70))
- {
- me->AddThreat(Myrmidon, 100000.0f);
- AttackStart(Myrmidon);
- }
- }
- }
-
- void UpdateAI(uint32 /*diff*/) override
- {
- DoMeleeAttackIfReady();
- }
- };
-};
-
// 45396, 45398 - Weapon Coating Enchant
class spell_gen_weapon_coating_enchant : public AuraScript
{
@@ -690,6 +635,5 @@ void AddSC_isle_of_queldanas()
new npc_bh_thalorien_dawnseeker();
RegisterSpellScript(spell_bh_cleanse_quel_delar);
new npc_grand_magister_rommath();
- new npc_greengill_slave();
RegisterSpellScript(spell_gen_weapon_coating_enchant);
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index 32ec43e808..5d1e9826a7 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -1154,16 +1154,7 @@ public:
if (GameObject* go = pInstance->instance->GetGameObject(pInstance->GetGuidData(DATA_EXIT_GATE)))
go->SetGoState(GO_STATE_ACTIVE);
- if (!me->GetMap()->GetPlayers().IsEmpty())
- {
- if (Player* player = me->GetMap()->GetPlayers().getFirst()->GetSource())
- {
- if (GameObject* chest = player->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 0))
- {
- chest->SetLootRecipient(me->GetMap());
- }
- }
- }
+ pInstance->instance->SummonGameObject(DUNGEON_MODE(GO_MALGANIS_CHEST_N, GO_MALGANIS_CHEST_H), 2288.35f, 1498.73f, 128.414f, -0.994837f, 0, 0, 0, 0, 7 * DAY * IN_MILLISECONDS);
}
ScheduleNextEvent(currentEvent, 10000);
break;