fix(DB/SAI): Trident of Naz'jan to SAI (#1736)

- Remove item script for Trident of Naz'jan (Use: Impale Leviroth while he slumbers in the waters below Riplash)
- Restore Immune to PC flag on reset.
- Add missing in-combat spell.
- Change inhabittype so the NPC's corpse doesn't fall to the sea floor when he dies
This commit is contained in:
Poszer
2019-04-30 09:38:46 +02:00
committed by Stoabrogga
parent 15ffcc65aa
commit 7e7662b6fd
2 changed files with 17 additions and 28 deletions

View File

@@ -0,0 +1,17 @@
INSERT INTO `version_db_world` (`sql_rev`) VALUES ('1555843331078984800');
-- Leviroth SmartAI
UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=26452;
DELETE FROM `smart_scripts` WHERE `entryorguid`=26452 AND `source_type`=0;
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`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(26452, 0, 0, 1, 8, 0, 100, 0, 47170, 0, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Leviroth - On Spellhit (Impale Leviroth) - Remove Unit flags (Immune to PC)'),
(26452, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 11, 46767, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Leviroth - On Spellhit (Impale Leviroth) - Cast Cosmetic - Underwater Blood'),
(26452, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Leviroth - On Spellhit (Impale Leviroth) - Start Attack');
-- Trident of Naz'jan item
UPDATE `item_template` SET `ScriptName`="" WHERE `entry`=35850;
UPDATE `creature_template` SET `InhabitType`=2 WHERE `entry`=26452;
DELETE FROM `conditions` WHERE `SourceEntry`=47170 AND `SourceTypeOrReferenceId`=17;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `comment`) VALUES
(17, 0, 47170, 0, 0, 29, 0, 26452, 8, 0, 0, 0, 0, "", 'Spell Impale Leviroth can only be used within 8 yards of NPC Leviroth');

View File

@@ -208,33 +208,6 @@ public:
}
};
enum TheEmissary
{
QUEST_THE_EMISSARY = 11626,
NPC_LEVIROTH = 26452
};
class item_trident_of_nazjan : public ItemScript
{
public:
item_trident_of_nazjan() : ItemScript("item_Trident_of_Nazjan") { }
bool OnUse(Player* player, Item* item, const SpellCastTargets & /*targets*/)
{
if (player->GetQuestStatus(QUEST_THE_EMISSARY) == QUEST_STATUS_INCOMPLETE)
{
if (Creature* pLeviroth = player->FindNearestCreature(NPC_LEVIROTH, 10.0f)) // spell range
{
pLeviroth->AI()->AttackStart(player);
return false;
} else
player->SendEquipError(EQUIP_ERR_OUT_OF_RANGE, item, NULL);
} else
player->SendEquipError(EQUIP_ERR_CANT_DO_RIGHT_NOW, item, NULL);
return true;
}
};
enum CapturedFrog
{
QUEST_THE_PERFECT_SPIES = 25444,
@@ -270,6 +243,5 @@ void AddSC_item_scripts()
new item_mysterious_egg();
new item_disgusting_jar();
new item_petrov_cluster_bombs();
new item_trident_of_nazjan();
new item_captured_frog();
}