2024-10-26 11:37:28 +00:00
|
|
|
--[[
|
|
|
|
|
Script Name : SpawnScripts/Generic/ClassSkillCheck.lua
|
|
|
|
|
Script Author : Dorbin & Neveruary
|
|
|
|
|
Script Date : 2023.05.23 12:05:54
|
|
|
|
|
Script Purpose : Check & re-check skills for classic choices below level 10.
|
|
|
|
|
Script Notes : Re-wrote function to use table loops instead of multiple if statements.
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
fighterSkills = {
|
|
|
|
|
Martial = 1408356869,
|
|
|
|
|
Crushing = 3421494576,
|
|
|
|
|
Slashing = 418532101,
|
|
|
|
|
["Dual Wield"] = 1852383242,
|
|
|
|
|
Focus = 2638198038
|
|
|
|
|
}
|
|
|
|
|
priestSkills = {
|
|
|
|
|
Inspirations = 2463145248,
|
|
|
|
|
Crushing = 3421494576,
|
|
|
|
|
Disruption = 613995491,
|
|
|
|
|
Ministration = 366253016,
|
|
|
|
|
Ordination = 3587918036,
|
|
|
|
|
Subjugation = 882983852,
|
|
|
|
|
Focus = 2638198038
|
|
|
|
|
}
|
|
|
|
|
mageSkills = {
|
|
|
|
|
Evocations = 3820670534,
|
|
|
|
|
Piercing = 3048574950,
|
|
|
|
|
Crushing = 3421494576,
|
|
|
|
|
Disruption = 613995491,
|
|
|
|
|
Ministration = 366253016,
|
|
|
|
|
Ordination = 3587918036,
|
|
|
|
|
Subjugation = 882983852,
|
|
|
|
|
Focus = 2638198038
|
|
|
|
|
}
|
|
|
|
|
scoutSkills = {
|
|
|
|
|
Reconnaissance = 1921433074,
|
|
|
|
|
Tracking = 1468243427,
|
|
|
|
|
["Disarm Trap"] = 2200201799,
|
|
|
|
|
Ranged = 1756482397,
|
|
|
|
|
Piercing = 3048574950,
|
|
|
|
|
Slashing = 418532101,
|
|
|
|
|
["Dual Wield"] = 1852383242,
|
|
|
|
|
["Thrown Weapon"] = 2650425026,
|
|
|
|
|
Focus = 2638198038
|
|
|
|
|
}
|
|
|
|
|
fighterWeapons = {
|
|
|
|
|
["Light Armor"] = 2897193374,
|
|
|
|
|
Buckler = 4037812502,
|
|
|
|
|
Roundshield = 3173504370,
|
|
|
|
|
Axe = 2476073427,
|
|
|
|
|
["Great Axe"] = 2954459351,
|
|
|
|
|
Sword = 1696217328,
|
|
|
|
|
["Great Sword"] = 2292577688,
|
|
|
|
|
Mace = 770311065,
|
|
|
|
|
Hammer = 554333641,
|
|
|
|
|
["Great Hammer"] = 1653482350,
|
|
|
|
|
Staff = 3180399725
|
|
|
|
|
}
|
|
|
|
|
priestWeapons = {
|
|
|
|
|
Buckler = 4037812502,
|
|
|
|
|
Symbol = 545043066,
|
|
|
|
|
Mace = 770311065,
|
|
|
|
|
Hammer = 554333641,
|
|
|
|
|
["Great Hammer"] = 1653482350,
|
|
|
|
|
Staff = 3180399725
|
|
|
|
|
}
|
|
|
|
|
mageWeapons = {
|
|
|
|
|
Buckler = 4037812502,
|
|
|
|
|
Symbol = 545043066,
|
|
|
|
|
Dagger = 887279616,
|
|
|
|
|
Staff = 3180399725
|
|
|
|
|
}
|
|
|
|
|
scoutWeapons = {
|
|
|
|
|
["Light Armor"] = 2897193374,
|
|
|
|
|
Buckler = 4037812502,
|
|
|
|
|
Roundshield = 3173504370,
|
|
|
|
|
Spear = 1616998748,
|
|
|
|
|
Dagger = 887279616,
|
|
|
|
|
Bow = 1743366740,
|
|
|
|
|
Axe = 2476073427,
|
|
|
|
|
Mace = 770311065,
|
|
|
|
|
Rapier = 641561514,
|
|
|
|
|
Sword = 1696217328
|
|
|
|
|
}
|
|
|
|
|
fighterRemovedWeapons = {
|
|
|
|
|
887279616, --Dagger
|
|
|
|
|
570458645, --Tower Shield
|
|
|
|
|
3048574950, --Piercing
|
|
|
|
|
1756482397, --Ranged
|
|
|
|
|
540022425, --Parry
|
|
|
|
|
1743366740, --Bow
|
|
|
|
|
2650425026, --Thrown Weapon
|
|
|
|
|
366253016, --Ministration
|
|
|
|
|
613995491, --Disruption
|
|
|
|
|
882983852, --Subjigation
|
|
|
|
|
3587918036 --Ordination
|
|
|
|
|
}
|
|
|
|
|
priestRemovedWeapons = {
|
|
|
|
|
2897193374, --Light Armor
|
|
|
|
|
887279616, --Dagger
|
|
|
|
|
1696217328, --Sword
|
|
|
|
|
2292577688, --Great Sword
|
|
|
|
|
2476073427, --Axe
|
|
|
|
|
2954459351, --Great Axe
|
|
|
|
|
1616998748, --Spear
|
|
|
|
|
1653482350, --Great Spear
|
|
|
|
|
3173504370, --Roundshield
|
|
|
|
|
570458645, --Tower Shield
|
|
|
|
|
3048574950, --Piercing
|
|
|
|
|
1756482397, --Ranged
|
|
|
|
|
1743366740, --Bow
|
|
|
|
|
2650425026 --Thrown Weapon
|
|
|
|
|
}
|
|
|
|
|
mageRemovedWeapons = {
|
|
|
|
|
2897193374, --Light Armor
|
|
|
|
|
554333641, --Hammer
|
|
|
|
|
1653482350, --Great Hammer
|
|
|
|
|
1696217328, --Sword
|
|
|
|
|
2292577688, --Great Sword
|
|
|
|
|
2476073427, --Axe
|
|
|
|
|
2954459351, --Great Axe
|
|
|
|
|
1616998748, --Spear
|
|
|
|
|
1653482350, --Great Spear
|
|
|
|
|
3173504370, --Roundshield
|
|
|
|
|
570458645, --Tower Shield
|
|
|
|
|
3048574950, --Piercing
|
|
|
|
|
1756482397, --Ranged
|
|
|
|
|
1743366740, --Bow
|
|
|
|
|
2650425026 --Thrown Weapon
|
|
|
|
|
}
|
|
|
|
|
scoutRemovedWeapons = {
|
|
|
|
|
2292577688, --Great Sword
|
|
|
|
|
2954459351, --Great Axe
|
|
|
|
|
1616998748, --Spear
|
|
|
|
|
1653482350, --Great Spear
|
|
|
|
|
570458645, --Tower Shield
|
|
|
|
|
366253016, --Ministration
|
|
|
|
|
613995491, --Disruption
|
|
|
|
|
882983852, --Subjigation
|
|
|
|
|
3587918036 --Ordination
|
|
|
|
|
}
|
|
|
|
|
removedSkills = {
|
|
|
|
|
1124719197, --Tactics/Warrior
|
|
|
|
|
433335062, --Berserk/Berserker
|
|
|
|
|
1209716810, --Protection/Guardian
|
|
|
|
|
3856706740, --Brawl/Brawling
|
|
|
|
|
2011726342, --Tranquility/Monk
|
|
|
|
|
3067436248, --Physicality/Bruiser
|
|
|
|
|
3809066846, --Faith/Crusader
|
|
|
|
|
90523872, --Determined Faith/Paladin
|
|
|
|
|
2741805322, --Determined Zeal/Shadowknight
|
|
|
|
|
1311635100, --Melodies/Bard
|
|
|
|
|
296246391, --Ballads/Troubador
|
|
|
|
|
340921594, --Dirges/Dirge
|
|
|
|
|
1514256692, --Skulldugery/Rogue
|
|
|
|
|
2663054519, --Swashbuckling/Swashbuckler
|
|
|
|
|
1519965519, --Banditry/Brigand
|
|
|
|
|
3167106577, --Stalking/Predator
|
|
|
|
|
1400160844, --Archery/Ranger
|
|
|
|
|
2711101135, --Assassination/Assassin
|
|
|
|
|
3341842907, --Theurgy/Cleric
|
|
|
|
|
2581053277, --Regimens/Templar
|
|
|
|
|
1829443087, --Inquisitions/Inquisitor
|
|
|
|
|
3282420779, --Archegenesis/Druid
|
|
|
|
|
1624274802, --Nature's Reckoning/Fury
|
|
|
|
|
1040683335, --Nature's Refuge/Warden
|
|
|
|
|
3343700951, --Talismans/Shaman
|
|
|
|
|
3467160477, --Fetichisms/Mystic
|
|
|
|
|
3191839982, --Vehemence/Defiler
|
|
|
|
|
287643040, --Enchantments/Enchanter
|
|
|
|
|
2898101972, --Hallucinations/Illusionist
|
|
|
|
|
2950599749, --Protean/Coecerer
|
|
|
|
|
2533124061, --Sorcery/Sorcerer
|
|
|
|
|
2662430630, --Elemental Mastery/Wizard
|
|
|
|
|
193411854, --Noctivagance/Warlock
|
|
|
|
|
2120065377, --Legerdemain/Summoner
|
|
|
|
|
2042842194, --Conjurations/Conjurer
|
|
|
|
|
289471519, --Sepulchers/Necromancer
|
|
|
|
|
1553857724, --Investigation
|
|
|
|
|
3429135390, --Mystical Destruction
|
|
|
|
|
2246237129, --Medium Armor
|
|
|
|
|
241174330, --Heavy Armor
|
|
|
|
|
3177806075, --Fists
|
|
|
|
|
2608320658, --Kite Shield
|
|
|
|
|
570458645, --Tower Shield
|
|
|
|
|
540022425 --Parry
|
|
|
|
|
}
|
|
|
|
|
harvestingSkills = {
|
|
|
|
|
1970131346, --Transmuting
|
|
|
|
|
3659699625, --Mining
|
|
|
|
|
688591146, --Foresting
|
|
|
|
|
1048513601, --Gathering
|
|
|
|
|
4158365743, --Trapping
|
|
|
|
|
2319450178 --Fishing
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function hailed(NPC, Spawn)
|
|
|
|
|
changeSkills(NPC, Spawn)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function changeSkills(NPC, Spawn)
|
|
|
|
|
local level = GetLevel(Spawn)*5
|
|
|
|
|
local class = GetClass(Spawn)
|
|
|
|
|
--FIGHTER
|
|
|
|
|
if class == 1 then -- fighter value
|
|
|
|
|
Say(NPC,"Starting Skill Check for Fighter")
|
|
|
|
|
RemoveSkill(Spawn, 2463145248) -- Inspirations/Priest
|
|
|
|
|
RemoveSkill(Spawn, 3820670534) -- Evocations/Mage
|
|
|
|
|
RemoveSkill(Spawn, 1921433074) -- Reconnaissance/Scout
|
|
|
|
|
RemoveSkill(Spawn, 2200201799) -- Disarm Trap
|
|
|
|
|
|
|
|
|
|
for k,v in ipairs(fighterSkills) do
|
|
|
|
|
SendMessage(Spawn, "Skill ID: " .. v .. ", Level: " .. level, "yellow")
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You have learned the " .. k .. " skill")
|
|
|
|
|
SendMessage(Spawn,"You have learned the " .. k .. " skill")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(fighterWeapons) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v,1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You are now more proficient with a " .. k)
|
|
|
|
|
SendMessage(Spawn,"You are now more proficient with a " .. k)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(fighterRemovedWeapons) do
|
|
|
|
|
RemoveSkill(Spawn, v)
|
|
|
|
|
end
|
|
|
|
|
--PRIEST
|
|
|
|
|
elseif class == 11 then -- priest value
|
|
|
|
|
Say(NPC,"Starting Skill Check for Priest")
|
|
|
|
|
RemoveSkill(Spawn, 1408356869) -- Martial/Fighter
|
|
|
|
|
RemoveSkill(Spawn, 3820670534) -- Evocations/Mage
|
|
|
|
|
RemoveSkill(Spawn, 1921433074) -- Reconnaissance/Scout
|
|
|
|
|
RemoveSkill(Spawn, 2200201799) -- Disarm Trap
|
|
|
|
|
for k,v in ipairs(priestSkills) do
|
|
|
|
|
SendMessage(Spawn, "Skill ID: " .. v .. ", Level: " .. level, "yellow")
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You have learned the " .. k .. " skill")
|
|
|
|
|
SendMessage(Spawn,"You have learned the " .. k .. " skill")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(priestWeapons) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You are now more proficient with a " .. k)
|
|
|
|
|
SendMessage(Spawn,"You are now more proficient with a " .. k)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(priestRemovedWeapons) do
|
|
|
|
|
RemoveSkill(Spawn, v)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--MAGE
|
|
|
|
|
elseif class == 21 then -- mage value
|
|
|
|
|
Say(NPC,"Starting Skill Check for Mage")
|
|
|
|
|
RemoveSkill(Spawn, 1921433074) -- Reconnaissance/Scout
|
|
|
|
|
RemoveSkill(Spawn, 1408356869) -- Martial/Fighter
|
|
|
|
|
RemoveSkill(Spawn, 2463145248) -- Inspirations/Priest
|
|
|
|
|
RemoveSkill(Spawn, 2200201799) -- Disarm Trap
|
|
|
|
|
for k,v in ipairs(mageSkills) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You have learned the " .. k .. " skill")
|
|
|
|
|
SendMessage(Spawn,"You have learned the " .. k .. " skill")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(mageWeapons) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You are now more proficient with a " .. k)
|
|
|
|
|
SendMessage(Spawn,"You are now more proficient with a " .. k)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(mageRemovedWeapons) do
|
|
|
|
|
RemoveSkill(Spawn, v)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--SCOUT
|
|
|
|
|
elseif class == 31 then -- scout value
|
|
|
|
|
Say(NPC,"Starting Skill Check for Scout")
|
|
|
|
|
RemoveSkill(Spawn, 1408356869) -- Martial/Fighter
|
|
|
|
|
RemoveSkill(Spawn, 2463145248) -- Inspirations/Priest
|
|
|
|
|
RemoveSkill(Spawn, 3820670534) -- Evocations/Mage
|
|
|
|
|
for k,v in ipairs(scoutSkills) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You have learned the " .. k .. " skill")
|
|
|
|
|
SendMessage(Spawn,"You have learned the " .. k .. " skill")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(scoutWeapons) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v, 1, level)
|
|
|
|
|
DisplayText(Spawn, 34, "You are now more proficient with a " .. k)
|
|
|
|
|
SendMessage(Spawn,"You are now more proficient with a " .. k)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(scoutRemovedWeapons) do
|
|
|
|
|
RemoveSkill(Spawn, v)
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
Say(NPC, "Classic class not detected. Stopping.")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--ADD HARVESTING & REMOVE SUBCLASSES
|
|
|
|
|
for k,v in ipairs(harvestingSkills) do
|
|
|
|
|
if not HasSkill(Spawn, v) then
|
|
|
|
|
AddSkill(Spawn, v,1,level)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
for k,v in ipairs(removedSkills) do
|
|
|
|
|
RemoveSkill(Spawn, v)
|
|
|
|
|
end
|
2024-07-22 13:56:05 -04:00
|
|
|
end
|