Files
RandomScriptsforAzerothCore/MiscTools/SmolderingEmberRestrict.lua
2023-03-21 02:26:56 -06:00

46 lines
1006 B
Lua

local ALLOWED_MAPS = {
0,
1,
}
local ALLOWED_SPELLS = {100150, 100160, 100161, 100177, 100186, 100168,}
function table.indexOf(t, value)
for k, v in ipairs(t) do
if v == value then
return k
end
end
return -1
end
function OnPlayerCastSpell(event, player, spell)
local spellId = spell:GetEntry()
local mapId = player:GetMapId()
if table.indexOf(ALLOWED_SPELLS, spellId) ~= -1 then
if table.indexOf(ALLOWED_MAPS, mapId) == -1 then
spell:Cancel()
player:SendBroadcastMessage("You can't use that here.")
else
if spellId == 100150 then
player:PlayDirectSound(20428)
end
end
end
end
function OnPlayerZoneChange(event, player, newZone, newArea)
local mapId = player:GetMapId()
if table.indexOf(ALLOWED_MAPS, mapId) == -1 then
for i, allowedSpell in ipairs(ALLOWED_SPELLS) do
local aura = player:GetAura(allowedSpell)
if aura then
player:RemoveAura(allowedSpell)
end
end
end
end
RegisterPlayerEvent(27, OnPlayerZoneChange)
RegisterPlayerEvent(5, OnPlayerCastSpell)