mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-25 06:36:24 +00:00
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:
@@ -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');
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user