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
|
enum CapturedFrog
|
||||||
{
|
{
|
||||||
QUEST_THE_PERFECT_SPIES = 25444,
|
QUEST_THE_PERFECT_SPIES = 25444,
|
||||||
@@ -270,6 +243,5 @@ void AddSC_item_scripts()
|
|||||||
new item_mysterious_egg();
|
new item_mysterious_egg();
|
||||||
new item_disgusting_jar();
|
new item_disgusting_jar();
|
||||||
new item_petrov_cluster_bombs();
|
new item_petrov_cluster_bombs();
|
||||||
new item_trident_of_nazjan();
|
|
||||||
new item_captured_frog();
|
new item_captured_frog();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user