mirror of
https://github.com/araxiaonline/RandomScriptsforAzerothCore.git
synced 2026-06-13 02:22:19 -04:00
Add files via upload
This commit is contained in:
@@ -22,12 +22,6 @@ creature:CastSpell(creature:GetVictim(), 49999, true)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local function CastDeathGrip(eventId, delay, calls, creature)
|
|
||||||
local targets = creature:GetAITargets(10)
|
|
||||||
local target = targets[math.random(#targets)]
|
|
||||||
creature:CastSpell(target, 49576, true)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function CastAntiMagicShield(eventId, delay, calls, creature)
|
local function CastAntiMagicShield(eventId, delay, calls, creature)
|
||||||
creature:CastSpell(creature, 24021, true)
|
creature:CastSpell(creature, 24021, true)
|
||||||
end
|
end
|
||||||
@@ -40,7 +34,6 @@ local function OnEnterCombat(event, creature, target)
|
|||||||
creature:RegisterEvent(CastIcyTouch, 5000, 0)
|
creature:RegisterEvent(CastIcyTouch, 5000, 0)
|
||||||
creature:RegisterEvent(CastPlagueStrike, 6000, 0)
|
creature:RegisterEvent(CastPlagueStrike, 6000, 0)
|
||||||
creature:RegisterEvent(CastDeathstrike, 25000, 0)
|
creature:RegisterEvent(CastDeathstrike, 25000, 0)
|
||||||
creature:RegisterEvent(CastDeathGrip, 20000, 0)
|
|
||||||
creature:RegisterEvent(CastBloodBoil, math.random(12000, 18000), 0)
|
creature:RegisterEvent(CastBloodBoil, math.random(12000, 18000), 0)
|
||||||
creature:RegisterEvent(CastDnD, 100, 1)
|
creature:RegisterEvent(CastDnD, 100, 1)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ creature:RemoveEvents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function BlightedZombie.OnDeath(event, creature, killer)
|
function BlightedZombie.OnDeath(event, creature, killer)
|
||||||
creature:RemoveEvents()
|
creature:RemoveCorpse()
|
||||||
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
RegisterCreatureEvent(400051, 1, BlightedZombie.OnCombat)
|
RegisterCreatureEvent(400051, 1, BlightedZombie.OnCombat)
|
||||||
|
|||||||
51
Bonk.lua
51
Bonk.lua
@@ -6,39 +6,40 @@ Bonk.ITEM_ID2 = 37500 -- replace with the ID of the new item you want to give
|
|||||||
|
|
||||||
-- Register the gossip event for the NPC
|
-- Register the gossip event for the NPC
|
||||||
function Bonk.OnGossipHello(event, player, creature)
|
function Bonk.OnGossipHello(event, player, creature)
|
||||||
player:GossipMenuAddItem(0, "|TInterface\\Icons\\ability_druid_flightform:50:50:-13:0|tMech Wings for 25 silver.", 0, 1)
|
player:GossipMenuAddItem(0, "|TInterface\\Icons\\ability_druid_flightform:50:50:-13:0|tMech Wings for 75 silver.", 0, 1)
|
||||||
player:GossipMenuAddItem(0, "|TInterface\\Icons\\inv_misc_key_14:50:50:-13:0|tKeys to a Shredder for 45 silver.", 0, 2)
|
player:GossipMenuAddItem(0, "|TInterface\\Icons\\inv_misc_key_14:50:50:-13:0|tKeys to a Shredder for 45 silver.", 0, 2)
|
||||||
player:GossipSendMenu(1, creature)
|
player:GossipSendMenu(1, creature)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Handle the player's selection in the gossip menu
|
function Bonk.OnGossipSelect(event, player, creature, sender, intid, code)
|
||||||
function Bonk.OnGossipSelect(event, player, creature, sender, action)
|
if intid == 1 then
|
||||||
if action == 1 then
|
if player:GetCoinage() < 7500 then
|
||||||
if player:GetCoinage() < 2500 then
|
player:SendBroadcastMessage("You don't have enough coins.")
|
||||||
player:SendBroadcastMessage("You do not have enough silver.")
|
player:GossipComplete()
|
||||||
player:GossipComplete()
|
else
|
||||||
else
|
player:SetCoinage(player:GetCoinage() - 7500)
|
||||||
player:SetCoinage(player:GetCoinage() - 2500)
|
player:AddItem(Bonk.ITEM_ID, 1)
|
||||||
player:AddItem(Bonk.ITEM_ID, 1)
|
player:SendBroadcastMessage("You have received Mech Wings.")
|
||||||
player:SendBroadcastMessage("You have received Mech Wings.")
|
player:GossipComplete()
|
||||||
player:GossipComplete()
|
end
|
||||||
end
|
elseif intid == 2 then
|
||||||
elseif action == 2 then
|
if player:GetCoinage() < 4500 then
|
||||||
if player:GetCoinage() < 3500 then
|
player:SendBroadcastMessage("You don't have enough coins.")
|
||||||
player:SendBroadcastMessage("You have received keys to a Refurbished Shredder.")
|
player:GossipComplete()
|
||||||
player:GossipComplete()
|
else
|
||||||
else
|
player:SetCoinage(player:GetCoinage() - 4500)
|
||||||
player:SetCoinage(player:GetCoinage() - 4500)
|
player:AddItem(Bonk.ITEM_ID2, 1)
|
||||||
player:AddItem(Bonk.ITEM_ID2, 1)
|
player:SendBroadcastMessage("You have received keys to a Refurbished Shredder.")
|
||||||
player:SendBroadcastMessage("You have received Mech Wings.")
|
player:GossipComplete()
|
||||||
player:GossipComplete()
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Send a unit yell when the NPC spawns
|
-- Send a unit yell when the NPC spawns
|
||||||
function Bonk.OnSpawn(event, creature)
|
function Bonk.OnSpawn(event, creature)
|
||||||
creature:SendUnitYell("I've got Mech Wings and keys to Refurbished Shredders!", 0)
|
creature:SendUnitYell("Step right up! I've got Mech Wings and keys to Refurbished Shredders!", 0)
|
||||||
creature:CastSpell(creature, 20374)
|
creature:CastSpell(creature, 20374)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ local function OnLeaveCombat(event, creature)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function OnDied(event, creature, killer)
|
local function OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ creature:CastSpell(creature:GetVictim(), 50581, true)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function OnEnterCombat(event, creature, target)
|
local function OnEnterCombat(event, creature, target)
|
||||||
creature:RegisterEvent(CastShadowBolt, math.random(5000, 8000), 0)
|
creature:RegisterEvent(CastShadowBolt, math.random(8000, 12000), 0)
|
||||||
creature:RegisterEvent(CastShadowBoltVolley, math.random(11000, 18000), 0)
|
creature:RegisterEvent(CastShadowBoltVolley, math.random(11000, 18000), 0)
|
||||||
creature:RegisterEvent(CastRainOfFire, math.random(22000, 31000), 0)
|
creature:RegisterEvent(CastRainOfFire, math.random(12000, 31000), 0)
|
||||||
creature:RegisterEvent(CastCurseOfPain, math.random(13000, 18000), 0)
|
creature:RegisterEvent(CastCurseOfPain, math.random(13000, 18000), 0)
|
||||||
creature:RegisterEvent(CastShadowMend, math.random(11000, 20000), 0)
|
creature:RegisterEvent(CastShadowMend, math.random(11000, 20000), 0)
|
||||||
creature:RegisterEvent(CastShadowStrike, math.random(2000, 5000), 0)
|
creature:RegisterEvent(CastShadowStrike, math.random(2000, 5000), 0)
|
||||||
@@ -46,7 +46,7 @@ end
|
|||||||
|
|
||||||
local function OnSpawn(event, creature)
|
local function OnSpawn(event, creature)
|
||||||
creature:SendUnitYell("You will submit to the power of the Lich King.", 0)
|
creature:SendUnitYell("You will submit to the power of the Lich King.", 0)
|
||||||
creature:SetMaxHealth(812760)
|
creature:SetMaxHealth(1812760)
|
||||||
creature:CastSpell(creature, 17683, true)
|
creature:CastSpell(creature, 17683, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
8
FlyableWaypoints.lua
Normal file
8
FlyableWaypoints.lua
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
local Waypoint = {};
|
||||||
|
|
||||||
|
function Waypoint.OnSpawn(event, creature)
|
||||||
|
creature:CanFly(true)
|
||||||
|
creature:SetDisableGravity(true)
|
||||||
|
end
|
||||||
|
|
||||||
|
RegisterCreatureEvent(1, 5, Waypoint.OnSpawn)
|
||||||
@@ -24,6 +24,7 @@ local function OnLeaveCombat(event, creature)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function OnDied(event, creature, killer)
|
local function OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
50
Hardcore.lua
50
Hardcore.lua
@@ -5,39 +5,49 @@ local banTimer = 999999999
|
|||||||
|
|
||||||
--on death function - checks if player has token and bans character if it does.
|
--on death function - checks if player has token and bans character if it does.
|
||||||
local function PlayerDeath(event, killer, killed)
|
local function PlayerDeath(event, killer, killed)
|
||||||
if(killed:HasItem(90000,1)) then
|
if killed:HasItem(90000,1) and killed:GetLevel() == 1 then
|
||||||
print(killed:GetName() .. " was killed by " .. killer:GetName())
|
print(killed:GetName() .. " was killed by " .. killer:GetName())
|
||||||
SendWorldMessage(killed:GetName() .. " was killed by " .. killer:GetName())
|
SendWorldMessage(killed:GetName() .. " was killed by " .. killer:GetName())
|
||||||
Ban(1,killed:GetName(),banTimer)
|
Ban(1,killed:GetName(),banTimer)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--First Gossip Screen for NPC
|
--First Gossip Screen for NPC
|
||||||
function OnFirstTalk(event, player, unit)
|
function OnFirstTalk(event, player, unit)
|
||||||
player:GossipMenuAddItem(0, "Looking for a challenge? Click here to try hardcore mode!", 0, 1)
|
if player:GetLevel() == 1 then
|
||||||
player:GossipSendMenu(1, unit)
|
player:GossipMenuAddItem(0, "Looking for a challenge? Click here to try hardcore mode!", 0, 1)
|
||||||
|
player:GossipSendMenu(1, unit)
|
||||||
|
else
|
||||||
|
player:SendBroadcastMessage("You must be level 1 to access hardcore mode.")
|
||||||
|
player:GossipComplete()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--Selection for NPC gossip
|
--Selection for NPC gossip
|
||||||
function OnSelect(event, player, unit, sender, intid, code)
|
function OnSelect(event, player, unit, sender, intid, code)
|
||||||
if (intid == 1) then
|
if intid == 1 then
|
||||||
player:GossipMenuAddItem(0, "Just double checking to make sure that you want to turn on hardcore mode. This will lock the character after death to be no longer playable! I will likely be adding rewards for reaching certain stages of the game later...", 0, 2)
|
player:GossipMenuAddItem(0, "Just double checking to make sure that you want to turn on hardcore mode. This will lock the character after death to be no longer playable, remove all your current gold, remove bonus starter items and Murky will no longer be with you! I will likely be adding rewards for reaching certain stages of the game later...", 0, 2)
|
||||||
player:GossipMenuAddItem(0, "NO TAKE ME BACK!", 0, 3)
|
player:GossipMenuAddItem(0, "NO TAKE ME BACK!", 0, 3)
|
||||||
player:GossipSendMenu(2, unit)
|
player:GossipSendMenu(2, unit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--if player chooses to do hardcore they receive the token
|
--if player chooses to do hardcore they receive the token and have custom items and Murky removed
|
||||||
function OnHardCore(event, player, unit, sender, intid, code)
|
function OnHardCore(event, player, unit, sender, intid, code)
|
||||||
if (intid == 2) then
|
if intid == 2 then
|
||||||
player:AddItem(90000, 1)
|
player:AddItem(90000, 1)
|
||||||
--else gossip ends
|
player:SetCoinage(0)
|
||||||
else
|
player:RemoveItem(60002, player:GetItemCount(60002))
|
||||||
player:GossipComplete()
|
player:RemoveItem(10594, player:GetItemCount(10594))
|
||||||
end
|
player:RemoveItem(65000, player:GetItemCount(65000))
|
||||||
|
player:RemoveSpell(24939)
|
||||||
|
--else gossip ends
|
||||||
|
else
|
||||||
|
player:GossipComplete()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
RegisterCreatureGossipEvent(hcNPC, 1 , OnFirstTalk)
|
RegisterCreatureGossipEvent(hcNPC, 1 , OnFirstTalk)
|
||||||
RegisterCreatureGossipEvent(hcNPC, 2, OnSelect)
|
RegisterCreatureGossipEvent(hcNPC, 2, OnSelect)
|
||||||
RegisterCreatureGossipEvent(hcNPC, 2, OnHardCore)
|
RegisterCreatureGossipEvent(hcNPC, 2, OnHardCore)
|
||||||
RegisterPlayerEvent(8, PlayerDeath)
|
RegisterPlayerEvent(8, PlayerDeath)
|
||||||
|
|||||||
37
HardcoreItemRemoval.lua
Normal file
37
HardcoreItemRemoval.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
local function hasItem90000(player)
|
||||||
|
return player:GetItemCount(90000) > 0
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Remove custom starter items
|
||||||
|
local function removeItems(player)
|
||||||
|
local removed = false
|
||||||
|
local items = {60002, 10594, 65000}
|
||||||
|
for _, entry in ipairs(items) do
|
||||||
|
local itemCount = player:GetItemCount(entry)
|
||||||
|
if itemCount > 0 then
|
||||||
|
for i = 0, itemCount - 1 do
|
||||||
|
player:RemoveItem(entry, 1)
|
||||||
|
end
|
||||||
|
removed = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return removed
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Remove Murky
|
||||||
|
local function removeSpell(player)
|
||||||
|
player:RemoveSpell(24939)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Script body
|
||||||
|
local function onLogin(event, player)
|
||||||
|
if hasItem90000(player) then
|
||||||
|
if removeItems(player) then
|
||||||
|
player:SendBroadcastMessage("Welcome to Hardcore Mode. Please watch your step!")
|
||||||
|
end
|
||||||
|
removeSpell(player)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register the script to be triggered on player login
|
||||||
|
RegisterPlayerEvent(3, onLogin)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
local BRAVE_IDS = {5412, 5511, 5512, 957, 7798, 11026, 5518, 5510, 5509, 1416, 5514, 29016, 29019, 3518, 1472}
|
local BRAVE_IDS = {5412, 5511, 5512, 957, 7798, 11026, 5518, 5510, 5509, 1416, 5514, 29016, 29019, 3518, 1472, 31423, 3314, 3312, 3323}
|
||||||
local BRAVERY_DIALOGUE = {
|
local BRAVERY_DIALOGUE = {
|
||||||
"I fear no enemy!",
|
"I fear no enemy!",
|
||||||
"I will fight to the bitter end!",
|
"I will fight to the bitter end!",
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ creature:RemoveEvents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function Necrofiend.OnDied(event, creature, killer)
|
function Necrofiend.OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
local OrgArcher = {};
|
local OrgArcher = {}
|
||||||
|
|
||||||
local function CastShoot(eventId, delay, calls, creature)
|
local function CastShoot(eventId, delay, calls, creature)
|
||||||
creature:CastSpell(creature:GetVictim(), 37770, true)
|
local range = 200 -- set range to 200 yards
|
||||||
|
local target = creature:GetNearestCreature(range, 400035) -- find nearest target within range
|
||||||
|
if target ~= nil then
|
||||||
|
creature:CastSpell(target, 37770, true) -- cast shoot on target
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function CastSerpentSting(eventId, delay, calls, creature)
|
local function CastSerpentSting(eventId, delay, calls, creature)
|
||||||
@@ -12,12 +16,20 @@ local function CastMultiShot(eventId, delay, calls, creature)
|
|||||||
creature:CastSpell(creature:GetVictim(), 30990, true)
|
creature:CastSpell(creature:GetVictim(), 30990, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function CastShootOnSpawn(event, creature)
|
||||||
|
local range = 200 -- set range to 200 yards
|
||||||
|
local target = creature:GetNearestCreature(range, 400035) -- find nearest target within range
|
||||||
|
if target ~= nil then
|
||||||
|
creature:CastSpell(target, 37770, true) -- cast shoot on target
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function OnEnterCombat(event, creature, target)
|
local function OnEnterCombat(event, creature, target)
|
||||||
creature:RegisterEvent(CastShoot, 750, 0)
|
creature:RegisterEvent(CastShoot, 750, 0)
|
||||||
creature:RegisterEvent(CastSerpentSting, 15000, 0)
|
creature:RegisterEvent(CastSerpentSting, 15000, 0)
|
||||||
creature:RegisterEvent(CastMultiShot, 5000, 0)
|
creature:RegisterEvent(CastMultiShot, 5000, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function OnLeaveCombat(event, creature)
|
local function OnLeaveCombat(event, creature)
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
@@ -28,4 +40,6 @@ end
|
|||||||
|
|
||||||
RegisterCreatureEvent(400041, 1, OnEnterCombat)
|
RegisterCreatureEvent(400041, 1, OnEnterCombat)
|
||||||
RegisterCreatureEvent(400041, 2, OnLeaveCombat)
|
RegisterCreatureEvent(400041, 2, OnLeaveCombat)
|
||||||
RegisterCreatureEvent(400041, 4, OnDied)
|
RegisterCreatureEvent(400041, 4, OnDied)
|
||||||
|
|
||||||
|
RegisterCreatureEvent(400035, 5, CastShootOnSpawn)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ local function OnLeaveCombat(event, creature)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function OnDied(event, creature, killer)
|
local function OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
13
RefurbishedShredder.lua
Normal file
13
RefurbishedShredder.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
local RShredder = {};
|
||||||
|
|
||||||
|
function RShredder.OnSpawn(event, creature)
|
||||||
|
creature:CastSpell(creature, 17683, true)
|
||||||
|
end
|
||||||
|
|
||||||
|
function RShredder.OnDied(event, creature)
|
||||||
|
creature:RemoveCorpse()
|
||||||
|
creature:RemoveEvents()
|
||||||
|
end
|
||||||
|
|
||||||
|
RegisterCreatureEvent(400044, 4, RShredder.OnDied)
|
||||||
|
RegisterCreatureEvent(400044, 5, RShredder.OnSpawn)
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
local undeadDragon = {}
|
local undeadDragon = {}
|
||||||
|
|
||||||
function undeadDragon.OnSpawn(event, creature)
|
function undeadDragon.OnSpawn(event, creature)
|
||||||
creature:SetMaxHealth(5554119)
|
creature:SetMaxHealth(8554119)
|
||||||
creature:CanFly(true)
|
creature:CanFly(true)
|
||||||
creature:SetDisableGravity(true)
|
creature:SetDisableGravity(true)
|
||||||
creature:SetReactState(0)
|
creature:SetReactState(0)
|
||||||
@@ -17,7 +17,6 @@ creature:RegisterEvent(undeadDragon.CastSpell4, 6000, 0)
|
|||||||
creature:RegisterEvent(undeadDragon.CastSpell5, 23000, 0)
|
creature:RegisterEvent(undeadDragon.CastSpell5, 23000, 0)
|
||||||
creature:RegisterEvent(undeadDragon.CastSpell6, 35000, 0)
|
creature:RegisterEvent(undeadDragon.CastSpell6, 35000, 0)
|
||||||
creature:RegisterEvent(undeadDragon.CastBlizzard, 4000, 0)
|
creature:RegisterEvent(undeadDragon.CastBlizzard, 4000, 0)
|
||||||
creature:RegisterEvent(undeadDragon.CastFlameBreath, 19000, 0) -- added event to cast Flame Breath every 19 seconds
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function undeadDragon.OnLeaveCombat(event, creature)
|
function undeadDragon.OnLeaveCombat(event, creature)
|
||||||
@@ -90,12 +89,6 @@ end
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function undeadDragon.CastFlameBreath(event, delay, pCall, creature)
|
|
||||||
local enemies = creature:GetUnfriendlyUnitsInRange(30)
|
|
||||||
if not creature:IsCasting() and #enemies > 0 then
|
|
||||||
creature:CastSpell(creature:GetVictim(), 100172, false) -- Frost Breath
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function undeadDragon.OnDeath(event, creature, killer)
|
function undeadDragon.OnDeath(event, creature, killer)
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ creature:RemoveEvents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SkeletalWarlord.OnDied(event, creature, killer)
|
function SkeletalWarlord.OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ local ALLOWED_MAPS = {
|
|||||||
1,
|
1,
|
||||||
}
|
}
|
||||||
|
|
||||||
local ALLOWED_SPELLS = {100150, 100160, 10061}
|
local ALLOWED_SPELLS = {100150, 100160, 100161, 100177}
|
||||||
|
|
||||||
function table.indexOf(t, value)
|
function table.indexOf(t, value)
|
||||||
for k, v in ipairs(t) do
|
for k, v in ipairs(t) do
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ creature:RemoveEvents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function SpectralAttendant.OnDied(event, creature, killer)
|
function SpectralAttendant.OnDied(event, creature, killer)
|
||||||
|
creature:RemoveCorpse()
|
||||||
creature:RemoveEvents()
|
creature:RemoveEvents()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,9 @@ end
|
|||||||
|
|
||||||
local function StoneStomp(eventId, delay, calls, creature)
|
local function StoneStomp(eventId, delay, calls, creature)
|
||||||
local targets = creature:GetAITargets(10)
|
local targets = creature:GetAITargets(10)
|
||||||
|
if #targets == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
local target = targets[math.random(#targets)]
|
local target = targets[math.random(#targets)]
|
||||||
creature:CastSpell(target, 49675, true)
|
creature:CastSpell(target, 49675, true)
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user