Add files via upload

This commit is contained in:
Manmadedrummer
2025-02-08 10:14:29 -05:00
committed by GitHub
parent 349097650f
commit b01463189f
20 changed files with 1900 additions and 170 deletions

View File

@@ -1,75 +1,95 @@
local ITEM_ENTRY = 500500 -- Aquamancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
frostbolt = 8675300,
summon_aqua_guardian = 8675303
},
[2] = { -- Paladin (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[3] = { -- Hunter (Mana/Focus)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[4] = { -- Rogue (Energy)
frostbolt = 8675301,
summon_aqua_guardian = 8675304
},
[5] = { -- Priest (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[6] = { -- Death Knight (Runic Power)
frostbolt = 8675302,
summon_aqua_guardian = 8675305
},
[7] = { -- Shaman (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[8] = { -- Mage (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[9] = { -- Warlock (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
},
[11] = { -- Druid (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372
}
}
-- Function triggered when the item is used
local function OnUseAquamancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have learned the secrets of the Aquamancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot use this scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseAquamancerScroll)
local ITEM_ENTRY = 500500 -- Aquamancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
frostbolt = 8675300,
summon_aqua_guardian = 8675303,
water_bolt = 8675306,
aqua_jet = 8675309
},
[2] = { -- Paladin (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[3] = { -- Hunter (Mana/Focus)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[4] = { -- Rogue (Energy)
frostbolt = 8675301,
summon_aqua_guardian = 8675304,
water_bolt = 8675307,
aqua_jet = 8675310
},
[5] = { -- Priest (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[6] = { -- Death Knight (Runic Power)
frostbolt = 8675302,
summon_aqua_guardian = 8675305,
water_bolt = 8675308,
aqua_jet = 8675311
},
[7] = { -- Shaman (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[8] = { -- Mage (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[9] = { -- Warlock (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
},
[11] = { -- Druid (Mana)
frostbolt = 9672,
summon_aqua_guardian = 8372,
water_bolt = 71686,
aqua_jet = 13586
}
}
-- Function triggered when the item is used
local function OnUseAquamancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have learned the secrets of the Aquamancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Aquamancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseAquamancerScroll)

95
LUA/ArcanistScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500503 -- Arcanist Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
arcane_missiles = 8675336,
energy_surge = 8675339,
force_blast = 8675342,
der_izu_forces = 8675345
},
[2] = { -- Paladin (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[3] = { -- Hunter (Mana/Focus)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[4] = { -- Rogue (Energy)
arcane_missiles = 8675337,
energy_surge = 8675340,
force_blast = 8675343,
der_izu_forces = 8675346
},
[5] = { -- Priest (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[6] = { -- Death Knight (Runic Power)
arcane_missiles = 8675338,
energy_surge = 8675341,
force_blast = 8675344,
der_izu_forces = 8675347
},
[7] = { -- Shaman (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[8] = { -- Mage (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[9] = { -- Warlock (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
},
[11] = { -- Druid (Mana)
arcane_missiles = 33832,
energy_surge = 36508,
force_blast = 39039,
der_izu_forces = 32936
}
}
-- Function triggered when the item is used
local function OnUseArcanistScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the arcane secrets of the Arcanist!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Arcanist Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseArcanistScroll)

View File

@@ -1,95 +1,95 @@
local ITEM_ENTRY = 500501 -- Astromancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
astral_focus = 8675306,
fiery_intellect = 8675309,
scorch = 8675312,
rain_of_fire = 8675315
},
[2] = { -- Paladin (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[3] = { -- Hunter (Mana/Focus)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[4] = { -- Rogue (Energy)
astral_focus = 8675307,
fiery_intellect = 8675310,
scorch = 8675313,
rain_of_fire = 8675316
},
[5] = { -- Priest (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[6] = { -- Death Knight (Runic Power)
astral_focus = 8675308,
fiery_intellect = 8675311,
scorch = 8675314,
rain_of_fire = 8675317
},
[7] = { -- Shaman (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[8] = { -- Mage (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[9] = { -- Warlock (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[11] = { -- Druid (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
}
}
-- Function triggered when the item is used
local function OnUseAstromancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have learned the secrets of the Astromancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot use this scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseAstromancerScroll)
local ITEM_ENTRY = 500501 -- Astromancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
astral_focus = 8675312,
fiery_intellect = 8675315,
scorch = 8675318,
rain_of_fire = 8675321
},
[2] = { -- Paladin (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[3] = { -- Hunter (Mana/Focus)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[4] = { -- Rogue (Energy)
astral_focus = 8675313,
fiery_intellect = 8675316,
scorch = 8675319,
rain_of_fire = 8675322
},
[5] = { -- Priest (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[6] = { -- Death Knight (Runic Power)
astral_focus = 8675314,
fiery_intellect = 8675317,
scorch = 8675320,
rain_of_fire = 8675323
},
[7] = { -- Shaman (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[8] = { -- Mage (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[9] = { -- Warlock (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
},
[11] = { -- Druid (Mana)
astral_focus = 35914,
fiery_intellect = 35917,
scorch = 38391,
rain_of_fire = 37279
}
}
-- Function triggered when the item is used
local function OnUseAstromancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have learned the secrets of the Astromancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Astromancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseAstromancerScroll)

95
LUA/CenturionScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500504 -- Centurion Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
arcane_flurry = 8675348,
blood_heal = 8675351,
spellbreaker = 35871, -- Warriors use default Spellbreaker
sonic_strike = 8675357
},
[2] = { -- Paladin (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[3] = { -- Hunter (Mana/Focus)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[4] = { -- Rogue (Energy)
arcane_flurry = 8675349,
blood_heal = 8675352,
spellbreaker = 8675355, -- Rogues use Energy version
sonic_strike = 8675358
},
[5] = { -- Priest (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[6] = { -- Death Knight (Runic Power)
arcane_flurry = 8675350,
blood_heal = 8675353,
spellbreaker = 8675356, -- Death Knights use Runic Power version
sonic_strike = 8675359
},
[7] = { -- Shaman (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[8] = { -- Mage (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[9] = { -- Warlock (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
},
[11] = { -- Druid (Mana)
arcane_flurry = 37268,
blood_heal = 36476,
spellbreaker = 8675354, -- Corrected Spellbreaker for Mana users
sonic_strike = 41168
}
}
-- Function triggered when the item is used
local function OnUseCenturionScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the battle-hardened techniques of the Centurion!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Centurion Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseCenturionScroll)

95
LUA/ChaplainScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500502 -- Chaplain Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
inner_fire = 8675324,
power_word_shield = 8675327,
renew = 8675330,
power_of_prayer = 8675333
},
[2] = { -- Paladin (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[3] = { -- Hunter (Mana/Focus)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[4] = { -- Rogue (Energy)
inner_fire = 8675325,
power_word_shield = 8675328,
renew = 8675331,
power_of_prayer = 8675334
},
[5] = { -- Priest (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[6] = { -- Death Knight (Runic Power)
inner_fire = 8675326,
power_word_shield = 8675329,
renew = 8675332,
power_of_prayer = 8675335
},
[7] = { -- Shaman (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[8] = { -- Mage (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[9] = { -- Warlock (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
},
[11] = { -- Druid (Mana)
inner_fire = 1006,
power_word_shield = 6066,
renew = 8362,
power_of_prayer = 323267
}
}
-- Function triggered when the item is used
local function OnUseChaplainScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have learned the divine teachings of the Chaplain!")
else
player:SendBroadcastMessage("You already know all the blessings this scroll provides.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Chaplain Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseChaplainScroll)

95
LUA/CryomancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500505 -- Cryomancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
frost_mist = 8675360,
frost_armor = 8675363,
frost_nova = 8675366,
frost_shock = 8675369
},
[2] = { -- Paladin (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[3] = { -- Hunter (Mana/Focus)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[4] = { -- Rogue (Energy)
frost_mist = 8675361,
frost_armor = 8675364,
frost_nova = 8675367,
frost_shock = 8675370
},
[5] = { -- Priest (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[6] = { -- Death Knight (Runic Power)
frost_mist = 8675362,
frost_armor = 8675365,
frost_nova = 8675368,
frost_shock = 8675371
},
[7] = { -- Shaman (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[8] = { -- Mage (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[9] = { -- Warlock (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
},
[11] = { -- Druid (Mana)
frost_mist = 29292,
frost_armor = 31256,
frost_nova = 36989,
frost_shock = 37865
}
}
-- Function triggered when the item is used
local function OnUseCryomancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the chilling arts of the Cryomancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the icy power of the Cryomancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseCryomancerScroll)

95
LUA/GeomancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500506 -- Geomancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
quick_flame_ward = 8675372,
razor_mane = 8675375,
lightning_bolt = 8675378,
summon_earth_rumbler = 8675381
},
[2] = { -- Paladin (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[3] = { -- Hunter (Mana/Focus)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[4] = { -- Rogue (Energy)
quick_flame_ward = 8675373,
razor_mane = 8675376,
lightning_bolt = 8675379,
summon_earth_rumbler = 8675382
},
[5] = { -- Priest (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[6] = { -- Death Knight (Runic Power)
quick_flame_ward = 8675374,
razor_mane = 8675377,
lightning_bolt = 8675380,
summon_earth_rumbler = 8675383
},
[7] = { -- Shaman (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[8] = { -- Mage (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[9] = { -- Warlock (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
},
[11] = { -- Druid (Mana)
quick_flame_ward = 4979,
razor_mane = 5280,
lightning_bolt = 9532,
summon_earth_rumbler = 8270
}
}
-- Function triggered when the item is used
local function OnUseGeomancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the elemental forces of the Geomancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Geomancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseGeomancerScroll)

95
LUA/HarpoonerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500507 -- Harpooner Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
hooked_net = 8675384, -- Intercept (20 Rage)
poisoned_harpoon = 8675387, -- Shockwave (25 Rage)
olufs_harpoon = 8675390, -- Heroic Throw (20 Rage)
net = 8675393 -- Hamstring (15 Rage)
},
[2] = { -- Paladin (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[3] = { -- Hunter (Mana/Focus)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[4] = { -- Rogue (Energy)
hooked_net = 8675385, -- Shadowstep (35 Energy)
poisoned_harpoon = 8675388, -- Cheap Shot (40 Energy)
olufs_harpoon = 8675391, -- Shiv (35 Energy)
net = 8675394 -- Crippling Poison (25 Energy)
},
[5] = { -- Priest (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[6] = { -- Death Knight (Runic Power)
hooked_net = 8675386, -- Death Grip (30 RP)
poisoned_harpoon = 8675389, -- Chains of Ice (35 RP)
olufs_harpoon = 8675392, -- Icy Touch (30 RP)
net = 8675395 -- (Specify equivalent for DK if needed)
},
[7] = { -- Shaman (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[8] = { -- Mage (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[9] = { -- Warlock (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
},
[11] = { -- Druid (Mana)
hooked_net = 40082,
poisoned_harpoon = 5208,
olufs_harpoon = 43325,
net = 38661
}
}
-- Function triggered when the item is used
local function OnUseHarpoonerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the lethal precision of the Harpooner!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the techniques of the Harpooner Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseHarpoonerScroll)

95
LUA/HydromancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500508 -- Hydromancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
water_nova = 8675396,
tidal_burst = 39878, -- Warriors don't have a custom version, defaulting to mana-based
watery_grave = 8675402,
water_blast = 8675405
},
[2] = { -- Paladin (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[3] = { -- Hunter (Mana/Focus)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[4] = { -- Rogue (Energy)
water_nova = 8675397,
tidal_burst = 8675400,
watery_grave = 8675403,
water_blast = 8675406
},
[5] = { -- Priest (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[6] = { -- Death Knight (Runic Power)
water_nova = 8675398,
tidal_burst = 8675401,
watery_grave = 8675404,
water_blast = 8675407
},
[7] = { -- Shaman (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[8] = { -- Mage (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[9] = { -- Warlock (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
},
[11] = { -- Druid (Mana)
water_nova = 38237,
tidal_burst = 39878,
watery_grave = 38049,
water_blast = 54237
}
}
-- Function triggered when the item is used
local function OnUseHydromancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the flowing power of the Hydromancer!")
else
player:SendBroadcastMessage("You already know all the spells this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the power of the Hydromancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseHydromancerScroll)

95
LUA/MonkScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500509 -- Monk Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
kick = 8675408,
storm_punch = 8675411,
ringing_slap = 8675414,
head_butt = 8675417
},
[2] = { -- Paladin (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[3] = { -- Hunter (Mana/Focus)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[4] = { -- Rogue (Energy)
kick = 29586, -- Default Kick for Rogues
storm_punch = 8675412,
ringing_slap = 8675415,
head_butt = 25788 -- Default Head Butt for Rogues
},
[5] = { -- Priest (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[6] = { -- Death Knight (Runic Power)
kick = 8675410,
storm_punch = 8675413,
ringing_slap = 8675416,
head_butt = 8675419
},
[7] = { -- Shaman (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[8] = { -- Mage (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[9] = { -- Warlock (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
},
[11] = { -- Druid (Mana)
kick = 8675409,
storm_punch = 56352,
ringing_slap = 59606,
head_butt = 8675418
}
}
-- Function triggered when the item is used
local function OnUseMonkScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have embraced the martial techniques of the Monk!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the skills of the Monk Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseMonkScroll)

95
LUA/NecromancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500510 -- Necromancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
cripple = 8675420,
bone_armor = 8675423,
power_release = 8675426,
summon_skeleton = 8675429
},
[2] = { -- Paladin (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[3] = { -- Hunter (Mana/Focus)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[4] = { -- Rogue (Energy)
cripple = 8675421,
bone_armor = 8675424,
power_release = 8675427,
summon_skeleton = 8675430
},
[5] = { -- Priest (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[6] = { -- Death Knight (Runic Power)
cripple = 8675422,
bone_armor = 8675425,
power_release = 8675428,
summon_skeleton = 8675431
},
[7] = { -- Shaman (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[8] = { -- Mage (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[9] = { -- Warlock (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
},
[11] = { -- Druid (Mana)
cripple = 20812,
bone_armor = 50324,
power_release = 51431,
summon_skeleton = 8853
}
}
-- Function triggered when the item is used
local function OnUseNecromancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the forbidden arts of the Necromancer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the powers of the Necromancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseNecromancerScroll)

View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500511 -- Nethermancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
bloodcrystal_surge = 8675432,
drain_life = 8675435,
nether_shock = 8675438,
netherbreath = 8675441
},
[2] = { -- Paladin (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[3] = { -- Hunter (Mana/Focus)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[4] = { -- Rogue (Energy)
bloodcrystal_surge = 8675433,
drain_life = 8675436,
nether_shock = 8675439,
netherbreath = 8675442
},
[5] = { -- Priest (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[6] = { -- Death Knight (Runic Power)
bloodcrystal_surge = 8675434,
drain_life = 8675437,
nether_shock = 8675440,
netherbreath = 8675443
},
[7] = { -- Shaman (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[8] = { -- Mage (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[9] = { -- Warlock (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
},
[11] = { -- Druid (Mana)
bloodcrystal_surge = 35778,
drain_life = 17173,
nether_shock = 35334,
netherbreath = 36631
}
}
-- Function triggered when the item is used
local function OnUseNethermancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the secrets of the Nethermancer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the powers of the Nethermancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseNethermancerScroll)

95
LUA/PyromancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500512 -- Pyromancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
ancient_fire = 8675444,
flame_shock = 8675447,
mark_of_flames = 8675450,
summon_fire_elemental = 8675453
},
[2] = { -- Paladin (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[3] = { -- Hunter (Mana/Focus)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[4] = { -- Rogue (Energy)
ancient_fire = 8675445,
flame_shock = 8675448,
mark_of_flames = 8675451,
summon_fire_elemental = 8675454
},
[5] = { -- Priest (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[6] = { -- Death Knight (Runic Power)
ancient_fire = 8675446,
flame_shock = 8675449,
mark_of_flames = 8675452,
summon_fire_elemental = 8675455
},
[7] = { -- Shaman (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[8] = { -- Mage (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[9] = { -- Warlock (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
},
[11] = { -- Druid (Mana)
ancient_fire = 37986,
flame_shock = 15096,
mark_of_flames = 15128,
summon_fire_elemental = 63774
}
}
-- Function triggered when the item is used
local function OnUsePyromancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have mastered the blazing arts of the Pyromancer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the fiery powers of the Pyromancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUsePyromancerScroll)

View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500513 -- Shadowmancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
dark_mending = 8675456,
shadow_blast = 8675459,
shadowguard = 8675462,
shadow_nova = 8675465
},
[2] = { -- Paladin (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[3] = { -- Hunter (Mana/Focus)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[4] = { -- Rogue (Energy)
dark_mending = 8675457,
shadow_blast = 8675460,
shadowguard = 8675463,
shadow_nova = 8675466
},
[5] = { -- Priest (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[6] = { -- Death Knight (Runic Power)
dark_mending = 8675458,
shadow_blast = 8675461,
shadowguard = 8675464,
shadow_nova = 8675467
},
[7] = { -- Shaman (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[8] = { -- Mage (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[9] = { -- Warlock (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
},
[11] = { -- Druid (Mana)
dark_mending = 19775,
shadow_blast = 38085,
shadowguard = 38379,
shadow_nova = 33846
}
}
-- Function triggered when the item is used
local function OnUseShadowmancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have embraced the shadows of the Shadowmancer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the dark powers of the Shadowmancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseShadowmancerScroll)

95
LUA/SirenScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500514 -- Siren Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
banshee_shriek = 8675468,
enveloping_winds = 8675471,
ribbon_of_souls = 8675474,
viscous_shield = 8675477
},
[2] = { -- Paladin (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[3] = { -- Hunter (Mana/Focus)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[4] = { -- Rogue (Energy)
banshee_shriek = 8675469,
enveloping_winds = 8675472,
ribbon_of_souls = 8675475,
viscous_shield = 8675478
},
[5] = { -- Priest (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[6] = { -- Death Knight (Runic Power)
banshee_shriek = 8675470,
enveloping_winds = 8675473,
ribbon_of_souls = 8675476,
viscous_shield = 8675479
},
[7] = { -- Shaman (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[8] = { -- Mage (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[9] = { -- Warlock (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
},
[11] = { -- Druid (Mana)
banshee_shriek = 29505,
enveloping_winds = 15535,
ribbon_of_souls = 16243,
viscous_shield = 38026
}
}
-- Function triggered when the item is used
local function OnUseSirenScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the enchanting powers of the Siren!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the mystical powers of the Siren Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseSirenScroll)

95
LUA/SoothsayerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500515 -- Soothsayer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
darkened_vision = 8675480,
dark_whispers = 8675483,
impending_coma = 8675486,
time_lapse = 8675489
},
[2] = { -- Paladin (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[3] = { -- Hunter (Mana/Focus)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[4] = { -- Rogue (Energy)
darkened_vision = 8675481,
dark_whispers = 8675484,
impending_coma = 8675487,
time_lapse = 8675490
},
[5] = { -- Priest (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[6] = { -- Death Knight (Runic Power)
darkened_vision = 8675482,
dark_whispers = 8675485,
impending_coma = 8675488,
time_lapse = 8675491
},
[7] = { -- Shaman (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[8] = { -- Mage (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[9] = { -- Warlock (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
},
[11] = { -- Druid (Mana)
darkened_vision = 5514,
dark_whispers = 16587,
impending_coma = 34800,
time_lapse = 51020
}
}
-- Function triggered when the item is used
local function OnUseSoothsayerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the prophetic powers of the Soothsayer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the visions of the Soothsayer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseSoothsayerScroll)

95
LUA/SurveyorScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500516 -- Surveyor Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
edwards_insight = 8675492,
sand_breath = 8675495,
crypt_scarabs = 8675498,
stasis_field = 8675501
},
[2] = { -- Paladin (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[3] = { -- Hunter (Mana/Focus)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[4] = { -- Rogue (Energy)
edwards_insight = 8675493,
sand_breath = 8675496,
crypt_scarabs = 8675499,
stasis_field = 8675502
},
[5] = { -- Priest (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[6] = { -- Death Knight (Runic Power)
edwards_insight = 8675494,
sand_breath = 8675497,
crypt_scarabs = 8675500,
stasis_field = 8675503
},
[7] = { -- Shaman (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[8] = { -- Mage (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[9] = { -- Warlock (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
},
[11] = { -- Druid (Mana)
edwards_insight = 60318,
sand_breath = 20717,
crypt_scarabs = 54311,
stasis_field = 40835
}
}
-- Function triggered when the item is used
local function OnUseSurveyorScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the ancient knowledge of the Surveyor!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the wisdom of the Surveyor Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseSurveyorScroll)

95
LUA/TimeBenderScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500517 -- Time Bender Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
haste_other = 8675504,
slow = 8675507,
time_shock = 8675510,
time_stop = 8675513
},
[2] = { -- Paladin (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[3] = { -- Hunter (Mana/Focus)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[4] = { -- Rogue (Energy)
haste_other = 8675505,
slow = 8675508,
time_shock = 8675511,
time_stop = 8675514
},
[5] = { -- Priest (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[6] = { -- Death Knight (Runic Power)
haste_other = 8675506,
slow = 8675509,
time_shock = 8675512,
time_stop = 8675515
},
[7] = { -- Shaman (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[8] = { -- Mage (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[9] = { -- Warlock (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
},
[11] = { -- Druid (Mana)
haste_other = 34186,
slow = 6146,
time_shock = 60076,
time_stop = 47736
}
}
-- Function triggered when the item is used
local function OnUseTimeBenderScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have unlocked the mysterious powers of the Time Bender!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the powers of the Time Bender Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseTimeBenderScroll)

95
LUA/VenomancerScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500518 -- Venomancer Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
poison_bolt = 8675516,
poison_shield = 8675519,
poisoned_thrust = 8675522,
leech_poison = 8675525
},
[2] = { -- Paladin (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[3] = { -- Hunter (Mana/Focus)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[4] = { -- Rogue (Energy)
poison_bolt = 8675517,
poison_shield = 8675520,
poisoned_thrust = 8675523,
leech_poison = 8675526
},
[5] = { -- Priest (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[6] = { -- Death Knight (Runic Power)
poison_bolt = 8675518,
poison_shield = 8675521,
poisoned_thrust = 8675524,
leech_poison = 8675527
},
[7] = { -- Shaman (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[8] = { -- Mage (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[9] = { -- Warlock (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
},
[11] = { -- Druid (Mana)
poison_bolt = 30917,
poison_shield = 39027,
poisoned_thrust = 30822,
leech_poison = 31288
}
}
-- Function triggered when the item is used
local function OnUseVenomancerScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have embraced the toxic power of the Venomancer!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the venomous magic of the Venomancer Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseVenomancerScroll)

95
LUA/WitchDoctorScroll.lua Normal file
View File

@@ -0,0 +1,95 @@
local ITEM_ENTRY = 500519 -- Witch Doctor Scroll Item ID
-- Map of class IDs to their specific spells
local SPELLS_BY_CLASS = {
[1] = { -- Warrior (Rage)
hex = 8675528,
healing_ward = 8675531,
ward_of_laze = 8675534,
voodoo_doll = 8675537
},
[2] = { -- Paladin (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[3] = { -- Hunter (Mana/Focus)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[4] = { -- Rogue (Energy)
hex = 8675529,
healing_ward = 8675532,
ward_of_laze = 8675535,
voodoo_doll = 8675538
},
[5] = { -- Priest (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[6] = { -- Death Knight (Runic Power)
hex = 8675530,
healing_ward = 8675533,
ward_of_laze = 8675536,
voodoo_doll = 8675539
},
[7] = { -- Shaman (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[8] = { -- Mage (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[9] = { -- Warlock (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
},
[11] = { -- Druid (Mana)
hex = 11641,
healing_ward = 11899,
ward_of_laze = 3827,
voodoo_doll = 52695
}
}
-- Function triggered when the item is used
local function OnUseWitchDoctorScroll(event, player, item, target)
local class = player:GetClass() -- Get player's class ID
local spells = SPELLS_BY_CLASS[class] -- Get spell list for the class
if spells then
local learned = false -- Track if any new spells are learned
-- Loop through the spell list for the class
for _, spell in pairs(spells) do
if not player:HasSpell(spell) then
player:LearnSpell(spell) -- Teach the spell
learned = true
end
end
if learned then
player:RemoveItem(item:GetEntry(), 1) -- Consume the item
player:SendBroadcastMessage("You have embraced the dark magic of the Witch Doctor!")
else
player:SendBroadcastMessage("You already know all the abilities this scroll teaches.")
end
else
player:SendBroadcastMessage("Your class cannot harness the dark magic of the Witch Doctor Scroll.")
end
end
-- Register the script to the item
RegisterItemEvent(ITEM_ENTRY, 2, OnUseWitchDoctorScroll)