diff --git a/data/sql/updates/db_world/2017_12_08_00.sql b/data/sql/updates/db_world/2017_12_08_00.sql new file mode 100644 index 000000000..979dc6f3c --- /dev/null +++ b/data/sql/updates/db_world/2017_12_08_00.sql @@ -0,0 +1,35 @@ +-- DB update 2017_12_08_02 -> 2017_12_08_03 +DROP PROCEDURE IF EXISTS `updateDb`; +DELIMITER // +CREATE PROCEDURE updateDb () +proc:BEGIN DECLARE OK VARCHAR(100) DEFAULT 'FALSE'; +SELECT COUNT(*) INTO @COLEXISTS +FROM information_schema.COLUMNS +WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'version_db_world' AND COLUMN_NAME = '2017_12_08_02'; +IF @COLEXISTS = 0 THEN LEAVE proc; END IF; +START TRANSACTION; +ALTER TABLE version_db_world CHANGE COLUMN 2017_12_08_02 2017_12_08_03 bit; +SELECT sql_rev INTO OK FROM version_db_world WHERE sql_rev = '1512664376513425042'; IF OK <> 'FALSE' THEN LEAVE proc; END IF; +-- +-- START UPDATING QUERIES +-- + +INSERT INTO version_db_world (`sql_rev`) VALUES ('1512664376513425042'); + +UPDATE `creature_template` SET `mechanic_immune_mask` = '65536' WHERE `entry` = '29274' +UPDATE `creature_template` SET `spell2` = '54097' WHERE `entry` = '29274'; + +DELETE FROM `spell_scripts` WHERE `id` IN +(28732,54097); +INSERT INTO `spell_scripts` (`id`, `effIndex`, command, datalong, datalong2, dataint, `x`) VALUES +(28732, 1, 15, 0, 4, 15953, 100), # Widow's Embrace +(54097, 1, 15, 0, 4, 15953, 100); # Widow's Embrace + +-- +-- END UPDATING QUERIES +-- +COMMIT; +END // +DELIMITER ; +CALL updateDb(); +DROP PROCEDURE IF EXISTS `updateDb`; diff --git a/src/game/Entities/Unit/Unit.cpp b/src/game/Entities/Unit/Unit.cpp index 40cc59500..d0bcf5d29 100644 --- a/src/game/Entities/Unit/Unit.cpp +++ b/src/game/Entities/Unit/Unit.cpp @@ -14502,7 +14502,7 @@ void CharmInfo::InitPossessCreateSpells() { uint32 spellId = _unit->ToCreature()->m_spells[i]; SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId); - if (spellInfo && !spellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_DEAD)) + if (spellInfo) { if (spellInfo->IsPassive()) _unit->CastSpell(_unit, spellInfo, true); @@ -14532,7 +14532,7 @@ void CharmInfo::InitCharmCreateSpells() uint32 spellId = _unit->ToCreature()->m_spells[x]; SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId); - if (!spellInfo || spellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_DEAD)) + if (!spellInfo) { _charmspells[x].SetActionAndType(spellId, ACT_DISABLED); continue; diff --git a/src/scripts/Northrend/Naxxramas/boss_faerlina.cpp b/src/scripts/Northrend/Naxxramas/boss_faerlina.cpp index 536f4a2b9..96961d1ae 100644 --- a/src/scripts/Northrend/Naxxramas/boss_faerlina.cpp +++ b/src/scripts/Northrend/Naxxramas/boss_faerlina.cpp @@ -90,7 +90,7 @@ public: void EnterCombat(Unit * who) { BossAI::EnterCombat(who); - me->SetInCombatWithZone(); + summons.DoZoneInCombat(); Talk(SAY_AGGRO); events.ScheduleEvent(EVENT_SPELL_POISON_BOLT, urand(12000,15000)); events.ScheduleEvent(EVENT_SPELL_RAIN_OF_FIRE, urand(6000,18000));