diff --git a/ItemScripts/Bogchild's_Iced_Trap.lua b/ItemScripts/Bogchild's_Iced_Trap.lua new file mode 100644 index 0000000..81f7d34 --- /dev/null +++ b/ItemScripts/Bogchild's_Iced_Trap.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : ItemScripts/Bogchild's_Iced_Trap.lua + Script Purpose : Handles the item "Bogchild's Iced Trap" + Script Author : theFoof + Script Date : 2013.5.20 + Script Notes : +--]] +function used(Item, Player) + target = GetTarget(Player) + if GetName(target) == 'a snowpack' or GetName(target) == 'an iceflow' then + if IsInCombat(target) then + SendMessage(Player, "You can only use this on an iceflow or snowpack that is not currently engaged in combat.", "yellow") + else + CastEntityCommand(Player, target, 1274, "Bogchild's Iced Trap") + end + else + SendMessage(Player, "You can only use this on an iceflow or a snowpack.", "yellow") + end +end \ No newline at end of file diff --git a/ItemScripts/BundleofSpiritWards.lua b/ItemScripts/BundleofSpiritWards.lua new file mode 100644 index 0000000..a056e1d --- /dev/null +++ b/ItemScripts/BundleofSpiritWards.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : ItemScripts/BundleofSpiritsWards.lua + Script Purpose : for the quest item "Bundle of Spirits" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +local CallingBack = 35 + +function used(Item, Player) + if HasQuest(Player, CallingBack) then + if GetZoneID(GetZone(Player)) == 470 then + local X = GetX(Player) + local Z = GetZ(Player) + if X >= 595 and X <= 605 then + if Z >= -268 and Z <= -258 then + SetStepComplete(Player, CallingBack, 4) + end + elseif X >= 576 and X <= 586 and Z >= -344 and Z <= -334 then + SetStepComplete(Player, CallingBack, 1) + elseif X >= 502 and X <= 512 then + if Z >= -238 and Z <= -228 then + SetStepComplete(Player, CallingBack, 2) + end + elseif X >= 579 and X <= 589 and Z >= -160 and Z <= -150 then + SetStepComplete(Player, CallingBack, 3) + elseif X >= 576 and X <= 586 and Z >= -217 and Z <= -207 then + SetStepComplete(Player, CallingBack, 5) + else + SendMessage(Player, "You cannot place a ward here.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/ItemScripts/CrustoseRepellentPrototype.lua b/ItemScripts/CrustoseRepellentPrototype.lua new file mode 100644 index 0000000..5b6593c --- /dev/null +++ b/ItemScripts/CrustoseRepellentPrototype.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : ItemScripts/CrustoseRepellentPrototype.lua + Script Purpose : Handles the item "crustose repellent prototype" + Script Author : theFoof + Script Date : 2013.5.12 + Script Notes : +--]] + +function used(Item, Player) + local target = GetTarget(Player) + if GetName(target) == "a crustose sporetender" then + CastEntityCommand(Player, target, 1269, "Spray") + elseif IsInCombat(target) and GetName(target) == "a crustose sporetender" then + SendMessage(Player, "This effect cannot be used on a crustose sporetender which is in combat.", "yellow") + elseif GetName(target) ~= "a crustose sporetender" then + SendMessage(Player, "You can only use the crustose repellent against crustose sporetenders.", "yellow") + end +end \ No newline at end of file diff --git a/ItemScripts/FrondensFinest.lua b/ItemScripts/FrondensFinest.lua new file mode 100644 index 0000000..f356384 --- /dev/null +++ b/ItemScripts/FrondensFinest.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : ItemScripts/FrondensFinest.lua + Script Purpose : for the item "Fronden's Finest" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : +--]] +local PouringSkellies = 40 + +function used(Item, Player) + target = GetTarget(Player) + if GetName(target) == "pile of Ry'Gorr bones" then + if GetQuestStep(Player, PouringSkellies) == 1 then + if not IsInCombat(Player) then + CastEntityCommand(Player, target, 1281, "pour one out") + else + SendMessage(Player, "You must not be in combat to use this.", "yellow") + end + end + else + SendMessage(Player, "You must find a pile of Ry'Gorr bones to use this on.", "yellow") + end +end \ No newline at end of file diff --git a/ItemScripts/GerlasElementalLullaby.lua b/ItemScripts/GerlasElementalLullaby.lua new file mode 100644 index 0000000..68b3388 --- /dev/null +++ b/ItemScripts/GerlasElementalLullaby.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : ItemScripts/GerlasElementalLullaby.lua + Script Purpose : for the item "Gerla's Elemental Lullaby" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local NapEvigis = 64 + +function used(Item, Player) + local target = GetTarget(Player) + if GetQuestStep(Player, NapEvigis) == 1 then + if GetName(target) == 'Evigis the Ancient' then + if GetHP(target) < GetMaxHP(target) * .2 then + CastEntityCommand(Player, target, 1291, "Gerla's Elemental Lullaby") + else + SendMessage(Player, "You must use this on Evigis when it is under 20 percent life.", "yellow") + end + else + SendMessage(Player, "You must use this on Evigis when it is under 20 percent life.", "yellow") + end + end +end \ No newline at end of file diff --git a/ItemScripts/Griz.lua b/ItemScripts/Griz.lua new file mode 100644 index 0000000..47ba11a --- /dev/null +++ b/ItemScripts/Griz.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : ItemScripts/Griz.lua + Script Purpose : the item Griz + Script Author : theFoof + Script Date : 2013.8.26 + Script Notes : +--]] +local SometimesKnut = 84 + +function GrizChat1_1(Item, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I will never doubt him again.") + StartDialogConversation(conversation, 4, Item, Spawn, "Yes. Griz real. Knut's friend.") +end + +function GrizChat2_1(Item, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 2 then + SetStepComplete(Spawn, SometimesKnut, 2) + AddSpawnAccess(GetSpawnByLocationID(Zone, 579551), Spawn) + end + if GetQuestStep(Spawn, SometimesKnut) == 2 or GetQuestStep(Spawn, SometimesKnut) == 3 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "I don't think it has guts.") + AddConversationOption(conversation, "All right, I'm doing it!") + StartDialogConversation(conversation, 4, Item, Spawn, "Grrrrrrrrrrr. I said strike! Claw it to bits! Tear it open, and spell its guts upon the ice!") + end + end +end \ No newline at end of file diff --git a/ItemScripts/IcemaneLeash.lua b/ItemScripts/IcemaneLeash.lua new file mode 100644 index 0000000..01123b2 --- /dev/null +++ b/ItemScripts/IcemaneLeash.lua @@ -0,0 +1,11 @@ +local IcemanesCometh = 18 +function used(Item, Player) + if GetQuestStep(Player, IcemanesCometh) == 1 then + target = GetTarget(Player) + if GetName(target) == 'an icemane cub' then + if not IsInCombat(target) then + CastEntityCommand(Player, target, 1278, "Leash") + end + end + end +end \ No newline at end of file diff --git a/ItemScripts/MakeshiftBarricade.lua b/ItemScripts/MakeshiftBarricade.lua new file mode 100644 index 0000000..374fdc5 --- /dev/null +++ b/ItemScripts/MakeshiftBarricade.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : ItemScripts/MakeshiftBarricade.lua + Script Purpose : Handles the item "makeshift barricade" + Script Author : theFoof + Script Date : 2013.5.7 + Script Notes : +--]] + +local Barricade = 46842 +local BoatloadWork = 4 + +function used(Item, Player) + if GetQuestStep(Player, BoatloadWork) == 3 then + local X = GetX(Player) + local Z = GetZ(Player) + if GetZoneID(GetZone(Player)) == 470 then + if X > -326 and X < -306 then --setting radius to update the quest "Boatload of Work" + if Z < -704 and Z > -724 then + SetStepComplete(Player, BoatloadWork, 3) + RemoveItem(Player, Barricade) + local barrier_spawn = GetSpawn(Player, 4701732) + AddSpawnAccess(barrier_spawn, Player) + else + SendMessage(Player, "You must be between the two torches along the barricade line on Pilgrims' Landing to use this.", "yellow") + end + else + SendMessage(Player, "You must be between the two torches along the barricade line on Pilgrims' Landing to use this.", "yellow") + end + end + end +end \ No newline at end of file diff --git a/ItemScripts/Poultice.lua b/ItemScripts/Poultice.lua new file mode 100644 index 0000000..7adf5fc --- /dev/null +++ b/ItemScripts/Poultice.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : ItemScripts/Poultice.lua + Script Purpose : for the item "Poultice" + Script Author : theFoof + Script Date : 2013.6.3 + Script Notes : +--]] + +local DisarmingRyGorr = 48 + +function used(Item, Player) + if GetQuestStep(Player, DisarmingRyGorr) == 1 then + local target = GetTarget(Player) + if GetName(target) == "a Ry'Gorr weapon" then + CastEntityCommand(Player, target, 1284, "Poultice") + end + else + SendMessage(Player, "You can only use this on a Ry'Gorr weapon.", "yellow") + end +end \ No newline at end of file diff --git a/ItemScripts/RyGorrExplosiveMiningBarrel.lua b/ItemScripts/RyGorrExplosiveMiningBarrel.lua new file mode 100644 index 0000000..ee3b63c --- /dev/null +++ b/ItemScripts/RyGorrExplosiveMiningBarrel.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : ItemScripts/RyGorrExplosiveMiningBarrel.lua + Script Purpose : for the item "Ry'Gorr Explosive Mining Barrel" + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function used(Item, Player) + if GetQuestStep(Player, RyGorrOperations) == 1 then + if GetZoneID(GetZone(Player)) == 470 then + local X = GetX(Player) + local Y = GetY(Player) + local Z = GetZ(Player) + if X > -20.27 and X < -10.27 then + if Y < -60 then + if Z > 150.07 and Z < 160.07 then + local barrel = SpawnByLocationID(GetZone(Player), 33980) + AddSpawnAccess(barrel, Player) + SetTempVariable(barrel, "player", Player) + RemoveItem(Player, 47881) + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + else + SendMessage(Player, "You cannot place the Ry'Gorr Explosive Mining Barrel here.", "yellow") + end + end +end \ No newline at end of file diff --git a/ItemScripts/UrnFilledWithAshes.lua b/ItemScripts/UrnFilledWithAshes.lua new file mode 100644 index 0000000..400c3ac --- /dev/null +++ b/ItemScripts/UrnFilledWithAshes.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : ItemScripts/UrnFilledWithAshes.lua + Script Purpose : for the item "Urn Filled with Ashes" + Script Author : theFoof + Script Date : 2013.5.27 + Script Notes : +--]] +local ScatteringAshes = 33 + +function used(Item, Player) + local X = GetX(Player) + local Y = GetY(Player) + local Z = GetZ(Player) + if GetZoneID(GetZone(Player)) == 470 then + if not IsInCombat(Player) then + if X >= 587 and X <= 627 then + if Y >= 61.2 and Y <= 71.2 then + if Z >= -526 and Z <= -486 then + SetStepComplete(Player, ScatteringAshes, 1) + else + LocMessage(Item, Player) + end + else + LocMessage(Item, Player) + end + else + LocMessage(Item, Player) + end + else + SendPopUpMessage(Player, "Non-Combat only", 0, 0, 255) + end + end +end + +function LocMessage(Item, Player) + SendMessage(Player, "The ashes must be released at the peak of the cliff to the east of Herga's Choke.", "yellow") +end \ No newline at end of file diff --git a/ItemScripts/cadavers_dram.lua b/ItemScripts/cadavers_dram.lua new file mode 100644 index 0000000..fb38992 --- /dev/null +++ b/ItemScripts/cadavers_dram.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : ItemScripts/cadavers_dram.lua + Script Purpose : cavader's dram + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : +--]] + +local BecomingOrcbane = 81 + +function used(Item, Player) + if GetQuestStep(Player, BecomingOrcbane) == 1 then + local target = GetTarget(Player) + if GetSpawnID(target) == 4700105 then + if GetHP(target) < GetMaxHP(target) * .20 then + CastEntityCommand(Player, target, 1299, "cadaver's dram") + else + SendMessage(Player, "You must use this on a Ry'Gorr tunneler that is under 20 percent life.", "yellow") + end + else + SendMessage(Player, "You can only use this on a Ry'Gorr tunneler.", "yellow") + end + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/a_fine_halasian_welcome.lua b/Quests/FrostfangSea/a_fine_halasian_welcome.lua new file mode 100644 index 0000000..b0dc3e1 --- /dev/null +++ b/Quests/FrostfangSea/a_fine_halasian_welcome.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Quests/FrostfangSea/a_fine_halasian_welcome.lua + Script Purpose : Handles the quest "A Fine Halasian Welcome" + Script Author : Sylva1n (updated by theFoof) + Script Date : 2011.10.23 (2013.5.2) + + Zone : Frostfang Sea + Quest Giver : Galinda Goodfaith + Preceded by : None + Followed by : Stonefist's Art of Combat +--]] + + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(1,3), 0, 0) + AddQuestStepChat(Quest, 1, "Seek out Yasha Redblade.", 1, "I have been asked to report to Yasha Redblade in the broken ship's hull to the northeast of Galinda Goodfaith on the Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 1, "quest_complete") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function quest_complete(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + quest_complete(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/a_good_distraction.lua b/Quests/FrostfangSea/a_good_distraction.lua new file mode 100644 index 0000000..17e9f71 --- /dev/null +++ b/Quests/FrostfangSea/a_good_distraction.lua @@ -0,0 +1,87 @@ +--[[ + Script Name : Quests/FrostfangSea/a_good_distraction.lua + Script Purpose : for the quest "A Good Distraction" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Ry'Gorr Mining Operation + Followed by : Sleetfoot Search Party +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(24,40), 0, 0) + AddQuestStepChat(Quest, 1, "I should speak with Ordin Sleetfoot and begin our journey.", 1, "Thirin Veliumdelver wants me to speak with Ordin Sleetfoot when I am ready to venture into the Velinoid Catacombs.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 1, "TalkedOrdin") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave010.mp3", "", "", 2867242801, 3355205024, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "I am learning that with each passing hour. Be safe, my friend.") +end + +function Deleted(Quest, QuestGiver, Player) + local zone = GetZone(Player) + if GetZoneID == 470 then + AddSpawnAccess(GetSpawnByLocationID(zone, 32643), Player) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedOrdin(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have spoken with Ordin, who has vanished into the shadows.") + AddQuestStep(Quest, 2, "I should travel deeper into the Velinoid Catacombs and seek out Ordin.", 1, 100, "I should travel into the Velinoid Catacombs and act as a distraction so none of the Velinoids discover Ordin. He says I will eventually find him as I travel through the cavern.", 0) + AddQuestStepCompleteAction(Quest, 2, "KilledVelinoids") +end + +function KilledVelinoids(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "Ordin was attacked by Velinoids but I was able to fend them off.") + AddQuestStepChat(Quest, 3, "I should make sure that Ordin is okay before continuing on.", 1, "I should travel into the Velinoid Catacombs and act as a distraction so none of the Velinoids discover Ordin. He says I will eventually find him as I travel through the cavern.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 3, "FoundOrdin") +end + +function FoundOrdin(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "Ordin is fine and has returned to the shadows.") + UpdateQuestTaskGroupDescription(Quest, 2, "Ordin has returned to the shadows and wants to continue exploring the catacombs. I imagine I'll find him again further in.") + AddQuestStep(Quest, 4, "I should travel deeper into the Velinoid Catacombs and seek out Ordin.", 1, 100, "I should travel further into the Velinoid Catacombs, continuing to act as a distraction for Ordin. As before I will find him as I travel futher into the catacombs.", 0) + AddQuestStepCompleteAction(Quest, 4, "KilledAmbush") +end + +function KilledAmbush(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "Ordin was attacked by Velinoids but I was able to fend them off.") + AddQuestStepChat(Quest, 5, "I should make sure that Ordin is okay before continuing on.", 1, "I should travel further into the Velinoid Catacombs, continuing to act as a distraction for Ordin. As before I will find him as I travel futher into the catacombs.", 0, 4700965) + AddQuestStepCompleteAction(Quest, 5, "FoundOrdin2") +end + +function FoundOrdin2(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "Ordin is fine and has instructed me to return to Thirin Veliumdelver.") + UpdateQuestTaskGroupDescription(Quest, 3, "While Ordin is checking out one last section of the catacombs, he has instructed me to return to Thirin Veliumdelver at the cavern's entrance.") + AddQuestStepChat(Quest, 6, "I should speak with Thirin Veliumdelver.", 1, "I should return to Thirin Veliumdelver, as Ordin instructed, and tell him the layout of the catacombs. Ordin should be waiting for me there if he's as good a scout as claimed.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedOrdin(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledVelinoids(Quest, QuestGiver, Player) + elseif Step == 3 then + FoundOrdin(Quest, QuestGiver, Player) + elseif Step == 4 then + KilledAmbush(Quest, QuestGiver, Player) + elseif Step == 5 then + FoundOrdin2(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua b/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua new file mode 100644 index 0000000..5c8af48 --- /dev/null +++ b/Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/a_murky_miasma_of_a_mystery.lua + Script Purpose : the quest A Murky Miasma of a Mystery + Script Author : theFoof + Script Date : 2013.5.26 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : The Glimmer Orc + Followed by : A Scattering of Ashes +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard020.mp3", "", "", 3770331911, 592699035, Player) + AddConversationOption(conversation, "I suspect they will have what you need.") + AddConversationOption(conversation, "Let's hope this isn't a dead end.") + StartConversation(conversation, QuestGiver, Player, "Ye'll find the miasmas not far from here. Look to the icy shelf above the battlefield, south of here. Bring back whatever you can find after taking them out, and hopefully it'll solve the mystery of the Ry'Gorr's invisibility.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must collect several deepice crystals from deepice miasmas.", 8, 100, "I must collect several deepice crystals from deepice miasmas. The miasmas tend to wander to the west of Herga's Choke, on the ledge above the battlefield.", 3774, 4700085) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected several deepice crystals.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/a_scattering_of_ashes.lua b/Quests/FrostfangSea/a_scattering_of_ashes.lua new file mode 100644 index 0000000..7315eae --- /dev/null +++ b/Quests/FrostfangSea/a_scattering_of_ashes.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/a_scattering_of_ashes.lua + Script Purpose : the quest A Scattering of Ashes + Script Author : theFoof + Script Date : 2013.5.27 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : A Murky Miasma of a Mystery + Followed by : Totem Annihilation +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(23,99), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must scatter the ashes of the fallen coldain at Pride Overlook.", 1, 100, "I must travel to the peak of Pride Overlook, and then scatter the ashes of the fallen coldain. The Overlook is the peak of the outcropping of the icy cliff just north of the Great Shelf.", 569) + AddQuestStepCompleteAction(Quest, 1, "ScatteredAshes") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard028.mp3", "", "", 564515719, 107243017, Player) + AddConversationOption(conversation, "Thank you. I'd be happy to help.") + AddConversationOption(conversation, "Like the Dain? That's a wild exaggeration, but I appreciate the compliment.") + AddConversationOption(conversation, "I'd rather see a coldain honor his brethren.") + StartConversation(conversation, QuestGiver, Player, "I'd be perfectly happy to give this job to one of my brothers, but I'd rather you do it, Tuce. I trust ye. Yer capable and ye fight like the Dain himself.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function ScatteredAshes(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have scattered the ashes.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ScatteredAshes(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/all_that_remains.lua b/Quests/FrostfangSea/all_that_remains.lua new file mode 100644 index 0000000..16b9dda --- /dev/null +++ b/Quests/FrostfangSea/all_that_remains.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : Quests/FrostfangSea/all_that_remains.lua + Script Purpose : for the quest All That Remains + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : Forsaking the Grave + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must recover Herga's helm from the jetty of ice below the choke.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 2736) + AddQuestStepCompleteAction(Quest, 1, "ClickedHelm") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga056.mp3", "", "", 1633477200, 3542606661, Player) + AddConversationOption(conversation, "I will recover your helmet.") + AddConversationOption(conversation, "This is the least I can do for you.") + StartConversation(conversation, QuestGiver, Player, "I have no kin, as the duties of a Battlepriest precluded the possibility of a quiet life. I never started a family. My ancestral helm is all that remains.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function ClickedHelm(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I located Herga's helm, but was attacked when I attempted to retrieve it!") + AddQuestStepKill(Quest, 2, "I must kill the frenzied orc that is guarding Herga's helm.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 611, 4701122) + AddQuestStepCompleteAction(Quest, 2, "KilledOrc") +end + +function KilledOrc(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the frenzied orc that was guarding Herga's helm.") + AddQuestStep(Quest, 3, "Now that I have slain the frenzied orc, I must recover Herga's helm from the jetty of ice below the choke.", 1, 100, "I must recover Herga's helm from the jetty of ice below Herga's Choke.", 2736) + AddQuestStepCompleteAction(Quest, 3, "GotHelmet") +end + +function GotHelmet(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have recovered Herga's helm.") + AddQuestStepChat(Quest, 4, "I must return the helm to Battlepriest Herga.", 1, "I must return the helm to Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ClickedHelm(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledOrc(Quest, QuestGiver, Player) + elseif Step == 3 then + GotHelmet(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/an_essential_ingredient.lua b/Quests/FrostfangSea/an_essential_ingredient.lua new file mode 100644 index 0000000..2e5b0a1 --- /dev/null +++ b/Quests/FrostfangSea/an_essential_ingredient.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : Quests/FrostfangSea/an_essential_ingredient.lua + Script Purpose : the quest An Essential Ingredient + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Cod and Chips + Followed by : Field Testing +--]] + +local EssentialIngredient = 22 + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45388, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_039.mp3", "", "", 153842278, 3257954458, Player) + AddConversationOption(conversation, "I will return to you once I have collected the elementals.") + StartConversation(conversation, QuestGiver, Player, "Thanks, and good luck!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,90), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "I must capture iceflows.", 4, 100, "I must capture iceflows and snowpacks. The iceflows and snowpacks can be found on the Icemane Plains west of Gwenevyn's Cove.", 1203) + AddQuestStep(Quest, 2, "I must capture snowpacks.", 4, 100, "I must capture iceflows and snowpacks. The iceflows and snowpacks can be found on the Icemane Plains west of Gwenevyn's Cove.", 1203) + AddQuestStepCompleteAction(Quest, 1, "GotIceflows") + AddQuestStepCompleteAction(Quest, 2, "GotSnowpacks") +end + +function GotIceflows(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have captured the iceflows.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotSnowpacks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have captured the snowpacks.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, EssentialIngredient, 1) and QuestStepIsComplete(Player, EssentialIngredient, 2) then + NextStep(Quest, QuestGiver, Player) + end +end + +function NextStep(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have captured enough iceflows and snowpacks.") + AddQuestStepChat(Quest, 3, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the captured iceflows and snowpacks to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 45388) then + RemoveItem(Player, 45388) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotIceflows(Quest, QuestGiver, Player) + end + if Step == 2 then + GotSnowpacks(Quest, QuestGiver, Player) + end + if Step == 3 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/an_unbearable_problem.lua b/Quests/FrostfangSea/an_unbearable_problem.lua new file mode 100644 index 0000000..24193d5 --- /dev/null +++ b/Quests/FrostfangSea/an_unbearable_problem.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/an_unbearable_problem.lua + Script Purpose : the quest An Unbearable Problem + Script Author : theFoof + Script Date : 2013.5.21 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quaqmarr + Preceded by : None + Followed by : Little Lost Froglok +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_023.mp3", "", "", 537970765, 1600868781, Player) + AddConversationOption(conversation, "Goodbye, Flibbit.") + StartConversation(conversation, QuestGiver, Player, "I shall watch for your return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill blizzard grizzlies.", 6, 100, "I must go south from Gwenevyn's Cove and kill blizzard grizzlies.", 611, 4700043, 4700048, 4700047, 4700052, 4701098, 4700050) + AddQuestStepCompleteAction(Quest, 1, "KilledBears") +end + +function KilledBears(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Player), 5217), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed blizzard grizzlies south of Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must return to Flibbit Quagmarr in Gwenevyn's Cove and inform him that I have killed the blizzard grizzlies.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledBears(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/arcane_elements.lua b/Quests/FrostfangSea/arcane_elements.lua new file mode 100644 index 0000000..b4e8521 --- /dev/null +++ b/Quests/FrostfangSea/arcane_elements.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/arcane_elements.lua + Script Purpose : the quest Arcane Elements + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : None + Followed by : Bear Bottoms +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_017.mp3", "", "", 4004735863, 2962223721, Player) + AddConversationOption(conversation, "I'll be back once I have collected the ore you need.") + StartConversation(conversation, QuestGiver, Player, "Great! As I said, you can find the arcane imbued ore on the rolling stones to the southeast of Gwenevyn's Cove. They should not be too hard to find. Let me know if you get into any trouble.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill rolling stones to collect arcane imbued ore.", 5, 100, "I must kill the rolling stones that roll along the beach front southeast of Gwenevyn's Cove to collect the arcane imbued ore that is contained within the rocks.", 1119, 4700030, 4700032) + AddQuestStepCompleteAction(Quest, 1, "KilledStones") +end + +function KilledStones(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the arcane imbued ore from the rolling stones.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the arcane imbued ore to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledStones(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/bartering_crystals.lua b/Quests/FrostfangSea/bartering_crystals.lua new file mode 100644 index 0000000..40cdfff --- /dev/null +++ b/Quests/FrostfangSea/bartering_crystals.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/bartering_crstals.lua + Script Purpose : for the quest "Bartering Crystals" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : The Absent Effigy + Followed by : Pelted +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect strange ice crystals from upon the Icemane Plains.", 5, 100, "I should head out to the Icemane Plains and collect any strange ice crystals I may find.", 2938) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") + AddQuestRewardCoin(Quest, math.random(9,80), math.random(13,25), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_044.mp3", "", "", 86681713, 2082517769, Player) + AddConversationOption(conversation, "I shall return with the crystals.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the strange ice crystals.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/bear_bottoms.lua b/Quests/FrostfangSea/bear_bottoms.lua new file mode 100644 index 0000000..5a2a302 --- /dev/null +++ b/Quests/FrostfangSea/bear_bottoms.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/bear_bottoms.lua + Script Purpose : the quest Bear Bottoms + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Arcane Elements + Followed by : Cod and Chips +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 3290905220, 1893346275, Player) + AddConversationOption(conversation, "I will return to you once I have gathered the pelts.") + StartConversation(conversation, QuestGiver, Player, "Thanks. I know it's distasteful to kill cubs, but I need their softer fur to make blankets. Thank you for doing this for me, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill blizzard grizzly cubs to collect unmarred fur pelts.", 3, 100, "I must hunt blizzard grizzly cubs for their pelts. I can find the cubs northwest of Gwenevyn's Cove.", 122, 4700048) + AddQuestStepCompleteAction(Quest, 1, "KilledCubs") +end + +function KilledCubs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the unmarred fur pelts from the blizzard grizzly cubs.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return the unmarred fur pelts to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCubs(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/becoming_another_orcbane.lua b/Quests/FrostfangSea/becoming_another_orcbane.lua new file mode 100644 index 0000000..d0aa115 --- /dev/null +++ b/Quests/FrostfangSea/becoming_another_orcbane.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/becoming_another_orcbane.lua + Script Purpose : the quest "Becoming Another Orcbane" + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Mystery on the Orc Iceberg + Followed by : Flawless Core Chore +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "After dealing enough damage to the Ry'Gorr tunnelers, use the cadaver's dram on them to finish the job!", 6, 100, "Knut gave you a potion to help you battle the ranks of Ry'Gorr tunnelers within Demon's Delve.", 328) + AddQuestStepCompleteAction(Quest, 1, "UsedDram") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45453, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_042.mp3", "", "", 3041202396, 3394706601, Player) + AddConversationOption(conversation, "Hurt them and then use the cadaver's dram. Got it!") + StartConversation(conversation, QuestGiver, Player, "Not so fast! It can only be used on them after their health has been reduced. They must be weak in order to be susceptible to the cadaver's dram.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 45453) do + RemoveItem(Player, 45453) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedDram(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You used the cadaver's dram on a great number of Ry'Gorr tunnelers.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane now that you have reduced the number of Ry'Gorr forces within the Demon's Delve tunnels.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you have reduced the number of Ry'Gorr forces within the Demon's Delve tunnels.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + while HasItem(Player, 45453) do + RemoveItem(Player, 45453) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedDram(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/beets_the_alternative.lua b/Quests/FrostfangSea/beets_the_alternative.lua new file mode 100644 index 0000000..72aff4f --- /dev/null +++ b/Quests/FrostfangSea/beets_the_alternative.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/FrostfangSea/beets_the_alternative.lua + Script Purpose : the quest Beets the Alternative + Script Author : theFoof + Script Date : 2013.5.18 + + Zone : Frostfang Sea + Quest Giver : Wregan Firebeard + Preceded by : + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(50,90), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "Gather tundra beets along the frozen beach front north of Gwenevyn's Cove, between the pillars of ice.", 3, 100, "First though, you must help gather provisions necessary for the journey.", 816) + AddQuestStepCompleteAction(Quest, 1, "GatheredBeets") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_007.mp3", "", "", 2495625045, 3478965655, Player) + AddConversationOption(conversation, "I will, believe me.") + StartConversation(conversation, QuestGiver, Player, "Yes. Now go and harvest some tundra beets. They grow along the frozen beach front north of us, between the pillars of ice. Be wary of the blizzard grizzlies nearby!") +end + +function GatheredBeets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You gathered tundra beets.") + AddQuestStep(Quest, 2, "You should gather one more tundra beet.", 1, 100, "First though, you must help gather provisions necessary for the journey.", 816) + AddQuestStepCompleteAction(Quest, 2, "GotLastBeet") +end + +function GotLastBeet(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawn(Player, 4700035), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You gathered enough tundra beets, but you also found fresh orc footprints within the snow and ice!") + AddQuestStepChat(Quest, 3, "Return to Wregan Firebeard and tell him of the orcish threat!", 1, "You should return to Wregan Firebeard, the Pilgrimage Guardian, in Gwenevyn's Cove, and tell him of the orcish threat!", 0, 4700034) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredBeets(Quest, QuestGiver, Player) + elseif Step == 2 then + GotLastBeet(Quest, QuestGiver, Player) + elseif Step == 3 then + CompleteQuest(Quest, QuestGiver, Player) + end +end + \ No newline at end of file diff --git a/Quests/FrostfangSea/below_the_frozen_waves.lua b/Quests/FrostfangSea/below_the_frozen_waves.lua new file mode 100644 index 0000000..5ad3bdc --- /dev/null +++ b/Quests/FrostfangSea/below_the_frozen_waves.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/FrostfangSea/below_the_frozen_waves.lua + Script Purpose : for the quest Below the Frozen Waves + Script Author : theFoof + Script Date : 2013.6.11 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Through Thine Eyes + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepLocation(Quest, 1, "I should travel down to the Ry'Gorr caves and see what's inside.", 15, "Using the knowledge gained through the eyes of a Ry'Gorr orc I am to travel below the waves to the underwater tunnel below Erollis.", 0, -4.45, -66.71, 233.13) + AddQuestStepCompleteAction(Quest, 1, "FoundCaves") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 48603) then + SummonItem(Player, 48603, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver020.mp3", "", "", 3456248509, 1625770921, Player) + AddConversationOption(conversation, "I'll be safe, Thirin.") + StartConversation(conversation, QuestGiver, Player, "And if ye want another, just return here, and grab it. Brell protect ye, now. You're going to need it!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundCaves(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "There seems to be a network of caves. I should have a better look around.") + UpdateQuestTaskGroupDescription(Quest, 1, "It appears the orcs have created a network of tunnels underneath Erollis.") + AddQuestStepLocation(Quest, 2, "I should examine the suspicious cave-in to the north.", 15, "I have found that the orcs have built a network of caves under Erollis. From where I stand I can see a suspicious looking cave-in to the north. I should check it out.", 0, -9.93, -67.63, 157.29) + AddQuestStepCompleteAction(Quest, 2, "FoundCaveIn") +end + +function FoundCaveIn(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have examined the suspicious cave-in to the north.") + UpdateQuestTaskGroupDescription(Quest, 2, "Upon examining the cave-in, it appears to have been hastily made, possibly using explosives. This is more evident by the crushed Ry'gorr tunneler found at the cave-in. I should return to Thirin Veliumdelver and inform him on what I've found.") + AddQuestStepChat(Quest, 3, "I must speak with Thirin Veliumdelver.", 1, "I need to return to Thirin Veliumdelver and inform him of the Ry'Gorrs' network of caves and of the suspicious cave-in.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + FoundCaves(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundCaveIn(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua b/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua new file mode 100644 index 0000000..3d920a5 --- /dev/null +++ b/Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/blood_spilled_for_the_blade_maiden.lua + Script Purpose : the quest "Blood Spilled for the Blood Maiden" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : None + Followed by : Skulls for the Taking +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,38), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the invading Ry'Gorr!", 8, 100, "Hillfred has ordered you to stain the frozen beachfront south of Cragged Spine with the blood of the charging Ry'Gorr.", 611, 4700117) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_005.mp3", "", "", 106446536, 3096406437, Player) + AddConversationOption(conversation, "Gladly.") + StartConversation(conversation, QuestGiver, Player, "Then do your worst! Stain the frozen beach front with the blood of the charging Ry'Gorr.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain enough of the invading Ry'Gorr.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have slain enough of the invading Ry'Gorr.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have slain enough of the invading Ry'Gorr.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/boatload_of_work.lua b/Quests/FrostfangSea/boatload_of_work.lua new file mode 100644 index 0000000..9d0ff97 --- /dev/null +++ b/Quests/FrostfangSea/boatload_of_work.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : Quests/FrostfangSea/boatload_of_work.lua + Script Purpose : Handles the quest "Boatload of Work" + Script Author : theFoof + Script Date : 2013.5.5 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Call to Arms + Followed by : Flame On! +--]] + +local Barricade = 46842 + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(0,1), 0, 0) + AddQuestStep(Quest, 1, "I need to gather planks of wood.", 3, 100, "I am to gather planks of wood around the bow of the old boat wreckage on the western side of Pilgrims' Landing, and then give them to Yasha.", 2361) + AddQuestStepCompleteAction(Quest, 1, "GatheredPlanks") +end + +function GatheredPlanks(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have the bow planks Yasha needs.") + AddQuestStepChat(Quest, 2, "Return to Yasha Redblade", 1, "I am to gather planks of wood around the bow of the old boat wreckage on the western side of Pilgrims' Landing, and then give them to Yasha.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 2, "TalkedYasha") +end + +function TalkedYasha(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Yasha was able to craft a makeshift barricade piece out of the planks of wood I gave her.") + SummonItem(Player, Barricade, 1) + AddQuestStep(Quest, 3, "Complete the Pilgrims' Landing barricade.", 1, 100, "I am to set the makeshift barricade piece on the ground where the break in the barricade line, south of Yasha, is lit by two torches", 0) + AddQuestStepCompleteAction(Quest, 3, "SetBarricade") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 46842) then + RemoveItem(Player, 46842) + end +end + +function SetBarricade(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "The barricade keeping the orcs at bay is now complete!") + AddQuestStepChat(Quest, 4, "Return Yasha Redblade", 1, "I am to return to Yasha Redblade near the broken ship's hull on southern section of Pilgrims' Landing.", 0 ,4700005) + AddQuestStepCompleteAction(Quest, 4, "FinishQuest") +end + +function FinishQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredPlanks(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedYasha(Quest, QuestGiver, Player) + elseif Step == 3 then + SetBarricade(Quest, QuestGiver, Player) + end +end + diff --git a/Quests/FrostfangSea/call_to_arms.lua b/Quests/FrostfangSea/call_to_arms.lua new file mode 100644 index 0000000..66d9199 --- /dev/null +++ b/Quests/FrostfangSea/call_to_arms.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/FrostfangSea/call_to_arms.lua + Script Purpose : Handles the quest "Call to Arms" + Script Author : thefoof + Script Date : 2013.5.4 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Stonefist's Art of Combat + Followed by : Boatload of Work +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(8,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "Slay Ry'Gorr centurions.", 4, 100, "I am to slay any of the Ry'Gorr centurions that are attacking the southeastern side of Pilgrims' Landing", 611, 4700027, 4700413) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I defended Pilgrims' Landing by slaying several of the attacking Ry'Gorr centurions!") + AddQuestStepChat(Quest, 2, "Return to Yasha Redblade", 1, "I am to return to to Yasha Redblade near the broken ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 2, "TalkedYasha") +end + +function TalkedYasha(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedYasha(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/calling_them_back.lua b/Quests/FrostfangSea/calling_them_back.lua new file mode 100644 index 0000000..e409076 --- /dev/null +++ b/Quests/FrostfangSea/calling_them_back.lua @@ -0,0 +1,165 @@ +--[[ + Script Name : Quests/FrostfangSea/calling_them_back.lua + Script Purpose : the quest Calling Them Back + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Totem Annihilation + Followed by : The Gauntlet +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(23,90), math.random(13,20), 0, 0) + AddQuestStep(Quest, 1, "I must plant the Azia ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 2, "I must plant the Beza ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 3, "I must plant the Caza ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 4, "I must plant the Dena ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStep(Quest, 5, "I must plant the Ena ward.", 1, 100, "Dolur Axebeard, a coldain shaman stationed at The Great Shelf, has asked for my help in planting wards on the battlefield. These wards act as beacons. The coldain soldiers that fall in battle can follow the signal from these beacons to return to Erollis as vengeful spirits, where they can continue their fight against the Ry'Gorr.", 2990) + AddQuestStepCompleteAction(Quest, 1, "PlantedAzia") + AddQuestStepCompleteAction(Quest, 2, "PlantedBeza") + AddQuestStepCompleteAction(Quest, 3, "PlantedCaza") + AddQuestStepCompleteAction(Quest, 4, "PlantedDena") + AddQuestStepCompleteAction(Quest, 5, "PlantedEna") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 45448) then + SummonItem(Player, 45448, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard059.mp3", "", "", 118933813, 3206945922, Player) + AddConversationOption(conversation, "I understand.") + AddConversationOption(conversation, "Shouldn't be a problem.") + StartConversation(conversation, QuestGiver, Player, "Here are the wards. Head to the south, where the fighting is heaviest and poke around. Ye'll want to keep an eye out for arcane patterns drawn in the snow. Those designs indicate the best locations to place the wards.") +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, 45448) + local zone = GetZone(Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572695), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572694), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572693), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572692), Player) + RemoveSpawnAccess(GetSpawnByLocationID(zone, 572696), Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function PlantedAzia(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572693) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 1, "I have planted the Azia ward.") + SendMessage(Player, "You place the Azia ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedBeza(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572694) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 2, "I have planted the Beza ward.") + SendMessage(Player, "You place the Beza ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedCaza(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572695) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 3, "I have planted the Caza ward.") + SendMessage(Player, "You place the Caza ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedDena(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572692) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 4, "I have planted the Dena ward.") + SendMessage(Player, "You place the Dena ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function PlantedEna(Quest, QuestGiver, Player) + local zone = GetZone(Player) + local runes = GetSpawnByLocationID(zone, 572696) + local X = GetX(runes) + local Y = GetY(runes) + local Z = GetZ(runes) + local heading = GetHeading(runes) + local ward = SpawnMob(zone, 4701741, 1, X + math.random(-3,3), Y, Z + math.random(-3,3), heading) + AddSpawnAccess(ward, Player) + UpdateQuestStepDescription(Quest, 5, "I have planted the Ena ward.") + SendMessage(Player, "You place the Ena ward.") + CheckProgress(Quest, QuestGiver, Player) + RemoveSpawnAccess(runes, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 35, 1) and QuestStepIsComplete(Player, 35, 2) and QuestStepIsComplete(Player, 35, 3) and QuestStepIsComplete(Player, 35, 4) and QuestStepIsComplete(Player, 35, 5) then + AddStep6(Quest, QuestGiver, Player) + end +end + +function AddStep6(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have placed the spirit wards.") + AddQuestStepChat(Quest, 6, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + RemoveItem(Player, 45448) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 35, 1) then + PlantedAzia(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 2) then + PlantedBeza(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 3) then + PlantedCaza(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 4) then + PlantedDena(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 5) then + PlantedEna(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 35, 1) and QuestStepIsComplete(Player, 35, 2) and QuestStepIsComplete(Player, 35, 3) and QuestStepIsComplete(Player, 35, 4) and QuestStepIsComplete(Player, 35, 5) then + AddStep6(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/campside_spores.lua b/Quests/FrostfangSea/campside_spores.lua new file mode 100644 index 0000000..0d8bcde --- /dev/null +++ b/Quests/FrostfangSea/campside_spores.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/campside_spores.lua + Script Purpose : the quest Campside Spores + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Highly Flammable Materials + Followed by : Ry'Gorr Tool Taking +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Apply the crustose spores to any Ry'Gorr provisions on Jagged Daggers.", 4, 100, "Odon wants to apply the crustose spores to any Ry'Gorr provisions you find within their encampment on Jagged Daggers.", 569) + AddQuestStepCompleteAction(Quest, 1, "UsedSpores") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45807) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_028.mp3", "", "", 2284024418, 845774504, Player) + AddConversationOption(conversation, "I will.") + StartConversation(conversation, QuestGiver, Player, "Oh, but you are not the one that will be doing it. We're going to leave that up to the crustose. Take this pouch of crustose spores and spread them on any Ry'Gorr provisions that you find on Jagged Daggers Isle. Return to me when you have accomplished this task.") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 45807) then + RemoveItem(Player, 45807) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedSpores(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You spread crustose spores on many provision stashes the Ry'Gorr had and survived the ensuing attacks by angered orcs.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you have spread crustose spores on the Ry'Gorr provisions and survived the ensuing attacks by angered orcs.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you have spread crustose spores on the Ry'Gorr provisions and survived the ensuing attacks by angered orcs.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 45807) then + RemoveItem(Player, 45807) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedSpores(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/clan_of_the_cave_imps.lua b/Quests/FrostfangSea/clan_of_the_cave_imps.lua new file mode 100644 index 0000000..b821df8 --- /dev/null +++ b/Quests/FrostfangSea/clan_of_the_cave_imps.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/clan_of_the_cave_imps.lua + Script Purpose : the quest Clan of the Cave Imps + Script Author : theFoof + Script Date : 2013.7.21 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Impish Threats + Followed by : Mystery on the Orc Iceberg +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Reclaim any Cragged Spine supply crates you locate within the glacial imp cave.", 4, 100, "Reclaim the Cragged Spine provisions that the miscreants and scoundrels have stolen.", 655) + AddQuestStepKill(Quest, 2, "Slay any imps that may stand in your way within the glacial imp cave.", 6, 100, "Reclaim the Cragged Spine provisions that the miscreants and scoundrels have stolen.", 611, 4700066, 4700065, 4701106, 4701143) + AddQuestStepCompleteAction(Quest, 1, "GotCrates") + AddQuestStepCompleteAction(Quest, 2, "KilledImps") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrates(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found all of the Cragged Spine supply crates!") + ProgressCheck(Quest, QuestGiver, Player) +end + +function KilledImps(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You've slain enough of the imps!") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 79, 1) and QuestStepIsComplete(Player, 79, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found all of the Cragged Spine supply crates and have slain many imps in the process!") + AddQuestStepChat(Quest, 3, "Return to Knut Orcbane now that you retrieved all of the stolen Cragged Spine provisions.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you retrieved all of the stolen Cragged Spine supplies.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 79, 1) then + GotCrates(Quest, QuestGiver, Player) + elseif QuestStepIsComplete(Player, 79, 2) then + KilledImps(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/cod_and_chips.lua b/Quests/FrostfangSea/cod_and_chips.lua new file mode 100644 index 0000000..0523ee1 --- /dev/null +++ b/Quests/FrostfangSea/cod_and_chips.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/cod_and_chips.lua + Script Purpose : the quest Cod and Chips + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Bear Bottoms + Followed by : Essential Ingredient +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_032.mp3", "", "", 911192006, 688179245, Player) + AddConversationOption(conversation, "Then I shall return with the large Iceclad cod.") + StartConversation(conversation, QuestGiver, Player, "You will find the large Iceclad cod in the Frostfang Sea, northwest of here. I will need them to be large Iceclad cod in order to feed everyone.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepKill(Quest, 1, "I must hunt large Iceclad cod.", 3, 100, "I must hunt large Iceclad cod. They can be found swimming in the Frostfang Sea northwest of Gwenevyn's Cove, on the western side of Erollis.", 2541, 4700031) + AddQuestStepCompleteAction(Quest, 1, "KilledCod") +end + +function KilledCod(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have hunted the large Iceclad cod. I should return to Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "Blorpisa thanked me for bringing her the large Iceclad cod.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCod(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/crustose_removal.lua b/Quests/FrostfangSea/crustose_removal.lua new file mode 100644 index 0000000..cbfc499 --- /dev/null +++ b/Quests/FrostfangSea/crustose_removal.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/FrostfangSea/crustose_removal.lua + Script Purpose : the quest Crustose Removal + Script Author : theFoof + Script Date : 2013.5.12 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : None + Followed by : Repelling Little Critters +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,50), math.random(1,3), 0, 0) + AddQuestStepKill(Quest, 1, "Slay crustore defenders or sporetenders.", 4, 100, "I am to slay any of the crustose defenders or sporetenders I find on the western side of the isle in search of spore samples.", 811, 4700405, 4700003, 4700408, 4700019) + AddQuestStepCompleteAction(Quest, 1, "KilledFungus") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledFungus(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have slain crustose fungusmen I found on the western side of the isle.") + AddQuestStepChat(Quest, 2, "Return to Arrin Clelland.", 1, "I am to return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledFungus(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/disarming_the_rygorr.lua b/Quests/FrostfangSea/disarming_the_rygorr.lua new file mode 100644 index 0000000..5b8e03c --- /dev/null +++ b/Quests/FrostfangSea/disarming_the_rygorr.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/disarming_the_rygorr.lua + Script Purpose : the quest Disarming the Ry'Gorr + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Weapon of Choice + Followed by : Perfectly Missing +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must cleanse Ry'Gorr weapons.", 5, 100, "I must go to the battlefield and cleanse Ry'Gorr weapons.", 616) + AddQuestStepCompleteAction(Quest, 1, "CleansedWeapons") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 47614) then + SummonItem(Player, 47614, 1) + end +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 47614) then + RemoveItem(Player, 47614) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function CleansedWeapons(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have cleansed the Ry'Gorr weapons I found on the battlefield.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return to Blorpisa at the Great Shelf and tell her that her potion was a success.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + if HasItem(Player, 47614) then + RemoveItem(Player, 47614) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CleansedWeapons(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/displaced_and_discouraged,lua b/Quests/FrostfangSea/displaced_and_discouraged,lua new file mode 100644 index 0000000..d84690f --- /dev/null +++ b/Quests/FrostfangSea/displaced_and_discouraged,lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/displaced_and_discouraged.lua + Script Purpose : for the quest "Displaced and Discouraged" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : None + Followed by : Reclaiming Their Honor +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr raiders.", 8, 100, "I must kill several Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 611, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell be with you, as well.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "We could surely use your help with these orcs. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr raiders.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/displaced_and_discouraged.lua b/Quests/FrostfangSea/displaced_and_discouraged.lua new file mode 100644 index 0000000..d84690f --- /dev/null +++ b/Quests/FrostfangSea/displaced_and_discouraged.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/displaced_and_discouraged.lua + Script Purpose : for the quest "Displaced and Discouraged" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : None + Followed by : Reclaiming Their Honor +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr raiders.", 8, 100, "I must kill several Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 611, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell be with you, as well.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "We could surely use your help with these orcs. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr raiders.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua b/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua new file mode 100644 index 0000000..bced69f --- /dev/null +++ b/Quests/FrostfangSea/domestication_is_the_new_survivalism.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/domestication_is_the_new_survivalism.lua + Script Purpose : for the quest "Domestication is the New Survivalism" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Tackling the Basilisks + Followed by : Domestication is the New Survivalism +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must harvest frostbiter basilisk eggs.", 8, 100, "I must harvest frostbiter basilisk eggs. The basilisks' nests can be found to the east of the Great Shelf, along the shoreline past the battlefield.", 1190) + AddQuestStepCompleteAction(Quest, 1, "GotEggs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "You can count on me.") + AddConversationOption(conversation, "We all do what we can.") + StartConversation(conversation, QuestGiver, Player, "I don't expect the adult basilisks will take kindly to ye poking around in their nests, so prepare for a fight. And thank ye, in advance, for the help. Yer a reliable and generous sort and it'd be a bleak world without ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotEggs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested the frostbiter basilisk eggs.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotEggs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua b/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua new file mode 100644 index 0000000..58341d2 --- /dev/null +++ b/Quests/FrostfangSea/fewer_orcs_to_worry_about.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/fewer_orcs_to_worry_about.lua + Script Purpose : the quest Fewer Orcs to Worry About + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Green Mystery + Followed by : Geode Caching +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStepKill(Quest, 1, "Slay any Ry'Gorr tunnelers you find within the Demon's Delve tunnels.", 8, 100, "Hillfred is sure that the Ry'Gorr that survived the green, billowing clouds have been weakened by it. She has tasked you with returning to the Demon's Delve tunnels.", 611, 4700105) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain enough Ry'Gorr tunnelers for Hillfred.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have slain so many Ry'Gorr tunnelers from within the Demon's Delve.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have slain so many Ry'Gorr tunnelers from within the Demon's Delve.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/field_testing.lua b/Quests/FrostfangSea/field_testing.lua new file mode 100644 index 0000000..0da6305 --- /dev/null +++ b/Quests/FrostfangSea/field_testing.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/field_testing.lua + Script Purpose : the quest Field Testing + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : An Essential Ingredient + Followed by : Field Testing Part Two +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_049.mp3", "", "", 3167062203, 1810444442, Player) + AddConversationOption(conversation, "I shall return to you once I have gathered the ice lilies.") + StartConversation(conversation, QuestGiver, Player, "They grow on the Icemane Plains. You should have no trouble finding them, they are quite beautiful. Here, I shall cast the spell on you.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,50), math.random(6,12), 0, 0) + AddQuestStep(Quest, 1, "I must collect ice lilies.", 5, 100, "I must head to the Icemane Plains and collect ice lilies.", 1958) + AddQuestStepCompleteAction(Quest, 1, "GotLilies") +end + +function GotLilies(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the ice lilies.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove", 1, "I must return the collected ice lilies to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotLillies(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/field_testing_part_two.lua b/Quests/FrostfangSea/field_testing_part_two.lua new file mode 100644 index 0000000..967b304 --- /dev/null +++ b/Quests/FrostfangSea/field_testing_part_two.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/field_testing_part_two.lua + Script Purpose : the quest Field Testing Part Two + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Field Testing + Followed by : None +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_057.mp3", "", "", 4242418516, 2706446294, Player) + AddConversationOption(conversation, "I will return to you once I have scouted out the location.") + StartConversation(conversation, QuestGiver, Player, "Here, let me cast the spell on you. Do take care!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,50), math.random(5,12), 0, 0) + AddQuestStepLocation(Quest, 1, "I must test the Frost-born Ward's effectiveness by scouting the Pride Overlook.", 25, "I must head to the Pride Overlook on the Icemane Plains to test the new Frost-born Ward. Pride Overlook is west of Gwenevyn's Cove.", 3163, 598.01, 66.20, -505.68) + AddQuestStepCompleteAction(Quest, 1, "ScoutedPride") +end + +function ScoutedPride(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have determined that the Frost-born Ward is still ineffective.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild in Gwenevyn's Cove.", 1, "I must return to Blorpisa Bogchild in Gwenevyn's Cove.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + ScoutedPride(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/flame_on.lua b/Quests/FrostfangSea/flame_on.lua new file mode 100644 index 0000000..c78c592 --- /dev/null +++ b/Quests/FrostfangSea/flame_on.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/flame_on.lua + Script Purpose : the quest Flame On! + Script Author : theFoof + Script Date : 2013.5.9 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Boatload of Work + Followed by : Ride Upon the Gwenevyn II +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random (10,80), math.random(1,2), 0, 0) + AddQuestStep(Quest, 1, "Light the signal fire.", 1, 100, "I must climb the rope ladder affixed to the imposing wall of ice east of Yasha Redblade to reach the signal fire.", 2233) + AddQuestStepCompleteAction(Quest, 1, "LitFire") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function LitFire(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have lit the signal fire.") + AddQuestStep(Quest, 2, "Kill the ambushing orcs!", 1, 100, "I was ambushed by orcs while I was lighting the signal fire on the ice shelf above the eastern end of the island!", 0) + AddQuestStepCompleteAction(Quest, 2, "KilledOrcs") +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I was ambushed by orcs while I was lighting the signal fire! I faced them valiantly and live to tell the tale.") + AddQuestStepChat(Quest, 3, "Return to Yasha Redblade", 1, "I am to return to Yasha Redblade near the broken ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 3, "CompletedQuest") +end + +function CompletedQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + LitFire(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledOrcs(Quest, QuestGiver, Player) + elseif Step == 3 then + CompletedQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/flawless_core_chore.lua b/Quests/FrostfangSea/flawless_core_chore.lua new file mode 100644 index 0000000..fb7cf8b --- /dev/null +++ b/Quests/FrostfangSea/flawless_core_chore.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/flawless_core_chore.lua + Script Purpose : the quest "Flawless Core Chore" + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Becoming Another Orcbane + Followed by : Sometimes You Feel Like a Knut +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,50), 0, 0) + AddQuestStepKill(Quest, 1, "Slay velinoid smashers in your effort to obtain their flawless velium cores.", 6, 80, "Slay velinoid smashers in your effort to obtain their flawless velium cores.", 3029, 4700554) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_053.mp3", "", "", 592887905, 3275413012, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "It is them, the Velinoid crystal men. The old magick is in them. Seize an armful of their flawless velium cores and return to us.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have obtained enough flawless velium cores to suffice.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane with the flawless velium cores you obtained.", 1, "You should return to Knut Orcbane, at Cragged Spine, with the flawless velium cores you obtained.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/foiling_the_flank.lua b/Quests/FrostfangSea/foiling_the_flank.lua new file mode 100644 index 0000000..e92aa5a --- /dev/null +++ b/Quests/FrostfangSea/foiling_the_flank.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/FrostfangSea/foiling_the_flank.lua + Script Purpose : for the quest "Foiling the Flank" + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Rakan RockBreaker + Preceded by : The Demand for Supplies + Followed by : None +--]] + + +function Init(Quest) + SetQuestRepeatable(Quest) + SetQuestFeatherColor(Quest, 3) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several sprinting Ry'Gorr gatecallers.", 5, 100, "I must kill several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters. The gatecallers have been sneaking up the choke from the battlefield, and the portal casters can be found at the summit of Herga's Choke.", 611, 4700075) + AddQuestStepKill(Quest, 2, "I must kill several Ry'Gorr portal casters.", 3, 100, "I must kill several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters. The gatecallers have been sneaking up the choke from the battlefield, and the portal casters can be found at the summit of Herga's Choke.", 611, 4701115, 4701120) + AddQuestStepCompleteAction(Quest, 1, "KilledGateCaller") + AddQuestStepCompleteAction(Quest, 2, "KilledPortalCaster") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker013.mp3", "", "", 3252337968, 480414167, Player) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I will be back shortly.") + StartConversation(conversation, QuestGiver, Player, "Ye delivered the last of the visors to Orica Deadshot, but ye should still be able to pick out the camouflaged Ry'Gorr gatecallers if ye look for that tell-tale glimmer. Head to the peak of Herga's Choke to find the portal casters. Good luck and good hunting, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledGateCaller(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I successfully killed several sprinting Ry'Gorr gatecallers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledPortalCaster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I successfully killed several Ry'Gorr portal casters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 46, 1) and QuestStepIsComplete(Player, 46, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I successfully killed several sprinting Ry'Gorr gatecallers and several Ry'Gorr portal casters.") + AddQuestStepChat(Quest, 3, "I must speak to Rakan Rockbreaker.", 1, "I must speak to Rakan Rockbreaker, who can be found in the cave at the Great Shelf.", 0, 4700082) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 46, 1) then + KilledGateCaller(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 46, 2) then + KilledPortalCaster(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/forsaking_the_grave.lua b/Quests/FrostfangSea/forsaking_the_grave.lua new file mode 100644 index 0000000..c85e2f5 --- /dev/null +++ b/Quests/FrostfangSea/forsaking_the_grave.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : Quests/FrostfangSea/forsaking_the_grave.lua + Script Purpose : the quest Forsaking the Grave + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : The Siege is Not Over + Followed by : All That Remains +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several reanimated Ry'Gorr skeletons on the Forbidden Ossuary of Ice.", 8, 100, "I must kill several reanimated Ry'Gorr skeletons on the Forbidden Ossuary of Ice.", 611, 4700878) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga044.mp3", "", "", 2826724628, 2053031770, Player) + AddConversationOption(conversation, "The abominations will be eliminated.") + AddConversationOption(conversation, "I know exactly where to find them.") + StartConversation(conversation, QuestGiver, Player, "Seek out the skeletons on the isle known as the Forbidden Ossuary of Ice. The Ossuary floats off the coast, to the southwest of Erollis.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several reanimated Ry'Gorr skeletons.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/frigid_fishing.lua b/Quests/FrostfangSea/frigid_fishing.lua new file mode 100644 index 0000000..4d3975f --- /dev/null +++ b/Quests/FrostfangSea/frigid_fishing.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/FrostfangSea/frigid_fishing.lua + Script Purpose : the quest "Frigid Fishing" + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Scraggly Foodstuffs + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(30,60), math.random(2,4), 0, 0) + AddQuestStepKill(Quest, 1, "Hunt Iceclad cod.", 5, 100, "I promised to hunt Iceclad cod in the waters around Pilgrims' Landing.", 2540, 4700028) + AddQuestStepCompleteAction(Quest, 1, "KilledCod") +end + +function KilledCod(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have hunted Iceclad cod in the waters around Pilgrims' Landing.") + AddQuestStepChat(Quest, 2, "Return the Iceclad cod to Arrin.", 1, "I am to return the Iceclad cod to Arrin Clelland in Pilgrims' Landing.", 2540, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCod(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/frozen_pincer_chowder.lua b/Quests/FrostfangSea/frozen_pincer_chowder.lua new file mode 100644 index 0000000..a458d5e --- /dev/null +++ b/Quests/FrostfangSea/frozen_pincer_chowder.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/frozen_pincer_chowder.lua + Script Purpose : the quest "Frozen Pincer Chowder" + Script Author : theFoof + Script Date : 2013.9.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Olga Macleod + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect a sprig of halasian reeds for Olga.", 1, 100, "I must collect a sprig of halasian reeds for Olga. I can find the halasian reed plant down near the water's edge at the Erollis Dock, east of New Halas.", 822) + AddQuestStepCompleteAction(Quest, 1, "GotSprig") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_006.mp3", "", "", 1415155134, 885074882, Player) + AddConversationOption(conversation, "I shall be back with the parsley and pincers!") + StartConversation(conversation, QuestGiver, Player, "How nice of you! If you do so, you can have a bowl of the chowder for yourself. What I need is frozen pincers and halasian reeds. The halasian reeds and the frozen pincers are down near the water's edge at the Erollis Dock, east of New Halas.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotSprig(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the halasian reeds for Olga.") + AddQuestStepKill(Quest, 2, "I must kill frozen pincers for Olga's chowder.", 4, 100, "I must kill frozen pincers for Olga. The pincers are at the Erollis Dock in New Halas.", 77, 4700215) + AddQuestStepCompleteAction(Quest, 2, "KilledCrabs") +end + +function KilledCrabs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the frozen pincer meat for Olga.") + AddQuestStepChat(Quest, 3, "I must speak with Olga Macleod near The Stone Hammer.", 1, "I must return the halasian parsley and frozen pincer meat to Olga Macleod. Olga is at the fire next to the mender's workshop, The Stone Hammer, in New Halas.", 0, 4700258) + AddQuestStepCompleteAction(Quest, 3, "TalkedOlga") +end + +function TalkedOlga(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Olga.") + AddQuestStep(Quest, 4, "I must try some of Olga's frozen pincer chowder.", 1, 100, "Olga has taken the ingredients I collected and prepared her recipe for frozen pincer chowder.", 294) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotSprig(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledCrabs(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedOlga(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/geode_caching.lua b/Quests/FrostfangSea/geode_caching.lua new file mode 100644 index 0000000..3a05986 --- /dev/null +++ b/Quests/FrostfangSea/geode_caching.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/geode_caching.lua + Script Purpose : the quest Geode Caching + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Fewer Orcs to Worry About + Followed by : None +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 3) + SetQuestRepeatable(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,99), 0, 0) + AddQuestStep(Quest, 1, "Search the Velinoid Catacombs in hopes of attaining rare cerise velium crystals.", 6, 100, "Hillfred's interest was piqued by the Velinoid Catacombs you found within the caves below Erollis. She believes a place like that could house the rare cerise velium crystal.", 3776) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found quite a few of the rare cerise velium crystals.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have found quite a few of the rare cerise velium crystals.", 1, "You presented Hillfred with all of the rare cerise velium crystals you found.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/green_mystery.lua b/Quests/FrostfangSea/green_mystery.lua new file mode 100644 index 0000000..1bf796f --- /dev/null +++ b/Quests/FrostfangSea/green_mystery.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/green_mystery.lua + Script Purpose : the quest "Green Mystery" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Skulls for the Taking + Followed by : Fewer Orcs to Worry About +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Throw some of the ice upon flames within the Demon's Delve tunnels.", 6, 100, "Hillfred has been holding on to some green ice that was found embedded within The Great Shelf. She is convinced it contains the deadly Green Mist.", 2521) + AddQuestStepCompleteAction(Quest, 1, "UsedIce") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 7928) then + SummonItem(Player, 7928, 1) + end +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 7928) then + RemoveItem(Player, 7928) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedIce(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "The green ice worked!") + UpdateQuestTaskGroupDescription(Quest, 1, "The green ice worked! It killed any Ry'Gorr orc that breathed the billowing cloud of fumes.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch and tell her how the green ice killed any Ry'Gorr orc that breathed the billowing cloud of fumes.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, and tell her how the green ice worked!", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedIce(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/ham_and_beans.lua b/Quests/FrostfangSea/ham_and_beans.lua new file mode 100644 index 0000000..a920a75 --- /dev/null +++ b/Quests/FrostfangSea/ham_and_beans.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/ham_and_beans.lua + Script Purpose : the quest Ham and Beans + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Barker Gordon + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect halasian beans for Barker's meal.", 1, 100, "I must collect halasian beans for Barker. I can find the halasian beans at the shaman hut called Pilgrims' Hearth in southwest New Halas.", 805) + AddQuestStepCompleteAction(Quest, 1, "GotBeans") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_008.mp3", "", "", 3672106737, 3369025535, Player) + AddConversationOption(conversation, "Okay then, I will return with the ham and beans.") + StartConversation(conversation, QuestGiver, Player, "Since you'll be up that way, could you also pick me up some halasian beans? They're at the shaman hut called Pilgrims' Hearth in southwest New Halas.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotBeans(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the halasian beans for Barker.") + AddQuestStepKill(Quest, 2, "I must kill Bentor the Mighty for Barker's meal.", 1, 100, "I must kill Bentor the Mighty for Barker. Bentor the Mighty is in the pen next to the mender's workshop, The Stone Hammer, in New Halas.", 611, 4700251) + AddQuestStepCompleteAction(Quest, 2, "KilledPig") +end + +function KilledPig(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected Bentor the Mighty's meat for Barker.") + AddQuestStepChat(Quest, 3, "I must speak with Barker Gordon at the Erollis Dock.", 1, "I must return the halasian beans and meat from Bentor to Barker Gordon. Barker is at the Erollis Dock in New Halas.", 0, 4700242) + AddQuestStepCompleteAction(Quest, 3, "TalkedBarker") +end + +function TalkedBarker(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Barker.") + AddQuestStep(Quest, 4, "I must try some of Barker's ham and beans.", 1, 100, "Barker has taken the ingredients I collected and prepared his recipe for ham and beans.", 297) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotBeans(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledPig(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedBarker(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/highly_flammable_materials.lua b/Quests/FrostfangSea/highly_flammable_materials.lua new file mode 100644 index 0000000..025900e --- /dev/null +++ b/Quests/FrostfangSea/highly_flammable_materials.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/highly_flammable_materials.lua + Script Purpose : the quest Highly Flammable Materials + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Whirling Ice Time + Followed by : Campside Spores +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Find an item to torch the Ry'Gorr encampments with on Jagged Daggers.", 1, 100, "Find a way to burn down any Ry'Gorr encampments you find on Jagged Daggers.", 2230) + AddQuestStepCompleteAction(Quest, 1, "GotTorch") +end + +function Accpted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_016.mp3", "", "", 1474162446, 1230111187, Player) + AddConversationOption(conversation, "Gladly!") + StartConversation(conversation, QuestGiver, Player, "And if you find any Ry'Gorr encampments, destroy them by any means necessary!") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 47882) then + RemoveItem(Player, 47882) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotTorch(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found a Ry'Gorr firepit torch!") + AddQuestStep(Quest, 2, "Burn down any Ry'Gorr encampments on Jagged Daggers.", 6, 100, "Find a way to burn down any Ry'Gorr encampments you find on Jagged Daggers.", 2572) + AddQuestStepCompleteAction(Quest, 2, "BurnedTents") +end + +function BurnedTents(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You burned down the Ry'Gorr encampments you found on Jagged Daggers!") + AddQuestStepChat(Quest, 3, "Return to Odon Scourgeson at Cragged Spine.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you burned down the Ry'Gorr encampments you found on Jagged Daggers.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 47882) then + RemoveItem(Player, 47882) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotTorch(Quest, QuestGiver, Player) + elseif Step == 2 then + BurnedTents(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/if_i_had_a_hammer.lua b/Quests/FrostfangSea/if_i_had_a_hammer.lua new file mode 100644 index 0000000..ca14ec6 --- /dev/null +++ b/Quests/FrostfangSea/if_i_had_a_hammer.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : Quests/FrostfangSea/if_i_had_a_hammer.lua + Script Purpose : the quest If I Had A Hammer + Script Author : theFoof + Script Date : 2013.5.16 + + Zone : Frostfang Sea + Quest Giver : Bull the Craft + Preceded by : Tutorial: Learning to Harvest + Followed by : +--]] +-- reward is "Handbook of the Ravens of the North", 722 tradeskill xp, +250 Ravens of the North faction and 6-8 silver + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepObtainItem(Quest, 1, "I need to get the recipe from the table.", 1, 100, "Bull the mender has instructed me to get what I'll need for crafting. There is a recipe on the table, sack of coal on the ground, and I'll need some of the tin and lead clusters I harvested earlier.", 0, 32122) + AddQuestStepCompleteAction(Quest, 1, "GotRecipe") +end + +function GotRecipe(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I picked up the recipe, and should examine it in my inventory to scribe it.") + AddQuestStepObtainItem(Quest, 2, "I need to pick up some coal from the sack.", 1, 100, "Bull the mender has instructed me to get what I'll need for crafting. There is a recipe on the table, sack of coal on the ground, and I'll need some of the tin and lead clusters I harvested earlier.", 0, 5771) + AddQuestStepCompleteAction(Quest, 2, "GotCoal") +end + +function GotCoal(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I obtained the supplies I will need.") + AddQuestStepObtainItem(Quest, 3, "I should ensure I have a tin and lead cluster in my bags, then use the mender's anvil to craft.", 1, 100, "I should scribe the recipe book, and ensure I have a lead and tin cluster in my bags. Then click on the anvil in front of the mender to use it. Select the lucky wolf paw recipe and then click 'Create', then 'Begin'.", 0, 163306) + AddQuestStepCompleteAction(Quest, 3, "CraftedPaw") +end + +function CraftedPaw(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I created a Lucky Wolf Paw charm.") + AddQuestStepChat(Quest, 4, "I should return to Bull once again.", 1, "Bull the mender is at the wrecked boat on Pilgrims' Landing. I should let him know that I made the lucky wolf paw charm.", 0, 4700009) + AddQuestStepCompleteAction(Quest, 4, "TalkedBull") +end + +function TalkedBull(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "Bull has suggested that I speak to the tradeskill tutor once I reach Halas to learn more about crafting.") + AddQuestStepChat(Quest, 5, "I should find the tradeskill tutor in the city to learn more about crafting.", 1, "Once I reach Halas, the tradeskill tutor can be found in the crafting area of Ravens' Roost, near the bank and housing.", 0, 4700220) + AddQuestStepCompleteAction(Quest, 5, "CompleteQuest") +end + + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + SendPopUpMessage(Player, "This quest cannot be fully completed yet. Do not report as bug.", 255, 0, 0) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I'll get those items now.") + StartConversation(conversation, QuestGiver, Player, "Pick up a copy of my lucky charm recipe over there beside me, and scribe it into your recipe book. Then grab some coal from the sack. You'll also need one of the tin clusters and lead clusters that you harvested earlier, and make sure you have them with you in your bags.") + AddSpawnAccess(GetSpawn(Player, 4701805), Player) + AddSpawnAccess(GetSpawn(Player, 4701804), Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotRecipe(Quest, QuestGiver, Player) + elseif Step == 2 then + GotCoal(Quest, QuestGiver, Player) + elseif Step == 3 then + CraftedPaw(Quest, QuestGiver, Player) + elseif Step == 4 then + TalkedBull(Quest, QuestGiver, Player) + elseif Step == 5 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/impish_threats.lua b/Quests/FrostfangSea/impish_threats.lua new file mode 100644 index 0000000..c481fbe --- /dev/null +++ b/Quests/FrostfangSea/impish_threats.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/impish_threats.lua + Script Purpose : the quest Impish Threats + Script Author : theFoof + Script Date : 2013.7.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : None + Followed by : Clan of the Cave Imps +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the glacial imps that inhabit the cliff north of Cragged Spine.", 8, 100, "The defenders at Cragged Spine are finding it difficult to face the attacking Ry'Gorr orcs while they are being pestered by imps from behind.", 611, 4700066, 4700065, 4701106) + AddQuestStepCompleteAction(Quest, 1, "KilledImps") +end + +function Accepted(Quest, QuestGiver, Spawn) + FaceTarget(QuestGiver, Spawn) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_015.mp3", "", "", 2593056094, 2652573993, Spawn) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, QuestGiver, Spawn, "As I knew you would! There's no shying away from duty for you. Report back to me when you have completed this mission, " .. GetName(Spawn) .. ".") +end + +function Deleted(Quest, QuestGiver, Spawn) +end + +function Declined(Quest, QuestGiver, Spawn) +end + +function KilledImps(Quest, QuestGiver, Spawn) + UpdateQuestTaskGroupDescription(Quest, 1, "The number of glacial imps has been reduced.") + AddQuestStepChat(Quest, 2, "Return to Knut Orcbane now that the number of glacial imps has been reduced.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that the number of glacial imps has been reduced.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Spawn) + GiveQuestReward(Quest, Spawn) +end + +function Reload(Quest, QuestGiver, Spawn, Step) + if Step == 1 then + KilledImps(Quest, QuestGiver, Spawn) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/kestrel_pot_pie.lua b/Quests/FrostfangSea/kestrel_pot_pie.lua new file mode 100644 index 0000000..4012fe8 --- /dev/null +++ b/Quests/FrostfangSea/kestrel_pot_pie.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/FrostfangSea/kestrel_pot_pie.lua + Script Purpose : the quest Kestrel Pot Pie + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Alice Swamprunner + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must collect ice shrooms for Alice's pie.", 5, 100, "I must collect ice shrooms for Alice. I can find the ice shrooms in the cave leading to the Erollis Dock.", 811) + AddQuestStepCompleteAction(Quest, 1, "GotShrooms") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_006.mp3", "", "", 2612887763, 84831884, Player) + AddConversationOption(conversation, "I shall return to you Alice with the meat and shrooms.") + StartConversation(conversation, QuestGiver, Player, "Great! Return the ingredients to me at your convenience.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + + +function GotShrooms(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the ice shrooms for Alice.") + AddQuestStepKill(Quest, 2, "I must kill downy kestrels for Alice's pie.", 3, 100, "I must kill downy kestrels for Alice. The kestrels are at the south entrance to New Halas.", 80, 4700122) + AddQuestStepCompleteAction(Quest, 2, "KilledBirds") +end + +function KilledBirds(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the downy kestrel meat for Alice.") + AddQuestStepChat(Quest, 3, "I must speak with Alice Swamprunner in Ravens' Roost.", 1, "I must return the ice shrooms and downy kestrel meat to Alice Swamprunner. Alice is at the restaurant in Ravens' Roost in New Halas.", 0, 4700230) + AddQuestStepCompleteAction(Quest, 3, "TalkedAlice") +end + +function TalkedAlice(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Alice.") + AddQuestStep(Quest, 4, "I must try some of Alice's kestrel pot pie.", 1, 100, "Alice has taken the ingredients I collected and prepared her recipe for kestrel pot pie.", 2558) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotShrooms(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledBirds(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedAlice(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/little_lost_froglok.lua b/Quests/FrostfangSea/little_lost_froglok.lua new file mode 100644 index 0000000..775ac2a --- /dev/null +++ b/Quests/FrostfangSea/little_lost_froglok.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : Quests/FrostfangSea/an_unbearable_problem.lua + Script Purpose : the quest An Unbearable Problem + Script Author : theFoof + Script Date : 2013.5.21 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quaqmarr + Preceded by : An Unbearable Problem + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_029.mp3", "", "", 1372379832, 3108068275, Player) + AddConversationOption(conversation, "I will return once I have news for you.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. "! Please hurry!") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + if GetTempVariable(Player, "splorp") ~= nil then + Despawn(GetTempVariable(Player, "splorp")) + SetTempVariable(Player, "splorp", nil) + end +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStepChat(Quest, 1, "I must speak with Sigbrith MacInnes. Sigbrith MacInnes is the mender for Gwenevyn's Cove.", 1, "I must ask Sigbrith MacInnes if she has seen Splorpy.", 0, 4700046) + AddQuestStepCompleteAction(Quest, 1, "TalkedSibrith") +end + +function TalkedSibrith(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "Sigbrith MacInnes informed me that I should search for Splorpy southwest of Gwenevyn's Cove.") + AddQuestStepChat(Quest, 2, "I must find Splorpy Quagmarr.", 1, "I should search for Splorpy. He was last seen southwest of Gwenevyn's Cove, past the blizzard grizzlies.", 0, 4700044) + AddQuestStepCompleteAction(Quest, 2, "FoundSplorpy") +end + +function FoundSplorpy(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have found Splorpy and should return him to his father in Gwenevyn's Cove.") + AddQuestStepChat(Quest, 3, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I must return Splorpy to his father Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedSibrith(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundSplorpy(Quest, QuestGiver, Player) + elseif Step == 3 then + FoundSplorpy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/loosening_their_grip.lua b/Quests/FrostfangSea/loosening_their_grip.lua new file mode 100644 index 0000000..6972940 --- /dev/null +++ b/Quests/FrostfangSea/loosening_their_grip.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/loosening_their_grip.lua + Script Purpose : the quest Loosening Their Grip + Script Author : theFoof + Script Date : 2013.6.4 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : None + Followed by : The Charge +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must cut the lines of the spears.", 5, 100, "I must cut the lines of the spears thrust into the two ice jetties below Herga's Choke and Pride Overlook.", 287) + AddQuestStepCompleteAction(Quest, 1, "CutLines") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga010.mp3", "", "", 1073162923, 3013834754, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "I'll take care of them. Someone has to.") + StartConversation(conversation, QuestGiver, Player, "Remove the claws of the Ry'Gorr, " .. GetName(Player) .. ". Loosen their grip upon our land.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CutLines(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CutLines(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua b/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua new file mode 100644 index 0000000..d17d8e8 --- /dev/null +++ b/Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/FrostfangSea/mystery_on_the_orc_iceberg.lua + Script Purpose : the quest Mystery on the Orc Iceberg + Script Author : theFoof + Script Date : 2013.7.23 + Script Notes : + + Zone : Frostfang Sea + QuestGiver : Knut Orcbane + Preceded by : Clan of the Cave Imps + Followed by : Becoming Another Orcbane +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Obtain any clues as to what the Ry'Gorr orcs are scheming on the small iceberg.", 4, 100, "Investigate what the Ry'Gorr orcs are doing on the small iceberg south of Jagged Daggers Isle.", 1668) + AddQuestStepKill(Quest, 2, "Dispose of any Ry'Gorr orcs you happen to find on the iceberg.", 3, 100, "Investigate what the Ry'Gorr orcs are doing on the small iceberg south of Jagged Daggers Isle.", 611, 4700120, 4700543, 4700538, 4700119, 4700121, 4700542) + AddQuestStepCompleteAction(Quest, 1, "FoundClues") + AddQuestStepCompleteAction(Quest, 2, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "knut_orcbane/halas/cragged_spine/knut_orcbane_033.mp3", "", "", 4051446009, 1752564808, Player) + AddConversationOption(conversation, "Gladly!") + StartConversation(conversation, QuestGiver, Player, "I knew my confidence was not misplaced in you! Go over to the iceberg and see what you can find out. Kill any Ry'Gorr you encounter, but more importantly, see what items you can find that may tell us what they are up to.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundClues(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found Ry'Gorr pickaxes stashed on the small iceberg.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You've slain enough orcs.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 80, 1) and QuestStepIsComplete(Player, 80, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found Ry'Gorr pickaxes stashed on the small iceberg and dealt with several orcs, along the way.") + AddQuestStepChat(Quest, 3, "Return to Knut Orcbane and tell him of the Ry'Gorr pickaxes stashed on the small iceberg.", 1, "You should return to Knut Orcbane, at Cragged Spine, and tell him of the Ry'Gorr pickaxes stashed on the small iceberg.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 80, 1) then + FoundClues(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 80, 2) then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/nap_time_for_evigis.lua b/Quests/FrostfangSea/nap_time_for_evigis.lua new file mode 100644 index 0000000..3a54111 --- /dev/null +++ b/Quests/FrostfangSea/nap_time_for_evigis.lua @@ -0,0 +1,58 @@ +--[[ + Script Name : Quests/FrostfangSea/nap_time_for_evigis.lua + Script Purpose : for the quest "Nap Time for Evigis" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Torli Blackbow + Preceded by : Seeking Elemental Education + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(71,86), math.random(0,1), 0) + AddQuestStep(Quest, 1, "Reduce Evigis the Ancient's health and then cast Gerla's Elemental Lullaby upon it", 1, 100, "Return to the Velinoid Catacombs to face Evigis the Ancient with Gerla's Elemental Lullaby.", 3774) + AddQuestStepCompleteAction(Quest, 1, "KilledEvigis") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 46463) then + SummonItem(Player, 46463) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_013.mp3", "", "", 280356547, 1472834780, Player) + AddConversationOption(conversation, "I will not fail.") + StartConversation(conversation, QuestGiver, Player, "I never doubted ye for a moment, " .. GetName(Player) .. "! Take this and go with Brell's blessings upon ye!") +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 46463) then + RemoveItem(Player, 46463) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledEvigis(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You returned Evigis to his slumber!") + AddQuestStepChat(Quest, 2, "Return to Torli Blackbow at the White Lodge.", 1, "You should return to Torli Blackbow at the White Lodge, the guard house for New Halas.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + if HasItem(Player, 46463) then + RemoveItem(Player, 46463) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledEvigis(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/no_substitute_for_shard_work.lua b/Quests/FrostfangSea/no_substitute_for_shard_work.lua new file mode 100644 index 0000000..94c9172 --- /dev/null +++ b/Quests/FrostfangSea/no_substitute_for_shard_work.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/no_substitute_for_shard_work.lua + Script Purpose : for the quest "No Substitute for Shard Work" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Pouring One Out for My Skellies + Followed by : Tackling the Basilisks +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must collect several velium shards.", 5, 100, "I must collect several velium shards. The velium shards litter the battlefield of the Great Shelf.", 1085) + AddQuestStepCompleteAction(Quest, 1, "GotShards") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "Brell's blessing to you, as well.") + AddConversationOption(conversation, "Farewell.") + StartConversation(conversation, QuestGiver, Player, "There'll be reward and gratitude waiting fer ye when ye return. Brell's blessing.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotShards(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the velium shards.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotShards(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/nothing_to_waste.lua b/Quests/FrostfangSea/nothing_to_waste.lua new file mode 100644 index 0000000..32ece7b --- /dev/null +++ b/Quests/FrostfangSea/nothing_to_waste.lua @@ -0,0 +1,98 @@ +--[[ + Script Name : Quests/FrostfangSea/nothing_to_waste.lua + Script Purpose : for the quest Nothing to Waste + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : None + Followed by : Roughing Up The Reinforcements +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepObtainItem(Quest, 1, "I must collect some Ry'Gorr Invader helmets.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1541, 11818) + AddQuestStepObtainItem(Quest, 2, "I must collect some Ry'Gorr Invader chestguards.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1537, 11817) + AddQuestStepObtainItem(Quest, 3, "I must collect some Ry'Gorr Invader warhammers.", 3, 100, "I must collect Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.", 1658, 11824) + AddQuestStepCompleteAction(Quest, 1, "GotHelmets") + AddQuestStepCompleteAction(Quest, 2, "GotChestguards") + AddQuestStepCompleteAction(Quest, 3, "GotHammers") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver007.mp3", "", "", 3327550252, 85419352, Player) + AddConversationOption(conversation, "Did you say useless?") + StartConversation(conversation, QuestGiver, Player, "Good. The orcs are attacking from the south beach, so seek them out there. Do some good around here and I may think of you as more than useless.") +end + +function Deleted(Quest, QuestGiver, Player) + while HasItem(Player, 11818) do + RemoveItem(Player, 11818) + end + while HasItem(Player, 11817) do + RemoveItem(Player, 11817) + end + while HasItem(Player, 11824) do + RemoveItem(Player, 11824) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotHelmets(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have collected some Ry'Gorr Invader helmets.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotChestguards(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have collected some Ry'Gorr Invader chestguards.") + CheckProgress(Quest, QuestGiver, Player) +end + +function GotHammers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have collected some Ry'Gorr Invader warhammers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 56, 1) and QuestStepIsComplete(Player, 56, 2) and QuestStepIsComplete(Player, 56, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected Ry'Gorr helmets, chestguards, and warhammers from the Ry'Gorr Invaders.") + AddQuestStepChat(Quest, 4, "I must speak with Thirin Veliumdelver.", 1, "With the items collected, I should return them to Thirin Veliumdelver at the Cragged Spine.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + while HasItem(Player, 11818) do + RemoveItem(Player, 11818) + end + while HasItem(Player, 11817) do + RemoveItem(Player, 11817) + end + while HasItem(Player, 11824) do + RemoveItem(Player, 11824) + end + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 56, 1) then + GotHelmets(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 56, 2) then + GotChestguards(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 56, 3) then + GotHammers(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/off_to_the_ossuary.lua b/Quests/FrostfangSea/off_to_the_ossuary.lua new file mode 100644 index 0000000..e868a1e --- /dev/null +++ b/Quests/FrostfangSea/off_to_the_ossuary.lua @@ -0,0 +1,74 @@ +--[[ + Script Name : Quests/FrostfangSea/off_to_the_ossuary.lua + Script Purpose : the quest Off to the Ossuary + Script Author : theFoof + Script Date : 2013.6.17 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : The Gauntlet + Followed by : Severing the Head +--]] + +function Init(Quest) + UpdateQuestZone(Quest, "Cave of Illboding Dark") + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill the Ry'Gorr reanimators in the Cave of Illboding Dark.", 2, 100, "I must find the cave on the Forbidden Ossuary of Ice and hunt down the reanimators within. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5160006) + AddQuestStepKill(Quest, 2, "I must kill the Ry'Gorr lackeys in the Cave of Illboding Dark.", 4, 100, "I must find the cave on the Forbidden Ossuary of Ice and hunt down the reanimators within. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5160005) + AddQuestStepCompleteAction(Quest, 1, "KilledRean") + AddQuestStepCompleteAction(Quest, 2, "KilledLackey") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard085.mp3", "", "", 2080430397, 2045091210, Player) + AddConversationOption(conversation, "I'll deliver my own brand of personal justice.") + AddConversationOption(conversation, "I will slip in unseen and have a look around.") + AddConversationOption(conversation, "You can count on me, Dolur.") + StartConversation(conversation, QuestGiver, Player, "We call the floating isle the Forbidden Ossuary of Ice. Search for the cavern entrance there, and then have a look inside for the necromancers. If ye find any, give them the sharp side of an axe for me.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledRean(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed the Ry'Gorr reanimators.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledLackey(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed the Ry'Gorr lackeys.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 71, 1) and QuestStepIsComplete(Player, 71, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestZone(Quest, "Frostfang Sea") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several reanimators and their lackeys in the Cave of Illboding Dark.") + AddQuestStepChat(Quest, 3, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 71, 1) then + KilledRean(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 71, 2) then + KilledLackey(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/pelted.lua b/Quests/FrostfangSea/pelted.lua new file mode 100644 index 0000000..c9a29c4 --- /dev/null +++ b/Quests/FrostfangSea/pelted.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/pelted.lua + Script Purpose : for the quest "Pelted" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Bartering Crystals + Followed by : To The Great Shelf! +--]] + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must kill icemane cubs for their pelts. I can find the cubs in the Icemane Caves south of Gwenevyn's Cove.", 6, 100, "I must kill icemane cubs.", 122, 4700060, 4700481) + AddQuestStepCompleteAction(Quest, 1, "GotPelts") + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_052.mp3", "", "", 1207372169, 2214842448, Player) + AddConversationOption(conversation, "I will return once I have the pelts for you.") + StartConversation(conversation, QuestGiver, Player, "Thank you, " .. GetName(Player) .. ". May Mithaniel light your way!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotPelts(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed the icemane cubs.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I should return the icemane cub pelts to Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPelts(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/perfectly_missing.lua b/Quests/FrostfangSea/perfectly_missing.lua new file mode 100644 index 0000000..5e617ae --- /dev/null +++ b/Quests/FrostfangSea/perfectly_missing.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/perfectly_missing.lua + Script Purpose : the quest Perfectly Missing + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Disarming the Ry'Gorr + Followed by : The Last Ingredient +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must harvest the perfect ice slurry core.", 1, 50, "I must harvest a perfect ice slurry core from the ice slurries on the hill south of the Great Shelf.", 1174, 4700101) + AddQuestStepCompleteAction(Quest, 1, "GotCore") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 1741611934, 1901038615, Player) + AddConversationOption(conversation, "I shall return as soon as I find the perfect core.") + StartConversation(conversation, QuestGiver, Player, "You can find the ice slurries on the hill south of the Great Shelf. Please hurry. The sooner you return with the core, the sooner I can perfect the spell to protect the pilgrims.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCore(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested a perfect ice slurry core from the ice slurries.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return the perfect ice slurry core to Blorpisa Bogchild in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Blorpisa thanked me for harvesting the perfect ice slurry core.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCore(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/pilgrim_pathfinder.lua b/Quests/FrostfangSea/pilgrim_pathfinder.lua new file mode 100644 index 0000000..6f5c29a --- /dev/null +++ b/Quests/FrostfangSea/pilgrim_pathfinder.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_pathfinder.lua + Script Purpose : the quest Pilgrim Pathfinder + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Sifting Through the Grizzly Garbage + Followed by : Pilgrim Scout +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,90), math.random(2,5), 0, 0) + AddQuestStepLocation(Quest, 1, "Hike to the top of the blizzard grizzly cave.", 15, "From the top of the blizzard grizzly cave you should be able to find the best path to the city of New Halas.", 0, 166.79, 65.23, -470.68) + AddQuestStepCompleteAction(Quest, 1, "HikedTop") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function HikedTop(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "There seems to be a path leading into the hills. Perhaps by taking it you can avoid the dangerous plains below?") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh and tell him of the path leading into the hills above the dangerous plains.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, and tell him of the path leading into the hills above the dangerous plains.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + HikedTop(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/pilgrim_pelts.lua b/Quests/FrostfangSea/pilgrim_pelts.lua new file mode 100644 index 0000000..64469dc --- /dev/null +++ b/Quests/FrostfangSea/pilgrim_pelts.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_pelts.lua + Script Purpose : the quest Pilgrim Pelts + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Scout + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_023.mp3", "", "", 4231608247, 3609708675, Player) + AddConversationOption(conversation, "I'm glad to help.") + StartConversation(conversation, QuestGiver, Player, "Thank you, brave " .. GetName(Player) .. ". I thank the gods that you arrived here when you did.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,80), math.random(13,20), 0, 0) + AddQuestStepKill(Quest, 1, "Slay any of the big icemane felines you find upon the dangerous Icemane Plains.", 6, 100, "The froglok pilgrims were not blessed by Marr with much protection from the elements. Verien fears they may die due to exposure during the trip.", 126, 4700072, 4700070, 4700074) + AddQuestStepCompleteAction(Quest, 1, "KilledCats") +end + +function KilledCats(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have slain many icemane felines for their pelts.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh with the icemane pelts you obtained.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, with the icemane pelts you obtained.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledCats(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/pilgrim_scout.lua b/Quests/FrostfangSea/pilgrim_scout.lua new file mode 100644 index 0000000..e831756 --- /dev/null +++ b/Quests/FrostfangSea/pilgrim_scout.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/pilgrim_scout.lua + Script Purpose : the quest Pilgrim Scout + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Pathfinder + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_015.mp3", "", "", 1474870749, 1583499766, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "Forgive me if you think I'm being timid, but I am leery about walking into a trap or into a treacherous situation.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(5,10), 0, 0) + AddQuestStepLocation(Quest, 1, "Follow the path that travels west from the pilgrims' camp, keeping the wall of ice and stone on your left, as far as you can.", 10, "Scout ahead of the pilgrims and confirm that the path you spotted from atop the blizzard grizzly den is indeed traversable.", 0, 300, 53.22, -260.45) + AddQuestStepCompleteAction(Quest, 1, "CheckedPath") +end + +function CheckedPath(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "The path is a dead end! An avalanche of ice and stone blocks your way.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh and inform him that the path leads nowhere.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, and tell him the unfortunate news.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CheckedPath(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua b/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua new file mode 100644 index 0000000..732004f --- /dev/null +++ b/Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : Quests/FrostfangSea/pouring_one_out_for_my_skellies.lua + Script Purpose : for the quest "Pouring One Out for My Skellies" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : 'Tis Most Unnatural + Followed by : No Substitute for Shard Work +--]] + +function Init(Quest) + AddQuestStep(Quest, 1, "I must pour Fronden's Finest on several Ry'Gorr bone piles.", 5, 100, "I must pour Fronden's Finest on several Ry'Gorr bone piles. The bone piles litter the battlefield of the Great Shelf.", 2209) + AddQuestStepCompleteAction(Quest, 1, "PouredAle") + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 46438) then + SummonItem(Player, 46438, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "We'll find out. Wish me luck.") + AddConversationOption(conversation, "I wasn't expecting it to be easy.") + StartConversation(conversation, QuestGiver, Player, "I can't imagine a skeleton will hold still long enough to let ye splash them, so ye'll want to pour this on the bone piles of the recently re-deceased.") +end + +function Deleted(Quest, QuestGiver, Player) + RemoveItem(Player, 46438) +end + +function Declined(Quest, QuestGiver, Player) +end + +function PouredAle(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have successfully destroyed the Ry'Gorr bone piles.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1 ,"I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + RemoveItem(Player, 46438) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + PouredAle(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/reclaiming_their_honor.lua b/Quests/FrostfangSea/reclaiming_their_honor.lua new file mode 100644 index 0000000..942c845 --- /dev/null +++ b/Quests/FrostfangSea/reclaiming_their_honor.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/reclaiming_their_honor.lua + Script Purpose : for the quest "Reclaiming Their Honor" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Displaced and Discouraged + Followed by : 'Tis Most Unnatural +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must reclaim several coldain signet rings from the Ry'Gorr raiders.", 8, 80, "I must reclaim several coldain signet rings from the Ry'Gorr raiders. The raiders can be found on the jetties of ice below Pride Overlook and Herga's Choke, or on Ry'Gorr Isle.", 592, 4701108, 4700868) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I look forward to punishing the orcs.") + AddConversationOption(conversation, "I will return.") + StartConversation(conversation, QuestGiver, Player, "I look forward to your return. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reclaimed several coldain signet rings.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/repelling_little_critters.lua b/Quests/FrostfangSea/repelling_little_critters.lua new file mode 100644 index 0000000..6a9c1ef --- /dev/null +++ b/Quests/FrostfangSea/repelling_little_critters.lua @@ -0,0 +1,70 @@ +--[[ + Script Name : Quests/FrostfangSea/repelling_little_critters.lua + Script Purpose : the quest Repelling Little Critters + Script Author : theFoof + Script Date : 2013.5.12 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Crustose Removal + Followed by : Scraggly Foodstuffs +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(30,60), math.random(0,2), 0, 0) + AddQuestStep(Quest, 1, "Test the new repellent on crustose sporetenders.", 6, 100, "I should test the new repllent in my inventory on the crustose sporetenders wandering amongst the lichen covered stones.", 811) + AddQuestStepCompleteAction(Quest, 1, "SprayedRepellent") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 45806, 1) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + if HasItem(Player, 45806) then + RemoveItem(Player, 45806) + elseif HasItem(Player, 45805) then + RemoveItem(Player, 45805) + end +end + +function SprayedRepellent(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have tested a new repellent on the crustone sporetenders wandering amongst the lichen covered stones") + AddQuestStepChat(Quest, 2, "Return to Arrin Clelland", 1, "I should return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 2, "TalkedArrin") +end + +function TalkedArrin(Quest, QuestGiver, Player) + if HasItem(Player, 45806) then + RemoveItem(Player, 45806) + end + SummonItem(Player, 45805, 1) + UpdateQuestTaskGroupDescription(Quest, 2, "I have returned to Arrin Clelland in Pilgrims' Landing.") + AddQuestStep(Quest, 3, "Apply the crustose repellent to the barrels of provisions.", 1, 100, "The provisions found under the protection of the other half of the ancient ship wreck in the northern section of Pilgrims' Landing are overrun by crustose.", 2285) + AddQuestStepCompleteAction(Quest, 3, "RepelledFood") +end + +function RepelledFood(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "The crustose were sent running away from the barrles of provisions!") + AddQuestStepChat(Quest, 4, "Return to Arrin Clelland", 1, "I am to return to Arrin Clelland in Pilgrims' Landing.", 0, 4700000) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SprayedRepellent(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedArrin(Quest, QuestGiver, Player) + elseif Step == 3 then + RepelledFood(Quest, QuestGiver, Player) + elseif Step == 4 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/report_to_cragged_spine.lua b/Quests/FrostfangSea/report_to_cragged_spine.lua new file mode 100644 index 0000000..4604628 --- /dev/null +++ b/Quests/FrostfangSea/report_to_cragged_spine.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Quests/FrostfangSea/report_to_cragged_spine.lua + Script Purpose : for the quest "Report to Cragged Spine" + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Domestication is the New Survivalism + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepChat(Quest, 1, "I must report to Tad Ironstein at the Cragged Spine.", 1, "I must report to Tad Ironstein at the Cragged Spine outpost. The Cragged Spine is south of the Great Shelf, past the frostbiter basilisks.", 0, 4700106) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "And with you. Farewell!") + AddConversationOption(conversation, "On to bigger and better things.") + StartConversation(conversation, QuestGiver, Player, "Yer actions have given us all hope out here, " .. GetName(Player) .. ", and ye've personally rescued me from the depths of despair. We will miss having ye around. Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end \ No newline at end of file diff --git a/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua b/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua new file mode 100644 index 0000000..5f71c39 --- /dev/null +++ b/Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Quests/FrostfangSea/ride_upon_the_gwenevyn_II.lua + Script Purpose : the quest Ride Upon the Gwenevun II + Script Author : theFoof + Script Date : 2013.5.14 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : Boatload of Work + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,70), math.random(0,1), 0, 0) + AddQuestStepChat(Quest, 1, "Report to Wregan Firebeard.", 1, "I am to report to Wregan Firebeard at Gwenevyn's Cove.", 0, 4700035) + AddQuestStepCompleteAction(Quest, 1, "CompletedQuest") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function CompletedQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Quests/FrostfangSea/roughing_up_the_reinforcements.lua b/Quests/FrostfangSea/roughing_up_the_reinforcements.lua new file mode 100644 index 0000000..3ce8ce7 --- /dev/null +++ b/Quests/FrostfangSea/roughing_up_the_reinforcements.lua @@ -0,0 +1,100 @@ +--[[ + Script Name : Quests/FrostfangSea/roughing_up_the_reinforcements.lua + Script Purpose : for the quest Roughing Up the Reinforcements + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Nothing to Waste + Followed by : Through Thine Eyes +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,24), 0, 0) + AddQuestStepKill(Quest, 1, "I must slay four Ry'Gorr grenadiers.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 2488, 4700120, 4700543) + AddQuestStepKill(Quest, 2, "I must slay four Ry'Gorr infiltrators.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 2488, 4700119, 4700538) + AddQuestStep(Quest, 3, "I must destroy four of the Ry'Gorr orcs' weapon supplies.", 4, 100, "I must travel to the Jagged Daggers Isle and engage the Ry'Gorr orcs. While there I should also destroy as many weapon supplies as I can find.", 287) + AddQuestStepCompleteAction(Quest, 1, "KilledGrenadiers") + AddQuestStepCompleteAction(Quest, 2, "KilledInfiltrators") + AddQuestStepCompleteAction(Quest, 3, "DestroyedSpears") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver012.mp3", "", "", 830312044, 2813539587, Player) + AddConversationOption(conversation, "And you, Thirin.") + StartConversation(conversation, QuestGiver, Player, "Good. Brell be with you on your quest, adventurer.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledGrenadiers(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have slain four Ry'Gorr grenadiers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledInfiltrators(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have slain four Ry'Gorr infiltrators.") + CheckProgress(Quest, QuestGiver, Player) +end + +function DestroyedSpears(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have destroyed the Ry'Gorr orcs' weapon supplies.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 57, 1) and QuestStepIsComplete(Player, 57, 2) and QuestStepIsComplete(Player, 57, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "With so many Ry'Gorr weapons and orcs destroyed, re-enforcement will be hard.") + AddQuestStepKill(Quest, 4, "Thirin requested that I slay a war shaman as well, to prevent their scrying magics.", 1, 100, "I should slay a Ry'Gorr war shaman so the Ry'Gorr will be unable to scry Thirin's encampment.", 2488, 4700542, 4700121) + AddQuestStepCompleteAction(Quest, 4, "KilledShaman") +end + +function KilledShaman(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "The Ry'Gorr war shaman, now slain, may have something useful on them.") + AddQuestStepObtainItem(Quest, 5, "I should see what the Ry'Gorr war shaman has. There may be something of use.", 1, 100, "I should slay a Ry'Gorr war shaman so the Ry'Gorr will be unable to scry Thirin's encampment.", 83, 11820) + AddQuestStepCompleteAction(Quest, 5, "GotEye") +end + +function GotEye(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "It appears to the war shaman has some sort of Orcish scrying eye. I should show this to Thirin Veliumdelver at the Cragged Spine.") + UpdateQuestTaskGroupDescription(Quest, 2, "I found an odd Orcish scrying eye. Thirin would be interested in this.") + AddQuestStepChat(Quest, 6, "I must speak with Thirin Veliumdelver.", 1, "I should return to Thirin Veliumdelver, with the Orcish scrying eye, at the Cragged Spine.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 6, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 57, 1) and GetQuestStep(Player, 57) < 4 then + KilledGrenadiers(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 57, 2) and GetQuestStep(Player, 57) < 4 then + KilledInfiltrators(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 57, 3) and GetQuestStep(Player, 57) < 4 then + DestroyedSpears(Quest, QuestGiver, Player) + end + if GetQuestStep(Player, 57) == 4 then + AddStep4(Quest, QuestGiver, Player) + elseif Step == 4 then + KilledShaman(Quest, QuestGiver, Player) + elseif Step == 5 then + GotEye(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/rygorr_mining_operations.lua b/Quests/FrostfangSea/rygorr_mining_operations.lua new file mode 100644 index 0000000..8686166 --- /dev/null +++ b/Quests/FrostfangSea/rygorr_mining_operations.lua @@ -0,0 +1,63 @@ +--[[ + Script Name : Quests/FrostfangSea/rygorr_mining_operations.lua + Script Purpose : for the quest "Ry'Gorr Mining Operations' + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Below The Frozen Waves + Followed by : A Good Distraction +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "I should look for an exploding barrel and set it in front of the hastily made wall.", 1, 100, "I should look around for a Ry'Gorr Explosive Mining Barrel and use it on the wall I discovered.", 0) + AddQuestStepCompleteAction(Quest, 1, "DestroyedWall") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave005.mp3", "", "", 3687695451, 727081902, Player) + AddConversationOption(conversation, "I won't, Thirin.") + StartConversation(conversation, QuestGiver, Player, "I'll be expecting a good show, adventurer. Don't let me down.") +end + +function Deleted(Quest, QuestGiver, Player) + local zone = GetZone(Player) + if GetZoneID(zone) == 470 then + AddSpawnAccess(GetSpawnByLocationID(zone, 441164), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 571511), Player) + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function DestroyedWall(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I was able to destroy the wall.") + AddQuestStepLocation(Quest, 2, "With the wall destroyed I should investigate what is on the other side.", 10, "I should look around for a Ry'Gorr Explosive Mining Barrel and use it on the wall I discovered.", 0, -44.05, -67.39, 141.07) + AddQuestStepCompleteAction(Quest, 2, "FoundCreatures") +end + +function FoundCreatures(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have discovered velium creatures that appear to have slain a number of Ry'Gorr orcs. I should report what I've found to Thirin Veliumdelver.") + UpdateQuestTaskGroupDescription(Quest, 1, "I was able to destroy the wall and discovered creatures that appear to be made from velium.") + AddQuestStepChat(Quest, 3, "I should speak with Thirin Veliumdelver of the creatures I've found.", 1, "I should return to Thirin Veliumdelver and tell him of the velium creatures I found beyond the cave-in.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DestroyedWall(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundCreatures(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/rygorr_tool_taking.lua b/Quests/FrostfangSea/rygorr_tool_taking.lua new file mode 100644 index 0000000..eab2605 --- /dev/null +++ b/Quests/FrostfangSea/rygorr_tool_taking.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/rygorr_tool_taking.lua + Script Purpose : the quest Ry'Gorr Tool Taking + Script Author : theFoof + Script Date : 2013.7.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : Campside Spores + Followed by : Watch Out Below! +--]] + + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "Obtain the Ry'Gorr digging tools from within the Demon's Delve tunnels.", 6, 100, "Return to the Demon's Delve tunnels below Erollis in search of the magically imbued tools.", 1668) + AddQuestStepCompleteAction(Quest, 1, "GotPicks") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotPicks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You've stolen enough of the Ry'Gorr digging tools.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you've stolen enough of the Ry'Gorr digging tools.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you've stolen enough of the magically imbued Ry'Gorr digging tools.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPicks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/scraggly_foodstuffs.lua b/Quests/FrostfangSea/scraggly_foodstuffs.lua new file mode 100644 index 0000000..f7d130a --- /dev/null +++ b/Quests/FrostfangSea/scraggly_foodstuffs.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/scraggly_foodstuffs.lua + Script Purpose : the quest "Scraggly Foodstuffs" + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Frostfang Sea + Quest Giver : Arrin Clelland + Preceded by : Repelling Little Critters + Followed by : Frigid Fishing +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(20,90), math.random(2,3), 0, 0) + AddQuestStep(Quest, 1, "Gather some tubers from the scraggly shrubs.", 3, 100, "I must gather some scraggly tubers on the windy cliffs overlooking the sea, on the northern side of Pilgrims' Landing.", 2313) + AddQuestStepCompleteAction(Quest, 1, "GatheredTubers") +end + +function GatheredTubers(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have gathered some tubers from the scraggly shrubs growing on the northeast side of Pilgrims' Landing.") + AddQuestStepChat(Quest, 2, "Return the scraggly tubers to Arrin.", 1, " I am to return the tubers to Arrin Clelland, Camp Provisioner, in Pilgrims' Landing.", 2313, 4700000) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GatheredTubers(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/seeking_elemental_education.lua b/Quests/FrostfangSea/seeking_elemental_education.lua new file mode 100644 index 0000000..4435267 --- /dev/null +++ b/Quests/FrostfangSea/seeking_elemental_education.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : Quests/FrostfangSea/seeking_elemental_education.lua + Script Purpose : for the quest "Seeking Elemental Education" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Sleetfoot Search Party + Followed by : Nap Time for Evigis +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStepChat(Quest, 1, "Speak with Torli Blackbow at the White Lodge, the guard house for New Halas.", 1, "Thirin Veliumdelver has sent you within New Halas to alert others of Evigis the Ancient.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 1, "TalkedTorli") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave018.mp3", "", "", 706555413, 2480131387, Player) + AddConversationOption(conversation, "I will do this, for Ordin.", "ExtraChat") + AddConversationOption(conversation, "I am sorry, but this is too much right now.") + StartConversation(conversation, QuestGiver, Player, GetName(Player) .. ". That is a good name. My friend, I ask one more favor. I need you to deliver the news of this creature to Torli Blackbow. I need to be with my men or I would go myself. You can find her East of the Cragged Spine, in the White Lodge. She is an old friend and will know how to handle this creature.") +end + +function ExtraChat(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave019.mp3", "", "", 1580967348, 3299722606, Player) + AddConversationOption(conversation, "You too, Thirin. You too.") + StartConversation(conversation, QuestGiver, Player, "Thank you, my friend. Brell be with you, always.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedTorli(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You spoke with Torli Blackbow.") + AddQuestStepChat(Quest, 2, "Speak with Gerla Meltwater at Glacierbane's Vault, in New Halas.", 1, "Thirin Veliumdelver has sent you within New Halas to alert others of Evigis the Ancient.", 0, 4700183) + AddQuestStepCompleteAction(Quest, 2, "TalkedGerla") +end + +function TalkedGerla(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "You spoke with Torli Blackbow.") + UpdateQuestTaskGroupDescription(Quest, 1, "Gerla Meltwater knew quite a bit about Evigis the Ancient!") + AddQuestStepChat(Quest, 3, "Deliver Gerla's satchel to Torli Blackbow.", 1, "You should return to Torli Blackbow at the White Lodge, the guard house for New Halas.", 0, 4700137) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedTorli(Quest, QuestGiver, Player) + elseif Step == 2 then + TalkedGerla(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/severing_the_head.lua b/Quests/FrostfangSea/severing_the_head.lua new file mode 100644 index 0000000..5050d4e --- /dev/null +++ b/Quests/FrostfangSea/severing_the_head.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : Quests/FrostfangSea/severing_the_head.lua + Script Purpose : the quest "Severing the Head" + Script Author : theFoof + Script Date : 2013.6.17 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Off to the Ossuary + Followed by : The Nightmare is Over +--]] + +function Init(Quest) + UpdateQuestZone(Quest, "Cave of Illboding Dark: The Source") + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill Orug Deathmaker in the Cave of Illboding.", 1, 100, "I must return to the Cave of Illboding on the Ossuary of Ice, defeat the head necromancer, Orug Deathmaker, and shatter the dark crystal. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 611, 5170003) + AddQuestStepCompleteAction(Quest, 1, "KilledOrc") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard098.mp3", "", "", 2381129063, 239921883, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "The orcs will need the luck more than I will.") + StartConversation(conversation, QuestGiver, Player, "Best of luck to ye, " .. GetName(Player) .. ".") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrc(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed Orug Deathmaker.") + AddQuestStep(Quest, 2, "I must smash the dark crystal.", 1, 100, "I must return to the Cave of Illboding on the Ossuary of Ice, defeat the head necromancer, Orug Deathmaker, and shatter the dark crystal. The Ossuary is an island off the coast of Erollis, to the south of Ry'Gorr Isle.", 3528) + AddQuestStepCompleteAction(Quest, 2, "SmashedCrystal") +end + +function SmashedCrystal(Quest, QuestGiver, Player) + UpdateQuestZone(Quest, "Frostfang Sea") + UpdateQuestStepDescription(Quest, 2, "I have smashed the dark crystal.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed Orug Deathmaker and shattered the dark crystal.") + AddQuestStepChat(Quest, 3, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrc(Quest, QuestGiver, Player) + elseif Step == 2 then + SmashedCrystal(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua b/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua new file mode 100644 index 0000000..a73486a --- /dev/null +++ b/Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Quests/FrostfangSea/sifting_through_the_grizzly_garbage.lua + Script Purpose : the quest Sifting Through the Grizzly Garbage + Script Author : theFoof + Script Date : 2013.5.19 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Beets the Alternative + Followed by : +--]] + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(2,5), 0, 0) + AddQuestStep(Quest, 1, "Search for any sign of the orcs within the blizzard grizzly den.", 3, 100, "Search for any sign of the orcs within the blizzard grizzly den north west of the pilgrims' camp in Gwenevyn's Cove.", 2359) + AddQuestStepCompleteAction(Quest, 1, "Searched") +end + +function Searched(Quest, QuestGiver, Player) + RemoveSpawnAccess(GetSpawn(QuestGiver, 4701834), Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You found no sign of the orcs within the blizzard grizzly den.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh at the pilgrims' camp. You told Verien how there was no sign of the orcs within the blizzard grizzly cave.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, even though you haven't been able to find any sign of the orcs.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + Searched(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/skulls_for_the_taking.lua b/Quests/FrostfangSea/skulls_for_the_taking.lua new file mode 100644 index 0000000..46f0c5d --- /dev/null +++ b/Quests/FrostfangSea/skulls_for_the_taking.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/skulls_for_the_taking.lua + Script Purpose : the quest "Skulls for the Taking" + Script Author : theFoof + Script Date : 2013.6.14 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Hillfred Kinloch + Preceded by : Blood Spilled for the Blade Maiden + Followed by : Great Mystery +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(27,38), 0, 0) + AddQuestStepKill(Quest, 1, "Slay the Ry'Gorr orcs that are camped out on Jagged Daggers isle.", 8, 100, "Hillfred believes the orcs are staging their beachfront charge from the nearby isle known as Jagged Daggers.", 611, 4700120, 4700543, 4700119, 4700538, 4700542, 4700121, 4700118) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_010.mp3", "", "", 1103422610, 3121183656, Player) + AddConversationOption(conversation, "This should be fun!") + StartConversation(conversation, QuestGiver, Player, "Swim over there and fall upon the beasts as if you were a rabid wolf of the Everfrost! Bring me back a great many skulls as trophies to adorn our defenses.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have enough Ry'Gorr skulls to suffice.") + AddQuestStepChat(Quest, 2, "Return to Hillfred Kinloch now that you have enough Ry'Gorr skulls.", 1, "You should return to Hillfred Kinloch, at Cragged Spine, now that you have enough Ry'Gorr skulls.", 0, 4700115) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/sleetfoot_search_party.lua b/Quests/FrostfangSea/sleetfoot_search_party.lua new file mode 100644 index 0000000..1a8ebf5 --- /dev/null +++ b/Quests/FrostfangSea/sleetfoot_search_party.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/sleetfoot_search_party.lua + Script Purpose : for the quest "Sleetfoot Search Party" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : A Good Distraction + Followed by : Seeking Elemental Education +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,65), 0, 0) + AddQuestStepLocation(Quest, 1, "I need to search for Ordin Sleetfoot.", 5, "I should return to where I last saw Ordin Sleetfoot and make sure he is okay.", 0, -254.09, -17.42, -37.16) + AddQuestStepCompleteAction(Quest, 1, "FoundBody") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave014.mp3", "", "", 2567826241, 991797781, Player) + AddConversationOption(conversation, "We will. I will return shortly when I've found him.") + StartConversation(conversation, QuestGiver, Player, "Thank ye, my friend. Perhaps we will share an ale together with Ordin once this is all done.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function FoundBody(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have found Ordin Sleetfoot.") + UpdateQuestTaskGroupDescription(Quest, 1, "I have discovered Ordin Sleetfoot's body, near a large elemental creature made of ice and velium") + AddQuestStepChat(Quest, 2, "I should speak with Thirin Veliumdelver about Ordin.", 1, "I have discovered Ordin Sleetfoot's body, near what appears to be a creature made of ice and velium. I should return to Thirin Veliumdelver and tell him of Ordin's fate.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + FoundBody(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua b/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua new file mode 100644 index 0000000..17e6da1 --- /dev/null +++ b/Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/FrostfangSea/sometimes_you_feel_like_a_knut.lua + Script Purpose : the quest "Sometimes You Feel Like A Knut" + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Knut Orcbane + Preceded by : Flawless Core Chore + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(27,40), 0, 0) + AddQuestStep(Quest, 1, "If you listen to Griz carefully, perhaps he can help guide you.", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 1, "GotBag") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 157116) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Wonderful.") + StartConversation(conversation, NPC, Spawn, "You must wear him in order to hear him. Now, promise to bring him back -safe and sound. And do not be swayed by his bloodlust. He often forgets he no longer has claws.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotBag(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "You found the sack that once contained the magick item.") + AddQuestStep(Quest, 2, "Continue to explore the caves with Griz. If you listen to him carefully, perhaps he can help guide you.", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 2, "FoundTotem") +end + +function FoundTotem(Quest, QuestGiver, Player) + AddSpawnAccess(GetSpawnByLocationID(GetZone(Player), 579551), Player) + UpdateQuestStepDescription(Quest, 2, "Griz has helped you locate the source of the magick.") + AddQuestStep(Quest, 3, "Griz is rather insistent. You must destroy the magick item -it is a Ry'Gorr necromantic totem!", 1, 100, "While wearing Griz as your head equipment, explore the caves and tunnels within Demon's Delve.", 0) + AddQuestStepCompleteAction(Quest, 3, "DestroyedTotem") +end + +function DestroyedTotem(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You destroyed the necromantic totem!") + AddQuestStepChat(Quest, 4, "Return to Knut Orcbane now that you have destroyed the necromantic crystal the orcs had within the Demon's Delve tunnels.", 1, "You should return to Knut Orcbane, at Cragged Spine, now that you have destroyed the necromantic crystal the orcs had within the Demon's Delve tunnels.", 0, 4700113) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "You told Knut how Griz helped you locate and destroy the Ry'Gorr necromantic crystal.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotBag(Quest, QuestGiver, Player) + elseif Step == 2 then + FoundTotem(Quest, QuestGiver, Player) + elseif Step == 3 then + DestroyedTotem(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/spider_puffs.lua b/Quests/FrostfangSea/spider_puffs.lua new file mode 100644 index 0000000..701c12f --- /dev/null +++ b/Quests/FrostfangSea/spider_puffs.lua @@ -0,0 +1,78 @@ +--[[ + Script Name : Quests/FrostfangSea/spider_puffs.lua + Script Purpose : the quest "Spider Puffs" + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Ribbit Hopson + Preceded by : None + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(52,99), 0, 0) + AddQuestStep(Quest, 1, "I must collect dame's rockets for Ribbit's puffs.", 2, 100, "I must collect dame's rockets for Ribbit. I can find the dame's rockets in Ribbit's garden, outside of his house in New Halas.", 1976) + AddQuestStepCompleteAction(Quest, 1, "CollectedRockets") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_007.mp3", "", "", 1643468307, 2055311986, Player) + AddConversationOption(conversation, "I shall return to you once I have collected all of the ingredients you require.") + StartConversation(conversation, QuestGiver, Player, "Wonderful! If you do not mind, could you pick some of my dame's rocket as well? It's just right outside my door in my little garden. The local spiders are called woolly silkspinners and they are in the cave leading to the Erollis Dock.") + ShowDamesRockets(QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CollectedRockets(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the dame's rockets for Ribbit.") + AddQuestStepKill(Quest, 2, "I must kill woolly silkspinners for Ribbit's puffs.", 4, 100, "I must kill woolly silkspinners for Ribbit. The silkspinners are in the cave leading to the Erollis Dock.", 1878, 4700164) + AddQuestStepCompleteAction(Quest, 2, "KilledSpiders") +end + +function KilledSpiders(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "I have killed and collected the woolly silkspinner meat for Ribbit.") + AddQuestStepChat(Quest, 3, "I must speak with Ribbit Hopson at his New Halas home.", 1, "I must return the dame's rockets and spider meat to Ribbit Hopson. Ribbit is in his house near the entrance to New Halas.", 0, 4700151) + AddQuestStepCompleteAction(Quest, 3, "TalkedRibbit") +end + +function TalkedRibbit(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 3, "I have given the ingredients to Ribbit.") + AddQuestStep(Quest, 4, "I must try some of Ribbit's spider puffs.", 1, 100, "Ribbit has taken the ingredients I collected and prepared his recipe for spider puffs.", 296) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function ShowDamesRockets(QuestGiver, Player) + local zone = GetZone(QuestGiver) + AddSpawnAccess(GetSpawnByLocationID(zone, 442806), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442807), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442808), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442809), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442810), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442811), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442812), Player) + AddSpawnAccess(GetSpawnByLocationID(zone, 442813), Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CollectedRockets(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledSpiders(Quest, QuestGiver, Player) + elseif Step == 3 then + TalkedRibbit(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/stonefists_art_of_combat.lua b/Quests/FrostfangSea/stonefists_art_of_combat.lua new file mode 100644 index 0000000..affc54c --- /dev/null +++ b/Quests/FrostfangSea/stonefists_art_of_combat.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : Quests/FrostfangSea/stonefists_art_of_combat.lua + Script Purpose : Handles the quest "Stonefist's Art of Combat" + Script Author : theFoof + Script Date : 2013.5.3 + + Zone : Frostfang Sea + Quest Giver : Yasha Redblade + Preceded by : A Fine Halasian Welcome + Followed by : Call to Arms +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(1,3), 0, 0) + AddQuestStepChat(Quest, 1, "Speak to Trainer Ragnhild Stonefist.", 1, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700015) + AddQuestStepCompleteAction(Quest, 1, "TalkedToStonefist") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedToStonefist(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Ragnhild Stonefist.") + AddQuestStepKill(Quest, 2, "Defeat a sparring partner in combat.", 1, 100, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700018, 4700017, 4700014) + AddQuestStepCompleteAction(Quest, 2, "KilledSparringPartner") +end + +function KilledSparringPartner(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have defeated a sparring partner in combat.") + AddQuestStepChat(Quest, 3, "Speak with Trainer Ragnhild Stonefist.", 1, "I need to learn about combat from Trainer Ragnhild Stonefist at the Training Grounds east of Yasha Redblade.", 0, 4700015) + AddQuestStepCompleteAction(Quest, 3, "ReturnedToStonefist") +end + +function ReturnedToStonefist(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have won a match against one of the sparring partners.") + AddQuestStepChat(Quest, 4, "Return to Yasha Redblade.", 1, "I am to return to Yasha Redblade near the ship's hull on Pilgrims' Landing.", 0, 4700005) + AddQuestStepCompleteAction(Quest, 4, "ReturnToYasha") +end + +function ReturnToYasha(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + TalkedToStonefist(Quest, QuestGiver, Player) + elseif Step == 2 then + KilledSparringPartner(Quest, QuestGiver, Player) + elseif Step == 3 then + ReturnedToStonefist(Quest, QuestGiver, Player) + elseif Step == 4 then + ReturnToYasha(Quest, QuestGiver, Player) + end +end + + diff --git a/Quests/FrostfangSea/tackling_the_basilisks.lua b/Quests/FrostfangSea/tackling_the_basilisks.lua new file mode 100644 index 0000000..c9fcccc --- /dev/null +++ b/Quests/FrostfangSea/tackling_the_basilisks.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tackling_the_basilisks.lua + Script Purpose : for the quest "Tackling the Basilisks" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : No Substitute for Shard Work + Followed by : Domestication is the New Survivalism +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several frostbiter basilisks.", 8, 100, "The basilisks can be found to the east of the Great Shelf, along the shoreline past the battlefield.", 611, 4700103) + AddQuestStepCompleteAction(Quest, 1, "KilledBasilisks") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I appreciate the vote of confidence.") + AddConversationOption(conversation, "Of course they won't give me much trouble.") + StartConversation(conversation, QuestGiver, Player, "I don't imagine they'll give you much trouble, " .. GetName(Player) .. ". If I could say that about the rest of the outsiders that have washed up on Erollis, we'd be much better off. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledBasilisks(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several frostbiter basilisks") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledBasilisks(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_absent_effigy.lua b/Quests/FrostfangSea/the_absent_effigy.lua new file mode 100644 index 0000000..77ed5b6 --- /dev/null +++ b/Quests/FrostfangSea/the_absent_effigy.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_absent_effigy.lua + Script Purpose : Handles the quest "The Absent Effigy" + Script Author : theFoof + Script Date : 2013.5.5 + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Little Lost Froglok + Followed by : Bartering Crystals +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_037.mp3", "", "", 727383716, 4227868188, Player) + AddConversationOption(conversation, "I will look for Splorpy's Effigy of Mithaniel and return to you if I find it.") + StartConversation(conversation, QuestGiver, Player, "I think it might have been picked up in the eddy of a frigid whirlstorm. I fear it is long gone by now, but if you happen to come across it in your travels, Splorpy and I would be grateful for its return.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestPrereqQuest(Quest, LostFroglok) -- change quest step to obtain item 'an Effigy of Mithaniel' drop from frigid whirlstorms/ The Deadly Icewind + AddQuestStepKill(Quest, 1, "I must kill frigid whirlstorms to find Splorpy's Effigy of Mithaniel.", 1, 75, "I should kill frigid whirlstorms around Gwenevyn's Cove to find Splorpy's Effigy of Mithaniel.", 1059, 4700054, 4700069) + AddQuestStepCompleteAction(Quest, 1, "GotEffigy") +end + +function GotEffigy(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have found Splorpy's Effigy of Mithaniel.") + AddQuestStepChat(Quest, 2, "I must speak with Flibbit Quagmarr. Flibbit is staying in Gwenevyn's Cove.", 1, "I should return Splorpy's Effigy of Mithaniel to his father Flibbit Quagmarr in Gwenevyn's Cove.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotEffigy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_charge.lua b/Quests/FrostfangSea/the_charge.lua new file mode 100644 index 0000000..831745b --- /dev/null +++ b/Quests/FrostfangSea/the_charge.lua @@ -0,0 +1,81 @@ +--[[ + Script Name : Quests/FrostfangSea/the_charge.lua + Script Purpose : the quest The Charge + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : Loosening Their Grip + Followed by : The Siege is Not Over +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several Ry'Gorr bushwhackers.", 3, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4701123) + AddQuestStepKill(Quest, 2, "I must kill several Ry'Gorr zealots.", 2, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4701125, 4700875) + AddQuestStepKill(Quest, 3, "I must kill several Ry'Gorr marauders.", 3, 100, "I must kill several Ry'Gorr orcs on Ry'Gorr Isle. The isle is to the west, off the coast of Erollis.", 611, 4700874, 47001124) + AddQuestStepCompleteAction(Quest, 1, "KilledBush") + AddQuestStepCompleteAction(Quest, 2, "KilledZeal") + AddQuestStepCompleteAction(Quest, 3, "KilledMaur") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga018.mp3", "", "", 1084322054, 1642797259, Player) + AddConversationOption(conversation, "I will kill the orcs in your honor.") + AddConversationOption(conversation, "Consider them done for.") + AddConversationOption(conversation, "The battle is over as far as I'm concerned. Goodbye.") + StartConversation(conversation, QuestGiver, Player, "Clinging. Clinging to life. The orcs cling to their foothold on the floating rock, south of Erollis. Take the fight to them.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledBush(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have killed several Ry'Gorr bushwhackers.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledZeal(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have killed several Ry'Gorr zealots.") + CheckProgress(Quest, QuestGiver, Player) +end + +function KilledMaur(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have killed several Ry'Gorr marauders.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 52, 1) and QuestStepIsComplete(Player, 52, 2) and QuestStepIsComplete(Player, 52, 3) then + AddStep4(Quest, QuestGiver, Player) + end +end + +function AddStep4(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several Ry'Gorr orcs on Ry'Gorr Isle.") + AddQuestStepChat(Quest, 4, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 4, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 52, 1) then + KilledBush(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 52, 2) then + KilledZeal(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 52, 3) then + KilledMaur(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_demand_for_supplies.lua b/Quests/FrostfangSea/the_demand_for_supplies.lua new file mode 100644 index 0000000..bb362c4 --- /dev/null +++ b/Quests/FrostfangSea/the_demand_for_supplies.lua @@ -0,0 +1,72 @@ +--[[ + Script Name : Quests/FrostfangSea/the_demand_for_supplies.lua + Script Purpose : for the quest "The Demand for Supplies" + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Rakan RockBreaker + Preceded by : None + Followed by : Foiling the Flank +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStepChat(Quest, 1, "I must deliver the supplies to Orica Deadshot.", 1, "I must deliver the supplies to Orica Deadshot and Battlemaster Golben. They can be found near the peak of Herga's Choke, facing off against a horde of Ry'Gorr.", 398, 4701112) + AddQuestStepChat(Quest, 2, "I must deliver the supplies to Battlemaster Golben.", 1, "I must deliver the supplies to Orica Deadshot and Battlemaster Golben. They can be found near the peak of Herga's Choke, facing off against a horde of Ry'Gorr.", 398, 4700098) + AddQuestStepCompleteAction(Quest, 1, "DeliveredOrica") + AddQuestStepCompleteAction(Quest, 2, "DeliveredGolben") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker005.mp3", "", "", 2645967514, 1229482070, Player) + AddConversationOption(conversation, "Don't worry.") + AddConversationOption(conversation, "I'll be right back!") + StartConversation(conversation, QuestGiver, Player, "Please do, " .. GetName(Player) .. ", and hurry!") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + + +function DeliveredOrica(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have delivered the supplies to Orica Deadshot.") + CheckProgress(Quest, QuestGiver, Player) +end + +function DeliveredGolben(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have delivered the supplies to Battlemaster Golben.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 45, 1) and QuestStepIsComplete(Player, 45, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have delivered the supplies to Orica Deadshot and Battlemaster Golben.") + AddQuestStepChat(Quest, 3, "I must speak to Rakan Rockbreaker.", 1, "I must speak to Rakan Rockbreaker, who can be found in the cave at the Great Shelf.", 0, 4700082) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DeliveredOrica(Quest, QuestGiver, Player) + end + if Step == 2 then + DeliveredGolben(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_gauntlet.lua b/Quests/FrostfangSea/the_gauntlet.lua new file mode 100644 index 0000000..95f71bb --- /dev/null +++ b/Quests/FrostfangSea/the_gauntlet.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/the_gauntlet.lua + Script Purpose : for the quest "The Gauntlet" + Script Author : theFoof + Script Date : 2013.5.29 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Calling Them Back + Followed by : Off to the Ossuary +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(6,15), 0, 0) + AddQuestStep(Quest, 1, "I must smash several piles of Ry'Gorr bones.", 5, 100, "I must smash several piles of Ry'Gorr bones. These piles of bones litter the battlefield at the Great Shelf.", 90) + AddQuestStepCompleteAction(Quest, 1, "SmashedBones") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard069.mp3", "", "", 269705072, 2630405776, Player) + AddConversationOption(conversation, "Of course.") + AddConversationOption(conversation, "I will return post-haste.") + AddConversationOption(conversation, "Consider them dust.") + StartConversation(conversation, QuestGiver, Player, "My patience for these shuffling skeletons is running out. Best we destroy them at the source, and quickly. Wend your way through the forces of the Ry'Gorr orcs, running the gauntlet, or so to speak. Then grind these bones into dust.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function SmashedBones(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I attempted to smash the piles of Ry'Gorr bones, but they reformed into skeletons and attacked me!") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SmashedBones(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_glimmer_orc.lua b/Quests/FrostfangSea/the_glimmer_orc.lua new file mode 100644 index 0000000..a326664 --- /dev/null +++ b/Quests/FrostfangSea/the_glimmer_orc.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_glimmer_orc.lua + Script Purpose : the quest The Glimmer Orc + Script Author : theFoof + Script Date : 2013.5.26 + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : None + Followed by : A Murky Miasma of a Mystery +--]] + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard012.mp3", "", "", 2959588390, 53288716, Player) + AddConversationOption(conversation, "I will be back shortly.") + AddConversationOption(conversation, "Any orc that ambushes me will be sorry.") + StartConversation(conversation, QuestGiver, Player, "The snowflurries tend to wander around the icy cliffs just outside our hideaway. Ye can't miss 'em. Brell guide ye, " .. GetName(Player) .. ".") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Init(Quest) + AddQuestStepKill(Quest, 1, "I must collect several glimmer powders from luminous snowflurries.", 8, 90, "I must collect several glimmer powders from luminous snowflurries. The snowflurries tend to wander just outside the cave, at the Great Shelf, or on Pride Overlook.", 3479, 4700064) + AddQuestStepCompleteAction(Quest, 1, "GotPowder") + AddQuestRewardCoin(Quest, math.random(23,80), math.random(13,22), 0, 0) +end + +function GotPowder(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected several glimmer powders.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotPowder(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_icemanes_cometh.lua b/Quests/FrostfangSea/the_icemanes_cometh.lua new file mode 100644 index 0000000..2f04c46 --- /dev/null +++ b/Quests/FrostfangSea/the_icemanes_cometh.lua @@ -0,0 +1,57 @@ +--[[ + Script Name : Quests/FrostfangSea/the_icemanes_cometh.lua + Script Purpose : the quest The Icemanes Cometh + Script Author : theFoof + Script Date : 2013.5.20 + + Zone : Frostfang Sea + Quest Giver : Verien Skysigh + Preceded by : Pilgrim Pelts + Followed by : None +--]] + +function Accepted(Quest, QuestGiver, Player) + if HasItem(Player, 46664) == false then + SummonItem(Player, 46664, 1) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_030.mp3", "", "", 2735698585, 1703243228, Player) + AddConversationOption(conversation, "I understand.") + StartConversation(conversation, QuestGiver, Player, "Be sure to escort them back here. Then tether them to the icemane post nearby. That is our only hope in dealing with them.") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) + SetTempVariable(Player, "cub1", nil) + SetTempVariable(Player, "cub2", nil) + SetTempVariable(Player, "cub3", nil) + SetTempVariable(Player, "cub4", nil) +end + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,80), math.random(6,12), 0, 0) + AddQuestStep(Quest, 1, "Use the binding tether on icemane cubs upon the Icemane Plains, then bring them back to the lion post near Verien Skysigh at the pilgrims' camp within Gwenevyn's Cove.", 4, 100, "Verien believes the grizzlies will avoid attacking any pilgrim who is being escorted by icemane cubs. He has tasked you with leashing some and bringing them back to the camp using the binding tether he provided you.", 2329) + AddQuestStepCompleteAction(Quest, 1, "GotCubs") +end + +function GotCubs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You brought back enough tethered icemane cubs.") + AddQuestStepChat(Quest, 2, "Return to Verien Skysigh now that you have presented him with enough tethered icemane cubs.", 1, "You should return to Verien Skysigh, at the pilgrims' camp within Gwenevyn's Cove, now that you have presented him with enough tethered icemane cubs.", 0, 4700034) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCubs(Quest, QuestGiver, Player) + elseif Step == 2 then + CompleteQuest(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_last_ingredient.lua b/Quests/FrostfangSea/the_last_ingredient.lua new file mode 100644 index 0000000..7fc68da --- /dev/null +++ b/Quests/FrostfangSea/the_last_ingredient.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_last_ingredient.lua + Script Purpose : the quest The Last Ingredient + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Perfectly Missing + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must harvest an aged ice slurry core.", 1, 50, "I must harvest a core from the aged ice slurries on the hill south of the Great Shelf.", 2944, 4700102) + AddQuestStepCompleteAction(Quest, 1, "GotCore") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 2165797862, 1375729873, Player) + AddConversationOption(conversation, "I shall return with an aged ice slurry core.") + StartConversation(conversation, QuestGiver, Player, "The aged ice slurries are in the same place as the others. They gather on the hill south of the Great Shelf.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCore(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have harvested a core from the aged ice slurries.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild at the Great Shelf.", 1, "I must return the aged ice slurry core to Blorpisa Bogchild in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 2, "Blorpisa thanked me for harvesting the aged ice slurry core.") + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCore(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_nightmare_is_over.lua b/Quests/FrostfangSea/the_nightmare_is_over.lua new file mode 100644 index 0000000..f672e3d --- /dev/null +++ b/Quests/FrostfangSea/the_nightmare_is_over.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Quests/FrostfangSea/the_nightmare_is_over.lua + Script Purpose : the quest "The Nightmare is Over" + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : Severing the Head + Followed by : None +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(9,22), 0, 0) + AddQuestStepChat(Quest, 1, "I must report to Tad Ironstein at the Cragged Spine.", 1, "I must report to Tad Ironstein at the Cragged Spine outpost. The Cragged Spine is south of the Great Shelf, past the frostbiter basilisks.", 0, 4700106) + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I look forward to meeting them.") + AddConversationOption(conversation, "Perhaps they will be a bit more organized.") + StartConversation(conversation, QuestGiver, Player, "Thank ye for sticking with us through the worst of it, " .. GetName(Spawn) .. ". Yer no fair weather friend. I'll say taht about ye. I've sent word to Cragged Spine that yer coming and put in a good word or two. They should welcome ye right away. Ye'll find it far to the south of here, past the battlefield and the basilisks.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Quests/FrostfangSea/the_siege_is_not_over.lua b/Quests/FrostfangSea/the_siege_is_not_over.lua new file mode 100644 index 0000000..485b307 --- /dev/null +++ b/Quests/FrostfangSea/the_siege_is_not_over.lua @@ -0,0 +1,49 @@ +--[[ + Script Name : Quests/FrostfangSea/the_siege_is_not_over.lua + Script Purpose : the quest The Siege is Not Over + Script Author : theFoof + Script Date : 2013.6.5 + + Zone : Frostfang Sea + Quest Giver : Battlepriest Herga + Preceded by : The Charge + Followed by : Forsaking the Grave +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must sabotage the ballistae on Ry'Gorr Isle.", 6, 100, "I must sabotage the ballistae on Ry'Gorr Isle.", 2361) + AddQuestStepCompleteAction(Quest, 1, "SabotagedBallistae") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga029.mp3", "", "", 3545707783, 4113839123, Player) + AddConversationOption(conversation, "It shouldn't be a problem.") + AddConversationOption(conversation, "Brell have mercy on them, because I certainly won't.") + StartConversation(conversation, QuestGiver, Player, "The orcs are nothing if not tenacious. They have crafted these devastating devices from driftwood and sea-rusted steel. ") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function SabotagedBallistae(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have sabotaged the ballistae.") + AddQuestStepChat(Quest, 2, "I must speak with Battlepriest Herga.", 1, "I must speak with Battlepriest Herga, who can be found on the battlefield at the Great Shelf.", 0, 4700100) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + SabotagedBallistae(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/through_thine_eyes.lua b/Quests/FrostfangSea/through_thine_eyes.lua new file mode 100644 index 0000000..0238b3f --- /dev/null +++ b/Quests/FrostfangSea/through_thine_eyes.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : Quests/FrostfangSea/through_thine_eyes.lua + Script Purpose : for the quest Through Thine Eyes + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Thirin Veliumdelver + Preceded by : Roughing Up the Reinforcements + Followed by : Below The Frozen Waves +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,24), 0, 0) + AddQuestStep(Quest, 1, "I need to use the Ry'Gorr Scrying Eye on a " .. '"lazy Ry' .. "'" .. 'Gorr orc."', 1, 100, "I need to travel to the iceberg, east of the Jagged Daggers Isle, and use the Ry'Gorr Scrying Eye on an unsuspecting orc.", 0) + AddQuestStepCompleteAction(Quest, 1, "UsedEye") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver016.mp3", "", "", 2746219212, 3926805260, Player) + AddConversationOption(conversation, "I'll let you know what I learn.") + StartConversation(conversation, QuestGiver, Player, "Your value grows, adventurer. You won't be able to use this in the middle of their camp, but I have heard reports say there are a few Ry'gorr on the iceberg to the east of the Jagged Daggers Isle. See what you find there, perhaps an opportunity to use the eye will present itself.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedEye(Quest, QuestGiver, Player) -- add cutscene here when we have the ability + if HasItem(Player, 11820) then + RemoveItem(Player, 11820) + end + UpdateQuestStepDescription(Quest, 1, "I have used the Ry'Gorr Scrying Eye on " .. '"' .. "a lazy Ry'Gorr orc." .. '"') + UpdateQuestTaskGroupDescription(Quest, 1, "I was able to use the scrying eye on a lazy Ry'Gorr Orc and see through his eyes.") + AddQuestStepChat(Quest, 2, "I should speak with Thirin Veliumdelver about the underwater tunnel.", 1, "It appears there is an underwater tunnel that leads underneath Erollis. I should inform Thirin Veliumdelver right away.", 0, 4700112) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedEye(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tis_most_unnatural.lua b/Quests/FrostfangSea/tis_most_unnatural.lua new file mode 100644 index 0000000..44134d3 --- /dev/null +++ b/Quests/FrostfangSea/tis_most_unnatural.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tis_most_unnatural.lua + Script Purpose : for the quest "'Tis Most Unnatural" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Belka Thunderheart + Preceded by : Reclaiming Their Honor + Followed by : Pouring One Out for My Skellies +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,80), math.random(6,15), 0, 0) + AddQuestStepKill(Quest, 1, "I must kill several risen Ry'Gorr skeletons.", 8, 100, "I must kill several risen Ry'Gorr skeletons. These skeletons can be found on the battlefield of the Great Shelf.", 611, 4700087, 4700872) + AddQuestStepCompleteAction(Quest, 1, "KilledOrcs") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "", "", "", 0, 0, Player) + AddConversationOption(conversation, "I will return.") + AddConversationOption(conversation, "Brell be with you, as well.") + StartConversation(conversation, QuestGiver, Player, "Brell be with ye.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function KilledOrcs(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have killed several risen Ry'Gorr skeletons.") + AddQuestStepChat(Quest, 2, "I must speak with Belka Thunderheart.", 1, "I must speak with Belka Thunderheart, who can be found in the cave at the Great Shelf.", 0, 4700079) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + KilledOrcs(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/to_the_great_shelf.lua b/Quests/FrostfangSea/to_the_great_shelf.lua new file mode 100644 index 0000000..1f1c06f --- /dev/null +++ b/Quests/FrostfangSea/to_the_great_shelf.lua @@ -0,0 +1,52 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/to_the_great_shelf.lua + Script Purpose : for the quest "To the Great Shelf!" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Flibbit Quagmarr + Preceded by : Pelted + Followed by : None +--]] +require"SpawnScripts/FrostfangSea/FlibbitQuagmarr" + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(8,80), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must make sure Splorpy is ready to leave.", 1, 100, "I must speak with Splorpy at Gwenevyn's Cove and make sure he is ready to go.", 0) + AddQuestStepCompleteAction(Quest, 1, "GotSplorpy") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_059.mp3", "", "", 1062705629, 386941071, Player) + AddConversationOption(conversation, "I'm ready. Is Splorpy ready to go?", "Quest6Chat_6") + StartConversation(conversation, QuestGiver, Player, "Thank you! I will catch up with you both, soon. I have heard rumors of a small cavern carved out by some dwarves. I'll meet you there.") +end + +function Deleted(Quest, QuestGiver, Player) + SetTempVariable(Player, "splorp", nil) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotSplorpy(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "Splorpy is ready to leave.") + UpdateQuestTaskGroupDescription(Quest, 1, "Splorpy and I have begun our journey across the Icemane Plains to the Great Shelf.") + AddQuestStepChat(Quest, 2, "I must take Splorpy to his father Flibbit Quagmarr. Flibbit is at The Great Shelf.", 1, "I must escort Splorpy to his father Flibbit at The Great Shelf.", 0, 4700045) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotSplorpy(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/totem_annihilation.lua b/Quests/FrostfangSea/totem_annihilation.lua new file mode 100644 index 0000000..02db265 --- /dev/null +++ b/Quests/FrostfangSea/totem_annihilation.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/totem_annihilation.lua + Script Purpose : the quest Totem Annihilation + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Dolur Axebeard + Preceded by : A Scattering of Ashes + Followed by : +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(10,80), math.random(13,20), 0 ,0) + AddQuestStep(Quest, 1, "I must destroy several totems that are being used to raise the Ry'Gorr skeletons.", 5, 100, "I must destroy several totems that are being used to raise the Ry'Gorr skeletons. These totems have been planted all over the battlefield, which is south of the cave at the Great Shelf.", 3596) + AddQuestStepCompleteAction(Quest, 1, "DestroyedTotems") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard044.mp3", "", "", 4252179126, 1393655567, Player) + AddConversationOption(conversation, "They don't scare me.") + AddConversationOption(conversation, "I'll fight tooth and nail to get the job done.") + StartConversation(conversation, QuestGiver, Player, "Ha! I was just telling ol' Rockbreaker here that you were the one for the job. Head back to the battlefield to the south and look for the totems there. And don't expect the Ry'Gorr to let you succeed without putting up a fight.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function DestroyedTotems(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have destroyed the totems.") + AddQuestStepChat(Quest, 2, "I must speak with Dolur Axebeard.", 1, "I must speak with Dolur Axebeard, who can be found in the cave at the Great Shelf.", 0, 4700078) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + DestroyedTotems(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/trust_issues.lua b/Quests/FrostfangSea/trust_issues.lua new file mode 100644 index 0000000..b6424af --- /dev/null +++ b/Quests/FrostfangSea/trust_issues.lua @@ -0,0 +1,90 @@ +--[[ + Script Name : Quests/FrostfangSea/trust_issues.lua + Script Purpose : the quest "Trust Issues" + Script Author : theFoof + Script Date : 2013.8.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Brogan MacLellan + Preceded by : None + Followed by : Trusted Referral +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(10,30), 1, 0) + AddQuestStepChat(Quest, 1, "I must speak with Blibba Nugrud.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700148) + AddQuestStepChat(Quest, 2, "I must speak with Dandi McCarren", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700252) + AddQuestStepChat(Quest, 3, "I must speak with Sister Aalarya.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700284) + AddQuestStepChat(Quest, 4, "I must speak with Pretchon Ironstein.", 1, "Brogan asked me to find Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud in New Halas. I should speak to them about their reasons for coming to, and staying in, New Halas.", 0, 4700271) + AddQuestStepCompleteAction(Quest, 1, "TalkedBlibba") + AddQuestStepCompleteAction(Quest, 2, "TalkedDandi") + AddQuestStepCompleteAction(Quest, 3, "TalkedSister") + AddQuestStepCompleteAction(Quest, 4, "TalkedPretchon") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan010.mp3", "", "", 1533537529, 2198675230, Player) + AddConversationOption(conversation, "I'll be back.") + StartConversation(conversation, QuestGiver, Player, "Head into town and look for Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud. Find out what they're doing here, and why they don't leave for greener pastures.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function TalkedBlibba(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have spoken with Blibba Nugrud.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedDandi(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have spoken with Dandi McCarren.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedSister(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have spoken with Sister Aalarya.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TalkedPretchon(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I have spoken with Pretchon Ironstein.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 85, 1) and QuestStepIsComplete(Player, 85, 2) and QuestStepIsComplete(Player, 85, 3) and QuestStepIsComplete(Player, 85, 4) then + AddStep5(Quest, QuestGiver, Player) + end +end + +function AddStep5(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I spoke to Pretchon Ironstein, Sister Aalarya, Dandi McCarren, and Blibba Nugrud about their reasons for coming to, and staying in, New Halas.") + AddQuestStepChat(Quest, 5, "I must speak to Brogan MacLellan.", 1, "I must return to Brogan MacLellan at the New Halas Guard House just outside of town and inform him of my findings.", 0, 4700126) + AddQuestStepCompleteAction(Quest, 5, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 85, 1) then + TalkedBlibba(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 2) then + TalkedDandi(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 3) then + TalkedSister(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 85, 4) then + TalkedPretchon(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/trusted_referral.lua b/Quests/FrostfangSea/trusted_referral.lua new file mode 100644 index 0000000..36f1371 --- /dev/null +++ b/Quests/FrostfangSea/trusted_referral.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Quests/FrostfangSea/trusted_referral.lua + Script Purpose : the quest Trusted Referral + Script Author : theFoof + Script Date : 2013.8.25 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Brogan MacLellan + Preceded by : Trust Issues + Followed by : None +--]] + +-- *** THIS SCRIPT IS NOT COMPLETE, BUTCHERBLOCK MUST BE SPAWNED FIRST *** + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(1,99), math.random(19,30), 0, 0) + AddQuestStepChat(Quest, 1, "You should speak to Belinda MacLellan at the Butcherblock Bay docks.", 1, "You should speak to Belinda MacLellan at the Butcherblock Bay docks.", 0, "BELINDAMACLELLAN") + AddQuestStepCompleteAction(Quest, 1, "CompleteQuest") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll get this to her, right away!") + StartConversation(conversation, QuestGiver, Player, "She's as reluctant to trust others, too, but I'll write you my recommendation. And if she doesn't have any work, I bet she'll know who there does.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_alchemical_experiments.lua b/Quests/FrostfangSea/tutorial_alchemical_experiments.lua new file mode 100644 index 0000000..092e4fb --- /dev/null +++ b/Quests/FrostfangSea/tutorial_alchemical_experiments.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_alchemical_experiments.lua + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Scribing Scrolls + Followed by : Tutorial: Essential Outfitting +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create an Essence of Intercept (Journeyman) using the chemistry table.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2219, 112413) + AddQuestStepCompleteAction(Quest, 1, "MadeIntercept") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeIntercept(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created an Essence of Intercept (Journeyman).") + AddQuestStepChat(Quest, 2, "I should return to the tutor with the Essence of Intercept.", 1, "I should return to the tutor with the Essence of Intercept.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeIntercept(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_countering_problems.lua b/Quests/FrostfangSea/tutorial_countering_problems.lua new file mode 100644 index 0000000..f922764 --- /dev/null +++ b/Quests/FrostfangSea/tutorial_countering_problems.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_countering_problems.lua + Script Purpose : Tutorial: Countering Problems + Script Author : theFoof + Script Date : 2013.10.9 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Forging Ahead + Followed by : Tutorial: Learning to Cook +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a lead bracelet using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 952, 151332) + AddQuestStepCompleteAction(Quest, 1, "CraftedBracelet") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 31373, 1) + SummonItem(Player, 4142, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do my best!") + StartConversation(conversation, QuestGiver, Player, "No, that was a particularly easy recipe. In most other cases though, you have the chance of these warnings appearing. They're random, but will always occur at the beginning of a new crafting round. You have until the end of that 4 second round to counter the event. I'd like you to go to the jeweler's workbench now and create a lead bracelet. You'll find the recipe in this book. Take care this time to watch out for warnings and counter them correctly. And don't forget you can also use your arts to help out even when there's no warning showing.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CraftedBracelet(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created a lead bracelet.") + AddQuestStepChat(Quest, 2, "I should return to the tutor with my bracelet.", 1, "I should return to the tutor with my bracelet.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CraftedBracelet(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_essential_outfitting.lua b/Quests/FrostfangSea/tutorial_essential_outfitting.lua new file mode 100644 index 0000000..2b94c9c --- /dev/null +++ b/Quests/FrostfangSea/tutorial_essential_outfitting.lua @@ -0,0 +1,64 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_essential_outfitting.lua + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Alchemical Experiments + Followed by : None +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a chainmail coat using the forge.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2407, 185658) + AddQuestStepCraft(Quest, 2, "I should return to the tutor with the equipment I created.", 1, 100, "I should return to the tutor with my work.", 402, 20805) + AddQuestStepCompleteAction(Quest, 1, "MadeCoat") + AddQuestStepCompleteAction(Quest, 2, "MadePack") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeCoat(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have created a chainmail coat.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function MadePack(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I created a rawhide backpack.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 97, 1) and QuestStepIsComplete(Player, 97, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddQuestStepChat(Quest, 3, "I should return to the tutor with the equipment I created.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, 97, 1) then + MadeCoat(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 97, 2) then + MadePack(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_forging_ahead.lua b/Quests/FrostfangSea/tutorial_forging_ahead.lua new file mode 100644 index 0000000..0b18303 --- /dev/null +++ b/Quests/FrostfangSea/tutorial_forging_ahead.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_forging_ahead.lua + Script Purpose : Tutorial: Forging Ahead + Script Author : theFoof + Script Date : 2013.10.6 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Learning to Harvest + Followed by : Tutorial: Countering Problems +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a simple candelabra using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to create a simple candelabra.", 189, 64876) + AddQuestStepCompleteAction(Quest, 1, "CraftedCandelabra") +end + +function Accepted(Quest, QuestGiver, Player) + SummonItem(Player, 31371, 1) + SummonItem(Player, 4142, 1) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks. Here I go.") + StartConversation(conversation, QuestGiver, Player, "Of course, it'll be easier to understand once you can see it in action. Here's a recipe book, and some fuel. Scribe the recipe book by finding it in your inventory and right-clicking it. Check that you have some elm, tin, and roots in your bags, and head over to the forge. Click on the forge to bring up your recipe list, and select the recipe for the simple candelabra.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function CraftedCandelabra(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddQuestStepChat(Quest, 2, "I should return to the tutor with my candelabra.", 1, "I should return to the tutor with the candelabra.", 0, 4700220) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") + SetCompleteFlag(Quest) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + CraftedCandelabra(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_learning_to_cook.lua b/Quests/FrostfangSea/tutorial_learning_to_cook.lua new file mode 100644 index 0000000..46d9c50 --- /dev/null +++ b/Quests/FrostfangSea/tutorial_learning_to_cook.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_learning_to_cook.lua + Script Purpose : Tutorial: Learning to Cook + Script Author : theFoof + Script Date : 2013.10.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Countering Problems + Followed by : Tutorial: The Art of Weapons +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create some jum jum cider using the recipe the tutor gave me.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 310, 36408) + AddQuestStepCompleteAction(Quest, 1, "MadeCider") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeCider(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have created some jum jum cider.") + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 2, "I should return to the tutor with the jum jum cider.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeCider(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_learning_to_harvest.lua b/Quests/FrostfangSea/tutorial_learning_to_harvest.lua new file mode 100644 index 0000000..e8d6ed9 --- /dev/null +++ b/Quests/FrostfangSea/tutorial_learning_to_harvest.lua @@ -0,0 +1,125 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_learning_to_harvest.lua + Script Purpose : the quest Tutorial: Learning to Harvest + Script Author : theFoof + Script Date : 2013.5.15 + + Zone : Unknown (global) + Quest Giver : Trainer Hawk Dunlop (and other harvesting tutors will add as I get to those zones) + Preceded by : None + Followed by : "If I Had a Hammer" & "Tutorial: Forging Ahead" +--]] + +local HarvestTutorial = 11 + +function Init(Quest) + AddQuestStepHarvest(Quest, 1, "Harvest some elm lumber.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 826, 12098) + AddQuestStepHarvest(Quest, 2, "Harvest some roots.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 200, 11637) + AddQuestStepHarvest(Quest, 3, "Mine some tin clusters.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 3391, 14463) + AddQuestStepHarvest(Quest, 4, "Mine some lead clusters.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 1086, 8808) + AddQuestStepHarvest(Quest, 5, "Fish up some sunfish.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 2540, 13586) + AddQuestStepHarvest(Quest, 6, "Harvest jumjum from a shrub or garden.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 816, 8486) + AddQuestStepHarvest(Quest, 7, "Trap some rawhide pelts from an animal den.", 3, 100, "I must harvest some crafting supplies in a nearby low-risk adventure area. Harvest nodes can generally be found on the ground in most outdoor adventure regions.", 125 , 11271) + AddQuestStepCompleteAction(Quest, 1, "Lumber") + AddQuestStepCompleteAction(Quest, 2, "Root") + AddQuestStepCompleteAction(Quest, 3, "TinCluster") + AddQuestStepCompleteAction(Quest, 4, "LeadCluster") + AddQuestStepCompleteAction(Quest, 5, "Sunfish") + AddQuestStepCompleteAction(Quest, 6, "Jumjum") + AddQuestStepCompleteAction(Quest, 7, "RawhidePelt") +end + +function CheckProgress(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, HarvestTutorial, 1) and QuestStepIsComplete(Player, HarvestTutorial, 2) and QuestStepIsComplete(Player, HarvestTutorial, 3) and QuestStepIsComplete(Player, HarvestTutorial, 4) and QuestStepIsComplete(Player, HarvestTutorial, 5) and QuestStepIsComplete(Player, HarvestTutorial, 6) and QuestStepIsComplete(Player, HarvestTutorial, 7) then + UpdateQuestTaskGroupDescription(Quest, 1, "I harvested some crafting supplies.") + AddStep8(Quest, QuestGiver, Player) + end +end + +function AddStep8(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + AddQuestStepChat(Quest, 8, "I must return to the trainer with the harvested items.", 1, "I must return to the trainer who sent me out harvesting.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 8, "CompleteQuest") +end + +function Root(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I have gathered some roots.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Lumber(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have harvested some elm lumber.") + CheckProgress(Quest, QuestGiver, Player) +end + +function TinCluster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 3, "I have mined some tin clusters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function LeadCluster(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 4, "I harvested some lead clusters.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Sunfish(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 5, "I have harvested some sunfish.") + CheckProgress(Quest, QuestGiver, Player) +end + +function Jumjum(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 6, "I have gathered some jumjum.") + CheckProgress(Quest, QuestGiver, Player) +end + +function RawhidePelt(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 7, "I have trapped a number of pelts.") + CheckProgress(Quest, QuestGiver, Player) +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 20747, 1) then + SummonItem(Player, 20747) + end + if GetName(QuestGiver) == "Glin Hammerhelm" then + conversation = CreateConversation() + FaceTarget(QuestGiver, Player) + + AddConversationOption(conversation, "I'll get right on it.") + StartConversation(conversation, QuestGiver, Player, "Harvesting resources tend to be segregated by areas - for example, you'll be able to harvest items (often also called nodes) for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish. I'd like you to get a few harvests from each type of harvestable item.") + end +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if QuestStepIsComplete(Player, HarvestTutorial, 1) then + Lumber(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 2) then + Root(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 3) then + TinCluster(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 4) then + LeadCluster(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 5) then + Sunfish(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 6) then + Jumjum(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, HarvestTutorial, 7) then + RawhidePelt(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_scribing_scrolls.lua b/Quests/FrostfangSea/tutorial_scribing_scrolls.lua new file mode 100644 index 0000000..f7b0c79 --- /dev/null +++ b/Quests/FrostfangSea/tutorial_scribing_scrolls.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_scribing_scrolls.lua + Script Purpose : Tutorial: Scribing Scrolls + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: The Art of Weapons + Followed by : Tutorial: Alchemical Experiments +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create a spell scroll of Shackle (Journeyman) using the engraved desk.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 715, 119296) + AddQuestStepCompleteAction(Quest, 1, "MadeScroll") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeScroll(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, " I have created a spell scroll of Shackle (Journeyman).") + AddQuestStepChat(Quest, 2, "I should return to the tutor with the scroll of Shackle.", 1, 100, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + MadeScroll(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua b/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua new file mode 100644 index 0000000..3d201fa --- /dev/null +++ b/Quests/FrostfangSea/tutorial_the_art_of_weapons.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : Quests/FrostfangSea/tutorial_the_art_of_weapons.lua + Script Purpose : Tutorial: The Art of Weapons + Script Author : theFoof + Script Date : 2013.10.19 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Glin Hammerhelm + Preceded by : Tutorial: Learning to Cook + Followed by : Tutorial: Scribing Scrolls +--]] + +function Init(Quest) + SetQuestFeatherColor(Quest, 2) + AddQuestStepCraft(Quest, 1, "I need to create an elm greatstaff using the woodworking table.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 622, 76153) + AddQuestStepCraft(Quest, 2, "I must create a tin hand axe using the forge.", 1, 100, "I must follow the tutor's instructions to review the crafting process.", 2154, 89115) + AddQuestStepCompleteAction(Quest, 1, "MadeStaff") + AddQuestStepCompleteAction(Quest, 2, "MadeAxe") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function MadeStaff(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, "I have created an elm greatstaff.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function MadeAxe(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 2, "I created a tin hand axe.") + ProgressCheck(Quest, QuestGiver, Player) +end + +function ProgressCheck(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 93, 1) and QuestStepIsComplete(Player, 93, 2) then + AddStep3(Quest, QuestGiver, Player) + end +end + +function AddStep3(Quest, QuestGiver, Player) + SetCompleteFlag(Quest) + UpdateQuestTaskGroupDescription(Quest, 1, "I have reviewed the process of crafting an item.") + AddQuestStepChat(Quest, 3, "I should return to the tutor with the weapons.", 1, "I should return to the tutor with my work.", 0, GetSpawnID(QuestGiver)) + AddQuestStepCompleteAction(Quest, 3, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player) + if QuestStepIsComplete(Player, 93, 1) then + MadeStaff(Quest, QuestGiver, Player) + end + if QuestStepIsComplete(Player, 93, 2) then + MadeAxe(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/watch_out_below.lua b/Quests/FrostfangSea/watch_out_below.lua new file mode 100644 index 0000000..6e762c9 --- /dev/null +++ b/Quests/FrostfangSea/watch_out_below.lua @@ -0,0 +1,51 @@ +--[[ + Script Name : Quests/FrostfangSea/watch_out_below.lua + Script Purpose : the quest Watch Out Below! + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Sourgeson + Preceded by : Ry'Gorr Tool Taking + Followed by : None +--]] + +function Init(Quest) + SetQuestRepeatable(Quest) + SetQuestFeatherColor(Quest, 3) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(52,70), 0, 0) + AddQuestStep(Quest, 1, "Break off glimmering velium crystals that grow from the cave ceiling, and gather them up.", 5, 100, "Return to the Velinoid Catacombs in search of glimmering velium crystals.", 3774) + AddQuestStepCompleteAction(Quest, 1, "GotCrystals") +end + +function Accepted(Quest, QuestGiver, Player) + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_042.mp3", "", "", 2099746411, 4081524190, Player) + AddConversationOption(conversation, "That will be good.") + StartConversation(conversation, QuestGiver, Player, "That's wonderful! The money raised by selling the velium can help to buy us more goods and weapons out here on the front.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotCrystals(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "You have gathered enough glimmering velium crystals.") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson now that you have gathered enough glimmering velium crystals.", 1, "You should return to Odon Scourgeson, at Cragged Spine, now that you have gathered enough glimmering velium crystals.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotCrystals(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/weapon_of_choice.lua b/Quests/FrostfangSea/weapon_of_choice.lua new file mode 100644 index 0000000..f6af58c --- /dev/null +++ b/Quests/FrostfangSea/weapon_of_choice.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Quests/FrostfangSea/weapon_of_choice.lua + Script Purpose : the quest Weapon of Choice + Script Author : theFoof + Script Date : 2013.6.3 + + Zone : Frostfang Sea + Quest Giver : Blorpisa Bogchild + Preceded by : Field Testing Part Two + Followed by : Disarming the Ry'Gorr +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(13,25), 0, 0) + AddQuestStep(Quest, 1, "I must collect coldain weapons from the slain coldain.", 5, 100, "I must collect coldain weapons from the slain coldain that have died at the battlefield southeast of the Great Shelf.", 1650) + AddQuestStepCompleteAction(Quest, 1, "GotWeapons") +end + +function Accepted(Quest, QuestGiver, Player) +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function GotWeapons(Quest, QuestGiver, Player) + UpdateQuestTaskGroupDescription(Quest, 1, "I have collected the coldain weapons for Blorpisa.") + AddQuestStepChat(Quest, 2, "I must speak with Blorpisa Bogchild. Blorpisa is staying at the Great Shelf.", 1, "I must return the weapons I have collected to Blorpisa in the Great Shelf.", 0, 4700039) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + GotWeapons(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/FrostfangSea/whirling_ice_time.lua b/Quests/FrostfangSea/whirling_ice_time.lua new file mode 100644 index 0000000..ff5ace6 --- /dev/null +++ b/Quests/FrostfangSea/whirling_ice_time.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : Quests/FrostfangSea/whirling_ice_time.lua + Script Purpose : for the quest Whirling Ice Time + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : + + Zone : Frostfang Sea + Quest Giver : Odon Scourgeson + Preceded by : None + Followed by : Highly Flammable Materials +--]] + +function Init(Quest) + AddQuestRewardCoin(Quest, math.random(5,90), math.random(12,25), 0, 0) + AddQuestStep(Quest, 1, "Apply the Draught of Whirling Ice to the green sparkling arrows that have been shot upon the Cragged Spine beachfront.", 6, 100, "Odon gave you a Draught of Whirling Ice, which he claims will create whirling eddies of fog and ice on the beachfront, causing confusion amongst the Ry'Gorr.", 2511) + AddQuestStepCompleteAction(Quest, 1, "UsedDraught") +end + +function Accepted(Quest, QuestGiver, Player) + if not HasItem(Player, 6556) then + SummonItem(Player, 6556) + end + FaceTarget(QuestGiver, Player) + conversation = CreateConversation() + + PlayFlavor(QuestGiver, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_011.mp3", "", "", 57352685, 126930630, Player) + AddConversationOption(conversation, "I will, Odon.") + StartConversation(conversation, QuestGiver, Player, "Here is the Draught of Whirling Ice I spoke of. Use it at the locations marked by a glowing green arrow shaft.") +end + +function Deleted(Quest, QuestGiver, Player) +end + +function Declined(Quest, QuestGiver, Player) +end + +function UsedDraught(Quest, QuestGiver, Player) + UpdateQuestStepDescription(Quest, 1, " The icy whirlstorms conjured by the Draught of Whirling Ice worked wonders!") + UpdateQuestTaskGroupDescription(Quest, 1, "The icy whirlstorms conjured by the Draught of Whirling Ice worked wonders!") + AddQuestStepChat(Quest, 2, "Return to Odon Scourgeson at Cragged Spine.", 1, "You should return return to Odon Scourgeson now that the Draught of Whirling Ice caused confusion and chaos on the near by beach front.", 0, 4700108) + AddQuestStepCompleteAction(Quest, 2, "CompleteQuest") +end + +function CompleteQuest(Quest, QuestGiver, Player) + GiveQuestReward(Quest, Player) + if HasItem(Player, 6556) then + RemoveItem(Player, 6556) + end +end + +function Reload(Quest, QuestGiver, Player, Step) + if Step == 1 then + UsedDraught(Quest, QuestGiver, Player) + end +end \ No newline at end of file diff --git a/Quests/GreaterFaydark/infestation.lua b/Quests/GreaterFaydark/infestation.lua index ad8a9c8..7ca2576 100644 --- a/Quests/GreaterFaydark/infestation.lua +++ b/Quests/GreaterFaydark/infestation.lua @@ -1,56 +1,74 @@ --[[ - Script Name : Quests/GreaterFaydark/infestation.lua - Script Purpose : Handles the quest "Infestation" - Script Author : Zcoretri - Script Date : 2009.03.01 - - Zone : Greater Faydark - Quest Giver: Matron of the Nursery - Preceded by: none - Followed by: Running Off the Grobin Scouts + Script Name : Quests/GreaterFaydark/infestation.lua + Script Purpose : Handles the quest "Infestation" + Script Author : Scatman + Script Date : 2013.07.31 + + Zone : Greater Faydark + Quest Giver : Matron of the Nursery + Preceded by : none + Followed by : Running Off the Grobin Scouts --]] function Init(Quest) - -- Steadfast Bracelet - -- Sand-Etched Bracers - -- Shrumbler Grips - -- Matron's Sleeve - -- Harmonic Band - AddQuestStepKill(Quest, 1, "I need to eliminate the shrumblers threatening the spirit bloom nursery to the east and west!", 4, 100, "I need to get rid of the shrumblers in the spirit bloom nursery!", 98, 1140007,1140008,1140010) - AddQuestStepCompleteAction(Quest, 1, "KilledAllShrumblers") + -- Steadfast Bracelet + -- Sand-Etched Bracers + -- Shrumbler Grips + -- Matron's Sleeve + -- Harmonic Band + AddQuestRewardCoin(Quest, 47, 2) + +end + +function Accepted(Quest, QuestGiver, Player) +AddQuestStepKill(Quest, 1, "Kill shrumbler hatchlings.", 4, 100, ".", 98, 1140210, 1140235) + AddQuestStepCompleteAction(Quest, 1, "KilledAllShrumblers") +end + +function Declined(Quest, QuestGiver, Player) +end + +function Deleted(Quest, Player) +end + +function Reload(Quest, QuestGiver, Player, Step) end +--[[ + function Accepted(Quest, QuestGiver, Player) - if QuestGiver ~= nil then - if GetDistance(Player, QuestGiver) < 30 then - conversation = CreateConversation() - FaceTarget(QuestGiver, Player) - AddConversationOption(conversation, "I will return") - StartConversation(conversation, QuestGiver, Player, "I hope so. You are still quite young and those creatures can be very dangerous!") - end - end + if QuestGiver ~= nil then + if GetDistance(Player, QuestGiver) < 30 then + conversation = CreateConversation() + FaceTarget(QuestGiver, Player) + AddConversationOption(conversation, "I will return") + StartConversation(conversation, QuestGiver, Player, "I hope so. You are still quite young and those creatures can be very dangerous!") + end + end end function Declined(Quest, QuestGiver, Player) end function KilledAllShrumblers(Quest, QuestGiver, Player) - UpdateQuestTaskGroupDescription(Quest, 1, "I got rid of the shrumblers that were threatening the spirit blooms.") - AddQuestStepChat(Quest, 2, "I should let the Matron of the Nursery know I took care of the shrumbler infestation.", 1, ".", 0, 1140004) - AddQuestStepCompleteAction(Quest, 2, "QuestComplete") + UpdateQuestTaskGroupDescription(Quest, 1, "I got rid of the shrumblers that were threatening the spirit blooms.") + AddQuestStepChat(Quest, 2, "I should let the Matron of the Nursery know I took care of the shrumbler infestation.", 1, ".", 0, 1140004) + AddQuestStepCompleteAction(Quest, 2, "QuestComplete") end function QuestComplete(Quest, QuestGiver, Player) - UpdateQuestDescription(Quest, "I got rid of the shrumbler worms that were eating the spirit blooms in the nursery.") - GiveQuestReward(Quest, Player) + UpdateQuestDescription(Quest, "I got rid of the shrumbler worms that were eating the spirit blooms in the nursery.") + GiveQuestReward(Quest, Player) end function Reload(Quest, QuestGiver, Player, Step) - if Step == 1 then - KilledAllShrumblers(Quest, QuestGiver, Player) - end + if Step == 1 then + KilledAllShrumblers(Quest, QuestGiver, Player) + end end +--]] + diff --git a/SpawnScripts/Darklight/aNeriandrake.lua b/SpawnScripts/Darklight/aNeriandrake.lua new file mode 100644 index 0000000..273ccf2 --- /dev/null +++ b/SpawnScripts/Darklight/aNeriandrake.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/Darklight/aNeriandrake.lua + Script Author : theFoof + Script Date : 2013.11.28 + Script Purpose : this is only for the drakes that fly + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "11559") + --Add movement script to this +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/Darklight/aTRethirthinblood.lua b/SpawnScripts/Darklight/aTRethirthinblood.lua new file mode 100644 index 0000000..42fcb66 --- /dev/null +++ b/SpawnScripts/Darklight/aTRethirthinblood.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/aTRethirthinblood.lua + Script Author : theFoof + Script Date : 2013.11.27 + Script Purpose : + : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "8657") + SpawnSet(NPC, "gender", "0") + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/Darklight/aghoulishNerian.lua b/SpawnScripts/Darklight/aghoulishNerian.lua new file mode 100644 index 0000000..b9ce164 --- /dev/null +++ b/SpawnScripts/Darklight/aghoulishNerian.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/aghoulishNerian.lua + Script Author : theFoof + Script Date : 2013.11.27 10:11:09 + Script Purpose : + : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "14043") + SpawnSet(NPC, "gender", "0") + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/Darklight/ascarwurm.lua b/SpawnScripts/Darklight/ascarwurm.lua new file mode 100644 index 0000000..f805781 --- /dev/null +++ b/SpawnScripts/Darklight/ascarwurm.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Darklight/ascarwurm.lua + Script Author : Foof + Script Date : 2013.11.17 + Script Purpose : +--]] + +require"SpawnScripts/Generic/generic_fish_movement" + +function spawn(NPC) + local choice = math.random(1,2) + if choice == 1 then + SpawnSet(NPC, "model_type", "197") + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/AgdaDonillson.lua b/SpawnScripts/FrostfangSea/AgdaDonillson.lua new file mode 100644 index 0000000..fad961d --- /dev/null +++ b/SpawnScripts/FrostfangSea/AgdaDonillson.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AgdaDonillson.lua + Script Purpose : Agda Donillson + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "What would you like to buy?", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Let's check what's available, shall we?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I'm sure we have something that will please even you!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1001.mp3", "", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/AliceSwamprunner.lua b/SpawnScripts/FrostfangSea/AliceSwamprunner.lua new file mode 100644 index 0000000..4c59d44 --- /dev/null +++ b/SpawnScripts/FrostfangSea/AliceSwamprunner.lua @@ -0,0 +1,105 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AliceSwamprunner.lua + Script Purpose : Alice Swamprunner + Script Author : theFoof + Script Date : 2013.09.02 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + ProvidesQuest(NPC, KestrelPie) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, KestrelPie) and not HasQuest(Spawn, KestrelPie) then + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_001.mp3", "", "", 3199488336, 2249135127, Spawn) + AddConversationOption(conversation, "Nice to meet you Alice, I'm " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello stranger! Welcome to Ravens' Roost. You can call me Alice Swamprunner.") + elseif GetQuestStep(Spawn, KestrelPie) == 1 or GetQuestStep(Spawn, KestrelPie) == 2 then + AddConversationOption(conversation, "Where can I find the kestrels and the ice shrooms?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you brought me the ingredients?") + elseif GetQuestStep(Spawn, KestrelPie) == 3 then + AddConversationOption(conversation, "I have the meat and shrooms that you requested.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you brought me the ingredients?") + elseif GetQuestStep(Spawn, KestrelPie) == 4 then + PlayFlavor(NPC, "", "Well go on, try one!", "beckon", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Thanks for your help with the kestrel pot pie.", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_003.mp3", "", "", 1636835603, 1296919818, Spawn) + AddConversationOption(conversation, "I can always find time to help if help is needed.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "A pleasure. Are you busy?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_004.mp3", "", "", 3609415990, 2721638648, Spawn) + AddConversationOption(conversation, "Kestrels are no problem for me.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I am making my kestrel pot pie for the New Halas City Festival. The problem is, I'm not a hunter and the downy kestrels are already giving the guards a hard time so I cannot imagine how I would fare with the birds.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "alice_swamprunner/halas/new_halas/alice_swamprunner/alice_swamprunner_005.mp3", "", "", 3894141515, 2250215460, Spawn) + AddConversationOption(conversation, "Sure, I don't mind the exercise.", "OfferKestrelPie") + AddConversationOption(conversation, "I'm not running all over New Halas to help you cook dinner.") + StartConversation(conversation, NPC, Spawn, "Well, if you are going to collect kestrel meat, would you mind picking me up some ice shrooms? You can find the ice shrooms in the cave leading to the Erollis Dock, and the kestrels are at the south entrance to New Halas.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(converstion, "I shall return once I have collected the ingredients.") + StartConversation(conversation, NPC, Spawn, "You can find the ice shrooms in the cave leading to the Erollis Dock, and the kestrels are at the south entrance to New Halas.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It sounds yummy.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "I have already prepared the pie and crust and the rest of the gravy filling. Now to grill up the meat and ice shrooms and add them.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can't wait.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "It is indeed. Now to cook it and it will be ready to eat.") +end + +function Quest1Chat_7(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701845), Spawn) + SetStepComplete(Spawn, KestrelPie, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will! Thanks, Alice.") + StartConversation(conversation, NPC, Spawn, "There, finished! Go ahead, take a slice!") +end + +function OfferKestrelPie(NPC, Spawn) + OfferQuest(NPC, Spawn, KestrelPie) +end + diff --git a/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua b/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua new file mode 100644 index 0000000..45c5b5e --- /dev/null +++ b/SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua @@ -0,0 +1,116 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AmbassadorBrynhildeMaersdottr.lua + Script Purpose : Ambassador Brynhilde Maersdottr + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_3_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + if convo==6 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_6_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + + if convo==8 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_8_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + + if convo==9 then + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_001.mp3", "", "", 97799044, 4230411082, Spawn) + AddConversationOption(conversation, "Maybe, tell me more.", "dlg_9_1") + AddConversationOption(conversation, "No thank you, I'm very happy here.") + StartConversation(conversation, NPC, Spawn, "Greetings! I am here to offer assistance if you wish to change citizenship. Is this of interest to you?") + end + +end + +function dlg_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_3_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_3_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end + +function dlg_8_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_8_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_8_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_8_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end + +function dlg_9_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_002.mp3", "", "", 1600213250, 4013876704, Spawn) + AddConversationOption(conversation, "Yes, can you help me to do that?", "dlg_9_2") + AddConversationOption(conversation, "Actually, I was thinking of changing citizenship to ... elsewhere.") + StartConversation(conversation, NPC, Spawn, "As you're probably aware, New Halas has established good relations with the cities of Qeynos and Kelethin, and when someone wishes to switch citizenship to these cities we try to make the process as friendly as possible. Is this your wish?") +end + +function dlg_9_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brynhilde_maersdottr/halas/city_population/halas_betrayal_003.mp3", "", "", 2358151408, 4270279466, Spawn) + AddConversationOption(conversation, "Qeynos, if you please.", "dlg_9_3") + AddConversationOption(conversation, "Kelethin, if you please.") + AddConversationOption(conversation, "Neither, I have changed my mind. Thanks anyway!") + StartConversation(conversation, NPC, Spawn, "I would be happy to help. Are you interested in becoming a citizen of Qeynos, or Kelethin?") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1003.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/SpawnScripts/FrostfangSea/ArrinClelland.lua b/SpawnScripts/FrostfangSea/ArrinClelland.lua new file mode 100644 index 0000000..55d421c --- /dev/null +++ b/SpawnScripts/FrostfangSea/ArrinClelland.lua @@ -0,0 +1,289 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ArrinClelland.lua + Script Purpose : Arrin Clelland + Script Author : theFoof + Script Date : 2013.5.12 + Script Notes : +--]] + +local CrustoseRemoval = 6 + +local RepellingCritters = 7 + +local ScragglyFoodstuffs = 9 + +local FrigidFishing = 10 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, CrustoseRemoval) + ProvidesQuest(NPC, RepellingCritters) + ProvidesQuest(NPC, ScragglyFoodstuffs) + ProvidesQuest(NPC, FrigidFishing) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, CrustoseRemoval) == false and HasQuest(Spawn, CrustoseRemoval) == false then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_001.mp3", "", "", 316593235, 3019636341, Spawn) + AddConversationOption(conversation, "" .. GetName(Spawn) .. ". My boat was attacked and destroyed by the orcs, apparently.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "I don't recognize you, newcomer, but welcome. I'm Arrin, the camp provisioner. Who are you?") + elseif GetQuestStep(Spawn, CrustoseRemoval) == 1 then + PlayFlavor(NPC, "", "It's a good thing I sent you after lichen and not lycan!", "chuckle", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, CrustoseRemoval) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "What are you going to do with the crustose spore samples?", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "I see you were successful, " .. GetName(Spawn) .. ". That is great news!") + elseif HasCompletedQuest(Spawn, CrustoseRemoval) and HasQuest(Spawn, RepellingCritters) == false and HasCompletedQuest(Spawn, RepellingCritters) == false then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_010.mp3", "", "", 2177024399, 2827013799, Spawn) + AddConversationOption(conversation, "What are you going to do with the crustose spore samples?", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "You certainly helped us by getting those crustose spore samples, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, RepellingCritters) == 1 then + if HasItem(Player, 45806) == false then + SummonItem(Player, 45806, 1) + end + AddConversationOption(conversation, "Me too.") + AddConversationOption(conversation, "How do I use the crustose repellent?", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "I hope the crustose repellent works.") + elseif GetQuestStep(Spawn, RepellingCritters) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_021.mp3", "", "", 1180705969, 2151107815, Spawn) + AddConversationOption(conversation, "The repellent worked great!", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "How did it go out there?") + elseif GetQuestStep(Spawn, RepellingCritters) == 3 then + if HasItem(Player, 45805) == false then + SummonItem(Player, 45805, 1) + end + PlayFlavor(NPC, "", "Be sure to apply enough of the crustose repellent to our barrels of foodstuff.", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, RepellingCritters) == 4 then + SetStepComplete(Spawn, RepellingCritters, 4) + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_024.mp3", "", "", 117755636, 4146358523, Spawn) + AddConversationOption(conversation, "You are welcome.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Those crustose creatures sure disappeared! That will certainly help me keep mouths fed around here. Thank you, " .. GetName(Spawn) .. "!") + elseif HasCompletedQuest(Spawn, RepellingCritters) and HasCompletedQuest(Spawn, ScragglyFoodstuffs) == false and HasQuest(Spawn, ScragglyFoodstuffs) == false then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ScragglyFoodstuffs) == 1 then + PlayFlavor(NPC, "", "Not much wants to grow in such an unforgiving environment, but hopefully you will find a few scraggly shrubs growing on the windy cliffs overlooking the sea, northeast of me.", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, ScragglyFoodstuffs) == 2 then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_006.mp3", "", "", 1163105313, 2486934582, Spawn) + AddConversationOption(conversation, "I was.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Not much wants to grow in such an unforgiving environment, but I hope that you were able to find us a few edible items to add to our stores, " .. GetName(Spawn) .. ".") + elseif HasCompletedQuest(Spawn, ScragglyFoodstuffs) and HasCompletedQuest(Spawn, FrigidFishing) == false and HasQuest(Spawn, FrigidFishing) == false then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FrigidFishing) == 1 then + PlayFlavor(NPC, "", "The Iceclad cod are too smart for lures or nets, but they should offer you little challenge in a fight.", "agree", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, FrigidFishing) == 2 then + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_012.mp3", "", "", 2983925092, 3211744371, Spawn) + AddConversationOption(conversation, "I'm not cleaning them though.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "You've returned, and with an arm full of fresh fish for us, " .. GetName(Spawn) .. ". That's wonderful!") + elseif HasCompletedQuest(Spawn, FrigidFishing) then + PlayFlavor(NPC, "", "Thank you for all of your help. Truly, you have been sent to us by the gods!", "thanks", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_001.mp3", "", "", 316593235, 3019636341, Spawn) + AddConversationOption(conversation, "My boat was attacked and destroyed by the orcs, apparently.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "That was a great feat, I'm telling you! So, what happened, " .. GetName(Spawn) .. "?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_002.mp3", "", "", 364246106, 545315196, Spawn) + AddConversationOption(conversation, "Me too.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Ah, that does explain how you ended up here. They've been trying to stop any and all ships from docking on Erollis and providing more forces to New Halas. I'm glad that you survived.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_003.mp3", "", "", 3988738726, 2897027247, Spawn) + AddConversationOption(conversation, "You don't have any food?", "Quest1Chat_5") + AddConversationOption(conversation, "Well, keep thinking warm thoughts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course that doesn't mean the hard part is over, mind you. I'd say you've jumped out of the frying pan to land in the fire, but that just reminds me how nice it would be to have food and a warm fire.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_004.mp3", "", "", 684238252, 3234255296, Spawn) + AddConversationOption(conversation, "I can help you.", "Quest1Chat_6") + AddConversationOption(conversation, "Good luck with that.") + StartConversation(conversation, NPC, Spawn, "I have some, sure, but it's not fit for man or beast, anymore. Bothersome, little lichen creatures keep breaking into our stores and spoiling them.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "Right away!", "OfferCrustoseRemoval") + AddConversationOption(conversation, "I refuse to squish fungus men! Goodbye.") + StartConversation(conversation, NPC, Spawn, "I would appreciate it, " .. GetName(Spawn) .. ". Slay any of the crustose defenders or sporetenders you find on the western side of the isle in search of spore samples. They congregate there amongst the big stones. Return to me when you have done this.") +end + +function Quest2Chat_1(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) == false then + SetStepComplete(Spawn, CrustoseRemoval, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_015.mp3", "", "", 2583587651, 4014807200, Spawn) + AddConversationOption(conversation, "I like your thinking!", "Quest2Chat_2") + AddConversationOption(conversation, "But killing them is more enjoyable.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "We are going to use the crustose spore samples to create a repellent against the little spoilers. There will be no need to kill them if we can just make them stay away.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_017.mp3", "", "", 2609708421, 904219877, Spawn) + AddConversationOption(conversation, "Sure thing.", "OfferRepellingCritters") + AddConversationOption(conversation, "How do I use the crustose repellent?", "Quest2Chat_4") + AddConversationOption(conversation, "On second thought, maybe not.") + StartConversation(conversation, NPC, Spawn, "Thanks. Now take this repellent potion and apply it on crustose sporetenders. They are the ones spreading their spores around. I hope to Marr that they shuffle their stems away from here! Be sure to use it on a good number of different ones so that we are sure of its effects.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_018.mp3", "", "", 3283115264, 905683886, Spawn) + AddConversationOption(conversation, "I like your thinking!", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Perhaps, but I would rather you be able to turn your fighting skills on more challenging foes, like those blasted orcs that are attacking the camp here.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_019.mp3", "", "", 2496773416, 2201749960, Spawn) + AddConversationOption(conversation, "I'll remember that.", "OfferRepellingCritters") + StartConversation(conversation, NPC, Spawn, "Ah, Good question! Open your inventory and you will find it. You can either equip it, or you can choose to use it directly from your inventory, but either way you have to target a crustose sporetender first. Then right click on the object and choose 'Use.' This will spread the repellent on your target.") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, RepellingCritters, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_022.mp3", "", "", 457686629, 137846411, Spawn) + AddConversationOption(conversation, "I'll get right on it.") + AddConversationOption(conversation, "Where are the provisions?", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "That is a relief! Now apply it to our provisions right here and keep the bothersome creatures away from them!") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_023.mp3", "", "", 2487757767, 4041358970, Spawn) + AddConversationOption(conversation, "I will get right on it!") + StartConversation(conversation, NPC, Spawn, "They are the barrels here, northwest of me.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "What can I do for you?", "Quest3Chat_2") + AddConversationOption(conversation, "Unfortunately, I am too busy right now.") + StartConversation(conversation, NPC, Spawn, "Say, I could use your help with replenishing those barrels now that you've removed the lichen creatures.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_005.mp3", "", "", 4016452199, 1810004622, Spawn) + AddConversationOption(conversation, "I'll gather them for you.", "OfferScragglyFoodstuffs") + AddConversationOption(conversation, "I'm more of a hunter, not a gatherer.") + StartConversation(conversation, NPC, Spawn, "There are some rather scraggly looking shrubs that grow on the windy cliffs overlooking the sea, northeast of here. Take the path behind me, and you can't miss them. Their tubers aren't very appetizing, but they are rich in nutrition.") +end + +function Quest3Chat_3(NPC, Spawn) + SetStepComplete(Spawn, ScragglyFoodstuffs, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_007.mp3", "", "", 256610018, 4036678874, Spawn) + AddConversationOption(conversation, "You're welcome. ", "Quest4Chat_1") + AddConversationOption(conversation, "Can I help you with anything else?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Oh, that's better than I would have hoped! Thank you!") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_008.mp3", "", "", 2456971105, 1721744123, Spawn) + AddConversationOption(conversation, "Yeah, I can do that.", "Quest4Chat_2") + AddConversationOption(conversation, "Oh, sorry. That isn't really my thing.") + StartConversation(conversation, NPC, Spawn, "May I ask another favor of you? I was hoping you might be keen on getting us some fresh fish, too.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_011.mp3", "", "", 3182846019, 423433267, Spawn) + AddConversationOption(conversation, "That's no problem.", "OfferFrigidFishing") + StartConversation(conversation, NPC, Spawn, "It would help us a great deal. You'll find the Iceclad cod surrounding this island within the freezing waters. They are not enticed by lures or nets, so you'll have to fight them.") +end + +function Quest4Chat_3(NPC, Spawn) + SetStepComplete(Spawn, FrigidFishing, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "arrin_clelland/halas/pilgrims_landing/clelland_013.mp3", "", "", 1935077662, 3458701305, Spawn) + AddConversationOption(conversation, "You're welcome.") + AddConversationOption(conversation, "On to other adventures!") + StartConversation(conversation, NPC, Spawn, "Ha ha ha! That's fine! I can do that. I have asked too much of you, as it stands. One as powerful and brave as you have bigger adventures and challenges to meet. Thank you again!") +end + +function OfferCrustoseRemoval(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) == false then + OfferQuest(NPC, Spawn, CrustoseRemoval) + end +end + +function OfferRepellingCritters(NPC, Spawn) + if HasCompletedQuest(Spawn, CrustoseRemoval) then + OfferQuest(NPC, Spawn, RepellingCritters) + end +end + +function OfferScragglyFoodstuffs(NPC, Spawn) + if HasCompletedQuest(Spawn, RepellingCritters) then + OfferQuest(NPC, Spawn, ScragglyFoodstuffs) + end +end + +function OfferFrigidFishing(NPC, Spawn) + if HasCompletedQuest(Spawn, ScragglyFoodstuffs) then + OfferQuest(NPC, Spawn, FrigidFishing) + end +end diff --git a/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua b/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua new file mode 100644 index 0000000..99d8c19 --- /dev/null +++ b/SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/AssistantWardenBjerne.lua + Script Purpose : Assistant Warden Bjerne + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "We've got the most spacious housing in all of Norrath!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Step up and take a tour of our accommodations.", "hello", 1689589577, 4560189, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/BadenMoonheart.lua b/SpawnScripts/FrostfangSea/BadenMoonheart.lua new file mode 100644 index 0000000..7f435c9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BadenMoonheart.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BadenMoonheart.lua + Script Purpose : monk trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local MONK = 6 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == MONK then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another monk?", "MonkChat1") + AddConversationOption(conversation, "It does, doesn't it? Good bye.") + StartConversation(conversation, NPC, Spawn, "You need not tell me that you are a fellow. monk. I can sense the aura of serenity that envelopes you, my friend.") + else + PlayFlavor(NPC, "", "May your path be clear, friend.", "hello", 0, 0, Spawn) + end +end + +function MonkChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "MonkChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function MonkChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good to know.", "MonkChat3") + StartConversation(conversation, NPC, Spawn, "But first and foremost, you should know the power you wield. We focus our minds and bodies through tranquility and subtleness in order to withstand attacks and reduce the amount of damage inflicted upon us. We can also use it to purge our bodies of ailments, move invisibly past an enemy or even fool opponents into believing us dead.") +end + +function MonkChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "MonkChat4") + StartConversation(conversation, NPC, Spawn, "But our discipline offers a great deal more than just defense. Our attacks are formidable and swift, as well! This allows us to often hold a foe's attention while others attack it.") +end + +function MonkChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "MonkChat5") + StartConversation(conversation, NPC, Spawn, "And although we excel at hand to hand combat, some of our brethren wield staves or hammers. Such weapons are simply an extension of yourself and can be equally effective at inflicting damage or deflecting an attacker's blade.") +end + +function MonkChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". An encumbering suit of armor would only hinder you and interfere with our superior hand to hand combat.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BarkerGordon.lua b/SpawnScripts/FrostfangSea/BarkerGordon.lua new file mode 100644 index 0000000..120aeb7 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BarkerGordon.lua @@ -0,0 +1,130 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BarkerGordon.lua + Script Purpose : Barker Gordon + Script Author : theFoof + Script Date : 2013.09.02 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + ProvidesQuest(NPC, HamBeans) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, HamBeans) and not HasQuest(Spawn, HamBeans) then + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_001.mp3", "", "", 1186893886, 14843439, Spawn) + AddConversationOption(conversation, "Hello Barker, I'm " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Good day to you, stranger! I am Barker Gordon, a native of New Halas.") + elseif GetQuestStep(Spawn, HamBeans) == 1 or GetQuestStep(Spawn, HamBeans) == 2 then + AddConversationOption(conversation, "No, not yet. Where can I find the ingredients again?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you done the feed and killed Bentor and picked up my order of beans?") + elseif GetQuestStep(Spawn, HamBeans) == 3 then + AddConversationOption(conversation, "I have. Here is the ham and beans.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you done the feed and killed Bentor and picked up my order of beans?") + elseif GetQuestStep(Spawn, HamBeans) == 4 then + PlayFlavor(NPC, "", "Now try a piece of my ham and beans, it's very good!", "beckon", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Thanks again for your help!", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_003.mp3", "", "", 1426385889, 3817885268, Spawn) + AddConversationOption(conversation, "What kind of work?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Could I interest you in some work?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_004.mp3", "", "", 3604382854, 1944496280, Spawn) + AddConversationOption(conversation, "So what's the problem?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I've been asked to make my recipe for ham and halasian beans for the New Halas City Festival. We want to impress all of our visitors!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_005.mp3", "", "", 2169381971, 1634343888, Spawn) + AddConversationOption(conversation, "So you want me to slaughter your pet pig?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "I've been raising a pig just for this occasion. I would normally slaughter him myself, but this time I've become too attached to him. I fear that I would not have the strength to see a clean cut through.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_006.mp3", "", "", 1408333344, 155634991, Spawn) + AddConversationOption(conversation, "Well, if it will help New Halas impress the rest of Norrath, I'll do it.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not slaughtering your pig for you.") + StartConversation(conversation, NPC, Spawn, "I knew ye would understand! I should have listened to others and not named him.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "barker_gordon/halas/new_halas/barker_gordon/barker_gordon_007.mp3", "", "", 4093429519, 442079211, Spawn) + AddConversationOption(conversation, "You're right. You shouldn't have named him.", "OfferHamBeans") + StartConversation(conversation, NPC, Spawn, "I promise that it will be worth it! My pig's name is Bentor the Mighty. Bentor is in the pen next to the mender's workshop, The Stone Hammer, up in New Halas proper.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks Barker. I'll return with the ingredients.") + StartConversation(conversation, NPC, Spawn, "The halasian beans at the shaman hut called Pilgrims' Hearth in southwest New Halas. Bentor the Mighty is in the pen next to the mender's workshop, The Stone Hammer, in New Halas.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Are you going to be okay?", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh, my Bentor! What a good pig you were!") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Well, okay then.", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "I'll be fine. This is the way of things, I know better than to get attached to them. It's just me old age.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I must admit it smells good.", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Here, I'll get right to work prepping the beans and cooking the ham. Just sit right there, it'll be done soon enough.") +end + +function Quest1Chat_10(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701844), Spawn) + SetStepComplete(Spawn, HamBeans, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay, I'll grab myself of a slice of ham with some beans.") + StartConversation(conversation, NPC, Spawn, "Done! Barker's ham and beans! Go ahead, try a slice. I've salted the rest of the meat so that I can use it for the City Festival.") +end + +function OfferHamBeans(NPC, Spawn) + OfferQuest(NPC, Spawn, HamBeans) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BattlemasterGolben.lua b/SpawnScripts/FrostfangSea/BattlemasterGolben.lua new file mode 100644 index 0000000..4698fee --- /dev/null +++ b/SpawnScripts/FrostfangSea/BattlemasterGolben.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BattlemasterGolben.lua + Script Purpose : Battlemaster Golben + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] +local DemandSupplies = 45 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + conversation = CreateConversation() + + PlayFlavor(NPC, "battlemaster_golben/halas/great_shelf/battlemaster_golben/battlemaster_golben001.mp3", "", "", 62773900, 972998516, Spawn) + AddConversationOption(conversation, "Yes, here are the supplies.", "Chat") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I've got no time and even less patience. Did Rockbreaker send ye?") + end +end + +function Chat(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlemaster_golben/halas/great_shelf/battlemaster_golben/battlemaster_golben002.mp3", "", "", 2225057385, 3178461226, Spawn) + AddConversationOption(conversation, "Glad to help.") + StartConversation(conversation, NPC, Spawn, "Thank Brell! Our blades are dull and our quivers empty. These new weapons will allow us to keep the orcs at bay awhile longer.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BattlepriestHerga.lua b/SpawnScripts/FrostfangSea/BattlepriestHerga.lua new file mode 100644 index 0000000..9e91a1d --- /dev/null +++ b/SpawnScripts/FrostfangSea/BattlepriestHerga.lua @@ -0,0 +1,626 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BattlepriestHerga.lua + Script Purpose : Battlepriest Herga + Script Author : theFoof + Script Date : 2013.06.04 + Script Notes : +--]] + +local LooseningGrip = 51 + +local TheCharge = 52 + +local SiegeOver = 53 + +local ForsakingGrave = 54 + +local AllRemains = 55 + +function spawn(NPC) + ProvidesQuest(NPC, LooseningGrip) + ProvidesQuest(NPC, TheCharge) + ProvidesQuest(NPC, SiegeOver) + ProvidesQuest(NPC, ForsakingGrave) + ProvidesQuest(NPC, AllRemains) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, LooseningGrip) and not HasQuest(Spawn, LooseningGrip) then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga001.mp3", "", "", 2876924371, 439822818, Spawn) + AddConversationOption(conversation, "Gadzooks! You're a ghost! And I'm leaving now, goodbye!") + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ", and I'm looking for work, not a story. Give me a task to do!", "OfferLooseningGrip") + AddConversationOption(conversation, "I am " .. GetName(Spawn) .. ". Who are you, and what is your story?", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Who approaches? Who dares to disturb the Battlepriest?") + elseif GetQuestStep(Spawn, LooseningGrip) == 1 then + PlayFlavor(NPC, "", "Remove the claws. Loosen their grip upon our land.", "sarcasm", 0, 0, Spawn) + elseif GetQuestStep(Spawn, LooseningGrip) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga011.mp3", "", "", 3711122888, 4098682136, Spawn) + AddConversationOption(conversation, "I cut the lines tethering the spears to Ry'Gorr Isle.", "Quest1Chat_8") + AddConversationOption(conversation, "I have done as you asked.", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "I sense that the Ry'Gorr's grip upon our land has lessened.") + elseif HasCompletedQuest(Spawn, LooseningGrip) and not HasCompletedQuest(Spawn, TheCharge) and not HasQuest(Spawn, TheCharge) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, TheCharge) and GetQuestStep(Spawn, TheCharge) < 4 then + PlayFlavor(NPC, "", "The orcs cling to their foothold on the floating rock named Ry'Gorr isle, west of Erollis.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TheCharge) == 4 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga019.mp3", "", "", 3475035366, 1640801191, Spawn) + AddConversationOption(conversation, "I have defeated the orcs, as promised.", "Quest2Chat_6") + AddConversationOption(conversation, "Are you finishing the story you began earlier?", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "The memories of that battle are as clear as if they'd happened yesterday. And echoes of that battle resonate to this day.") + elseif HasCompletedQuest(Spawn, TheCharge) and not HasCompletedQuest(Spawn, SiegeOver) and not HasQuest(Spawn, SiegeOver) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SiegeOver) == 1 then + PlayFlavor(NPC, "", "The orcs have manufactured crude ballistae, and aimed them at our shores.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SiegeOver) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga030.mp3", "", "", 1190652772, 2390505398, Spawn) + AddConversationOption(conversation, "I destroyed the ballistae, as promised.", "Quest3Chat_4") + AddConversationOption(conversation, "It sounds like you're continuing your story. What happened next?", "Quest3Chat_4") + AddConversationOption(conversation, "The siege weapons have been eliminated.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "To my surprise, I was still breathing. I crouched, unseen, behind their lines. The opportunity to scatter the orcs' formation was within my grasp.") + elseif HasCompletedQuest(Spawn, SiegeOver) and not HasCompletedQuest(Spawn, ForsakingGrave) and not HasQuest(Spawn, ForsakingGrave) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ForsakingGrave) == 1 then + PlayFlavor(NPC, "", "The Ry'Gorr skeletons long for no repose or reward. They simply exist to serve.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ForsakingGrave) == 2 then + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga045.mp3", "", "", 776768426, 2553961972, Spawn) + AddConversationOption(conversation, "I have eliminated several skeletons on the Forbidden Ossuary of Ice.", "Quest4Chat_5") + AddConversationOption(conversation, "I'd like to hear the rest of your story. What happened next?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I sense that the skeletal abominations have been destroyed.") + elseif HasCompletedQuest(Spawn, ForsakingGraves) and not HasCompletedQuest(Spawn, AllRemains) and not HasQuest(Spawn, AllRemains) then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 1 then + PlayFlavor(NPC, "", "Ye would honor this Battlepriest if ye could recover her helm.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 4 then + AddConversationOption(conversation, "What name would that be?", "Quest5Chat_4") + AddConversationOption(conversation, "Go on, Herga.", "Quest5Chat_4") + AddConversationOption(conversation, 'Is that name, by any chance, "lackey"?', "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Ye've returned with the helmet, a relic passed down by my ancestors from the days when we fought with giants. And for yer efforts, I have one final name for ye.") + elseif HasCompletedQuest(Spawn, AllRemains) then + PlayFlavor(NPC, "", "Hello again, Friend of Thurga.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga002.mp3", "", "", 3498579726, 1445907675, Spawn) + AddConversationOption(conversation, "Ah, the choke is named after you.", "Quest1Chat_2") + AddConversationOption(conversation, "That's a mouthful.", "Quest1Chat_5") + AddConversationOption(conversation, "What do you mean by 'Thrice Slain'?", "Quest1Chat_3") + AddConversationOption(conversation, "You lost me at 'Greetings.' Goodbye.") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ". I am Herga: Battlepriest of the Coldain, Master Tactician, Ouster of the Orcs, Leader of the Siege Upon the Choke, and She Who Was Thrice Slain.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga004.mp3", "", "", 446943, 1149478700, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest1Chat_3") + AddConversationOption(conversation, "I see. Words are merely symbols.", "Quest1Chat_7") + AddConversationOption(conversation, "I don't understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The name is unimportant. It is the deed that matters.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga006.mp3", "", "", 2461956836, 4011637342, Spawn) + AddConversationOption(conversation, "I see...", "Quest1Chat_4") + AddConversationOption(conversation, "Ah, you're not going to tell me.", "Quest1Chat_4") + AddConversationOption(conversation, "I don't understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "All in due time.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga008.mp3", "", "", 3901524477, 2476733850, Spawn) + AddConversationOption(conversation, "I could deal with the Ry'Gorr for you.", "OfferLooseningGrip") + AddConversationOption(conversation, "Why don't you deal with the Ry'Gorr yourself?", "Quest1Chat_6") + AddConversationOption(conversation, "The troubles of your people are no problem of mine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The battle for the choke rages on. The Ry'Gorr still cling to hope and they still yearn for revenge. They cast their claws upon the mainland of Erollis. They prowl the icy plains. They trouble my people.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga005.mp3", "", "", 3500318705, 1278765426, Spawn) + AddConversationOption(conversation, "Where did you get all of these names?", "Quest1Chat_3") + AddConversationOption(conversation, "Okay, okay, okay...") + StartConversation(conversation, NPC, Spawn, "Also: Champion of the Iceclad Offensive, Unwitting Pilgrim of the Lost Dwarves, She Who Shall Never Find Repose, Bear-Wrestler, Giant-Slayer, Wurm-Slayer, Bane of the Unliving, Explorer of the .. GetName(Spawn) .. of Veeshan...") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga009.mp3", "", "", 806621839, 625277708, Spawn) + AddConversationOption(conversation, "Ah, you're barely here. Well, I could deal with the Ry'Gorr.", "OfferLooseningGrip") + AddConversationOption(conversation, "I refuse to do your bidding. Goodbye.") + AddConversationOption(conversation, "I'm not interested in helping a ghost.") + StartConversation(conversation, NPC, Spawn, "My grasp upon this world is tenuous. I can no longer interfere personally.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga007.mp3", "", "", 563806533, 3464673073, Spawn) + AddConversationOption(conversation, "And what consideration would that be?", "Quest1Chat_3") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Aye. It's what the symbol represents that deserves consideration.") +end + +function Quest1Chat_8(NPC, Spawn) + SetStepComplete(Spawn, LooseningGrip, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga012.mp3", "", "", 2283183763, 3194399424, Spawn) + AddConversationOption(conversation, "What else must be done? ", "Quest2Chat_1") + AddConversationOption(conversation, "Even a declawed snow leopard has fangs.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Ye've done well, " .. GetName(Spawn) .. ", but the orcs are nothing if not tenacious.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga013.mp3", "", "", 2592535922, 910199991, Spawn) + AddConversationOption(conversation, "Oh, I'm a Clawrender now?", "Quest2Chat_2") + AddConversationOption(conversation, "I would be happy to be your champion, Herga.", "Quest2Chat_4") + AddConversationOption(conversation, "Don't presume to name me.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", Clawrender, will ye be my champion again?") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga014.mp3", "", "", 1089936534, 3828755008, Spawn) + AddConversationOption(conversation, "What's the difference?", "Quest2Chat_3") + AddConversationOption(conversation, "Was there something you wanted me to do? ", "Quest2Chat_4") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Yes. Ye carry this name with you even if others cannot see it, and even if ye yerself do not know it.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga016.mp3", "", "", 364121145, 3220691624, Spawn) + AddConversationOption(conversation, "I look forward to it.", "Quest2Chat_4") + AddConversationOption(conversation, "Must you always speak in riddles? ", "Quest2Chat_4") + AddConversationOption(conversation, "I don't feel like being lectured right now.") + StartConversation(conversation, NPC, Spawn, "Ye'll learn the difference. All in due time.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga015.mp3", "", "", 706935519, 853655924, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest2Chat_5") + AddConversationOption(conversation, "Tell me more.", "Quest2Chat_5") + AddConversationOption(conversation, "War stories bore me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "There was a great battle here. 'Twas a clash of epic proportions. We surrounded the orcish horde. We herded them onto the narrow precipice of the choke, overlooking the ocean. ") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga017.mp3", "", "", 4269378925, 1349634261, Spawn) + AddConversationOption(conversation, "What do you mean?", "OfferTheCharge") + AddConversationOption(conversation, "Was this the first time you were killed?", "OfferTheCharge") + AddConversationOption(conversation, "Do you mean that you were the first to die?", "OfferTheCharge") + AddConversationOption(conversation, "This history lesson is over. I'm out of here.") + StartConversation(conversation, NPC, Spawn, "One final charge was all that was necessary to drive them off the edge. I led that charge, and for my valor I was first-slain.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga020.mp3", "", "", 2112568660, 3269874473, Spawn) + AddConversationOption(conversation, "Hardly a fair fight.", "Quest2Chat_7") + AddConversationOption(conversation, "What do you mean by 'clinging to life'?", "Quest2Chat_7") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Clinging. Clinging to life. I led the final charge against the orcs, and for my valor I was the first to die. I was cut down, slaughtered, by the blades of a dozen grinning blue monsters. ") +end + +function Quest2Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga021.mp3", "", "", 1415485990, 2536139437, Spawn) + AddConversationOption(conversation, "Ah, that's when you were killed in the battle of the choke.", "Quest2Chat_8") + AddConversationOption(conversation, "Is this where the story ends?", "Quest2Chat_8") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "As I fell, the Ry'Gorr forces roared in unison: a triumphant guttural shriek. Impassioned by the sight of my death, they met our charge head on, and the last thing I saw as my vision faded was the orcs rushing forth.") +end + +function Quest2Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga022.mp3", "", "", 3973009160, 332773140, Spawn) + AddConversationOption(conversation, "Is this a description of the afterlife?", "Quest2Chat_9") + AddConversationOption(conversation, "Did you succeed in regaining your consciousness?", "Quest2Chat_9") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The din of battle faded, and my world went black. Yet, I was not done yet. I fought to return to consciousness. I swam through a murky void... kicking, thrashing, and struggling to find the surface of a blind bubbling sea. It felt like an age passed.") +end + +function Quest2Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga023.mp3", "", "", 478728406, 1497661248, Spawn) + AddConversationOption(conversation, "The orcs had forgotten about you?", "Quest2Chat_10") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And suddenly, the world snapped back into focus. I found myself back on the field of battle, covered in snow and blood. ") +end + +function Quest2Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga024.mp3", "", "", 2297746531, 802741759, Spawn) + AddConversationOption(conversation, "You were not yet slain?", "Quest2Chat_11") + AddConversationOption(conversation, "You were clinging to life.", "Quest2Chat_11") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The orcs had trampled over my broken body and were locked in battle with my coldain. I pulled myself to my feet. I drew breath again. The fight raged on, and I was alive.") +end + +function Quest2Chat_11(NPC, Spawn) + SetStepComplete(Spawn, TheCharge, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga025.mp3", "", "", 509339797, 2341366756, Spawn) + AddConversationOption(conversation, "I hope you healed yourself before heading back into battle.", "Quest3Chat_1") + AddConversationOption(conversation, "You must be hard to kill.", "Quest3Chat_1") + AddConversationOption(conversation, "Sounds like the orcs were in for a surprise.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "I was slain. Yet somehow I returned, clinging to life. And though my wounds were terrible, I felt nothing but fury.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga026.mp3", "", "", 3996082713, 3335501764, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest3Chat_2") + AddConversationOption(conversation, "Make up your mind.", "Quest3Chat_2") + AddConversationOption(conversation, "This is all too confusing to follow.") + StartConversation(conversation, NPC, Spawn, "The Siege was not over... is not over.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga027.mp3", "", "", 1946406976, 651799863, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest3Chat_3") + AddConversationOption(conversation, "Did you strike at the Ry'Gorr from behind?", "Quest3Chat_3") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "I crouched, unseen, behind their lines. Their backs were to me, and they were preoccupied with the dwarves before them. The opportunity to shatter the orcs' formation was within my grasp.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga028.mp3", "", "", 1067012984, 342549842, Spawn) + AddConversationOption(conversation, "I will take care of their siege weaponry.", "OfferSiegeOver") + AddConversationOption(conversation, "It sounds like you want me to destroy their siege weapons.", "OfferSiegeOver") + AddConversationOption(conversation, "Are you referring to the past or the present? This is too confusing.") + StartConversation(conversation, NPC, Spawn, "The bloody Siege is not over. The Ry'Gorr still lurk on the floating islets below. They have manufactured crude ballistae, and aimed them at our shores.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga031.mp3", "", "", 154139562, 114017871, Spawn) + AddConversationOption(conversation, "Is this when you intervened?", "Quest3Chat_5") + AddConversationOption(conversation, "Did the coldain realize you were still alive?", "Quest3Chat_5") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "My coldain were givin' it their all, but they were losing ground. We stood to lose everything we'd fought and bled for that day. ") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga032.mp3", "", "", 2869284176, 4042655876, Spawn) + AddConversationOption(conversation, "Please continue.", "Quest3Chat_6") + AddConversationOption(conversation, "But you were half-dead!", "Quest3Chat_6") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I hefted my trusty shield and hammer. Screamin' a battle cry to Brell, I set upon the orcs with a vengeance. I was bristlin' with a quick that I'd never experienced before.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga033.mp3", "", "", 4141123345, 649777350, Spawn) + AddConversationOption(conversation, "I bet they were surprised.", "Quest3Chat_7") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They were caught completely unawares. The orcs within reach of my hammer fell before my onslaught like so many snowflakes. When they turned to see who had flanked them, their faces were aghast with horror.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga034.mp3", "", "", 1128320376, 3066771275, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest3Chat_8") + AddConversationOption(conversation, "The orcs must never have expected your return.", "Quest3Chat_8") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They cringed at the sight of me, certain that they'd already seen to my demise. Shrieks of fear rang out among the Ry'Gorr, and then...") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga035.mp3", "", "", 679495906, 2871959311, Spawn) + AddConversationOption(conversation, "Go on.", "Quest3Chat_9") + AddConversationOption(conversation, "Fortune, or the gods, smiled upon you.", "Quest3Chat_9") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "And then, their lines broke. Orcs fled to either side to avoid my wrath. Fear spread through their ranks like wildfire. They scattered, and we pressed the advantage.") +end + +function Quest3Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga036.mp3", "", "", 1193017737, 3953773315, Spawn) + AddConversationOption(conversation, "You drove them off the choke?", "Quest3Chat_10") + AddConversationOption(conversation, "Ha! That'll teach the orcs!", "Quest3Chat_10") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "They sought quarter from our attacks, but none was given. Our foes retreated up against the ledge of the choke, and then they spilled over it. ") +end + +function Quest3Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga037.mp3", "", "", 2443596305, 594093488, Spawn) + AddConversationOption(conversation, "So you were victorious?", "Quest3Chat_11") + AddConversationOption(conversation, "You didn't survive that battle, did you?", "Quest3Chat_11") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Scores of orcs toppled from the cliffs into the icy waters below. Our forces drove them into the ocean. In the chaos, I went over the edge with them, still swinging my hammer mid-descent.") +end + +function Quest3Chat_11(NPC, Spawn) + SetStepComplete(Spawn, SiegeOver, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga038.mp3", "", "", 873707687, 1731330082, Spawn) + AddConversationOption(conversation, "How were you thrice-slain?", "Quest3Chat_12") + AddConversationOption(conversation, "When did you return as a spirit?", "Quest3Chat_12") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "I plunged into the frigid sea water, still grappling with an orc. My body was wracked with wounds and weariness. It was that moment that I breathed my last. I died again, and became she who was twice-slain.") +end + +function Quest3Chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga039.mp3", "", "", 1915210781, 188105745, Spawn) + AddConversationOption(conversation, "I hope that time comes soon.", "Quest4Chat_1") + AddConversationOption(conversation, "I suppose you'll explain it to me, eventually.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "All in due time.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga040.mp3", "", "", 3946585485, 2195203670, Spawn) + AddConversationOption(conversation, "Is this when you came back as a ghost?", "Quest4Chat_2") + AddConversationOption(conversation, "Are you speaking of the reanimated Ry'Gorr skeletons?", "Quest4Chat_2") + AddConversationOption(conversation, "Who or what are you referring to?", "Quest4Chat_2") + AddConversationOption(conversation, "I can never understand you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It is not an arbitrary whim that leads the dead to forsake their graves and mingle again with their earthly associates.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga041.mp3", "", "", 1296890403, 1990586167, Spawn) + AddConversationOption(conversation, "You have continued to help them, as demonstrated by our arrangement.", "Quest4Chat_3") + AddConversationOption(conversation, "Did you need assistance with something else?", "Quest4Chat_3") + AddConversationOption(conversation, "Speaking of repose, I need a rest. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I long for no repose or reward. I simply wish to assist my brethren.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga042.mp3", "", "", 3151113147, 3002768829, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest4Chat_4") + AddConversationOption(conversation, "You must be referring to the Ry'Gorr skeletons.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "They long for no repose or reward. They simply exist to serve, as tools of their masters.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga043.mp3", "", "", 268915202, 3145348272, Spawn) + AddConversationOption(conversation, "I will destroy the Ry'Gorr skeletons for you.", "OfferForsakingGrave") + AddConversationOption(conversation, "Just tell me where to find them.", "OfferForsakingGrave") + AddConversationOption(conversation, "I'm not even sure what you're talking about.") + StartConversation(conversation, NPC, Spawn, "They are tools of destruction. They are marionettes dancing on invisible strings, controlled by the necromancers that created them. The Ry'Gorr skeletons are unholy abominations with no mind, no will, and a nefarious purpose.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga046.mp3", "", "", 607398885, 1472725438, Spawn) + AddConversationOption(conversation, "What was it?", "Quest4Chat_6") + AddConversationOption(conversation, "It was a spirit ward, placed by a coldain shaman, wasn't it?", "Quest4Chat_6") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I had returned from the grave to haunt my foes once again. Upon my second death, I was once again plunged into the inky darkness of the afterlife. And after what felt like another eternity of thrashing and struggling, I glimpsed a speck of luminance.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga047.mp3", "", "", 3570519032, 1449010576, Spawn) + AddConversationOption(conversation, "So you were able to lead them into battle once again?", "Quest4Chat_7") + AddConversationOption(conversation, "Tell me more.", "Quest4Chat_7") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It was the beacon, a spirit ward placed by one of our coldain shaman, and it was calling me home. I followed the light, and rejoined my brethren as a spirit.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga048.mp3", "", "", 1091068909, 2556774809, Spawn) + AddConversationOption(conversation, "The orcs must never have expected your return.", "Quest4Chat_8") + AddConversationOption(conversation, "This story doesn't have a happy ending, does it?", "Quest4Chat_8") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "For awhile, I led the coldain that fought with me on the choke. The spirits of those that did not survive the battle followed me tirelessly. Our ranks swelled as more fallen coldain found their way back.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga049.mp3", "", "", 2856349899, 3435957027, Spawn) + AddConversationOption(conversation, "How was he able to stop you?", "Quest4Chat_9") + AddConversationOption(conversation, "I don't like the sound of this Ry'Gorr necromancer.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "As a group, we were unstoppable. No one, man or beast, dead or breathing, could withstand our combined might. We continued to harass the orcs for months, until their necromancer, Orug Deathmaker, uncovered a method to stop me. ") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga050.mp3", "", "", 863524022, 660387417, Spawn) + AddConversationOption(conversation, "I can understand why that would concern them.", "Quest4Chat_10") + AddConversationOption(conversation, "The edges of Norrath aren't that far, here on Erollis.", "Quest4Chat_10") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Orug Deathmaker recognized how much of a danger my existence represented. His orcs fear me, and for good reason. My spectral soldiers would follow me to the edges of Norrath, and beyond.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga051.mp3", "", "", 3393923414, 4073776454, Spawn) + AddConversationOption(conversation, "I see. And thus you were thrice slain.", "Quest4Chat_11") + AddConversationOption(conversation, "I see. Your grasp is now tenuous.", "Quest4Chat_11") + AddConversationOption(conversation, "I don't have time for this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And so, the orcs recovered my body from the icy deep, and Orug destroyed it in a ritual meant to exorcise my spirit. His ritual was successful, as it eliminated my ability to directly affect this world. And thus...") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, ForsakingGrave, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga052.mp3", "", "", 1152246518, 887448784, Spawn) + AddConversationOption(conversation, "I will happily help you in your endeavors.", "Quest5Chat_1") + AddConversationOption(conversation, "Was there anything else you needed?", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aye, and thus I was thrice slain. It is only through your deeds that I am able to continue my work here. I long for no repose or reward. I simply wish to assist my brethren.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga053.mp3", "", "", 3620088043, 2212562054, Spawn) + AddConversationOption(conversation, "Of course, Herga.", "Quest5Chat_2") + AddConversationOption(conversation, "You addressed me with a title again.", "Quest5Chat_2") + AddConversationOption(conversation, "I'm afraid I must be going.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", Clawrender, Orcslayer, Siege Stopper, Bane of the Unliving, Friend to the coldain. Will ye be my champion again?") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga054.mp3", "", "", 817762038, 3762145835, Spawn) + AddConversationOption(conversation, "It would be my honor.", "Quest5Chat_3") + AddConversationOption(conversation, "I see what you mean.", "Quest5Chat_3") + AddConversationOption(conversation, "This is an awful lot of work for a rusty old relic.") + StartConversation(conversation, NPC, Spawn, "Though the orcs have destroyed my body, my battle helm still remains intact. It means much to me, as ye'll discover. Ye would honor this Battlepriest if ye could recover it from the ice jetty below the cliff named after me.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga055.mp3", "", "", 2651064333, 3864508293, Spawn) + AddConversationOption(conversation, "Should I give this helm to your family?", "OfferAllRemains") + AddConversationOption(conversation, "I'm sure your people will want to have the helm back.", "OfferAllRemains") + AddConversationOption(conversation, "It's not like you can wear it again. This is a waste of time.") + StartConversation(conversation, NPC, Spawn, "There is not much left of me now. My corporeal form has been defiled and destroyed by the Ry'Gorr. My spirit is weak.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga058.mp3", "", "", 2433653764, 1582075535, Spawn) + AddConversationOption(conversation, "It's been a pleasure. ", "Quest5Chat_5") + AddConversationOption(conversation, "Your valor is legendary.", "Quest5Chat_5") + AddConversationOption(conversation, "If only friends were currency, that would mean something.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Ye have many names, " .. GetName(Spawn) .. ", but today ye've earned the name 'Friend of Herga.'") +end + +function Quest5Chat_5(NPC, Spawn) + SetStepComplete(Spawn, AllRemains, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "battlepriest_herga/halas/great_shelf/battlepriest_herga/battlepriest_herga059.mp3", "", "", 584614622, 2543315634, Spawn) + AddConversationOption(conversation, "I'd wish you good rest, but I know you'll never rest so long as your people need you.") + AddConversationOption(conversation, "Farewell, good Battlepriest. I will treasure the helm.") + AddConversationOption(conversation, "I can't get out of here fast enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "For retrieving my helm, I'd like to return the favor. Please take this. Yer helmet is oft all that stands between ye and the hereafter.") +end + +function OfferLooseningGrip(NPC, Spawn) + OfferQuest(NPC, Spawn, LooseningGrip) +end + +function OfferTheCharge(NPC, Spawn) + OfferQuest(NPC, Spawn, TheCharge) +end + +function OfferSiegeOver(NPC, Spawn) + OfferQuest(NPC, Spawn, SiegeOver) +end + +function OfferForsakingGrave(NPC, Spawn) + OfferQuest(NPC, Spawn, ForsakingGrave) +end + +function OfferAllRemains(NPC, Spawn) + OfferQuest(NPC, Spawn, AllRemains) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BelkaThunderheart.lua b/SpawnScripts/FrostfangSea/BelkaThunderheart.lua new file mode 100644 index 0000000..4d9090b --- /dev/null +++ b/SpawnScripts/FrostfangSea/BelkaThunderheart.lua @@ -0,0 +1,826 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BelkaThunderheart.lua + Script Purpose : Belka Thunderheart + Script Author : theFoof + Script Date : 2013.05.31 + Script Notes : +--]] + +local DisplacedDiscouraged = 37 + +local ReclaimingHonor = 38 + +local TisUnnatural = 39 + +local PouringSkellies = 40 + +local NoWork = 41 + +local TacklingBasilisks = 42 + +local DomesticationSurvivalism = 43 + +local ReportSpine = 44 + +function spawn(NPC) + ProvidesQuest(NPC, DisplacedDiscouraged) + ProvidesQuest(NPC, ReclaimingHonor) + ProvidesQuest(NPC, TisUnnatural) + ProvidesQuest(NPC, PouringSkellies) + ProvidesQuest(NPC, NoWork) + ProvidesQuest(NPC, TacklingBasilisks) + ProvidesQuest(NPC, DomesticationSurvivalism) + ProvidesQuest(NPC, ReportSpine) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, DisplacedDiscouraged) and not HasQuest(Spawn, DisplacedDiscouraged) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Aah! You're a blue dwarf! I think I need to leave now. Goodbye.") + AddConversationOption(conversation, "And into the fire? But just who exactly are you, and why you are here?", "Quest1Chat_1") + AddConversationOption(conversation, "I am not interested in philosophy. Just give me some work to do and skip the chat.", "OfferDisplacedDiscouraged") + StartConversation(conversation, NPC, Spawn, "Out of the frying pan...") + elseif GetQuestStep(Spawn, DisplacedDiscouraged) == 1 then + PlayFlavor(NPC, "", "the Ry'Gorr raiders aren't making our hard lives any easier.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DisplacedDiscouraged) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I dealt with the orcs, as promised.", "Quest1Chat_10") + AddConversationOption(conversation, "Dreary existence, isn't it?", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Yer still alive, " .. GetName(Spawn) .. ". Good, good. That's about as joyous as the news gets around here.") + elseif HasCompletedQuest(Spawn, DisplacedDiscouraged) and not HasCompletedQuest(Spawn, ReclaimingHonor) and not HasQuest(Spawn, ReclaimingHonor) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ReclaimingHonor) == 1 then + PlayFlavor(NPC, "", "Make those Ry'Gorr raiders suffer for what they've done.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ReclaimingHonor) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Here are the signet rings.", "Quest2Chat_5") + AddConversationOption(conversation, "I took their lives and then I took back the rings.", "Quest2Chat_5") + AddConversationOption(conversation, "I did as you asked, but their suffering won't end yours.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have suffered for what they've done, I hope?") + elseif HasCompletedQuest(Spawn, ReclaimingHonor) and not HasCompletedQuest(Spawn, TisUnnatural) and not HasQuest(Spawn, TisUnnatural) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TisUnnatural) == 1 then + PlayFlavor(NPC, "", "Engage the skeletal horde, and slay them where they stand.", "point", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TisUnnatural) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes, I've completed my task.", "Quest3Chat_8") + AddConversationOption(conversation, "I destroyed the skeletons.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Have ye smashed the undead? Have ye given the spirits a hand?") + elseif HasCompletedQuest(Spawn, TisUnnatural) and not HasCompletedQuest(Spawn, PouringSkellies) and not HasQuest(Spawn, PouringSkellies) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, PouringSkellies) == 1 then + PlayFlavor(NPC, "", "Don't waste any of Fronden's brew, if ye can help it.", "threaten", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PouringSkellies) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Worked like a charm.", "Quest4Chat_12") + AddConversationOption(conversation, "Yes, and I can't believe anyone would drink this.", "Quest4Chat_12") + StartConversation(conversation, NPC, Spawn, "Did Fronden's Finest do the trick? Were ye able to obliterate the bone piles?") + elseif HasCompletedQuest(Spawn, PouringSkellies) and not HasCompletedQuest(Spawn, NoWork) and not HasQuest(Spawn, NoWork) then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NoWork) == 1 then + PlayFlavor(NPC, "", "Recover as much of that velium as ye can.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, NoWork) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I've got plenty.", "Quest5Chat_6") + AddConversationOption(conversation, "All that you require and more.", "Quest5Chat_6") + AddConversationOption(conversation, "Are you more worried about your precious metal than my well-being?", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Ah, ye've returned, " .. GetName(Spawn) .. ". How much velium were ye able to recover?") + elseif HasCompletedQuest(Spawn, NoWork) and not HasCompletedQuest(Spawn, TacklingBasilisks) and not HasQuest(Spawn, TacklingBasilisks) then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TacklingBasilisks) == 1 then + PlayFlavor(NPC, "", "I'll be interested in hearing how ye fare against the basilisks.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TacklingBasilisks) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "They are vicious creatures.", "Quest6Chat_9") + AddConversationOption(conversation, "Based on the eggs and nests, I'd say the basilisks are rapidly reproducing.", "Quest6Chat_9") + AddConversationOption(conversation, "They are like other wild animals: they fight to protect themselves and their young.", "Quest6Chat_9") + StartConversation(conversation, NPC, Spawn, "Tell me about the basilisks, " .. GetName(Spawn) .. ".") + elseif HasCompletedQuest(Spawn, TacklingBasilisks) and not HasCompletedQuest(Spawn, DomesticationSurvivalism) and not HasQuest(Spawn, DomesticationSurvivalism) then + Quest7Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + PlayFlavor(NPC, "", "I'd bet my left braid we could train the basilisks, if we only had some of their eggs.", "ponder", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DomesticationSurvivalism) == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That's not a very original name.", "Quest7Chat_7") + AddConversationOption(conversation, "Best of luck raising and taming them!", "Quest7Chat_8") + AddConversationOption(conversation, "I hope you're right about domesticating these beasts.", "Quest7Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh, look at all those basilisk eggs ye brought! They're gonna hatch and then grow up to be the cutest nippers. I'm naming this one Lockjaw.") + elseif HasCompletedQuest(Spawn, DomesticationSurvivalism) and not HasCompletedQuest(Spawn, ReportSpine) and not HasQuest(Spawn, ReportSpine) then + Quest8Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ReportSpine) == 1 then + PlayFlavor(NPC, "", "Report to Tad in Cragged Spine as soon as ye can.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, ReportSpine) then + PlayFlavor(NPC, "", "Pleasure to see ye again!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest1Chat_2") + AddConversationOption(conversation, "This is depressing.") + StartConversation(conversation, NPC, Spawn, "Out of the fire, and into the icy abyss, more like. We are the coldain, and we've been through more than you can imagine.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did you get here?", "Quest1Chat_3") + AddConversationOption(conversation, "What happened to Velious?", "Quest1Chat_8") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I don't suppose ye've had the chance to hear about how we got here, have ye? Well, in case ye haven't noticed, we're not in Velious anymore.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happened next?", "Quest1Chat_4") + AddConversationOption(conversation, "Sounds like an excuse. Did they get away?", "Quest1Chat_4") + AddConversationOption(conversation, "This is a bit too long-winded for me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Not more than ten years back, a group of us coldain were tracking down a band of unruly Ry'Gorr orcs. We'd chased 'em to the ends of the continent and had 'em good and cornered near the edge of the Iceclad Ocean. And moments before we were able to run them down, the sky went perfectly dark.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart006.mp3", "", "", 183388199, 507572177, Spawn) + AddConversationOption(conversation, "Saw what coming?", "Quest1Chat_5") + AddConversationOption(conversation, "The timing doesn't make sense. The cataclysm occurred long ago.", "Quest1Chat_9") + AddConversationOption(conversation, "Something tells me this is how you got here.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "Within minutes, a chaotic storm rained ash, stone, and hellfire down upon us. Clouds of hissing steam a hunnerd' dwarves high erupted each time a shard of rock collided with the snow. The land trembled as if Veeshan herself sought to rend the continent in 'twain with her massive claws. And then, we saw it coming.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Then what happened?", "Quest1Chat_6") + AddConversationOption(conversation, "Very punny.", "Quest1Chat_6") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "A monstrous shard of rock, pointy like a harpy's claw and big as a mountain, was headed right for us. There was no time to react, nor run, nor make an escape. This chunk of earth struck down between us and the mainland. The immense blast from the impact showered us with a ton of ice. I was knocked out, cold.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perhaps I could help you with the orcs.", "Quest1Chat_7") + AddConversationOption(conversation, "That is a horrible story. I'll be going now.") + StartConversation(conversation, NPC, Spawn, "When I awoke and shook off the snow, I found myself here, floating on this chunk of Brell-forsaken ice in the middle of nowhere. There's barely enough of us and barely enough resources to make do. And if that wasn't bad enough, the Ry'Gorr orcs we were battling survived the blast too. They make it even more difficult to eke out a living on this rock.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart010.mp3", "", "", 679658431, 464088819, Spawn) + AddConversationOption(conversation, "I'm happy to help.", "OfferDisplacedDiscouraged") + AddConversationOption(conversation, "I just hope this will cease your bellyaching.") + StartConversation(conversation, NPC, Spawn, "That'd be a small blessing, " .. GetName(Spawn) .. ". The orc raiders are not far from here. Look for them off to the north, down on the jetties of ice below the choke and Pride Overlook. They're coming over from Ry'Gorr Isle.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How did you get here?", "Quest1Chat_3") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer guess is as good as mine. It may be as we left it, or it may have been obliterated by the cataclysm.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So what happened next?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm sorry. I'll leave you to your grieving.") + StartConversation(conversation, NPC, Spawn, "Ye know yer history, " .. GetName(Spawn) ..". This was more recent. I won't pretend to understand the movements of the heavens, but for us the Age of Cataclysms is barely over... if you can call this 'over'.") +end + +function Quest1Chat_10(NPC, Spawn) + SetStepComplete(Spawn, DisplacedDiscouraged, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Like I said before, I'm happy to lend a hand.", "Quest2Chat_1") + AddConversationOption(conversation, "I would appreciate that.", "Quest2Chat_1") + AddConversationOption(conversation, "If you can get over your depression long enough to do so.") + StartConversation(conversation, NPC, Spawn, "Well, I suppose I should be thanking ye for yer help.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest2Chat_3") + AddConversationOption(conversation, "Of course. An honorable orc is an oxymoron.", "Quest2Chat_2") + AddConversationOption(conversation, "This will lead to more work, no doubt. I take my leave.") + StartConversation(conversation, NPC, Spawn, "Those blasted Ry'Gorr have no shame, and no honor.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart015.mp3", "", "", 2910498444, 2424387451, Spawn) + AddConversationOption(conversation, "I thought that'd cheer you up.", "Quest2Chat_3") + AddConversationOption(conversation, "Thank you.", "Quest2Chat_3") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "Ah. Haha! I like the way ye think, " .. GetName(Spawn) .. "!") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart016.mp3", "", "", 2020955980, 3047989742, Spawn) + AddConversationOption(conversation, "And, like you said, the orcs have no honor.", "Quest2Chat_4") + AddConversationOption(conversation, "I must be going.") + StartConversation(conversation, NPC, Spawn, "The blue monsters have taken to looting the signet rings from the coldain they've killed in combat. They wear the rings around their necks, strung on leather, and displayed prominently as badges of 'honor.'") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart017.mp3", "", "", 736834123, 822536870, Spawn) + AddConversationOption(conversation, "I would be happy to deliver your message of justice.", "OfferReclaimingHonor") + AddConversationOption(conversation, "Not at this time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, precisely. Now we need to make sure they have no signet rings, either. In fact, I'd like ye to deliver a strong message to any Ry'Gorr that considers wearing my brethren's ring as a trophy. I want the orcs to understand that it puts a target on their head. Ye up for recovering the rings?") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, ReclaimingHonor, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is something else bothering you?", "Quest3Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest3Chat_1") + AddConversationOption(conversation, "I had hoped that would cheer you up.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Yes, yes. Ye have been... most helpful.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's most unnatural?", "Quest3Chat_2") + AddConversationOption(conversation, "You mean the skeletal orcs?", "Quest3Chat_7") + AddConversationOption(conversation, "You seem troubled. I will take my leave.") + StartConversation(conversation, NPC, Spawn, "'Tis most unnatural.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart023.mp3", "", "", 1340808412, 2731736557, Spawn) + AddConversationOption(conversation, "The spirits of your brethren bother you?", "Quest3Chat_3") + AddConversationOption(conversation, "This is too disturbing to speak of. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Have a look yonder, " .. GetName(Spawn) .. ", to the battlefield south of here. Ye'll see not only the threat of the Ry'Gorr orcs, arisen from the dead to harry us again, but the spirits of fallen coldain that march against them.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "To be denied that afterlife is an atrocity.", "Quest3Chat_6") + AddConversationOption(conversation, "But their sacrifice is saving the lives of your people.", "Quest3Chat_7") + AddConversationOption(conversation, "I'm not certain you appreciate their efforts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Don't get me wrong, " .. GetName(Spawn) .. ". I appreciate their assistance in holding back the endless tide of the undead, it's just that... when the day comes and I pass on, I hope to be seated at Brell's table. I'd like to partake in the feasts of roasted walrus, steamed mushrooms, and gingered lichen, all washed down with a tankard of Brell's finest.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do it.", "OfferTisUnnatural") + AddConversationOption(conversation, "I don't have the stomach for this.") + StartConversation(conversation, NPC, Spawn, "We must do something to bring an end to this stalemate. Give our fallen coldain a hand on the battlefield. Engage the skeletal horde, and slay them where they stand.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I see. Tell me more.", "Quest3Chat_2") + AddConversationOption(conversation, "This is bothersome. I must go.") + StartConversation(conversation, NPC, Spawn, "Aye, that, and the spirits of the fallen coldain that have arisen to do battle against them.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "I'm not barbaric, but I'm also not shallow and selfish. I wish I could say the same for you. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Precisely. And I'm proud of an outsider like yerself fer being able to see that. Yer not half as barbaric as I expected.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest3Chat_4") + AddConversationOption(conversation, "I will leave you to your reverie.") + StartConversation(conversation, NPC, Spawn, "Aye, 'tis true. But they've earned themselves a place amongst the greatest heroes of the coldain. They should be sharing a leg of mutton with Colin Dain, 'imself, not locking horns with undead for all eternity.") +end + +function Quest3Chat_8(NPC, Spawn) + SetStepComplete(Spawn, TisUnnatural, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart030.mp3", "", "", 3401980101, 2087482309, Spawn) + AddConversationOption(conversation, "My pleasure.", "Quest4Chat_1") + AddConversationOption(conversation, "Glad I could help.", "Quest4Chat_1") + AddConversationOption(conversation, "Did you need something else?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "That's a relief for me, and for the coldain spirits, " .. GetName(Spawn) .. ". Thank ye for laying those skeletons to rest.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "This is a battle of attrition.", "Quest4Chat_2") + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "This is a fool's errand. We'll never outlast them.") + StartConversation(conversation, NPC, Spawn, "I appreciate all your efforts, " .. GetName(Spawn) .. ", but we're no closer now to eradicating the skeletal horde than we were before. Can ye comprehend the kind of mess we're in now?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest4Chat_3") + AddConversationOption(conversation, "Oh, they're raising the skeletons again.", "Quest4Chat_10") + AddConversationOption(conversation, "I don't like being spoken down to. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, but without the attrition part.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm getting out of here!") + StartConversation(conversation, NPC, Spawn, "It doesn't matter how many times ye cut the bone rattlers down. They come right back.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You won't find any solutions in that bottle.", "Quest4Chat_5") + AddConversationOption(conversation, "I'll take two of whatever you're having.", "Quest4Chat_8") + AddConversationOption(conversation, "It's not like you can pour ale on the skeletons to destroy them.", "Quest4Chat_9") + AddConversationOption(conversation, "This is no time to drink! I'm going to do something useful.") + StartConversation(conversation, NPC, Spawn, "Ye know, back home, as rough as things were we never had to deal with undead orcs. We're ill-prepared for this kinda' threat. So we're gonna have to improvise. I have an idea. [Uncorks a flask of alcohol]") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are you planning on doing with that?", "Quest4Chat_6") + AddConversationOption(conversation, "This is no time to drink! I'm going to do something useful.") + StartConversation(conversation, NPC, Spawn, "Says ye! And this isn't just any ol' bottle of spirits.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And you drink that?", "Quest4Chat_7") + AddConversationOption(conversation, "What if it doesn't work?", "Quest4Chat_9") + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "This is Fronden's Finest: it starts as cool fresh Thurgadin springwater, is distilled with the finest mashed grain, ages for 53 years in a white oak cask, before receiving blessing from priests o' Brell. It carries more kick than an orn'ry mountain goat. And on top o' all that, I'm willing te bet it'll make short work of those manky dreadfuls.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "It's more of a sipping drink.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Just how strong is that drink?", "Quest4Chat_6") + AddConversationOption(conversation, "If you're not sharing, I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Haha! A half swig of this'd knock you flat, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll give your plan a try.", "OfferPouringSkellies") + AddConversationOption(conversation, "This is lunacy. Farewell.") + StartConversation(conversation, NPC, Spawn, "We'll be in the same miserable spot we're in now.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "There must be a way to deal with them permanently.", "Quest4Chat_4") + AddConversationOption(conversation, "I'm getting out of here!") + StartConversation(conversation, NPC, Spawn, "And again... and again, which means all our efforts have been for naught thus far. It doesn't matter how many times ye cut the bone rattlers down. They come right back.") +end + +function Quest4Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Just what is in that flask?", "Quest4Chat_6") + AddConversationOption(conversation, "I don't even want to know. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Don't be so sure about that, and this ain't ale!") +end + +function Quest4Chat_12(NPC, Spawn) + SetStepComplete(Spawn, PouringSkellies, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It's a good thing you had that flask handy.", "Quest5Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest5Chat_1") + AddConversationOption(conversation, "You seem much less depressed than when we first met.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aha! Now that's dwarven ingenuity at work! Making do with what ye have is what being a coldain is about.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Now that the fight isn't hopeless, perhaps we can look into ways to improve our odds.", "Quest5Chat_2") + AddConversationOption(conversation, "I'm interested in helping any way I can.", "Quest5Chat_3") + AddConversationOption(conversation, "Seems like I've done enough already. Goodbye.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. "! Thanks to yer efforts, we're finally turning the tide against the orcs. But we can't afford to rest just yet. There's still a pitched battle going on out there.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you need?", "Quest5Chat_3") + AddConversationOption(conversation, "Seems like I've done enough already. Goodbye.") + StartConversation(conversation, NPC, Spawn, "My thoughts exactly. I'm glad yer on the same page.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "There are probably bits of it strewn across the battlefield.", "Quest5Chat_4") + AddConversationOption(conversation, "No, but I'm sure you're about to tell me.", "Quest5Chat_5") + AddConversationOption(conversation, "I know where I'll be: gone. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Our weapons and shields 'ave seen their fair share of action, and this has taken a toll on their effectiveness. They can be repaired, but of course we need the metal to do so. And ye know where that metal is?") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So you need someone to gather these velium shards?", "Quest5Chat_5") + AddConversationOption(conversation, "I'm no fetcher. Farewell.") + StartConversation(conversation, NPC, Spawn, "Come to the head of the class! Yer absolutely right.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course. You need only to ask.", "OfferNoWork") + AddConversationOption(conversation, "Yes, but I expect to be rewarded.", "OfferNoWork") + AddConversationOption(conversation, "No, you can fend for yourselves now.") + StartConversation(conversation, NPC, Spawn, "Ye've been such a help in the past, and ye've proven yerself a capable sort. Would you be able to assist us in this endeavor? Pick up as many of the velium shards as you can carry and bring them back here.") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, NoWork, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was a dangerous job.", "Quest6Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "This velium ye scavenged will be an immense help to the coldain forces. Our axes will be sharper and our shields sturdier.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Okay.", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "No, but ye look fine to me. If something's wrong, yer hiding it well.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm listening.", "Quest6Chat_2") + AddConversationOption(conversation, "You mean crazier than scavenging pieces of scrap metal in the middle of a war zone?", "Quest6Chat_6") + AddConversationOption(conversation, "I'm not up for more crazy right now. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I have another idea. It's a plan that could help us in our plight against the Ry'Gorr. Now that we have a little breathing room, thanks to ye, we can finally explore this possibility. This may sound crazy, but just hear me out.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What's the reason?", "Quest6Chat_3") + AddConversationOption(conversation, "I can't even imagine why this would be necessary.", "Quest6Chat_8") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Actually, on second thought, I'll explain it after yer through. 'Tis easier this way. The crux of the matter is that I need ye to take down a tackle of basilisks.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Well, far be it from me to argue with the 'plan'. What needs to be done?", "Quest6Chat_4") + AddConversationOption(conversation, "Alright, I'm in.", "Quest6Chat_4") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "They're dangerous beasts, fer one. And also, I've got a plan.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart060.mp3", "", "", 1232599488, 1599939111, Spawn) + AddConversationOption(conversation, "This is for research, isn't it?", "Quest6Chat_5") + AddConversationOption(conversation, "I will be back shortly.", "OfferTacklingBasilisks") + AddConversationOption(conversation, "I've had second thoughts. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The frostbiters are off to the east from here, past the battlefield. Ye'll need to tangle with a bunch of them. Afterwards, come back and let me know how it went.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "belka_thunderheart/halas/great_shelf/belka_thunderheart/belka_thunderheart081.mp3", "", "", 1553643763, 2988219889, Spawn) + AddConversationOption(conversation, "Yes. I will be back shortly.", "OfferTacklingBasilisks") + StartConversation(conversation, NPC, Spawn, "Aye. Yer correct in that. Are ye still interested?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "You mean crazier than storming a battlefield and pouring Dwarven whiskey on orc bones?", "Quest6Chat_7") + AddConversationOption(conversation, "I should leave now while I still have my skin.") + StartConversation(conversation, NPC, Spawn, "Well...") +end + +function Quest6Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'm listening.", "Quest6Chat_2") + AddConversationOption(conversation, "I should leave now while I still have my skin.") + StartConversation(conversation, NPC, Spawn, "Ye may have a point there, but jus' listen!") +end + +function Quest6Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Trust is in short supply on this floating chunk of ice. I'll do it.", "Quest6Chat_4") + AddConversationOption(conversation, "I do trust you, Belka.", "Quest6Chat_4") + AddConversationOption(conversation, "I won't help you if I don't know the reason why. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ye'll just have to trust me on this one, " .. GetName(Spawn) .. ".") +end + +function Quest6Chat_9(NPC, Spawn) + SetStepComplete(Spawn, TacklingBasilisks, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are you going to explain why I was tasked with hunting basilisks?", "Quest7Chat_1") + AddConversationOption(conversation, "Was this a test?", "Quest7Chat_1") + AddConversationOption(conversation, "I'm still waiting to hear the reason.", "Quest7Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm... This was a most successful venture. Ye've done good.") +end + +function Quest7Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean by an understanding?", "Quest7Chat_2") + AddConversationOption(conversation, "Tell me what we've learned.", "Quest7Chat_2") + AddConversationOption(conversation, "The only understanding I have is that you've wasted my time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "So, now that you're back, I think I can let you in on the plan. Based off your experiences dealing with the nearby basilisks, we have a better understanding of the creatures. ") +end + +function Quest7Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What question would that be?", "Quest7Chat_3") + AddConversationOption(conversation, "Can they be tamed?", "Quest7Chat_6") + AddConversationOption(conversation, "You had me fight them to see if they were mean? I could have told you that just by looking at them!") + StartConversation(conversation, NPC, Spawn, "We know that they're ferocious fighters. We know they're feral. Finally, we know that they're fending off anyone that approaches their nests. These nests are full of unhatched young. Ye see what I'm getting at? Only one question remains.") +end + +function Quest7Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh, I see!", "Quest7Chat_4") + AddConversationOption(conversation, "I'm not sure that's feasible. Count me out.") + StartConversation(conversation, NPC, Spawn, "If'n we can raise the little nippers into loyal allies that'll fight the orcs, alongside us!") +end + +function Quest7Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "And therefore, basilisks could be instrumental in holding back the Ry'Gorr.", "Quest7Chat_5") + AddConversationOption(conversation, "You probably don't know the first thing about animal training. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "My cousin, Frostpaw, was an animal tamer. He always had a pack of trained direwolves at his side. Those hounds were instrumental in holding back the Kromrif. ") +end + +function Quest7Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Someone needs to harvest those eggs.", "OfferDomesticationSurvivalism") + AddConversationOption(conversation, "I'm through with menial labor. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. If he could tame wolves, I'm betting we could tame the basilisks. Ye can probably guess what I'm going to ask next.") +end + +function Quest7Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest7Chat_4") + AddConversationOption(conversation, "Your flattery is self-serving, but I accept it just the same.", "Quest7Chat_4") + AddConversationOption(conversation, "I know when I'm being buttered up. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ye never cease to amaze me, " .. GetName(Spawn) .. ".") +end + +function Quest7Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Perfect!", "Quest7Chat_8") + AddConversationOption(conversation, "Very funny.") + StartConversation(conversation, NPC, Spawn, "Alright. How about " .. GetName(Spawn) .. ", instead?") +end + +function Quest7Chat_8(NPC, Spawn) + SetStepComplete(Spawn, DomesticationSurvivalism, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest8Chat_1") + AddConversationOption(conversation, "Did you have more work for me?", "Quest8Chat_1") + AddConversationOption(conversation, "And here I was looking forward to incubating your basilisk eggs.", "Quest8Chat_1") + StartConversation(conversation, NPC, Spawn, "And I'm afraid this is where we'll be parting ways.") +end + +function Quest8Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Your tune has changed.", "Quest8Chat_2") + AddConversationOption(conversation, "I'm happy to do my part.", "Quest8Chat_3") + AddConversationOption(conversation, "I just can't wait to get out of here.", "Quest8Chat_5") + AddConversationOption(conversation, "It's never enough with you. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Ye've done so much for the coldain, " .. GetName(Spawn) .. ". I can finally, albeit reluctantly, bear to part with ye. There's others that need yer assistance now more than I do.") +end + +function Quest8Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My pleasure.", "Quest8Chat_3") + AddConversationOption(conversation, "Just get me out of here.", "Quest8Chat_3") + AddConversationOption(conversation, "The sooner I get off this rock, the better. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, that it has. There's hope for us on this little rock, after all. And it's due, in no small part, to yer assistance.") +end + +function Quest8Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will the pilgrims be safe?", "Quest8Chat_4") + AddConversationOption(conversation, "I will head there straight away.", "OfferReportSpine") + AddConversationOption(conversation, "I don't need your assistance to walk across a field. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have taken their offensive elsewhere. We've received word that they've begun a surge upon the southern coast, and they've laid siege to the Cragged Spine. It's likely that they could use yer help out there, " .. GetName(Spawn) .. ".") +end + +function Quest8Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "On my way.", "OfferReportSpine") + AddConversationOption(conversation, "When I'm good and ready.") + StartConversation(conversation, NPC, Spawn, "So long as they stay here. We'll keep an eye on 'em until this offensive is over. In the meantime, you should head to the Cragged Spine, and quickly!") +end + +function Quest8Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "True, and most unfortunate. I'm sorry.", "Quest8Chat_3") + AddConversationOption(conversation, "Just get me out of here.", "Quest8Chat_3") + AddConversationOption(conversation, "the sooner I get off this rock, the better. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, I'm sure you have a life to return to. This is likely all we coldain have left.") +end + +function OfferDisplacedDiscouraged(NPC, Spawn) + OfferQuest(NPC, Spawn, DisplacedDiscouraged) +end + +function OfferReclaimingHonor(NPC, Spawn) + OfferQuest(NPC, Spawn, ReclaimingHonor) +end + +function OfferTisUnnatural(NPC, Spawn) + OfferQuest(NPC, Spawn, TisUnnatural) +end + +function OfferPouringSkellies(NPC, Spawn) + OfferQuest(NPC, Spawn, PouringSkellies) +end + +function OfferNoWork(NPC, Spawn) + OfferQuest(NPC, Spawn, NoWork) +end + +function OfferTacklingBasilisks(NPC, Spawn) + OfferQuest(NPC, Spawn, TacklingBasilisks) +end + +function OfferDomesticationSurvivalism(NPC, Spawn) + OfferQuest(NPC, Spawn, DomesticationSurvivalism) +end + +function OfferReportSpine(NPC, Spawn) + OfferQuest(NPC, Spawn, ReportSpine) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BerguffFullbeard.lua b/SpawnScripts/FrostfangSea/BerguffFullbeard.lua new file mode 100644 index 0000000..5fad90d --- /dev/null +++ b/SpawnScripts/FrostfangSea/BerguffFullbeard.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BerguffFullbeard.lua + Script Purpose : Berguff Fullbeard + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Your most reliable weapon is your knowledge!", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BertaIsholm.lua b/SpawnScripts/FrostfangSea/BertaIsholm.lua new file mode 100644 index 0000000..877bebe --- /dev/null +++ b/SpawnScripts/FrostfangSea/BertaIsholm.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BertaIsholm.lua + Script Purpose : Berta Isholm + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "I've got some fine viddles to warm your belly!", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "You're no good out there hungry.", "", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BinnyShortwand.lua b/SpawnScripts/FrostfangSea/BinnyShortwand.lua new file mode 100644 index 0000000..849854f --- /dev/null +++ b/SpawnScripts/FrostfangSea/BinnyShortwand.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BinnyShortwand.lua + Script Purpose : illusionist trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local ILLUSIONIST = 26 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == ILLUSIONIST then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow illusionist?", "IlluChat1") + AddConversationOption(conversation, "That's good to know. Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have chosen the path of an illusionist. It may be challenging, but I find it rather rewarding.") + else + PlayFlavor(NPC, "", "Don't let your illusions be shattered!", "hello", 0, 0, Spawn) + end +end + +function IlluChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "IlluChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial.") +end + +function IlluChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "IlluChat3") + StartConversation(conversation, NPC, Spawn, "Know your strengths and hone them! We can mesmerize and otherwise captivate our foes through distraction and mental acuity. This is particularly useful when you are confronted with multiple foes.") +end + +function IlluChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "A strong illusionist can bring order to an otherwise chatoic environment, giving themselves and their allies the ability to fight one adversary at a time. And the most advanced have been known to conjure an illusion of themselves to aid in combat!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BlibbaNugrud.lua b/SpawnScripts/FrostfangSea/BlibbaNugrud.lua new file mode 100644 index 0000000..133ae86 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BlibbaNugrud.lua @@ -0,0 +1,123 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlibbaNugrud.lua + Script Purpose : Blibba Nugrud + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 1) then + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud001.mp3", "", "", 1692822878, 2906055751, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Fribbit. Hail back, and all that. What can I do for you?") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "I've already told you what you wanted to know.", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Fribbit! Godd day to you.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud004.mp3", "", "", 2666827594, 1649429363, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Of course. Ask away.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud006.mp3", "", "", 4224849804, 392144788, Spawn) + AddConversationOption(conversation, "When did this happen?", "Quest1Chat_3") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "The frogloks of Guk, my predecessors, were blessed with valor and the capacity for higher reasoning by the god Mithaniel Marr.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud007.mp3", "", "", 1546450602, 2461406794, Spawn) + AddConversationOption(conversation, "Can you explain that further?", "Quest1Chat_4") + AddConversationOption(conversation, "What does that have to do with Erollis?", "Quest1Chat_4") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "This occurred hundreds of years ago. The blessing of Marr allowed us to defeat our ancestral enemies, the trolls, but more importantly it allowed us to overcome our own shortcomings.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud008.mp3", "", "", 3444575982, 3490248523, Spawn) + AddConversationOption(conversation, "Aren't frogloks unfit for the environment of Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "I already know this; just give me the short version.", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "We conquered our own fear and ignorance. My enlightened ancestors left Guk and carved out a new home in the world of Norrath. They crawled out of the gunk and muck and into the light, literally and figuratively.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud009.mp3", "", "", 2086235207, 3956751510, Spawn) + AddConversationOption(conversation, "Can you sum this up?", "Quest1Chat_6") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Well, I would prefer to live in a swamp, or something like it. The frigid weather is hard on my skin. But I wouldn't say we're unfit, necessarily. We're just as humanoid as we are amphibian.") +end + +function Quest1Chat_6(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blibba_nugrud/halas/new_halas_guard_house/blibba_nugrud010.mp3", "", "", 1038495244, 3766399001, Spawn) + AddConversationOption(conversation, "Appreciate you taking the time to chat.") + AddConversationOption(conversation, "Take care, Blibba.") + StartConversation(conversation, NPC, Spawn, "The short answer is: we frogloks owe all that we are to Mithaniel Marr. When I heard that He had blessed this place, I felt obliged to come here to pay Him homage.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It's nothing quote so serious.", "Quest1Chat_1") + AddConversationOption(conversation, "Just answer the question!", "Quest1Chat_8") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Doing here? You mean what is my business here? Or are you insinuating that I do not belong?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Fine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "How rude! Good day.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course.", "Quest1Chat_2") + AddConversationOption(conversation, "Just answer the question!", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "That's a very interesting way of putting it. I'll assume you meant no offense.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua b/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua new file mode 100644 index 0000000..df02c62 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BlorpisaBogchild.lua @@ -0,0 +1,543 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlorpisaBogchild.lua + Script Purpose : Blorpisa Bogchild + Script Author : theFoof + Script Date : 2013.05.20 + Script Notes : +--]] + +local ArcaneElements = 19 + +local BearBottoms = 20 + +local CodChips = 21 + +local EssentialIngredient = 22 + +local FieldTesting = 23 + +local FieldTwo = 24 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, ArcaneElements) + ProvidesQuest(NPC, BearBottoms) + ProvidesQuest(NPC, CodChips) + ProvidesQuest(NPC, EssentialIngredient) + ProvidesQuest(NPC, FieldTesting) + ProvidesQuest(NPC, FieldTwo) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, FieldTwo) == false then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, ArcaneElements) == false and HasQuest(Spawn, ArcaneElements) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_001.mp3", "", "", 1215134818, 256392720, Spawn) + AddConversationOption(conversation, "Hello Blorpisa, I am " .. GetName(Spawn) .. ".", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Hello! I haven't seen you around here before! I am Blorpisa Bogchild.") + elseif GetQuestStep(Spawn, ArcaneElements) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "No. Where can I find the aged ice slurries?", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif GetQuestStep(Spawn, ArcaneElements) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_002.mp3", "", "", 3029801000, 1524345260, Spawn) + AddConversationOption(conversation, "I have collected the ore for you.", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Have you collected the arcane imbued ore?") + elseif HasCompletedQuest(Spawn, ArcaneElements) and HasCompletedQuest(Spawn, BearBottoms) == false and HasQuest(Spawn, BearBottoms) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_003.mp3", "", "", 3065502678, 2912351776, Spawn) + AddConversationOption(conversation, "I'm doing quite well. How are you?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Hello, " .. GetName(Spawn) .. "! How are you faring?") + elseif GetQuestStep(Spawn, BearBottoms) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4029927720, 1452950200, Spawn) + AddConversationOption(conversation, "I have not yet done so. Where can I find the blizzard grizzly cubs?", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you skinned the pelts for me?") + elseif GetQuestStep(Spawn, BearBottoms) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4029927720, 1452950200, Spawn) + AddConversationOption(conversation, "I have the pelts you requested.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you skinned the pelts for me?") + elseif HasCompletedQuest(Spawn, BearBottoms) and HasCompletedQuest(Spawn, CodChips) == false and HasQuest(Spawn, CodChips) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_005.mp3", "", "", 3705783760, 1192084203, Spawn) + AddConversationOption(conversation, "How are things with you, Blorpisa?", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, CodChips) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 900575849, 2922187159, Spawn) + AddConversationOption(conversation, "I have not yet hunted enough cod for everyone's dinner. Where can I find the co again?", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Did you get the large Iceclad cod?") + elseif GetQuestStep(Spawn, CodChips) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 900575849, 2922187159, Spawn) + AddConversationOption(conversation, "I have enough large cod for everyone to eat well tonight!", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you get the large Iceclad cod?") + elseif HasCompletedQuest(Spawn, CodChips) and HasCompletedQuest(Spawn, EssentialIngredient) == false and HasQuest(Spawn, EssentialIngredient) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_007.mp3", "", "", 570631167, 547031581, Spawn) + AddConversationOption(conversation, "Hello, Blorpisa. How are you?", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, EssentialIngredient) == 1 or GetQuestStep(Spawn, EssentialIngredient) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 3240154599, 1916004366, Spawn) + AddConversationOption(conversation, "Not yet. Where can I find the iceflows and snowpacks?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you captured the elementals I asked for, " .. GetName(Spawn) .. ".") + elseif GetQuestStep(Spawn, EssentialIngredient) == 3 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 3240154599, 1916004366, Spawn) + AddConversationOption(conversation, "I have captured eight elementals for you, four of each kind.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you captured the elementals I asked for, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, EssentialIngredient) and HasCompletedQuest(Spawn, FieldTesting) == false and HasQuest(Spawn, FieldTesting) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_009.mp3", "", "", 3405427240, 3750540234, Spawn) + AddConversationOption(conversation, "If you define lovely as freezing cold, then it is indeed lovely.", "Quest5Chat_2") + AddConversationOption(conversation, "Not so much, no.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "! It is a most lovely day, is it not?") + elseif GetQuestStep(Spawn, FieldTesting) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 624684361, 1424465021, Spawn) + AddConversationOption(conversation, "I have not yet obtained the lillies. Where again can I find them?", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the ice lilies for me?") + elseif GetQuestStep(Spawn, FieldTesting) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 624684361, 1424465021, Spawn) + AddConversationOption(conversation, "I have the lilies you requested.", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you collected the ice lilies for me?") + elseif HasCompletedQuest(Spawn, FieldTesting) and HasCompletedQuest(Spawn, FieldTwo) == false and HasQuest(Spawn, FieldTwo) == false then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_020.mp3", "", "", 1958149539, 711345401, Spawn) + AddConversationOption(conversation, "Does that mean it's time for another field test?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", I have made the necessary modifications to my Frost-born Ward.") + elseif GetQuestStep(Spawn, FieldTwo) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 3376846306, 3092977992, Spawn) + AddConversationOption(conversation, "I do not yet know. Where can I find Pride Overlook?", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "Did the Frost-born Ward work this time, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, FieldTwo) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 3376846306, 3092977992, Spawn) + AddConversationOption(conversation, "No, your spell did not work. At all.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "Did the Frost-born Ward work this time, " .. GetName(Spawn) .. "?") + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_011.mp3", "", "", 846938752, 844089056, Spawn) + AddConversationOption(conversation, "I'm on my way to New Halas.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah! I had not seen you before, but I have heard of you and your accomplishments! This is such a pleasure, " .. GetName(Spawn) .. ". We're lucky to have such a hero within our midst. What brings you to Gwenevyn's Cove?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_012.mp3", "", "", 3605255838, 2576534049, Spawn) + AddConversationOption(conversation, "How will you cast the spell on all of the pilgrims?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "As am I! I've stopped along the way as I've been attempting to create a new spell. It is one that would protect the pilgrims from the bitter winds and frosty landscape of New Halas, as well as protect them from the wild creatures and hostile entities.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_013.mp3", "", "", 970695236, 4167602091, Spawn) + AddConversationOption(conversation, "What if they can't read? What if they have children with them?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "I don't intend to cast it on them all! I will enchant the spell onto parchment for the pilgrims to read aloud when they arrive.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_014.mp3", "", "", 947009240, 1540493739, Spawn) + AddConversationOption(conversation, "Well this all sounds very technical to me.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Such details! But you do bring up a good point; I will have to make it so that when the spell is read it affects everyone in the area, not just the reader.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_015.mp3", "", "", 1255109690, 1640879678, Spawn) + AddConversationOption(conversation, "What kind of help do you need?", "Quest1Chat_7") + AddConversationOption(conversation, "No, sorry, I am in a hurry to get to New Halas.") + StartConversation(conversation, NPC, Spawn, "Say, if you aren't in a hurry, I could use some help.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 1464127042, 4108357478, Spawn) + AddConversationOption(conversation, "I sure could.", "OfferArcaneElements") + AddConversationOption(conversation, "No, unfortunately.") + StartConversation(conversation, NPC, Spawn, "To make the ink to enchant the spell to paper I need the arcane imbued ore of the rolling stones found southeast of here. Do you think you could go and collect some of the ore for me?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 717321044, 3158147617, Spawn) + AddConversationOption(conversation, "I shall return to you once I have collected the weapons.") + StartConversation(conversation, NPC, Spawn, "I'm glad that you have agreed to help the coldain. You can find the slain coldain southeast of here, upon a great battlefield.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_018.mp3", "", "", 2448606843, 4112204434, Spawn) + AddConversationOption(conversation, "Let me know if it turns out successful!", "Quest1Chat_10") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. "! I will crumble and crush this ore into a fine powder and then use it to make ink to enchant my spell onto parchment, once I have perfected the spell.") +end + +function Quest1Chat_10(NPC, Spawn) + SetStepComplete(Spawn, ArcaneElements, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_022.mp3", "", "", 2006824864, 3295508205, Spawn) + AddConversationOption(conversation, "If you need help with anything else, please ask me. I am glad to help others here in New Halas.") + AddConversationOption(conversation, "Good luck!") + StartConversation(conversation, NPC, Spawn, "Oh I shall, but I will not be able to test my spell for a while yet. I've got to hop about collecting some more materials first.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_023.mp3", "", "", 1753584306, 4118176236, Spawn) + AddConversationOption(conversation, "Need any help?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "I had been working on that protection spell, but now I have been put in charge of making blankets for the people of Gwenevyn's Cove.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_024.mp3", "", "", 4187781831, 3119266103, Spawn) + AddConversationOption(conversation, "I will go and get the unmarred fur pelts for you.", "OfferBearBottoms") + AddConversationOption(conversation, "I'm not killing baby bears! Forget it!") + StartConversation(conversation, NPC, Spawn, "I could use it if you're offering! I need unmarred fur pelts from the blizzard grizzly cubs. These cubs are around a cave that is northwest of Gwenevyn's Cove.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 3290905220, 1893346275, Spawn) + AddConversationOption(conversation, "I will return to you once I have gathered the pelts.") + StartConversation(conversation, NPC, Spawn, "Thanks. I know it's distasteful to kill cubs, but I need their softer fur to make blankets. Thank you for doing this for me, " .. GetName(Spawn) .. ".") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with the pelts.") + StartConversation(conversation, NPC, Spawn, "The cubs roam northwest of Gwenevyn's Cove.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_026.mp3", "", "", 1759018155, 1598876766, Spawn) + AddConversationOption(conversation, "Thank you. I did my best.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Great! I can get right to work stitching up the blankets. You did a fine job skinning, " .. GetName(Spawn) .. ". None of the edges of the pelts are ragged.") +end + +function Quest2Chat_7(NPC, Spawn) + SetStepComplete(Spawn, BearBottoms, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_028.mp3", "", "", 3080889721, 2381851654, Spawn) + AddConversationOption(conversation, "Thanks, Blorpisa. I appreciate it.") + StartConversation(conversation, NPC, Spawn, "No, thank you, " .. GetName(Spawn) .. ". You really are a hero! I don't have much to give you, but please, take this coin for your troubles and one of my accessories.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_029.mp3", "", "", 1210199796, 2166040902, Spawn) + AddConversationOption(conversation, "The nerve of some people!", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "As thanks for making the blankets, they've now decided I should prepare dinner!") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 14855483, 1166912182, Spawn) + AddConversationOption(conversation, "The Frostfang Sea didn't seem too cold to me.", "Quest3Chat_3") + AddConversationOption(conversation, "Brr! I agree it's much too cold. Best of luck with dinner!") + StartConversation(conversation, NPC, Spawn, "It's as the old saying goes: there's always something more to do around camp. I don't mind cooking over the fire, it's just that there's nothing to cook! I have a delicious recipe for cod, but it's too cold to swim in the Frostfang Sea and I don't know how to use a fishing pole.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_031.mp3", "", "", 2157156103, 1975601374, Spawn) + AddConversationOption(conversation, "I can get the Iceclad cod for you.", "OfferCodChips") + AddConversationOption(conversation, "I can't. I am already busy, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Really? Maybe I'm getting old. If it's not too cold for you, would you mind getting the Iceclad cod that I need for my recipe? I think everyone would like a nice bit of cod and chips for dinner.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with enough cod for everyone's dinner.") + StartConversation(conversation, NPC, Spawn, "The large Iceclad cod swim in the Frostfang Sea northeast of Gwenevyn's Cove.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_033.mp3", "", "", 2508783935, 568039203, Spawn) + AddConversationOption(conversation, "I am glad that I was able to help you out.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "Splendid, " .. GetName(Spawn) .. "! I shall get right to work cooking up the fish and chips for dinner.") +end + +function Quest3Chat_6(NPC, Spawn) + SetStepComplete(Spawn, CodChips, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_035.mp3", "", "", 787726717, 3426749776, Spawn) + AddConversationOption(conversation, "It's more than enough. Thank you, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "We are truly in your debt, " ..GetName(Spawn) .. ". I've collected some coin from the other citizens of Gwenevyn's Cove. It isn't much, but it's better than nothing, right?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_036.mp3", "", "", 3721924071, 2621057833, Spawn) + AddConversationOption(conversation, "Is there anything I can do to help?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "I myself am well, but the Frost-born Ward that I've been creating is not going so well. It appears that I am still missing a few key components to the formula.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_037.mp3", "", "", 2815442129, 1528606877, Spawn) + AddConversationOption(conversation, "I can capture some elementals for you.", "Quest4Chat_4") + AddConversationOption(conversation, "Sorry, I'm very busy today. Perhaps I can help you later.") + StartConversation(conversation, NPC, Spawn, "I've created an Iced Trap to capture a few elementals. If you are not too busy, you could hop west of here and collect iceflows and snowpacks on the Icemane Plains. That would save me a lot of time.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 3909457491, 3153535025, Spawn) + AddConversationOption(conversation, "I am sure I can handle a few small elementals.", "OfferEssentialIngredient") + StartConversation(conversation, NPC, Spawn, "Thank you! Just take the Iced Trap and use it on any iceflow or snowpack. They should be instantly attracted to it. I do not anticipate any problems.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_041.mp3", "", "", 502468794, 246049475, Spawn) + AddConversationOption(conversation, "I will return once I have captured the elementals.") + StartConversation(conversation, NPC, Spawn, "The iceflows and snowpacks gather on the Icemane Plains, west of Gwenevyn's Cove.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_040.mp3", "", "", 3949759324, 1772100940, Spawn) + AddConversationOption(conversation, "I am glad that you are pleased with my efforts.", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Excellent! That's much more than I hoped. With this many elementals I am sure I will be able to progress the Frost-born Ward.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_042.mp3", "", "", 301178077, 3194637507, Spawn) + AddConversationOption(conversation, "It is the right thing to do.", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "I am more than pleased, " .. GetName(Spawn) .. ". You are saving us! With every bit of aid you give us here in Gwenevyn's Cove, you help to ensure our survival within this inhospitable land. We are sure to live to see Mithaniel's blessed city of New Halas because of you!") +end + +function Quest4Chat_8(NPC, Spawn) + SetStepComplete(Spawn, EssentialIngredient, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_044.mp3", "", "", 4160372502, 1958782481, Spawn) + AddConversationOption(conversation, "I will return if you need help.") + StartConversation(conversation, NPC, Spawn, "If only everyone had your heart, " .. GetName(Spawn) .. ". Now, surely you have other things that must be done on this day. If you find yourself with more free time, I could always use your assistance.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_045.mp3", "", "", 2755043591, 501739216, Spawn) + AddConversationOption(conversation, "Sure! This is exciting!", "Quest5Chat_3") + AddConversationOption(conversation, "No way, get someone else to be your lab rat.") + StartConversation(conversation, NPC, Spawn, "I have made great progress on the Frost-born Ward! It is finally ready for its first field test. Will you do the honors?") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_046.mp3", "", "", 2185186057, 1637729185, Spawn) + AddConversationOption(conversation, "I know, Blorpisa.", "Quest5Chat_4") + AddConversationOption(conversation, "I'll keep that in mind.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Now I make no guarantees that this spell will work. Remember that this is a field test.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_047.mp3", "", "", 2602829291, 2631146795, Spawn) + AddConversationOption(conversation, "Is there anything else you need gathered?", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Let's see, where should you go to test my spell?") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_048.mp3", "", "", 1989757627, 78481858, Spawn) + AddConversationOption(conversation, "Where can I find these ice lilies?", "OfferFieldTesting") + StartConversation(conversation, NPC, Spawn, "Oh, yes! I do need some ice lilies. I feel that they will add a special component to the Frost-born Ward.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTargget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall return with the lilies as soon as I am able") + StartConversation(conversation, NPC, Spawn, "You can find the ice lilies on the Icemane Plains west of here. I have also refreshed the Frost-born Ward upon you as it seemed to be very weak.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_050.mp3", "", "", 2480968598, 2345683156, Spawn) + AddConversationOption(conversation, "It didn't work at all. I was attacked by every lion that I came across.", "Quest5Chat_8") + StartConversation(conversation, NPC, Spawn, "And how did my spell fare?") +end + +function Quest5Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_052.mp3", "", "", 1918897363, 1844692964, Spawn) + AddConversationOption(conversation, "I understand your dilemma.", "Quest5Chat_9") + StartConversation(conversation, NPC, Spawn, "That is terrible! I do apologize! This is a very experimental spell, and I've been working as quickly as I can to get it working so that we do not lose yet more pilgrims to the hazards of New Halas.") +end + +function Quest5Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_053.mp3", "", "", 4064573044, 3063721552, Spawn) + AddConversationOption(conversation, "Yes, I can handle lions, bears and other creatures just fine.", "Quest5Chat_10") + StartConversation(conversation, NPC, Spawn, "Thank you great hero, " .. GetName(Spawn) .. "! Will you continue to help me?") +end + +function Quest5Chat_10(NPC, Spawn) + SetStepComplete(Spawn, FieldTesting, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_054.mp3", "", "", 1222972448, 2143317846, Spawn) + AddConversationOption(conversation, "I will refresh myself and return to you once I am ready.") + StartConversation(conversation, NPC, Spawn, "I am glad to hear it! I shall incorporate these ice lilies into the ink for my spell. Return to me when you are recovered enough to do a second field test.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_055.mp3", "", "", 2588594475, 1367979821, Spawn) + AddConversationOption(conversation, "Where shall I go to test the spell this time?", "Quest6Chat_3") + AddConversationOption(conversation, "No, I am not yet ready.") + StartConversation(conversation, NPC, Spawn, "It does! Are you ready, brave one?") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_056.mp3", "", "", 3655265348, 981674489, Spawn) + AddConversationOption(conversation, "I shall head to Pride Overlook.", "OfferFieldTwo") + StartConversation(conversation, NPC, Spawn, "There is an overhang on the Icemane Plains called Pride Overlook. As the name implies, it is within the lions' territory. It is also near the Great Shelf, which is where I plan on going next, as it is the next stop on the pilgrims' path.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return to you once I have properly tested your spell.") + StartConversation(conversation, NPC, Spawn, "Pride Overlook is on the Icemane Plains. It is west of Gwenevyn's Cove. I have also refeshed the Frost-born Ward upon you as it seemed to be very weak.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_058.mp3", "", "", 3927456133, 2378795664, Spawn) + AddConversationOption(conversation, "Well, it didn't.", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "I am terribly sorry! I really thought it would work this time!") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_060.mp3", "", "", 1746628301, 1931600273, Spawn) + AddConversationOption(conversation, "Maybe I will see you there.", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "I wonder what could be wrong with it. Hmm... I shall have to find new sources of power for my spell. Fortunately, I am traveling on to the Great Shelf, so perhaps I can continue my work there.") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, FieldTwo, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/gwenevyns_cove/blorpisa_bogchild/blorpisa_bogchild_061.mp3", "", "", 2498685853, 3116008120, Spawn) + AddConversationOption(conversation, "Thank you, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Thank you for all of your help, " .. GetName(Spawn) .. ". I cannot express how truly grateful I am for all you have done. It is not much, but please take this as a bit of payment for your troubles.") + RemoveSpawnAccess(NPC, Spawn) +end + +function OfferArcaneElements(NPC, Spawn) + OfferQuest(NPC, Spawn, ArcaneElements) +end + +function OfferBearBottoms(NPC, Spawn) + OfferQuest(NPC, Spawn, BearBottoms) +end + +function OfferCodChips(NPC, Spawn) + OfferQuest(NPC, Spawn, CodChips) +end + +function OfferEssentialIngredient(NPC, Spawn) + OfferQuest(NPC, Spawn, EssentialIngredient) +end + +function OfferFieldTesting(NPC, Spawn) + OfferQuest(NPC, Spawn, FieldTesting) +end + +function OfferFieldTwo(NPC, Spawn) + OfferQuest(NPC, Spawn, FieldTwo) +end diff --git a/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua b/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua new file mode 100644 index 0000000..140421d --- /dev/null +++ b/SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua @@ -0,0 +1,398 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BlorpisaBogchild_(shelf).lua + Script Purpose : Blorpisa Bogchild located at the Great Shelf + Script Author : theFoof + Script Date : 2013.06.02 + Script Notes : +--]] +local FieldTwo = 24 + +local WeaponChoice = 47 + +local DisarmingRyGorr = 48 + +local PerfectlyMissing = 49 + +local LastIngredient = 50 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, WeaponChoice) + ProvidesQuest(NPC, DisarmingRyGorr) + ProvidesQuest(NPC, PerfectlyMissing) + ProvidesQuest(NPC, LastIngredient) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, WeaponChoice) and not HasQuest(Spawn, WeaponChoice) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_003.mp3", "", "", 3193177069, 1800399458, Spawn) + AddConversationOption(conversation, "Hello, Blorpisa.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. "! It is good to see you again!") + elseif GetQuestStep(Spawn, WeaponChoice) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4181283850, 2893617958, Spawn) + AddConversationOption(conversation, "No, I have not. Where can I find these weapons?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the weapons for me?") + elseif GetQuestStep(Spawn, WeaponChoice) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_004.mp3", "", "", 4181283850, 2893617958, Spawn) + AddConversationOption(conversation, "Yes, I have the weapons you requested.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you collected the weapons for me?") + elseif HasCompletedQuest(Spawn, WeaponChoice) and not HasCompletedQuest(Spawn, DisarmingRyGorr) and not HasQuest(Spawn, DisarmingRyGorr) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_005.mp3", "", "", 1579551723, 976991105, Spawn) + AddConversationOption(conversation, "I am always ready to do anything to ruin the Ry'Gorr plans.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Have you rested? Do you feel refreshed and ready to thwart the Ry'Gorr?") + elseif GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 2115424713, 269076828, Spawn) + AddConversationOption(conversation, "Not yet. Where can I find these weapons?", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you cleansed the weapons?") + elseif GetQuestStep(Spawn, DisarmingRyGorr) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_006.mp3", "", "", 2115424713, 269076828, Spawn) + AddConversationOption(conversation, "I have cleansed the Ry'Gorr weapons.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you cleansed the weapons?") + elseif HasCompletedQuest(Spawn, DisarmingRyGorr) and not HasCompletedQuest(Spawn, PerfectlyMissing) and not HasQuest(Spawn, PerfectlyMissing) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_007.mp3", "", "", 3686037916, 2573543704, Spawn) + AddConversationOption(conversation, "I agree, no one else should die at the claws of the Ry'Gorr.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "These skirmishes with the Ry'Gorr have had me thinking of new modifications to my Frost-born Ward. It is not enough that the pilgrims be protected from the cold and animal attacks, they must also be protected from the magic that the Ry'Gorr wield.") + elseif GetQuestStep(Spawn, PerfectlyMissing) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 2666323814, 4844605, Spawn) + AddConversationOption(conversation, "I have not yet found the core. Where can I find the ice slurries?", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Have you harvested the perfect ice slurry core?") + elseif GetQuestStep(Spawn, PerfectlyMissing) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_008.mp3", "", "", 2666323814, 4844605, Spawn) + AddConversationOption(conversation, "I have found the perfect ice slurry core.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Have you harvested the perfect ice slurry core?") + elseif HasCompletedQuest(Spawn, PerfectlyMissing) and not HasCompletedQuest(Spawn, LastIngredient) and not HasQuest(Spawn, LastIngredient) then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_009.mp3", "", "", 3631519683, 72729038, Spawn) + AddConversationOption(conversation, "Is there a problem?", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Mithaniel's gall!") + elseif GetQuestStep(Spawn, LastIngredient) == 1 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "No. Where can I find the aged ice slurries?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif GetQuestStep(Spawn, LastIngredient) == 2 then + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_010.mp3", "", "", 1541998982, 3704557731, Spawn) + AddConversationOption(conversation, "I have the aged ice slurry core.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the aged ice slurry core?") + elseif HasCompletedQuest(Spawn, LastIngredient) then + PlayFlavor(NPC, "", "Thanks for all of your help!", "thanks", 0, 0, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, FieldTwo) then + AddSpawnAccess(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_011.mp3", "", "", 2022397228, 290072007, Spawn) + AddConversationOption(conversation, "A bit cramped, actually.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "How do you find the Great Shelf?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_012.mp3", "", "", 4283018282, 2903892824, Spawn) + AddConversationOption(conversation, "I think they stomp more than crawl.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Agreed! I have not been able to hop about much, what with the Ry'Gorr orcs crawling all over this area.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_014.mp3", "", "", 736205101, 798079277, Spawn) + AddConversationOption(conversation, "You want me to loot corpses?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "The coldain and the Ry'Gorr orcs are fighting a fierce battle southeast of here. I know you cannot take the weapons from the live coldain, but I am sure their fallen dead wouldn't mind you collecting their dormant weapons.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_015.mp3", "", "", 3812649727, 4013790608, Spawn) + AddConversationOption(conversation, "Well, in that case, I will help you.", "Quest1Chat_5") + AddConversationOption(conversation, "I'm still not looting corpses, I don't care how worthy the cause may be.") + StartConversation(conversation, NPC, Spawn, "For a worthy cause! Any weapons you return to me I can enchant to do additional damage to the Ry'Gorr. I know they are resistant to ice, so I think a fire enchant would really hurt them.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_016.mp3", "", "", 717321044, 3158147617, Spawn) + AddConversationOption(conversation, "I shall return to you once I have collected the weapons.", "OfferWeaponChoice") + StartConversation(conversation, NPC, Spawn, "I'm glad that you have agreed to help the coldain. You can find the slain coldain southeast of here, upon a great battlefield.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "You can find the weapons on the slain coldain that lie on the battlefield southeast of the Great Shelf.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_017.mp3", "", "", 4187444416, 2657798398, Spawn) + AddConversationOption(conversation, "I'm glad that I was able to help. The Ry'Gorr orcs are a scourge upon this land.", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I will begin enchanting these weapons immediately and send them to the coldain as soon as I am able.") +end + +function Quest1Chat_8(NPC, Spawn) + SetStepComplete(Spawn, WeaponChoice, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_019.mp3", "", "", 3213450920, 2902031584, Spawn) + AddConversationOption(conversation, "I will return once I am rested.") + StartConversation(conversation, NPC, Spawn, "They are most vile indeed, preying upon pilgrims and sinking ships. If you want to continue to thwart the Ry'Gorr, return to me once you have eaten and rested. I will have more work for you then.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_020.mp3", "", "", 1335665620, 3336740356, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "It is good to see you committed to fighting the Ry'Gorr. I left the offensive against the Ry'Gorr to others but now I see that I too must do my part to fight them.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_021.mp3", "", "", 4091770286, 182089722, Spawn) + AddConversationOption(conversation, "That sounds very awful.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr weapons are imbued with a dark miasma, one that must be cleansed. If the weapons are left as they are, they will taint the very ground and all of the creatures near.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_022.mp3", "", "", 4197171883, 263915525, Spawn) + AddConversationOption(conversation, "If this must be done, then I shall do it.", "Quest2Chat_4") + AddConversationOption(conversation, "This sounds dangerous, I must prepare myself before I can continue. I will return to you when I am ready.") + StartConversation(conversation, NPC, Spawn, "It is very awful! Thankfully the Ry'Gorr are rather stupid when it comes to more complex spells and so it can be easily undone. I have made a poultice that will cleanse the weapons, dissolving the miasma.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_025.mp3", "", "", 1812986023, 1861136256, Spawn) + AddConversationOption(conversation, "I will return once I have cleansed the weapons.", "OfferDisarmingRyGorr") + StartConversation(conversation, NPC, Spawn, "The weapons lay on the battlefield southeast of here.") +end + + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_024.mp3", "", "", 3608040156, 1455978587, Spawn) + AddConversationOption(conversation, "It worked very well, so well that it dissolved the Ry'Gorr weapons before my eyes.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "So the poultice worked?") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_026.mp3", "", "", 771316187, 1400627586, Spawn) + AddConversationOption(conversation, "I am just doing my job.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Then the miasma must have been very deep. I am glad that you are here to help us, thanks to you a great danger has been averted.") +end + +function Quest2Chat_7(NPC, Spawn) + SetStepComplete(Spawn, DisarmingRyGorr, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_027.mp3", "", "", 1176369371, 2813456869, Spawn) + AddConversationOption(conversation, "I appreciate the gesture, Blorpisa.") + StartConversation(conversation, NPC, Spawn, "Even so, it is one few can do. Thank you, " .. GetName(Spawn) .. ". Please, accept this coin as a thank you from me.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_028.mp3", "", "", 3909433831, 280040798, Spawn) + AddConversationOption(conversation, "Do you need me to collect it for you?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "To that end, I have studied my texts and have determined the ingredient I need to begin to modify the spell.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_029.mp3", "", "", 1151875239, 4282449451, Spawn) + AddConversationOption(conversation, "I shall search for the perfect ice slurry core so that you may complete your spell.", "OfferPerfectlyMissing") + AddConversationOption(conversation, "Forget it, I'm not killing a bunch of ice slurries.") + StartConversation(conversation, NPC, Spawn, "I do. It is called the perfect ice slurry core. You can harvest it from the ice slurries, but it is rare. Many times you will kill an ice slurry, only to find that its core has a flaw.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_030.mp3", "", "", 1741611934, 1901038615, Spawn) + AddConversationOption(conversation, "I shall return as soon as I find the perfect core.") + StartConversation(conversation, NPC, Spawn, "You can find the ice slurries on the hill south of the Great Shelf. Please hurry. The sooner you return with the core, the sooner I can perfect the spell to protect the pilgrims.") +end + +function Quest3Chat_4(NPC, Spawn) + SetStepComplete(Spawn, PerfectlyMissing, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_031.mp3", "", "", 826714400, 1486587557, Spawn) + AddConversationOption(conversation, "Do you need my assistance further?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "I shall incorporate this perfect core into my spell. Thank you for harvesting this perfect ice slurry core.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_033.mp3", "", "", 754123351, 1435387384, Spawn) + AddConversationOption(conversation, "I shall return in a little while.") + StartConversation(conversation, NPC, Spawn, "I do not know. Give me some time to incorporate this core and then return to me.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_034.mp3", "", "", 2303152841, 514356885, Spawn) + AddConversationOption(conversation, "Please tell me I don't have to test it.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "This Frost-born Ward isn't taking to the modifications I made. It keeps having unexpected outcomes.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_035.mp3", "", "", 2152784278, 4092517503, Spawn) + AddConversationOption(conversation, "Perhaps there was something wrong with the core?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "No, you do not have to test it. I just don't understand why the perfect ice slurry core didn't work!") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_036.mp3", "", "", 2421741424, 974749894, Spawn) + AddConversationOption(conversation, "Well, are there any other types of ice slurries?", "Quest4Chat_4") + StartConversation(conversation, NPC, Spawn, "How could there be something wrong with it?! It was perfect!") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_037.mp3", "", "", 3543415032, 2306350142, Spawn) + AddConversationOption(conversation, "I will get you an aged ice slurry core.", "OfferLastIngredient") + AddConversationOption(conversation, "Sorry, I'm busy. Perhaps later.") + StartConversation(conversation, NPC, Spawn, "There are! There are aged ice slurries, but I thought their cores would be too old to use. You could try to obtain one for me, it couldn't hurt to try.") +end + + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_038.mp3", "", "", 2165797862, 1375729873, Spawn) + AddConversationOption(conversation, "I shall return with an aged ice slurry core.") + StartConversation(conversation, NPC, Spawn, "The aged ice slurries are in the same place as the others. They gather on the hill south of the Great Shelf.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_039.mp3", "", "", 469439028, 3249363787, Spawn) + AddConversationOption(conversation, "Spell scribing seems fascinating.", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Quickly, I must incorporate it into the spell ink before the core loses its potency.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_041.mp3", "", "", 2408705067, 2217536445, Spawn) + AddConversationOption(conversation, "So how's the Frost-born Ward coming along?", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "Oh yes, most fascinating, until you turn yourself into an imp, or sweat fire.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_042.mp3", "", "", 829550711, 3566915207, Spawn) + AddConversationOption(conversation, "Is that it?", "Quest4Chat_9") + StartConversation(conversation, NPC, Spawn, "It seems to be combining successfully.") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_043.mp3", "", "", 1150736225, 953291323, Spawn) + AddConversationOption(conversation, "No more tests? No more running around?", "Quest4Chat_10") + StartConversation(conversation, NPC, Spawn, "For now.") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_044.mp3", "", "", 3571375839, 1539014597, Spawn) + AddConversationOption(conversation, "Gee, I don't know what to say...", "Quest4Chat_11") + StartConversation(conversation, NPC, Spawn, "I think not. I shall test this on myself, I am confident it will work. When it does, I will produce the parchments needed. Thank you for everything, " .. GetName(Spawn) .. ". Between helping me scribe this spell and thwarting the Ry'Gorr, you have helped the people of New Halas more than you can know.") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, LastIngredient, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "blorpisa_bogchild/halas/great_shelf/blorpisa_bogchild/blorpisa_bogchild_045.mp3", "", "", 4192880371, 50904844, Spawn) + AddConversationOption(conversation, "Thank you, Blorpisa. I am most honored.") + StartConversation(conversation, NPC, Spawn, "Please, accept this as a token of our thanks.") +end + +function OfferWeaponChoice(NPC, Spawn) + OfferQuest(NPC, Spawn, WeaponChoice) +end + +function OfferDisarmingRyGorr(NPC, Spawn) + if not HasQuest(Spawn, DisarmingRyGorr) and not HasCompletedQuest(Spawn, DisarmingRyGorr) then + OfferQuest(NPC, Spawn, DisarmingRyGorr) + end +end + +function OfferPerfectlyMissing(NPC, Spawn) + OfferQuest(NPC, Spawn, PerfectlyMissing) +end + +function OfferLastIngredient(NPC, Spawn) + OfferQuest(NPC, Spawn, LastIngredient) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua b/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua new file mode 100644 index 0000000..ef41fc6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BorgardGoldenswill.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BorgardGoldenswill.lua + Script Purpose : Borgard Goldenswill + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "What'll it be, citizen?", "nod", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Sit a spell and have yarself a frothing brew or two!", "nod", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BoryaStonehide.lua b/SpawnScripts/FrostfangSea/BoryaStonehide.lua new file mode 100644 index 0000000..61e8401 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BoryaStonehide.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BoryaStonehide.lua + Script Purpose : guardian trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local GUARDIAN = 3 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == GUARDIAN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give a fellow guardian?", "GuardChat1") + AddConversationOption(conversation, "It does, doesn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same unrelenting will that resides within all guardians!") + else + PlayFlavor(NPC, "", "I hope you're ready for some serious training!", "hello", 0, 0, Spawn) + end +end + +function GuardChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "GuardChat2") + StartConversation(conversation, NPC, Spawn, "We are often considered the last wall of defense, and for good reason. We protect our allies with unflinching resolve, as that is our call. We protect, above all!") +end + +function GuardChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "GuardChat3") + StartConversation(conversation, NPC, Spawn, "And when you are faced with multiple foes, prioritize your opponents. It often behooves you and your group to pit yourself against the most powerful opponent.") +end + +function GuardChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good.", "GuardChat4") + StartConversation(conversation, NPC, Spawn, "We leave the more offensive style attacks to others who lack the fortitude to take a beating and defend, but this doesn't mean we can't swing a weapon!") +end + +function GuardChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "GuardChat5") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function GuardChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor would be considered too heavy by others, but with your focus on strength such highly protective armor has no downside.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BroganMacLellan.lua b/SpawnScripts/FrostfangSea/BroganMacLellan.lua new file mode 100644 index 0000000..c29cae3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BroganMacLellan.lua @@ -0,0 +1,198 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BroganMacLellan.lua + Script Purpose : Brogan MacLellan + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +local TrustedReferral = 86 + +function spawn(NPC) + ProvidesQuest(NPC, TrustIssues) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, TrustIssues) and not HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan001.mp3", "", "", 2714538944, 2338955741, Spawn) + AddConversationOption(conversation, "It isn't for everyone.", "Quest1Chat_1") + AddConversationOption(conversation, "'Paradise' is subjective.", "Quest1Chat_4") + AddConversationOption(conversation, "The population is mostly barbarians, right?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "It's a diverse group of fellers living together on this frigid rock. There are a number of folks like me, sure. But what do the other inhabitants see in Erollis? Why do they stay here? It's not like this is a verdant paradise.") + elseif HasQuest(Spawn, TrustIssues) and GetQuestStep(Spawn, TrustIssues) < 5 then + PlayFlavor(NPC, "", "Talk to them, and find out why they're here.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TrustIssues) == 5 then + AddConversationOption(conversation, "They've all got valid reasons for staying in Erollis.", "Quest1Chat_9") + AddConversationOption(conversation, "There is a rich history for this place, and each newcomer is a part of it.", "Quest1Chat_9") + AddConversationOption(conversation, 'Not surprisingly, everyone has their own motivation and "angle".', "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "Back already, " .. GetName(Spawn) .. "? Well, don't be shy. What did you find out?") + elseif HasCompletedQuest(Spawn, TrustIssues) and not HasCompletedQuest(Spawn, TrustedReferral) and not HasQuest(Spawn, TrustedReferral) then + Quest2Chat_1(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan003.mp3", "", "", 111727266, 1713011810, Spawn) + AddConversationOption(conversation, "Marr blessed this place.", "Quest1Chat_2") + AddConversationOption(conversation, "Some find frontier life exciting.", "Quest1Chat_6") + AddConversationOption(conversation, "I prefer natural skins and furs to cotton fabric.", "Quest1Chat_7") + AddConversationOption(conversation, "Perhaps some other time. Goodbye.") + StartConversation(conversation, NPC, Spawn, "You've got that right. And I'm not just talking about the obvious need for skins and furs, which aren't everyone's mug of ale. Erollis is isolated, and it's a hostile environment.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan006.mp3", "", "", 385456101, 752051368, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "Yeah, he plopped down a fetching statue and showed pilgrims the way here, but that doesn't make the environment any more palatable.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan005.mp3", "", "", 3080293935, 4050287444, Spawn) + AddConversationOption(conversation, "Sure. I wouldn't mind learning their motives as well.", "OfferTrustIssues") + AddConversationOption(conversation, "Why not? Could meet some interesting people.", "OfferTrustIssues") + AddConversationOption(conversation, "Might as well. I don't trust them either.", "OfferTrustIssues") + AddConversationOption(conversation, "I'd rather not get too close to strangers.") + StartConversation(conversation, NPC, Spawn, "Yeah, I'd like to learn each major faction's angle. Call me paranoid, but I'd feel safer knowing more about the motivations of the folks that share the town. Care to do a little asking around?") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan002.mp3", "", "", 1097446882, 2575906543, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "True. It looks an awful lot like the Halas of old, or so I've gathered, which is what drew me here. You could say it's my paradise. But not even my people can agree to appreciate this weather.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan004.mp3", "", "", 1786838303, 2147071004, Spawn) + AddConversationOption(conversation, "I wonder why the others are here.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "Eh. We make up around half the population, give or take. The rest is primarily frogloks and coldain with a smattering of other offshore races mixed in.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan007.mp3", "", "", 1338892240, 118117761, Spawn) + AddConversationOption(conversation, "It might be worth looking into people's motivations.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "The thrill-seekers and folks looking to start a new life, possibly. Though, I don't trust the former and the latter make me nervous.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "brogan_maclellan/halas/new_halas_guard_house/brogan_maclellan008.mp3", "", "", 618404562, 3809310014, Spawn) + AddConversationOption(conversation, "And it's comfortable, to boot!", "Quest1Chat_8") + AddConversationOption(conversation, "But fashion alone isn't a reason to live on Erollis, is it?", "Quest1Chat_3") + AddConversationOption(conversation, "I'm not interested in figuring this out.") + StartConversation(conversation, NPC, Spawn, "You and me both. There's nothing like supple hide and animal hair to ward off the winter's chill, especially when it comes to footwear.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Glad you liked it.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm too busy chuckling to go on. Let me catch my breath.") + StartConversation(conversation, NPC, Spawn, "If words were weapons, that pun would have slain me where I stood.") +end + +function Quest1Chat_9(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 5) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm not sure that can be helped.", "Quest2Chat_1") + AddConversationOption(conversation, "You have real trust issues, MacLellan.", "Quest2Chat_1") + AddConversationOption(conversation, "Trust is a commodity that we can't always afford.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm. I supposed we're all new here, in one way or another, but I still don't trust the others.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Is there anything else I can do for you?", "Quest2Chat_2") + AddConversationOption(conversation, "I'm glad I could. Good day, Brogan.") + StartConversation(conversation, NPC, Spawn, "I may be reluctant to trust the others here, but you've proven yourself to me.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sure.", "Quest2Chat_5") + AddConversationOption(conversation, "I hadn't thought of it.", "Quest2Chat_4") + AddConversationOption(conversation, "No. Not yet.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Not for me, " .. GetName(Spawn) .. ". Are you willing to travel to another land?") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Well, come back to me when you are looking to travel.", "agree", 0, 0, Spawn) +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "More coin would be useful.", "Quest2Chat_5") + AddConversationOption(conversation, "That's true.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Well, when you need more coin you will.") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferTrustedReferral") + AddConversationOption(conversation, "Where's that?", "Quest2Chat_6") + AddConversationOption(conversation, "I have no plans to travel to Butcherblock.") + StartConversation(conversation, NPC, Spawn, "Then I suggest you speak with my cousin, Belinda. She's at the docks in the Butcherblock Mountains.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can do that.", "OfferTrustedReferral") + AddConversationOption(conversation, "I have no plans to travel to Butcherblock.") + StartConversation(conversation, NPC, Spawn, "Butcherblock Mountains is on the continent of Faydwer. You can travel there by taking the griffon down at the Erollis docks.") +end + +function OfferTrustedReferral(NPC, Spawn) + OfferQuest(NPC, Spawn, TrustedReferral) +end + +function OfferTrustIssues(NPC, Spawn) + SendPopUpMessage(Spawn, "This quest is not implemented yet. Requires NPC in Butcherblock.", 255, 0, 0) + --OfferQuest(NPC, Spawn, TrustIssues) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BronlaStonehide.lua b/SpawnScripts/FrostfangSea/BronlaStonehide.lua new file mode 100644 index 0000000..ca7c71c --- /dev/null +++ b/SpawnScripts/FrostfangSea/BronlaStonehide.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BronlaStonehide.lua + Script Purpose : fury trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local FURY = 17 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == FURY then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for another fury?", "FuryChat1") + AddConversationOption(conversation, "Thank you, but I must be going.") + StartConversation(conversation, NPC, Spawn, "Lo, and behold, another druid stands before me. Welcome, fellow fury of the storm!") + else + PlayFlavor(NPC, "", "Fresh dreams to you!", "hello", 0, 0, Spawn) + end +end + +function FuryChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "FuryChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function FuryChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "FuryChat3") + StartConversation(conversation, NPC, Spawn, "The primal forces of nature we wield can be used to help mend the wounded, which is beneficial in any battle! They can also be used to enhance the physical attributes and mystical might of our allies, making the attacks of our party members even more fearsome.") +end + +function FuryChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I agree, that will be useful.", "FuryChat4") + StartConversation(conversation, NPC, Spawn, "Although we skillfully exert the healing and bolstering aspects of nature, we do not want to ignore their effectiveness in inflicting destruction! Lightning and fire can be quite effective in cutting down a formidable foe!") +end + +function FuryChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". With such aggressive powers of nature at your hands, you need not waste any energy on encumbering suits of armor.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BrropGloryblade.lua b/SpawnScripts/FrostfangSea/BrropGloryblade.lua new file mode 100644 index 0000000..5e3e30d --- /dev/null +++ b/SpawnScripts/FrostfangSea/BrropGloryblade.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BrropGloryblade.lua + Script Purpose : templar trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local TEMPLAR = 13 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == TEMPLAR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for another templar?", "TempChat1") + AddConversationOption(conversation, "That I am! But I have no time to chat.") + StartConversation(conversation, NPC, Spawn, "Ah, another defender of the faith. Welcome, my fellow templar!") + else + PlayFlavor(NPC, "", "Greetings!", "hello", 0, 0, Spawn) + end +end + +function TempChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "TempChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function TempChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "TempChat3") + StartConversation(conversation, NPC, Spawn, "We are known for protecting ourselves and our allies with reactive heals. These are spells cast on an individual that lay in wait until they have damage inflicted upon them. At which point the spell responds and a heal is given to the individual.") +end + +function TempChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "TempChat4") + StartConversation(conversation, NPC, Spawn, "But the divine power that we are blessed with is not limited to mending the wounded or curing the suffering of the afflicted. It can also help to defend against attack or be wielded offensively, to smite our enemies!") +end + +function TempChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be cumbersome, but its protective properties will be necessary, as it takes time to beseech our divine powers.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/BulltheCrafty.lua b/SpawnScripts/FrostfangSea/BulltheCrafty.lua new file mode 100644 index 0000000..1b765a2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/BulltheCrafty.lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/BulltheCrafty.lua + Script Purpose : Bull the Crafty + Script Author : Foof + Script Date : 2013.05.16 + Script Notes : +--]] + +local HarvestTutorial = 11 + +local HadAHammer = 12 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, HadAHammer) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, HarvestTutorial) and HasQuest(Spawn, HadAHammer) == false and HasCompletedQuest(Spawn, HadAHammer) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, HadAHammer) == 1 or GetQuestStep(Spawn, HadAHammer) == 2 then + PlayFlavor(NPC, "", "The recipe's right there in front of me there, don't forget to read it once you pick it up. The coal's on the ground there. And make sure you have a tin cluster and a lead cluster in your bags, they'll be no use to you in the bank!", "nod", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, HadAHammer) == 3 then + AddConversationOption(conversation, "I'll try.") + StartConversation(conversation, NPC, Spawn, "Having any trouble? You might have noticed that at the bottom of the crafting window you see six tradeskill arts you can use. Three will improve the durability, and three the progress of your craft. Try using those as much as you need while crafting.") + elseif GetQuestStep(Spawn, HadAHammer) == 4 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I made a lucky wolf paw charm!", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "How did you make out? Was my recipe simple enough?") + elseif GetQuestStep(Spawn, HadAHammer) == 5 or HasCompletedQuest(Spawn, HadAHammer) then + Quest1Chat_1(NPC, Spawn) + else + PlayFlavor(NPC, "", "At peace or at war, my work must go on.", "nod", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Sure, why not? Is it hard?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Greetings! I noticed you harvesting out there. Are you interested in trying your hand at making something out of them?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, what do I do?", "OfferHadAHammer") + StartConversation(conversation, NPC, Spawn, "Nay, not hard at all once you wrap your head around it. But I'm not one to keep talking all day. Why don't you just jump in and try it?") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, HadAHammer, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks, I might do that.") + StartConversation(conversation, NPC, Spawn, "Congratulations! You seem to have a right knack for crafting things, if I do say so. If you're interested in learning more about crafting, you should look up a professional tradeskill tutor who can tell you all the details.") +end + + +function OfferHadAHammer(NPC, Spawn) + if HasCompletedQuest(Spawn, HadAHammer) == false and HasQuest(Spawn, HadAHammer) == false then + OfferQuest(NPC, Spawn, HadAHammer) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/CatherineBowne.lua b/SpawnScripts/FrostfangSea/CatherineBowne.lua new file mode 100644 index 0000000..9401ea0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/CatherineBowne.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CatherineBowne.lua + Script Purpose : Catherine Bowne + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Bank accounts are like weapons. You must maintain them, lest they erode!", "smile", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Your coin will be safe in the Frigid Strongbox, New Halas' official bank.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Where did I put my abacus?", "hello", 0, 0, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/CornaKilgour.lua b/SpawnScripts/FrostfangSea/CornaKilgour.lua new file mode 100644 index 0000000..8f08300 --- /dev/null +++ b/SpawnScripts/FrostfangSea/CornaKilgour.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CornaKilgour.lua + Script Purpose : Corna Kilgour + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Making food, armor, and weapons is every bit as important to the success and security of our city as standing to face the enemy. Quality equipment and items can make the difference.", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua b/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua new file mode 100644 index 0000000..45a8278 --- /dev/null +++ b/SpawnScripts/FrostfangSea/CorwinFrostbeard.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CorwinFrostbeard.lua + Script Purpose : Corwin Frostbeard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Welcome!", "hello", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll be happy to supply all your fuel needs.", "nod", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua b/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua new file mode 100644 index 0000000..bb5f4ec --- /dev/null +++ b/SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/CraggedSpinesupplycrate.lua + Script Purpose : for the supply crate spawns + Script Author : theFoof + Script Date : 2013.7.21 + Script Notes : +--]] + +local ClanImps = 79 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, ClanImps) and GetQuestStep(Spawn, ClanImps) < 3 then + if SpellName == 'stolen crate' then + AddStepProgress(Spawn, ClanImps, 1, 1) + local imp = SpawnMob(GetZone(NPC), 4701143, 0, GetX(Spawn) - 3, GetY(Spawn), GetZ(Spawn) - 3, 0) + Attack(imp, Spawn) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, ClanImps) then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/Crushinator.lua b/SpawnScripts/FrostfangSea/Crushinator.lua new file mode 100644 index 0000000..5b156bb --- /dev/null +++ b/SpawnScripts/FrostfangSea/Crushinator.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Crushinator.lua + Script Purpose : Crushinator movement loop + Script Author : theFoof + Script Date : 2013.5.20 + Script Notes : +--]] +function spawn(NPC) + MovementLoopAddLocation(NPC, -273.33, 23.12, -407.99, 8, 0) + MovementLoopAddLocation(NPC, -241.49, 23.16, -423.66, 8, 0) + MovementLoopAddLocation(NPC, -215.44, 24.77, -411.60, 8, 0) + MovementLoopAddLocation(NPC, -180.82, 21.81, -353.42, 8, 0) + MovementLoopAddLocation(NPC, -215.44, 24.77, -411.60, 8, 0) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end diff --git a/SpawnScripts/FrostfangSea/DagbartFalkren.lua b/SpawnScripts/FrostfangSea/DagbartFalkren.lua new file mode 100644 index 0000000..af3c70b --- /dev/null +++ b/SpawnScripts/FrostfangSea/DagbartFalkren.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DagbartFalkren.lua + Script Purpose : Dagbart Falkren + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1042.mp3", "", "hello", 0, 0, Spawn) + if HasCollectionsToHandIn(Spawn) then + AddConversationOption(conversation, "I have a collection for you.", "TurnInColls") + end + AddConversationOption(conversation, "I don't have any at the moment.") + StartConversation(conversation, NPC, Spawn, "Hello there! If you have any collections that you've completed, I can take them off your hands and reward you for your time. I love collecting things!") +end + +function TurnInColls(NPC, Spawn) + HandInCollections(Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "All right, thanks!") + StartConversation(conversation, NPC, Spawn, "This is a magnificent find! Here, take this for all your hard work.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/DandiMcCarren.lua b/SpawnScripts/FrostfangSea/DandiMcCarren.lua new file mode 100644 index 0000000..9a7ddd8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/DandiMcCarren.lua @@ -0,0 +1,114 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DandiMcCarren.lua + Script Purpose : Dandi McCarren + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 2) then + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren001.mp3", "", "", 4065222914, 2283262367, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_6") + AddConversationOption(conversation, "This isn't worth it. Nevermind.") + StartConversation(conversation, NPC, Spawn, "I've got a lot of work to do. Can you make this quick?") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "You're still here?", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1009.mp3", "I can hammer metal faster than you can blink.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren002.mp3", "", "", 2997702054, 4169410593, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis? ", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_2") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "It'll be faster to answer your questions than to shoo you away, I'm sure. What do you want?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren004.mp3", "", "", 2246027108, 3016893607, Spawn) + AddConversationOption(conversation, "I do know what that's like.", "Quest1Chat_3") + AddConversationOption(conversation, "I don't know what that's like.", "Quest1Chat_3") + AddConversationOption(conversation, "I'll ask the questions here!", "Quest1Chat_8") + StartConversation(conversation, NPC, Spawn, "Let me put it this way: do you know what it's like to be displaced from your homeland? Have you felt like you don't belong?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren006.mp3", "", "", 234929252, 3290173917, Spawn) + AddConversationOption(conversation, "True, there's no city quite like New Halas.", "Quest1Chat_4") + AddConversationOption(conversation, "So this is where you want to settle down?", "Quest1Chat_4") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Well that's what it was like, for me, before Erollis was discovered. I'd done my fair share of traveling and called a few different cities 'home', but it never sat right. It never felt like home.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren007.mp3", "", "", 2015097155, 2674343560, Spawn) + AddConversationOption(conversation, "What do you like about Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "What books did you read?", "Quest1Chat_7") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "From the stories passed down by my Nana, and from the books I've read, this town is about as close to Old Halas as we're likely to get. Life here is what it was like to be a barbarian five hundred years ago.") +end + +function Quest1Chat_5(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dandi_mccarren/halas/new_halas_guard_house/dandi_mccarren009.mp3", "", "", 2546556899, 2243252862, Spawn) + AddConversationOption(conversation, "Yes, thank you.") + AddConversationOption(conversation, "That's what I needed to know.") + StartConversation(conversation, NPC, Spawn, "I like the crunch of snow under my feet. I like the sturdy stone structures. I like being close to my community. I like sitting around the fire listening to the wind whipping outside. I like tartan kilts and hard scotch. Does that answer your question?") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Um...I'm taking a poll.", "Quest1Chat_1") + AddConversationOption(conversation, "There's no need to get upset!", "Quest1Chat_1") + AddConversationOption(conversation, "I was just leaving.") + StartConversation(conversation, NPC, Spawn, "What am I doing here? What are YOU doing here?") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What do you like about Erollis?", "Quest1Chat_5") + AddConversationOption(conversation, "Whatever, I don't have time for this.") + StartConversation(conversation, NPC, Spawn, "A collection of quaint and curious volumes of forgotten lore. I doubt you've heard of them.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I was just leaving.") + StartConversation(conversation, NPC, Spawn, "Bah. Get out of my sight!") +end diff --git a/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua b/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua new file mode 100644 index 0000000..c543fa9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DeadWreganFirebeard.lua + Script Purpose : Wregan Firebeard(dead) + Script Author : theFoof + Script Date : 2013.05.19 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "the body" then + SendMessage(Caster, "Wregan's body shows signs of the mortal grizzly mauling he sustained.") + end +end diff --git a/SpawnScripts/FrostfangSea/DolurAxebeard.lua b/SpawnScripts/FrostfangSea/DolurAxebeard.lua new file mode 100644 index 0000000..1404700 --- /dev/null +++ b/SpawnScripts/FrostfangSea/DolurAxebeard.lua @@ -0,0 +1,1076 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DolurAxebeard.lua + Script Purpose : Dolur Axebeard + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] + +local GlimmerOrc = 31 + +local MurkyMystery = 32 + +local ScatteringAshes = 33 + +local TotemAnnihilation = 34 + +local CallingBack = 35 + +local TheGauntlet = 36 + +local OffOssuary = 71 + +local SeveringHead = 72 + +local NightmareOver = 73 + +function spawn(NPC) + ProvidesQuest(NPC, GlimmerOrc) + ProvidesQuest(NPC, MurkyMystery) + ProvidesQuest(NPC, ScatteringAshes) + ProvidesQuest(NPC, TotemAnnihilation) + ProvidesQuest(NPC, CallingBack) + ProvidesQuest(NPC, TheGauntlet) + ProvidesQuest(NPC, OffOssuary) + ProvidesQuest(NPC, SeveringHead) + ProvidesQuest(NPC, NightmareOver) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, GlimmerOrc) then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard001.mp3", "", "", 1652895933, 4056769103, Spawn) + AddConversationOption(conversation, "What's wrong?", "Quest1Chat_1") + AddConversationOption(conversation, "I don't want to get involved. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We've got a big problem on our hands, " .. GetName(Spawn) .. ". And by big, I mean disastrous.") + elseif GetQuestStep(Spawn, GlimmerOrc) == 1 then + PlayFlavor(NPC, "", "Perhaps the orcs are using the power from luminous snowflurries for their camouflage.", "think", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GlimmerOrc) == 2 then + Quest1Chat_11(NPC, Spawn) + elseif HasCompletedQuest(Spawn, GlimmerOrc) and not HasCompletedQuest(Spawn, MurkyMystery) and not HasQuest(Spawn, MurkyMystery) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, MurkyMystery) == 1 then + PlayFlavor(NPC, "", "The deepice miasmas aren't far from here. Look up the hill above the battlefield, near Herga's Choke.", "point", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, MurkyMystery) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard021.mp3", "", "", 1915346257, 1839627430, Spawn) + AddConversationOption(conversation, "I've got my fingers crossed.", "Quest2Chat_5") + AddConversationOption(conversation, "[Wait]", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "There ye be, " .. GetName(Spawn) .. "! And ye've brought back the deepice crystals. Let's see if this works in conjunction with the glimmer powder.") + elseif HasCompletedQuest(Spawn, MurkyMystery) and not HasCompletedQuest(Spawn, ScatteringAshes) and not HasQuest(Spawn, ScatteringAshes) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ScatteringAshes) == 1 then + PlayFlavor(NPC, "", "I've trusted ye to scatter my brethren's ashes. Don't let me down.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ScatteringAshes) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard031.mp3", "", "", 1406448236, 1748110963, Spawn) + AddConversationOption(conversation, "Glad to have helped.", "Quest3Chat_9") + AddConversationOption(conversation, "I heard nothing, but I did the job as you asked.", "Quest3Chat_8") + AddConversationOption(conversation, "I didn't hear chanting, but I do hear superstitious nonsense.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Did ye hear that chanting on the wind when you strewed the ashes out from the crest of the Overlook? That was the spirits of the coldain warriors, who are still standing their ground out there against the Ry'Gorr, singing yer praises.") + elseif HasCompletedQuest(Spawn, ScatteringAshes) and not HasCompletedQuest(Spawn, TotemAnnihilation) and not HasQuest(Spawn, TotemAnnihilation) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TotemAnnihilation) == 1 then + PlayFlavor(NPC, "", "Don't expect the Ry'Gorr to let you destroy those totems without putting up a fight.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TotemAnnihilation) == 2 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard045.mp3", "", "", 505634536, 3864498567, Spawn) + AddConversationOption(conversation, "Completed, as promised.", "Quest4Chat_11") + AddConversationOption(conversation, "Dirty work, but someone had to do it.", "Quest4Chat_11") + AddConversationOption(conversation, "I did as you asked. Thank goodness this foul business is over.", "Quest4Chat_11") + StartConversation(conversation, NPC, Spawn, "Ach! Ye've the stench of death upon ye, " .. GetName(Spawn) .. ". I suppose this means the task of dealing with the totems is complete?") + elseif HasCompletedQuest(Spawn, TotemAnnihilation) and not HasCompletedQuest(Spawn, CallingBack) and not HasQuest(Spawn, CallingBack) then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard047.mp3", "", "", 4084660884, 3109121115, Spawn) + AddConversationOption(conversation, "What are these wards?", "Quest5Chat_1") + AddConversationOption(conversation, "I don't feel like my efforts are improving the overall situation. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've some bad news, " .. GetName(Spawn) .. ". The Ry'Gorr's scouts have been disabling our wards just as ye had been destroying their totems.") + elseif HasQuest(Spawn, CallingBack) and GetQuestStep(Spawn, CallingBack) ~= 6 then + PlayFlavor(NPC, "", "Placing those wards should tip the scales back in our favor.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, CallingBack) == 6 then + AddConversationOption(conversation, "The wards have been placed where they'll be most effective.", "Quest5Chat_12") + AddConversationOption(conversation, "It was a trivial task.", "Quest5Chat_12") + StartConversation(conversation, NPC, Spawn, "I was expecting yer return, and ye never disappoint. How did it go?") + elseif HasCompletedQuest(Spawn, CallingBack) and not HasCompletedQuest(Spawn, TheGauntlet) and not HasQuest(Spawn, TheGauntlet) then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, TheGauntlet) == 1 then + PlayFlavor(NPC, "", "Find those bone piles, and grind them to dust.", "point", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TheGauntlet) == 2 then + AddConversationOption(conversation, "It's understandable.", "Quest7Chat_1") + AddConversationOption(conversation, "Perhaps there's a better way to handle this problem.", "Quest7Chat_1") + AddConversationOption(conversation, "Maybe we should strike out against the Ry'Gorr necromancers instead.", "Quest7Chat_1") + StartConversation(conversation, NPC, Spawn, "Perhaps this was... not the best tactic. I'm sorry fer sending ye on a fool's errand, " .. GetName(Spawn) .. ". My zeal got the better of me.") + elseif HasCompletedQuest(Spawn, TheGauntlet) and not HasCompletedQuest(Spawn, OffOssuary) and not HasQuest(Spawn, OffOssuary) then + Quest7Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, OffOssuary) and GetQuestStep(Spawn, OffOssuary) < 3 then + PlayFlavor(NPC, "", "Give those necromancers the sharp side of an axe, if ye find any.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, OffOssuary) == 3 then + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard086.mp3", "", "", 4050788260, 2621206375, Spawn) + AddConversationOption(conversation, "Your information was correct.", "Quest7Chat_14") + AddConversationOption(conversation, "Yes, the necromancers were holed up in a cave in the Ossuary of Ice. ", "Quest7Chat_15") + StartConversation(conversation, NPC, Spawn, "I'm hoping for good news, and yet expecting the worst. Tell me, " .. GetName(Spawn) .. ", did ye find them?") + elseif HasCompletedQuest(Spawn, OffOssuary) and not HasCompletedQuest(Spawn, SeveringHead) and not HasQuest(Spawn, SeveringHead) then + Quest8Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, SeveringHead) and GetQuestStep(Spawn, SeveringHead) < 3 then + PlayFlavor(NPC, "", "Destroy the source of those totems by breaking the dark crystal.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SeveringHead) == 3 then + PlayFlavor(NPC, "", "", "cheer", 0, 0, Spawn) + AddConversationOption(conversation, "I shattered the crystal, and slew their leader.", "Quest8Chat_10") + AddConversationOption(conversation, "I severed your wurm's head, as promised.", "Quest8Chat_10") + StartConversation(conversation, NPC, Spawn, "Ye've returned, and not a minute too soon! The orcs are worked up into a frenzy over whatever ye just did.") + elseif HasCompletedQuest(Spawn, SeveringHead) and not HasCompletedQuest(Spawn, NightmareOver) and not HasQuest(Spawn, NightmareOver) then + Quest9Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NightmareOver) == 1 then + PlayFlavor(NPC, "", "Head to Cragged Spine. They're waiting for ye.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, NightmareOver) then + PlayFlavor(NPC, "", "Are ye sure ye don't have any blood of the Frostraver in ye?", "laugh", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard002.mp3", "", "", 3776851500, 329099171, Spawn) + AddConversationOption(conversation, "How are they ambushing you, especially out in the open?", "Quest1Chat_2") + AddConversationOption(conversation, "But... Erollis isn't very large. You must know this place like the back of your hand.", "Quest1Chat_7") + AddConversationOption(conversation, "I don't want your helplessness to rub off on me. I must be going.") + AddConversationOption(conversation, "Ambushing orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr are ambushing our forces. A dwarf can take an orc, toe to toe, in a fair fight, but there's nothing fair about catching us unawares. A coldain caught in an ambush is at a distinct disadvantage. Their surprise attacks are killing us out there, literally!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard003.mp3", "", "", 505371253, 1091559275, Spawn) + AddConversationOption(conversation, "Go on.", "Quest1Chat_3") + AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.") + StartConversation(conversation, NPC, Spawn, "That's what I was getting at. And ye won't believe it.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard005.mp3", "", "", 2412101907, 2364424304, Spawn) + AddConversationOption(conversation, "What do they say?", "Quest1Chat_4") + AddConversationOption(conversation, "It sounds like you're about to tell me.", "Quest1Chat_4") + AddConversationOption(conversation, "Why are we still talking? Just point me in the right direction.", "Quest1Chat_9") + AddConversationOption(conversation, "Ambushing orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "They've engineered a method to render themselves impossible to see against the snow and ice; it's some kind of camouflage. My soldiers are too afraid to go back out there. You know what my men are saying?") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard007.mp3", "", "", 1117927681, 3213137385, Spawn) + AddConversationOption(conversation, "It's a fear tactic, for sure.", "Quest1Chat_5") + AddConversationOption(conversation, "No wonder your men don't want to go back out there.", "Quest1Chat_8") + AddConversationOption(conversation, "Glimmer orcs? I'm out of here!") + StartConversation(conversation, NPC, Spawn, "They say, 'There'd be nothing but snow and ice, then a glimmer... then, you'd be dead!'") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard008.mp3", "", "", 3224987077, 1613729835, Spawn) + AddConversationOption(conversation, "Agreed. ", "Quest1Chat_6") + AddConversationOption(conversation, "You do what you have to in war.", "Quest1Chat_6") + AddConversationOption(conversation, "Cowardice against cowardice? I'm done here.") + StartConversation(conversation, NPC, Spawn, "It's a cowardly tactic. Unfortunately there's no way around this. We're going to have to fight ice with ice.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard010.mp3", "", "", 1224830968, 3279150133, Spawn) + AddConversationOption(conversation, "Of course.", "OfferGlimmerOrc") + AddConversationOption(conversation, "I'm not putting myself in danger, based solely on a hunch.") + StartConversation(conversation, NPC, Spawn, "We believe they're using the powder of the luminous snowflurries as makeshift camouflage. If ye can collect some of the powder, perhaps we could replicate this. Then we would have a fighting chance out there. Think ye could bring some back?") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard004.mp3", "", "", 2795765225, 2030897405, Spawn) + AddConversationOption(conversation, "What? Are they invisible?", "Quest1Chat_3") + AddConversationOption(conversation, "I believe I have somewhere else to be. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, we do. We know every rock, every hill, every nook, and every cranny of this frozen wasteland, which is what makes these ambushes so troubling.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard009.mp3", "", "", 3087697550, 2303509094, Spawn) + AddConversationOption(conversation, "I do, and I see what must be done.", "Quest1Chat_6") + AddConversationOption(conversation, "What's the plan?", "Quest1Chat_6") + AddConversationOption(conversation, "It's your problem, not mine. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, ye see the problem we're facing now?") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard006.mp3", "", "", 2420317196, 2002155131, Spawn) + AddConversationOption(conversation, "I'm brave AND capable.", "Quest1Chat_10") + AddConversationOption(conversation, "Don't underestimate me.", "Quest1Chat_10") + AddConversationOption(conversation, "Don't insult my intelligence. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "Oh, yer a go-getter, are ye? Well, I hope yer filled with bravery and not stupidity, though can be hard to distinguish one from t'other.") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard011.mp3", "", "", 2906385969, 2703354949, Spawn) + AddConversationOption(conversation, "None taken. So what's the plan?", "Quest1Chat_6") + AddConversationOption(conversation, "I find that hard to believe. Goodbye.") + StartConversation(conversation, NPC, Spawn, "No need to get defensive now, " .. GetName(Spawn) .. ". No offense was meant.") +end + +function Quest1Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + converation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard013.mp3", "", "", 4055438067, 163416310, Spawn) + AddConversationOption(conversation, "It wasn't easy.", "Quest1Chat_12") + AddConversationOption(conversation, "Here's the glimmer dust.", "Quest1Chat_12") + StartConversation(conversation, NPC, Spawn, "Welcome back, " .. GetName(Spawn) .. "! Now, let's have a look-see at that glimmer powder ye've collected.") +end + +function Quest1Chat_12(NPC, Spawn) + SetStepComplete(Spawn, GlimmerOrc, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard014.mp3", "", "", 4267001042, 1944501293, Spawn) + AddConversationOption(conversation, "I do whatever it takes to solve the problem.", "Quest1Chat_13") + AddConversationOption(conversation, "I'm curious to find out if it works.", "Quest1Chat_13") + StartConversation(conversation, NPC, Spawn, "This is exactly what we need, and plenty of it. Oh, I've missed having someone like ye around. So many young folks today just won't go that extra mile.") +end + +function Quest1Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard015.mp3", "", "", 3387435129, 3863442024, Spawn) + AddConversationOption(conversation, "Take your time.") + AddConversationOption(conversation, "Time is one thing we don't have.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "What am I? The Amazing Randi? We have tests to run. It will take time.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard016.mp3", "", "", 3724550793, 3434645453, Spawn) + AddConversationOption(conversation, "The orcs figured out how to solve that problem.", "Quest2Chat_2") + AddConversationOption(conversation, "You must need a binding agent.", "Quest2Chat_4") + AddConversationOption(conversation, "I feel like I did all that work for nothing. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, this has solved half of our problem. Flurry powder renders one nearly invisible in this environment, but the stuff doesn't stick. Yer lucky if a gust of wind doesn't blow it clean off. This won't do. No, this won't do at all.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard017.mp3", "", "", 4140277139, 3688959754, Spawn) + AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3") + AddConversationOption(conversation, "I don't need your help. I'm done here.") + StartConversation(conversation, NPC, Spawn, "Aye, good thinking. So we need to consider what the Ry'Gorr have been up to lately. Unfortunately, our attentions have been focused on meeting them on the battlefield, when we should have been paying attention to their other activities.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard019.mp3", "", "", 1879917767, 2648322812, Spawn) + AddConversationOption(conversation, "Just show me where to find them.", "OfferMurkyMystery") + AddConversationOption(conversation, "That's our best bet? It's worth a try.", "OfferMurkyMystery") + AddConversationOption(conversation, "This is another shot in the dark. I'm done here.") + StartConversation(conversation, NPC, Spawn, "We've noticed that the orcs have been aggressive towards deepice miasmas. There didn't appear to be any logical reason for it, until now. The miasmas could hold another clue to the method of crafting this camouflage.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard018.mp3", "", "", 829232573, 947350296, Spawn) + AddConversationOption(conversation, "So where could we find that?", "Quest2Chat_3") + AddConversationOption(conversation, "Have you noticed the orcs gathering anything out of the ordinary?", "Quest2Chat_3") + AddConversationOption(conversation, "I don't need your help. I'm done here.") + StartConversation(conversation, NPC, Spawn, "So, yer an adventurer and a scholar! I bet a binding agent is exactly what we need.") +end + +function Quest2Chat_5(NPC, Spawn) + SetStepComplete(Spawn, MurkyMystery, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard022.mp3", "", "", 4152966005, 2385582175, Spawn) + AddConversationOption(conversation, "Now you're on even footing with the Ry'Gorr!", "Quest3Chat_1") + AddConversationOption(conversation, "Your scouts will be able to pinpoint their ambushers.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "By Brell, it does work! Yer a genius!") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard023.mp3", "", "", 3394689570, 853009244, Spawn) + AddConversationOption(conversation, "That is unfortunate, but you have to balance your priorities.", "Quest3Chat_2") + AddConversationOption(conversation, "Is this something I can help with?", "Quest3Chat_2") + AddConversationOption(conversation, "I'll leave you to your grief. Goodbye.") + StartConversation(conversation, NPC, Spawn, "And now that we're on even footing with the Ry'Gorr, we can afford to direct our attention to something a little more spiritual. Unfortunately, the needs of our deceased have had to wait for a lull in the action.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard024.mp3", "", "", 888604358, 2919686664, Spawn) + AddConversationOption(conversation, "I don't understand. What do you mean by 'spirits'?", "Quest3Chat_3") + AddConversationOption(conversation, "Of course. You've done all you can.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Aye, or else there would be more fallen coldain. And as valiant as our brethren's spirits have been in the fight against the Ry'Gorr, it's an outcome we'd certainly prefer to avoid.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard026.mp3", "", "", 3211985278, 3808356977, Spawn) + AddConversationOption(conversation, "You want me to honor the dead?", "Quest3Chat_5") + AddConversationOption(conversation, "Shouldn't one of the coldain honor them?") + AddConversationOption(conversation, "One of the coldain should handle this. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Many of the coldain that fall in battle against the Ry'Gorr rise up again as spirits. Instead of going to see Brell, they rejoin the fight. This decision is a permanent one, which means they can never go to the Halls of the Creator once they come back here. Their act of self-sacrifice and valor should not go unnoticed.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation + + AddConversationOption(conversation, "Tell me more.", "Quest3Chat_3") + AddConversationOption(conversation, "Your burdens are yours alone. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm not certain we've done everything we can, but then again I've always taken on more burdens than I can easily carry. There's someting else we can do, right now. If ye'll hear me out, maybe ye could even lend a hand.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard027.mp3", "", "", 1974991098, 1800835214, Spawn) + AddConversationOption(conversation, "I'd be honored to scatter their ashes.", "Quest3Chat_6") + AddConversationOption(conversation, "You should have someone else honor your dead.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "Aye, it's the least we could do to respect their sacrifice.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard029.mp3", "", "", 1909973600, 750947925, Spawn) + AddConversationOption(conversation, "I will do as you ask.", "OfferScatteringAshes") + AddConversationOption(conversation, "I've changed my mind. Goodbye.") + StartConversation(conversation, NPC, Spawn, "This urn contains the ashes of the recently deceased. I'd like ye to take them to the peak of Pride Overlook and scatter 'em to the winds. The ashes will be carried out to sea. Maybe part of them will find their way back to Velious, if it still exists.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard028.mp3", "", "", 564515719, 107243017, Spawn) + AddConversationOption(conversation, "Thank you. I'd be happy to help.", "Quest3Chat_6") + AddConversationOption(conversation, "Like the Dain? That's a wild exaggeration, but I appreciate the compliment.", "Quest3Chat_6") + AddConversationOption(conversation, "I'd rather see a coldain honor his brethren.") + StartConversation(conversation, NPC, Spawn, "I'd be perfectly happy to give this job to one of my brothers, but I'd rather you do it, " .. GetName(Spawn) .. ". I trust ye. Yer capable and ye fight like the Dain himself.") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Fair enough.", "Quest3Chat_9") + AddConversationOption(conversation, "Whatever. If you say so.", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "Have a little faith. The spirits believe in us, or else they wouldn't be here. It's only fair to believe in them, in return.") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, ScatteringAshes, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard033.mp3", "", "", 935575101, 1863151637, Spawn) + AddConversationOption(conversation, "You can deduce a lot about a people by how they revere their dead.", "Quest4Chat_1") + AddConversationOption(conversation, "Let's hope that day is a long way off, Dolur.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ye stuck by yer word, " .. GetName(Spawn) .. ". When the day comes, I wouldn't mind if ye were the one to lay my remains to rest.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard034.mp3", "", "", 4183445940, 2191855130, Spawn) + AddConversationOption(conversation, "If you need to kill skeletons, I'm in.", "Quest4Chat_2") + AddConversationOption(conversation, "How can I help?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "And now that ye've helped honor the spirits of the fallen, perhaps we can assist them in a more practical way. The sooner our men have laid those Ry'Gorr skeletons to rest, the sooner they can rest themselves.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard036.mp3", "", "", 183860181, 4160128753, Spawn) + AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy? ", "Quest4Chat_6") + AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4") + AddConversationOption(conversation, "Headache?", "Quest4Chat_5") + AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye, I was hoping ye'd say that. But, perhaps more important than killing... er... re-killing them, is keeping the blasted things down. Those necromancers are causing us a real headache.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard035.mp3", "", "", 3130799113, 3083892992, Spawn) + AddConversationOption(conversation, "Since when did Ry'Gorr orcs practice necromancy?", "Quest4Chat_6") + AddConversationOption(conversation, "I'd be interested in hearing your plans.", "Quest4Chat_4") + AddConversationOption(conversation, "This sounds a little too complicated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr necromancers are making sure that we have our work cut out for us. Their skeletal minions won't stay down. But we think there's a way we can deal with that.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard038.mp3", "", "", 407410462, 3645301818, Spawn) + AddConversationOption(conversation, "How do the totems affect the piles of bones?", "Quest4Chat_10") + AddConversationOption(conversation, "The totems are used to raise the dead, aren't they?", "Quest4Chat_10") + AddConversationOption(conversation, "I've heard enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Allow me to explain. The orcs' dark art practitioners have whittled crude necromantic totems out of an unusually opaque black crystal. They place these totems near piles of their dead, after they've burned all the flesh from their bones.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard042.mp3", "", "", 4130815346, 134791613, Spawn) + AddConversationOption(conversation, "Please, no more details!") + AddConversationOption(conversation, "That's too much information.") + AddConversationOption(conversation, "For Brell's sake, stop right there!") + StartConversation(conversation, NPC, Spawn, "And that's saying a lot, considering I once woke up behind the Velium Keg with a splitting headache and a snow bunny tattoo inked in an awkward place.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard037.mp3", "", "", 3050869770, 2588737006, Spawn) + AddConversationOption(conversation, "I'd never heard of it, either.", "Quest4Chat_7") + AddConversationOption(conversation, "Orcs are bad enough as it is.", "Quest4Chat_7") + AddConversationOption(conversation, "I've heard enough. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Since now! Until recently, we'd never even heard of an orcish necromancer. Shaman or warrior types, certainly, but they've never been ones to dabble with the dead. ") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard039.mp3", "", "", 655322932, 2844698799, Spawn) + AddConversationOption(conversation, "What do you think?", "Quest4Chat_8") + AddConversationOption(conversation, "Sounds reasonable.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Unfortunately fer us, it looks like the orcs have picked up on the technique since becoming isolated on Erollis. Rakan posited that they may have turned to necromancy as a direct response to seeing our coldain brethren return from the afterlife to fight them.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard040.mp3", "", "", 951980673, 4228422662, Spawn) + AddConversationOption(conversation, "They are more resourceful than I had imagined.", "Quest4Chat_9") + AddConversationOption(conversation, "Orcs are deplorable.", "Quest4Chat_9") + AddConversationOption(conversation, "I don't want to get involved in this debate. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hrmph. Well, it's possible that they petitioned to one of the darker gods to grant them the ability. Whatever the means, it stinks of an act of desperation. There isn't much opportunity to grow and replenish their ranks without resorting to raising their dead.") +end + +function Quest4Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard043.mp3", "", "", 845201538, 1152092745, Spawn) + AddConversationOption(conversation, "How do you propose we 'deal' with them?", "Quest4Chat_4") + AddConversationOption(conversation, "I can think of a reason to leave. Goodbye.") + StartConversation(conversation, NPC, Spawn, "In the end, I don't suppose the reason matters much. There are no depths they won't sink to in order to win this battle. It is what it is, and we have to deal with what's in front of us. ") +end + +function Quest4Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard041.mp3", "", "", 2628510482, 3371068278, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferTotemAnnihilation") + AddConversationOption(conversation, "That's a sound plan.", "OfferTotemAnnihilation") + AddConversationOption(conversation, "This is a temporary solution, at best. I'll be going.") + StartConversation(conversation, NPC, Spawn, "And sure as Brell is my maker, dreadful skeletons rise up out of the piles, ready to fight again. I expect that destroying those totems will slow down the production of undead.") +end + +function Quest4Chat_11(NPC, Spawn) + SetStepComplete(Spawn, TotemAnnihilation, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard046.mp3", "", "", 1320158668, 3505958307, Spawn) + AddConversationOption(conversation, "Very funny.") + AddConversationOption(conversation, "That's not much of a consolation.") + AddConversationOption(conversation, "There's a silver lining in every cloud, eh?") + StartConversation(conversation, NPC, Spawn, "I suppose we should be thankful that the weather isn't warm here, or ye'd really stink.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard048.mp3", "", "", 1791567214, 1786988911, Spawn) + AddConversationOption(conversation, "That sounds very similar to the Ry'Gorr's necromantic totems.", "Quest5Chat_2") + AddConversationOption(conversation, "Do the coldain spirits have any choice in the matter?", "Quest5Chat_7") + AddConversationOption(conversation, "Speaking of which, my assistance is needed elsewhere. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The wards are beacons that allow a coldain's spirit to return to this world, and remain here, so long as their assistance is needed on the battlefield.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard049.mp3", "", "", 2886126619, 111361298, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3") + AddConversationOption(conversation, "This discussion tires me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The important difference being that the coldain spirits retain their will and conscience. They aren't controlled by dark magic.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard051.mp3", "", "", 3697109059, 807407603, Spawn) + AddConversationOption(conversation, "It doesn't sound like abandoning their surviving allies is a choice at all.", "Quest5Chat_4") + AddConversationOption(conversation, "I'm glad to hear that it isn't forced servitude.", "Quest5Chat_8") + AddConversationOption(conversation, "What is and what isn't 'dark magic' is all a matter of perspective.", "Quest5Chat_10") + AddConversationOption(conversation, "Sounds like we're arguing over semantics, which is a waste of my time and yours. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Our brethren don't have to return to the field of battle unless they choose to do so. Of course, valor in the face of overwhelming opposition isn't unusual for the coldain. Most dwarves opt to follow the light from the ward's beacon and return to Norrath.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard052.mp3", "", "", 2567924057, 453022525, Spawn) + AddConversationOption(conversation, "You know I wish to help.", "Quest5Chat_5") + AddConversationOption(conversation, "I help because we're both getting something out of this.", "Quest5Chat_11") + AddConversationOption(conversation, "I'm walking. Goodbye.") + StartConversation(conversation, NPC, Spawn, "There's always a choice, " .. GetName(Spawn) .. ". Just as you could choose to help us again, or choose to walk away.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard056.mp3", "", "", 721262634, 1165992998, Spawn) + AddConversationOption(conversation, "How will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6") + AddConversationOption(conversation, "How were the wards disabled?", "Quest5Chat_9") + AddConversationOption(conversation, "If I continue working tasks for you, I'm certain to find the spirit realm, myself. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The wards that were disabled need to be replaced. Furthermore, they must be placed in areas where the barrier between our world and the spirit realm is 'thin'.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard057.mp3", "", "", 3375420535, 3459651835, Spawn) + AddConversationOption(conversation, "The sooner I begin, the better.", "OfferCallingBack") + AddConversationOption(conversation, "I am no longer interested. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The coldain spirits have indicated as such. They've etched designs in the snow indicating the best locations for the wards. The spirits have seen both sides, after all, so they would know.") +end + +function Quest5Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard050.mp3", "", "", 1997222652, 757650652, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest5Chat_3") + AddConversationOption(conversation, "This discussion tires me. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course. This isn't dark magic. The wards merely allow the dwarves' spirits to return by showing them the way.") +end + +function Quest5Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard053.mp3", "", "", 61355934, 928420648, Spawn) + AddConversationOption(conversation, "Tell me how I can help.", "Quest5Chat_5") + AddConversationOption(conversation, "I'll be the judge of that. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Of course it isn't.") +end + +function Quest5Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard058.mp3", "", "", 865813729, 1073348208, Spawn) + AddConversationOption(conversation, "I see. And how will I know where this barrier between worlds is 'thin'?", "Quest5Chat_6") + AddConversationOption(conversation, "So you need these wards replaced, then?", "OfferCallingBack") + AddConversationOption(conversation, "I have no wish to assist in raising the dead. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hmm... I can't say for sure, but I imagine they were disabled in much the same way that you destroyed their necromancers' totems: the orcs broke them. Our wards were probably smashed under some Ry'Gorr's hammer.") +end + +function Quest5Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard054.mp3", "", "", 3731109771, 1471852014, Spawn) + AddConversationOption(conversation, "Fine. I'll be leaving.") + AddConversationOption(conversation, "You're awfully touchy. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Says ye. I think ye'd best be leaving, " .. GetName(Spawn) .. ", before I lose my temper.") +end + +function Quest5Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Of course not. How can I help?", "Quest5Chat_5") + AddConversationOption(conversation, "The jury is still out on that, but I'm willing to help today.", "Quest5Chat_5") + AddConversationOption(conversation, "I do feel underappreciated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "It's a mutually beneficial relationship, certainly. I just hope ye don't feel I'm taking advantage of yer kindness, or vice versa.") +end + +function Quest5Chat_12(NPC, Spawn) + SetStepComplete(Spawn, CallingBack, 6) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I hope we can tip the scales even futher.", "Quest5Chat_13") + AddConversationOption(conversation, "Is there anything else I can do to help, Dolur?", "Quest6Chat_1") + AddConversationOption(conversation, "I hope you have some real work for me, next time.", "Quest5Chat_13") + StartConversation(conversation, NPC, Spawn, "That'll tip the scales back in our favor! Well done, " .. GetName(Spawn) .. "") +end + +function Quest5Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard062.mp3", "", "", 1933886797, 2300926566, Spawn) + AddConversationOption(conversation, "Tell me more.", "Quest6Chat_1") + AddConversationOption(conversation, "What nightmares?", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "I hope so too, " .. GetName(Spawn) .. ". There's the business of my nightmares I'd like to speak to ye about.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard063.mp3", "", "", 3479422497, 420666487, Spawn) + AddConversationOption(conversation, "Ah, that would be frightful.", "Quest6Chat_2") + AddConversationOption(conversation, "It's only a dream, right?", "Quest6Chat_2") + AddConversationOption(conversation, "I have no time to analyze your dreams. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I'm in constant fear for our unseasoned coldain fighters, " .. GetName(Spawn) .. ". When I close my eyes, I can see them faltering. ") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard064.mp3", "", "", 884503499, 3365458147, Spawn) + AddConversationOption(conversation, "What else do you see in your dreams?", "Quest6Chat_3") + AddConversationOption(conversation, "Can I do something to help?", "Quest6Chat_4") + AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "In my dreaming sleep, I stand frozen in the midst of the fracas, watching helplessly as another green warrior is about to die.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard065.mp3", "", "", 1112528692, 1589230613, Spawn) + AddConversationOption(conversation, "That's not far from what's actually happening.", "Quest6Chat_6") + AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4") + AddConversationOption(conversation, "This is a little too familiar and creepy. I'm leaving.") + StartConversation(conversation, NPC, Spawn, "I'm in a maze of long hallways. There are mounds of bone, strewn about haphazardly. Scores of cackling undead spawn from the piles and mill about.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard066.mp3", "", "", 2614901969, 1124964549, Spawn) + AddConversationOption(conversation, "How would I go about doing that? ", "Quest6Chat_5") + AddConversationOption(conversation, "Destroying a pile of ossified bone isn't easy.", "Quest6Chat_5") + AddConversationOption(conversation, "Perhaps I'm not the right person for the job, after all.") + StartConversation(conversation, NPC, Spawn, "Aye. Someone should get out there and destroy the monster generators. Does this mean yer volunteering, " .. GetName(Spawn) .. "?") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard068.mp3", "", "", 3330795351, 440398686, Spawn) + AddConversationOption(conversation, "You don't have to worry anymore.", "OfferTheGauntlet") + AddConversationOption(conversation, "Of course. I'd love to help.", "OfferTheGauntlet") + AddConversationOption(conversation, "This is a really bad idea.") + StartConversation(conversation, NPC, Spawn, "Use yer weaponry, a heavy rock, or your bare fists, if that's all ye have on hand. I don't care, so long as they've been ground into a dust-like powder. Only then will the Ry'Gorr skeletons trouble us no longer.") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard067.mp3", "", "", 3225906480, 630261154, Spawn) + AddConversationOption(conversation, "Someone should destroy those bone piles.", "Quest6Chat_4") + AddConversationOption(conversation, "I must be leaving.") + StartConversation(conversation, NPC, Spawn, "And that's what disturbs me the most, " .. GetName(Spawn) .. ".") +end + +function Quest7Chat_1(NPC, Spawn) + SetStepComplete(Spawn, TheGauntlet, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard072.mp3", "", "", 1784529, 3849185180, Spawn) + AddConversationOption(conversation, "What about disabling the totems?","Quest7Chat_2") + AddConversationOption(conversation, "Even replacing the spirit wards didn't help?", "Quest7Chat_10") + AddConversationOption(conversation, "I managed to smash several skeletons into tiny bits.", "Quest7Chat_13") + AddConversationOption(conversation, "Well, if my efforts haven't been helpful, I'll go be of more use elsewhere.") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", the worst part of this nightmare is feeling utterly helpless. The Ry'Gorr forces are as strong as ever. And to be completely honest, yer efforts haven't helped us gain much ground.") +end + +function Quest7Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard073.mp3", "", "", 2943845017, 2205345789, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "What about it? The orcs took to disabling our wards while ye were smashing up their totems, and they're making more of the blasted things as we speak.") +end + +function Quest7Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard076.mp3", "", "", 3845015927, 2518600901, Spawn) + AddConversationOption(conversation, "What did you have in mind?", "Quest7Chat_4") + AddConversationOption(conversation, "I could look for the necromancers.", "Quest7Chat_11") + AddConversationOption(conversation, "I've already bled enough for your goals. Count me out.") + StartConversation(conversation, NPC, Spawn, "Yer efforts, while valiant, aren't having a lasting impact on their skeletal horde. And the constant assault of undead is wearing us down. We've gone about this plan of attack all sideways, if ye ask me. A more precision strike is in order.") +end + +function Quest7Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard077.mp3", "", "", 3800804769, 3084250948, Spawn) + AddConversationOption(conversation, "Makes sense.", "Quest7Chat_5") + AddConversationOption(conversation, "But where are they hiding?", "Quest7Chat_5") + AddConversationOption(conversation, "I'd rather not venture into the proverbial lion's den. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The orcish necromancers are the ultimate source of the undead army. Ye need to locate them.") +end + +function Quest7Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard079.mp3", "", "", 4093864666, 2060412696, Spawn) + AddConversationOption(conversation, "Any other reports?", "Quest7Chat_6") + AddConversationOption(conversation, "I'll figure this out without their help. Goodbye.") + StartConversation(conversation, NPC, Spawn, "My scouts are giving me conflicting information. Mapin thinks they're back behind a snowdrift on Ry'Gorr Isle. Letke thought he saw a cadre of necromancer types gathering on a floating chunk of ice off to the northwest.") +end + +function Quest7Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard080.mp3", "", "", 1837622160, 4089784009, Spawn) + AddConversationOption(conversation, "Ugh. So which is it?", "Quest7Chat_7") + AddConversationOption(conversation, "Ol' Blizzardbeard?", "Quest7Chat_12") + AddConversationOption(conversation, "When you get your intelligence in order, let me know. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. Ol' Blizzardbeard is under the impression that they're simply working their dark magic out in the open, carving the totems under cover of night when we're not looking.") +end + +function Quest7Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard082.mp3", "", "", 4103645790, 7293030, Spawn) + AddConversationOption(conversation, "That sounds more plausible.", "Quest7Chat_8") + AddConversationOption(conversation, "No wonder it's been hard to find.", "Quest7Chat_8") + AddConversationOption(conversation, "This sounds like a waste of my time.") + StartConversation(conversation, NPC, Spawn, "The most reliable reconnoitering we have, as confirmed by scout Dansk and scout Clawhammer, indicates that the necromancers have holed up in a natural cavern. The cave is on an island off the coast to the southwest.") +end + +function Quest7Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard083.mp3", "", "", 2366031645, 641653492, Spawn) + AddConversationOption(conversation, "These orcs are wily. Their behavior defies expectations.", "Quest7Chat_9") + AddConversationOption(conversation, "They've had more than enough time to fortify the area and make it inhabitable.", "Quest7Chat_9") + AddConversationOption(conversation, "The last place you'd look will be the first place they'd hide.", "Quest7Chat_9") + AddConversationOption(conversation, "If you're not even certain the Ry'Gorr necromancers are in there, I'll spend my time elsewhere.") + StartConversation(conversation, NPC, Spawn, "It's the last place I would have expected to find them. Even if it weren't orcish territory, that area is treacherously difficult to navigate, and prone to cave-ins. We had considered it too dangerous to explore.") +end + +function Quest7Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard084.mp3", "", "", 4243043314, 1523140445, Spawn) + AddConversationOption(conversation, "Of course.", "OfferOffOssuary") + AddConversationOption(conversation, "I'll see this through to the end.", "OfferOffOssuary") + AddConversationOption(conversation, "Though your scouts' information may not be accurate, it's still the best lead we've got.", "OfferOffOssuary") + AddConversationOption(conversation, "If you're not certain the Ry'Gorr necromancers are in there, I'll not waste my time.") + StartConversation(conversation, NPC, Spawn, "Aye, the lead is solid. I'm sorry to burden ye with another grim task, especially when the outcome is uncertain, but could I count on ye to explore this cavern?") +end + +function Quest7Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard074.mp3", "", "", 3668194887, 51910928, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "It kept us on equal footing with them, at best.") +end + +function Quest7Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard078.mp3", "", "", 571602465, 4229451174, Spawn) + AddConversationOption(conversation, "As always, we're on the same page.", "Quest7Chat_5") + AddConversationOption(conversation, "Any idea where they could be hiding?", "Quest7Chat_5") + AddConversationOption(conversation, "I'll figure this out on my own. Goodbye.") + StartConversation(conversation, NPC, Spawn, "That was my thought, precisely.") +end + +function Quest7Chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard081.mp3", "", "", 3792358161, 1911808576, Spawn) + AddConversationOption(conversation, "Sounds like he's what you'd call a drunkard.", "Quest7Chat_7") + AddConversationOption(conversation, "Well, do you have any reliable information?", "Quest7Chat_7") + AddConversationOption(conversation, "Oh, this is such a waste of time! Goodbye.") + StartConversation(conversation, NPC, Spawn, "Well, heh. That's not his real name. We just took to calling him that since he has ale suds in his beard more often than not. He's not what ye'd call reliable.") +end + +function Quest7Chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard075.mp3", "", "", 2950142669, 2951966236, Spawn) + AddConversationOption(conversation, "Oh, I see.", "Quest7Chat_3") + AddConversationOption(conversation, "This is helpless! I quit.") + StartConversation(conversation, NPC, Spawn, "Aye, and there will be plenty extra where those came from. Point of fact, there are more bones on the battlefield than ice floes in Iceclad.") +end + +function Quest7Chat_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard087.mp3", "", "", 2455437379, 1149838635, Spawn) + AddConversationOption(conversation, "I did, but there will be more of them.", "Quest7Chat_15") + AddConversationOption(conversation, "Yes, but there are necromancers all over the Ossuary of Ice.", "Quest7Chat_15") + StartConversation(conversation, NPC, Spawn, "Aye! So it was correct. It looks like I owe Dansk and Clawhammer a whole keg of ale for their keen eyes. Brell bless 'em. And were ye able to give the necromancers a sound beating?") +end + +function Quest7Chat_15(NPC, Spawn) + SetStepComplete(Spawn, OffOssuary, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard088.mp3", "", "", 191733965, 1473786520, Spawn) + AddConversationOption(conversation, "Figuratively speaking, of course.", "Quest8Chat_1") + AddConversationOption(conversation, "So, I'll be heading back to the Ossuary?", "Quest8Chat_1") + StartConversation(conversation, NPC, Spawn, "Well then. How about we cut off the head of the frost wurm?") +end + +function Quest8Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard089.mp3", "", "", 1399173958, 925064684, Spawn) + AddConversationOption(conversation, "We need to sever the head of this frost wurm.", "Quest8Chat_2") + AddConversationOption(conversation, "We need to find and slay their leader.", "Quest8Chat_2") + AddConversationOption(conversation, "I've already been in there once. Count me out.") + StartConversation(conversation, NPC, Spawn, GetName(Spawn) .. ", ye've managed to pinpoint the heart of the Ry'Gorr's operations. This is a most fortunate turn of events. Armed with this information, we stand a chance to take back Erollis from the orcs for good. But before we start celebrating...") +end + +function Quest8Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard090.mp3", "", "", 3782002158, 339970398, Spawn) + AddConversationOption(conversation, "What should I look for?", "Quest8Chat_3") + AddConversationOption(conversation, "How will I know when I've found the leader?", "Quest8Chat_3") + AddConversationOption(conversation, "I've already been in there once and I'd rather not go back. Count me out.") + StartConversation(conversation, NPC, Spawn, "And that means heading back to the Ossuary of Ice. But this time, ye'll be on the lookout for their leader and whatever tools he's using to manufacture the totems.") +end + +function Quest8Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard091.mp3", "", "", 1275705451, 1277532421, Spawn) + AddConversationOption(conversation, "What are they doing?", "Quest8Chat_4") + AddConversationOption(conversation, "Why would they stand around the crystal?", "Quest8Chat_4") + AddConversationOption(conversation, "I never really liked Dark Crystal. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've had this recurring vision, and now it makes sense. In my dreams, I see an unholy crystal, jutting out of the ice like a festering claw. The Ry'Gorr necromancers stand around the crystal. ") +end + +function Quest8Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard092.mp3", "", "", 420466205, 1714342326, Spawn) + AddConversationOption(conversation, "And you think their leader can be found near the crystal?", "Quest8Chat_5") + AddConversationOption(conversation, "Your dreams give me the creeps.") + StartConversation(conversation, NPC, Spawn, "They worship it, day and night. From that dark crystal have they hewn out their dark totems, for dark purposes.") +end + +function Quest8Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard093.mp3", "", "", 4158777866, 37202239, Spawn) + AddConversationOption(conversation, "He must be driven.", "Quest8Chat_6") + AddConversationOption(conversation, "He must be mad.", "Quest8Chat_6") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Aye. Now that ye've found the crystal, he needs to protect it. He stands over it, tirelessly. He never sleeps. I can see his reflection in the crystal. His eyes burn with purpose.") +end + +function Quest8Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard094.mp3", "", "", 4080806581, 1372886220, Spawn) + AddConversationOption(conversation, "While I'm there, I may as well destroy that crystal.", "Quest8Chat_7") + AddConversationOption(conversation, "Anything else?", "Quest8Chat_7") + AddConversationOption(conversation, "I don't feel like my efforts are appreciated. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He must be eliminated. Only by dealing with their fearless leader will we see any reprieve out here on the battlefield. Ye've seen firsthand that other tactics are ultimately ineffective.") +end + +function Quest8Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard095.mp3", "", "", 4108326370, 3849804225, Spawn) + AddConversationOption(conversation, "What do you think the crystal is made of?", "Quest8Chat_8") + AddConversationOption(conversation, "What is the crystal?", "Quest8Chat_8") + AddConversationOption(conversation, "I don't want to touch the foul thing. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yes. After ye've dealt with the source of their leadership, ye'll want to destroy the source of those totems. Break the crystal.") +end + +function Quest8Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard096.mp3", "", "", 568891414, 964093809, Spawn) + AddConversationOption(conversation, "That's terrifying.", "Quest8Chat_9") + AddConversationOption(conversation, "Whatever it is, it must be destroyed.", "Quest8Chat_9") + AddConversationOption(conversation, "On second thought, perhaps this isn't the job for me.") + StartConversation(conversation, NPC, Spawn, "I'm not certain, but if I had to guess... I'd say it's a piece of the sky that came raining down upon us that fateful day that we were separated from the rest of Velious. I'd say it's a piece of Luclin.") +end + +function Quest8Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "dolur_axebeard/halas/great_shelf/dolur_axebeard/dolur_axebeard097.mp3", "", "", 1964889828, 3937802389, Spawn) + AddConversationOption(conversation, "I'll put an end to your nightmares.", "OfferSeveringHead") + AddConversationOption(conversation, "I'll sever the head of this wurm, as you put it.", "OfferSeveringHead") + AddConversationOption(conversation, "It sounds like another waste of time. Goodbye. ") + StartConversation(conversation, NPC, Spawn, "How does that sound?") +end + +function Quest8Chat_10(NPC, Spawn) + SetStepComplete(Spawn, SeveringHead, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm glad to have helped.", "Quest9Chat_1") + AddConversationOption(conversation, "So, do you need any more help?", "Quest9Chat_1") + StartConversation(conversation, NPC, Spawn, "I wish I could have been there to see the looks on thier tooth-grinned faces. Haha! It must have been a sight to behold. And now their forced run around like helpless, leaderless, axe-fodder.") +end + +function Quest9Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm fairly sure.", "Quest9Chat_2") + AddConversationOption(conversation, "Your flattery will be the death of me, Dolur.", "Quest9Chat_2") + StartConversation(conversation, NPC, Spawn, "Are ye sure ye don't have any Frostreaver blood in ye, " .. GetName(Spawn) .. "?") +end + +function Quest9Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'm just glad it's over.", "Quest9Chat_3") + AddConversationOption(conversation, "A few missteps are to be expected.", "Quest9Chat_3") + AddConversationOption(conversation, "War is rarely clean or predictable.", "Quest9Chat_3") + AddConversationOption(conversation, 'What you call "trial and error," I call "dangerous and sloppy."') + StartConversation(conversation, NPC, Spawn, "I've got an itching to make ye an honorary member of my family! Ye've turned this whole battle around, and though there was a bit of trial and error to the process, 'tis the end result that matters.") +end + +function Quest9Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'd be happy to help.", "OfferNightmareOver") + AddConversationOption(conversation, "I will head over right away.", "OfferNightmareOver") + AddConversationOption(conversation, "I could use a break, actually. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer welcome to stay here and celebrate, but I'd say yer handiwork will be needed more elsewhere. The men in Cragged Spine could use someone with yer tenacity. What do ye say?") +end + +function OfferGlimmerOrc(NPC, Spawn) + OfferQuest(NPC, Spawn, GlimmerOrc) +end + +function OfferMurkyMystery(NPC, Spawn) + OfferQuest(NPC, Spawn, MurkyMystery) +end + +function OfferScatteringAshes(NPC, Spawn) + OfferQuest(NPC, Spawn, ScatteringAshes) +end + +function OfferTotemAnnihilation(NPC, Spawn) + OfferQuest(NPC, Spawn, TotemAnnihilation) +end + +function OfferCallingBack(NPC, Spawn) + OfferQuest(NPC, Spawn, CallingBack) +end + +function OfferTheGauntlet(NPC, Spawn) + OfferQuest(NPC, Spawn, TheGauntlet) +end + +function OfferOffOssuary(NPC, Spawn) + OfferQuest(NPC, Spawn, OffOssuary) +end + +function OfferSeveringHead(NPC, Spawn) + OfferQuest(NPC, Spawn, SeveringHead) +end + +function OfferNightmareOver(NPC, Spawn) + OfferQuest(NPC, Spawn, NightmareOver) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/DrallinCaelthis.lua b/SpawnScripts/FrostfangSea/DrallinCaelthis.lua new file mode 100644 index 0000000..17d782b --- /dev/null +++ b/SpawnScripts/FrostfangSea/DrallinCaelthis.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DrallinCaelthis.lua + Script Purpose : Drallin Caelthis + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Do I have any qualms about fencing items from across the sea? Not a one. The money I make more than compensates for the risk.", "chuckle", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua b/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua new file mode 100644 index 0000000..3bfe254 --- /dev/null +++ b/SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/DyrunnGoldgrip.lua + Script Purpose : Dyrunn Goldgrip + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Your coin will be safe in the Frigid Strongbox, New Halas' official bank.", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Bank accounts are like weapons. You must maintain them, lest they erode!", "smile", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Where did I put my abacus?", "ponder", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/EidnarAartsson.lua b/SpawnScripts/FrostfangSea/EidnarAartsson.lua new file mode 100644 index 0000000..a6a7d5a --- /dev/null +++ b/SpawnScripts/FrostfangSea/EidnarAartsson.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EidnarAartsson.lua + Script Purpose : troubador trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local TROUBADOR = 36 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == TROUBADOR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow troubador?", "TroubChat1") + AddConversationOption(conversation, "It certainly can. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow troubador. This city can always use more talented performers!") + else + PlayFlavor(NPC, "", "What's that?", "hello", 0, 0, Spawn) + end +end + +function TroubChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "TroubChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function TroubChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "TroubChat3") + StartConversation(conversation, NPC, Spawn, "Our songs of cheer are incredibly valuable to others. They can embolden mages and anyone else wielding magical spells, increasing their offense and granting them the power to perform outstanding feats.") +end + +function TroubChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not neglect your weapon skills. These are essential to our survival! Uplifting songs can strengthen you and your group mates, but without a weapon to inflict damage there is no killing blow.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua b/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua new file mode 100644 index 0000000..fa050df --- /dev/null +++ b/SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EnvoyTamiSwifthammer.lua + Script Purpose : Envoy Tami Swifthammer + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Marr's blessings!", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Good day!", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/SpawnScripts/FrostfangSea/EvigistheAncient.lua b/SpawnScripts/FrostfangSea/EvigistheAncient.lua new file mode 100644 index 0000000..98ac92e --- /dev/null +++ b/SpawnScripts/FrostfangSea/EvigistheAncient.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/EvigistheAncient.lua + Script Purpose : for the spawn Evigis the Ancient + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local NapEvigis = 64 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Gerla's Elemental Lullaby" then + KillSpawn(NPC, Spawn, 1) + SetStepComplete(Spawn, NapEvigis, 1) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/FilnnShatterhand.lua b/SpawnScripts/FrostfangSea/FilnnShatterhand.lua new file mode 100644 index 0000000..3506afb --- /dev/null +++ b/SpawnScripts/FrostfangSea/FilnnShatterhand.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FilnnShatterhand.lua + Script Purpose : Filnn Shatterhand + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Compiling the short history of our city may seem easy, but there is much work to be done.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua b/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua new file mode 100644 index 0000000..f7c64ab --- /dev/null +++ b/SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FirebeardOrcFootprints.lua + Script Purpose : the quest Beets the Alternative + Script Author : theFoof + Script Date : 2013.5.18 +--]] +local BeetsAlternative = 13 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Player) + if HasCompletedQuest(Player, BeetsAlternative) or GetQuestStep(Player, BeetsAlternative) > 2 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua b/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua new file mode 100644 index 0000000..b7e1ccd --- /dev/null +++ b/SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua @@ -0,0 +1,551 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr.lua + Script Purpose : Flibbit Quagmarr + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] +local IcemanesCometh = 18 + +local UnbearableProblem = 25 + +local LostFroglok = 26 + +local AbsentEffigy = 27 + +local BarteringCrystals = 28 + +local Pelted = 29 + +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + ProvidesQuest(NPC, UnbearableProblem) + ProvidesQuest(NPC, LostFroglok) + ProvidesQuest(NPC, AbsentEffigy) + ProvidesQuest(NPC, BarteringCrystals) + ProvidesQuest(NPC, Pelted) + ProvidesQuest(NPC, GreatShelf) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, UnbearableProblem) == false and HasQuest(Spawn, UnbearableProblem) == false then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_001.mp3", "", "", 3105180851, 2650595838, Spawn) + AddConversationOption(conversation, "Indeed I have. I am " .. GetName(Spawn) .. ".", "Quest1Chat_1") + AddConversationOption(conversation, "No, I am not a disciple of Marr. My name's " .. GetName(Spawn) .. ".", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Good day, traveler. I am Flibbit Quagmarr and this is my son, Splorpy. Have you come to Erollis Isle to pay tribute to the Marrs?") + elseif GetQuestStep(Spawn, UnbearableProblem) == 1 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_002.mp3", "", "", 524114756, 2569165165, Spawn) + AddConversationOption(conversation, "No, I cannot say that the path is safe. Where can I find the blizzard grizzlies?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you cleared a safe path for the pilgrims?") + elseif GetQuestStep(Spawn, UnbearableProblem) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_003.mp3", "", "", 2615004659, 1301088947, Spawn) + AddConversationOption(conversation, "I have killed many grizzlies and have made the path to New Halas much safer for the pilgrims.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you killed the pilgrim-eating grizzlies, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, UnbearableProblem) and HasCompletedQuest(Spawn, LostFroglok) == false and HasQuest(Spawn, LostFroglok) == false then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, LostFroglok) and GetQuestStep(Spawn, LostFroglok) < 3 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_005.mp3", "", "", 1521546792, 2428780589, Spawn) + AddConversationOption(conversation, "Not yet, I am still gathering information.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you found my son?") + elseif GetQuestStep(Spawn, LostFroglok) == 3 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_006.mp3", "", "", 2660653144, 1586161380, Spawn) + AddConversationOption(conversation, "I found him southwest of here. He said he was scared off by a large man with a beard.", "Quest2Chat_7") + StartConversation(conversation, NPC, Spawn, "Splorpy! You have returned my son to me, " .. GetName(Spawn) .. "!") + elseif HasCompletedQuest(Spawn, LostFroglok) and not HasCompletedQuest(Spawn, AbsentEffigy) and not HasQuest(Spawn, AbsentEffigy) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_007.mp3", "", "", 226527743, 1076016282, Spawn) + AddConversationOption(conversation, "I'm finding enough work to keep myself busy for a little while. How are you and Splorpy faring?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", how are you finding Gwenevyn's Cove?") + elseif GetQuestStep(Spawn, AbsentEffigy) == 1 then + AddConversationOption(conversation, "Not yet. Where do you suppose I should look?", "Quest3Chat_4") + StartConversation(conversation, "Have you had any luck finding the Effigy of Mithaniel?") + elseif GetQuestStep(Spawn, AbsentEffigy) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_009.mp3", "", "", 3889781371, 2180434460, Spawn) + AddConversationOption(conversation, "I do! I found it in a frigid whirlstorm, just as you suspected.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "I don't suppose you have any word about the Effigy of Mithaniel?") + elseif HasCompletedQuest(Spawn, AbsentEffigy) and not HasCompletedQuest(Spawn, BarteringCrystals) and not HasQuest(Spawn, BarteringCrystals) then + Quest4Chat_2(NPC, Spawn) + elseif GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddConversationOption(conversation, "No, I haven't. Where can I find them again?", "Quest4Chat_7") + StartConversation(conversation, NPC, Spawn, "Have you found any of the strange ice crystals?") + elseif GetQuestStep(Spawn, BarteringCrystals) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_012.mp3", "", "", 664563942, 2094087421, Spawn) + AddConversationOption(conversation, "I did find some of the strange ice crystals. Oddly enough, they do not melt from heat and while I am no alchemist, I think it means they are not made of ice.", "Quest4Chat_8") + StartConversation(conversation, NPC, Spawn, "Have you had any luck finding the ice crystals?") + elseif HasCompletedQuest(Spawn, BarteringCrystals) and not HasCompletedQuest(Spawn, Pelted) and not HasQuest(Spawn, Pelted) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_013.mp3", "", "", 1522544075, 2501686362, Spawn) + AddConversationOption(conversation, "Hello, Flibbit.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Greetings, " .. GetName(Spawn) .. ", hero of Gwenevyn's Cove!") + elseif GetQuestStep(Spawn, Pelted) == 1 then + AddConversationOption(conversation, "I have not yet collected all of the pelts. Where can I find the cubs?", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Do you have the icemane cub pelts?") + elseif GetQuestStep(Spawn, Pelted) == 2 then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_015.mp3", "", "", 2399568158, 1310414572, Spawn) + AddConversationOption(conversation, "I have collected the icemane cub pelts that you requested.", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Do you have any news for me?") + elseif HasCompletedQuest(Spawn, Pelted) and not HasCompletedQuest(Spawn, IcemanesCometh) then + PlayFlavor(NPC, "", "Our fellow pilgrim, Verien Skysigh, has been asking for your attention. I think he requires your aid, brave one.", "", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, Pelted) and HasCompletedQuest(Spawn, IcemanesCometh) and not HasCompletedQuest(Spawn, GreatShelf) and not HasQuest(Spawn, GreatShelf) then + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_016.mp3", "", "", 3282158766, 1454461175, Spawn) + AddConversationOption(conversation, "That's great news, Flibbit!", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "The time has finally come for my son Splorpy and I to leave Gwenevyn's Cove and continue on our pilgrimage to New Halas.") + elseif GetQuestStep(Spawn, GreatShelf) == 1 then + Quest6Chat_6(NPC, Spawn) + elseif GetQuestStep(Spawn, GreatShelf) == 2 then + PlayFlavor(NPC, "", "I will meet you at the Great Shelf!", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_019.mp3", "", "", 3157384930, 341257107, Spawn) + AddConversationOption(conversation, "What is wrong with the path?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah! Your name we have heard, " .. GetName(Spawn) .."! News of your exploits has traveled far. My son and I have made the pilgrimage to Erollis Isle and we plan on finding a place to live in New Halas. Unfortunately, we cannot continue on to New Halas until the path is made safe once again.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_020.mp3", "", "", 3443691770, 4044378382, Spawn) + AddConversationOption(conversation, "My reasons are my own, but I will help any pilgrims in need.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Then what is your purpose here?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_021.mp3", "", "", 2518687003, 3994330850, Spawn) + AddConversationOption(conversation, "What would you have me do?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Many pilgrims that have tried to make their way to New Halas have sadly fallen along the way. The grizzlies are eating their remains. Though it may be the natural way of life, it has accustomed the bears to the taste of the pilgrims' flesh, making the bears very dangerous to travelers in this area.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_022.mp3", "", "", 2370229113, 461588246, Spawn) + AddConversationOption(conversation, "I understand. I shall clear a safe path for the pilgrims and return to you once I have finished.", "OfferUnbearableProblem") + AddConversationOption(conversation, "What's the Cairn of the Huntress?", "Quest1Chat_5") + AddConversationOption(conversation, "I'm not going to fight bears!") + StartConversation(conversation, NPC, Spawn, "Please clear out the blizzard grizzlies around Gwenevyn's Cove so that the pilgrims traveling through this area are not hunted by the grizzly bears. It is unfortunate that the grizzlies must be killed, but the pilgrimage to the Cairn of The Huntress is of more importance.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_062.mp3", "", "", 2223435732, 36629853, Spawn) + AddConversationOption(conversation, "No wonder it is so important that I clear a safe path for the pilgrims.", "OfferUnbearableProblem") + AddConversationOption(conversation, "Forget it. I'm not going to fight bears!") + StartConversation(conversation, NPC, Spawn, "The Cairn of The Huntress is the temple erected by Mithaniel Marr, god of valor, in honor of his fallen sister, Erollisi Marr, The Loving Huntress. It awaits us within the city of New Halas!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall continue to hunt the pilgrim-eating grizzlies.") + StartConversation(conversation, NPC, Spawn, "They hunt and roam southwest of here.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, UnbearableProblem, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_025.mp3", "", "", 2597773991, 3326444156, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "I am glad to hear it! Now my son and I can prepare to break camp and continue on our pilgrimage. I cannot spare much coin, so please take one of the helms that I have been mending.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_063.mp3", "", "", 1125643024, 3387202205, Spawn) + AddConversationOption(conversation, "What is it? Who?", "Quest2Chat_2") + AddConversationOption(conversation, "I'll leave you alone now.") + StartConversation(conversation, NPC, Spawn, "Wait! Where did he go?!") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_004.mp3", "", "", 2980400722, 2578144339, Spawn) + AddConversationOption(conversation, "Someone has taken Splorpy?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. "! Help me! My son has been taken!") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_026.mp3", "", "", 2928995229, 3951798794, Spawn) + AddConversationOption(conversation, "What can I do to help?", "Quest2Chat_4") + AddConversationOption(conversation, "Good luck finding him.") + StartConversation(conversation, NPC, Spawn, "I cannot find him! I left our tent to go and collect some more wood for the fire, as it was my turn to do so, and now he is gone!") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_027.mp3", "", "", 3820799248, 3563722850, Spawn) + AddConversationOption(conversation, "Is there anyone I can ask at Gwenevyn's Cove that might know where Splorpy has gone?", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "You must find him! Oh, if he has been eaten by a blizzard grizzly I will never forgive myself!") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_028.mp3", "", "", 968886797, 3430688549, Spawn) + AddConversationOption(conversation, "I will ask Sigbrith if she has seen Splorpy and then I will go out and look for him.", "OfferLostFroglok") + StartConversation(conversation, NPC, Spawn, "You could ask Sigbrith MacInnes. She is friendly towards us pilgrims. Perhaps she saw something while I was getting firewood.") +end + +function Quest2Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_029.mp3", "", "", 1372379832, 3108068275, Spawn) + AddConversationOption(conversation, "I will return once I have found Splorpy.") + StartConversation(conversation, NPC, Spawn, "Please hurry!") +end + +function Quest2Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_031.mp3", "", "", 1539671456, 2276621725, Spawn) + AddConversationOption(conversation, "He said it was not a barbarian.", "Quest2Chat_8") + StartConversation(conversation, NPC, Spawn, "A barbarian?") +end + +function Quest2Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_032.mp3", "", "", 1459827383, 2517890106, Spawn) + AddConversationOption(conversation, "I am planning on ending up there myself.", "Quest2Chat_9") + StartConversation(conversation, NPC, Spawn, "How odd. I wonder what it was he saw. The wilderness is no place for children! I will be glad when we have safely arrived in New Halas.") +end + +function Quest2Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_033.mp3", "", "", 2748996768, 1461112434, Spawn) + AddConversationOption(conversation, "I could not stand by and do nothing.", "Quest2Chat_10") + StartConversation(conversation, NPC, Spawn, "Perhaps we could go together when the time comes. I am but a poor pilgrim and could use your fighting skill. You never know what other dangers are out there on the ice shelf. Anyway, I thank you for finding my son and returning him to me safe and sound.") +end + +function Quest2Chat_10(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 3) + Despawn(GetSpawn(Spawn, 4701835)) + AddSpawnAccess(GetSpawnByLocationID(GetZone(NPC), 5217), Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_034.mp3", "", "", 54813479, 1970991654, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". I know it isn't much, but I have some coin to give. Please take them as a token of my thanks.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_035.mp3", "", "", 3761564927, 3120365260, Spawn) + AddConversationOption(conversation, "What do you need help with?", "Quest3Chat_3") + AddConversationOption(conversation, "I'm a bit busy right now, perhaps later.") + StartConversation(conversation, NPC, Spawn, "We are doing very well. I have been taking stock of our supplies, and while they have been depleted during our long stay in Gwenevyn's Cove, I hope that we can restock soon and be on our way. Say, can you spare a moment to help us?") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_036.mp3", "", "", 357106938, 4264008220, Spawn) + AddConversationOption(conversation, "I could keep an eye out for it.", "OfferAbsentEffigy") + StartConversation(conversation, NPC, Spawn, "Splorpy had a little metal Effigy of Mithaniel that he always carried in his pocket. Unfortunately he has lost it somewhere on the ice shelf.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall look for it amongst the frigid whirlstorms, then.") + StartConversation(conversation, "I figure it's probably been picked up in an eddy of one of those frigid whirlstorms you see ripping about across the ice shelf.") +end + +function Quest3Chat_5(NPC, Spawn) + SetStepComplete(Spawn, AbsentEffigy, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_039.mp3", "", "", 3267108505, 3934101762, Spawn) + AddConversationOption(conversation, "I am glad to be able to return it to Splorpy.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You are good to my son and me. I shall not forget your kindness, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_064.mp3", "", "", 1699103453, 3563523529, Spawn) + AddConversationOption(conversation, "Yes, I am. Do you need anything else for your pilgrimage?", "Quest4Chat_3") + AddConversationOption(conversation, "No, I am not.") + StartConversation(conversation, NPC, Spawn, "Are you free to help us, further?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_010.mp3", "", "", 3573239731, 1050060111, Spawn) + AddConversationOption(conversation, "Hello, Flibbit. Do you need anything else for your pilgrimage?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Good day, brave " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_040.mp3", "", "", 893544611, 973431140, Spawn) + AddConversationOption(conversation, "Is there anything I can help with?", "Quest4Chat_4") + AddConversationOption(conversation, "Me too! I really must be going.") + StartConversation(conversation, NPC, Spawn, "Actually I do. There are still a few things I must do before Splorpy and I can continue on our pilgrimage.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_041.mp3", "", "", 3728599078, 2071611089, Spawn) + AddConversationOption(conversation, "I could head out that way and collect them for you.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Well, I saw some mercenaries carrying a strange ice crystal. When I inquired where they got it from, I was informed that they grow on the Icemane Plains. Unfortunately, I am no warrior so I cannot venture out there to collect them myself.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_042.mp3", "", "", 641871546, 1699897380, Spawn) + AddConversationOption(conversation, "What do you hope to do with them?", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "If you would be so kind, I would greatly appreciate it.") +end + +function Quest4Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_043.mp3", "", "", 972157207, 757922985, Spawn) + AddConversationOption(conversation, "I will look for these strange ice crystals upon the Icemane Plains.", "OfferBarteringCrystals") + AddConversationOption(conversation, "On second thought, this is not a task I want to do.") + StartConversation(conversation, NPC, Spawn, "Assuming they have no alchemical properties, I shall try to use them to trade for goods, room and board in New Halas. I hope that it will give us a better start there.") +end + +function Quest4Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I shall continue my search for the ice crystals.") + StartConversation(conversation, NPC, Spawn, "You can find the crystals south of here, on the Icemane Plains.") +end + +function Quest4Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_046.mp3", "", "", 1845183249, 3762123225, Spawn) + AddConversationOption(conversation, "Good luck with your experiments.", "Quest4Chat_9") + StartConversation(conversation, NPC, Spawn, "That is odd indeed. I shall have to study these further. Unfortunately, my field kit is not up to this level of work, but perhaps I can discover the most basic properties of these crystals.") +end + +function Quest4Chat_9(NPC, Spawn) + SetStepComplete(Spawn, BarteringCrystals, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_047.mp3", "", "", 235665494, 154066582, Spawn) + AddConversationOption(conversation, "It was no problem for me to collect the crystals.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. ". Please accept this as a token of my gratitude.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_048.mp3", "", "", 146466973, 1233162393, Spawn) + AddConversationOption(conversation, "And what is that?", "Quest5Chat_2") + AddConversationOption(conversation, "Unfortunately, I am too busy to help you, right now.") + StartConversation(conversation, NPC, Spawn, "I only have one final task to complete before Splorpy and I can continue on our pilgrimage.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_049.mp3", "", "", 1000986096, 336825003, Spawn) + AddConversationOption(conversation, "What do you need to repair it?", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Splorpy’s jacket has become torn. He cannot go across the ice shelf with a hole in his jacket, and so we are delayed until I can repair it.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_050.mp3", "", "", 2187218830, 3343226771, Spawn) + AddConversationOption(conversation, "I wish you would have told me this before; I could have gotten you pelts while I was collecting the ice crystals.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "I need the pelts from icemane cubs. Their fur is soft and the leather will be supple enough to make a coat jacket small enough for Splorpy.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_051.mp3", "", "", 1105807509, 509218310, Spawn) + AddConversationOption(conversation, "I shall collect the icemane cub pelts so that you may repair Splorpy's jacket.", "OfferPelted") + AddConversationOption(conversation, "Maybe I can help you later.") + StartConversation(conversation, NPC, Spawn, "I do apologize, had I discovered the tear earlier I would have asked you then.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will return with the pelts you requested.") + StartConversation(conversation, NPC, Spawn, "They are south of here, on the Icemane Plains.") +end + +function Quest5Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_054.mp3", "", "", 3723222510, 1362601367, Spawn) + AddConversationOption(conversation, "Thank you, Flibbit.", "Quest5Chat_7") + StartConversation(conversation, NPC, Spawn, "Thank you, " .. GetName(Spawn) .. "! Now I can finish Splorpy's jacket as well as something else I have been working on. I have salvaged some accessories, perhaps you can find a use for one of them?") +end + +function Quest5Chat_7(NPC, Spawn) + SetStepComplete(Spawn, Pelted, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_055.mp3", "", "", 160665426, 3368306133, Spawn) + AddConversationOption(conversation, "I am glad that I was able to help you and your son on your pilgrimage.") + StartConversation(conversation, NPC, Spawn, "You deserve so much more! This trinket was the least I could do to repay you for all the help you have given my son and me.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_056.mp3", "", "", 1415595156, 2895327505, Spawn) + AddConversationOption(conversation, "What do you need me to do?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "It is great news indeed. I would ask for your help one last time, " .. GetName(Spawn) .. ".") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_057.mp3", "", "", 3437714001, 1568066083, Spawn) + AddConversationOption(conversation, "Why would you split up with your son?", "Quest6Chat_4") + AddConversationOption(conversation, "Wait, where is the Great Shelf?", "Quest6Chat_3") + StartConversation(conversation, NPC, Spawn, "I need you to protect my son, Splorpy. I am no fighter and the ice shelf is a dangerous place. If you would escort my son to the next stop along the pilgrimage, the Great Shelf, I would be most appreciative.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_065.mp3", "", "", 4039927754, 4221565751, Spawn) + AddConversationOption(conversation, "Thanks for the directions. Why would you split up with your son?", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "The Great Shelf is west of here, across the Icemane Planes. There is a small cave full of other pilgrims, its entrance is marked with small torch beacons.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_058.mp3", "", "", 749342367, 3777170220, Spawn) + AddConversationOption(conversation, "Okay, I will take little Splorpy to the Great Shelf.", "OfferGreatShelf") + AddConversationOption(conversation, "Oh, no! I am not going to be responsible for this little guy.") + StartConversation(conversation, NPC, Spawn, "I know that he will be safer with you. You have the experience, the skills and the knowledge necessary to escort him safely to the Great Shelf.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I am. Is Splorpy ready to go?", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "Are you ready, " .. GetName(Spawn) .. "?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "See you there!", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "He is. Take care, I shall see you both at the Great Shelf!") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, GreatShelf, 1) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5217), Spawn) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5221), Spawn) + local pet = SpawnMob(GetZone(Spawn), 4701835, 0, 70.45, 28.55, -347.46, 84) + SetTempVariable(Spawn, "splorp", pet) + SetFollowTarget(pet, Spawn) + ToggleFollow(pet) +end + +function OfferAbsentEffigy(NPC, Spawn) + OfferQuest(Spawn, AbsentEffigy) +end + +function OfferUnbearableProblem(NPC, Spawn) + OfferQuest(NPC, Spawn, UnbearableProblem) +end + +function OfferLostFroglok(NPC, Spawn) + OfferQuest(NPC, Spawn, LostFroglok) +end + +function OfferAbsentEffigy(NPC, Spawn) + OfferQuest(NPC, Spawn, AbsentEffigy) +end + +function OfferBarteringCrystals(NPC, Spawn) + OfferQuest(NPC, Spawn, BarteringCrystals) +end + +function OfferPelted(NPC, Spawn) + OfferQuest(NPC, Spawn, Pelted) +end + +function OfferGreatShelf(NPC, Spawn) + OfferQuest(NPC, Spawn, GreatShelf) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua b/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua new file mode 100644 index 0000000..282e547 --- /dev/null +++ b/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr_(halas).lua + Script Purpose : hides flibbit until quest series is finished + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "It is good to see you again!", "nod", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua b/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua new file mode 100644 index 0000000..5670ac6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/FlibbitQuagmarr_(shelf).lua + Script Purpose : for the spawn "Flibbit Quagmarr" located in the great shelf cave. + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, GreatShelf) == 2 or HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetQuestStep(Spawn, GreatShelf) == 2 then + pet = GetTempVariable(Spawn, "splorp") + if IsAlive(pet) then + Despawn(pet) + end + SetTempVariable(Spawn, "splorp", nil) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5221), Spawn) + AddSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 5219), Spawn) + SetStepComplete(Spawn, GreatShelf, 2) + conversation = CreateConversation() + + PlayFlavor(NPC, "flibbit_quagmarr/halas/gwenevyns_cove/flibbit_quagmarr/flibbit_quagmarr_018.mp3", "", "", 2168167174, 2891640064, Spawn) + AddConversationOption(conversation, "We've arrived safe and sound!", "Chat1") + StartConversation(conversation, NPC, Spawn, "Thank you for escorting Splorpy. You do not know how relieved I am! I trust the trip was uneventful?") + else + PlayFlavor(NPC, "", "You made it to the Great Shelf!", "cheer", 0, 0, Spawn) + end +end + +function Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Flibbit.") + AddConversationOption(conversation, "Can I help you further?", "Chat2") + StartConversation(conversation, NPC, Spawn, "I cannot thank you enough, " .. GetName(Spawn) .. "! You have kept both me and my son safe, and provided for us, time and time again. You deserve both song and praise for all that you have done.") +end + +function Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It was no problem. I did not mind it one bit") + StartConversation(conversation, NPC, Spawn, "I cannot accept any further aid from you, mighty one. I have appreciated it, but you have also shown me that there are some challenges that we must overcome on our own. And for that too, I must thank you! I am sure that we have slowed you from completing your own quest.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua b/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua new file mode 100644 index 0000000..74f175f --- /dev/null +++ b/SpawnScripts/FrostfangSea/GalindaGoodfaith.lua @@ -0,0 +1,115 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GalindaGoodfaith.lua + Script Purpose : Galinda Goodfaith + Script Author : theFoof + Script Date : 2013.03.16 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] +local HalasianWelcome = 1 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "", "Yasha Redblade could use your help. She's to the northeast outside of the broken ship's hull.", "nod", 1689589577, 4560189, Spawn) + + elseif HasCompletedQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "", "You'll go on to accomplish great things, of this I am certain!", "", 1689589577, 4560189, Spawn) + + else + conversation = CreateConversation() + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_001.mp3", "", "", 153197650, 2166284813, Spawn) + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "Whoa! You're awake then. I was worried about you there for a while, " .. GetName(Spawn) .. ".") + end +end + +function dlg_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_002.mp3", "", "", 2530966290, 131889308, Spawn) + AddConversationOption(conversation, "I did?", "dlg_0_2") + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "I'm the lass who's been tending to your wounds, that's who! You were knocked unconscious, but not before you saved three others from the sea.") +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_003.mp3", "", "", 2658425165, 4282904671, Spawn) + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + StartConversation(conversation, NPC, Spawn, "You're on a big chunk of floating ice and rock, dubbed Pilgrims' Landing. Your boat was besieged by the snow orcs and destroyed while it was on its way towards the New Halas dock.") +end + +function dlg_0_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_004.mp3", "", "", 3736336423, 4235698152, Spawn) + AddConversationOption(conversation, "I don't remember that.", "dlg_0_3") + StartConversation(conversation, NPC, Spawn, "Cross my heart, you did! You must have taken a nasty bump on the noggin, but that didn't halt you! You came struggling ashore here, carrying three others, one 'neath each arm and another on your back!") +end + +function dlg_0_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_004.mp3", "", "", 3736336423, 4235698152, Spawn) + AddConversationOption(conversation, "Thank you for the help.", "dlg_0_4") + AddConversationOption(conversation, "Who are you?", "dlg_0_1") + AddConversationOption(conversation, "Where am I?", "dlg_1_1") + StartConversation(conversation, NPC, Spawn, "They'd have surely drowned if it had not been for you. But you fell into a deep sleep the moment you were on dry land. I've been taking care of you ever since.") +end + +function dlg_0_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_005.mp3", "", "", 1055106469, 3750971957, Spawn) + AddConversationOption(conversation, "Not if we attack them back.", "dlg_0_5") + AddConversationOption(conversation, "I'm feeling pretty good now.", "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Think nothing of it! You're the one that went above and beyond, saving others like you did. Healing others is why I am here. You are not the first to have suffered an attack by the orcs, nor do I dare say you will be the last.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_007.mp3", "", "", 2427981799, 3625665591, Spawn) + AddConversationOption(conversation, "I'll find her.", "OfferHalasianWelcome") + AddConversationOption(conversation, "I'm going to explore some first. Goodbye.", "dlg_0_5") + StartConversation(conversation, NPC, Spawn, "That is a relief to hear, " .. GetName(Spawn) .. ". I figured a hit to the noggin couldn't keep someone as powerful as you down for long! Yasha Redblade could definitely use your help. She's to the northeast outside of the broken ship's hull.") +end + +function dlg_0_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "galinda_goodfaith/halas/pilgrims_landing/goodfaith_006.mp3", "", "", 1162130667, 1040606597, Spawn) + AddConversationOption(conversation, "That's great!", "OfferHalasianWelcome") + AddConversationOption(conversation, "I'm going to explore some first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "No doubt! I figured a hit to the noggin couldn't keep someone as powerful as you down for long! Yasha Redblade could definitely use your help. She's to the northeast outside of the broken ship's hull. She'll get you prepared to face those orcs!") +end + +function OfferHalasianWelcome(NPC, Spawn) --Offers A Fine Halasian Welcome + OfferQuest(NPC, Spawn, HalasianWelcome) +end diff --git a/SpawnScripts/FrostfangSea/GarrotNuesoon.lua b/SpawnScripts/FrostfangSea/GarrotNuesoon.lua new file mode 100644 index 0000000..bf961a8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GarrotNuesoon.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GarrotNuesoon.lua + Script Purpose : assassin trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local ASSASSIN = 40 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == ASSASSIN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow assasin?", "SinChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Ah, another assassin! It is a dangerous profession that you have chosen, but well worth it.") + else + PlayFlavor(NPC, "", "To attack from the shadows is the greatest of advantages. An enemy cannot defend against an attack it can never see.", "hello", 0, 0, Spawn) + end +end + +function SinChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I would appreciate it.", "SinChat2") + StartConversation(conversation, NPC, Spawn, "Understand that it goes against my very nature to give away anything I consider a trade secret, but I can part with a few bits of wisdom.") +end + +function SinChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "SinChat3") + StartConversation(conversation, NPC, Spawn, "Procure items that add to your agility or stamina, when you find them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function SinChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "SinChat4") + StartConversation(conversation, NPC, Spawn, "Our most devastating attacks are sudden strikes to vital organs from a cover of darkness. These opportunistic attacks performed under a cover of concealment surprises our target, thus giving them less chance to protect themselves.") +end + +function SinChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "What should I do then?", "SinChat5") + StartConversation(conversation, NPC, Spawn, "Keep in mind that the majority of our attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. So you must be aware of situations in which there are multiple foes, as positional attacks are of little use when you're surrounded!") +end + +function SinChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "I suggest you employ a divide and conquer tactic, and cut them down as fast as possible. And do not overlook the power of poisons, in any situation!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GerlaMeltwater.lua b/SpawnScripts/FrostfangSea/GerlaMeltwater.lua new file mode 100644 index 0000000..3448095 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GerlaMeltwater.lua @@ -0,0 +1,89 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GerlaMeltwater.lua + Script Purpose : Gerla Meltwater + Script Author : theFoof + Script Date : 2013.06.13 + Script Notes : +--]] + +local SeekingEducation = 63 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if GetQuestStep(Spawn, SeekingEducation) == 2 then + conversation = CreateConversation() + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_001.mp3", "", "", 3974328348, 1246567656, Spawn) + AddConversationOption(conversation, "Torli Blackbow thought you could help. There is a large ice and velium elemental living below New Halas!", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hail, " .. GetName(Spawn) .. ". What boulder weighs so upon your shoulders?") + else + PlayFlavor(NPC, "", "Hail, adventurer.", "hello", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_002.mp3", "", "", 376722497, 2039361987, Spawn) + AddConversationOption(conversation, "That's just it. It's not.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye. And as long as it slumbers we have nothing to fear.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_003.mp3", "", "", 936830392, 1591106960, Spawn) + AddConversationOption(conversation, "The Ry'Gorr were digging tunnels below the city.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Beasts of the deep! It has awoken?! It slumbered for years under our feet. What could have woken it now?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_004.mp3", "", "", 4211598278, 1116854185, Spawn) + AddConversationOption(conversation, "Why is that so important?", "Quest1Chat_4") + AddConversationOption(conversation, "Can't we just kill it?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Another reason to smite each and every one of the vile creatures! Now to return the elemental back to its dormancy.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_005.mp3", "", "", 3234303592, 778815839, Spawn) + AddConversationOption(conversation, "That's amazing.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Long before Mithaniel blessed this carved bit of Velious, we floated. Long and far, through moderate and warm waters we sailed. Yet frozen the bulk remained.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_006.mp3", "", "", 1707551626, 618350055, Spawn) + AddConversationOption(conversation, "And now that it's awake?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "I discovered the ancient elemental while probing the terrain with some spells. It was during one of our campaigns to remove the Ry'Gorr. Ever since then I have theorized that it may have been the cause of our eternal freeze.") +end + +function Quest1Chat_6(NPC, Spawn) + if not HasItem(Spawn, 7666) then + SummonItem(Spawn, 7666) + end + SetStepComplete(Spawn, SeekingEducation, 2) + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "gerla_meltwater/halas/new_halas_guard_house/gerla_meltwater_007.mp3", "", "", 2595302383, 231640410, Spawn) + AddConversationOption(conversation, "Right away, Gerla.") + StartConversation(conversation, NPC, Spawn, "We must induce slumber, once more! Take this satchel back to Torli Blackbow.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GertaFrostbeard.lua b/SpawnScripts/FrostfangSea/GertaFrostbeard.lua new file mode 100644 index 0000000..c3b3d3e --- /dev/null +++ b/SpawnScripts/FrostfangSea/GertaFrostbeard.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GertaFrostbeard.lua + Script Purpose : Gerta Frostbeard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "What'll it be, citizen?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Sit a spell and have yarself a frothing brew or two!", "nod",0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I got a drink that'll hit the spot for ya!", "nod", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GilnaGlorysong.lua b/SpawnScripts/FrostfangSea/GilnaGlorysong.lua new file mode 100644 index 0000000..dfcdac9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GilnaGlorysong.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GilnaGlorysong.lua + Script Purpose : dirge trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local DIRGE = 37 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == DIRGE then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow dirge?", "DirgeChat1") + AddConversationOption(conversation, "I certainly will. Good bye.") + StartConversation(conversation, NPC, Spawn, "I thought I heard another dirge singing songs of lamentation. If I can be of any service, let me know.") + else + PlayFlavor(NPC, "", "La! La! La!", "hello", 0, 0, Spawn) + end +end + +function DirgeChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "DirgeChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function DirgeChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesating.", "DirgeChat3") + StartConversation(conversation, NPC, Spawn, "Our songs of despair are incredibly valuable to others. They can bolster both fighters and other scouts by increasing their defense and offense. And the most experienced dirges can even raise a fallen comrade with a song.") +end + +function DirgeChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not neglect your melee skills. These are essential to our survival! Songs of despair can demoralize and weaken your foe, but without a weapon to inflict damage there is no killing blow.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GlinHammerhelm.lua b/SpawnScripts/FrostfangSea/GlinHammerhelm.lua new file mode 100644 index 0000000..c687341 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GlinHammerhelm.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GlinHammerhelm.lua + Script Purpose : Glin Hammerhelm + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : see + SpawnScripts/Generic/GenericTradeskillTutor.lua + for function details +--]] + +require"SpawnScripts/Generic/GenericTradeskillTutor" + +function spawn(NPC) + ProvidesTutorials(NPC) +end + +function respawn(NPC) + ProvidesTutorials(NPC) +end + +function hailed(NPC, Spawn) + CraftingTutorHail(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua b/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua new file mode 100644 index 0000000..f4671a7 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GlippitGreenmuck.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GlippitGreenmuck.lua + Script Purpose : warden trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WARDEN = 16 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WARDEN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow warden?", "WardChat1") + AddConversationOption(conversation, "Thank you, but I must be going.") + StartConversation(conversation, NPC, Spawn, "Another warden of the forest stands before me. Welcome!") + else + PlayFlavor(NPC, "", "Watch the flippers, please. Thanks.", "hello", 0, 0, Spawn) + end +end + +function WardChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "WardChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function WardChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "WardChat3") + StartConversation(conversation, NPC, Spawn, "The druidic powers we wield can be used to help mend the wounded or purse the disease and poison from our allies, which is a true blessing in any battle!") +end + +function WardChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "WardChat4") + StartConversation(conversation, NPC, Spawn, "Although we skillfully exert the regenerative and defensive aspects of nature, we must also recognize that they are effective in inflicting damage upon our foes. This cannot be avoided, nor should it be.") +end + +function WardChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". With the powers of nature protecting you, you need not be encumbered by heavy suits of armor.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua b/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua new file mode 100644 index 0000000..f3cf566 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GrandmasterCheriGlodsdottr.lua + Script Purpose : Grandmaster Cheri Glodsdottr + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "If you wish to learn about crafting, speak to the tradeskill tutorial trainer.", "point", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GrokkaHopson.lua b/SpawnScripts/FrostfangSea/GrokkaHopson.lua new file mode 100644 index 0000000..9ed0f14 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GrokkaHopson.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GrokkaHopson.lua + Script Purpose : Grokka Hopson + Script Author : theFoof + Script Date : 2013.09.13 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Froak!", "hello", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/GruuFairbairn.lua b/SpawnScripts/FrostfangSea/GruuFairbairn.lua new file mode 100644 index 0000000..6489e43 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GruuFairbairn.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GruuFairbairn.lua + Script Purpose : Gruu Fairbairn + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "", "Learning for the sake of learning is still learning.", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Achieving achievements is a worthwhile life goal.", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/GurthaMcPherson.lua b/SpawnScripts/FrostfangSea/GurthaMcPherson.lua new file mode 100644 index 0000000..31c9869 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GurthaMcPherson.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GurthaMcPherson.lua + Script Purpose : Gurtha McPherson + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "I'm selling some armor and weapons that you may find useful.", "agree", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/GwenevynII.lua b/SpawnScripts/FrostfangSea/GwenevynII.lua new file mode 100644 index 0000000..c2628c5 --- /dev/null +++ b/SpawnScripts/FrostfangSea/GwenevynII.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/GwenevynII.lua + Script Purpose : script to move the boat in Frostfang Sea + Script Author : theFoof + Script Date : 11.19.13 + Script Notes : +--]] + +function spawn(NPC) + AddTransportSpawn(NPC) + SpawnSet(NPC, "activity_state", "64") + MovementLoopAddLocation(NPC, -191.484, 19.6101, -625.462, 4, 15) + MovementLoopAddLocation(NPC, 11.4079, 19.3414, -437.875, 4, 15) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/Hagley.lua b/SpawnScripts/FrostfangSea/Hagley.lua new file mode 100644 index 0000000..c8832cb --- /dev/null +++ b/SpawnScripts/FrostfangSea/Hagley.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Hagley.lua + Script Purpose : Hagley + Script Author : theFoof + Script Date : 2013.10.23 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function InRange(NPC, Spawn) + if GetTempVariable(NPC, "bark_timer") == nil then + PlayFlavor(NPC, "", "", "attack", 1689589577, 4560189) + Emote(NPC, "snarls and barks warningly.") + SetTempVariable(NPC, "bark_timer", "1") + AddTimer(NPC, 25000, "BarkTimer") + end +end + +function BarkTimer(NPC) + SetTempVariable(NPC, "bark_timer", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/HalikPathstalker.lua b/SpawnScripts/FrostfangSea/HalikPathstalker.lua new file mode 100644 index 0000000..8432624 --- /dev/null +++ b/SpawnScripts/FrostfangSea/HalikPathstalker.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HalikPathstalker.lua + Script Purpose : ranger trainer in halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local RANGER = 39 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == RANGER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow ranger?", "RangChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow swashbuckler! It is such a pleasure to meet another dashing rogue within this city.") + else + PlayFlavor(NPC, "", "Watch your back. You'd be surprised how many blades fit perfectly there.", "hello", 0, 0, Spawn) + end +end + +function RangChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I'll keep that in mind.", "RangChat2") + StartConversation(conversation, NPC, Spawn, "First and foremost, be in control of the range of any fights you are involved in. Release a deadly volley of arrows from a distance, and if your foe survives long enough to engage in hand to hand combat, remember that you are also skilled at wielding daggers and swords.") +end + +function RangChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Sounds like good advice.", "RangChat3") + StartConversation(conversation, NPC, Spawn, "Some of our most effective hand to hand attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. So you must be aware of situations in which there are multiple foes, and avoid becoming the center of attention, as positional attacks are of little use when you're surrounded!") +end + +function RangChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!") + StartConversation(conversation, NPC, Spawn, "Last but not least, obtain items that add to your agility or stamina, when you find them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/HelfreckLundgren.lua b/SpawnScripts/FrostfangSea/HelfreckLundgren.lua new file mode 100644 index 0000000..a02f0cb --- /dev/null +++ b/SpawnScripts/FrostfangSea/HelfreckLundgren.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HelfreckLundgren.lua + Script Purpose : Helfreck Lundgren + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Making food, armor, and weapons is every bit as important to the success and security of our city as standing to face the enemy. Quality equipment and items can make the difference.", "nod", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/HillfredKinloch.lua b/SpawnScripts/FrostfangSea/HillfredKinloch.lua new file mode 100644 index 0000000..dd6f62c --- /dev/null +++ b/SpawnScripts/FrostfangSea/HillfredKinloch.lua @@ -0,0 +1,347 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/HillfredKinloch.lua + Script Purpose : Hillfred Kinloch + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local NothingWaste = 56 + +local BloodMaiden = 65 + +local SkullsTaking = 66 + +local GreenMystery = 67 + +local FewerAbout = 68 + +local GeodeCaching = 69 + +local RyGorrOperations = 60 + +function spawn(NPC) + ProvidesQuest(NPC, BloodMaiden) + ProvidesQuest(NPC, SkullsTaking) + ProvidesQuest(NPC, GreenMystery) + ProvidesQuest(NPC, FewerAbout) + ProvidesQuest(NPC, GeodeCaching) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "", "There are some coldain that could use your help. Speak with Dolur Axebeard or Belka Thunderheart at the Great Shelf.", "nod", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, BloodMaiden) and not HasQuest(Spawn, BloodMaiden) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_001.mp3", "", "", 846401774, 3774173011, Spawn) + AddConversationOption(conversation, "You mean the Ry'Gorr orcs?", "Quest1Chat_1") + AddConversationOption(conversation, "With pleasure!", "OfferBloodMaiden") + AddConversationOption(conversation, "I have slain enough orcs, already.") + StartConversation(conversation, NPC, Spawn, "This is no time to stand about! Cast your most fearsome spells and help us defend New Halas against these charging beasts!") + elseif GetQuestStep(Spawn, BloodMaiden) == 1 then + PlayFlavor(NPC, "", "Return to me once you have stained the frozen beachfront with the blood of the charging Ry'Gorr.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, BloodMaiden) == 2 then + SetStepComplete(Spawn, BloodMaiden, 2) + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_006.mp3", "", "", 1310989110, 2172357250, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "I witnessed your handiwork and bravery upon the beach front, " .. GetName(Spawn) .. ". That was quite impressive!") + elseif HasCompletedQuest(Spawn, BloodMaiden) and not HasCompletedQuest(Spawn, SkullsTaking) and not HasQuest(Spawn, SkullsTaking) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_007.mp3", "", "scheme", 1642212239, 1493990214, Spawn) + AddConversationOption(conversation, "I crave a challenge.", "Quest2Chat_1") + AddConversationOption(conversation, "I like my keg exactly the way it is. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Now for a task that is sure to tap your keg of skill, if not empty it!") + elseif GetQuestStep(Spawn, SkullsTaking) == 1 then + PlayFlavor(NPC, "", "Return from Jagged Daggers with Ry'Gorr skulls. I'll adorn the defnses with 'em!", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SkullsTaking) == 2 then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_011.mp3", "", "", 1023147983, 2407728628, Spawn) + AddConversationOption(conversation, "Many orc skulls.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "What trophies do you return with from the battlefield, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, SkullsTaking) and not HasCompletedQuest(Spawn, GreenMystery) and not HasQuest(Spawn, GreenMystery) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_013.mp3", "", "", 57466394, 1744108513, Spawn) + AddConversationOption(conversation, "It is.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "I hear tale of the Ry'Gorr you found digging their way up from the underside of Erollis. Is it true, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, GreenMystery) == 1 then + if HasItem(Spawn, 7928) then + PlayFlavor(NPC, "", "Find torches and fires within the Ry'Gorr tunnels deep within Erollis and apply the green ice to 'em. We are sure to smoke out the ravaging orcs!", "agree", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "It's difficult to apply the green ice to torches within the Ry'Gorr tunnels if you don't ahve it with you. Take this and use it!", "glare", 0, 0, Spawn) + SummonItem(Spawn, 7928, 0) + end + elseif GetQuestStep(Spawn, GreenMystery) == 2 then + AddConversationOption(conversation, "The mist dissipated pretty quickly, but those that it touched, died.", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "You've made a safe return, " .. GetName(Spawn) .. ", and staved off death for another day! But tell me did the green ice work? How did the Ry'Gorr stand against the billowing clouds of poison?") + elseif HasCompletedQuest(Spawn, GreenMystery) and not HasCompletedQuest(Spawn, FewerAbout) and not HasQuest(Spawn, FewerAbout) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FewerAbout) == 1 then + PlayFlavor(NPC, "", "Get to it! Go face the orcs that crawl within the depths of our great land like you were a bear in a man's skin!", "scold", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FewerAbout) == 2 then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_026.mp3", "", "", 2970331989, 3888048661, Spawn) + AddConversationOption(conversation, "You have become more trusting.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Your return is all the evidence of your success within the tunnels below that I require, " .. GetName(Spawn) .. ". You need not declare your victory to me!") + elseif HasCompletedQuest(Spawn, FewerAbout) and not HasCompletedQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "", "The coldain, Thirin Veliumdelver, has a task that will fit you like a Halasian war glove.", "agree", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, RyGorrOperations) and HasCompletedQuest(Spawn, FewerAbout) and not HasQuest(Spawn, GeodeCaching) then + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_031.mp3", "", "", 4291173653, 4188849694, Spawn) + AddConversationOption(conversation, "That pretty much sums it up.", "Quest5Chat_1") + AddConversationOption(conversation, "I don't have time to talk right now. Good day.") + StartConversation(conversation, NPC, Spawn, "What is this I hear of you finding velium men under our dear city?") + elseif GetQuestStep(Spawn, GeodeCaching) == 1 then + PlayFlavor(NPC, "", "I hope you find a great many of the rare Cerise velium crystals within the Velinoid Catacombs below.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GeodeCaching) == 2 then + SetStepComplete(Spawn, GeodeCaching, 2) + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_035.mp3", "", "", 2787343174, 784170411, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "By the right hand of Marr! You found rare Cerise velium crystals. This is amazing, " .. GetName(Spawn) .. "! Thank you.") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_003.mp3", "", "", 1836808537, 1939269005, Spawn) + AddConversationOption(conversation, "They are fierce warriors.", "Quest1Chat_2") + AddConversationOption(conversation, "They are strong tacticians.", "Quest1Chat_2") + AddConversationOption(conversation, "They are skillful spell casters.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye! These mongrels will not relent! I fail to understand how the coldain pushed 'em from this isle, or had kept 'em at bay for so long!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_004.mp3", "", "", 4172435129, 252044078, Spawn) + AddConversationOption(conversation, "Of course!", "OfferBloodMaiden") + AddConversationOption(conversation, "I cannot, right now.") + StartConversation(conversation, NPC, Spawn, "Of that there is no question. That is why I stand proudly beside 'em as we defend our city! Will you aid us in this battle, great " .. GetName(Spawn) .. "?") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_008.mp3", "", "", 686837885, 933223065, Spawn) + AddConversationOption(conversation, "What should I do?", "OfferSkullsTaking") + AddConversationOption(conversation, "Jagged Daggers?", "Quest2Chat_2") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "You take after one of my own kin, Tuce! I am sure that the orcs are staging their beach front charge from the nearby isle known as Jagged Daggers.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What should I do?", "OfferSkullsTaking") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "Aye. The isle with the spires of ice sticking out of it, like velium blades from the back of a slain giant. It is across the waters to the west of the beach front.") +end + +function Quest2Chat_3(NPC, Spawn) + SetStepComplete(Spawn, SkullsTaking, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_012.mp3", "", "", 2537405314, 3097234688, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "You continue to prove yourself strong and hearty. You deserve a strong stein of ale!") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_014.mp3", "", "", 1060176880, 2753171084, Spawn) + AddConversationOption(conversation, "You could be right.", "Quest3Chat_3") + AddConversationOption(conversation, "Or the other skirmishes have been distractions from the real plan.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Then they are more desperate than we had thought. They are trying many routes and different plans, all at the same time. They must be afraid of the influx of fighters the coldain have brought to their side.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It is hard to imagine.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "For years?! Ha! I hightly doubt that. Although, I was raised to believe that anything is possible, I cannot fathom these brutes being tempered by strategy or reined in by tactics.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_016.mp3", "", "", 1973360658, 494365104, Spawn) + AddConversationOption(conversation, "Let's make it defeat.", "Quest3Chat_4") + StartConversation(conversation, NPC, Spawn, "Desperate forces are more willing to take chances. This can either result in a windfall for 'em or a resounding defeat.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_017.mp3", "", "", 327573520, 4196024208, Spawn) + AddConversationOption(conversation, "What is it?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Well spoken, fellow defender of New Halas! And I have the perfect weapon for this situation. It's a little something that will give us the upper hand!") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_028.mp3", "", "", 1572217488, 1295272933, Spawn) + AddConversationOption(conversation, "You mean when it was released against the Rallosian Army?", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "A chunk of ice- green ice! We found a small amount of it embedded within The Great Shelf. We suspected it to be the legendary Greenmist, captured and encased in ice from the last time it traveled around the globe. ") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_029.mp3", "", "", 382556049, 477983016, Spawn) + AddConversationOption(conversation, "Why haven't you used it against them, yet?", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "The same. It took down ogre and orc alike, within the Rallosian ranks when Cazic-Thule released it across the lands.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_030.mp3", "", "", 590799696, 3171732865, Spawn) + AddConversationOption(conversation, "What makes you think it will work now? ", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "We tried. We melted the ice, and a green mist was released, but it dispersed too quickly to harm the Ry'Gorr forces.") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_018.mp3", "", "", 3216543246, 3646127145, Spawn) + AddConversationOption(conversation, "Interesting. All right, I'll do it.", "OfferGreenMystery") + AddConversationOption(conversation, "No way! I can't be a part of this.") + StartConversation(conversation, NPC, Spawn, "I doubt they have much airflow deep within those tunnels you found em' digging. When the ice melts it makes a great billowing cloud of poison. Find flames within the tunnels and throw the ice on em'. Even if the mist is not strong enough to kill the ravaging beasts outright, we are sure to smoke 'em out!") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, GreenMystery, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_020.mp3", "", "", 2833457168, 2782353327, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, another victory and another reason to take up a stein at the Ice Breaker. Good job!") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_021.mp3", "", "", 4017927645, 3597873709, Spawn) + AddConversationOption(conversation, "Really?", "Quest4Chat_2") + AddConversationOption(conversation, "Why's that, Hillfred?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "And you need not furrow your brow over the orcs that the mist did not kill. It is in the stagnant tunnel air now, and will weaken them, even if they do not know it.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_022.mp3", "", "", 3881980508, 521109392, Spawn) + AddConversationOption(conversation, "They should be easier to slay now.", "Quest4Chat_4") + AddConversationOption(conversation, "So, they will die eventually?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I swear on the holy statue of The Huntress! It is in the air they breathe. It may have decayed some in time, and they may not have taken in enough for it to be fatal, but it is now being pumped through their abhorrent bodies within the ichor they call blood.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_023.mp3", "", "", 400683653, 2257596783, Spawn) + AddConversationOption(conversation, "They should be easier to slay now.", "Quest4Chat_4") + AddConversationOption(conversation, "So, they will die eventually?", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "It is in the air they breathe. It may have decayed some in time, and they may not have taken in enough for it to be fatal, but it is now being pumped through their abhorrent bodies within the ichor they call blood.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_025.mp3", "", "", 2971334867, 3323208561, Spawn) + AddConversationOption(conversation, "They don't stand a chance!", "OfferFewerAbout") + AddConversationOption(conversation, "I am not going back down there. Sorry.") + StartConversation(conversation, NPC, Spawn, "Then get to it! Go face them like you were a bear in a man's skin! Slay the orcs that crawl within the depths of our great land, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_024.mp3", "", "", 3939745267, 718274633, Spawn) + AddConversationOption(conversation, "They don't stand a chance!", "OfferFewerAbout") + AddConversationOption(conversation, "I am not going back down there. Sorry.") + StartConversation(conversation, NPC, Spawn, "Let's not wait for that day to come. Let's deliver it to 'em! Go face them like you were a bear in a man's skin! Slay the orcs that crawl within the depths of our great land, " .. GetName(Spawn) .. ".") +end + +function Quest4Chat_6(NPC, Spawn) + SetStepComplete(Spawn, FewerAbout, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_027.mp3", "", "", 2051809382, 3817733818, Spawn) + AddConversationOption(conversation, "I'll take that as a compliment.") + StartConversation(conversation, NPC, Spawn, "I have become that sure of you and your determined nature. It is not just your taste for battle that reminds me of my kin.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_032.mp3", "", "", 807004537, 2920327554, Spawn) + AddConversationOption(conversation, "That's true.", "Quest5Chat_2") + AddConversationOption(conversation, "I wasn't aware of that.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "We shouldn't be so surprised what with knowing that this was once a chunk of Velious before it was calved off. Geonids roamed the caverns there, too.") +end + + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_033.mp3", "", "", 3188649398, 1640607312, Spawn) + AddConversationOption(conversation, "Cerise velium crystal?", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Yes, which brings to mind the tales of riches that rewarded the brave souls that entered those caverns. You might even be able to find the rare cerise velium crystal!") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "hillfred_kinloch/halas/cragged_spine/hillfred_kinloch_034.mp3", "", "", 2043015378, 2840803966, Spawn) + AddConversationOption(conversation, "Yeah, I'll do it.", "OfferGeodeCaching") + AddConversationOption(conversation, "For some coin? Okay.", "OfferGeodeCaching") + AddConversationOption(conversation, "No thanks. You couldn't pay me enough.") + StartConversation(conversation, NPC, Spawn, "Yes, a red crystal. It is said to be a very powerful gem grown from velium deposits. It is sought by mage and jeweler alike. And such untapped veins of velium would be the perfect place to look for it! Will you search for 'em? I'll be sure to pay you for your efforts.") +end + +function OfferBloodMaiden(NPC, Spawn) + OfferQuest(NPC, Spawn, BloodMaiden) +end + +function OfferSkullsTaking(NPC, Spawn) + OfferQuest(NPC, Spawn, SkullsTaking) +end + +function OfferGreenMystery(NPC, Spawn) + OfferQuest(NPC, Spawn, GreenMystery) +end + +function OfferFewerAbout(NPC, Spawn) + OfferQuest(NPC, Spawn, FewerAbout) +end + +function OfferGeodeCaching(NPC, Spawn) + OfferQuest(NPC, Spawn, GeodeCaching) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua b/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua new file mode 100644 index 0000000..425b76d --- /dev/null +++ b/SpawnScripts/FrostfangSea/JaisenTutwhittle.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JaisenTutwhittle.lua + Script Purpose : Jaisen Tutwhittle + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC) + PlayFlavor(NPC, "", "I will be so relieved when we make it to New Halas safely!", "nod", 1689589577, 4560189, Spawn) + FaceTarget(NPC, Spawn) +end diff --git a/SpawnScripts/FrostfangSea/JalfaEiskairn.lua b/SpawnScripts/FrostfangSea/JalfaEiskairn.lua new file mode 100644 index 0000000..24d2338 --- /dev/null +++ b/SpawnScripts/FrostfangSea/JalfaEiskairn.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JalfaEiskairn.lua + Script Purpose : Jalfa Eiskairn + Script Author : theFoof + Script Date : 2013.10.20 + Script Notes : See SpawnScripts/Generic/GenericCraftingTrainer for function details. +--]] + +require"SpawnScripts/Generic/GenericCraftingTrainer" + +function spawn(NPC) +end + +function respawn(NPC) +end + +function hailed(NPC, Spawn) + CraftingTrainerHail(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/JardaSilverstaff.lua b/SpawnScripts/FrostfangSea/JardaSilverstaff.lua new file mode 100644 index 0000000..afb88f4 --- /dev/null +++ b/SpawnScripts/FrostfangSea/JardaSilverstaff.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/JardaSilverstaff.lua + Script Purpose : conjuror trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local CONJUROR = 29 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == CONJUROR then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow conjuror?", "ConjChat1") + AddConversationOption(conversation, "That's good to know. Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have the talents of a conjurer, too. It may be a challenging profession, but I have found it rather rewarding.") + else + PlayFlavor(NPC, "", "Greetings!", "hello", 0, 0, Spawn) + end +end + +function ConjChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "ConjChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function ConjChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "ConjChat3") + StartConversation(conversation, NPC, Spawn, "We possess many potent abilities, considering that we can control the arcane powers of fire, but the greatest weapons in our arsenal are the powerful elemental minions summoned forth to do our bidding.") +end + +function ConjChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "They are our best defense against the onslaught. If they should fall take solace in the fact that they have returned to their plane of origin and can be summoned, once more.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/KnutOrcbane.lua b/SpawnScripts/FrostfangSea/KnutOrcbane.lua new file mode 100644 index 0000000..332169e --- /dev/null +++ b/SpawnScripts/FrostfangSea/KnutOrcbane.lua @@ -0,0 +1,566 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/KnutOrcbane.lua + Script Purpose : Knut Orcbane + Script Author : theFoof + Script Date : 2013.06.10 + Script Notes : +--]] + +local NothingWaste = 56 + +local ImpishThreats = 78 + +local ClanImps = 79 + +local MysteryIceberg = 80 + +local BelowWaves = 59 + +local BecomingOrcbane = 81 + +local RyGorrOperations = 60 + +local FlawlessChore = 82 + +local SometimesKnut = 84 + +function spawn(NPC) + ProvidesQuest(NPC, ImpishThreats) + ProvidesQuest(NPC, ClanImps) + ProvidesQuest(NPC, MysteryIceberg) + ProvidesQuest(NPC, BecomingOrcbane) + ProvidesQuest(NPC, FlawlessChore) + ProvidesQuest(NPC, SometimesKnut) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "", "There are some coldain that could use your help. Speak with Dolur Axebeard or Belka Thunderheart at the Great Shelf.", "nod", 1689589577, 4560189, Spawn) + elseif not HasCompletedQuest(Spawn, ImpishThreats) and not HasQuest(Spawn, ImpishThreats) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_004.mp3", "", "", 2960091072, 298935483, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest1Chat_1") + AddConversationOption(conversation, "What cause is that?", "Quest1Chat_10") + AddConversationOption(conversation, "Not me. I'm just passing through.") + local archetype = GetArchetypeName(Spawn) + if archetype == 'Fighter' then + archetype_message = "strong fighter" + elseif archetype == 'Mage' then + archetype_message = 'powerful mage' + elseif archetype == 'Scout' then + archetype_message = 'stealthy scout' + else + archetype_message = 'caring priest' + end + StartConversation(conversation, NPC, Spawn, "Aye, another " .. archetype_message .. " to join our cause. Welcome!") + elseif GetQuestStep(Spawn, ImpishThreats) == 1 then + PlayFlavor(NPC, "", "We cannot speak now. You must clear the imps from the cliff above.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ImpishThreats) == 2 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_016.mp3", "", "", 3960586282, 3379586458, Spawn) + AddConversationOption(conversation, "Fewer now.", "Quest1Chat_11") + StartConversation(conversation, NPC, Spawn, "You return, " .. GetName(Spawn) .. "! Tell me, how do the winged vermin fare?") + elseif HasCompletedQuest(Spawn, ImpishThreats) and not HasCompletedQuest(Spawn, ClanImps) and not HasQuest(Spawn, ClanImps) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, ClanImps) and GetQuestStep(Spawn, ClanImps) < 3 then + PlayFlavor(NPC, "", "We cannot speak now. You must trudge back up the cliff and repossess our stolen supplies.", "no", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ClanImps) == 3 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_022.mp3", "", "", 864304446, 2025112563, Spawn) + AddConversationOption(conversation, "So far, so good.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "See Griz, " .. GetName(Spawn) .. " returned to us! Now you can quit your doomsaying. They are safe.") + elseif not HasCompletedQuest(Spawn, BelowWaves) then + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, BelowWaves) and HasCompletedQuest(Spawn, ClanImps) and not HasCompletedQuest(Spawn, MysteryIceberg) and not HasQuest(Spawn, MysteryIceberg) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_026.mp3", "", "", 3071313209, 2590619327, Spawn) + AddConversationOption(conversation, "Thirin Veliumdelver had me hunting orcs on Jagged Daggers Isle.", "Quest3Chat_1") + AddConversationOption(conversation, "It doesn't matter.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "Griz says you smell of orc and sea water. Where have you been, " .. GetName(Spawn) .. "?") + elseif HasQuest(Spawn, MysteryIceberg) and GetQuestStep(Spawn, MysteryIceberg) < 3 then + PlayFlavor(NPC, "", "We are counting on you to go over to the iceberg and see what you can find out about the Ry'Gorr activities there.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, MysteryIceberg) == 3 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_034.mp3", "", "", 1362837107, 3201094418, Spawn) + AddConversationOption(conversation, "I found pickaxes. I am not sure what it means.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "The stench of orc is even stronger on you now, " .. GetName(Spawn) .. ". We can already tell you've been successful. So tell us, what did you find out?") + elseif HasCompletedQuest(Spawn, MysteryIceberg) and not HasCompletedQuest(Spawn, BecomingOrcbane) and not HasQuest(Spawn, BecomingOrcbane) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_037.mp3", "", "", 2495536008, 1780787017, Spawn) + AddConversationOption(conversation, "Yes. They are attempting to dig out some tunnels below the city of New Halas.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Speak to us, " .. GetName(Spawn) .. ". Is it true that you found the orcs below this island?") + elseif GetQuestStep(Spawn, BecomingOrcbane) == 1 then + AddConversationOption(conversation, "Yes, but I have more Ry'Gorr to hunt.") + StartConversation(conversation, NPC, Spawn, "You have returned to us already, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, BecomingOrcbane) == 2 then + AddConversationOption(conversation, "I have indeed!", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "Tell us you have reduced their numbers even further, " .. GetName(Spawn) .. "?") + elseif not HasCompletedQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, RyGorrOperations) and HasCompletedQuest(Spawn, BecomingOrcbane) and not HasCompletedQuest(Spawn, FlawlessChore) and not HasQuest(Spawn, FlawlessChore) then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_048.mp3", "", "", 2077147311, 3803027190, Spawn) + AddConversationOption(conversation, "I broke through a newly made wall under New Halas and was attacked by Velinoid crystal men.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "Aah! It is you, " .. GetName(Spawn) .. "! Griz could sense an old magick approaching, and was quite alarmed, but it is just you. What have you been doing? ") + elseif GetQuestStep(Spawn, FlawlessChore) == 1 then + PlayFlavor(NPC, "", "We cannot speak now. You must seize an armful of the flawless velium cores from the Velinoid creatures.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FlawlessChore) == 2 then + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_054.mp3", "", "", 2665553657, 265927560, Spawn) + AddConversationOption(conversation, "He should.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "You return to us, " .. GetName(Spawn) .. ", and with the velium cores. But Griz doesn't sense more of the old magick with you than before.") + elseif HasCompletedQuest(Spawn, FlawlessChore) and not HasQuest(Spawn, SometimesKnut) and not HasCompletedQuest(Spawn, SometimesKnut) then + Quest6Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, SometimesKnut) and GetQuestStep(Spawn, SometimesKnut) < 4 then + PlayFlavor(NPC, "", "You had best watch over Griz while he is in your care within Demon's Delve. And remember, you can only hear him when you wear him.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SometimesKnut) == 4 then + AddConversationOption(conversation, "Yeah, we did. And we destroyed it.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you find the item of old magick, " .. GetName(Spawn) .. "? Was griz able to help you find it?") + else + PlayFlavor(NPC, "", "Griz still speaks of your adventure together.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_006.mp3", "", "", 1179640233, 2510165864, Spawn) + AddConversationOption(conversation, "Yes, sir!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Now, don't dawdle, take up your weapon and deliver the horde of orcs back to the depths from which they came!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_007.mp3", "", "", 136827615, 2574970832, Spawn) + AddConversationOption(conversation, "Uh, excuse me?", "Quest1Chat_3") + AddConversationOption(conversation, "Good thing someone is.") + StartConversation(conversation, NPC, Spawn, "See what I mean, Griz, not all adventurers are... What do you mean? Ah, I had forgotten. But yes, as right as rain, you are!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_008.mp3", "", "", 1025809423, 508302222, Spawn) + AddConversationOption(conversation, "Who is Griz?", "Quest1Chat_4") + AddConversationOption(conversation, "What is the task?", "Quest1Chat_9") + AddConversationOption(conversation, "My skills are already being employed elsewhere. Good day.") + StartConversation(conversation, NPC, Spawn, "My companion, Griz, just reminded me of an important task that we have for someone of your skills.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_009.mp3", "", "", 461919392, 2357150374, Spawn) + AddConversationOption(conversation, "Is he invisible?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Griz is my faithful companion. He goes where I go.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_010.mp3", "", "", 1052367641, 1770506603, Spawn) + AddConversationOption(conversation, "Where is he?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Do not be ridiculous! He is visible. Next you will claim your ears fail to hear his voice, same as the rest!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_011.mp3", "", "", 2787510762, 2957661742, Spawn) + AddConversationOption(conversation, "He told you this?", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "I wear him! He told me he was a normal blizzard grizzly, slain and made a pelt, then cursed by some sort of reanimation spell.") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_012.mp3", "", "", 3151538382, 1140255767, Spawn) + AddConversationOption(conversation, "Almost?", "Quest1Chat_8") + AddConversationOption(conversation, "Good thing you avoided that.", "Quest1Chat_8") + AddConversationOption(conversation, "I am going to leave you two alone.") + StartConversation(conversation, NPC, Spawn, "Aye. I found him on another, whose body long went cold, and I needed the warmth. Little did I know that I would also be gaining a companion. I had almost gone crazy with loneliness.") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_013.mp3", "", "", 3268671132, 2494843375, Spawn) + AddConversationOption(conversation, "Yeah, what is the task?", "Quest1Chat_9") + StartConversation(conversation, NPC, Spawn, "But I am off path. We were talking about your new task!") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_014.mp3", "", "", 3650994868, 4022388430, Spawn) + AddConversationOption(conversation, "I'll rid you of the imps.", "OfferImpishThreats") + AddConversationOption(conversation, "I am not going up there. No way!") + StartConversation(conversation, NPC, Spawn, "Clearing the imps from the cliff above. They take a sick delight in throwing rocks and stealing our supplies. We have enough trouble dealing with the attacking orcs. We can't handle random attacks from behind, too.") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_005.mp3", "", "", 1586450640, 3594709012, Spawn) + AddConversationOption(conversation, "Yes, sir!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Smiting the horde of orcs that threaten our fledgling city, of course. Now, don't dawdle, take up your weapon and deliver them back to the depths from which they came!") +end + +function Quest1Chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_017.mp3", "", "", 2616213114, 1218999941, Spawn) + AddConversationOption(conversation, "No.", "Quest1Chat_12") + StartConversation(conversation, NPC, Spawn, "Aaah! Music to our ears, isn't it, Griz? Were any of them carrying our stolen supplies?") +end + +function Quest1Chat_12(NPC, Spawn) + SetStepComplete(Spawn, ImpishThreats, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_018.mp3", "", "", 4230096106, 3358535, Spawn) + AddConversationOption(conversation, "Possibly.", "Quest2Chat_1") + AddConversationOption(conversation, "Or smashing them somewhere.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Then they must have been stashing them somewhere.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_019.mp3", "", "", 2687986263, 1290955912, Spawn) + AddConversationOption(conversation, "Do you want me to retrieve them?", "Quest2Chat_2") + AddConversationOption(conversation, "Can't we just replace them?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "We could put the supplies that the imps have stolen from us to good use, " .. GetName(Spawn) .. ".") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_021.mp3", "", "", 1541824689, 3333543971, Spawn) + AddConversationOption(conversation, "I'll do it.", "OfferClanImps") + AddConversationOption(conversation, "I can't deal with any more of your craziness.") + StartConversation(conversation, NPC, Spawn, "That's the spirit! Trudge back up the cliff and repossess our stolen supplies. The imps must have stashed them somewhere up there, Griz and I are certain of this.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_020.mp3", "", "", 2274013459, 2869453130, Spawn) + AddConversationOption(conversation, "So you want me to retrieve them?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Some items are not so easily replaced, besides, goods are not arriving to New Halas as often as we need.") +end + +function Quest2Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_023.mp3", "", "", 3386688534, 1781356387, Spawn) + AddConversationOption(conversation, "That's good to know.", "Quest2Chat_5") + StartConversation(conversation, NPC, Spawn, "It is not that he lacks confidence in you, it is just that he feared something foul had happened to you. ") +end + +function Quest2Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_024.mp3", "", "", 4143574781, 924201521, Spawn) + AddConversationOption(conversation, "I did. Here's all that I was able to find.", "Quest2Chat_6") + StartConversation(conversation, NPC, Spawn, "I mean, you did repossess our stolen supplies, aye?") +end + +function Quest2Chat_6(NPC, Spawn) + SetStepComplete(Spawn, ClanImps, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_025.mp3", "", "", 3946443740, 2381252616, Spawn) + AddConversationOption(conversation, "I'm glad to hear it was worth it.") + StartConversation(conversation, NPC, Spawn, "Good work! These items will come in very handy.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_028.mp3", "", "", 2981574255, 260475867, Spawn) + AddConversationOption(conversation, "Yes, and they are doing something on the chunk of ice next to it.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Ah! They have started to inhabit that island now, too?") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_029.mp3", "", "", 1298453249, 1624889815, Spawn) + AddConversationOption(conversation, "I saw it, myself.", "Quest3Chat_3") + AddConversationOption(conversation, "Thirin's scouts said as much.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "You know this for certain?") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_030.mp3", "", "", 110505260, 1254849801, Spawn) + AddConversationOption(conversation, "Sorry.", "Quest3Chat_4") + AddConversationOption(conversation, "I didn't.") + StartConversation(conversation, NPC, Spawn, "Whoa, no need to yell!") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_031.mp3", "", "", 1992133863, 2456842289, Spawn) + AddConversationOption(conversation, "Yeah, but about the orcs?", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Not you, " .. GetName(Spawn) .. ". Griz. I nearly went deaf with that one. And how would you like it if I did? Then who would listen to you?") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_032.mp3", "", "", 3606219990, 1558926638, Spawn) + AddConversationOption(conversation, "I can.", "OfferMysteryIceberg") + AddConversationOption(conversation, "I am not going over there. No way!") + StartConversation(conversation, NPC, Spawn, "Right! The orcs. We need to find out what scheme they are hatching over there on the iceberg. Think you can get there?") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_027.mp3", "", "", 3550762599, 2709264922, Spawn) + AddConversationOption(conversation, "Thirin Veliumdelver had me hunting orcs on Jagged Daggers Isle.", "Quest3Chat_1") + AddConversationOption(conversation, "And they will stay that way.") + StartConversation(conversation, NPC, Spawn, "We are not unconvinced, are we Griz? But your secrets are your own.") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_035.mp3", "", "", 3450964539, 968602792, Spawn) + AddConversationOption(conversation, "No, that is all.", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "Maybe they are using them as tools to climb the ice? Hmm. Did you find anything else?") +end + +function Quest3Chat_8(NPC, Spawn) + SetStepComplete(Spawn, MysteryIceberg, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_036.mp3", "", "", 4224938593, 2388251058, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you for the service.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_038.mp3", "", "", 4135142976, 4005855669, Spawn) + AddConversationOption(conversation, "Not all of them, but there's far less now.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Mithaniel's fury! I hope you cut them down!") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_039.mp3", "", "", 2291485181, 3172762716, Spawn) + AddConversationOption(conversation, "No.", "Quest4Chat_3") + AddConversationOption(conversation, "Yes. It really will.") + StartConversation(conversation, NPC, Spawn, "Far less?! That just won't do! Culling a few of these monsters never satisfied me! Will it satisfy you?") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_040.mp3", "", "", 4113678321, 3822036418, Spawn) + AddConversationOption(conversation, "I said, no. It will not satisfy me.", "Quest4Chat_4") + AddConversationOption(conversation, "Yes. It really will.") + StartConversation(conversation, NPC, Spawn, "I'm not asking you, Griz. I know where you stand on the stinking brutes! What do you say, " .. GetName(Spawn) .. "?") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_041.mp3", "", "", 2166082015, 1750776733, Spawn) + AddConversationOption(conversation, "I'll be sure to use it on them!", "OfferBecomingOrcbane") + AddConversationOption(conversation, "Nevermind then. I should be going.") + StartConversation(conversation, NPC, Spawn, "That's the Orcbane spirit! Ah, and Griz is right. You deserve a bit of a boost, too. Anything to help you beat back the horde of Ry'Gorr. It is a potion that will sap their life essence.") +end + +function Quest4Chat_5(NPC, Spawn) + SetStepComplete(Spawn, BecomingOrcbane, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "bow", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "I had all confidence in you!") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_049.mp3", "", "", 2034719920, 764754594, Spawn) + AddConversationOption(conversation, "Should I be worried?", "Quest5Chat_2") + AddConversationOption(conversation, "How can I get rid of it?", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Yes, Griz. It must be their old magick that lingers on you now.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_050.mp3", "", "", 1934837003, 1465604041, Spawn) + AddConversationOption(conversation, "That's good.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "No. It will dissipate in time.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_052.mp3", "", "", 4209716810, 1939380730, Spawn) + AddConversationOption(conversation, "How are we going to get it?", "OfferFlawlessChore") + AddConversationOption(conversation, "Get someone else for this task.") + StartConversation(conversation, NPC, Spawn, "But maybe we could use that magick in our ongoing fight with the Ry'Gorr. Griz that is a sound idea!") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_051.mp3", "", "", 2778768716, 4176738164, Spawn) + AddConversationOption(conversation, "That's good.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Time. It will dissipate in time.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_055.mp3", "", "", 724900994, 1307450344, Spawn) + AddConversationOption(conversation, "Unless what?", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "I agree. He should sense more of it what with you carrying all those. Unless...") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, FlawlessChore, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_056.mp3", "", "", 886559545, 4266167856, Spawn) + AddConversationOption(conversation, "Glad to be appreciated.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "It must not have been the Velinoid creatures. We made a mistake. Griz is sorry about it, too. But you did fulfill your task and for that we are grateful.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_057.mp3", "", "", 3810409959, 1206652947, Spawn) + AddConversationOption(conversation, "What are you talking about?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "No, Griz. I said no. There's got to be another way. They'll try again. How about that?") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "knut_orcbane/halas/cragged_spine/knut_orcbane_058.mp3", "", "", 2407855497, 623007376, Spawn) + AddConversationOption(conversation, "But what am I looking for?", "Quest6Chat_3") + AddConversationOption(conversation, "I can do that.", "Quest6Chat_4") + AddConversationOption(conversation, "I am not going back down there. Good bye.") + StartConversation(conversation, NPC, Spawn, "Griz wants you to return to the caves under this island, in search of the old magick.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "shrug", 0, 0, Spawn) + AddConversationOption(conversation, "Then how am I supposed to...", "Quest6Chat_4") + StartConversation(conversation, NPC, Spawn, "He doesn't know and neither do I.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll do it. I'll take him down with me.", "OfferSometimesKnut") + AddConversationOption(conversation, "No thank you. You can keep your companion to yourself.") + StartConversation(conversation, NPC, Spawn, "He wants you to take him with you. It's the only way for him to be sure that you find the source.") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "He told me to destroy it. It was a black shard, like the ones that were being used to raise Ry'Gorr skeletons.", "Quest6Chat_6") + StartConversation(conversation, NPC, Spawn, "What? I thought he wanted to find it and use it?") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good thing we found it.", "Quest6Chat_7") + StartConversation(conversation, NPC, Spawn, "Ah, then it is best to destroy it. They must have wanted to plant it below New Halas in order to bring forth an army of undead within the city.") +end + +function Quest6Chat_7(NPC, Spawn) + SetStepComplete(Spawn, SometimesKnut, 4) + RemoveItem(Spawn, 157116) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Certainly.") + AddConversationOption(conversation, "I will miss him.") + StartConversation(conversation, NPC, Spawn, "Now take this, as you have earned it, " .. GetName(Spawn) .. ". And return to me my friend, Griz.") +end + +function OfferImpishThreats(NPC, Spawn) + OfferQuest(NPC, Spawn, ImpishThreats) +end + +function OfferClanImps(NPC, Spawn) + OfferQuest(NPC, Spawn, ClanImps) +end + +function OfferMysteryIceberg(NPC, Spawn) + OfferQuest(NPC, Spawn, MysteryIceberg) +end + +function OfferBecomingOrcbane(NPC, Spawn) + OfferQuest(NPC, Spawn, BecomingOrcbane) +end + +function OfferFlawlessChore(NPC, Spawn) + OfferQuest(NPC, Spawn, FlawlessChore) +end + +function OfferSometimesKnut(NPC, Spawn) + OfferQuest(NPC, Spawn, SometimesKnut) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/LedvinAxethrower.lua b/SpawnScripts/FrostfangSea/LedvinAxethrower.lua new file mode 100644 index 0000000..00d7ccb --- /dev/null +++ b/SpawnScripts/FrostfangSea/LedvinAxethrower.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LedvinAxethrower.lua + Script Purpose : mystic trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local MYSTIC = 19 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == MYSTIC then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give to another mystic?", "MysticChat1") + AddConversationOption(conversation, "It is, isn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "Hail, fellow mystic, my sibling in the shaman arts! How nice to see another called into the fold.") + else + PlayFlavor(NPC, "", "Many paths may lead toward the same goal.", "hello", 0, 0, Spawn) + end +end + +function MysticChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "MysticChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function MysticChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "MysticChat3") + StartConversation(conversation, NPC, Spawn, "Know the power you wield. We beseech our ancestors and seek their aid in all aspects of battle. With their blessings we can cast protection or emporing spells upon ourselves and our allies.") +end + +function MysticChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "MysticChat4") + StartConversation(conversation, NPC, Spawn, "But they can also empower us with the ability to inflict debilitating weakness upon the enemy!") +end + +function MysticChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversatin, NPC, Spawn, "And protect yourself with a good set of chain mail, " .. GetName(Spawn) .. ". The armor is not as cumbersome as plate, but its protective properties will be necessary when deep in battle.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/LibbitSwampchild.lua b/SpawnScripts/FrostfangSea/LibbitSwampchild.lua new file mode 100644 index 0000000..9463ad1 --- /dev/null +++ b/SpawnScripts/FrostfangSea/LibbitSwampchild.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LibbitSwampchild.lua + Script Purpose : Libbit Swampchild + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Greetings friend. I am sorry, but I can only assist members of more advanced guilds with their cloak design.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/Lionpost.lua b/SpawnScripts/FrostfangSea/Lionpost.lua new file mode 100644 index 0000000..fe2e0a7 --- /dev/null +++ b/SpawnScripts/FrostfangSea/Lionpost.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LionPost.lua + Script Purpose : for the spawn "lion post" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +local IcemanesCometh = 18 + +function spawn(NPC) + SetRequiredQuest(NPC, IcemanesCometh, 1) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == 'leash cub to post' then + counter = 0 + if GetTempVariable(Caster, "cub1") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub1")) + end + if GetTempVariable(Caster, "cub2") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub2")) + end + if GetTempVariable(Caster, "cub3") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub3")) + end + if GetTempVariable(Caster, "cub4") ~= nil then + counter = counter + 1 + Despawn(GetTempVariable(Caster, "cub4")) + end + SetTempVariable(Caster, "cub1", nil) + SetTempVariable(Caster, "cub2", nil) + SetTempVariable(Caster, "cub3", nil) + SetTempVariable(Caster, "cub4", nil) + AddStepProgress(Caster, IcemanesCometh, 1, counter) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/LondiarInygad.lua b/SpawnScripts/FrostfangSea/LondiarInygad.lua new file mode 100644 index 0000000..a4c373c --- /dev/null +++ b/SpawnScripts/FrostfangSea/LondiarInygad.lua @@ -0,0 +1,132 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/LondiarInygad.lua + Script Purpose : Londiar Inygad + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "hello", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.") + AddConversationOption(conversation, "How would I learn adorning?", "AdornChat1") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") +end + +function AdornChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_1_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + if convo==2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_2_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + end + + if convo==5 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1052.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, I'll keep that in mind.", "dlg_5_1") + AddConversationOption(conversation, "How would I learn adorning?") + StartConversation(conversation, NPC, Spawn, "Good day, friend. Let me know if you take up the craft of adorning, I may have some work for you if so.") + end + + if convo==6 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_005.mp3", "", "", 2903671869, 119224492, Spawn) + AddConversationOption(conversation, "Not yet, I'll be back with them soon.", "dlg_6_1") + AddConversationOption(conversation, "Yes I have, here you go.") + StartConversation(conversation, NPC, Spawn, "Hello again. Have you finished those adornments?") + end + + if convo==7 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_005.mp3", "", "", 2903671869, 119224492, Spawn) + AddConversationOption(conversation, "Not yet, I'll be back with them soon.", "dlg_7_1") + AddConversationOption(conversation, "Yes I have, here you go.") + StartConversation(conversation, NPC, Spawn, "Hello again. Have you finished those adornments?") + end + + if convo==9 then + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_007.mp3", "", "", 2470727427, 4215990095, Spawn) + AddConversationOption(conversation, "Very well.", "dlg_9_1") + StartConversation(conversation, NPC, Spawn, "Unfortunately, I'm out of components now, so you'll have to come back tomorrow if you want to help further.") + end + +end + +function dlg_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Visit the adorning trainer in the city of Kelethin, or on the docks of Butcherblock Mountains, if you wish to learn this skill. While you're there, you can also learn tinkering if you are interested.") +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll get to work now.", "dlg_5_2") + AddConversationOption(conversation, "Sorry, I've changed my mind.") + StartConversation(conversation, NPC, Spawn, "Thank you, we are always in need of more. Please take this recipe and these components, and get to work. You will need to supply your own fuel, however, and the cost of this will not be reimbursed.") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I will.", "dlg_5_3") + StartConversation(conversation, NPC, Spawn, "Thank you, bring them back to me when you're done.") +end + +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "londiar_inygad/tradeskill/live_quests/adorning_daily_006.mp3", "", "", 287110901, 245711122, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank you! Feel free to stop by tomorrow if you are looking for more work, I might need more assistance by then.") +end +--]] \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/MikhailEiskroft.lua b/SpawnScripts/FrostfangSea/MikhailEiskroft.lua new file mode 100644 index 0000000..cbda496 --- /dev/null +++ b/SpawnScripts/FrostfangSea/MikhailEiskroft.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MikhailEiskroft.lua + Script Purpose : Sana Strongbellow + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/MistressThora.lua b/SpawnScripts/FrostfangSea/MistressThora.lua new file mode 100644 index 0000000..89dfa5d --- /dev/null +++ b/SpawnScripts/FrostfangSea/MistressThora.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MistressThora.lua + Script Purpose : Mistress Thora + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I deal in any artifacts you or your guild might be interested in. Let's take a look at what you have.", "nod", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/MoragMcMarrin.lua b/SpawnScripts/FrostfangSea/MoragMcMarrin.lua new file mode 100644 index 0000000..292a015 --- /dev/null +++ b/SpawnScripts/FrostfangSea/MoragMcMarrin.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/MoragMcMarrin.lua + Script Purpose : Morag McMarrin + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I'll be happy to supply all your fuel needs.", "happy", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Please let me know if there's anything I can supply for you.", "nod", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/NarielAldaeme.lua b/SpawnScripts/FrostfangSea/NarielAldaeme.lua new file mode 100644 index 0000000..fb95802 --- /dev/null +++ b/SpawnScripts/FrostfangSea/NarielAldaeme.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NarielAldaeme.lua + Script Purpose : Nariel Aldaeme + Script Author : theFoof + Script Date : 2013.09.24 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "The blessings of Tunare can be felt all around us, even in this cold land!", "thanks", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/NohrFlamel.lua b/SpawnScripts/FrostfangSea/NohrFlamel.lua new file mode 100644 index 0000000..cbcf2eb --- /dev/null +++ b/SpawnScripts/FrostfangSea/NohrFlamel.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NohrFlamel.lua + Script Purpose : Nohr Flamel + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Please let me know if there's anything I can supply for you.", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "I can supply your alchemy requirements, even those considered elusive.", "happy", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Welcome to Ravens' Roost.", "hello", 0, 0, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua b/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua new file mode 100644 index 0000000..5cd6ba3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/NorfrydBrisbane.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/NorfrydBrisbane.lua + Script Purpose : Norfryd Brisbane + Script Author : John Adams + Script Date : 2013.03.16 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "You'll be able to access this bank account all across Norrath!", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Your items and coin will be safe with us!", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua b/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua new file mode 100644 index 0000000..24af291 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OdhildGoblinblade.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OdhildGoblinblade.lua + Script Purpose : swashbuckler trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local SWASHBUCKLER = 33 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == SWASHBUCKLER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a fellow swashbuckler?", "SwashChat1") + AddConversationOption(conversation, "It certainly is. Good bye.") + StartConversation(conversation, NPC, Spawn, "Welcome, fellow swashbuckler! It is such a pleasure to meet another dashing rogue within this city.") + else + PlayFlavor(NPC, "", "Well, well, what have we here?", "hello", 0, 0, Spawn) + end +end + +function SwashChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "SwashChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your agility or stamina, then take them! Agility affects both your ability to inflict damage and avoid taking damage from others. Your stamina affects your health. This is crucial.") +end + +function SwashChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "SwashChat3") + StartConversation(conversation, NPC, Spawn, "We have talents in dealing with damage but we are particularly skilled at weakening our opponent's attacks.") +end + +function SwashChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "I bet it is!", "SwashChat4") + StartConversation(conversation, NPC, Spawn, "Keep in mind that some of our attacks are positional, meaning you need to be behind or beside an opponent for that attack to work. But thankfully, we have enough devastating attacks that are straightforward and can be used from any position. This is very useful when dealing with multiple opponents!") +end + +function SwashChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Focus on improving your own skills for your opponent is sure to be defeated in the face of your growing prowess.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OdonScourgeson.lua b/SpawnScripts/FrostfangSea/OdonScourgeson.lua new file mode 100644 index 0000000..9bf8fdf --- /dev/null +++ b/SpawnScripts/FrostfangSea/OdonScourgeson.lua @@ -0,0 +1,402 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OdonScourgeson.lua + Script Purpose : Odon Scourgeson + Script Author : theFoof + Script Date : 2013.06.16 + Script Notes : +--]] + +local NothingWaste = 56 + +local WhirlingTime = 70 + +local HighlyMaterials = 74 + +local CampsideSpores = 75 + +local BelowWaves = 59 + +local RyGorrTaking = 76 + +local WatchBelow = 77 + +local RyGorrOperations = 60 + +function spawn(NPC) + ProvidesQuest(NPC, WhirlingTime) + ProvidesQuest(NPC, HighlyMaterials) + ProvidesQuest(NPC, CampsideSpores) + ProvidesQuest(NPC, RyGorrTaking) + ProvidesQuest(NPC, WatchBelow) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, WhirlingTime) and not HasQuest(Spawn, WhirlingTime) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_001.mp3", "", "", 1144750617, 3119311088, Spawn) + AddConversationOption(conversation, "Well said, child of Marr!", "Quest1Chat_1") + AddConversationOption(conversation, "For the right cause.", "Quest1Chat_5") + AddConversationOption(conversation, "I hope the Ry'Gorr think so!", "Quest1Chat_6") + AddConversationOption(conversation, "I would prefer another day.") + StartConversation(conversation, NPC, Spawn, "It's a good day to die!") + elseif GetQuestStep(Spawn, WhirlingTime) == 1 and not HasItem(Spawn, 6556) then + PlayFlavor(NPC, "", "It's an awfully big challenge to apply the Draught of Whirling ice if you don't have it with you. Now be more careful with this vial of the dram!", "laugh", 0, 0, Spawn) + SummonItem(Spawn, 6556) + elseif GetQuestStep(Spawn, WhirlingTime) == 1 and HasItem(Spawn, 6556) then + PlayFlavor(NPC, "", "Be sure to apply the Draught of Whirling Ice at the locations on the beach marked by a glowing green arrow shaft.", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, WhirlingTime) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_012.mp3", "", "", 3270179329, 857883489, Spawn) + AddConversationOption(conversation, "Yes, the confused orcs were easy pickings.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "How did the Draught of Whirling Ice fare, " .. GetName(Spawn) .. "? Did it work as we had hoped?") + elseif HasCompletedQuest(Spawn, WhirlingTime) and not HasCompletedQuest(Spawn, HighlyMaterials) and not HasQuest(Spawn, HighlyMaterials) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, HighlyMaterials) == 3 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_017.mp3", "", "", 1752904205, 2236174308, Spawn) + AddConversationOption(conversation, "You were right. There was a Ry'Gorr encampment over there.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "What did you find on Jagged Daggers, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, HighlyMaterials) and not HasCompletedQuest(Spawn, CampsideSpores) and not HasQuest(Spawn, CampsideSpores) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_019.mp3", "", "", 1424971577, 1250350308, Spawn) + AddConversationOption(conversation, "He sent me to hunt the Ry'Gorr on Jagged Daggers isle.", "Quest3Chat_1") + AddConversationOption(conversation, "I don't have time to talk right now.") + StartConversation(conversation, NPC, Spawn, "What did the mighty coldain want with you, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, CampsideSpores) == 1 then + PlayFlavor(NPC, "", "Be sure to spread the crustose spores on any Ry'Gorr provisions that you find on the iceberg floating nearby.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, CampsideSpores) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_029.mp3", "", "", 2107393600, 3625608222, Spawn) + AddConversationOption(conversation, "They did!", "Quest3Chat_9") + StartConversation(conversation, NPC, Spawn, "Did the spores spread all over their provisions, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, CampsideSpores) and HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, RyGorrTaking) and not HasQuest(Spawn, RyGorrTaking) then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_031.mp3", "", "", 2821703573, 187787464, Spawn) + AddConversationOption(conversation, "I was exploring the caves below Erollis.", "Quest4Chat_1") + AddConversationOption(conversation, "Killing orcs, of course!", "Quest4Chat_4") + AddConversationOption(conversation, "That's my secret. Good day.") + StartConversation(conversation, NPC, Spawn, "Where have you been, " .. GetName(Spawn) .. "?") + elseif GetQuestStep(Spawn, RyGorrTaking) == 1 then + PlayFlavor(NPC, "", "Good luck stealing the imbued digging tools that the Ry'Gorr are using to dig their nefarious tunnels below Erollis.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, RyGorrTaking) == 2 then + AddConversationOption(conversation, "I did, along with their explosive barrels.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "You found the magically imbued tools that the Ry'Gorr were using to dig with, didn't you, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, RyGorrTaking) and HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, WatchBelow) and not HasCompletedQuest(Spawn, WatchBelow) then + AddConversationOption(conversation, "It is true.", "Quest5Chat_1") + AddConversationOption(conversation, "No. You're as crazy as Knut.") + StartConversation(conversation, NPC, Spawn, "Is it true, " .. GetName(Spawn) .. "? Did you really find some crazed crystal men deeper within this chunk of floating rock?") + elseif GetQuestStep(Spawn, WatchBelow) == 1 then + PlayFlavor(NPC, "", "Good luck harevesting the glimmering velium from within the Velinoid Catacombs.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, WatchBelow) == 2 then + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_043.mp3", "", "", 4171793069, 3413255044, Spawn) + AddConversationOption(conversation, "I was, Odon.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Were you able to harvest any glimmering velium from within the Velinoid Catacombs?") + elseif HasCompletedQuest(Spawn, WatchBelow) and not HasQuest(Spawn, WatchBelow) then + Quest5Chat_5(NPC, Spawn) + else + PlayFlavor(NPC, "", "Go see Thirin, I think he could use your help.", "point", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_004.mp3", "", "", 1709766346, 172975097, Spawn) + AddConversationOption(conversation, "So, let's not be the ones to fall.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "But the longer we live, the more battles we win, and the more honor we bring our ancestors and the gods.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_008.mp3", "", "", 2616918524, 807359858, Spawn) + AddConversationOption(conversation, "Do you have any specific plans?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Aye! Let's send these Ry'Gorr back to the vile pits of putrescence they crawled out of!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_009.mp3", "", "", 3949479903, 2077309090, Spawn) + AddConversationOption(conversation, "How will they help?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "That I do, " .. GetName(Spawn) .. "! I am quite the accomplished spell weaver and potion maker. And I have a draught that can create whirlstorms of ice and fog.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_010.mp3", "", "", 2575484340, 3344993647, Spawn) + AddConversationOption(conversation, "Oh, that sounds great!", "OfferWhirlingTime") + AddConversationOption(conversation, "I am not going towards that beach! No way.") + StartConversation(conversation, NPC, Spawn, "You will release them at specific spots upon the nearby beach front, where the orcs are attacking. Within the fog and confusion our forces will have the upper hand!") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_005.mp3", "", "", 292963711, 1258540494, Spawn) + AddConversationOption(conversation, "On that, we agree.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "There is no cause more right than keeping our budding city safe from destruction and chaos.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_006.mp3", "", "", 3024969642, 2041615693, Spawn) + AddConversationOption(conversation, "On that, we agree.", "Quest1Chat_2") + AddConversationOption(conversation, "If you say so. I have to go now.") + StartConversation(conversation, NPC, Spawn, "Har! Since they are going to be the ones dying! I like the way you think! We must keep our budding city safe from destruction and chaos.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, WhirlingTime, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_013.mp3", "", "", 2453186461, 1568033116, Spawn) + AddConversationOption(conversation, "Right!", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Good! And let that be a lesson to you: Never underestimate the natural elements.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_014.mp3", "", "", 4142819387, 1980291564, Spawn) + AddConversationOption(conversation, "It stands to reason.", "Quest2Chat_2") + AddConversationOption(conversation, "Yes. But I don't care.") + StartConversation(conversation, NPC, Spawn, "This has me thinking, " .. GetName(Spawn) .. ". If we can use the natural elements of ice and fog as sight barriers then the orcs can too.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_015.mp3", "", "", 3627942377, 4151235206, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferHighlyMaterials") + AddConversationOption(conversation, "I am not going over to that orc infested island. No way!") + StartConversation(conversation, NPC, Spawn, "They could be hiding an entire encampment on that fog-blanketed chunk of ice across the water. I am needed here to create healing draughts for the wounded, but if you can venture over to Jagged Daggers then we can find out if that is why they continue to bombard our defenses here.") +end + +function Quest2Chat_3(NPC, Spawn) + SetStepComplete(Spawn, HighlyMaterials, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_018.mp3", "", "", 3574043874, 440859829, Spawn) + AddConversationOption(conversation, "Yes, I did.") + StartConversation(conversation, NPC, Spawn, "But you found it and destroyed it?") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_020.mp3", "", "", 17932445, 4044568976, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "You are going to give old Orcbane a run for his title if you keep that up! Of course, that may not be a good thing if it makes you as crazy as it has made him.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_021.mp3", "", "", 748617031, 40578181, Spawn) + AddConversationOption(conversation, "What makes you say that?", "Quest3Chat_3") + AddConversationOption(conversation, "I didn't. Oh, wait... Yes, I did.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "The man was a celebrated warrior - a clan hero! But the years and battles have taken their toll. One too many hits to that thick skull, if'n you ask me.") +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_022.mp3", "", "", 3153750446, 2946380071, Spawn) + AddConversationOption(conversation, "I agree.", "Quest3Chat_4") + AddConversationOption(conversation, "Well, let's just consider him eccentric.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "He swears on Greyvax's grave that his bear pelt talks to him! That's evidence enough, friend.") +end + +function Quest3Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_023.mp3", "", "", 1008524247, 3710738942, Spawn) + AddConversationOption(conversation, "Nutty Knut. I get it.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "The man is drinking from a cracked stein, I tell you.") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_024.mp3", "", "", 626779963, 1838376893, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest3Chat_6") + StartConversation(conversation, NPC, Spawn, "You are suggesting we agree to disagree. I've never seen much reason for it, but since it is old Orcbane, I will.") +end + +function Quest3Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_025.mp3", "", "", 2325720721, 1852675464, Spawn) + AddConversationOption(conversation, "Actually, yes. I saw several Ry'Gorr orcs amassing supplies.", "Quest3Chat_7") + StartConversation(conversation, NPC, Spawn, "Heh. So, did you find anything interesting on Jagged Daggers isle?") +end + +function Quest3Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_026.mp3", "", "", 3614477806, 1870107129, Spawn) + AddConversationOption(conversation, "Right. I'm the one yapping like a hound.", "Quest3Chat_8") + AddConversationOption(conversation, "Excuse me?", "Quest3Chat_8") + StartConversation(conversation, NPC, Spawn, "You what?! " .. GetName(Spawn) .. ", you've got to learn to share the important information. Don't stand about yapping on like some excited hound when there is fighting to be had!") +end + +function Quest3Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_027.mp3", "", "", 1143831396, 1034337351, Spawn) + AddConversationOption(conversation, "I can do that.", "OfferCampsideSpores") + AddConversationOption(conversation, "I have destroyed enough of their stuff, already. Good bye.") + StartConversation(conversation, NPC, Spawn, "I forgive you. Now, this is the perfect time to employ another form of natural element in our ongoing battle against the Ry'Gorr. We are going to destroy their provisions!") +end + +function Quest3Chat_9(NPC, Spawn) + SetStepComplete(Spawn, CampsideSpores, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_030.mp3", "", "", 23529339, 1329281501, Spawn) + AddConversationOption(conversation, "Right.") + StartConversation(conversation, NPC, Spawn, "We learned about those little buggers the hard way, but at least we can use them for our own good.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_033.mp3", "", "", 3483970131, 1743071905, Spawn) + AddConversationOption(conversation, "Yes. And the Ry'Gorr have been making them bigger.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "There are caves under this floating island?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_034.mp3", "", "", 491076810, 2688982472, Spawn) + AddConversationOption(conversation, "Apparently, they are.", "Quest4Chat_3") + AddConversationOption(conversation, "Me either.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Dear Marr! They have been attempting to hold our attention on top with skirmishes while all along they have been digging tunnels from below?! I never thought them so sneaky.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_035.mp3", "", "", 3997881517, 11859709, Spawn) + AddConversationOption(conversation, "I sure can, Odon.", "OfferRyGorrTaking") + AddConversationOption(conversation, "I am not willing to go back down there. No way!") + StartConversation(conversation, NPC, Spawn, "They must be using special tools, some magically imbued ones, to dig through the velium and ice that make this floating rock. Will you enter the caves and steal any such tools that you find? That will slow their progress while others can go in and hunt them.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_032.mp3", "", "", 775129944, 2032173914, Spawn) + AddConversationOption(conversation, "In the caves below Erollis.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "I would expect nothing less! Tell me, where were you slaying the beasts?") +end + +function Quest4Chat_5(NPC, Spawn) + SetStepComplete(Spawn, RyGorrTaking, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_037.mp3", "", "", 3945219846, 2009013253, Spawn) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I'm beginning to think so, too.") + StartConversation(conversation, NPC, Spawn, "That is excellent, my friend! I am more certain today that your arrival here was not just a roll of luck, but predestined by the gods.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_039.mp3", "", "", 1313157093, 2613440725, Spawn) + AddConversationOption(conversation, "I don't know, but they looked like it.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "They are made of velium?") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_040.mp3", "", "", 1326282045, 1993468470, Spawn) + AddConversationOption(conversation, "Oh, what are you thinking?", "Quest5Chat_3") + AddConversationOption(conversation, "That would be nice.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "Amazing. If it isn't one threat to our struggling city, it's another! But just maybe there is something to be gained here.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_041.mp3", "", "", 513600053, 106599260, Spawn) + AddConversationOption(conversation, "I'll harvest some from within the Velinoid Catacombs for you.", "OfferWatchBelow") + AddConversationOption(conversation, "It's too dangerous. Count me out!") + StartConversation(conversation, NPC, Spawn, "Velium is a prized element, " .. GetName(Spawn) .. ". I am willing to bet that there's a hefty copper to be made from velium harvested at such a location. Velium steeped in such potent arcanum must be even more desirable!") +end + +function Quest5Chat_4(NPC, Spawn) + SetStepComplete(Spawn, WatchBelow, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_044.mp3", "", "", 4176364117, 3019596787, Spawn) + AddConversationOption(conversation, "You're welcome.", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "Ah! Look how it gleams, " .. GetName(Spawn) .. "! I am sure it will help to bankroll our operation here. Thank you.") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "odon_scourgeson/halas/cragged_spine/odon_scourgeson_045.mp3", "", "", 653096289, 4240580228, Spawn) + AddConversationOption(conversation, "Sure, I am!", "OfferWatchBelow") + AddConversationOption(conversation, "No. I am not.") + StartConversation(conversation, NPC, Spawn, "Are you willing to return to the Velinoid Catacombs in order to collect us more glimmering velium, " .. GetName(Spawn) .. "?") +end + +function OfferWhirlingTime(NPC, Spawn) + OfferQuest(NPC, Spawn, WhirlingTime) +end + +function OfferHighlyMaterials(NPC, Spawn) + OfferQuest(NPC, Spawn, HighlyMaterials) +end + +function OfferCampsideSpores(NPC, Spawn) + OfferQuest(NPC, Spawn, CampsideSpores) +end + +function OfferRyGorrTaking(NPC, Spawn) + OfferQuest(NPC, Spawn, RyGorrTaking) +end + +function OfferWatchBelow(NPC, Spawn) + OfferQuest(NPC, Spawn, WatchBelow) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OlgaMacleod.lua b/SpawnScripts/FrostfangSea/OlgaMacleod.lua new file mode 100644 index 0000000..f3d82a2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OlgaMacleod.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OlgaMacleod.lua + Script Purpose : Olga Macleod + Script Author : theFoof + Script Date : 2013.09.01 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + ProvidesQuest(NPC, FrozenChowder) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, FrozenChowder) and not HasQuest(Spawn, FrozenChowder) then + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_001.mp3", "", "", 183975505, 4113739209, Spawn) + AddConversationOption(conversation, "I'm " .. GetName(Spawn) .. ", pleased to meet you.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "I'm Olga MacLeod, and you are?") + elseif GetQuestStep(Spawn, FrozenChowder) == 1 or GetQuestStep(Spawn, FrozenChowder) == 2 then + AddConversationOption(conversation, "Where can I find the halasian reeds and the frozen pincers?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Did you collect the ingredients I asked for?") + elseif GetQuestStep(Spawn, FrozenChowder) == 3 then + AddConversationOption(conversation, "I did indeed.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Did you collect the ingredients I asked for?") + else + PlayFlavor(NPC, "", "Thanks for helping me with the chowder!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_003.mp3", "", "", 2540192341, 2605234909, Spawn) + AddConversationOption(conversation, "Can I get you something.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye there. I'm on break from working at The Stone Hammer. It's a pity there isn't anything to eat.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_004.mp3", "", "", 902632382, 378214084, Spawn) + AddConversationOption(conversation, "Really?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "No, the only thing that hits the spot on a day like this is my recipe for frozen pincer chowder. It's very delicious, I'm going to make it for the New Halas City Festival.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "olga_macleod/halas/new_halas/olga_macleod/olga_macleod_005.mp3", "", "", 2856769449, 2240854922, Spawn) + AddConversationOption(conversation, "I could gather them for you.", "OfferFrozenChowder") + AddConversationOption(conversation, "What a pity.") + StartConversation(conversation, NPC, Spawn, "Yes. I'd make it now, but I don't have time to go and gather the ingredients myself.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thanks again, sometimes I forget these things!") + StartConversation(conversation, NPC, Spawn, "The halasian reeds and the frozen pincers are down near the water's edge at the Erollis Dock, east of New Halas.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Here you go.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Great, hand them over and I'll get to cooking!") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It smells delicious", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Thank Marr this cooks up fast. I'll be able to have a bowl before I must get back to work.") +end + +function Quest1Chat_7(NPC, Spawn) + SetStepComplete(Spawn, FrozenChowder, 3) + AddSpawnAccess(GetSpawn(NPC, 4701842), Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, NPC, Spawn, "Thanks Olga!") + StartConversation(conversation, NPC, Spawn, "There! Go ahead, ladle yourself some chowder.") +end + +function OfferFrozenChowder(NPC, Spawn) + OfferQuest(NPC, Spawn, FrozenChowder) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OlioSaphatho.lua b/SpawnScripts/FrostfangSea/OlioSaphatho.lua new file mode 100644 index 0000000..5d93fbc --- /dev/null +++ b/SpawnScripts/FrostfangSea/OlioSaphatho.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OlioSaphatho.lua + Script Purpose : coercer trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local COERCER = 27 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == COERCER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow coercer?", "CoecChat1") + AddConversationOption(conversation, "It certainly is! Good day.") + StartConversation(conversation, NPC, Spawn, "I see you have chosen the path of a coercer. It is a challenging path, for sure.") + else + PlayFlavor(NPC, "", "Bending the will of your opponent means lending their strength to your own.", "hello", 0, 0, Spawn) + end +end + +function CoecChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "CoecChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function CoecChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "CoecChat3") + StartConversation(conversation, NPC, Spawn, "Do not underestimate your ability to dominate the minds of your foes, charming them to carry out your will. There is no need to conjure a pet, when you can force the enemy to fight amongst themselves!") +end + +function CoecChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "But do not rely solely on your charmed slaves. You must also hone your offensive and defensive spells! You can inflict magical and mental damage upon your targets through spells, while defending yourself by mesmerizing or stunning them.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua b/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua new file mode 100644 index 0000000..1d7f949 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OrdinSleetfoot.lua @@ -0,0 +1,60 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot.lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 1 then + AddSpawnAccess(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, GoodDistraction) then + + elseif HasCompletedQuest(Spawn, BelowWaves) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 1 then + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot001.mp3", "", "", 346156027, 2620260101, Spawn) + AddConversationOption(conversation, "I am. Slip into the shadows. I'll ensure no one realizes you're there.", "Quest1Chat_1") + AddConversationOption(conversation, "No, I am not ready yet.") + StartConversation(conversation, NPC, Spawn, "So yer the one who's to be the distraction so I can slip past these creatures, are ye? Well normally I don't trust strangers, but if Thirin trusts you, then I will as well. Are ye ready to go?") + else + PlayFlavor(NPC, "", "Shh! Quiet. I'm trying to watch for patterns in the orcs' patrols.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + AddTimer(NPC, 2000, "Step1", 1, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot002.mp3", "", "", 4202537039, 1639978352, Spawn) + AddConversationOption(conversation, "Be safe.") + StartConversation(conversation, NPC, Spawn, "Good, I'll meet you in the Velinoids' cave. Don't worry about finding me, you'll see me. Just keep on heading further into the cave.") +end + +function Step1(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 1) + RemoveSpawnAccess(NPC, Spawn) +end diff --git a/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua b/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua new file mode 100644 index 0000000..5e8b123 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting1).lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 15, "Ambush", "Ambush") +end + +function respawn(NPC) + spawn(NPC) +end + +function Ambush(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 2 then + AddSpawnAccess(NPC, Spawn) + local mob1 = SpawnByLocationID(GetZone(Spawn), 572712) + local mob2 = SpawnByLocationID(GetZone(Spawn), 34004) + SetTempVariable(mob1, "linked", mob2) + SetTempVariable(mob2, "linked", mob1) + Attack(mob1, Spawn) + Attack(mob2, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 3 then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 2 then + PlayFlavor(NPC, "", "Help me, please!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 3 then + AddTimer(NPC, 2000, "HideSpawn", 1, Spawn) + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_one001.mp3", "", "", 678640011, 1694488257, Spawn) + AddConversationOption(conversation, "Be more careful next time.") + AddConversationOption(conversation, "I will protect you no matter what.") + StartConversation(conversation, NPC, Spawn, "Thanks for the back up there, I thought this was a good spot to hide. Well, shall we continue on? I'll meet you further into the cavern. Keep up the good work, and I'll be able to scout around undetected.") + end +end + +function HideSpawn(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 3) + RemoveSpawnAccess(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua b/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua new file mode 100644 index 0000000..2e7c120 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfoot_(scouting2).lua + Script Purpose : Ordin Sleetfoot + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 15, "Ambush", "Ambush") +end + +function respawn(NPC) + spawn(NPC) +end + +function Ambush(NPC, Spawn) + if HasQuest(Spawn, GoodDistraction) then + if GetQuestStep(Spawn, GoodDistraction) == 4 then + AddSpawnAccess(NPC, Spawn) + local mob1 = SpawnByLocationID(GetZone(Spawn), 572713) + local mob2 = SpawnByLocationID(GetZone(Spawn), 572714) + SetTempVariable(mob1, "linked", mob2) + SetTempVariable(mob2, "linked", mob1) + Attack(mob1, Spawn) + Attack(mob2, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 5 then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, GoodDistraction) == 4 then + PlayFlavor(NPC, "", "Help me, please!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 5 then + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_two001.mp3", "", "", 70062741, 2568038023, Spawn) + AddConversationOption(conversation, "If you are done, we should head back. Thirin will want a report of what's in these caves.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank you again. Thirin is right, ye are dependable and I couldn't have done this without ye.") + end +end + +function Quest1Chat_1(NPC, Spawn) + AddTimer(NPC, 2000, "HideSpawn", 1, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ordin_sleetfoot/halas/cragged_spine/ordin_sleetfoot_two002.mp3", "", "", 2823426244, 1105831845, Spawn) + AddConversationOption(conversation, "Very well. Good luck.") + StartConversation(conversation, NPC, Spawn, "Of course. Ye head back without me. I want to check out what's up ahead. I'll meet ye back with Thirin when I'm done here. ") +end + +function HideSpawn(NPC, Spawn) + SetStepComplete(Spawn, GoodDistraction, 5) + RemoveSpawnAccess(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua b/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua new file mode 100644 index 0000000..9e8e73d --- /dev/null +++ b/SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrdinSleetfootsCorpse.lua + Script Purpose : for the spawn "Ordin Sleetfoot's Corpse" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local SleetfootParty = 62 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, SleetfootParty) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OreColdstein.lua b/SpawnScripts/FrostfangSea/OreColdstein.lua new file mode 100644 index 0000000..0a5d555 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OreColdstein.lua @@ -0,0 +1,65 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OreColdstein.lua + Script Purpose : movement path for ore coldstein + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 5, "InRange") + MovementLoopAddLocation(NPC, -163.4, 148.64, 7.9, 2, 0) + MovementLoopAddLocation(NPC, -166.86, 148.52, 33.36, 2, 0) + MovementLoopAddLocation(NPC, -141.97, 147.09, 45.75, 2, 0) + MovementLoopAddLocation(NPC, -111.31, 146.5, 17.37, 2, 0) + MovementLoopAddLocation(NPC, -84.11, 146.36, 25.1, 2, 0) + MovementLoopAddLocation(NPC, -77.74, 146.44, 19.53, 2, 0) + MovementLoopAddLocation(NPC, -91.21, 146.53, -2.92, 2, 0) + MovementLoopAddLocation(NPC, -67.78, 146.96, -21.08, 2, 0) + MovementLoopAddLocation(NPC, -17.86, 146.43, -20.44, 2, 0) + MovementLoopAddLocation(NPC, -6.99, 146.23, -50.87, 2, 0) + MovementLoopAddLocation(NPC, -76.01, 146.74, -69.34, 2, 0) + MovementLoopAddLocation(NPC, -76.38, 152.58, -103.59, 2, 0) + MovementLoopAddLocation(NPC, -58.53, 153.69, -121.51, 2, 0) + MovementLoopAddLocation(NPC, -39.7, 153.11, -115.98, 2, 3) + MovementLoopAddLocation(NPC, -46.91, 153.78, -132.33, 2, 0) + MovementLoopAddLocation(NPC, -63.83, 153.06, -144.21, 2, 0) + MovementLoopAddLocation(NPC, -109.03, 150.91, -145.99, 2, 0) + MovementLoopAddLocation(NPC, -109.43, 152.32, -121.26, 2, 0) + MovementLoopAddLocation(NPC, -76.97, 152.54, -102.32, 2, 0) + MovementLoopAddLocation(NPC, -80.46, 146.45, -75.78, 2, 0) + MovementLoopAddLocation(NPC, -109.02, 147.1, -63.48, 2, 0) + MovementLoopAddLocation(NPC, -94.14, 145.53, -33.29, 2, 0) + MovementLoopAddLocation(NPC, -109.89, 146.24, -12.32, 2, 0) + MovementLoopAddLocation(NPC, -129.26, 147.06, 3.77, 2, 0) + MovementLoopAddLocation(NPC, -142.7, 148.73, 4.83, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC) + if GetTempVariable(NPC, "chat_timer") == nil then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "Comin' through!", "nod", 1689589577, 4560189) + elseif choice == 2 then + PlayFlavor(NPC, "", "Coldain with a purpose!", "hello", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "Juss passin' through!", "hello", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "BURP! 'Scuse me!", "hello", 0, 0) + end + SetTempVariable(NPC, "chat_timer", "1") + AddTimer(NPC, 30000, "ChatTimer") + end +end + +function hailed(NPC) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function ChatTimer(NPC) + SetTempVariable(NPC, "chat_timer", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OricaDeadshot.lua b/SpawnScripts/FrostfangSea/OricaDeadshot.lua new file mode 100644 index 0000000..c3f5137 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OricaDeadshot.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OricaDeadshot.lua + Script Purpose : Orica Deadshot + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] +local DemandSupplies = 45 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + conversation = CreateConversation() + + PlayFlavor(NPC, "orica_deadshot/halas/great_shelf/orica_deadshot/orica_deadshot001.mp3", "", "", 3100922751, 3756102154, Spawn) + AddConversationOption(conversation, "Yes. Here you go.", "Chat") + AddConversationOption(conversation, "I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Are those the supplies we've been waiting for?") + end +end + +function Chat(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "orica_deadshot/halas/great_shelf/orica_deadshot/orica_deadshot002.mp3", "", "", 17831415, 4241254330, Spawn) + AddConversationOption(conversation, "You're welcome.") + StartConversation(conversation, NPC, Spawn, "Thank goodness! We need these glimmer visors to reliably see the orcs that have been trying to flank us. Yer a life-saver, " .. GetName(Spawn) .. "!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/OrnIceheart.lua b/SpawnScripts/FrostfangSea/OrnIceheart.lua new file mode 100644 index 0000000..6e35709 --- /dev/null +++ b/SpawnScripts/FrostfangSea/OrnIceheart.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/OrnIceheart.lua + Script Purpose : warlock trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WARLOCK = 24 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WARLOCK then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow warlock then?", "LockChat1") + AddConversationOption(conversation, "Well, you should. Good bye.") + StartConversation(conversation, NPC, Spawn, "My, my! Another warlock within our midst. Do not worry; I do not consider you a threat.") + else + PlayFlavor(NPC, "", "Well met!", "hello", 0, 0, Spawn) + end +end + +function LockChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "LockChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function LockChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "LockChat3") + StartConversation(conversation, NPC, Spawn, "We are masters of death and decay, inflicting poison and disease upon those that dare to challenge us, particularly on groups of opponents.") +end + +function LockChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "There are other adventuring classes that must rely on strong defenses to survive, but we focus on the offense. No need to defend yourself from a foe who is writhing in pain, plagued with disease!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/PadraigMcDougal.lua b/SpawnScripts/FrostfangSea/PadraigMcDougal.lua new file mode 100644 index 0000000..06603f9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/PadraigMcDougal.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PadraigMcDougal.lua + Script Purpose : Padraig McDougal + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I'm sorry, my services are only available to those more advanced in the arts.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua b/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua new file mode 100644 index 0000000..b5627ad --- /dev/null +++ b/SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PeregrineHelgrethIceweaver.lua + Script Purpose : Padraig McDougal + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello",0, 0, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/PlurppBogthumb.lua b/SpawnScripts/FrostfangSea/PlurppBogthumb.lua new file mode 100644 index 0000000..fa481da --- /dev/null +++ b/SpawnScripts/FrostfangSea/PlurppBogthumb.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PlurppBogthumb.lua + Script Purpose : Plurpp Bogthumb + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "", "", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Please spare me your 'green thumb' jokes.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "A little love is all this sapling requires.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1017.mp3", "", "", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/PretchonIronstein.lua b/SpawnScripts/FrostfangSea/PretchonIronstein.lua new file mode 100644 index 0000000..c4a4366 --- /dev/null +++ b/SpawnScripts/FrostfangSea/PretchonIronstein.lua @@ -0,0 +1,84 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PretchonIronstein.lua + Script Purpose : Pretchon Ironstein + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 4) then + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein001.mp3", "", "", 1138921900, 154999598, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "Can you tell me what you're doing here?", "Quest1Chat_1") + AddConversationOption(conversation, "Greetings, Pretch!", "Quest1Chat_5") + AddConversationOption(conversation, "Maybe this wasn't such a good idea. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Have we met before? My friends call me Pretch, but ye can call me Pretchon Ironstein.") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "Ye got yer answers. What do ye want now?", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "May yer ore be rich, and yer stein be full.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein003.mp3", "", "", 3031154636, 3454544430, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_3") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Sure, so long as ye make it quick. What would ye like to know?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein004.mp3", "", "", 2078038730, 2967258030, Spawn) + AddConversationOption(conversation, "Ah, I see. Well, why don't you leave?", "Quest1Chat_3") + AddConversationOption(conversation, "This can only go downhill from here. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Seeing as how this floating rock is a chunk of my homeland, I've always been here. Yer the newcomer, " .. GetName(Spawn) .. ".") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein005.mp3", "", "", 2277034168, 2486010941, Spawn) + AddConversationOption(conversation, "Can you explain that further?", "Quest1Chat_4") + AddConversationOption(conversation, "Sorry for your misfortune. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Where would we go? This is all that we have left of Velious, and now we're making the best of an awful situation.") +end + +function Quest1Chat_4(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 4) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein006.mp3", "", "", 28333391, 3841310148, Spawn) + AddConversationOption(conversation, "Good day and goodbye.") + StartConversation(conversation, NPC, Spawn, "Look. I intend to smash the Ry'Gorr, drink ale, and sail this floating isle until it sinks. Good day.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "pretchon_ironstein/halas/new_halas_guard_house/pretchon_ironstein002.mp3", "", "", 524764574, 2567502776, Spawn) + AddConversationOption(conversation, "I have a few questions.", "Quest1Chat_1") + AddConversationOption(conversation, "This can only go downhill from here. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Ah, yer a prankster, I see. Well, I'll be calling ye Wolfmeat. What can I do for ye, Wolfmeat?") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua b/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua new file mode 100644 index 0000000..1594fa4 --- /dev/null +++ b/SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua @@ -0,0 +1,76 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/PriestAaronolisSwornlove.lua + Script Purpose : Priest Aaronolis Swornlove + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if GetTempVariable(NPC, "chat_timer") == nil then + SetTempVariable(NPC, "chat_timer", "1") + AddTimer(NPC, 25000, "chat_timer") + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "Were she still with us, Erollisi would have wanted you to spread love and friendship on this day.", "agree", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "The Fanthom Lord, The Truthbringer, and The Forge Lord all had their hand in establishing this holy place. It is awe inspiring!", "nod", 0, 0) + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1054.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Is that a statue of her?", "Chat1") + StartConversation(conversation, NPC, Spawn, "Welcome to the Cairn of The Huntress, " .. GetName(Spawn) .. "! Here we remember The Goddess of Love, Erollisi Marr, The Loving Huntress, The Queen of Love, Sister of Light.") +end + +function Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "It is not what I would have expected her to look like.", "Chat2") + AddConversationOption(conversation, "It is pretty.", "Chat4") + StartConversation(conversation, NPC, Spawn, "It is! It was sculpted by the Forge Lord, Varig Ro, and presented to Mithaniel Marr prior to Erollisi's self sacrifice. Varig truly captured her loving presence while still honoring her skill for hunting.") +end + +function Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How did it end up here?", "Chat3") + AddConversationOption(conversation, "I see what you mean. Good day.") + StartConversation(conversation, NPC, Spawn, "The deities of Norrath have often shown themselves in different forms, but what's important is that it captured her essence quite well.") +end + +function Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for sharing this with me.") + StartConversation(conversation, NPC, Spawn, "Mithaniel blessed us! He placed it here to share it with the world to serve as a reminder and spiritual inspiration to all. It reminds us of what she stood for and what there is to continue fighting for.") +end + +function Chat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Good day, Priest Swornlove.") + StartConversation(conversation, NPC, Spawn, "I am glad you think so, too.") +end + +function chat_timer(NPC) + SetTempVariable(NPC, "chat_timer", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/RakanRockbreaker.lua b/SpawnScripts/FrostfangSea/RakanRockbreaker.lua new file mode 100644 index 0000000..97e4987 --- /dev/null +++ b/SpawnScripts/FrostfangSea/RakanRockbreaker.lua @@ -0,0 +1,141 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RakanRockbreaker.lua + Script Purpose : Rakan Rockbreaker + Script Author : theFoof + Script Date : 2013.06.01 + Script Notes : +--]] + + +-- add in repeatable quest dialogue when available + +local DemandSupplies = 45 + +local FoilingFlank = 46 + +function spawn(NPC) + ProvidesQuest(NPC, DemandSupplies) + ProvidesQuest(NPC, FoilingFlank) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, DemandSupplies) and not HasQuest(Spawn, DemandSupplies) then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker001.mp3", "", "", 2002637275, 536344722, Spawn) + AddConversationOption(conversation, "What supplies?", "Quest1Chat_1") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We've got to hurry! These supplies need to be delivered to the front lines, and quickly.") + elseif HasQuest(Spawn, DemandSupplies) and GetQuestStep(Spawn, DemandSupplies) < 3 then + PlayFlavor(NPC, "", "Ye've got to hurry! They need those supplies and they need em now!", "threaten", 0, 0, Spawn) + elseif GetQuestStep(Spawn, DemandSupplies) == 3 then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker006.mp3", "", "", 3102394371, 3200634636, Spawn) + AddConversationOption(conversation, "I went as quickly as I could.", "Quest1Chat_4") + AddConversationOption(conversation, "They have the supplies they needed.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Yer back! I trust ye delivered the supplies to the coldain soldiers.") + elseif HasCompletedQuest(Spawn, DemandSupplies) and not HasQuest(Spawn, FoilingFlank) then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, FoilingFlank) and GetQuestStep(Spawn, FoilingFlank) ~= 3 then + PlayFlavor(NPC, "", "As we speak, those snow glimmered runners are making their way up the choke!", "tap foot", 0, 0, Spawn) + elseif GetQuestStep(Spawn, FoilingFlank) == 3 then + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker015.mp3", "", "", 26313219, 1364697377, Spawn) + AddConversationOption(conversation, "Of course.", "Quest2Chat_4") + AddConversationOption(conversation, "It wasn't easy, but I took care of them.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Yer back, and in one piece. Were ye successful in yer task? Did ye take care of the orcs?") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker002.mp3", "", "", 2334563481, 118587127, Spawn) + AddConversationOption(conversation, "What are glimmer visors?", "Quest1Chat_2") + AddConversationOption(conversation, "I'll deliver the supplies for you.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Reforged weapons for the soldiers, and glimmer visors for the archers.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker003.mp3", "", "", 2462675267, 3917758225, Spawn) + AddConversationOption(conversation, "I'll deliver the supplies for you.", "Quest1Chat_3") + AddConversationOption(conversation, "I'm busy at the moment. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The visors allow our archers to see the Ry'Gorr orcs that have been camouflaged by a snow glimmer. Otherwise they'll get through and flank our forces.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker004.mp3", "", "", 3607684996, 3048983099, Spawn) + AddConversationOption(conversation, "I'll do just that.", "OfferDemandSupplies") + AddConversationOption(conversation, "You can count on me.", "OfferDemandSupplies") + StartConversation(conversation, NPC, Spawn, "Perfect. Bring these supplies to our defenders perched at the peak of Herga's Choke. The leaders will take the goods off your hands and distribute them to the coldain.") +end + +function Quest1Chat_4(NPC, Spawn) + SetStepComplete(Spawn, DemandSupplies, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker007.mp3", "", "", 84500025, 397416081, Spawn) + AddConversationOption(conversation, "Was there something else you needed?", "Quest2Chat_1") + AddConversationOption(conversation, "I'm afraid I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Phew! That's a relief. We just might be able to stop them for awhile longer.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker008.mp3", "", "", 3124701734, 1733764756, Spawn) + AddConversationOption(conversation, "So you need me to deal with them?", "Quest2Chat_3") + AddConversationOption(conversation, "This is too much for me to handle. Goodbye.") + StartConversation(conversation, NPC, Spawn, "The Ry'Gorr have figured out a way to make themselves all but invisible, and are charging up the choke. ") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker010.mp3", "", "", 3359211699, 295105343, Spawn) + AddConversationOption(conversation, "Was there something else you needed?", "Quest2Chat_1") + AddConversationOption(conversation, "I'm afraid I must be going. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Yer a fine sort fer delivering those supplies, " .. GetName(Spawn) .. ". Unfortunately, our troubles are far from over.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker011.mp3", "", "", 268182012, 816884804, Spawn) + AddConversationOption(conversation, "I'd be happy to try.", "OfferFoilingFlank") + AddConversationOption(conversation, "This is too much for me to handle. Goodbye.") + StartConversation(conversation, NPC, Spawn, "We need to deal with them, as well as the orcs that are maintaining the portal at the pinnacle of Herga's Choke. Our coldain forces are barely able to keep up with the unending onslaught, but perhaps ye can break the stalemate.") +end + +function Quest2Chat_4(NPC, Spawn) + SetStepComplete(Spawn, FoilingFlank, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "rakan_rockbreaker/halas/great_shelf/rakan_rockbreaker/rakan_rockbreaker017.mp3", "", "", 101832850, 1600602204, Spawn) + AddConversationOption(conversation, "Victory is certain.") + AddConversationOption(conversation, "I'm happy to have helped.") + StartConversation(conversation, NPC, Spawn, "I knew we could count on ye," .. GetName(Spawn) .. "! The battle for the portal is surely ours now.") +end + +function OfferDemandSupplies(NPC, Spawn) + OfferQuest(NPC, Spawn, DemandSupplies) +end + +function OfferFoilingFlank(NPC, Spawn) + OfferQuest(NPC, Spawn, FoilingFlank) +end diff --git a/SpawnScripts/FrostfangSea/RibbitHopson.lua b/SpawnScripts/FrostfangSea/RibbitHopson.lua new file mode 100644 index 0000000..cb63cb2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/RibbitHopson.lua @@ -0,0 +1,110 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RibbitHopson.lua + Script Purpose : Ribbit Hopson + Script Author : theFoof + Script Date : 2013.08.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + ProvidesQuest(NPC, SpiderPuffs) + SetPlayerProximityFunction(NPC, 10, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + PlayFlavor(NPC, "", "Come on in, the door's open!", "beckon", 1689589577, 4560189, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, SpiderPuffs) and not HasQuest(Spawn, SpiderPuffs) then + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_001.mp3", "", "", 2788145631, 3173619593, Spawn) + AddConversationOption(conversation, "Hello, Ribbit. I am " .. GetName(Spawn) .. ".", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello! I haven't seen you around before. I am Ribbit Hopson, an immigrant from Qeynos.") + elseif GetQuestStep(Spawn, SpiderPuffs) == 1 or GetQuestStep(Spawn, SpiderPuffs) == 2 then + AddConversationOption(conversation, "Where can I find the dame's rocket and wooly silkspinners?", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Have you collected the ingredients I asked for?") + elseif GetQuestStep(Spawn, SpiderPuffs) == 3 then + AddConversationOption(conversation, "I have the dame's rockets and the woolly silkspinner meat.", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you collected the ingredients I asked for?") + elseif GetQuestStep(Spawn, SpiderPuffs) == 4 then + PlayFlavor(NPC, "", "Go ahead, try one!", "beckon", 0, 0, Spawn) + elseif HasCompletedQuest(Spawn, SpiderPuffs) then + PlayFlavor(NPC, "", "Thanks for your help. The spider puffs are pretty good, huh?", "thanks", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_003.mp3", "", "", 3519293872, 2814938385, Spawn) + AddConversationOption(conversation, "Is there anything with which I can help you?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "It is nice to meet you. I am busy preparing for the New Halas City Festival! Many people will come from all over Norrath to New Halas during the festival, so it is important that we put our best flipper forward.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_004.mp3", "", "", 776305400, 980133477, Spawn) + AddConversationOption(conversation, "So?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I am going to make my family's secret recipe for spider puffs for the festival, but I do not know how it will taste with the spiders native to New Halas. I've been growing the dame's rocket seedlings that I brought with me to New Halas, and they are just now ripening.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_005.mp3", "", "", 1928136735, 1280650233, Spawn) + AddConversationOption(conversation, "I could do that!", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Well, I'm no fighter and usually I'd pay someone to collect spider meat for me.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "ribbit_hopson/halas/new_halas/ribbit_hopson/ribbit_hopson_006.mp3", "", "", 2761139077, 596680396, Spawn) + AddConversationOption(conversation, "That would be fine.", "OfferSpiderPuffs") + AddConversationOption(conversation, "I'm not mucking about some cave for some disgusting puffs. No thank you.") + StartConversation(conversation, NPC, Spawn, "I warn you, I do not have much money left over. As it turns out, pilgrimages are much more expensive than you would suppose! But I could give you some of the baked spider puffs, they are most delicious.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Ribbit. I shall return with the ingredients.") + StartConversation(conversation, NPC, Spawn, "The dame's rocket is right outside my door and the woolly silkspinners are in the cave leading to the Erollis Dock.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I can rest a bit.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Splendid! If you will rest for a moment, I can have the spider puff batter whipped up and baked in no time!") +end + +function Quest1Chat_7(NPC, Spawn) + AddSpawnAccess(GetSpawn(NPC, 4701841), Spawn) + SetStepComplete(Spawn, SpiderPuffs, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you, Ribbit!") + StartConversation(conversation, "There, finished! Please take some puffs for yourself.") +end + +function OfferSpiderPuffs(NPC, Spawn) + OfferQuest(NPC, Spawn, SpiderPuffs) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/RickaStonehide.lua b/SpawnScripts/FrostfangSea/RickaStonehide.lua new file mode 100644 index 0000000..d284b80 --- /dev/null +++ b/SpawnScripts/FrostfangSea/RickaStonehide.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RickaStonehide.lua + Script Purpose : Ricka Stonehide + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thanks for the information, I just might do that.", "dlg_3_1") + StartConversation(conversation, NPC, Spawn, "Search for the relics of the past Age of Turmoil. Their discovery will gain you great power and prestige!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua b/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua new file mode 100644 index 0000000..2cbaf53 --- /dev/null +++ b/SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrExplosiveMiningBarrel.lua + Script Purpose : to make the mining barrel die and create an explosion/hide the rock widget + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 500, "destroy_barrel") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function destroy_barrel(NPC) + player = GetTempVariable(NPC, "player") + KillSpawn(NPC, player, 0) + anim = SpawnByLocationID(GetZone(player), 441170) + AddSpawnAccess(anim, player) + SetTempVariable(anim, "player", player) + SetTempVariable(NPC, "player", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua b/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua new file mode 100644 index 0000000..a4ea4d8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrfirepittorch.lua + Script Purpose : for the spawn "Ry'Gorr firepit torch" + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : +--]] + +local HighlyMaterials = 74 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, HighlyMaterials, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, HighlyMaterials) and not HasItem(Spawn, 47882) then + AddSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "pick up" then + if HasQuest(Spawn, HighlyMaterials) and not HasItem(Spawn, 47882) then + Despawn(NPC) + SummonItem(Spawn, 47882) + if GetQuestStep(Spawn, HighlyMaterials) == 1 then + SetStepComplete(Spawn, HighlyMaterials, 1) + end + end + end +end + \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua b/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua new file mode 100644 index 0000000..dc25d8b --- /dev/null +++ b/SpawnScripts/FrostfangSea/RyGorrweaponrack.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/RyGorrweaponrack.lua + Script Purpose : for the ry'gorr weapon racks (unnamed spawn) + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : +--]] + +local RoughingReinforcements = 57 + +function spawn(NPC) + SetRequiredQuest(NPC, RoughingReinforcements, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Destroy Ry'Gorr Weapons" then + if HasQuest(Spawn, RoughingReinforcements) then + if not QuestStepIsComplete(Spawn, RoughingReinforcements, 3) then + AddStepProgress(Spawn, RoughingReinforcements, 3, 1) + Despawn(NPC) + end + end + end +end diff --git a/SpawnScripts/FrostfangSea/SanaStrongbellow.lua b/SpawnScripts/FrostfangSea/SanaStrongbellow.lua new file mode 100644 index 0000000..cf99a7d --- /dev/null +++ b/SpawnScripts/FrostfangSea/SanaStrongbellow.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SanaStrongbellow.lua + Script Purpose : Sana Strongbellow + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "I'll work towards that end then.") + StartConversation(conversation, NPC, Spawn, "I'm sorry, until you have chosen a specialty in your craft I do not have any work orders for you. Come see me when you're more practiced in your trade.") +end + diff --git a/SpawnScripts/FrostfangSea/ScionofDiscord.lua b/SpawnScripts/FrostfangSea/ScionofDiscord.lua new file mode 100644 index 0000000..914a89d --- /dev/null +++ b/SpawnScripts/FrostfangSea/ScionofDiscord.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ScionofDiscord.lua + Script Purpose : Scion of Discord + Script Author : Foof + Script Date : 2013.10.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) + else + end + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Quite so.", "dlg_30_1") + AddConversationOption(conversation, "I am not ready yet.") + StartConversation(conversation, NPC, Spawn, "The will of Discord is to let your skill distinguish you from others. It is not just how you fight, but how often you are the source of death. Are you skilled enough to be considered among the elite?") +end + +function dlg_30_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I show you? ", "dlg_30_2") + AddConversationOption(conversation, "On second thought, I am not ready. Farewell. ") + StartConversation(conversation, NPC, Spawn, "I bring favor to those that can back up their words, though your skill is yet to be seen. Consider your words or they will bring you shame! ") +end + +function dlg_30_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin! ", "dlg_30_3") + AddConversationOption(conversation, "I am not sure I can do that right now. Farewell. ") + StartConversation(conversation, NPC, Spawn, "The test is simple: kill or be killed. Plenty of would-be slayers roam the battlefield as we speak. You must deliver death in order to be given rewards. Are you ready to back your words? ") +end + +function dlg_30_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Discord be with you!") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1023.mp3", "", "", 0, 0, Spawn) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1023.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua b/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua new file mode 100644 index 0000000..9e37975 --- /dev/null +++ b/SpawnScripts/FrostfangSea/ScionofDiscord_(victory).lua @@ -0,0 +1,57 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ScionofDiscord.lua + Script Purpose : Scion of Discord + Script Author : Foof + Script Date : 2013.10.30 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +--[[ +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Victory! ", "dlg_31_1") + AddConversationOption(conversation, "I am not interested in what you offer...") + StartConversation(conversation, NPC, Spawn, "The will of Discord is to raise leaders among the masses. You can fight aimlessly in battle, or you can lead your team to victory! The choice is yours.") +end + +function dlg_31_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is there for me to do? ", "dlg_31_2") + AddConversationOption(conversation, "On second thought, I can't at this time. Farewell. ") + StartConversation(conversation, NPC, Spawn, "Great choice! You are a fine specimen, fine indeed. I can sense that you are not someone that likes to fail. That is good for you and me. ") +end + +function dlg_31_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Discord will be honored with a victory! ", "dlg_31_3") + AddConversationOption(conversation, "I am not sure I can do that right now. Farewell. ") + StartConversation(conversation, NPC, Spawn, "It is simple, win! You must make your way through the battle and lead your team to victory. Each day will bring a different challenge. Are you ready to begin? ") +end + +function dlg_31_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + StartConversation(conversation, NPC, Spawn, "Discord be with you!") +end +--]] +--[[ raw_conversations + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1026.mp3", "", "", 0, 0, Spawn) +--]] + diff --git a/SpawnScripts/FrostfangSea/Scourgesonarrow.lua b/SpawnScripts/FrostfangSea/Scourgesonarrow.lua new file mode 100644 index 0000000..40aa314 --- /dev/null +++ b/SpawnScripts/FrostfangSea/Scourgesonarrow.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/Scourgesonarrow.lua + Script Purpose : for the spawn "Scourgeson arrow" + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : +--]] + +local WhirlingTime = 70 + +function spawn(NPC) + SetRequiredQuest(NPC, WhirlingTime, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'apply draught' then + if GetQuestStep(Spawn, WhirlingTime) == 1 then + if HasItem(Spawn, 6556) then + SpawnMob(GetZone(Spawn), 4701138, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + AddStepProgress(Spawn, WhirlingTime, 1, 1) + Despawn(NPC) + else + SendMessage(Spawn, "You must have the Draught of Whirling Ice to use it!", "yellow") + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua b/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua new file mode 100644 index 0000000..f40590b --- /dev/null +++ b/SpawnScripts/FrostfangSea/SigbrithMacInnes.lua @@ -0,0 +1,54 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SigbrithMacInnes.lua + Script Purpose : Sigbrith MacInnes + Script Author : Foof + Script Date : 2013.05.21 + Script Notes : +--]] + +local LostFroglok = 26 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + if GetQuestStep(Spawn, LostFroglok) == 1 then + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_001.mp3", "", "", 3335073691, 1240095725, Spawn) + AddConversationOption(conversation, "Excuse me, Sigbrith MacInnes?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Yes?") + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_003.mp3", "", "", 4092947662, 401427635, Spawn) + AddConversationOption(conversation, "That's where the grizzlies are!", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I saw little Splorpy run off and play with the other children. They went over the hill, to the southwest.") +end + +function Quest1Chat_3(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sigbrith_macinnes/halas/gwenevyns_cove/sigbrith_macinnes/sigbrith_macinnes_004.mp3", "", "", 3124673910, 3802002199, Spawn) + AddConversationOption(conversation, "Thank you for the information. I must now go and search for Splorpy.") + StartConversation(conversation, NPC, Spawn, "Yes, and if the children were chased by them they may have run even further away from our camp. I'm sure Splorpy is fine, but it's nice for you to have concern for these poor pilgrims.") +end diff --git a/SpawnScripts/FrostfangSea/SisterAalarya.lua b/SpawnScripts/FrostfangSea/SisterAalarya.lua new file mode 100644 index 0000000..1641a0a --- /dev/null +++ b/SpawnScripts/FrostfangSea/SisterAalarya.lua @@ -0,0 +1,136 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterAalarya.lua + Script Purpose : Sister Aalarya + Script Author : theFoof + Script Date : 2013.08.19 + Script Notes : +--]] + +local TrustIssues = 85 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if HasQuest(Spawn, TrustIssues) and not QuestStepIsComplete(Spawn, TrustIssues, 3) then + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya001.mp3", "", "", 2119732267, 2070285157, Spawn) + AddConversationOption(conversation, "Is this a good time?", "Quest1Chat_1") + AddConversationOption(conversation, "I have a few questions about the Sisterhood.", "Quest1Chat_7") + AddConversationOption(conversation, "Brogan MacLellan sent me to speak with you.", "Quest1Chat_6") + AddConversationOption(conversation, "I can already tell this is going to be painful. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Hello there, friend. Blessings of Erollisi to you.") + elseif HasQuest(Spawn, TrustIssues) then + PlayFlavor(NPC, "", "Hello again, " .. GetName(Spawn) .. ". Blessings of Erollisi to you.", "hello", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Blessings of Erollisi to you.", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya002.mp3", "", "", 778240445, 1265640341, Spawn) + AddConversationOption(conversation, "Perfect.", "Quest1Chat_7") + AddConversationOption(conversation, "On second thought, I have somewhere to be.") + StartConversation(conversation, NPC, Spawn, "Of course. I was looking forward to some stimulating conversation. Sometimes the quiet life of a Sister, while spiritually fulfilling, is dreadfully dull. Ho hum.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya005.mp3", "", "", 2831123605, 2891513253, Spawn) + AddConversationOption(conversation, "What did he do?", "Quest1Chat_3") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "Mithaniel Marr smiled upon this forsaken land when He saw the plight of the coldain. They were lost, forgotten, and locked in an endless and hopelessly futile battle with the Ry'Gorr. ") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya006.mp3", "", "", 839696070, 368595826, Spawn) + AddConversationOption(conversation, "So how does Erollisi fit in?", "Quest1Chat_4") + AddConversationOption(conversation, "Isn't that a bit Deus Ex Machina?", "Quest1Chat_8") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He blessed the isle, and showed pilgrims the way here. Since His intervention, this land has flourished.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya009.mp3", "", "", 3023080955, 3940179989, Spawn) + AddConversationOption(conversation, "And you are followers of Erollisi Marr.", "Quest1Chat_5") + AddConversationOption(conversation, "Hence the name: Erollis.", "Quest1Chat_5") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "He left us this statue of His sister. This isle is named in Her honor.") +end + +function Quest1Chat_5(NPC, Spawn) + SetStepComplete(Spawn, TrustIssues, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya010.mp3", "", "", 2543843692, 2274240039, Spawn) + AddConversationOption(conversation, "Thank you, Sister Aalarya.") + AddConversationOption(conversation, "I can understand why followers would come here.") + StartConversation(conversation, NPC, Spawn, "This place has become a sacred meeting place for devoted followers of Marr. All who worship Mithaniel or Erollisi are welcome to join us and pay Them tribute.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya004.mp3", "", "", 2080247973, 2428888366, Spawn) + AddConversationOption(conversation, "Okay, okay, I'm leaving!") + StartConversation(conversation, NPC, Spawn, "Brogan? Brogan MacLellan?! Again? So now that we stopped acknowledging him, he's sending others to harass us! I refuse to honor his inane, vapid, fever-mad, unfounded accusations with a response. Get out of here, NOW!") +end + +function Quest1Chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya003.mp3", "", "", 3370074263, 1372386631, Spawn) + AddConversationOption(conversation, "Why did you come to Erollis?", "Quest1Chat_2") + AddConversationOption(conversation, "Why don't you leave?", "Quest1Chat_9") + AddConversationOption(conversation, "Is it true what they say about the Sisterhood?", "Quest1Chat_10") + AddConversationOption(conversation, "Whatever, I don't have the time for this.") + StartConversation(conversation, NPC, Spawn, "It is my duty to speak to travelers about our order. What would you like to know?") +end + +function Quest1Chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "sister_aalarya/halas/new_halas_guard_house/sister_aalarya011.mp3", "", "", 735077916, 1256331838, Spawn) + AddConversationOption(conversation, "So how does Erollisi fit in?", "Quest1Chat_4") + AddConversationOption(conversation, "I can't stand the preaching of a religious zealot. Goodbye.") + StartConversation(conversation, NPC, Spawn, "One cannot claim to understand the machinations or motivations of the gods. They can drastically change our world or they can leave us to our own designs. The faithful will not question Their actions.") +end + +function Quest1Chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I see what you mean.", "Quest1Chat_3") + AddConversationOption(conversation, "Tell me about your arrival.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "This land is holy, blessed by the gods we revere. I'll answer your question with a question: why would be anywhere else?") +end + +function Quest1Chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Sorry to offend. Tell me about your arrival.", "Quest1Chat_3") + AddConversationOption(conversation, "You wouldn't be so defensive if you weren't hiding something!") + StartConversation(conversation, NPC, Spawn, 'That depends on what "they" say. And I would suggest that unless you are genuinely interested in becoming a member of the Sisterhood, that you ' .. "don't make a cad of yourself by questioning our customs.") +end diff --git a/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua b/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua new file mode 100644 index 0000000..f6bec51 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterKateyDalwynn.lua + Script Purpose : chat with Sister Katey Dalwynn + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Varig Ro's handiwork is amazin! He outdid himself with this statue of the Loving Huntress.", "hello", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "We must continue to hold charity, truth, honor and valor within our lives, in her memory.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "In the name or Erollisi we must not give up on love, compassion, devotion, or sacrifice.", "hello", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua b/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua new file mode 100644 index 0000000..27154c9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterLeelaPrendyn.lua + Script Purpose : Sister Leela Prendyn + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,2) + + if choice == 1 then + PlayFlavor(NPC, "", "I miss Tearfall whenever I must be away, but this place soothes my soul.", "agree", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "The Loving Huntress will never be forgotten.", "no", 0, 0, Spawn) + end + +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua b/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua new file mode 100644 index 0000000..c12214d --- /dev/null +++ b/SpawnScripts/FrostfangSea/SisterThogMacGilly.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SisterThogMacGilly.lua + Script Purpose : Sister Thog MacGilly + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "I can feel the influence of love here, in a way that I haven't in years!", "nod", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Mithaniel himself was the one to plant the statue of Erollisi here.", "hello", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "We must honor Erollisi, and spread her virtues to the corners of this world.", "hello", 0, 0, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua b/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua new file mode 100644 index 0000000..975b897 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SkjolrandrHalculloch.lua + Script Purpose : Skjolrandr Halculloch + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : movement loop for random npc in halas +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -61.57, 146.11, -50.21, 2, 0) + MovementLoopAddLocation(NPC, -16.67, 146.19, -58.03, 2, 0) + MovementLoopAddLocation(NPC, 12.94, 147.61, -96.37, 2, 0) + MovementLoopAddLocation(NPC, 72.31, 148.34, -88.88, 2, 0) + MovementLoopAddLocation(NPC, 109.63, 155.62, -137.94, 2, 0) + MovementLoopAddLocation(NPC, 72.31, 148.34, -88.88, 2, 0) + MovementLoopAddLocation(NPC, 12.94, 147.61, -96.37, 2, 0) + MovementLoopAddLocation(NPC, -16.67, 146.19, -58.03, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua new file mode 100644 index 0000000..2ebd2a3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(camp).lua + Script Purpose : Splorpy Quagmarr spawn at the pilgrim camp + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local UnbearableProblem = 25 + +local LostFroglok = 26 + +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if HasCompletedQuest(Spawn, LostFroglok) == false then + PlayFlavor(NPC, "", "Dad says I'm not to talk to strangers.", "sad", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hello again!", "wave", 1689589577, 4560189, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, UnbearableProblem) then + if GetQuestStep(Spawn, UnbearableProblem) == 2 then + + else + AddSpawnAccess(NPC, Spawn) + end + elseif HasCompletedQuest(Spawn, UnbearableProblem) and HasCompletedQuest(Spawn, LostFroglok) == false then + + elseif GetQuestStep(Spawn, GreatShelf) > 1 or HasCompletedQuest(Spawn, GreatShelf) then + + else + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua new file mode 100644 index 0000000..2f341fc --- /dev/null +++ b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(halas).lua + Script Purpose : hides flibbit until quest series is finished + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua new file mode 100644 index 0000000..7e19770 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua @@ -0,0 +1,80 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(lost).lua + Script Purpose : Splorpy Quagmarr lost during the quest Little LostFroglok + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local LostFroglok = 26 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, LostFroglok) == 2 then + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_001.mp3", "", "", 3711049527, 3895860763, Spawn) + AddConversationOption(conversation, "Splorpy! It's me, " .. GetName(Spawn) .. ". I'm a friend of your dad's.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Hello? Who's there?") + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_002.mp3", "", "", 4266619341, 398836584, Spawn) + AddConversationOption(conversation, "That I did. How did you get out here?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "I remember you! You killed the bad bears!") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_003.mp3", "", "", 3146179411, 3806044983, Spawn) + AddConversationOption(conversation, "You were frightened by a barbarian?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "I was playing hide and seek with the other kids when a huge man jumped out at us! We screamed and I hopped away as fast as I could!") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_004.mp3", "", "", 2435575866, 3227047552, Spawn) + AddConversationOption(conversation, "Well, I'm here to take you back to your dad. I think we should get going before you get any colder.", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "No, " .. GetName(Spawn) .. "! His whole body was a beard! I know what a barbarian looks like and this was not a barbarian.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "splorpy_quagmarr/halas/gwenevyns_cove/splorpy_quagmarr/splorpy_quagmarr_005.mp3", "", "", 3060792386, 2313305125, Spawn) + AddConversationOption(conversation, "Maybe.", "FollowPlayer") + StartConversation(conversation, NPC, Spawn, "Okay! Maybe dad will have some hot stew ready!") +end + +function FollowPlayer(NPC, Spawn) + SetStepComplete(Spawn, LostFroglok, 2) + RemoveSpawnAccess(NPC, Spawn) + local pet = SpawnMob(GetZone(NPC), 4701835, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + SetTempVariable(Spawn, "splorp", pet) + SetFollowTarget(pet, Spawn) + ToggleFollow(pet) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, LostFroglok) == 2 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua new file mode 100644 index 0000000..5aac5f3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(pet).lua + Script Purpose : the Splorply Quagmarr pet from the quest "Little Lost Froglok" + Script Author : theFoof + Script Date : 2013.05.22 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 5000, "chatswitch") + AddTimer(NPC, 600000, "depop") +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function chatswitch(NPC) + choice = math.random(1,6) + if choice == 1 then + Say(NPC, "Did you fight those with your bare hands?") + elseif choice == 2 then + Say(NPC, "It's cold out here!") + elseif choice == 3 then + Say(NPC, "I have to go to the bathroom.") + elseif choice == 4 then + Say(NPC, "Do you know where you are going?") + elseif choice == 5 then + Say(NPC, "I wonder if I'll get to see Mithaniel Marr!") + elseif choice == 6 then + Say(NPC, "That bear was eating a dead pilgrim!") + end + AddTimer(NPC, math.random(15000,30000), "chatswitch") +end + +function depop(NPC, Spawn) + Despawn(NPC) +end + \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua new file mode 100644 index 0000000..c205ba4 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SplorpyQuagmarr_(shelf).lua + Script Purpose : for the spawn "Splorpy Quagmarr" located in the great shelf cave. + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "Hello again!", "wave", 1689589577, 4560189, Spawn) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua b/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua new file mode 100644 index 0000000..bff4bc2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/SuhubaVankedisi.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/SuhubaVankedisi.lua + Script Purpose : berserker trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local BERSERKER = 4 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == BERSERKER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice can you give to another berserker?", "ZerkChat1") + AddConversationOption(conversation, "It does, doesn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same burning rage that resides within all berserkers!") + else + PlayFlavor(NPC, "", "This land is full of battle. I like it!", 0, 0, Spawn) + end +end + +function ZerkChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "ZerkChat2") + StartConversation(conversation, NPC, Spawn, "Let that rage consume you! It makes you stronger and fuels your unbridled aggression and fury. This is especially useful when facing many foes at once, inflicting damage on the highest amount of enemies with our wild swings.") +end + +function ZerkChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's interesting.", "ZerkChat3") + StartConversation(conversation, NPC, Spawn, "But it is not just an offensive power. It also helps reduce the amount of damage inflicted upon you, and can help you regain your health when you have been injured.") +end + +function ZerkChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's useful to know!", "ZerkChat4") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affets your health. This is crucial.") +end + +function ZerkChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor would be considered too heavy by others, but with your focus on strength such highly protective armor has no downside.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TadHopson.lua b/SpawnScripts/FrostfangSea/TadHopson.lua new file mode 100644 index 0000000..30db336 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TadHopson.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TadHopson.lua + Script Purpose : Tad Hopson + Script Author : theFoof + Script Date : 2013.09.13 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "My parents say I'm not supposed to talk to strangers.", "speaknoevil", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/TadIronstein.lua b/SpawnScripts/FrostfangSea/TadIronstein.lua new file mode 100644 index 0000000..1df5d53 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TadIronstein.lua @@ -0,0 +1,101 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TadIronstein.lua + Script Purpose : Tad Ironstein + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local ReportSpine = 44 + +local NightmareOver = 73 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, ReportSpine) == 1 or GetQuestStep(Spawn, NightmareOver) == 1 then + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_001.mp3", "", "", 159212760, 893738328, Spawn) + AddConversationOption(conversation, GetName(Spawn) .. ", reporting for duty!", "Quest1Chat_1") + AddConversationOption(conversation, "Belka sent me.", "Quest1Chat_1") + AddConversationOption(conversation, "What can I do to help?", "Quest1Chat_1") + AddConversationOption(conversation, "I'm going to have a look around, first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "Oi! We're in a heap of trouble. It's about time we got some fresh blood to help stave off the Ry'Gorr offensive.") + elseif HasCompletedQuest(Spawn, ReportSpine) then + Quest1Chat_2(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_002.mp3", "", "", 767750494, 124592983, Spawn) + AddConversationOption(conversation, "I prefer to stand. What's going on?", "Quest1Chat_2") + AddConversationOption(conversation, "Go ahead. I'm listening.", "Quest1Chat_2") + AddConversationOption(conversation, "I'm going to have a look around, first. Goodbye.") + StartConversation(conversation, NPC, Spawn, "I've heard good things about ye, " .. GetName(Spawn) .. ". Cop a squat and let me fill ye in on the details of our predicament.") +end + +function Quest1Chat_2(NPC, Spawn) + if not HasCompletedQuest(Spawn, NightmareOver) then + SetStepComplete(Spawn, NightmareOver, 1) + end + if not HasCompletedQuest(Spawn, ReportSpine) then + SetStepComplete(Spawn, ReportSpine, 1) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_003.mp3", "", "", 4232630025, 1474295833, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_3") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Hillfred Kinlock is the lass to talk to for your next assignment in tackling the Ry'Gorr that have been assaulting our camp.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_004.mp3", "", "", 2381720580, 2582728568, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_4") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "We're under siege from not just orcs, but blasted imps as well. I understand Knut Orcbane is lookin' for adventurers willing to deal with the mischievous monsters. He's looking for his sanity as well, so maybe ye can help him find that too.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_005.mp3", "", "", 520233498, 1846378100, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_5") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Thirin Veliumdelver is worried about the current state of our equipment, and I don't blame him. Our gear is falling apart from extended use, so there's real reason to be worried.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_006.mp3", "", "", 678304878, 2445816043, Spawn) + AddConversationOption(conversation, "Alright. Anything else?", "Quest1Chat_6") + AddConversationOption(conversation, "I'll see to it. Goodbye!") + StartConversation(conversation, NPC, Spawn, "Lastly, Odon Scourgeson thinks he's come up with a way to shroud the beach front in a whorl of mist to confuse the Ry'Gorr. Sounds crazy to me, but I've always been a fan of the more direct hands-on approach.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tad_ironstein/halas/cragged_spine/tad_ironstein_007.mp3", "", "", 3904075644, 3425628781, Spawn) + AddConversationOption(conversation, "Glad to be here.") + AddConversationOption(conversation, "I'll see what I can do to help.") + StartConversation(conversation, NPC, Spawn, "That'll do, for starters. Glad to have ye aboard, " .. GetName(Spawn) .. ".") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TarynHighsea.lua b/SpawnScripts/FrostfangSea/TarynHighsea.lua new file mode 100644 index 0000000..a772d79 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TarynHighsea.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TarynHighsea.lua + Script Purpose : Taryn Highsea + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + Chat(NPC) +end + +function hailed(NPC, Spawn) + Chat(NPC) +end + +function Chat(NPC) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "I can help! Come closer for a consultation!", "hello", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "A new look for a new town, that's what I always say!", "smile", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Hm...I'm pretty sure that look is bad luck.", "beckon", 0, 0, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua b/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua new file mode 100644 index 0000000..5b9761e --- /dev/null +++ b/SpawnScripts/FrostfangSea/TergjerdGoreblade.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TergjerdGoreblade.lua + Script Purpose : paladin trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local PALADIN = 10 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == PALADIN then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another paladin?", "PalChat1") + AddConversationOption(conversation, "They do, don't they? Good day.") + StartConversation(conversation, NPC, Spawn, "I see a familiar fire in your eyes, warrior. The same flames of righteousness rside within all paladins!") + else + PlayFlavor(NPC, "", "I'm here to whup folks like you into shape!", "hello", 0, 0, Spawn) + end +end + +function PalChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "PalChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function PalChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's reassuring.", "PalChat3") + StartConversation(conversation, NPC, Spawn, "Know the power you wield. You have been called into this service, to become a sword of valor, a servant to the divine, smiting oppressors and followers of the dark no matter if they attack one at a time or as a horde.") +end + +function PalChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That will be useful!", "PalChat4") + StartConversation(conversation, NPC, Spawn, "The divine powers can also be used to grant us health in moments of need, as wlel as increase our allies' ability to heal. It can also be used to lend them some invaluable aid in the form of damage mitigation, reducing the amount of damage they receive.") +end + +function PalChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "PalChat5") + StartConversation(conversation, NPC, Spawn, "As is oura bility to take the blame for the damage an ally may inflict. This may sound bad, but when you are battling beside a powerful friend who does not have much protection anything that can keep the foe's attention on you is saving your friend.") +end + +function PalChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be weighty, but you can handle it, and its protective properties will be necessary, as it takes time to beseech our divine powers.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua b/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua new file mode 100644 index 0000000..d8885c6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua @@ -0,0 +1,189 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ThirinVeliumdelver_(caves).lua + Script Purpose : Thirin Veliumdelver + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +local RyGorrOperations = 60 + +local GoodDistraction = 61 + +local SleetfootParty = 62 + +local SeekingEducation = 63 + +local NapEvigis = 64 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, RyGorrOperations) + ProvidesQuest(NPC, GoodDistraction) + ProvidesQuest(NPC, SleetfootParty) + ProvidesQuest(NPC, SeekingEducation) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, RyGorrOperations) then + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave001.mp3", "", "", 2709713344, 2359332874, Spawn) + AddConversationOption(conversation, "Agreed. We must act quickly.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "This is most impressive. I never knew the Ry'Gorr could be so devious.") + elseif GetQuestStep(Spawn, RyGorrOperations) == 1 or GetQuestStep(Spawn, RyGorrOperations) == 2 then + PlayFlavor(NPC, "", "The explosives should be around this area, " .. GetName(Spawn) .. ".", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, RyGorrOperations) == 3 then + SetStepComplete(Spawn, RyGorrOperations, 3) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave006.mp3", "", "", 2990250717, 1905406099, Spawn) + AddConversationOption(conversation, "You were right, they were keeping something imprisoned beyond the cave-in, though I fear what I've found will be of no use to us.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "That was a magnificent display of destruction on your part, adventurer. Did ye find anything? What are those scoundrels hiding?") + elseif HasCompletedQuest(Spawn, RyGorrOperations) and not HasCompletedQuest(Spawn, GoodDistraction) and not HasQuest(Spawn, GoodDistraction) then + Quest2Chat_1(NPC, Spawn) + elseif HasQuest(Spawn, GoodDistraction) and GetQuestStep(Spawn, GoodDistraction) < 6 then + PlayFlavor(NPC, "", "Protect my man, " .. GetName(Spawn) .. ".", "", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, GoodDistraction) == 6 then + SetStepComplete(Spawn, GoodDistraction, 6) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave011.mp3", "", "", 1460125884, 1686109939, Spawn) + AddConversationOption(conversation, "I have. He told me he was going to search further into the Velinoid Catacombs and wouldn't need any further assistance.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Hmm, you've returned without Ordin?") + elseif HasCompletedQuest(Spawn, GoodDistraction) and not HasCompletedQuest(Spawn, SleetfootParty) and not HasQuest(Spawn, SleetfootParty) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 1 then + PlayFlavor(NPC, "", "By Brell, I pray my man is ok.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 2 then + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 34036), Spawn) + SetStepComplete(Spawn, SleetfootParty, 2) + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave015.mp3", "", "", 1359546210, 1807793457, Spawn) + AddConversationOption(conversation, "I... I found him dead. He seemed to have discovered a large ice and velium elemental. A monstrous creature.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You return alone? Is... is he gone?") + elseif HasCompletedQuest(Spawn, SleetfootParty) and not HasCompletedQuest(Spawn, SeekingEducation) and not HasQuest(Spawn, SeekingEducation) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, SleetfootParty) == 1 then + PlayFlavor(NPC, "", "Make haste for the White Lodge. Seek out Toril Blackbow.", "", 0, 0, Spawn) + else + PlayFlavor(NPC, "", "Hello my friend. It is good to see you.", "hello", 0, 0, Spawn) + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, NapEvigis) then + AddSpawnAccess(NPC, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave002.mp3", "", "", 3505397088, 1978736216, Spawn) + AddConversationOption(conversation, "I would agree. This wall is an unnecessary risk, even for them.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Aye. I saw this wall ye spoke of. Whoever caused this cave-in did not do so thoughtfully. Meaning it was done with haste. It seems as though it was meant to keep something trapped. What could scare the Ry'Gorr so much they would risk such a dangerous explosion?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave003.mp3", "", "", 2117741125, 3692044901, Spawn) + AddConversationOption(conversation, "You intend to re-open the tunnel entrance then?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Whatever they are hiding or keeping imprisoned may be used to give us an advantage. Whatever they fear would surely give us an upper hand in stopping their impending invasion.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave004.mp3", "", "", 79469292, 3225324999, Spawn) + AddConversationOption(conversation, "Sounds like a blast. I'm in.", "OfferRyGorrOperations") + AddConversationOption(conversation, "I'm not really one for mining, so I'll be going.") + StartConversation(conversation, NPC, Spawn, "I do, though we have no mining equipment on hand. However, these orcs could not have made so much progress in so a little a time without some help. I imagine there are some explosive barrels about, if ye just follow yer nose. Look around where they are currently mining, they should leave them lying around. Once you've got the explosives use it on the cave-in. Find out what the Ry'Gorr were trying to imprison.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave007.mp3", "", "", 563381258, 467794942, Spawn) + AddConversationOption(conversation, "I found a race of beings that look as though they were birthed from the velium itself. There were orcish bodies among them as well. I was able to escape, but I don't believe they will side with us. We are all in danger.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "What are ye talking about? What was there?") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave008.mp3", "", "", 1682427027, 3451821464, Spawn) + AddConversationOption(conversation, "I cannot tell, but the blast has severely damaged the surrounding walls. I do not believe that a third blast will do any good in one area underground.", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "This means there were caverns here before the orcs? They themselves must have discovered them. I know not what these creatures are, but if what ye say is true they may be more of a threat than those blasted Ry'Gorr. Is there any chance we can quickly re-build the wall, as the orcs did? Can we protect ourselves from these, what should they be called? Velinoids?") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave009.mp3", "", "", 494358718, 200929086, Spawn) + AddConversationOption(conversation, "You can count on me, Thirin.", "OfferGoodDistraction") + AddConversationOption(conversation, "That sounds way too dangerous.") + StartConversation(conversation, NPC, Spawn, "Blast! I fear we've made a grave mistake, adventurer, one we must rectify immediately. It is time we informed my good friend, Torli Blackbow. However, I intend to return with as much intelligence as possible. I am sending in one of my scouts to investigate the area. I'd like for you to act as a distraction of sorts so he can sneak in undetected. Speak with him when you are ready.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave012.mp3", "", "", 196969429, 3399805289, Spawn) + AddConversationOption(conversation, "Perhaps he just needs more time? It wasn't long ago that I left him.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Hmm, this is most troubling. I am worried, adventurer, he would have returned by now. I fear something may have happened to him.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave013.mp3", "", "", 516198965, 3758808523, Spawn) + AddConversationOption(conversation, "I shall search for him. It was my responsibility to protect him.", "OfferSleetfootParty") + AddConversationOption(conversation, "Good luck in your search.") + StartConversation(conversation, NPC, Spawn, "He was my best scout, and a good friend. He would have returned by now. No, I fear he may be stuck in the dark corners of this cavern, unable to return for some reason. I'll need to look for him. The coldain do not leave their brothers behind. I have far too many ales to share with him before his time is up.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave016.mp3", "", "", 3750387458, 3923287586, Spawn) + AddConversationOption(conversation, "I know very little, other than it appears to be very old and quite angry. I don't believe it enjoys visitors.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "Monstrous? I see. Tell me of this creature you speak of.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/cragged_spine/thirin_veliumdelver_cave017.mp3", "", "", 4283075830, 3738516832, Spawn) + AddConversationOption(conversation, "It's " .. GetName(Spawn) .. ".", "OfferSeekingEducation") + StartConversation(conversation, NPC, Spawn, "This is most troubling, my friend. We are not prepared for this. I was rash and quick to judge the situation. I regret venturing into these blasted caverns. What have we awakened? Ordin will not have died in vain, I swear it. We must speak with Torli, she will know what to do. Adventurer, what is yer name? You've done so much and I never had the time to ask.") +end + +function OfferRyGorrOperations(NPC, Spawn) + OfferQuest(NPC, Spawn, RyGorrOperations) +end + +function OfferGoodDistraction(NPC, Spawn) + OfferQuest(NPC, Spawn, GoodDistraction) +end + +function OfferSleetfootParty(NPC, Spawn) + OfferQuest(NPC, Spawn, SleetfootParty) +end + +function OfferSeekingEducation(NPC, Spawn) + OfferQuest(NPC, Spawn, SeekingEducation) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua b/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua new file mode 100644 index 0000000..046d9cc --- /dev/null +++ b/SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua @@ -0,0 +1,224 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ThirinVeliumdelver_(spine).lua + Script Purpose : Thirin Veliumdelver + Script Author : theFoof + Script Date : 2013.06.09 + Script Notes : +--]] + +local NothingWaste = 56 + +local RoughingReinforcements = 57 + +local ThroughEyes = 58 + +local BelowWaves = 59 + +local RyGorrOperations = 60 + +local NapEvigis = 64 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, NothingWaste) + ProvidesQuest(NPC, RoughingReinforcements) + ProvidesQuest(NPC, ThroughEyes) + ProvidesQuest(NPC, BelowWaves) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, NapEvigis) then + AddSpawnAccess(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, RyGorrOperations) and not HasQuest(Spawn, RyGorrOperations) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if not HasCompletedQuest(Spawn, NothingWaste) and not HasQuest(Spawn, NothingWaste) then + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver001.mp3", "", "", 3958889097, 419690768, Spawn) + AddConversationOption(conversation, "Would you happen to be Thirin? I heard you might need help here.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "What do ye want, whelp? Can't you see I'm a bit busy with defending the Cragged Spine!?") + elseif GetQuestStep(Spawn, NothingWaste) == 1 or GetQuestStep(Spawn, ThroughEyes) == 1 or GetQuestStep(Spawn, BelowWaves) == 1 or GetQuestStep(Spawn, BelowWaves) == 2 then + BrellConvo(NPC, Spawn) + elseif GetQuestStep(Spawn, NothingWaste) == 4 then + SetStepComplete(Spawn, NothingWaste, 4) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver008.mp3", "", "", 2278681822, 876133756, Spawn) + AddConversationOption(conversation, "I'm glad I could be of some use.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, you've succeeded. Perhaps ye're not all that useless after all, adventurer. These will do nicely. I'll have one of my men take a look at these, fix them up, and have them distributed among the forces.") + elseif HasCompletedQuest(Spawn, NothingWaste) and not HasCompletedQuest(Spawn, RoughingReinforcements) and not HasQuest(Spawn, RoughingReinforcements) then + Quest2Chat_2(NPC, Spawn) + elseif HasQuest(Spawn, RoughingReinforcements) and GetQuestStep(Spawn, RoughingReinforcements) ~= 6 then + BrellConvo(NPC, Spawn) + elseif GetQuestStep(Spawn, RoughingReinforcements) == 6 then + SetStepComplete(Spawn, RoughingReinforcements, 6) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver013.mp3", "", "", 1378985878, 3460156375, Spawn) + AddConversationOption(conversation, "Yes, and I found this scrying eye off of one of the war shamans. I thought it might be useful.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "You return. What news? Were yer skirmishes with the enemy successful?") + elseif HasCompletedQuest(Spawn, RoughingReinforcements) and not HasCompletedQuest(Spawn, ThroughEyes) and not HasQuest(Spawn, ThroughEyes) then + Quest3Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, ThroughEyes) == 2 then + SetStepComplete(Spawn, ThroughEyes, 2) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver017.mp3", "", "", 4179496210, 3494173244, Spawn) + AddConversationOption(conversation, "I was. I saw through an orc who swam beneath the waves. He entered an underwater tunnel leading to the center of Erollis. Beyond that I do not know. It seems the spell is restricted by distance.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "You've survived? I had heard reports that an adventurer fell to the Ry'Gorr not long ago. I'm glad to see my spy survived to tell what he's found. Were you successful in using the eye?") + elseif HasCompletedQuest(Spawn, ThroughEyes) and not HasCompletedQuest(Spawn, BelowWaves) and not HasQuest(Spawn, BelowWaves) then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BelowWaves) == 3 then + SetStepComplete(Spawn, BelowWaves, 3) + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver021.mp3", "", "", 3523614178, 2692776069, Spawn) + AddConversationOption(conversation, "They have dug a series of mining tunnels throughout the interior of Erollis, many in the direction of New Halas. I fear they mean to attack from below.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "What have you found? What are they doing below my lands?") + elseif HasCompletedQuest(Spawn, BelowWaves) and not HasCompletedQuest(Spawn, NapEvigis) then + Quest5Chat_1(NPC, Spawn) + else + PlayFlavor(NPC, "", "Hello my friend. It is good to see you.", "hello", 0, 0, Spawn) + end +end + +function BrellConvo(NPC, Spawn) + PlayFlavor(NPC, "", "May Brell protect you and ensure your return.", "", 1689589577, 4560189, Spawn) +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver002.mp3", "", "", 1122391828, 935093555, Spawn) + AddConversationOption(conversation, "Do you have work for me or not?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Oh, you want to help, do ye? Want to be some great hero now, huh? Well isn't that just grand.") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver003.mp3", "", "", 1628251409, 1305821623, Spawn) + AddConversationOption(conversation, "Good, just tell me what needs to be done.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Fine, fine, I can come up with something for ye to help with.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver004.mp3", "", "", 1710386030, 2555471318, Spawn) + AddConversationOption(conversation, "So I am to return to The Great Shelf for weapons and armor?", "Quest1Chat_4") + StartConversation(conversation, NPC, Spawn, "Well, we've been holding the Cragged Spine for some time now. So long in fact our equipment is starting to wear, rust or break. Broken bows, snapped swords, destroyed chainmail, it's getting worse by the hour.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver006.mp3", "", "", 807741417, 1254276267, Spawn) + AddConversationOption(conversation, "Alright, Thirin. I'll help you.", "OfferNothingWaste") + AddConversationOption(conversation, "I'm sorry, but there are more important things I could be doing.") + StartConversation(conversation, NPC, Spawn, "No, you won't be returning. That would take too long. We will be taking the armor off the backs of those we've slain. It sounds crude, but it will be effective. I hate to have my men wearing orcish armor, but no battle was ever won by looking fancy or wearing equipment that fit you.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver009.mp3", "", "", 3384327104, 2564907110, Spawn) + AddConversationOption(conversation, "Surely you can hold them here, now that you are better equipped.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Watching those orcs realize we are using their equipment in our defenses will be entertaining. For that I thank ye adventurer. With my troops now reinforced I can turn my eyes to the larger threat. The Ry'Gorr, as they call themselves, have been attacking from the Jagged Daggers Isle, across the waves to the south. I fear their re-enforcements will arrive swiftly and with renewed purpose.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver010.mp3", "", "", 684443689, 2994100029, Spawn) + AddConversationOption(conversation, "Thirin, your troops need you here. Morale is often frail, supported by a strong foundation. You are that foundation. ", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "I think not. What we've seen thus far is only a small part of their forces. They underestimated us, but now they know to send more orcs if they are to take the beach. No, in this situation there is only one thing we can do. Take the fight to them. Come, we leave at once for the Jagged Daggers Isle. I'm tired of sitting about in waiting. I was never one for defense.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver011.mp3", "", "", 4204960887, 1557606971, Spawn) + AddConversationOption(conversation, "I will leave at once for the isle. I won't let them take the beach.", "OfferRoughingReinforcements") + AddConversationOption(conversation, "I am sorry, but there is something more important I must take care of first.") + StartConversation(conversation, NPC, Spawn, "Hmm, well said, adventurer. Very well, I shall send you in my stead, as you've proven you can be somewhat dependable. Travel to the Jagged Daggers Isle, across the waves to the south and show them we are not to be underestimated. Destroy what forces and equipment you can and keep an eye out for their war shamans. They have the ability to scry our encampment. If you happen to combat them it will help conceal our positioning.") +end + +function Quest3Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver014.mp3", "", "", 6970253, 3066757715, Spawn) + AddConversationOption(conversation, "There you are, I hope it will be useful.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "A scrying eye you say. That's what they use to spy on our forces. I can't believe you were able to get one. Let me have a look. If we're lucky it will have already been imbued with their scrying magics.") +end + +function Quest3Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver015.mp3", "", "", 3051702043, 2201190917, Spawn) + AddConversationOption(conversation, "It's good we are in possession of this then. I am sure I can find a Ry'Gorr to use this on.", "OfferThroughEyes") + AddConversationOption(conversation, "Spying and magic aren't really my thing.") + StartConversation(conversation, NPC, Spawn, "Hmm. We are in luck adventurer. This has already been imbued with the magics that allow the Ry'Gorr to spy on us. Meaning we can use it against them and maybe learn something new to aid us. All ye need do is find a Ry'Gorr to use the eye on and you'll be able to see what he sees. That's how it works, you see? It allows you to see through the eyes of another, just by pressing the eye against the skin.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver018.mp3", "", "", 3389054723, 425793469, Spawn) + AddConversationOption(conversation, "I haven't a clue, but I intend to find out.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "They are below us? This is quite unexpected. What are they doing down there? What are they planning?") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver020.mp3", "", "", 3456248509, 1625770921, Spawn) + AddConversationOption(conversation, "That's awesome!", "OfferBelowWaves") + StartConversation(conversation, NPC, Spawn, "Don't go just yet, " .. GetName(Spawn) .. ". I have something to help ye! It's a Totem of the Iceclad Manta. It will grant ye the shape of an Iceclad manta and the gills and vision of one, to boot!") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver022.mp3", "", "", 4095447714, 560323533, Spawn) + AddConversationOption(conversation, "Before we travel below, know I have found some sort of cave-in. It looks to have been recently built by the orcs, though I know not for what purpose. It's very strange.", "Quest5Chat_2") + StartConversation(conversation, NPC, Spawn, "Confound it! This is what I was afraid of. There may not be enough time to warn the city before they attack, we're going to have to go down there and stop the Ry'Gorr ourselves. ") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "thirin_veliumdelver/halas/thirin_veliumdelver/thirin_veliumdelver023.mp3", "", "", 1522066613, 3536237484, Spawn) + AddConversationOption(conversation, "See you below then.") + StartConversation(conversation, NPC, Spawn, "A cave-in you say? I'll take a look once I've reached the inside. This time I go; my men will be able to handle things here, thanks to ye. Meet me at the cave's entrance, adventurer. I'll have inspected this cave-in ye speak of by then.") +end + +function OfferNothingWaste(NPC, Spawn) + OfferQuest(NPC, Spawn, NothingWaste) +end + +function OfferRoughingReinforcements(NPC, Spawn) + OfferQuest(NPC, Spawn, RoughingReinforcements) +end + +function OfferThroughEyes(NPC, Spawn) + OfferQuest(NPC, Spawn, ThroughEyes) +end + +function OfferBelowWaves(NPC, Spawn) + OfferQuest(NPC, Spawn, BelowWaves) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TimelessChronomage.lua b/SpawnScripts/FrostfangSea/TimelessChronomage.lua new file mode 100644 index 0000000..a76f878 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TimelessChronomage.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TimelessChronomage.lua + Script Purpose : Timeless Chronomage + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Greetings! Would you like me to chronolock you? For a small fee of course...", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TorliBlackbow.lua b/SpawnScripts/FrostfangSea/TorliBlackbow.lua new file mode 100644 index 0000000..4a5c592 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TorliBlackbow.lua @@ -0,0 +1,158 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TorliBlackbow.lua + Script Purpose : Torli Blackbow + Script Author : theFoof + Script Date : 2013.06.13 + Script Notes : +--]] + +local SeekingEducation = 63 + +local NapEvigis = 64 + +function spawn(NPC) + ProvidesQuest(NPC, NapEvigis) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, SeekingEducation) == 1 then + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_001.mp3", "", "", 3560007019, 2375962342, Spawn) + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ". I was sent by Thirin Veliumdelver.", "Quest1Chat_1") + StartConversation(conversation, NPC, Spawn, "Who have we here?") + elseif GetQuestStep(Spawn, SeekingEducation) == 2 then + PlayFlavor(NPC, "", "Speak with Gerla Meltwater. She is our wisest spellweaver. You'll find her in Glacierbane's Vault, in New Halas.", "nod", 0, 0, Spawn) + elseif GetQuestStep(Spawn, SeekingEducation) == 3 then + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_008.mp3", "", "", 3421952794, 3873415326, Spawn) + AddConversationOption(conversation, "She sent me back with this satchel for you.", "Quest1Chat_7") + StartConversation(conversation, NPC, Spawn, "Ye return, " .. GetName(Spawn) .. "! Tell me, what did Spellweaver Meltwater advise?") + elseif HasCompletedQuest(Spawn, SeekingEducation) and not HasCompletedQuest(Spawn, NapEvigis) and not HasQuest(Spawn, NapEvigis) then + Quest2Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, NapEvigis) == 1 then + PlayFlavor(NPC, "", "Brell's blessings upon ye as ye face Evigis, brave one!", "agree", 0, 0, Spawn) + elseif GetQuestStep(Spawn, NapEvigis) == 2 then + AddConversationOption(conversation, "I did. Evigis the Ancient slumbers, once more.", "Quest2Chat_4") + StartConversation(conversation, NPC, Spawn, "Ye return and such a sight ye are! Did you succeed, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, NapEvigis) then + PlayFlavor(NPC, "", "My, look what drifted in with the snow! Welcome back, brave one!", "hello", 0, 0, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_002.mp3", "", "", 1601353175, 2170594653, Spawn) + AddConversationOption(conversation, "We found a large ice and velium elemental living below New Halas!", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Veliumdelver? That stubborn stone's stationed at Cragged Spine. Why would he send ye to me?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_003.mp3", "", "", 3538220054, 491792113, Spawn) + AddConversationOption(conversation, "It killed Ordin Sleetfoot.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Are you certain, " .. GetName(Spawn) .. "?") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_004.mp3", "", "", 1850979310, 1092709933, Spawn) + AddConversationOption(conversation, "We could go in and kill it.", "Quest1Chat_4") + AddConversationOption(conversation, "Me too.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Brell damn it! If the ongoing struggle with the brutal Ry'Gorr wasn't enough. I am glad ye told me. I just wish I knew what to do.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_005.mp3", "", "", 2755216840, 3266695694, Spawn) + AddConversationOption(conversation, "I know.", "Quest1Chat_5") + AddConversationOption(conversation, "It was worth a shot.", "Quest1Chat_5") + AddConversationOption(conversation, "Says you.", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "Ha! Violence is an answer, but not necessarily THE answer, brave one.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_006.mp3", "", "", 2649012761, 1864543312, Spawn) + AddConversationOption(conversation, "Glacierbane's Vault?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "Speak with Gerla Meltwater. She is our wisest spellweaver. You'll find her in Glacierbane's Vault, in New Halas.") +end + +function Quest1Chat_6(NPC, Spawn) + SetStepComplete(Spawn, SeekingEducation, 1) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_007.mp3", "", "", 1644016563, 4176143932, Spawn) + AddConversationOption(conversation, "I'll speak with her.") + StartConversation(conversation, NPC, Spawn, "It is our house of arcane knowledge and library to the Spear of the Spellweavers, our battle hardened mages. She'll know what to do.") +end + +function Quest1Chat_7(NPC, Spawn) + if HasItem(Spawn, 7666) then + RemoveItem(Spawn, 7666) + end + SetStepComplete(Spawn, SeekingEducation, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_009.mp3", "", "", 2780367632, 539709516, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest2Chat_1") + StartConversation(conversation, NPC, Spawn, "Thank ye, and take this. I got a feeling it will be useful.") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_010.mp3", "", "", 1175740555, 3997329463, Spawn) + AddConversationOption(conversation, "What do you mean?", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Once more it seems we must lean on you, brave one.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_011.mp3", "", "", 772395501, 910422100, Spawn) + AddConversationOption(conversation, "What did it say?", "Quest2Chat_3") + StartConversation(conversation, NPC, Spawn, "Gerla's satchel contained a potion and a note.") +end + +function Quest2Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "torli_blackbow/halas/new_halas_guard_house/torli_blackaxe_012.mp3", "", "", 1978800607, 2542267623, Spawn) + AddConversationOption(conversation, "I can do that!", "OfferNapEvigis") + AddConversationOption(conversation, "I am not going back down there. No way!") + StartConversation(conversation, NPC, Spawn, "We must induce slumber, once more! Cast this spell upon the elemental, but first ye must be sure to tire it out. Inflict upon it great harm thus making it susceptible to the potion's magick.") +end + +function Quest2Chat_4(NPC, Spawn) + SetStepComplete(Spawn, NapEvigis, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "I did what I could.") + AddConversationOption(conversation, "They had better!") + StartConversation(conversation, NPC, Spawn, "That is a relief to one and all! Ye've accomplished great things on our floating land. No doubt songs of your success will be sung at The Ice Breaker this night!") +end + +function OfferNapEvigis(NPC, Spawn) + OfferQuest(NPC, Spawn, NapEvigis) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TornalHaymaker.lua b/SpawnScripts/FrostfangSea/TornalHaymaker.lua new file mode 100644 index 0000000..c9d2d22 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TornalHaymaker.lua @@ -0,0 +1,69 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TornalHaymaker.lua + Script Purpose : bruiser trainer + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local BRUISER = 7 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == BRUISER then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "What advice do you have for a another bruiser?", "BruisChat1") + AddConversationOption(conversation, "It does, doesn't it? Good bye.") + StartConversation(conversation, NPC, Spawn, "You need not tell me that you are a fellow. bruiser. Your intimidating presence made that clear, my friend.") + else + PlayFlavor(NPC, "", "Idle chat is useless. If you are not here to train, then leave.", "hello", 0, 0, Spawn) + end +end + +function BruisChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "BruisChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your strength or stamina, be sure to get them! Strength increases the amount of damage your attacks can inflict on others and raises your ability to carry heavy weight. Your stamina affects your health. This is crucial.") +end + +function BruisChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's good to know.", "BruisChat3") + StartConversation(conversation, NPC, Spawn, "But first and foremost, you should know the power that flows through you. We focus our minds and bodies through sheer force of will in order to withstand attacks and reduce the amount of damage inflicted upon us.") +end + +function BruisChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "BruisChat4") + StartConversation(conversation, NPC, Spawn, "But our discipline offers a great deal more than just defense. We are masters of physical combat! We have transformed our bodies into vicious weapons to inflict pain and suffering upon any who dare to oppose us! This allows us to often hold a foe's attention, giving our allies a chance to attack it, too.") +end + +function BruisChat4(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "BruisChat5") + StartConversation(conversation, NPC, Spawn, "And although we excel at hand to hand combat, some bruisers wield staves or hammers. Such weapons are simply an extension of yourself and can be equally effective at inflicting damage or deflecting an attacker's blade.") +end + +function BruisChat5(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself as best you can in leather, " .. GetName(Spawn) .. ". An encumbering suit of armor would only get in your way while you brutalize your foes with your relentless attacks.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TorvilBeastamer.lua b/SpawnScripts/FrostfangSea/TorvilBeastamer.lua new file mode 100644 index 0000000..cee427c --- /dev/null +++ b/SpawnScripts/FrostfangSea/TorvilBeastamer.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TorvilBeastamer.lua + Script Purpose : Torvil Beastamer + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "Tail or beak, I got what ye seek!", "wink", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Haven't a friend in the world? Buy one from me!", "nod", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Warm up yer house with a pet, my friend!", "hello", 0, 0, Spawn) + end +end + diff --git a/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua b/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua new file mode 100644 index 0000000..6890876 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TotemoftheIcecladManta.lua + Script Purpose : for the totem of the iceclad manta spawn + Script Author : theFoof + Script Date : 2013.06.11 + Script Notes : +--]] + +local BelowWaves = 59 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BelowWaves) or HasQuest(Spawn, BelowWaves) then + if not HasItem(Spawn, 48603) then + AddSpawnAccess(NPC, Spawn) + end + end +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gather Totem of the Iceclad Manta' then + if not HasItem(Spawn, 48603) then + SummonItem(Spawn, 48603, 1) + RemoveSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TovaGilbride.lua b/SpawnScripts/FrostfangSea/TovaGilbride.lua new file mode 100644 index 0000000..6144fea --- /dev/null +++ b/SpawnScripts/FrostfangSea/TovaGilbride.lua @@ -0,0 +1,53 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TovaGillbride.lua + Script Purpose : wizard trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local WIZARD = 23 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == WIZARD then + conversation = CreateConversation() + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + AddConversationOption(conversation, "Do you have any advice for a fellow wizard?", "WizChat1") + AddConversationOption(conversation, "It is, isn't it? Good day.") + StartConversation(conversation, NPC, Spawn, "Good day to you, fellow student of wizardry. It's amazing to see how many of us have talents for the arcane.") + else + PlayFlavor(NPC, "", "Hmm! Hmm! Hmm!", "hello", 0, 0, Spawn) + end +end + +function WizChat1(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's useful to know!", "WizChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your intelligence or stamina, then take them! Intelligence affects your spell focus and increases the damage your spells can cause. Your stamina affects your health. This is crucial!") +end + +function WizChat2(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "That's interesting.", "WizChat3") + StartConversation(conversation, NPC, Spawn, "Know your strengths and hone them! We can unleash the purest forms of destruction upon our foes by harnessing the arcane powers of fire and ice. This is true whether you are battling a single opponent or a group.") +end + +function WizChat3(NPC, Spawn) + conversation = CreateConversation() + FaceTarget(NPC, Spawn) + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "Rely not on your defenses. You are stronger than that! There is no need to concern yourself with defenses when your foe has been slain by the devastating elements!") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua b/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua new file mode 100644 index 0000000..eb219d4 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua @@ -0,0 +1,212 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerAleksSilverhelm.lua + Script Purpose : Trainer Aleks Silverhelm + Script Author : theFoof + Script Date : 2013.5.18 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1010.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Let us begin.", "dlg_7_1") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "I am here to explain something very important: how your Spells, Combat Arts, and Abilities work, as well as how to improve them.") + end +end +function dlg_7_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Spells.", "dlg_7_2") + AddConversationOption(conversation, "Tell me about Combat Arts.", "dlg_7_5") + AddConversationOption(conversation, "Tell me about Abilities.", "dlg_7_8") + AddConversationOption(conversation, "Where do I find my Spells, Combat Arts, and Abilities?", "dlg_7_11") + AddConversationOption(conversation, "How do I obtain and improve my Spells and Combat Arts?", "dlg_7_14") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "I am here to answer your questions. What can I help you with?") +end + +function dlg_7_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Spells?", "dlg_7_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A Spell is a magical ability, and spells have a variety of uses. Some allow you to damage an enemy, while others might provide benefits to yourself or an ally. You can hold your mouse pointer over a Spell's icon to see a description of what it does, or right-click on it and select 'Examine.'") +end + +function dlg_7_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Mages, priests, paladins, shadowknights, troubadors, and dirges all cast Spells. Each class has a list of Spells that's unique. While other classes may have similar Spells, no one has capabilities exactly like that of another class. Also, certain magical items may be imbued with Spell effects that can be cast or that activate on their own.") +end + +function dlg_7_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Who uses Combat Arts?") + AddConversationOption(conversation, "I will return for instruction later.", "dlg_7_6") + StartConversation(conversation, NPC, Spawn, "Combat Arts are a lot like Spells, but they usually take less time to cast and cannot be interrupted. As their name implies, many Combat Arts focus on some aspect of battle.") +end + +function dlg_7_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All fighters and scouts use Combat Arts. Each of these classes has unique Combat Arts that help distinguish them from other classes. Combat Arts have names and effects that fit the class that uses them.") +end + +function dlg_7_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How are Abilities different from Spells and Combat Arts?", "dlg_7_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Abilities are general things your character can do, along with certain capabilities specific to your race. Some of your Abilities are extremely useful, such as Sprint, which allows you to run very fast for a short period of time. You can also Call for Help when you're in danger, or launch a Ranged Attack if you have a ranged weapon and, of course, ammo.") +end + +function dlg_7_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Unlike Spells and Combat Arts, Abilities cannot be upgraded. Most of your Abilities are received when you first begin your adventures in Norrath, although certain new ones can be granted as you become more experienced.") +end + +function dlg_7_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use my Spells, Combat Arts, and Abilities?", "dlg_7_12") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "All your Spells and Combat Arts, as well as other Abilities, are found in your Knowledge Book. Press the K key to open it at any time, and click the name of the tab you wish to view: Abilities, Spells, or Combat Arts.") +end + +function dlg_7_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "To use a Spell, Combat Art, or Ability, drag its icon from your Knowledge Book onto your hotbar. Some have already been placed there for you. To use one, simply click its icon on your hotbar or press the key assigned to it. You can open additional hotbars by right-clicking on a hotbar and selecting 'Open New Hotbar.'") +end + +function dlg_7_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I judge the effectiveness of my Spells and Combat Arts?", "dlg_7_15") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Most of your Spells or Combat Arts are given to you as you advance in levels and will be automatically scribed in your Knowledge Book. Certain special Spells or Combat Arts can be obtained by doing quests.") +end + +function dlg_7_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I improve my Spells and Combat Arts?", "dlg_7_16") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "There are six ranks of Spells and Combat Arts: Apprentice, Journeyman, Adept, Expert, Master and Grandmaster. Spells and Combat Arts that are automatically granted to you are usually given at the Apprentice rank. You should always try to have the highest rank of your Spells and Combat Arts, because they gain effectiveness as you improve them.") +end + +function dlg_7_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about other ranks of Spells and Arts?", "dlg_7_17") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "Spells gained through quests or racial abilities are usually at their highest level and cannot be upgraded. Grandmaster spells are only available from your class training choices every ten levels starting at 14. You can see the choices by selecting the L key on your keyboard. ") +end + +function dlg_7_17(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways to improve my Spells and Combat Arts?", "dlg_7_18") + AddConversationOption(conversation, "I will return later.") + StartConversation(conversation, NPC, Spawn, "You will also find more potent ranks of spells and arts as you defeat opponents in battle. Many enemies will carry Adept versions of Spells and Combat Arts, while conquering some extremely powerful foes may result in the extremely rare Master versions.") +end + +function dlg_7_18(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are all my Spells and Combat Arts unique?", "dlg_7_19") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "In addition, certain crafters can make upgrades to your Spells and Combat Arts using harvested components. They can create Journeyman quality spells, as well as valuable Expert scrolls using rare components. Buying from or trading with other players is an excellent way to upgrade your Spells and Combat Arts.") +end + +function dlg_7_19(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I keep all these Spells and Arts straight in my Knowledge Book?", "dlg_7_20") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "As you advance in level, you will obtain many completely new abilities as well as more effective versions of Spells or Combat Arts you have already learned. The background colors of the spell icon tell you its type. Beneficial spells have a yellow, orange or purple color, while attack spells have a red, green or blue color. ") +end + +function dlg_7_20(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have more questions.", "dlg_7_1") + AddConversationOption(conversation, "I will return for further instruction later.") + StartConversation(conversation, NPC, Spawn, "Your Spells and Combat Arts can easily be organized according to your individual, personal taste. Just open your Knowledge Book and click the 'Sort' button in the upper right corner. This allows you to organize your Spells and Arts for easy access to the abilities that you wish to use.") +end + diff --git a/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua b/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua new file mode 100644 index 0000000..1216702 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua @@ -0,0 +1,172 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerCaelBlackstock.lua + Script Purpose : Trainer Cael Blackstock + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1002.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about items and equipment.", "equip_chat_1") + AddConversationOption(conversation, "Tell me about my inventory.", "inv_chat_1") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Well met. I'm here to teach our newest recruits about equipment and inventory space. Good equipment is one of the most important tools of any adventurer!") +end + +function equip_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do with the treasures I earn while adventuring?", "equip_chat_2") + StartConversation(conversation, NPC, Spawn, "Norrath is full of treasures for brave heroes like you. Sometimes the opponents you defeat in battle leave behind treasure chests with valuable loot. You can also buy items from other players, craft them as an artisan, or be awarded items for completing quests.") +end + +function equip_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the item information tell me?", "equip_chat_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Some items you obtain can be equipped on your person. If you find weapons, armor, jewelry, or certain other goodies, you may be able to use them. To look at a piece of equipment and determine if you can use it, move your mouse pointer over the item.") +end + +function equip_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are things like attribute bonuses important?", "equip_chat_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "For items that can be equipped, such as weapons and armor, mousing over it tells you which professions can use the item and at what level it can be equipped. You'll also see any benefits, such as attribute bonuses and resists, that the equipment provides.") +end + +function equip_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two weapons is better?", "equip_chat_5") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "A wise adventurer is always trying to improve his or her equipment. Whenever you see gear that provides an overall greater benefit than what you have, that item is an upgrade for you.") +end + +function equip_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell which of two pieces of armor is better?", "equip_chat_6") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Weapons have a Damage Rating that shows the relative damage you can do with them. A higher Damage Rating is always better. Be sure you are comparing weapons of the same type, such as a two-handed weapon with another two-hander, or one dual-wield weapon with another.") +end + +function equip_chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "equip_chat_7") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function equip_chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about scouts and priests?", "equip_chat_8") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "How you judge armor depends on your profession. Fighters who take a beating care most about obtaining armor that has high Mitigation, which decreases the amount of damage they take. Mages, on the other hand, know they can't take much punishment anyway, so would rather have armor that provides nice attribute bonuses.") +end + +function equip_chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are some items marked 'No Value' or 'No Trade'?", "equip_chat_9") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "An item can be sold to a non-player merchant for cash unless it has the 'No Value' flag on it. Items can be sold or traded to another player unless it has the 'No Trade' flag. If an item says it is 'Lore,' you can only have one of them on your character at a time.") +end + +function equip_chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, 'What does it mean when an item says it is "Attuneable"?', "equip_chat_10") + AddConversationOption(conversation, "I will return to instruction later.") + StartConversation(conversation, NPC, Spawn, 'Some items are marked "No Value" because they are easy to obtain, such as harvested goods. You have to work to earn wealth,' .. GetName(Spawn) .. '! Items are marked "No Trade" in order to ensure that you earn them yourself, such as defeating a very tough monster or completing a long quest.') +end + +function equip_chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I manage my inventory?", "inv_chat_1") + StartConversation(conversation, NPC, Spawn, "If an item is marked 'Attuneable,' you must attune it to yourself before it provides any benefits. You'll notice a message on screen when you are wearing an item that must be attuned. To attune it, right-click on the item and select 'Attune.' Once attuned, that item can no longer be traded or sold to another player.") +end + +function inv_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I put bags inside of bags?", "inv_chat_2") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Press the C key to open your character window. Beneath your portrait are six slots that can hold items. You can place bags or other containers in those slots, which will give you even more storage space. Press the B key to open all your bags at once.") +end + +function inv_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "inv_chat_3") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function inv_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So one item takes up one bag slot?", "inv_chat_4") + AddConversationOption(conversation, "I will return for instruction later.") + StartConversation(conversation, NPC, Spawn, "Only empty bags can go inside other bags. For this reason, it's a good idea to get hold of containers with many slots. After a long night of adventuring or harvesting, you'll want to have as many places to store your goodies as possible.") +end + +function inv_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll be back if I need to refresh my memory on this.") + StartConversation(conversation, NPC, Spawn, "Certain items, such as ammunition or harvested resources, can be stacked up to 200 at a time, depending on the item. Many goods, such as armor and clothing, cannot be stacked at all.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua b/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua new file mode 100644 index 0000000..03c7520 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua @@ -0,0 +1,102 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerGaniMaccusson.lua + Script Purpose : Trainer Gani Maccusson + Script Author :theFoof + Script Date : 2013.5.19 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "Tell me about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like, " .. GetName(Spawn) .. ". Would you care to hear about either?") + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "Tell me about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "I can explain the finer points of banking and mending to you if you like, " .. GetName(Spawn) .. ". Would you care to hear about either?") + end +end + +function bank_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I open my bank?", "bank_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account set up. Speak with Norfryd Brisbane to access your account. You can access your bank account from cities allied with New Halas as well.") +end + +function bank_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "bank_3") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") +end + +function bank_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, 'What are "shared" bank slots?', "bank_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") +end + +function bank_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other banking facts I should know?", "bank_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are of the same alignment. Lore and No-Trade items cannot be put into the shared slots.") +end + +function bank_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I want to learn about mending items.", "mend_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") +end + +function mend_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about banking.", "bank_1") + AddConversationOption(conversation, "I'll return for training later.") + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender to get them repaired. Luckily, Bull the Crafty has set up his work station for mending here, on Pilgrims' Landing.") +end diff --git a/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua b/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua new file mode 100644 index 0000000..4120c52 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua @@ -0,0 +1,122 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerHawkDunlop.lua + Script Purpose : Trainer Hawk Dunlop + Script Author : Foof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HarvestTutorial = 11 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, HarvestTutorial) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetQuestStep(Spawn, HarvestTutorial) == 8 then + SetStepComplete(Spawn, HarvestTutorial, 8) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent work learning about harvesting! As a reward, allow me to offer you this box for storing harvested items. It's quite heavy, so I suggest you put it in your bank rather than carrying it, but it has plenty of storage room for harvests.") + else + BaseChat(NPC, Spawn) + end +end + +function collections_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens next?", "collections_chat_2") + StartConversation(conversation, NPC, Spawn, "Collectibles are seen as a glow rising from the ground. If you're close enough, you'll notice a question mark above it. Double-click or right-click the glow and select 'harvest.' The item you gather will go into your inventory. You can examine this item in your inventory.") +end + +function collections_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I complete the collection?", "collections_chat_3") + StartConversation(conversation, NPC, Spawn, "Your quest journal will open up automatically to the Collections tab. Use the Add button to add that item to a collection. As you travel through Norrath, you'll find different collectibles in different areas of the world. Some items can be part of more than one collection.") +end + +function collections_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about harvesting and gathering now.", "harvests_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Continue to gather and examine all the items you find until all the icons of that collection are highlighted in your quest journal. Then you'll be able to turn the completed collection in to a collector who will reward you with some experience. If you already have a collectible in all collections that call for it, you can sell it to a merchant or trade it to another player.") +end + +function harvests_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are harvestables used for?", "harvests_chat_2") + StartConversation(conversation, NPC, Spawn, "Harvestables are natural resources that can be found around most parts of the outdoors. You have harvesting skills that allow you collect them. These can be seen by opening your Character window (C), clicking on the Skills tab, and selecting the General skills. Rocks increase mining, logs increase foresting, dens increase trapping, fish increase fishing, and shrubs increase gathering.") +end + +function harvests_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why do I need to increase my harvesting skills?", "OfferHarvesttutorial") + StartConversation(conversation, NPC, Spawn, "The items found through harvesting are the basic building blocks of tradeskills. They cannot be sold to vendors, but they can be traded or sold to other players who need them for their respective tradeskill professions. Some components that can be found through harvesting are very rare and can be worth quite a bit of money to tradeskillers.") +end + +function harvests_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections now.", "collections_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "The skill required to harvest in a given area increases along with the difficulty of the area. If you find that you are unable to harvest in an area you should return to a less difficult area and practice.") +end + +function elemental_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Oh... Well you were talking about collections?", "BaseChat") + StartConversation(conversation, NPC, Spawn, "It is bothersome, but I have seen worse. That is why I love collections so much. It helps me to forget...") +end + +function BaseChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'd like to learn about collections.", "collections_chat_1") + AddConversationOption(conversation, "I'd like to learn about harvesting.", "harvests_chat_1") + AddConversationOption(conversation, "Aren't you worried about the elemental attacks?", "elemental_chat_1") + AddConversationOption(conversation, "I've no time to chat right now.") + StartConversation(conversation, NPC, Spawn, "I am able to answer any questions you have about collections or harvesting.") +end + +function OfferHarvesttutorial(NPC, Spawn) + if HasCompletedQuest(Spawn, HarvestTutorial) == false and HasQuest(Spawn, HarvestTutorial) == false then + OfferQuest(NPC, Spawn, HarvestTutorial) + end + harvests_chat_3(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua b/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua new file mode 100644 index 0000000..05ef6da --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua @@ -0,0 +1,169 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerLevkaFoeblade.lua + Script Purpose : Trainer Levka Foeblade + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1001.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What are Heroic Opportunities?", "opp_chat_1") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "I look at you and see someone eager to defend Neriak by facing fierce opponents in battle. Well, I can teach you about Heroic Opportunities, a way for you and your allies to accomplish great feats of combat prowess.") +end + +function opp_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities complicated?", "opp_chat_2") + AddConversationOption(conversation, "I need to finish another task.") + StartConversation(conversation, NPC, Spawn, "Beginning at level 5, Heroic Opportunities can be triggered in combat. They allow both lone adventurers and groups of allies to combine their attacks into a series of spells or combat arts performed in a specific order. When successful, Heroic Opportunities give beneficial effects such as extra attacks against your foes or beneficial magic to heal or enhance your abilities.") +end + +function opp_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how does a Heroic Opportunity arise?", "opp_chat_3") + StartConversation(conversation, NPC, Spawn, "Rest assured, someone with battle skills will find them easy! Once you start using them, you'll wonder how you ever got along without them.") +end + +function opp_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Okay, that does sound easy. How do I begin a Heroic Opportunity?", "opp_chat_4") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Let me tell you the short and simple version first so that you can see how easy Heroic Opportunities are to use. All you need to do is use your ability that triggers the Heroic Opportunity, then use the spells or combat arts that are blinking on your hotbar or in your Knowledge Book. Easy, isn't it?") +end + +function opp_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Can I trigger a Starter Chain whenever I want?", "opp_chat_5") + AddConversationOption(conversation, "I need to finish something else first.") + StartConversation(conversation, NPC, Spawn, "Heroic Opportunities have two parts called the Starter Chain and the Combat Wheel. At level 5, every adventure class gains an ability that triggers a Starter Chain: Fighting Chance, Divine Providence, Arcane Augur, or Lucky Break. Open your Knowledge book by pressing K and click the Abilities tab to see it. You can drag its icon to your hotbar to use it.") +end + +function opp_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What happens when I trigger a Starter Chain?", "opp_chat_7") + StartConversation(conversation, NPC, Spawn, "Starter Chains can only be triggered while in battle with an enemy. After all, Heroic Opportunities are all about becoming great in combat! When you or an ally triggers a Starter Chain, you will see it appear in the corner of your screen.") +end + +function opp_chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are Heroic Opportunities only usable in groups?", "opp_chat_7") + AddConversationOption(conversation, "I'll need to continue this later.") + StartConversation(conversation, NPC, Spawn, "Once a Starter Chain is initiated, it shows different ability icons flashing on the screen. A Starter Chain will generally display four different icons that indicate which spells or combat arts advance the Heroic Opportunity to the next stage. Icons will be blue, yellow, red, or green, depending on which class has the ability.") +end + +function opp_chat_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Use the spell or art that is blinking. That's all there is to it?", "opp_chat_8") + AddConversationOption(conversation, "I'll be back later.") + StartConversation(conversation, NPC, Spawn, "Any spells or combat arts that can advance the Heroic Opportunity will flash on your hotbar and in your Knowledge Book. You have 10 seconds to complete the Starter Chain and advance to the Combat Wheel. See, it's easy: just use the spell or art that blinks!") +end + +function opp_chat_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why does it trigger one of three?", "opp_chat_9") + StartConversation(conversation, NPC, Spawn, "It's quite simple. After you've advanced the Starter Chain, the bright and colorful Combat Wheel appears. The Combat Wheel shows a series of icons and displays the name of the Heroic Opportunity you have triggered. A Starter Chain will initiate one of three different Heroic Opportunities.") +end + +function opp_chat_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Combat Wheel tell me?", "opp_chat_10") + AddConversationOption(conversation, "I'll be back another time.") + StartConversation(conversation, NPC, Spawn, "There are three potential Heroic Opportunities: common, uncommon and rare. Each provides a different benefit. Though even the common ones are valuable, the rare event can sometimes turn the tide of battle in your favor!") +end + +function opp_chat_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I tell the difference?", "opp_chat_11") + StartConversation(conversation, NPC, Spawn, "As with the Starter Chain, the Combat Wheel indicates which spells or arts must be performed to advance and eventually complete the heroic event. Sometimes these spells or abilities must be performed in a particular order. Other times there is no order.") +end + +function opp_chat_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How long do I have to complete the Heroic Opportunity?", "opp_chat_12") + AddConversationOption(conversation, "I will seek your knowledge another time.") + StartConversation(conversation, NPC, Spawn, "In the very center of the Wheel, you'll see either a clockwise-pointing arrow or arrows pointing in different directions. The clockwise arrow indicates that the abilities must be completed in order. The other types of arrows mean that the abilities can be completed in any order.") +end + +function opp_chat_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "That sounds easy!", "opp_chat_13") + StartConversation(conversation, NPC, Spawn, "The Combat Wheel must be completed within 10 seconds or the Opportunity will fail. The blue bar that appears around the outside of the Wheel is a timer. When the blue bar is gone, this indicates that time has run out to complete the Heroic Opportunity.") +end + +function opp_chat_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other tricks I should know?", "opp_chat_14") + AddConversationOption(conversation, "I must go now.") + StartConversation(conversation, NPC, Spawn, "It really is! As you become more familiar with using Heroic Opportunities, you can take note of the members of your group and plan out ahead of time which Opportunities will provide you the greatest benefit.") +end + +function opp_chat_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you for the information. I'll try Heroic Opportunities as soon as I can!") + StartConversation(conversation, NPC, Spawn, "Scout classes have a little something extra. By using their Coin icon, the Scout can shift to another Heroic Opportunity. This shift can only happen once per Combat Wheel. This ability must also be used before any other spell or combat art has been used to advance the Wheel.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua b/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua new file mode 100644 index 0000000..2969fda --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerLillgardThunderrider.lua + Script Purpose : Trainer Lillgard Thunderrider + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I have many types of mounts. One is bound to suit your style!", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua b/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua new file mode 100644 index 0000000..42f1091 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua @@ -0,0 +1,128 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerNaldurFursythe.lua + Script Purpose : Trainer Naldur Fursythe + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + first_chat(NPC, Spawn) +end + +function first_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1062.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Hello there. You look like you keep both your body and mind in good shape. Even so, I bet you could use more information on your physical attributes: Strength, Agility, Stamina, Intelligence, and Wisdom. That's what I'm here to teach you!") +end + +function what_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Agility.", "what_chat_2") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Strength determines how much weight you can carry. The more Strength the fighter has, the more physical damage they can do in melee combat. Strength also determines the maximum amount of power Guardians, Berserkers, Bruisers, Monks, Paladins and Shadowknights have.") +end + +function what_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Stamina.", "what_chat_3") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thanks for the information.") + StartConversation(conversation, NPC, Spawn, "Agility helps you avoid physical attacks. The more Agility you have, the higher your Avoidance ability. Agility also determines the maximum amount of power Brigands, Swashbucklers, Assassins, Rangers, Troubadors and Dirges have and the damage they can inflict.") +end + +function what_chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Intelligence.", "what_chat_4") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Stamina gives you more Health points. The more Health you have, the longer you can survive in battle. Stamina is a useful attribute for every class.") +end + +function what_chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about Wisdom.", "dlg_43_5") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Intelligence is more than just a sign of how smart you are. The more Intelligence you have, the more damage mages do with spells in combat. Intelligence also determines the maximum amount of power Wizards, Warlocks, Coercers, Illusionists, Necromancers, Conjurers, Troubadors and Dirges have.") +end + +function what_chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1", "view_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Wisdom increases your resistances to magical types of attacks: Heat, Cold, Disease, Poison, Magic, Mental and Divine. Wisdom also determines the maximum amount of power Inquisitors, Templars, Defilers, Mystics, Furies and Wardens have and the damage they can inflict.") +end + +function view_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I improve my physical attributes?", "impr_chat_1") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "You can see your physical attributes, as well as other important aspects of your character, in your character window. Just press the C key to open your character window.") +end + +function impr_chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are there other ways?", "impr_chat_2") + AddConversationOption(conversation, "Thank you for the information.") + StartConversation(conversation, NPC, Spawn, "Your physical attributes, as well as other aspects of your character, can be improved in a number of ways. Many items add points to your attributes, resistances, Health, or Power. Hold your mouse pointer over your items to see what benefits they provide.") +end + +function impr_chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me what my physical attributes do.", "what_chat_1") + AddConversationOption(conversation, "How do I view my physical attributes?", "view_chat_1") + AddConversationOption(conversation, "I will ask you about this later.") + StartConversation(conversation, NPC, Spawn, "Many spells and combat arts enhance your attributes. Some of these can be cast on yourself, while others can improve other player characters that you group with. Grouping with other classes provides a wider variety of ways to improve your attributes.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua b/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua new file mode 100644 index 0000000..893ff47 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua @@ -0,0 +1,306 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerRagnhildStonefist.lua + Script Purpose : Trainer Ragnhild Stonefist + Script Author : theFoof + Script Date : 2013.5.3 + Script Notes : +--]] +local StoneCombat = 2 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, StoneCombat) and GetQuestStep(Spawn, StoneCombat) == 1 then + first_chat(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 1) + elseif GetQuestStep(Spawn, StoneCombat) == 2 then + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, "So, did you defeat the sparring partner like I asked?") + elseif GetQuestStep(Spawn, StoneCombat) == 3 then + AddConversationOption(conversation, "I was victorious!", "complete_step3") + AddConversationOption(conversation, "Not yet, but I will soon.") + StartConversation(conversation, NPC, Spawn, "So, did you defeat the sparring partner like I asked?") + else + first_chat(NPC, Spawn) + end +end + +function complete_step3(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "I'll report back to Yasha Redblade.") + StartConversation(conversation, NPC, Spawn, "Great work! You've Proven your worth and are ready for greater challenges. If you want futher instruction later, just come see me. But right now you must report back to Yasha so that you can defend Pilgrims' Landing.") +end + +function first_chat(NPC, Spawn) + conversation = CreateConversation() + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1009.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Hello there, " .. GetName(Spawn) .. ". I'm here to teach folks the finer points of combat. I don't like to get into a fight, but if I do, I prefer to win. Know what I mean?") +end + +function adv_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many advanced combat techniques that you will learn over time. There's no substitute for experience, " .. GetName(Spawn) .. "! I'd be happy to discuss a few of these advanced aspects, such as selecting the right opponent, knowing your surroundings, and using your abilities.") +end + +function adv_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I tell if an opponent is too weak or too strong for me?", "adv_1_2") + StartConversation(conversation, NPC, Spawn, "Picking the right fight is crucial to victory. A weak opponent won't provide worthwhile rewards, while an overly powerful foe will result in your defeat. You need to keep your resources in mind as well as choosing the right target.") +end + +function adv_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What resources should I be keeping an eye on?", "adv_1_3") + StartConversation(conversation, NPC, Spawn, "Targeting an opponent will show you detailed information on its overall potency. Generally speaking, you'll find the best results from fighting opponents with blue, white, or yellow names.") +end + +function adv_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Starting a fight when you are low on health or power is a very bad idea. Your choice of targets also depends on whether you're alone or grouped with other players. Forming a group allows you to take on tougher and more rewarding challenges than you could face alone.") +end + +function adv_1_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Anything else I should watch out for?", "adv_1_3_1_2") + StartConversation(conversation, NPC, Spawn, "Keeping your surroundings in mind is crucial to victory. Fighting in areas with lots of aggressive creatures is a bad idea, because they won't hesitate to gang up on you.") +end + +function adv_1_3_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Any other tips?", "adv_1_3_1_3") + StartConversation(conversation, NPC, Spawn, "Staying too long on the exact spot where you just defeated a foe can be dangerous. Another enemy is likely to show up there soon after, which can be an unpleasant surprise if you're already in another battle.") +end + +function adv_1_3_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Tell me about using my abilities.", "adv_2_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You should be aware of what's going on around you. Using your mouse wheel to scroll out into third person and holding down the left mouse button allows you to move the camera around your character. It's a good idea to do this when fighting in dangerous areas to make sure nothing sneaks up on you.") +end + +function adv_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean?", "adv_2_2") + StartConversation(conversation, NPC, Spawn, "Successful fighting isn't about turning on your auto-attack and walking away from battle. Your odds of victory are much better if you are well-prepared and are active during combat. You should use every spell or combat art that has a positive effect on your chances to win.") +end + +function adv_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What about during battle?", "adv_2_3") + StartConversation(conversation, NPC, Spawn, "Before you begin fighting, make sure you and your allies have activated all beneficial spells, also known as 'buffs,' so that you're operating at peak efficiency. Buffs can add health or power, increase your rate of regeneration, enhance your physical attributes, make you attack faster or do more damage, and more.") +end + +function adv_2_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else should I know about spells and arts?", "adv_2_4") + StartConversation(conversation, NPC, Spawn, "Whether you're a front-lines melee type or someone attacking from a distance with weapons or spells, you should be using abilities that damage your foes effectively and efficiently. Right click on your spells and arts and select 'Examine' to see details on their effects.") +end + +function adv_2_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about selecting the right opponent.", "adv_1_1") + AddConversationOption(conversation, "Teach me about knowing my surroundings.", "adv_1_3_1") + AddConversationOption(conversation, "Teach me the basics of combat.", "basic_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Using your highest-level versions of spells and arts will be more effective than using older versions. In addition, you should be upgrading your abilities to higher ranks to make them more effective. For more details on spells and combat arts, talk to Trainer Yasna V'Vath.") +end + +function basic_chat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "There are many different elements that go into successful combat. I can teach you a few of the basics, such as how to begin a fight, the difference between melee and ranged combat, and earning rewards for victory.") +end + +function bsc_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I begin the battle?", "bsc_1_2") + StartConversation(conversation, NPC, Spawn, "Starting combat is easy. Just use your mouse pointer to left-click on an opponent. Its name will appear in the Target window in the upper left of your screen. You can also use the Tab key to cycle through nearby targets or the F8 key to select your closest enemy.") +end + +function bsc_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So I can fight anyone or anything I want?", "bsc_1_3") + StartConversation(conversation, NPC, Spawn, "If you're close enough to your foe and want to start hitting it with your weapon, either click your Melee Attack button on your hotbar or press the ~ key. Or you can begin by using one of your spells or combat arts to get the enemy's attention. Remember, you must be close enough to actually hit them.") +end + +function bsc_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can fight most non-player characters and creatures that you find outside your city, whether outdoors or in dungeons. Many non-player characters in the cities are there to help you or give quests, so you can't attack some of them. If you try, you'll get a message telling you that they aren't valid targets.") +end + +function bsc_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What classes specialize in melee combat?", "bsc_2_2") + StartConversation(conversation, NPC, Spawn, "Melee combat means a toe-to-toe, physical confrontation. It is a combination of auto-attack damage that happens automatically when you press the Melee Attack button on your hotbar or the ~ key and spells or combat arts that you use in close proximity to your foe.") +end + +function bsc_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "Sturdy fighters such as Guardians, Berserkers, Bruisers, and Shadowknights stand at the front lines of battle facing the enemy. Crafty scouts such as Brigands, Assassins, Troubadors, and Dirges generally stay close to their foes as well, but prefer to launch attacks from the back or side where they are less likely to be counterattacked.") +end + +function bsc_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I launch a ranged attack?", "bsc_3_2") + StartConversation(conversation, NPC, Spawn, "Ranged combat means that you put some distance between yourself and the enemy. This can be done with weapons such as bows or throwing daggers, or with spells and arts that can be cast from a distance.") +end + +function bsc_3_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What classes specialize in ranged combat?", "bsc_3_3") + StartConversation(conversation, NPC, Spawn, "If you have a ranged weapon and ammunition, you can initiate ranged combat by using the Ranged Attack button on the Abilities tab of your Knowledge Book. You can drag this key to your hotbar if you like. Remember, you must have a ranged weapon in the Ranged slot of your inventory window and the correct type of ammunition in the Ammo slot.") +end + +function bsc_3_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I tell if I can use spells or arts from a distance?", "bsc_3_4") + StartConversation(conversation, NPC, Spawn, "While most classes have the ability to attack from a distance, scout classes such as Brigands, Troubadors, Dirges, and Assassins specialize in ranged physical attacks. Mages, priests, and Shadowknights have spells that do damage to their foes from a distance.") +end + +function bsc_3_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "What kind of rewards can I earn in battle?", "bsc_4_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "You can right-click on a spell or art's icon and select 'Examine' to see what its range of effect is. In addition, if you target something and the icon for one of your spells or arts turns a dark red, that means the opponent is out of range of that ability.") +end + +function bsc_4_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do you mean by 'a worthy opponent'?", "bsc_4_2") + StartConversation(conversation, NPC, Spawn, "Victory in battle can be very rewarding. Successful combat against a worthy opponent awards you experience (XP) to help you advance your level, as well as the chance at coin, usable items, and other valuables.") +end + +function bsc_4_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Are certain types of targets more rewarding than others?") + StartConversation(conversation, NPC, Spawn, "You don't earn rewards for defeating foes that are too far below your level. If your target has a grey name, it means it is very weak and won't provide any benefit for beating it.") +end + +function bsc_4_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Tell me how to begin a fight.", "bsc_1_1") + AddConversationOption(conversation, "Tell me about melee combat.", "bsc_2_1") + AddConversationOption(conversation, "Tell me about ranged combat.", "bsc_3_1") + AddConversationOption(conversation, "Teach me more advanced aspects of combat.", "adv_chat") + AddConversationOption(conversation, "I'll come back later.") + StartConversation(conversation, NPC, Spawn, "The tougher a foe, the better its chances to provide a valuable reward. Though defeating enemies alone provides nice rewards, defeating heroic enemies that require a group is even more rewarding. The very best items come from banding together multiple groups to defeat epic opponents.") +end diff --git a/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua b/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua new file mode 100644 index 0000000..1d1a1f5 --- /dev/null +++ b/SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua @@ -0,0 +1,179 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TrainerThorirWolfskinner.lua + Script Purpose : Trainer Thorir Wolfskinner + Script Author : theFoof + Script Date : 2013.05.17 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_2") + AddConversationOption(conversation, "I'll return later.") + StartConversation(conversation, NPC, Spawn, "Greetings. I sense that you will fight many battles and that you will one day be known as a great hero. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") +end + +function dlg_1_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_1_3") + StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") +end + +function dlg_1_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_1_4") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") +end + +function dlg_1_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_1_5") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") +end + +function dlg_1_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_1_6") + StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") +end + +function dlg_1_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_1_7") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") +end + +function dlg_1_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_1_8") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") +end + +function dlg_1_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_1_9") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") +end + +function dlg_1_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "What are the colors?", "dlg_1_10") + StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger it's color indicates, the greater the threat it represents.") +end + +function dlg_1_10(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_1_11") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") +end + +function dlg_1_11(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_1_12") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") +end + +function dlg_1_12(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_1_13") + AddConversationOption(conversation, "I will be back later.") + StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") +end + +function dlg_1_13(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_1_14") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") +end + +function dlg_1_14(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_1_15") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") +end + +function dlg_1_15(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_1_16") + AddConversationOption(conversation, "I will finish this lesson later.") + StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") +end + +function dlg_1_16(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you, instructor.") + StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/TundraBeet.lua b/SpawnScripts/FrostfangSea/TundraBeet.lua new file mode 100644 index 0000000..e69b0aa --- /dev/null +++ b/SpawnScripts/FrostfangSea/TundraBeet.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/TundraBeet.lua + Script Purpose : for the spawn signs named "tundra beet" + Script Author : theFoof + Script Date : 2013.5.18 + Script Notes : +--]] +local BeetsAlternative = 13 + +function spawn(NPC) + SetRequiredQuest(NPC, BeetsAlternative, 1) + SetRequiredQuest(NPC, BeetsAlternative, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "gather tundra beet" then + if GetQuestStep(Caster, BeetsAlternative) == 1 then + AddStepProgress(Caster, BeetsAlternative, 1, 1) + Despawn(Target) + elseif GetQuestStep(Caster, BeetsAlternative) == 2 then + SetStepComplete(Caster, BeetsAlternative, 2) + footprints = GetSpawn(Target, 4701753) + AddSpawnAccess(footprints, Caster) + Despawn(Target) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua b/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua new file mode 100644 index 0000000..d120a28 --- /dev/null +++ b/SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/UlfgjerdPrimloch.lua + Script Purpose : Ulfgjerd Primloch + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : movement loop for random npc in halas +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -67.35, 147.09, -19.74, 2, 0) + MovementLoopAddLocation(NPC, -87.36, 146.89, -9.17, 2, 0) + MovementLoopAddLocation(NPC, -96.48, 146.24, 18.45, 2, 0) + MovementLoopAddLocation(NPC, -122.15, 146.3, 16.75, 2, 0) + MovementLoopAddLocation(NPC, -135.78, 146.49, 55.33, 2, 0) + MovementLoopAddLocation(NPC, -131.98, 146.7, 26.02, 2, 0) + MovementLoopAddLocation(NPC, -113.06, 146, 2.94, 2, 0) + MovementLoopAddLocation(NPC, -112.37, 144.96, -22.06, 2, 0) + MovementLoopAddLocation(NPC, -95.54, 145.71, -38.41, 2, 0) + MovementLoopAddLocation(NPC, -112.25, 146.75, -56.73, 2, 0) + MovementLoopAddLocation(NPC, -165.18, 148.54, -49.67, 2, 0) + MovementLoopAddLocation(NPC, -197.51, 149.65, -79.5, 2, 0) + MovementLoopAddLocation(NPC, -165.18, 148.54, -49.67, 2, 0) + MovementLoopAddLocation(NPC, -112.25, 146.75, -56.73, 2, 0) + MovementLoopAddLocation(NPC, -88.93, 145.74, -39.28, 2, 0) + MovementLoopAddLocation(NPC, -20.19, 145.93, -53.38, 2, 0) + MovementLoopAddLocation(NPC, -19.78, 146.3, -21.45, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ValdJerngard.lua b/SpawnScripts/FrostfangSea/ValdJerngard.lua new file mode 100644 index 0000000..5c6968a --- /dev/null +++ b/SpawnScripts/FrostfangSea/ValdJerngard.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ValdJerngard.lua + Script Purpose : Vald Jerngard + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,3) + + if choice == 1 then + PlayFlavor(NPC, "", "Come on over! You won't find better deals elsewhere!", "beckon", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Let's check what's available, shall we?", "nod", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "All right here's all the goods listed. If you find anything you want, let me know.", "hello", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/VerienSkysigh.lua b/SpawnScripts/FrostfangSea/VerienSkysigh.lua new file mode 100644 index 0000000..7a5cb3a --- /dev/null +++ b/SpawnScripts/FrostfangSea/VerienSkysigh.lua @@ -0,0 +1,357 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/VerienSkysigh.lua + Script Purpose : Verien Skysigh + Script Author : theFoof + Script Date : 2013.05.18 + Script Notes : +--]] +local BeetsAlternative = 13 + +local SiftingGarbage = 14 + +local PilgrimPathfinder = 15 + +local PilgrimScout = 16 + +local PilgrimPelts = 17 + +local IcemanesCometh = 18 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 10, "InRange") + ProvidesQuest(NPC, SiftingGarbage) + ProvidesQuest(NPC, PilgrimPathfinder) + ProvidesQuest(NPC, PilgrimScout) + ProvidesQuest(NPC, PilgrimPelts) + ProvidesQuest(NPC, IcemanesCometh) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + hailed(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_001.mp3", "", "", 144081749, 1511716196, Spawn) + AddConversationOption(conversation, "Are you sure it wasn't an orc?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", it was horrible! A blizzard grizzly attacked Wregan!") + elseif HasCompletedQuest(Spawn, BeetsAlternative) and HasQuest(Spawn, SiftingGarbage) == false and HasCompletedQuest(Spawn, SiftingGarbage) == false then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_001.mp3", "", "", 144081749, 1511716196, Spawn) + AddConversationOption(conversation, "Are you sure it wasn't an orc?", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "" .. GetName(Spawn) .. ", it was horrible! A blizzard grizzly attacked Wregan!") + elseif GetQuestStep(Spawn, SiftingGarbage) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_006.mp3", "", "", 3934649254, 1217703045, Spawn) + AddConversationOption(conversation, "Not that I know of. There were plenty of bones and discarded items but nothing that seemed orcish.", "Quest3Chat_1") + StartConversation(conversation, NPC, Spawn, "Did you find any sign of orcs within the blizzard grizzly den?") + elseif HasCompletedQuest(Spawn, SiftingGarbage) and HasQuest(Spawn, PilgrimPathfinder) == false and HasCompletedQuest(Spawn, PilgrimPathfinder) == false then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_008.mp3", "", "", 3063047585, 4165639354, Spawn) + AddConversationOption(conversation, "That makes sense.", "Quest3Chat_3") + StartConversation(conversation, NPC, Spawn, "Ah, I think I have figured out our next step, " .. GetName(Spawn) .. ". We do not know the safest way to New Halas! We were relying on Wregan Firebeard for that knowledge. And we do not know where the orcs may have gone. We need to get the lay of the land.") + elseif GetQuestStep(Spawn, PilgrimPathfinder) == 1 then + PlayFlavor(NPC, "", "Atop the grizzly den you should be able to spot our best path across the land, and it may offer you some knowledge into where the orcs went.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimPathfinder) == 2 then + Quest3Chat_4(NPC, Spawn) + elseif HasCompletedQuest(Spawn, PilgrimPathfinder) and HasQuest(Spawn, PilgrimScout) == false and HasCompletedQuest(Spawn, PilgrimScout) == false then + Quest4Chat_2(NPC, Spawn) + elseif GetQuestStep(Spawn, PilgrimScout) == 1 then + PlayFlavor(NPC, "", "Return to me as soon as you have confirmed that we can traverse the western side of the isle by taking the path that hugs the wall of ice and rock.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimScout) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_016.mp3", "", "", 1416497004, 1412694978, Spawn) + AddConversationOption(conversation, "No. Unfortunately, there is no way through. It is a dead end.", "Quest4Chat_4") + StartConversation(conversation, NPC, Spawn, "What did you find, " .. GetName(Spawn) .. "? Is the path clear for us to take?") + elseif HasCompletedQuest(Spawn, PilgrimScout) and HasQuest(Spawn, PilgrimPelts) == false and HasCompletedQuest(Spawn, PilgrimPelts) == false then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, PilgrimPelts) == 1 then + PlayFlavor(NPC, "", "I hope that you are able to find the big icemane cats Wregan spoke of. We need those pelts.", "hello", 0, 0, Spawn) + elseif GetQuestStep(Spawn, PilgrimPelts) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_024.mp3", "", "", 1000859746, 2735177816, Spawn) + AddConversationOption(conversation, "I do!", "Quest5Chat_6") + StartConversation(conversation, NPC, Spawn, "Have you the icemane cat pelts necessary for the frogloks, " .. GetName(Spawn) .. "?") + elseif HasCompletedQuest(Spawn, PilgrimPelts) and HasQuest(Spawn, IcemanesCometh) == false and HasCompletedQuest(Spawn, IcemanesCometh) == false then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, IcemanesCometh) == 1 then + AddConversationOption(conversation, "No. I'll be back with one.") + StartConversation(conversation, NPC, Spawn, "Do you have a cub trailing behind?") + elseif GetQuestStep(Spawn, IcemanesCometh) == 2 then + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_034.mp3", "", "", 1379708225, 648722209, Spawn) + AddConversationOption(conversation, "Gladly!", "Quest6Chat_5") + AddConversationOption(conversation, "It would be rude of me not to accept this gift.", "Quest6Chat_5") + StartConversation(conversation, NPC, Spawn, "You have provided us with enough icemane cubs, " .. GetName(Spawn) .. ". Please take this as a token of our appreciation. We are all very grateful for what you have done.") + elseif HasCompleteQuest(Spawn, IcemanesCometh) then + PlayFlavor(NPC, "", "I have alerted Pilgrims' Landing of all that transpired here, and of the orc prints you found.", "", 0, 0, Spawn) + end +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_002.mp3", "", "", 3370476937, 2935818226, Spawn) + AddConversationOption(conversation, "I found orc footprints when I was harvesting the tundra beets.", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Oh, yes! The bear was still standing over him when the guard here spotted... Wait! Why would you think it was an orc?!") +end + +function Quest1Chat_3(NPC, Spawn) + if GetQuestStep(Spawn, BeetsAlternative) == 3 then + SetStepComplete(Spawn, BeetsAlternative, 3) + end + + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_003.mp3", "", "", 490895384, 2888964692, Spawn) + AddConversationOption(conversation, "That sounds plausible.", "Quest2Chat_1") + AddConversationOption(conversation, "I'm not staying here to find out. Good bye.") + StartConversation(conversation, NPC, Spawn, "Ack! That is not good. No, not at all. That may even explain the grizzly attack! Perhaps they have been displaced from their den or pushed into attacking, whipped into a frenzy, if you would, by the orcs' presence?") +end + +function Quest2Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_004.mp3", "", "", 788435827, 360271773, Spawn) + AddConversationOption(conversation, "I'll do that.", "OfferSiftingGarbage") + AddConversationOption(conversation, "The guard here can do it.", "Quest2Chat_2") + StartConversation(conversation, NPC, Spawn, "Then someone must delve into the blizzard grizzly den in search for any sign of the orcs in there.") +end + +function Quest2Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_005.mp3", "", "", 1213684046, 759187296, Spawn) + AddConversationOption(conversation, "Since you put it that way, I'll do it.", "OfferSiftingGarbage") + AddConversationOption(conversation, "I can't agree to this. Good bye.") + StartConversation(conversation, NPC, Spawn, "Oh, no. We cannot afford to give up our guard here. We will be at the mercy of the wilds if that were the case. We are depending on you, Ocahao.") +end + +function Quest3Chat_1(NPC, Spawn) + SetStepComplete(Spawn, SiftingGarbage, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_007.mp3", "", "", 162612722, 573249743, Spawn) + AddConversationOption(conversation, "I do not know.", "Quest3Chat_2") + StartConversation(conversation, NPC, Spawn, "Then they must be somewhere else. But where?") +end + +function Quest3Chat_2(NPC, Spawn) + PlayFlavor(NPC, "", "Let me think on this a moment", "think", 0, 0, Spawn) +end + +function Quest3Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_009.mp3", "", "", 4139445726, 3566440142, Spawn) + AddConversationOption(conversation, "I'll be sure to take in the view while I'm there.", "OfferPilgrimPathfinder") + AddConversationOption(conversation, "I am not going to scale the blizzard grizzly cave.") + StartConversation(conversation, NPC, Spawn, "Hike up to the top of the blizzard grizzly den. The higher vantage point should allow you to find our best path across the land, and may offer you some knowledge into where the orcs went.") +end + +function Quest3Chat_4(NPC, Spawn) + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_010.mp3", "", "", 649282566, 2245924889, Spawn) + AddConversationOption(conversation, "No. But I did see a path we may be able to take.", "Quest3Chat_5") + StartConversation(conversation, NPC, Spawn, "Tell me, what did you find atop the blizzard grizzly den, " .. GetName(Spawn) .. "? Any sign of the orcs?") +end + +function Quest3Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_011.mp3", "", "", 3584109077, 3566409712, Spawn) + AddConversationOption(conversation, "The western shore leads into the dangerous plains ahead, but there seems to be a path leading into the hills above it.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Well, at least we have that. Where must we go?") +end + +function Quest4Chat_1(NPC, Spawn) + if GetQuestStep(Spawn, PilgrimPathfinder) == 2 then + SetStepComplete(Spawn, PilgrimPathfinder, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_012.mp3", "", "", 3213043201, 2009251303, Spawn) + AddConversationOption(conversation, "I hope so, Verien.", "Quest4Chat_2") + StartConversation(conversation, NPC, Spawn, "If that is the case then we may just stand a better chance of surviving the trek to the city by taking that hill trail.") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_013.mp3", "", "", 45193987, 852341503, Spawn) + AddConversationOption(conversation, "Yeah, that is true.", "Quest4Chat_3") + AddConversationOption(conversation, "We must take the chance.", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "Higher lands of snow are not necessarily the safest of conditions though, you know.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_014.mp3", "", "", 4224224424, 1811407629, Spawn) + AddConversationOption(conversation, "I can do that for us.", "OfferPilgrimScout") + AddConversationOption(conversation, "No. There are others that can do that.") + StartConversation(conversation, NPC, Spawn, "Will you please go scout out the path you spotted from atop the blizzard grizzly cave? Once you have confirmed that it is as clear as you suspect, then return to us and we will make our way.") +end + +function Quest4Chat_4(NPC, Spawn) + if GetQuestStep(Spawn, PilgrimScout) == 2 then + SetStepComplete(Spawn, PilgrimScout, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_017.mp3", "", "", 2885535176, 962895283, Spawn) + AddConversationOption(conversation, "It seems the only choice.", "Quest5Chat_1") + StartConversation(conversation, NPC, Spawn, "As I had thought, it was too good to be true. Then we have only one choice. We must go west through the dangerous plains if we hope to reach the city of New Halas.") +end + +function Quest5Chat_1(NPC, Spawn) + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_018.mp3", "", "", 4165854, 1367268200, Spawn) + AddConversationOption(conversation, "I don't know either.", "Quest5Chat_2") + AddConversationOption(conversation, "I have made it deep into their cave.", "Quest5Chat_5") + AddConversationOption(conversation, "You need to face your own fears.") + StartConversation(conversation, NPC, Spawn, "But I do not know how we are going to make it past the grizzlies. Their hunger seems insatiable!") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_019.mp3", "", "", 655764296, 405564965, Spawn) + AddConversationOption(conversation, "But that's just me. That's not all of you, too.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "But wait, you must know something about it. You made it deep into their cave! You have obviously learned how to fight them and how to navigate around them when possible.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_021.mp3", "", "", 4164608708, 1805231816, Spawn) + AddConversationOption(conversation, "This is nothing like a swamp.", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Good point. I will have to think on this a while. In the mean time, the froglok pilgrims are becoming cold. Their amphibious bodies were not blessed by Marr with much protection from the elements.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_022.mp3", "", "", 208330103, 1632388719, Spawn) + AddConversationOption(conversation, "I'm your lion hunter!", "OfferPilgrimPelts") + AddConversationOption(conversation, "I am no lion hunter.") + StartConversation(conversation, NPC, Spawn, "Exactly. Wregan had promised to hunt them up some lion pelts to keep them warm. He had said that they were not far from here, but we have never seen any. Will you journey ahead and slay any of the big icemane cats you find?") +end + +function Quest5Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_020.mp3", "", "", 1987107371, 160133318, Spawn) + AddConversationOption(conversation, "But that's just me. That's not all of you, too.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "That's right, you have. And you have survived the hike atop of their cave. You have obviously learned how to fight them and how to navigate around them when possible.") +end + +function Quest5Chat_6(NPC, Spawn) + SetStepComplete(Spawn, PilgrimPelts, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_025.mp3", "", "", 555682283, 4098507949, Spawn) + AddConversationOption(conversation, "That would be nice.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, this is wonderful! In fact, you may have returned with enough fur for us to craft you something, too.") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_026.mp3", "", "", 3888781085, 2569289661, Spawn) + AddConversationOption(conversation, "No. Why?", "Quest6Chat_2") + StartConversation(conversation, NPC, Spawn, "Did you see any of the ferocious grizzlies amongst the icemane cats?") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_027.mp3", "", "", 2243105575, 903335403, Spawn) + AddConversationOption(conversation, "It would seem so.", "Quest6Chat_3") + AddConversationOption(conversation, "If you say so.", "Quest6Chat_3") + StartConversation(conversation, NPC, Spawn, "I have been giving some thought to how we may increase our safety while we journey past the grizzlies. The bears have learned to steer clear of the icemane cats, as you can attest.") +end + +function Quest6Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_028.mp3", "", "", 3038823377, 2150811874, Spawn) + AddConversationOption(conversation, "How are we to fool the cats into doing that?", "Quest6Chat_4") + AddConversationOption(conversation, "I do not like the sound of this plan. Goodbye.") + StartConversation(conversation, NPC, Spawn, "So, if we have some of the cats working as our chaperones, then we should make it past the grizzlies.") +end + +function Quest6Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_029.mp3", "", "", 1710780263, 712522304, Spawn) + AddConversationOption(conversation, "I'll do that.", "OfferIcemanesCometh") + AddConversationOption(conversation, "Oh, no way! I am not agreeing to this one.") + StartConversation(conversation, NPC, Spawn, "There is no fooling them. I'm suggesting you take this binding tether and leash icemane cubs with it. ") +end + +function Quest6Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_035.mp3", "", "", 1914930424, 1171502027, Spawn) + AddConversationOption(conversation, "I can do it.", "Quest6Chat_6") + AddConversationOption(conversation, "Then I wish you good luck.", "CompleteIcemanesCometh") + StartConversation(conversation, NPC, Spawn, "And now that I know that these pilgrims will be in safe hands, I must venture back to Pilgrims' Landing. Someone must alert them of all that has transpired here, and of the orc prints you found.") +end + +function Quest6Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "verien_skysigh/halas/gwenevyns_cove/verien_skysigh_036.mp3", "", "", 491269098, 2938508945, Spawn) + AddConversationOption(conversation, "Then I wish you good luck.", "CompleteIcemanesCometh") + StartConversation(conversation, NPC, Spawn, "No. I will not stand in the way of your travels any further.") +end + +function CompleteIcemanesCometh(NPC, Spawn) + SetStepComplete(Spawn, IcemanesCometh, 2) + RemoveSpawnAccess(NPC, Spawn) +end + +function OfferSiftingGarbage(NPC, Spawn) + OfferQuest(NPC, Spawn, SiftingGarbage) +end + +function OfferPilgrimPathfinder(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimPathfinder) +end + +function OfferPilgrimScout(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimScout) +end + +function OfferPilgrimPelts(NPC, Spawn) + OfferQuest(NPC, Spawn, PilgrimPelts) +end + +function OfferIcemanesCometh(NPC, Spawn) + OfferQuest(NPC, Spawn, IcemanesCometh) +end diff --git a/SpawnScripts/FrostfangSea/VillgerdGregorson.lua b/SpawnScripts/FrostfangSea/VillgerdGregorson.lua new file mode 100644 index 0000000..2461853 --- /dev/null +++ b/SpawnScripts/FrostfangSea/VillgerdGregorson.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/VillgerdGregorson.lua + Script Purpose : Morag McMarrin + Script Author : theFoof + Script Date : 2013.09.26 + Script Notes : +--]] + +require"SpawnScripts/FrostfangSea/halas_proximity_cheer" + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/WardenBretta.lua b/SpawnScripts/FrostfangSea/WardenBretta.lua new file mode 100644 index 0000000..1732fa4 --- /dev/null +++ b/SpawnScripts/FrostfangSea/WardenBretta.lua @@ -0,0 +1,217 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WardenBretta.lua + Script Purpose : Warden Bretta + Script Author : theFoof + Script Date : 2013.10.29 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I apologize, but my services are only for those who claim New Halas as their home.", "no", 0, 0, Spawn) +end + +--[[ Need to script the rest out along with her housing quest +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, there are a few things I would like to know.", "dlg_5_1") + AddConversationOption(conversation, "No, I think I have it covered. May I see my room, please?") + AddConversationOption(conversation, "I don't have time for this right now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Greetings, Iwkaat. I am Warden Bretta, and I am responsible for showing you to your first home here in New Halas. Before I do so, do you have any questions for me about housing?") + if convo==15 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_15_1") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Ah, you have returned. Did you have any questions for me?") + end + + if convo==24 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Actually, there are a few things I would like to know.", "dlg_24_1") + AddConversationOption(conversation, "No, I think I have it covered. May I see my room, please?") + AddConversationOption(conversation, "I don't have time for this right now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Greetings, Tuce. I am Warden Bretta, and I am responsible for showing you to your first home here in New Halas. Before I do so, do you have any questions for me about housing?") + end + +end + +function dlg_5_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_5_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent, I am here to help. What is it you would like to know?") +end + +function dlg_5_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_5_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_5_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My thanks to you for your help! I will return if I have any other questions.") + StartConversation(conversation, NPC, Spawn, "Then I will show you to your room. Behind me is the Valor Homesteads, which is often the first housing the citizens of New Halas will own. Due to your assistance, we've agreed to waive the initial fee for you, as thanks for your help to the city. Please left-click on the door behind me and select 'buy'. Once you are inside, you will find some basic necessities for your home - feel free to place them as you see fit. Farewell to you!") +end + +function dlg_15_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?") + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_15_2") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_24_2") + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Excellent, I am here to help. What is it you would like to know?") +end + +function dlg_24_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_3") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_24_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?", "dlg_24_4") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How do I use the marketboard?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_5") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "The marketboard is a house item, not unlike regular furniture. What sets the marketboard apart from the rest however is that once your marketboard is mounted on a wall in your home you can use it to sell items to other citizens of New Halas. These items can be purchased by your fellow citizens at our Broker, who is based here in the city.") +end + +function dlg_24_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What kind of housing is available to me?") + AddConversationOption(conversation, "What is the marketboard for?", "dlg_24_6") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "To place an item in your house, you must first find the item in your inventory. Once you've done so, right-click on the item and select the 'place' option. Then you'll see a tinted outline of your item in your house. When the item is highlighted green you can place it in that location. If it is highlighted red, you cannot.") +end + +function dlg_24_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "So if I want something larger, what is available to me?", "dlg_24_7") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "New Halas has several floor plans to choose from. This here is the basic one-room homestead, which should suit your needs for now. You may find someday that this room is no longer comfortable or spacious enough for you, and might desire to move to something larger.") +end + +function dlg_24_7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "How can I place an item in my house?", "dlg_24_8") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "What is my house for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "Along with the one room model, New Halas also has a three room and five room house available for purchase. Those houses are quite spacious, and the largest of them are very luxurious and expensive.") +end + +function dlg_24_8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What else can you tell me?") + AddConversationOption(conversation, "How can I place an item in my house?") + AddConversationOption(conversation, "What kind of housing is available to me?", "dlg_24_9") + AddConversationOption(conversation, "What is the marketboard for?") + AddConversationOption(conversation, "That should be all, I am ready to see my house now.") + AddConversationOption(conversation, "I should be going now. Farewell.") + StartConversation(conversation, NPC, Spawn, "You will find that your house has many uses, the first of which is the ability to store house items. Each house has a limit to the number of house items you can place in it, so as you gain more possessions you wish to display you will need larger houses to do so.") +end + +function dlg_24_9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "My thanks to you for your help! I will return if I have any other questions.") + StartConversation(conversation, NPC, Spawn, "Then I will show you to your room. Behind me is the Valor Homesteads, which is often the first housing the citizens of New Halas will own. Due to your assistance, we've agreed to waive the initial fee for you, as thanks for your help to the city. Please left-click on the door behind me and select 'buy'. Once you are inside, you will find some basic necessities for your home - feel free to place them as you see fit. Farewell to you!") +end +--]] diff --git a/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua b/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua new file mode 100644 index 0000000..572e88f --- /dev/null +++ b/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaWidgetRedbladeSignalFireSwitch.lua + Script Purpose : for the spawn "redblade_x4_signal_fire_switch" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + SetRequiredQuest(NPC, FlameOn, 1) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if GetQuestStep(Caster, FlameOn) == 1 and SpellName == "Light Signal Fire" then + AddSpawnAccess(GetSpawn(Target, 4701733), Caster) + SetStepComplete(Caster, FlameOn, 1) + local zone = GetZone(Target) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Caster) + Attack(GetSpawnByLocationID(zone, 32810), Caster) + SetRequiredQuest(Target, FlameOn, 5) + end +end + +function InRange(NPC, Player) + if GetQuestStep(Player, FlameOn) == 2 then + local zone = GetZone(Player) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Player) + Attack(GetSpawnByLocationID(zone, 32810), Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa b/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa new file mode 100644 index 0000000..e2f47bc --- /dev/null +++ b/SpawnScripts/FrostfangSea/WidgetRedbladeSignalFireSwitch.luaa @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaWidgetRedbladeSignalFireSwitch.lua + Script Purpose : for the spawn "redblade_x4_signal_fire_switch" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + SetRequiredQuest(NPC, FlameOn, 1) + SetPlayerProximityFunction(NPC, 15, "InRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if GetQuestStep(Caster, FlameOn) == 1 and SpellName == "Light Signal Fire" then + AddSpawnAccess(GetSpawn(Target, 4701733), Caster) + SetStepComplete(Caster, FlameOn, 1) + local zone = GetZone(Target) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Caster) + Attack(GetSpawnByLocationID(zone, 32810), Caster) + SetRequiredQuest(Target, FlameOn, 5) + end +end + +function InRange(NPC, Player) + if GetQuestStep(Player, FlameOn) == 2 then + local zone = GetZone(Player) + SpawnByLocationID(zone, 32806) + SpawnByLocationID(zone, 32810) + Attack(GetSpawnByLocationID(zone, 32806), Caster) + Attack(GetSpawnByLocationID(zone, 32810), Caster) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/WolcottChillborn.lua b/SpawnScripts/FrostfangSea/WolcottChillborn.lua new file mode 100644 index 0000000..f45c6e1 --- /dev/null +++ b/SpawnScripts/FrostfangSea/WolcottChillborn.lua @@ -0,0 +1,61 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WolcottChillborn.lua + Script Purpose : inquis trainer in Halas + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +local INQUISITOR = 14 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetClass(Spawn) == INSQUISITOR then + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "What advice do you have for a fellow inquisitor?", "InqChat1") + AddConversationOption(conversation, "That I did! But I have no time to chat about it.") + StartConversation(conversation, NPC, Spawn, "Ah, another who has refused to ignore their convictions. Welcome, my fellow inquisitor!") + else + PlayFlavor(NPC, "", "Tapping into divine power does not require giving yourself to a petty god. Tapping into that power merely requires proper training and understanding, just like any discipline.", "hello", 0, 0, Spawn) + end +end + +function InqChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's useful to know!", "InqChat2") + StartConversation(conversation, NPC, Spawn, "If you find items that add to your wisdom or stamina, then take them! Wisdom increases the amount of damage your spells can inflict on others and raises your defenses against spell damage inflicted on you. Your stamina affects your health. This is crucial.") +end + +function InqChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That's interesting.", "InqChat3") + StartConversation(conversation, NPC, Spawn, "We are known for protecting ourselves and our allies with reactive heals. These are spells cast on an individual that lay in wait until they have damage inflicted upon them. At which time the spell responds and a heal is given to the individual.") +end + +function InqChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "That will be useful!", "InqChat4") + StartConversation(conversation, NPC, Spawn, "But the divine power, demanded by our fervent faith, is not limited to mending the wounded or purging ailments from the suffering. It can also be called upon to increase the amount of damage your spells or your ally's spells will inflict upon our enemies.") +end + +function InqChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you for the advice.") + StartConversation(conversation, NPC, Spawn, "And protect yourself with a good set of plate mail, " .. GetName(Spawn) .. ". The armor may be cumbersome, but its protective properties will be necessary, as it takes time to call forth our divine powers.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/WolfomBonetooth.lua b/SpawnScripts/FrostfangSea/WolfomBonetooth.lua new file mode 100644 index 0000000..1aede42 --- /dev/null +++ b/SpawnScripts/FrostfangSea/WolfomBonetooth.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WolfomBonetooth.lua + Script Purpose : Wolfom Bonetooth + Script Author : theFoof + Script Date : 2013.09.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "Do not be in such a rush young one. You will be strong enough one day to take on my noble tasks. ", "no", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/WreganFirebeard.lua b/SpawnScripts/FrostfangSea/WreganFirebeard.lua new file mode 100644 index 0000000..e4e316a --- /dev/null +++ b/SpawnScripts/FrostfangSea/WreganFirebeard.lua @@ -0,0 +1,120 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/WreganFirebeard.lua + Script Purpose : Wregan Firebeard + Script Author : theFoof + Script Date : 2013.05.14 + Script Notes : +--]] + +local RideGwenevyn = 8 + +local BeetsAlternative = 13 + +local SiftingGarbage = 14 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + ProvidesQuest(NPC, BeetsAlternative) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, BeetsAlternative) or GetQuestStep(Spawn, BeetsAlternative) == 3 then + if HasCompletedQuest(Spawn, SiftingGarbage) == false and GetQuestStep(Spawn, SiftingGarbage) ~= 2 then + AddSpawnAccess(GetSpawn(NPC, 4701834), Spawn) + end + else + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, BeetsAlternative) == false and HasCompletedQuest(Spawn, BeetsAlternative) == false then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, RideGwenevyn) == 1 then + Quest1Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BeetsAlternative) == 1 then + PlayFlavor(NPC, "", "As soon as you get those tundra beets we'll be able to embark on our journey.", "tapfoot", 1689589577, 4560189, Spawn) + end +end + +function Quest1Chat_1(NPC, Spawn) + if GetQuestStep(Spawn, RideGwenevyn) == 1 then + SetStepComplete(Spawn, RideGwenevyn, 1) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_001.mp3", "", "", 1553579040, 3434703804, Spawn) + AddConversationOption(conversation, "Yes.", "Quest1Chat_2") + AddConversationOption(conversation, "You could say that.", "Quest1Chat_2") + StartConversation(conversation, NPC, Spawn, "Another pilgrim, I take it?") +end + +function Quest1Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_002.mp3", "", "", 1986724829, 1256857659, Spawn) + AddConversationOption(conversation, "Why's that?", "Quest1Chat_3") + StartConversation(conversation, NPC, Spawn, "Well, you're lucky you arrived when you did.") +end + +function Quest1Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_003.mp3", "", "", 931801191, 1464668700, Spawn) + AddConversationOption(conversation, "You were going to leave without enough provisions?", "Quest1Chat_4") + AddConversationOption(conversation, "Why didn't you have the others gather what is needed?", "Quest1Chat_6") + StartConversation(conversation, NPC, Spawn, "We were about ready to set out for our treacherous pilgrimage to the city of New Halas. Unfortunately, if your plans were to join us then you need to help us fill our packs with provisions for the trip.") +end + +function Quest1Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_005.mp3", "", "", 3666066743, 675613480, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am here to hunt not gather!", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "No. We already have enough provisions for those that were already here, but you are another mouth to feed.") +end + +function Quest1Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_006.mp3", "", "", 3776727269, 3608373686, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am still not convinced. I'm going to go now.") + StartConversation(conversation, NPC, Spawn, "There will be plenty of opportunity for hunting and fighting, eager one. The journey to the city is dangersome, full of wild beasts and harsh elements. That is why we must prepare ourselves now.") +end + +function Quest1Chat_6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "wregan_firebeard/halas/gwenevyns_cove/wregan_firebeard_004.mp3", "", "", 2820759679, 594607724, Spawn) + AddConversationOption(conversation, "Oh, so I'll be gathering the stuff I need for this trip?", "OfferBeetsAlternative") + AddConversationOption(conversation, "I am here to hunt not gather!", "Quest1Chat_5") + StartConversation(conversation, NPC, Spawn, "I did. They gathered the provisions that they will need for the journey, but you are another mouth to feed.") +end + +function OfferBeetsAlternative(NPC, Spawn) + if HasQuest(Spawn, BeetsAlternative) == false and HasCompletedQuest(Spawn, BeetsAlternative) == false then + OfferQuest(NPC, Spawn, BeetsAlternative) + end +end diff --git a/SpawnScripts/FrostfangSea/YashaRedblade.lua b/SpawnScripts/FrostfangSea/YashaRedblade.lua new file mode 100644 index 0000000..bcc62d2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/YashaRedblade.lua @@ -0,0 +1,374 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/YashaRedblade.lua + Script Purpose : Yasha Redblade + Script Author : theFoof + Script Date : 2013.03.16 + Script Notes : +--]] + +local HalasianWelcome = 1 + +local StoneCombat = 2 + +local CallArms = 3 + +local BoatloadWork = 4 + +local FlameOn = 5 + +local RideGwenevyn = 8 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + ProvidesQuest(NPC, StoneCombat) + ProvidesQuest(NPC, CallArms) + ProvidesQuest(NPC, BoatloadWork) + ProvidesQuest(NPC, FlameOn) + ProvidesQuest(NPC, RideGwenevyn) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasQuest(Spawn, HalasianWelcome) then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_001.mp3", "", "", 1052109202, 2650157895, Spawn) + AddConversationOption(conversation, "Yes, and my muscles are a bit stiff.", "CompleteHalasianWelcome1") + AddConversationOption(conversation, "Yes, and I heard you could use some help.", "CompleteHalasianWelcome2") + StartConversation(conversation, NPC, Spawn, "Whoa! You finally woke, eh?") + elseif HasCompletedQuest(Spawn, HalasianWelcome) and HasCompletedQuest(Spawn, StoneCombat) == false and HasQuest(Spawn, StoneCombat) == false then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_001.mp3", "", "", 1052109202, 2650157895, Spawn) + AddConversationOption(conversation, "Yes, and my muscles are a bit stiff.", "Quest2Chat_0_1") + AddConversationOption(conversation, "Yes, and I heard you could use some help.", "Quest2Chat_1_1") + StartConversation(conversation, NPC, Spawn, "Whoa! You finally woke, eh?") + elseif GetQuestStep(Spawn, StoneCombat) == 4 then + AddConversationOption(conversation, "Yes. I defeated my opponent.", "CompleteStoneCombat") + StartConversation(conversation, NPC, Spawn, "Have you passed the test that Trainer Ragnhild Stonefist set before you?") + elseif HasCompletedQuest(Spawn, StoneCombat) and HasCompletedQuest(Spawn, CallArms) == false and HasQuest(Spawn, CallArms) == false then + Quest3Chat_0_1(NPC, Spawn) + elseif GetQuestStep(Spawn, CallArms) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I killed many of the attacking orcs.", "FinishedCallArms") + StartConversation(conversation, NPC, Spawn, "How did you fare, " .. GetName(Spawn) .. "? Have the attacking orcs been defeated?") + elseif HasCompletedQuest(Spawn, CallArms) and HasCompletedQuest(Spawn, BoatloadWork) == false and HasQuest(Spawn, BoatloadWork) == false then + Quest4Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, BoatloadWork) == 2 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I hope so.", "Quest4Chat_6") + StartConversation(conversation, NPC, Spawn, "Thank Marr you have returned with the planks of wood, " .. GetName(Spawn) .. "! This new barricade will certainly help us keep the orcs at bay.") + elseif GetQuestStep(Spawn, BoatloadWork) == 3 then + StartConversation(conversation, NPC, Spawn, "Set the new barricade down south of me where the break in the barricade is lit by two torches.") + elseif GetQuestStep(Spawn, BoatloadWork) == 4 then + SetStepComplete(Spawn, BoatloadWork, 4) + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I have been glad to help.", "Quest5Chat_1") + AddConversationOption(conversation, "It has been rewarding.") + StartConversation(conversation, NPC, Spawn, "You really are a blessing from Marr, " .. GetName(Spawn) .. "! We cannot thank you enough for all that you have done to provide for us and keep us safe.") + elseif HasCompletedQuest(Spawn, BoatloadWork) and HasCompletedQuest(Spawn, FlameOn) == false and HasQuest(Spawn, FlameOn) == false then + Quest5Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, FlameOn) == 1 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_028.mp3", "", "", 3869056834, 2852458001, Spawn) + AddConversationOption(conversation, "Where is it again?", "Quest5Chat_3") + AddConversationOption(conversation, "How do I climb up to it?", "Quest5Chat_4") + AddConversationOption(conversation, "I'll light it, Yasha.") + StartConversation(conversation, NPC, Spawn, "We are counting on you to light the signal fire!") + elseif GetQuestStep(Spawn, FlameOn) == 3 then + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_030.mp3", "", "", 1552005531, 3390176496, Spawn) + AddConversationOption(conversation, "I encountered some of the orcs up there!", "Quest5Chat_5") + StartConversation(conversation, NPC, Spawn, "The signal fire burns bright, " .. GetName(Spawn) .. ". But what took so long? I was growing concerned.") + elseif HasCompletedQuest(Spawn, FlameOn) and HasQuest(Spawn, RideGwenevyn) == false and HasCompletedQuest(Spawn, RideGwenevyn) == false then + Quest6Chat_1(NPC, Spawn) + elseif GetQuestStep(Spawn, RideGwenevyn) == 1 then + PlayFlavor(NPC, "", "You'll find the Gwenavyne II at the southern most tip of Pilgrims' Landing. It will take you over to Erollis.", "nod", 1689589577, 4560189, Spawn) + elseif HasCompletedQuest(Spawn, RideGwenevyn) then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "I have no doubt the fates have something great in store for you!", "", 0, 0, Spawn) + else + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1041.mp3", "", "", 0, 0, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1041.mp3", "", "", 0, 0, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1041.mp3", "", "", 0, 0, Spawn) + end + end +end + +function CompleteHalasianWelcome1(NPC, Spawn) + SetStepComplete(Spawn, HalasianWelcome, 1) + Quest2Chat_0_1(NPC, Spawn) +end + +function CompleteHalasianWelcome2(NPC, Spawn) + SetStepComplete(Spawn, HalasianWelcome, 1) + Quest2Chat_1_1(NPC, Spawn) +end + +function CompleteStoneCombat(NPC, Spawn) + SetStepComplete(Spawn, StoneCombat, 4) + Quest3Chat_0_1(NPC, Spawn) +end + +function Quest2Chat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_002.mp3", "", "", 395241080, 1989878493, Spawn) + AddConversationOption(conversation, "That would be great!", "Quest2Chat_1_1") + AddConversationOption(conversation, "Not quite yet.") + StartConversation(conversation, NPC, Spawn, "That's no surprise considering the work out that they must have endured swimming and dragging those others ashore the way you did. You looking to work 'em out a bit?") +end + +function Quest2Chat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_005.mp3", "", "", 3031703897, 849787882, Spawn) + AddConversationOption(conversation, "I'll go speak with her, right now.", "OfferStoneCombat") + AddConversationOption(conversation, "I don't think I'm up for this. Good bye.") + StartConversation(conversation, NPC, Spawn, "You heard correctly. But first I need to ensure that you are ready to enter the fray. Go speak to Trainer Ragnhild Stonefist. She's east of me at the other end of the ship's hull. She'll teach you the basics of combat.") +end + +function Quest3Chat_0_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_009.mp3", "", "", 3426547133, 152454946, Spawn) + AddConversationOption(conversation, "That's true.", "Quest3Chat_1_1") + AddConversationOption(conversation, "I am more than warmed up.", "Quest3Chat_1_1") + StartConversation(conversation, NPC, Spawn, "I bet your muscles aren't so stiff after that warm up.") +end + +function Quest3Chat_1_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_010.mp3", "", "", 1856638395, 3517818586, Spawn) + AddConversationOption(conversation, "Is it orcs?", "Quest3Chat_2_1") + AddConversationOption(conversation, "Perfect! Who is it?", "Quest3Chat_2_2") + StartConversation(conversation, NPC, Spawn, "Good, 'cause there's a real foe around here for you to face.") +end + +function Quest3Chat_2_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_012.mp3", "", "", 1278159585, 3525975110, Spawn) + AddConversationOption(conversation, "There are orcs attacking?!", "Quest3Chat_3_1") + AddConversationOption(conversation, "I am not ready to face orcs!") + StartConversation(conversation, NPC, Spawn, "The tenacious orcs! The mangy beasts started rushing our shore shortly after you swam ashore carrying the others. They must have realized how strong this outpost was becoming.") +end + + +function Quest3Chat_2_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_011.mp3", "", "", 1164815048, 3310979023, Spawn) + AddConversationOption(conversation, "Then we must face them!", "Quest3Chat_3_1") + AddConversationOption(conversation, "I am not ready to face orcs.") + StartConversation(conversation, NPC, Spawn, "Yes! The mangy beasts started rushing our shore shortly after you swam ashore carrying the others. They must have realized how strong this outpost was becoming.") +end + +function Quest3Chat_3_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_013.mp3", "", "", 4060266194, 2101228978, Spawn) + AddConversationOption(conversation, "Right away!", "OfferCallArms") + StartConversation(conversation, NPC, Spawn, "Yes, indeed! Fall upon the Ry'Gorr centurions that are rushing the barricades southeast of me. Return to me when you have done this.") +end + +function FinishedCallArms(NPC, Spawn) + if GetQuestStep(Spawn, CallArms) == 2 then + SetStepComplete(Spawn, CallArms, 2) + end + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I did.", "Quest4Chat_1") + StartConversation(conversation, NPC, Spawn, "Ah, I wish I would have seen it! You must have unleashed an impressive fury upon those murderous meat slabs.") +end + +function Quest4Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "You want me to kill some more?", "Quest4Chat_2") + AddConversationOption(conversation, "What can we do about it?", "Quest4Chat_3") + StartConversation(conversation, NPC, Spawn, "But I am afraid that is not the last we will see of them. Even now, another wave of them may be crashing upon our shores!") +end + +function Quest4Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I can do that.", "Quest4Chat_4") + AddConversationOption(conversation, "I am not interested in crafting.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "I had something else in mind, " .. GetName(Spawn) .. ". The barricades that are holding back the orcs were frantically crafted out of debris and boat wreckage. There are several of them that need to be replaced.") +end + +function Quest4Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "I can do that.", "Quest4Chat_4") + AddConversationOption(conversation, "I am not interested in crafting.", "Quest4Chat_5") + StartConversation(conversation, NPC, Spawn, "We must fortify our defenses! The barricades that are holding back the orcs were frantically crafted out of debris and boat wreckage. There are several of them that need to be replaced.") +end + +function Quest4Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Right away!", "OfferBoatloadWork") + AddConversationOption(conversation, "Maybe later, Yasha.") + StartConversation(conversation, NPC, Spawn, "I am relieved to hear you say that, " .. GetName(Spawn) .. ". Gather planks of wood from the bow of the old boat wreckage west of me. I'll make them into a makeshift barricade.") +end + +function Quest4Chat_5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Right away!", "OfferBoatloadWork") + AddConversationOption(conversation, "Maybe later, Yasha.") + StartConversation(conversation, NPC, Spawn, "That's fine, " .. GetName(Spawn) .. ". I'll craft the makeshift barricade. I just need you to gather planks of wood from the bow of the old boat wreckage west of me.") +end + +function Quest4Chat_6(NPC, Spawn) + SetStepComplete(Spawn, BoatloadWork, 2) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_014.mp3", "", "", 2562189235, 2582498054, Spawn) + AddConversationOption(conversation, "Will do!") + StartConversation(conversation, NPC, Spawn, "Take this makeshift barricade piece and set it in the frozen tundra south of me where the break in the barricade line is lit by two torches.") +end + +function Quest5Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_025.mp3", "", "", 1803586212, 1797757498, Spawn) + AddConversationOption(conversation, "What for?", "Quest5Chat_2") + AddConversationOption(conversation, "Sounds easy. I'll do it.", "Quest5Chat_3") + AddConversationOption(conversation, "I am not able to help you right now.") + StartConversation(conversation, NPC, Spawn, "Wait a moment! Your timing is perfect, " .. GetName(Spawn) .. ". We need someone to light the signal fire atop the cliff to the east.") +end + +function Quest5Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_026.mp3", "", "", 3324242342, 3751082906, Spawn) + AddConversationOption(conversation, "To warn them.", "Quest5Chat_3") + StartConversation(conversation, NPC, Spawn, "It is to alert the fledgling city of New Halas of the orcs that have been attacking our outpost.") +end + +function Quest5Chat_3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_028.mp3", "", "", 3869056834, 2852458001, Spawn) + AddConversationOption(conversation, "I'll light it, Yasha.", "OfferFlameOn") + AddConversationOption(conversation, "How do I climb?", "Quest5Chat_4") + StartConversation(conversation, NPC, Spawn, "Venture east and you will find an imposing wall of ice with a rope ladder scaling it. Climb the ladder to the ice shelf above. The signal fire is up there.") +end + +function Quest5Chat_4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_029.mp3", "", "", 476266339, 1999686318, Spawn) + AddConversationOption(conversation, "That's good to know.", "OfferFlameOn") + StartConversation(conversation, NPC, Spawn, "That's easy! If a vertical surface can be climbed all you need to do is approach it. You will find that you are a natural at it and that you have just as much control over what direction you wish to travel on the vertical surfaces as you do over horizontal ones.") +end + +function Quest5Chat_5(NPC, Spawn) + SetStepComplete(Spawn, FlameOn, 3) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_031.mp3", "", "", 517725875, 2427954496, Spawn) + AddConversationOption(conversation, "Thank you.", "Quest6Chat_1") + AddConversationOption(conversation, "I'm not sure that's true.", "Quest6Chat_1") + StartConversation(conversation, NPC, Spawn, "Holy Twins! You killed them, didn't you?! I knew you were brought to this floating island by the fates and now you have proven it!") +end + +function Quest6Chat_1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_032.mp3", "", "", 4231067263, 531833046, Spawn) + AddConversationOption(conversation, "How do I get there?", "Quest6Chat_2") + AddConversationOption(conversation, "Thank you, again.", "OfferRidegwenevyn") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Report to Wregan Firebeard. He is at a small camp site at Gwenevyn's Cove, preparing to guide the latest group of pilgrims to the city. If you hurry, you should be able to catch him before they embark on their trek.") +end + +function Quest6Chat_2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_033.mp3", "", "", 1250945947, 234141592, Spawn) + AddConversationOption(conversation, "Thank you, again.", "OfferRidegwenevyn") + AddConversationOption(conversation, "Can't I swim over there?", "OfferRidegwenevynTwo") + StartConversation(conversation, NPC, Spawn, "Get aboard the small ferry craft that we have pieced together at the southern most tip of Pilgrims' Landing. It will take you over to Erollis. The camp site's fire should be noticeable from the beach.") +end + +function OfferStoneCombat(NPC, Spawn) + if HasCompletedQuest(Spawn, HalasianWelcome) then + OfferQuest(NPC, Spawn, StoneCombat) + end +end + +function OfferCallArms(NPC, Spawn) + if HasCompletedQuest(Spawn, StoneCombat) then + OfferQuest(NPC, Spawn, CallArms) + end +end + +function OfferBoatloadWork(NPC, Spawn) + if HasCompletedQuest(Spawn, CallArms) then + OfferQuest(NPC, Spawn, BoatloadWork) + end +end + +function OfferFlameOn(NPC, Spawn) + if HasCompletedQuest(Spawn, BoatloadWork) and HasQuest(Spawn, FlameOn) == false then + OfferQuest(NPC, Spawn, FlameOn) + end +end + +function OfferRidegwenevyn(NPC, Spawn) + if HasCompletedQuest(Spawn, FlameOn) then + OfferQuest(NPC, Spawn, RideGwenevyn) + end +end + +function OfferRidegwenevynTwo(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if HasCompletedQuest(Spawn, FlameOn) then + OfferQuest(NPC, Spawn, RideGwenevyn) + end + + PlayFlavor(NPC, "yasha_redblade/halas/pilgrims_landing/redblade_034.mp3", "", "", 4096485687, 3591012782, Spawn) + AddConversationOption(conversation, "Oh, okay.") + StartConversation(conversation, NPC, Spawn, "You can, sure. But I wouldn't suggest it. The water is freezing.") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua b/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua new file mode 100644 index 0000000..9370ede --- /dev/null +++ b/SpawnScripts/FrostfangSea/aBlizzardGrizzly_(572511).lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Quests/FrostfangSea/aBlizzardGrizzly_(572511).lua + Script Purpose : movement loop for a bear at loc id 572511 + Script Author : theFoof + Script Date : 2013.5.22 +--]] +function spawn(NPC) + X = GetX(NPC) + Y = GetY(NPC) + Z = GetZ(NPC) + + MovementLoopAddLocation(NPC, 87.5, 35.93, -497.63, 2, 0) + MovementLoopAddLocation(NPC, 83.06, 36.29, -503.23, 2, 0) + MovementLoopAddLocation(NPC, 81.31, 40.11, -522.55, 2, 0) + MovementLoopAddLocation(NPC, 79.99, 45.27, -542.14, 2, math.random(3,7)) + MovementLoopAddLocation(NPC, 76.11, 40.43, -526.41, 2, 0) + MovementLoopAddLocation(NPC, 83.06, 36.29, -503.23, 2, 0) + MovementLoopAddLocation(NPC, 87.5, 35.93, -497.63, 2, 0) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(3,7)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua b/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua new file mode 100644 index 0000000..958c055 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aFarSeasdockhand.lua @@ -0,0 +1,56 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aFarSeasdockhand.lua + Script Purpose : a Far Seas dockhand + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "InRange") + MovementLoopAddLocation(NPC, -356.89, 30.06, 221.89, 2, 5) + MovementLoopAddLocation(NPC, -340.84, 30.68, 213.38, 2, 0) + MovementLoopAddLocation(NPC, -346.85, 30.68, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -372.11, 29.19, 188.43, 2, 0) + MovementLoopAddLocation(NPC, -382, 27.92, 172.56, 2, 0) + MovementLoopAddLocation(NPC, -396.69, 22.43, 139.94, 2, 0) + MovementLoopAddLocation(NPC, -413.74, 24.45, 117.98, 2, 0) + MovementLoopAddLocation(NPC, -407.96, 26.02, 96.43, 2, 0) + MovementLoopAddLocation(NPC, -385.31, 38.69, 59.85, 2, 0) + MovementLoopAddLocation(NPC, -388.58, 41.35, 48.87, 2, 0) + MovementLoopAddLocation(NPC, -423.39, 52.31, 54.65, 2, 0) + MovementLoopAddLocation(NPC, -422.64, 52.79, 47.93, 2, 0) + MovementLoopAddLocation(NPC, -401.55, 52.79, 27.18, 2, 0) + MovementLoopAddLocation(NPC, -438.03, 53.19, 25.34, 2, 0) + MovementLoopAddLocation(NPC, -438.31, 52.31, 42.13, 2, 0) + MovementLoopAddLocation(NPC, -423.39, 52.31, 54.65, 2, 0) + MovementLoopAddLocation(NPC, -388.58, 41.35, 48.87, 2, 0) + MovementLoopAddLocation(NPC, -385.31, 38.69, 59.85, 2, 0) + MovementLoopAddLocation(NPC, -407.96, 26.02, 96.43, 2, 0) + MovementLoopAddLocation(NPC, -413.74, 24.45, 117.98, 2, 0) + MovementLoopAddLocation(NPC, -396.69, 22.43, 139.94, 2, 0) + MovementLoopAddLocation(NPC, -382, 27.92, 172.56, 2, 0) + MovementLoopAddLocation(NPC, -372.11, 29.19, 188.43, 2, 0) + MovementLoopAddLocation(NPC, -346.85, 30.68, 190.74, 2, 0) + MovementLoopAddLocation(NPC, -340.84, 30.68, 213.38, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "The Far Seas Trading Company is always looking for a few strong backs and brave souls.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Watch your step around these parts, traveler.", "", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "Safe travels to you.", "", 0, 0, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrambusher.lua b/SpawnScripts/FrostfangSea/aRyGorrambusher.lua new file mode 100644 index 0000000..a4b93fa --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrambusher.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrambusher.lua + Script Purpose : for the spawns "a RyGorr ambusher" + Script Author : theFoof + Script Date : 2013.5.10 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) +end + +function death(NPC, Spawn) -- updates step 2 of "Flame On!" when the encounter is killed. + if IsAlive(GetSpawnByLocationID(GetZone(NPC), 32806)) == false and IsAlive(GetSpawnByLocationID(GetZone(NPC), 32810)) == false then + SetStepComplete(Spawn, FlameOn, 2) + end +end + +function CombatReset(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua b/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua new file mode 100644 index 0000000..9e5722a --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrcenturion.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Quests/FrostfangSea/arygorrcenturion.lua + Script Purpose : the spawn "a Ry'Gorr centurion" + Script Author : theFoof + Script Date : 2013.5.16 +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, -304.78 + math.random(-7,7), 18.51, -611.98, 3, math.random(2,6)) + MovementLoopAddLocation(NPC, -321.28 + math.random(-7,7), 27.91, -659.17 + math.random(-7,7), 4, math.random(2,6)) + if GetSpawnLocationID(NPC) == 572680 or GetSpawnLocationID(NPC) == 572681 then + MovementLoopAddLocation(NPC, -319.99, 33.45, -703.09, 7, math.random(3,4)) + MovementLoopAddLocation(NPC, -312.91, 33.33, -707.07, 3, math.random(1,2)) + MovementLoopAddLocation(NPC, -324.50, 33.89, -702.57, 3, math.random(4,7)) + MovementLoopAddLocation(NPC, -312.91, 33.33, -707.07, 3, math.random(4,7)) + elseif GetSpawnLocationID(NPC) == 572682 or GetSpawnLocationID(NPC) == 572683 then + MovementLoopAddLocation(NPC, -344.56, 33.45, -699.75, 7, math.random(3,4)) + MovementLoopAddLocation(NPC, -338.27, 34.1, -701.33, 3, math.random(1,2)) + MovementLoopAddLocation(NPC, -347.24, 32.61, -697.9, 3, math.random(4,7)) + MovementLoopAddLocation(NPC, -360.37, 34.7, -702.44, 7, math.random(5,10)) + MovementLoopAddLocation(NPC, -338.27, 34.1, -701.33, 3, math.random(4,7)) + elseif GetSpawnLocationID(NPC) == 572684 then + MovementLoopAddLocation(NPC, -360.37, 34.7, -702.44, 7, math.random(5,20)) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC) + SpawnByLocationID(GetZone(NPC), GetSpawnLocationID(NPC)) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrinvader.lua b/SpawnScripts/FrostfangSea/aRyGorrinvader.lua new file mode 100644 index 0000000..e1216f7 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrinvader.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader.lua + Script Purpose : for the Ry'Gorr invaders + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] +require"SpawnScripts/Generic/random_pattern_small" + +local NothingWaste = 56 + +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC, Spawn) + if HasQuest(Spawn, NothingWaste) then + if GetQuestStep(Spawn, NothingWaste) < 4 then + if not QuestStepIsComplete(Spawn, NothingWaste, 1) then + local HelmetChance = math.random(1, 100) + if HelmetChance >= 50 then + AddLootItem(NPC, 11818) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 2) then + local ChestguardChance = math.random(1,100) + if ChestguardChance >= 50 then + AddLootItem(NPC, 11817) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 3) then + local WarhammerChance = math.random(1,100) + if WarhammerChance >= 50 then + AddLootItem(NPC, 11824) + end + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua b/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua new file mode 100644 index 0000000..6c84229 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrinvader2.lua @@ -0,0 +1,62 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader2.lua + Script Purpose : for the Ry'Gorr invaders + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local NothingWaste = 56 + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "flex" + elseif choice == 2 then + emote = "stretch" + elseif choice == 3 then + emote = "point" + elseif choice == 4 then + emote = "peer" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(15000,45000), "EmoteLoop") +end + +function death(NPC, Spawn) + if HasQuest(Spawn, NothingWaste) then + if GetQuestStep(Spawn, NothingWaste) < 4 then + if not QuestStepIsComplete(Spawn, NothingWaste, 1) then + local HelmetChance = math.random(1, 100) + if HelmetChance >= 50 then + AddLootItem(NPC, 11818) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 2) then + local ChestguardChance = math.random(1,100) + if ChestguardChance >= 50 then + AddLootItem(NPC, 11817) + end + end + if not QuestStepIsComplete(Spawn, NothingWaste, 3) then + local WarhammerChance = math.random(1,100) + if WarhammerChance >= 50 then + AddLootItem(NPC, 11824) + end + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua b/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua new file mode 100644 index 0000000..8629d22 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrinvader3.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrinvader3.lua + Script Purpose : Ry'Gorr invaders charging the beach + Script Author : theFoof + Script Date : 2013.9.11 + Script Notes : +--]] + +function spawn(NPC) + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SpawnSet(NPC, "show_command_icon", "0") + SpawnSet(NPC, "visual_state", "0") + SpawnSet(NPC, "action_state", "0") + SpawnSet(NPC, "faction", "0") + AddTimer(NPC, math.random(12000,16000), "DeathTimer") + ChargeBeach(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function ChargeBeach(NPC) + MovementLoopAddLocation(NPC, 263 + math.random(-10,10), 23.43, 224.5, 5, 0) + MovementLoopAddLocation(NPC, 195.25, 32, 212.90 + math.random(-10,10), 5, 0) +end + +function DeathTimer(NPC) -- the closest archer will kill this orc + KillSpawn(NPC, GetSpawn(NPC, 4700114), 1) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua b/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua new file mode 100644 index 0000000..2f05bd6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrnecromancer.lua + Script Purpose : for the spawn "a Ry'Gorr necromancer" + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function aggro(NPC) + SpawnSet(NPC, "action_state", "0") +end + +function CombatReset(NPC) + SpawnSet(NPC, "action_state", "10974") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua b/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua new file mode 100644 index 0000000..d3cf771 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrpatroller.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrpatroller.lua + Script Purpose : the ry'gorr patrollers + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +function spawn(NPC) +end + +function CombatReset(NPC) + Despawn(NPC) +end diff --git a/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua new file mode 100644 index 0000000..feb2c2b --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper1.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 523.46, 34.72, 592.13, 2, 5) + MovementLoopAddLocation(NPC, 466.78, 30.97, 621.01, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua new file mode 100644 index 0000000..5c4b36c --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper2.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 397.67, 32, 655, 2, 5) + MovementLoopAddLocation(NPC, 483.85, 32.18, 627.03, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua new file mode 100644 index 0000000..223dd95 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper3.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 601.15, 62.48, 696.65, 2, 5) + MovementLoopAddLocation(NPC, 585.57, 49.59, 628.77, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua new file mode 100644 index 0000000..6184df3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper4.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 609.33, 44.91, 572.85, 2, 5) + MovementLoopAddLocation(NPC, 639.5, 49.82, 550.36, 2, 0) + MovementLoopAddLocation(NPC, 721.12, 58.23, 601.73, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua new file mode 100644 index 0000000..a86899b --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrshocktrooper5.lua + Script Purpose : a Ry'Gorr shock trooper + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 623.80, 71.44, 837.76, 2, 5) + MovementLoopAddLocation(NPC, 723.5, 61.4, 761.85, 2, 0) + MovementLoopAddLocation(NPC, 707.23, 59.23, 684.89, 2, 0) + MovementLoopAddLocation(NPC, 736.63, 61.42, 669.56, 2, 5) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua b/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua new file mode 100644 index 0000000..5d1c3a2 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrtunneler.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : FrostfangSea/SpawnScripts/aRyGorrtunneler.lua + Script Purpose : Ry'Gorr tunnelers + Script Author : theFoof + Script Date : 2013.7.24 + Script Notes : +--]] + +local BecomingOrcbane = 81 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "cadaver's dram" then + if GetQuestStep(Spawn, BecomingOrcbane) == 1 then + AddStepProgress(Spawn, BecomingOrcbane, 1, 1) + KillSpawn(NPC, Spawn, 1) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua b/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua new file mode 100644 index 0000000..8ab0cf7 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrwarshaman.lua + Script Purpose : for the ry'gorr war shamans + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local RoughingReinforcements = 57 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function death(NPC, Spawn) + if GetQuestStep(Spawn, RoughingReinforcements) == 4 or GetQuestStep(Spawn, RoughingReinforcements) == 5 then + AddLootItem(NPC, 11820) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aRyGorrweapon.lua b/SpawnScripts/FrostfangSea/aRyGorrweapon.lua new file mode 100644 index 0000000..08a7f17 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aRyGorrweapon.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aRyGorrweapon.lua + Script Purpose : for the spawn "a Ry'Gorr weapon" + Script Author : theFoof + Script Date : 2013.06.3 + Script Notes : +--]] +local DisarmingRyGorr = 48 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Poultice' then + if GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + SpawnSet(NPC, "action_state", "2602") + AddStepProgress(Spawn, DisarmingRyGorr, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, DisarmingRyGorr) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/a_necromancer_totem.lua b/SpawnScripts/FrostfangSea/a_necromancer_totem.lua new file mode 100644 index 0000000..3508e76 --- /dev/null +++ b/SpawnScripts/FrostfangSea/a_necromancer_totem.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/a_necromancer_totem.lua + Script Purpose : the necromancer totem in frostfang + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + SpawnSet(NPC, "action_state", "2623") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 3 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/acrudepitoncannon.lua b/SpawnScripts/FrostfangSea/acrudepitoncannon.lua new file mode 100644 index 0000000..c7fc55d --- /dev/null +++ b/SpawnScripts/FrostfangSea/acrudepitoncannon.lua @@ -0,0 +1,46 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/acrudepitoncannon.lua + Script Purpose : for the spawn "a cude piton cannon" + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : +--]] + +local SiegeOver = 53 + +function spawn(NPC) + SetRequiredQuest(NPC, SiegeOver, 1) + LoadCannon(NPC) -- this starts the firing loop +end + +function respawn(NPC) + spawn(NPC) +end + +function LoadCannon(NPC) -- sets the cannon to load the harpooon and start a timer + SpawnSet(NPC, "visual_state", "20580") + AddTimer(NPC, math.random(2000,5000), "FireCannon") +end + +function FireCannon(NPC) -- fires the cannon and loops back to LoadCannon + SpawnSet(NPC, "visual_state", "20579") + AddTimer(NPC, 2000, "kill_fire") + AddTimer(NPC, math.random(6000,15000), "LoadCannon") +end + +function kill_fire(NPC) -- stops the firing animation from repeating + SpawnSet(NPC, "visual_state", "53347") +end +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'destroy the cannon' then + if GetQuestStep(Spawn, SiegeOver) == 1 then + SpawnSet(NPC, "action_state", "2018") + AddStepProgress(Spawn, SiegeOver, 1, 1) + AddTimer(NPC, 1000, "depop") + end + end +end + +function depop(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/acrustosesporetender.lua b/SpawnScripts/FrostfangSea/acrustosesporetender.lua new file mode 100644 index 0000000..20f0e49 --- /dev/null +++ b/SpawnScripts/FrostfangSea/acrustosesporetender.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/acrustosesporetender.lua + Script Purpose : handles the mob "a crustose sporetender" + Script Author : theFoof + Script Date : 2013.5.13 + Script Notes : +--]] +require"SpawnScripts/Generic/random_pattern_small" + +local RepellingCritters = 7 + +function spawn(NPC) + ChooseMovement(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "Spray" then + if GetQuestStep(Caster, RepellingCritters) == 1 then + AddStepProgress(Caster, RepellingCritters, 1, 1) + end + SetSpeed(Target, 13) + MoveToLocation(Target, -139.96, 36.90, -811.62) + AddTimer(Target, 5000, "Despawn") + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/adamesrocket.lua b/SpawnScripts/FrostfangSea/adamesrocket.lua new file mode 100644 index 0000000..11df55b --- /dev/null +++ b/SpawnScripts/FrostfangSea/adamesrocket.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/adamesrocket.lua + Script Purpose : the spawns named "a dame's rocket" + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + SetRequiredQuest(NPC, SpiderPuffs, 1) + SpawnSet(NPC, "action_state", "1494") + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if GetQuestStep(Spawn, SpiderPuffs) == 1 then + if SpellName == "a dame's rocket" then + AddStepProgress(Spawn, SpiderPuffs, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, SpiderPuffs) or HasCompletedQuest(Spawn, SpiderPuffs) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/adisreputableboatman.lua b/SpawnScripts/FrostfangSea/adisreputableboatman.lua new file mode 100644 index 0000000..de1b521 --- /dev/null +++ b/SpawnScripts/FrostfangSea/adisreputableboatman.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/adisreputableboatman.lua + Script Purpose : a disreputable boatman + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "I've no business with you today.", "", 1689589577, 4560189, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua b/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua new file mode 100644 index 0000000..adf1366 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aformidablesparringpartner.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aformidablesparringpartner.lua + Script Purpose : a formidable sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + end + +end + diff --git a/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua b/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua new file mode 100644 index 0000000..3654e24 --- /dev/null +++ b/SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/afroglokcitizen_(swimming).lua + Script Purpose : makes a froglok citizen swim around in circles + Script Author : theFoof + Script Date : 2013.9.14 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 19, 146.01, -60, 1, 10) + MovementLoopAddLocation(NPC, 17.74, 146.01, -33.01, 1, 0) + MovementLoopAddLocation(NPC, 58.43, 146.12, -26.07, 1, 0) + MovementLoopAddLocation(NPC, 73.05, 146.12, -38.18, 1, 0) + MovementLoopAddLocation(NPC, 73.8, 146.12, -71.37, 1, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aguarddog.lua b/SpawnScripts/FrostfangSea/aguarddog.lua new file mode 100644 index 0000000..a461353 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aguarddog.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aguarddog.lua + Script Purpose : a guard dog + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + PlayFlavor(NPC, "", "", "attack", 1689589577, 4560189, Spawn) +end + diff --git a/SpawnScripts/FrostfangSea/ahalasianreedplant.lua b/SpawnScripts/FrostfangSea/ahalasianreedplant.lua new file mode 100644 index 0000000..318d700 --- /dev/null +++ b/SpawnScripts/FrostfangSea/ahalasianreedplant.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ahalasianreedplant.lua + Script Purpose : halasian reed plants + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + SetRequiredQuest(NPC, FrozenChowder, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'a sprig of halasian reed' then + if GetQuestStep(Spawn, FrozenChowder) == 1 then + Despawn(NPC) + SetStepComplete(Spawn, FrozenChowder, 1) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua b/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua new file mode 100644 index 0000000..29978e1 --- /dev/null +++ b/SpawnScripts/FrostfangSea/alazyRyGorrorc.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/alazyRyGorrorc.lua + Script Purpose : for the lazy Ry'Gorr orc spawn + Script Author : theFoof + Script Date : 2013.6.10 + Script Notes : +--]] + +local ThroughEyes = 58 + +function spawn(NPC) + SetRequiredQuest(NPC, ThroughEyes, 1) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "the Ry'Gorr Scrying Eye" then + if GetQuestStep(Spawn, ThroughEyes) == 1 then + SetStepComplete(Spawn, ThroughEyes, 1) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, ThroughEyes) and GetQuestStep(Spawn, ThroughEyes) < 2 then + AddSpawnAccess(NPC, Spawn) + elseif not HasCompletedQuest(Spawn, ThroughEyes) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anIcemaneCub.lua b/SpawnScripts/FrostfangSea/anIcemaneCub.lua new file mode 100644 index 0000000..02e6d58 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anIcemaneCub.lua @@ -0,0 +1,66 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anIcemaneCub.lua + Script Purpose : for the spawn "an icemane cub" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +require"SpawnScripts/Generic/tiny_movement_loop" +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +local IcemanesCometh = 18 +function casted_on(NPC, Caster, SpellName) + if SpellName == "Leash" then + if GetQuestStep(Caster, IcemanesCometh) == 1 then + if GetTempVariable(Caster, "cub1") == nil then + SetTempVariable(Caster, "cub1", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub2") == nil then + SetTempVariable(Caster, "cub2", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub3") == nil then + SetTempVariable(Caster, "cub3", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + elseif GetTempVariable(Caster, "cub4") == nil then + SetTempVariable(Caster, "cub4", NPC) + AddTimer(NPC, 600000, "depop") + SpawnSet(NPC, "attackable", "0") + SpawnSet(NPC, "show_level", "0") + SetFollowTarget(NPC, Caster) + SetSpeed(NPC, 9) + ToggleFollow(NPC) + end + end + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function depop(NPC, Spawn) + if NPC ~= nil then + Despawn(NPC) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua b/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua new file mode 100644 index 0000000..c9106b3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anaveragesparringpartner.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anaveragesparringpartner.lua + Script Purpose : an average sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,5) + + if choice == 1 then + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Nice.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Next!", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Well done!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Okay, who's next?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/SpawnScripts/FrostfangSea/anicelily.lua b/SpawnScripts/FrostfangSea/anicelily.lua new file mode 100644 index 0000000..77e7883 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicelily.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicelily.lua + Script Purpose : for the spawn "an ice lily" + Script Author : theFoof + Script Date : 2013.05.21 + Script Notes : +--]] + +local FieldTesting = 23 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SpawnSet(NPC, "action_state", "1494") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, FieldTesting) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == 'collect an ice lily' then + if GetQuestStep(Caster, FieldTesting) == 1 then + AddStepProgress(Caster, FieldTesting, 1, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua b/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua new file mode 100644 index 0000000..4360f22 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanecub_(leashed).lua + Script Purpose : the spawns leashed up at gwenevyn's cove named "an icemane cub" + Script Author : theFoof + Script Date : 2013.05.25 + Script Notes : +--]] +local IcemanesCometh = 18 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, IcemanesCometh) then + AddSpawnAccess(NPC, Spawn) + end +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua b/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua new file mode 100644 index 0000000..6261441 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 604.57, 24.67, -350.41, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.88, 48.58, -408.83, 2, math.random(5,20)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua b/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua new file mode 100644 index 0000000..6261441 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicemanepatriarch_(1).luandom_pattern_small.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(1).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 604.57, 24.67, -350.41, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.88, 48.58, -408.83, 2, math.random(5,20)) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua b/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua new file mode 100644 index 0000000..921cb28 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicemanepatriarch_(2).lua + Script Purpose : for an icemane patriarch with a unique path + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 571.74, 56.41, -405.34, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 582.2, 53.27, -400.71, 2, 0) + MovementLoopAddLocation(NPC, 586.1, 44.33, -372.47, 2, 0) + MovementLoopAddLocation(NPC, 590.7, 43.18, -359.4, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, 586.1, 44.33, -372.47, 2, 0) + MovementLoopAddLocation(NPC, 582.2, 53.27, -400.71, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aniceshroom.lua b/SpawnScripts/FrostfangSea/aniceshroom.lua new file mode 100644 index 0000000..6bb5fdf --- /dev/null +++ b/SpawnScripts/FrostfangSea/aniceshroom.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aniceshroom.lua + Script Purpose : ice shrooms + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + SpawnSet(NPC, "action_state", "1494") + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'an ice shroom' then + if GetQuestStep(Spawn, KestrelPie) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, KestrelPie, 1, 1) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, KestrelPie) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/anicywhirlstorm.lua b/SpawnScripts/FrostfangSea/anicywhirlstorm.lua new file mode 100644 index 0000000..4c99a81 --- /dev/null +++ b/SpawnScripts/FrostfangSea/anicywhirlstorm.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/anicywhirlstorm.lua + Script Purpose : for the spawn "an ice whirlstorm" + Script Author : theFoof + Script Date : 2013.6.16 + Script Notes : +--]] + +require"SpawnScripts/Generic/MovementCircleSmall" + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) + AddTimer(NPC, 20000, "Despawn") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aplankofwood.lua b/SpawnScripts/FrostfangSea/aplankofwood.lua new file mode 100644 index 0000000..eeb866a --- /dev/null +++ b/SpawnScripts/FrostfangSea/aplankofwood.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScriptsFrostfangSeaaplankofwood.lua + Script Purpose : for the spawn "a plank of wood" + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local BoatloadWork = 4 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 40, "CheckQuest", "CheckQuest") +end + +function casted_on(Target, Caster, SpellName) + if HasQuest(Caster, BoatloadWork) and GetQuestStep(Caster, BoatloadWork) == 1 and SpellName == "gather " then + AddStepProgress(Caster, BoatloadWork, 1, 1) + Despawn(Target) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if GetQuestStep(Player, BoatloadWork) == 1 then + AddSpawnAccess(NPC, Player) + else + RemoveSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua b/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua new file mode 100644 index 0000000..88844ad --- /dev/null +++ b/SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aportaljumpedRyGorrraider.lua + Script Purpose : for the raiders that pop out of the portal in frostfang + Script Author : theFoof + Script Date : 2013.6.8 + Script Notes : +--]] + +function spawn(NPC) + local choice = math.random(1,2) + SetSpeed(NPC, 7) + if choice == 1 then + MoveToLocation(NPC, 713.49 + math.random(-7,7), 100.34, -446.09 + math.random(-7,7)) + else + MoveToLocation(NPC, 692.41 + math.random(-7,7), 96.14, -466.44 + math.random(-7,7)) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/araidingsporetender.lua b/SpawnScripts/FrostfangSea/araidingsporetender.lua new file mode 100644 index 0000000..3f5b59a --- /dev/null +++ b/SpawnScripts/FrostfangSea/araidingsporetender.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Quests/FrostfangSea/araidingsporetender.lua + Script Purpose : the spawn "a raiding sporetender" + Script Author : theFoof + Script Date : 2013.5.14 +--]] + +local RepellingCritters = 7 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function SpawnAccess(NPC, Player) + if HasCompletedQuest(Player, RepellingCritters) == false then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua b/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua new file mode 100644 index 0000000..b059d80 --- /dev/null +++ b/SpawnScripts/FrostfangSea/areanimatedRyGorr.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/areanimatedRyGorr.lua + Script Purpose : for the spawn a reanimated Ry'Gorr + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 790.78, 31.46, 93.56, 2, math.random(5,15)) + MovementLoopAddLocation(NPC, 773.25, 36.43, 78.13, 2, 0) + MovementLoopAddLocation(NPC, 743.98, 41.91, 75.01, 2, 0) + MovementLoopAddLocation(NPC, 702.1, 48.18, 121.05, 2, 0) + MovementLoopAddLocation(NPC, 731.22, 41.6, 160.22, 2, math.random(5,15)) + MovementLoopAddLocation(NPC, 702.1, 48.18, 121.05, 2, 0) + MovementLoopAddLocation(NPC, 743.98, 41.91, 75.01, 2, 0) + MovementLoopAddLocation(NPC, 773.25, 36.43, 78.13, 2, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arebelliousrockroller.lua b/SpawnScripts/FrostfangSea/arebelliousrockroller.lua new file mode 100644 index 0000000..0b3ab60 --- /dev/null +++ b/SpawnScripts/FrostfangSea/arebelliousrockroller.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arebelliousrockroller.lua + Script Purpose : a rebellious rock roller + Script Author : theFoof + Script Date : 2013.11.15 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "Chat") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function Chat(NPC, Spawn) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "", "Hey, careful! I don't want my rock rolling to get you hurt, hah!", "threaten", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Look out below! Rolling stones are incoming!", "point", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "I don't think the others can appreciate how much skill this takes. Someday...someday maybe we'll be able to rock roll in front of thousands of other dwarves! Can you imagine that?", "orate", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Just give up, you'll never be able to rock roll as fast as me. I am shredding this track!", "threaten", 1689589577, 4560189, Spawn) + else + PlayFlavor(NPC, "", "This is such a righteous track you found! Oh, hold your rock for a moment there's someone down there. Interrupting our rock rolling.", "orate", 1689589577, 4560189, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arguing.lua b/SpawnScripts/FrostfangSea/arguing.lua new file mode 100644 index 0000000..68242e6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/arguing.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arguing.lua + Script Purpose : for npcs arguing in halas + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0 , Spawn) + FaceTarget(NPC, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "", "", "no", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "", "heckno", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "agree", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "", "frustrated", 0, 0) + elseif choice == 5 then + PlayFlavor(NPC, "", "", "whome", 0, 0) + end + AddTimer(NPC, math.random(3000,15000), "EmoteLoop") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arisenRyGorr.lua b/SpawnScripts/FrostfangSea/arisenRyGorr.lua new file mode 100644 index 0000000..775bf72 --- /dev/null +++ b/SpawnScripts/FrostfangSea/arisenRyGorr.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr.lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 510.72, 24.45, -189.84, 7, 0) + MovementLoopAddLocation(NPC, 508.34, 27.58, -185.98, 7, 0) + MovementLoopAddLocation(NPC, 512.46, 27.67, -194.57, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua b/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua new file mode 100644 index 0000000..cb2bb4c --- /dev/null +++ b/SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(1).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 528.32, 28.07, -210.69 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 525.01, 28.19, -209.87, 7, 0) + MovementLoopAddLocation(NPC, 528.32, 28.07, -210.69 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 529.93, 27.87, -215.16, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua b/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua new file mode 100644 index 0000000..718ba24 --- /dev/null +++ b/SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(2).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 536.09, 27.54, -232.17, 7, 0) + MovementLoopAddLocation(NPC, 535.09, 27.55, -236.44, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua b/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua new file mode 100644 index 0000000..ac8ad7c --- /dev/null +++ b/SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arisenRyGorr_(3).lua + Script Purpose : for the risen ry'gorrs that charge to the coldain spirits + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) + MovementLoopAddLocation(NPC, 546.76, 27.94, -246.18 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 542.41, 27.77, -242.28, 7, 0) + MovementLoopAddLocation(NPC, 546.76, 27.94, -246.18 + math.random(-6,6), 7, 0) + MovementLoopAddLocation(NPC, 546.5, 28.19, -249.81, 7, 0) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arumblinggeode.lua b/SpawnScripts/FrostfangSea/arumblinggeode.lua new file mode 100644 index 0000000..506955d --- /dev/null +++ b/SpawnScripts/FrostfangSea/arumblinggeode.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arumblinggeode.lua + Script Purpose : for the spawn "a rumbling geode" + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GeodeCaching = 69 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function death(NPC, Spawn) + if GetQuestStep(Spawn, GeodeCaching) == 1 then + SpawnMob(GetZone(Spawn), 4701682, 0, GetX(NPC), GetY(NPC), GetZ(NPC), GetHeading(NPC)) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/arustypiton.lua b/SpawnScripts/FrostfangSea/arustypiton.lua new file mode 100644 index 0000000..8143d66 --- /dev/null +++ b/SpawnScripts/FrostfangSea/arustypiton.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/arustypiton.lua + Script Purpose : for the spawn "a rusty piton" + Script Author : theFoof + Script Date : 2013.6.4 + Script Notes : +--]] + +local LooseningGrip = 51 + +function spawn(NPC) + SetRequiredQuest(NPC, LooseningGrip, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'cut the line' then + if GetQuestStep(Spawn, LooseningGrip) == 1 then + AddStepProgress(Spawn, LooseningGrip, 1, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ascragglyshrub.lua b/SpawnScripts/FrostfangSea/ascragglyshrub.lua new file mode 100644 index 0000000..dce11e0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/ascragglyshrub.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ascragglyshrub.lua + Script Purpose : scraggly shrub + Script Author : theFoof + Script Date : 2013.05.15 + Script Notes : +--]] + +local ScragglyFoodstuffs = 9 + +function spawn(NPC) + SetRequiredQuest(NPC, ScragglyFoodstuffs, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "harvest " then + if GetQuestStep(Caster, ScragglyFoodstuffs) == 1 then + AddStepProgress(Caster, ScragglyFoodstuffs, 1, 1) + Despawn(NPC) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aslaincoldain.lua b/SpawnScripts/FrostfangSea/aslaincoldain.lua new file mode 100644 index 0000000..bde9cba --- /dev/null +++ b/SpawnScripts/FrostfangSea/aslaincoldain.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aslaincoldain.lua + Script Purpose : for the spawn "a slain coldain" + Script Author : theFoof + Script Date : 2013.06.3 + Script Notes : +--]] + +local WeaponChoice = 47 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "the body" then + if GetQuestStep(Spawn, WeaponChoice) == 1 then + AddStepProgress(Spawn, WeaponChoice, 1, 1) + Despawn(NPC) + SendMessage(Spawn, "You found a functional coldain weapon.") + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/asnowpack.lua b/SpawnScripts/FrostfangSea/asnowpack.lua new file mode 100644 index 0000000..0238266 --- /dev/null +++ b/SpawnScripts/FrostfangSea/asnowpack.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/asnowpack.lua + Script Purpose : for the spawns "a snowpack" and "an iceflow" + Script Author : theFoof + Script Date : 2013.05.20 + Script Notes : +--]] + +require"SpawnScripts/Generic/MovementCircleSmall" + +local EssentialIngredient = 22 + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == "Bogchild's Iced Trap" then + if GetName(NPC) == "a snowpack" then + if QuestStepIsComplete(Caster, EssentialIngredient, 2) == false then + AddStepProgress(Caster, EssentialIngredient, 2, 1) + Despawn(NPC) + end + elseif GetName(NPC) == 'an iceflow' then + if QuestStepIsComplete(Caster, EssentialIngredient, 1) == false then + AddStepProgress(Caster, EssentialIngredient, 1, 1) + Despawn(NPC) + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aspiritward.lua b/SpawnScripts/FrostfangSea/aspiritward.lua new file mode 100644 index 0000000..c565d48 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aspiritward.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aspiritward.lua + Script Purpose : for despawning a spirit ward + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 10000, "depop") +end + +function depop(NPC) + Despawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua b/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua new file mode 100644 index 0000000..d9c0bb8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/asprintingRyGorrgatecaller.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/asprintingRyGorrgatecaller.lua + Script Purpose : for the sprinting gatecallers near the Great Shelf + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : +--]] + +function spawn(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 5, math.random(0,3)) + MovementLoopAddLocation(NPC, 665.67 + math.random(-7,7), 21.28, -250.8 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 648.25 + math.random(-7,7), 25.98, -272.83 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 638.87 + math.random(-7,7), 33.15, -301.59 + math.random(-7,7), 5, 0, "death_timer") + MovementLoopAddLocation(NPC, 644.30 + math.random(-7,7), 52.16, -344.42 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 661.05 + math.random(-7,7), 74.74, -399.58 + math.random(-7,7), 5, 0) + MovementLoopAddLocation(NPC, 668.04 + math.random(-7,7), 85.46, -435.57 + math.random(-7,7), 5, 0) + +end + +function hailed(NPC, Spawn) + FacetTarget(NPC, Spawn) +end + +function respawn(NPC) + spawn(NPC) +end + +function death_timer(NPC) + AddTimer(NPC, math.random(2000, 23000), "die") -- sets the delay before death after NPC hits the ramp +end + +function die(NPC) -- this makes the closest "a vigilant gauntlet defender" kill the NPC + KillSpawn(NPC, GetSpawn(NPC, 4700076), 1) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/astrangeicecrystal.lua b/SpawnScripts/FrostfangSea/astrangeicecrystal.lua new file mode 100644 index 0000000..3b38dbd --- /dev/null +++ b/SpawnScripts/FrostfangSea/astrangeicecrystal.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/astrangeicecrystal.lua + Script Purpose : for the spawn "a strange ice crystal" + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] + +local BarteringCrystals = 28 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a strange ice crystal' then + if GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddStepProgress(Spawn, BarteringCrystals, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, BarteringCrystals) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua b/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua new file mode 100644 index 0000000..6f618cc --- /dev/null +++ b/SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/asummonedcoldainspirit.lua + Script Purpose : for the spawn "a summoned coldain spirit" + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function killed(NPC, Spawn) + PlayAnimation(NPC, 10893) + PlayAnimation(Spawn, 18414) + local choice = math.random(1,6) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_23b35126.mp3", "Where do ya think you're going?", "", 706272128, 909565004, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_9de55a3e.mp3", "There they are! Let's get em!", "", 3246206943, 366784514, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gm_ab9057d3.mp3", "Looking for me? ", "", 438949611, 3910736957, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_4a1ceaef.mp3", "Ha! I'm not done yet. Get back up!", "", 458619926, 239663782, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 3680771732, 663911723, Spawn) + else + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gm_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 3680771732, 663911723, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/avelinoidseeker.lua b/SpawnScripts/FrostfangSea/avelinoidseeker.lua new file mode 100644 index 0000000..2d81230 --- /dev/null +++ b/SpawnScripts/FrostfangSea/avelinoidseeker.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/avelinoidseeker.lua + Script Purpose : for the spawn "a velinoid seeker" + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : +--]] + +local GoodDistraction = 61 + +function spawn(NPC) +end + +function death(NPC, Spawn) + if not IsAlive(GetTempVariable(NPC, "linked")) then + if GetQuestStep(Spawn, GoodDistraction) == 2 then + SetStepComplete(Spawn, GoodDistraction, 2) + elseif GetQuestStep(Spawn, GoodDistraction) == 4 then + SetStepComplete(Spawn, GoodDistraction, 4) + end + end + SetTempVariable(NPC, "linked", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua b/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua new file mode 100644 index 0000000..1204a70 --- /dev/null +++ b/SpawnScripts/FrostfangSea/avigilantgauntletdefender_(archer).lua @@ -0,0 +1,33 @@ +--[[ + Script Name : FrostfangSea/SpawnScripts/avigilantgauntletdefender_(archer).lua + Script Purpose : for the archer gauntlet defenders + Script Author : theFoof + Script Date : 2013.6.2 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function killed(NPC) + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gf_be4f625e.mp3", "Where do ya think you're going?", "", 152508601, 1517122703) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_aggro_gf_ab9057d3.mp3", "Looking for me? ", "", 407706048, 337475746) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_4a1ceaef.mp3", "Ha! I'm not done yet. Get back up!", "", 1335528281, 2889456217) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_d6c773c7.mp3", "I didn't think I hit em that hard.", "", 4016088326, 632010394) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/dwarf_base_1/ft/dwarf/dwarf_base_1_1_victory_gf_ecd7fa6e.mp3", "An ale for the fallen!", "", 3223559996, 2677275600) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/aweaksparringpartner.lua b/SpawnScripts/FrostfangSea/aweaksparringpartner.lua new file mode 100644 index 0000000..a572d49 --- /dev/null +++ b/SpawnScripts/FrostfangSea/aweaksparringpartner.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/aweaksparringpartner.lua + Script Purpose : a weak sparring partner + Script Author : John Adams + Script Date : 2013.03.19 + Script Notes : Auto-Generated Conversation from PacketParser Data +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") +end + +function respawn(NPC) + spawn(NPC) +end + +function InRange(NPC, Spawn) +end + +function LeaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + + local choice = math.random(1,6) + + if choice == 1 then + PlayFlavor(NPC, "", "You can attack me whenever you're ready. You can do that by double-clicking me, by right clicking me and selecting "attack," by using an offensive ability while you have me targeted, or by turning on auto attack by pressing the ~ key while you have me targeted.", "", 1689589577, 4560189, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "", "Nice.", "", 1689589577, 4560189, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "", "Who's next?", "", 1689589577, 4560189, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "", "Well done!", "", 1689589577, 4560189, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "", "Next!", "", 1689589577, 4560189, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "", "Okay, who's next?", "", 1689589577, 4560189, Spawn) + else + end + +end + diff --git a/SpawnScripts/FrostfangSea/bar_fight.lua b/SpawnScripts/FrostfangSea/bar_fight.lua new file mode 100644 index 0000000..d8b785c --- /dev/null +++ b/SpawnScripts/FrostfangSea/bar_fight.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/bar_fight.lua + Script Purpose : makes an npc emote for a bar fight + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +require"SpawnScripts/Generic/hello_emote" + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + hello(NPC, Spawn) +end + +function EmoteLoop(NPC) + AddTimer(NPC, math.random(3000,15000), "EmoteLoop") + local choice = math.random(1,6) + if choice == 1 then + PlayFlavor(NPC, "", "", "shrug", 0, 0) + elseif choice == 2 then + PlayFlavor(NPC, "", "", "peer", 0, 0) + elseif choice == 3 then + PlayFlavor(NPC, "", "", "stretch", 0, 0) + elseif choice == 4 then + PlayFlavor(NPC, "", "", "yawn", 0, 0) + elseif choice == 5 then + PlayFlavor(NPC, "", "", "tap foot", 0, 0) + elseif choice == 6 then + PlayFlavor(NPC, "", "", "sigh", 0, 0) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/beans.lua b/SpawnScripts/FrostfangSea/beans.lua new file mode 100644 index 0000000..72a249c --- /dev/null +++ b/SpawnScripts/FrostfangSea/beans.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/beans.lua + Script Purpose : beans + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'a handful of halasian beans' then + if GetQuestStep(Spawn, HamBeans) == 1 then + Despawn(NPC) + SetStepComplete(Spawn, HamBeans, 1) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, HamBeans) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/callingthembackcube.lua b/SpawnScripts/FrostfangSea/callingthembackcube.lua new file mode 100644 index 0000000..3b2023c --- /dev/null +++ b/SpawnScripts/FrostfangSea/callingthembackcube.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/callingthembackcube.lua + Script Purpose : spawn access for the runes in the quest "Calling Them Back" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] + +local CallingBack = 35 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, CallingBack) then + local LocID = GetSpawnLocationID(NPC) + if LocID == 572693 then + if not QuestStepIsComplete(Spawn, CallingBack, 1) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572694 then + if not QuestStepIsComplete(Spawn, CallingBack, 2) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572695 then + if not QuestStepIsComplete(Spawn, CallingBack, 3) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572692 then + if not QuestStepIsComplete(Spawn, CallingBack, 4) then + AddSpawnAccess(NPC, Spawn) + end + elseif LocID == 572696 then + if not QuestStepIsComplete(Spawn, CallingBack, 5) then + AddSpawnAccess(NPC, Spawn) + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/caverubbish.lua b/SpawnScripts/FrostfangSea/caverubbish.lua new file mode 100644 index 0000000..229b9c8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/caverubbish.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/caverubbish.lua + Script Purpose : for the spawn "cave rubbish" + Script Author : theFoof + Script Date : 2013.05.19 + Script Notes : +--]] +local SiftingGarbage = 14 + +function spawn(NPC) + SetRequiredQuest(NPC, SiftingGarbage, 1) +end + +function respawn(NPC) +end + +function casted_on(NPC, Caster, SpellName) + if SpellName == "search through the pile" and GetQuestStep(Caster, SiftingGarbage) == 1 then + AddStepProgress(Caster, SiftingGarbage, 1, 1) + Despawn(NPC) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua b/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua new file mode 100644 index 0000000..8b29fb9 --- /dev/null +++ b/SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ceriseveliumcrystalgeode.lua + Script Purpose : for the crystal geodes in the quest "Geode Caching" + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GeodeCaching = 69 + +function spawn(NPC) + SetRequiredQuest(NPC, GeodeCaching, 1) + AddTimer(NPC, 300000, "Despawn") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'gather ' then + Despawn(NPC) + AddStepProgress(Spawn, GeodeCaching, 1, 1) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua b/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua new file mode 100644 index 0000000..b330603 --- /dev/null +++ b/SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/coldain_ice_short_spear.lua + Script Author : Foof + Script Date : 2013.09.24 12:09:24 + Script Purpose : + : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "1494") +end + +function respawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/discarded_sack.lua b/SpawnScripts/FrostfangSea/discarded_sack.lua new file mode 100644 index 0000000..d030050 --- /dev/null +++ b/SpawnScripts/FrostfangSea/discarded_sack.lua @@ -0,0 +1,48 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/discarded_sack.lua + Script Purpose : the spawn "discarded sack" + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'search the discarded sack' then + if GetQuestStep(Spawn, SometimesKnut) == 1 then + conversation = CreateConversation() + AddConversationOption(conversation, "But it's not in the sack any more.", "GrizChat_2") + StartDialogConversation(conversation, 3, NPC, Spawn, "I smell our prey here. It spent much time bedded down at this location.") + end + end +end + +function GrizChat_2(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "Where to next, Griz?", "GrizChat3") + StartDialogConversation(conversation, 3, NPC, Spawn, "It has moved on. But we are on its trail.") +end + +function GrizChat3(NPC, Spawn) + SetStepComplete(Spawn, SometimesKnut, 1) + RemoveSpawnAccess(NPC, Spawn) + conversation = CreateConversation() + AddConversationOption(conversation, "How insightful.") + StartDialogConversation(conversation, 3, NPC, Spawn, "Deeper.") +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/dock_fight1.lua b/SpawnScripts/FrostfangSea/dock_fight1.lua new file mode 100644 index 0000000..753a0b5 --- /dev/null +++ b/SpawnScripts/FrostfangSea/dock_fight1.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/dock_fight1.lua + Script Purpose : the armed NPC fighting on halas docks + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) + SpawnSet(NPC, "emote_state", "16") + SpawnSet(NPC, "action_state", "11420") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "", "attack", 0, 0) + elseif choice == 2 then + PlayAnimation(NPC, 11764) + else + PlayAnimation(NPC, 11890) + end + AddTimer(NPC, math.random(1000,5000), "EmoteLoop") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/dock_fight2.lua b/SpawnScripts/FrostfangSea/dock_fight2.lua new file mode 100644 index 0000000..63689ae --- /dev/null +++ b/SpawnScripts/FrostfangSea/dock_fight2.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/dock_fight2.lua + Script Purpose : the unarmed NPC fighting on halas docks + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) + SpawnSet(NPC, "emote_state", "16") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "", "", "attack", 0, 0) + elseif choice == 2 then + PlayAnimation(NPC, 11764) + else + PlayAnimation(NPC, 11890) + end + AddTimer(NPC, math.random(1000,5000), "EmoteLoop") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/frostbiteregg.lua b/SpawnScripts/FrostfangSea/frostbiteregg.lua new file mode 100644 index 0000000..a7e9a45 --- /dev/null +++ b/SpawnScripts/FrostfangSea/frostbiteregg.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/frostbiteregg.lua + Script Purpose : for the frostbiter eggs in frostfang (unnamed spawn) + Script Author : theFoof + Script Date : 2013.6.1 + Script Notes : +--]] + +local DomesticationSurvivalism = 43 + +function spawn(NPC) + SetRequiredQuest(NPC, DomesticationSurvivalism, 1) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gathering' then + if GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + AddStepProgress(Spawn, DomesticationSurvivalism, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, DomesticationSurvivalism) or GetQuestStep(Spawn, DomesticationSurvivalism) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua b/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua new file mode 100644 index 0000000..925dff0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/frozen_pincer_chowder.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/a_frozen_pincer_chowder.lua + Script Purpose : the spawn frozen_pincer_chowder + Script Author : theFoof + Script Date : 2013.9.2 + Script Notes : +--]] + +local FrozenChowder = 88 + +function spawn(NPC) + SetRequiredQuest(NPC, FrozenChowder, 4) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a bowl of frozen pincer chowder' then + if GetQuestStep(Spawn, FrozenChowder) == 4 then + SetStepComplete(Spawn, FrozenChowder, 4) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, FrozenChowder) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua b/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua new file mode 100644 index 0000000..1d2d3eb --- /dev/null +++ b/SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/good_book_feeding_the_guurok.lua + Script Purpose : for the spawn "good_book_feeding_the_guurok.lua + Script Author : theFoof + Script Date : 2013.5.30 + Script Notes : +--]] +local GreatShelf = 30 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, GreatShelf) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua b/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua new file mode 100644 index 0000000..50913ab --- /dev/null +++ b/SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/hal_obj_cave_rock02.lua + Script Purpose : this changes the size of the rocks in the velinoid caves + Script Author : theFoof + Script Date : 2013.6.13 + Script Notes : this script is assigned to the rock with the location id 572711 +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + local zone = GetZone(NPC) + SpawnSet(GetSpawnByLocationID(zone, 441161), "size", "28") + SpawnSet(GetSpawnByLocationID(zone, 441162), "size", "10") + SpawnSet(GetSpawnByLocationID(zone, 441160), "size", "13") + SpawnSet(GetSpawnByLocationID(zone, 441157), "size", "22") + SpawnSet(NPC, "size", "25") +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, RyGorrOperations) then + if GetQuestStep(Spawn, RyGorrOperations) < 2 then + AddSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/halas_bar_patrons.lua b/SpawnScripts/FrostfangSea/halas_bar_patrons.lua new file mode 100644 index 0000000..29fc4a3 --- /dev/null +++ b/SpawnScripts/FrostfangSea/halas_bar_patrons.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/halas_bar_patrons.lua + Script Purpose : bar patrons in halas + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + EmoteLoop(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) +end + +function EmoteLoop(NPC) + local choice = math.random(1,4) + local emote + if choice == 1 then + emote = "flex" + elseif choice == 2 then + emote = "stretch" + elseif choice == 3 then + emote = "point" + elseif choice == 4 then + emote = "peer" + end + PlayFlavor(NPC, "", "", emote, 0, 0) + AddTimer(NPC, math.random(15000,45000), "EmoteLoop") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua b/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua new file mode 100644 index 0000000..4789c4d --- /dev/null +++ b/SpawnScripts/FrostfangSea/halas_proximity_cheer.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/halas_proximity_cheer.lua + Script Purpose : makes npcs cheer when player gets in proximity + Script Author : theFoof + Script Date : 2013.9.26 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "ProxCheer") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0, Spawn) + FaceTarget(NPC, Spawn) +end + +function ProxCheer(NPC, Spawn) + FaceTarget(NPC, Spawn) + if GetTempVariable(NPC, "cheer_timer") == nil then + PlayFlavor(NPC, "", "", "cheer", 0, 0) + SetTempVariable(NPC, "cheer_timer", "1") + AddTimer(NPC, 15000, "CheerTimer") + end +end + +function CheerTimer(NPC) + SetTempVariable(NPC, "cheer_timer", nil) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua b/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua new file mode 100644 index 0000000..e5c2655 --- /dev/null +++ b/SpawnScripts/FrostfangSea/halas_three_barrels_snow.lua @@ -0,0 +1,67 @@ +--[[ + Script Name : Quests/FrostfangSea/halas_three_barrels_snow.lua + Script Purpose : the spawns "halas_three_barrels_snow_01" and "halas_three_barrels_snow_02" + Script Author : theFoof + Script Date : 2013.5.14 +--]] + +local RepellingCritters = 7 + +function spawn(NPC) + SetRequiredQuest(NPC, RepellingCritters, 3) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Apply the Repellent" and GetQuestStep(Spawn, RepellingCritters) == 3 then + SetStepComplete(Spawn, RepellingCritters, 3) + local zone = GetZone(NPC) -- the following code removes access from publicly spawned raiders, spawns new raiders, makes them path 35 meters south, then despawns them + local raider = GetSpawnByLocationID(zone, 14) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 14) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 15) + RemoveSpawnAccess(raider, Spawn) + local new = GetSpawnByLocationID(zone, 15) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 26) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 26) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 33) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 33) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 38) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 38) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 48) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 48) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 50) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 50) + SpawnRaider(new) + local raider = GetSpawnByLocationID(zone, 74) + RemoveSpawnAccess(raider, Spawn) + local new = SpawnByLocationID(zone, 74) + AddSpawnAccess(new, Spawn) + SpawnRaider(new) + end +end + +function SpawnRaider(NPC) + X = GetX(NPC) + Y = GetY(NPC) + Z = GetZ(NPC) + SetSpeed(NPC, 13) + MoveToLocation(NPC, X, Y, Z + 35) + AddTimer(NPC, 3000, "Despawn") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/ham.lua b/SpawnScripts/FrostfangSea/ham.lua new file mode 100644 index 0000000..d1a73ee --- /dev/null +++ b/SpawnScripts/FrostfangSea/ham.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/ham.lua + Script Purpose : a ham + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local HamBeans = 89 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a plate of ham and beans' then + if GetQuestStep(Spawn, HamBeans) == 4 then + RemoveSpawnAccess(NPC, Spawn) + SetStepComplete(Spawn, HamBeans, 4) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, HamBeans) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua b/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua new file mode 100644 index 0000000..cbb5e20 --- /dev/null +++ b/SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/imbuedRyGorrpickaxe.lua + Script Purpose : for the imbued RyGorr pickaxe spawns + Script Author : theFoof + Script Date : 2013.7.10 + Script Notes : +--]] + +local RyGorrTaking = 76 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetRequiredQuest(NPC, RyGorrTaking, 1) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Gather Pickaxe' then + if GetQuestStep(Spawn, RyGorrTaking) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, RyGorrTaking, 1, 1) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, RyGorrTaking) == 1 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua b/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua new file mode 100644 index 0000000..f05a7be --- /dev/null +++ b/SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/luckywolfpawrecipe.lua + Script Purpose : "lucky wolf paw recipe" sign + Script Author : theFoof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HadAHammer = 12 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + SetRequiredQuest(NPC, HadAHammer, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Player) + if GetQuestStep(Player, HadAHammer) > 0 then + AddSpawnAccess(NPC, Player) + end +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "pick up recipe" then + if HasItem(Caster, 32122) == false and HasQuest(Caster, HadAHammer) then + SummonItem(Caster, 32122) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/opentreasurechest.lua b/SpawnScripts/FrostfangSea/opentreasurechest.lua new file mode 100644 index 0000000..abd3fc0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/opentreasurechest.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/opentreasurechest.lua + Script Purpose : treasure chest in Frostfang Sea + Script Author : theFoof + Script Date : 2013.10.30 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 15, "OpenChest") +end + +function respawn(NPC) + spawn(NPC) +end + +function OpenChest(NPC) + if GetTempVariable(NPC, "open_timer") == nil then + SetTempVariable(NPC, "open_timer", "1") + SpawnSet(NPC, "action_state", "11904") + AddTimer(NPC, 25000, "CloseChest") + end +end + +function CloseChest(NPC) + SetTempVariable(NPC, "open_timer", nil) + SpawnSet(NPC, "action_state", "0") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/orc_summon_portal.lua b/SpawnScripts/FrostfangSea/orc_summon_portal.lua new file mode 100644 index 0000000..d3b9d48 --- /dev/null +++ b/SpawnScripts/FrostfangSea/orc_summon_portal.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orc_summon_portal.lua + Script Purpose : for the portal that spawns orc + Script Author : theFoof + Script Date : 2013.6.8 + Script Notes : +--]] + +function spawn(NPC) + SpawnTimer(NPC) +end + +function SpawnTimer(NPC) + SpawnMob(GetZone(NPC), 4700096, 0, 750.68 + math.random(-4,4), 103.15, -504.11 + math.random(-4,4), 130) + AddTimer(NPC, math.random(0,12000), "SpawnTimer") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/orcnecromancerpet.lua b/SpawnScripts/FrostfangSea/orcnecromancerpet.lua new file mode 100644 index 0000000..9e1977b --- /dev/null +++ b/SpawnScripts/FrostfangSea/orcnecromancerpet.lua @@ -0,0 +1,9 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orcnecromancerpet.lua + Script Purpose : for the orc necromancer pets + Script Author : theFoof + Script Date : 2013.6.6 + Script Notes : +--]] + +removed this script \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/orcpickaxe.lua b/SpawnScripts/FrostfangSea/orcpickaxe.lua new file mode 100644 index 0000000..4958ce1 --- /dev/null +++ b/SpawnScripts/FrostfangSea/orcpickaxe.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/orcpickaxe.lua + Script Purpose : for the spawns "orc pickaxe" + Script Author : theFoof + Script Date : 2013.7.23 + Script Notes : +--]] + +local MysteryIceberg = 80 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasQuest(Spawn, MysteryIceberg) and not QuestStepIsComplete(Spawn, MysteryIceberg, 1) then + if SpellName == 'Gather_Pickaxe' then + AddStepProgress(Spawn, MysteryIceberg, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, MysteryIceberg) and not QuestStepIsComplete(Spawn, MysteryIceberg, 1) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/pie.lua b/SpawnScripts/FrostfangSea/pie.lua new file mode 100644 index 0000000..df57683 --- /dev/null +++ b/SpawnScripts/FrostfangSea/pie.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/pie.lua + Script Purpose : a pie + Script Author : theFoof + Script Date : 2013.9.3 + Script Notes : +--]] + +local KestrelPie = 90 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up a kestrel pot pie' then + if GetQuestStep(Spawn, KestrelPie) == 4 then + RemoveSpawnAccess(NPC, Spawn) + SetStepComplete(Spawn, KestrelPie, 4) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, KestrelPie) == 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua b/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua new file mode 100644 index 0000000..ff7324f --- /dev/null +++ b/SpawnScripts/FrostfangSea/pileofRyGorrbones.lua @@ -0,0 +1,43 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/pileofRyGorrbones.lua + Script Purpose : for the spawn "pile of Ry'Gorr bones" + Script Author : theFoof + Script Date : 2013.5.29 + Script Notes : +--]] +local TheGauntlet = 36 + +local PouringSkellies = 40 + +function spawn(NPC) + SetRequiredQuest(NPC, TheGauntlet, 1, 0, 0, 20) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'Smash the bones' then + if GetQuestStep(Spawn, TheGauntlet) == 1 then + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + AddStepProgress(Spawn, TheGauntlet, 1, 1) + local mob = SpawnMob(GetZone(Spawn), 4701121, 0, X, Y, Z, 0) + Attack(mob, Spawn) + Despawn(NPC) + end + elseif SpellName == 'pour one out' then + if GetQuestStep(Spawn, PouringSkellies) == 1 then + SpawnSet(NPC, "visual_state", "491") + AddTimer(NPC, 4000, "depop") + AddStepProgress(Spawn, PouringSkellies, 1, 1) + SendMessage(Player, "You have poured Fronden's Finest on the orc bones.") + end + end +end + +function depop(NPC, Spawn) + Despawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua b/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua new file mode 100644 index 0000000..8e3564e --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_axebeard_totem.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_axebeard_totem.lua + Script Purpose : for the spawn "qst_axebeard_x4_totem" + Script Author : theFoof + Script Date : 2013.5.28 + Script Notes : +--]] +local TotemAnnihilation = 34 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'destroy the totem' then + if GetQuestStep(Spawn, TotemAnnihilation) == 1 then + AddStepProgress(Spawn, TotemAnnihilation, 1, 1) + Despawn(NPC) + end + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, TotemAnnihilation) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua b/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua new file mode 100644 index 0000000..5812864 --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_herga_x5_helm.lua + Script Purpose : for the helm during the quest "All That Remains" + Script Author : theFoof + Script Date : 2013.6.5 + Script Notes : +--]] + +local AllRemains = 55 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'retrieve the helm' then + if GetQuestStep(Spawn, AllRemains) == 1 then + SetStepComplete(Spawn, AllRemains, 1) + local orc = SpawnByLocationID(GetZone(NPC), 33474) + Attack(orc, Spawn) + elseif GetQuestStep(Spawn, AllRemains) == 3 then + SetStepComplete(Spawn, AllRemains, 3) + RemoveSpawnAccess(NPC, Spawn) + end + end +end + +function SpawnAccess(NPC, Spawn) + if HasQuest(Spawn, AllRemains) and GetQuestStep(Spawn, AllRemains) < 4 then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua b/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua new file mode 100644 index 0000000..18ccc9d --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_redblade_x3_revamp_barricade.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/QstRedbladeX3RevampBarricade.lua + Script Purpose : handles the barricade spawn on Pilgrims' Landing + Script Author : theFoof + Script Date : 2013.5.6 + Script Notes : +--]] + +local BoatloadWork = 4 + +function spawn(NPC, Player) + SpawnSet(NPC, "activity_state", "0") + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "CheckQuest", "CheckQuest") + if HasCompletedQuest(Player, BoatloadWork) or GetQuestStep(Player, BoatloadWork) == 4 then + AddSpawnAccess(NPC, Player) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function CheckQuest(NPC, Player) + if HasCompletedQuest(Player, BoatloadWork) or GetQuestStep(Player, BoatloadWork) == 4 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua b/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua new file mode 100644 index 0000000..bce7100 --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x2_orc_tent6_invis_cube.lua + Script Purpose : for the fire tent fire invis cubes + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, 25000, "Despawn") +end + +function respawn(NPC) +end diff --git a/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua b/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua new file mode 100644 index 0000000..f4fbd1d --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x2_rygorr_tent.lua + Script Purpose : for the quest tent spawns + Script Author : theFoof + Script Date : 2013.6.20 + Script Notes : +--]] + +local HighlyMaterials = 74 + +function spawn(NPC) + SetRequiredQuest(NPC, HighlyMaterials, 2) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'burn tent' then + if GetQuestStep(Spawn, HighlyMaterials) == 2 then + local zone = GetZone(NPC) + if GetSpawnLocationID(NPC) == 435782 then + local fire = SpawnByLocationID(zone, 572721) + elseif GetSpawnLocationID(NPC) == 435783 then + local fire = SpawnByLocationID(zone, 572720) + elseif GetSpawnLocationID(NPC) == 435788 then + local fire = SpawnByLocationID(zone, 572719) + elseif GetSpawnLocationID(NPC) == 435793 then + local fire = SpawnByLocationID(zone, 572722) + elseif GetSpawnLocationID(NPC) == 435792 then + local fire = SpawnByLocationID(zone, 572718) + elseif GetSpawnLocationID(NPC) == 435790 then + local fire = SpawnByLocationID(zone, 442666) + end + AddStepProgress(Spawn, HighlyMaterials, 2, 1) + AddTimer(fire, 25000, "Despawn") + AddTimer(NPC, 5000, "KillArea") + end + end +end + +function KillArea(NPC) + KillSpawnByDistance(NPC, 10, 0, 0) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua b/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua new file mode 100644 index 0000000..2828fbe --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_scourgeson_x5_ceiling_crystals.lua + Script Purpose : for the ceiling crystal spawns in the velinoid caves + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : +--]] + +local WatchBelow = 77 + +function spawn(NPC) + SetRequiredQuest(NPC, WatchBelow, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'knock off a crystal' then + x = GetX(NPC) + z = GetZ(NPC) + SetTempVariable(Spawn, "crystal_x", x) + SetTempVariable(Spawn, "crystal_z", z) + SetSpeed(NPC, 5) + AddTimer(NPC, 3000, "SpawnCrystal", 1, Spawn) + MoveToLocation(NPC, x, GetY - 25, z) + end +end + +function SpawnCrystal(NPC, Spawn) + SpawnMob(GetZone(NPC), 4701752, 0, GetTempVariable(Spawn, "crystal_x"), GetY(Spawn), GetTempVariable(Spawn, "crystal_z"), GetHeading(NPC)) + Despawn(NPC) + SetTempVariable(Spawn, "crystal_x", nil) + SetTempVariable(Spawn, "crystal_z", nil) +end diff --git a/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua b/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua new file mode 100644 index 0000000..81903c6 --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_veliumdelver_barrel.lua + Script Purpose : for the qst_veliumdelver_barrel spawns + Script Author : theFoof + Script Date : 2013.6.11 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + SetRequiredQuest(NPC, RyGorrOperations, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "gather " then + if GetQuestStep(Spawn, RyGorrOperations) == 1 then + if not HasItem(Spawn, 47881) then + SummonItem(Spawn, 47881) + Despawn(NPC) + end + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua b/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua new file mode 100644 index 0000000..16ac5c1 --- /dev/null +++ b/SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/qst_veliumdelver_x5_wall_expolsion.lua + Script Purpose : the exploding animation for the ry'gorr exploding barrel as well as hiding the boulder + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + AddTimer(NPC, 2600, "explosion") +end + +function respawn(NPC) + spawn(NPC) +end + +function explosion(NPC) + local player = GetTempVariable(NPC, "player") + local wall = GetSpawnByLocationID(GetZone(NPC), 441164) + local wallrock = GetSpawnByLocationID(GetZone(NPC), 572711) + SpawnSet(NPC, "visual_state", "1491") + RemoveSpawnAccess(wall, player) + RemoveSpawnAccess(wallrock, player) + AddTimer(NPC, 500, "kill_explosion") + SetStepComplete(player, RyGorrOperations, 1) + SetTempVariable(NPC, "player", nil) +end + +function kill_explosion(NPC) + SpawnSet(NPC, "visual_state", "0") + AddTimer(NPC, 4000, "Despawn") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/respawngraveswregan.lua b/SpawnScripts/FrostfangSea/respawngraveswregan.lua new file mode 100644 index 0000000..2d4dfdd --- /dev/null +++ b/SpawnScripts/FrostfangSea/respawngraveswregan.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/respawngraveswregan.lua + Script Purpose : spawn access for the grave near Gwenevyn's Cove + Script Author : theFoof + Script Date : 2013.05.22 + Script Notes : +--]] +local SiftingGarbage = 14 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, SiftingGarbage) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/rolling_rocks.lua b/SpawnScripts/FrostfangSea/rolling_rocks.lua new file mode 100644 index 0000000..845e7ef --- /dev/null +++ b/SpawnScripts/FrostfangSea/rolling_rocks.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/rolling_rocks.lua + Script Purpose : rolling rocks + Script Author : theFoof + Script Date : 2013.11.15 + Script Notes : +--]] + +function spawn(NPC) + AddTimer(NPC, math.random(0,3000), "MovementPath") +end + +function respawn(NPC) + spawn(NPC) +end + +function MovementPath(NPC) + MovementLoopAddLocation(NPC, -144.44, 134.08, -191.65, 4, 0) + MovementLoopAddLocation(NPC, -151.8, 119.21, -205.99, 4, 0) + MovementLoopAddLocation(NPC, -150.61, 102.01, -219.03, 4, 0) + MovementLoopAddLocation(NPC, -137, 82.64, -236.36, 4, 0) + MovementLoopAddLocation(NPC, -125.34, 58.25, -281.31, 4, 0) + MovementLoopAddLocation(NPC, -64.76 + math.random(-10, 10), 32.92, -283.73 + math.random(-5,5), 4, 5, "Despawn") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/sackofcoal.lua b/SpawnScripts/FrostfangSea/sackofcoal.lua new file mode 100644 index 0000000..99d841a --- /dev/null +++ b/SpawnScripts/FrostfangSea/sackofcoal.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/sackofcoal.lua + Script Purpose : "sack of coal" sign + Script Author : theFoof + Script Date : 2013.5.15 + Script Notes : +--]] + +local HadAHammer = 12 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Player) + if GetQuestStep(Player, HadAHammer) > 1 then + AddSpawnAccess(NPC, Player) + end +end + +function casted_on(Target, Caster, SpellName) + if SpellName == "gather coal" then + if HasItem(Caster, 5771) == false and HasQuest(Caster, HadAHammer) then + SummonItem(Caster, 5771) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/shardofglowingvelium.lua b/SpawnScripts/FrostfangSea/shardofglowingvelium.lua new file mode 100644 index 0000000..913be8a --- /dev/null +++ b/SpawnScripts/FrostfangSea/shardofglowingvelium.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/shardofglowingvelium.lua + Script Purpose : for the spawn "shard of glowing velium" + Script Author : theFoof + Script Date : 2013.7.18 + Script Notes : +--]] + +local WatchBelow = 77 + +function spawn(NPC) + SetRequiredQuest(NPC, WatchBelow, 1) + AddTimer(NPC, 25000, "Despawn") +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'pick up crystal shard' then + if GetQuestStep(Spawn, WatchBelow) == 1 then + Despawn(NPC) + AddStepProgress(Spawn, WatchBelow, 1, 1) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/sign_coldain_house03.lua b/SpawnScripts/FrostfangSea/sign_coldain_house03.lua new file mode 100644 index 0000000..4dfbf3a --- /dev/null +++ b/SpawnScripts/FrostfangSea/sign_coldain_house03.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/sign_coldain_house03.lua + Script Purpose : hides the quarmarr house sign until questline is done + Script Author : theFoof + Script Date : 2013.9.24 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function SpawnAccess(NPC, Spawn) + if HasCompletedQuest(Spawn, 30) then + AddSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/signalfire.lua b/SpawnScripts/FrostfangSea/signalfire.lua new file mode 100644 index 0000000..a312f6b --- /dev/null +++ b/SpawnScripts/FrostfangSea/signalfire.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/signalfire.lua + Script Purpose : setting signal fire private spawn access + Script Author : theFoof + Script Date : 2013.5.9 + Script Notes : +--]] + +local FlameOn = 5 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 75, "CheckQuest", "CheckQuest") +end + +function CheckQuest(NPC, Player) + if HasCompletedQuest(Player, FlameOn) or GetQuestStep(Player, FlameOn) > 1 then + AddSpawnAccess(NPC, Player) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/spider_puffs.lua b/SpawnScripts/FrostfangSea/spider_puffs.lua new file mode 100644 index 0000000..aca57f0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/spider_puffs.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/spider_puffs.lua + Script Purpose : the spawn spider_puffs + Script Author : theFoof + Script Date : 2013.8.27 + Script Notes : +--]] + +local SpiderPuffs = 87 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if GetQuestStep(Spawn, SpiderPuffs) == 4 then + if SpellName == "pick up a plate of spider puffs" then + SetStepComplete(Spawn, SpiderPuffs, 4) + RemoveSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/valorian_bloom.lua b/SpawnScripts/FrostfangSea/valorian_bloom.lua new file mode 100644 index 0000000..cb9e4f0 --- /dev/null +++ b/SpawnScripts/FrostfangSea/valorian_bloom.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/valorian_bloom.lua + Script Purpose : makes valorian blooms ghostly + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) + SpawnSet(NPC, "action_state", "6193") + SpawnSet(NPC, "mood_state", "1902") +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/veliumshard.lua b/SpawnScripts/FrostfangSea/veliumshard.lua new file mode 100644 index 0000000..7f2e9ed --- /dev/null +++ b/SpawnScripts/FrostfangSea/veliumshard.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/veliumshard.lua + Script Purpose : for the spawn "velium shard" + Script Author : theFoof + Script Date : 2013.5.31 + Script Notes : +--]] + +local NoWork = 41 + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) + SetPlayerProximityFunction(NPC, 50, "SpawnAccess", "SpawnAccess") +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'collect the shard' then + AddStepProgress(Spawn, NoWork, 1, 1) + Despawn(NPC) + end +end + +function SpawnAccess(NPC, Spawn) + if GetQuestStep(Spawn, NoWork) == 1 then + AddSpawnAccess(NPC, Spawn) + else + RemoveSpawnAccess(NPC, Spawn) + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua b/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua new file mode 100644 index 0000000..0e9ecb8 --- /dev/null +++ b/SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_kinloch_x3_orc_flame.lua + Script Purpose : for the ry'gorr torches + Script Author : theFoof + Script Date : 2013.6.15 + Script Notes : +--]] + +local GreenMystery = 67 + +function spawn(NPC) + SetRequiredQuest(NPC, GreenMystery, 1) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if HasItem(Spawn, 7928) then + if SpellName == 'melt the green ice' then + if GetQuestStep(Spawn, GreenMystery) == 1 then + AddStepProgress(Spawn, GreenMystery, 1, 1) + local invis_cube = GetSpawn(NPC, 4701576) + SpawnSet(invis_cube, "visual_state", "17420") + AddTimer(NPC, 30000, "RemoveGas", 1, invis_cube) + end + end + else + SendMessage(Spawn, "You must have green ice to do this!", "yellow") + end +end + +function RemoveGas(NPC, cube) + SpawnSet(cube, "visual_state", "0") +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua b/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua new file mode 100644 index 0000000..c6b5c05 --- /dev/null +++ b/SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_qst_orcbane_x6_black_shard_cart.lua + Script Purpose : the black shard cart + Script Author : theFoof + Script Date : 2013.8.11 + Script Notes : +--]] + +local SometimesKnut = 84 + +function spawn(NPC) + SetRequiredQuest(NPC, SometimesKnut, 3) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == 'break the black shard!' then + if GetQuestStep(Spawn, SometimesKnut) == 3 then + SetStepComplete(Spawn, SometimesKnut, 3) + RemoveSpawnAccess(GetSpawnByLocationID(GetZone(Spawn), 579551), Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua b/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua new file mode 100644 index 0000000..4f65d1a --- /dev/null +++ b/SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_scourgeson_x2_orc_provisions.lua + Script Purpose : for the orc provisions + Script Author : theFoof + Script Date : 2013.6.24 + Script Notes : +--]] + +local CampsideSpores = 75 + +function spawn(NPC) + SetRequiredQuest(NPC, CampsideSpores, 1) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "apply the crustose spores" then + if GetQuestStep(Spawn, CampsideSpores) == 1 then + AddStepProgress(Spawn, CampsideSpores, 1, 1) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + local zone = GetZone(NPC) + local shroom1 = SpawnMob(zone, 4700408, 1, X + math.random(-5,5), Y, Z + math.random(-5,5), math.random(0,360)) + SpawnSet(shroom1, "attackable", "0") + SpawnSet(shroom1, "show_level", "0") + AddTimer(shroom1, 25000, "Despawn") + local shroom2 = SpawnMob(zone, 4700019, 1, X + math.random(-5,5), Y, Z + math.random(-5,5), math.random(0,360)) + SpawnSet(shroom2, "attackable", "0") + SpawnSet(shroom2, "show_level", "0") + AddTimer(shroom2, 25000, "Despawn") + local orc = SpawnMob(zone, 4701172, 0, X + math.random(-10,10), Y, Z + math.random(-10,10), math.random(0,360)) + Attack(orc, Spawn) + AddSpawnAccess(shroom1, Spawn) + AddSpawnAccess(shroom2, Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua b/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua new file mode 100644 index 0000000..0f4af71 --- /dev/null +++ b/SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : SpawnScripts/FrostfangSea/widget_velium_barricade_01.lua + Script Purpose : for the giant boulder barrier in the velinoid caves + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +local RyGorrOperations = 60 + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 100, "SpawnAccess", "SpawnAccess") + AddSpawnAccess(NPC, NPC) +end + +function SpawnAccess(NPC, Spawn) + if not HasCompletedQuest(Spawn, RyGorrOperations) then + if GetQuestStep(Spawn, RyGorrOperations) ~= 2 and GetQuestStep(Spawn, RyGorrOperations) ~= 3 then + AddSpawnAccess(NPC, Spawn) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/Generic/GearBot.lua b/SpawnScripts/Generic/GearBot.lua new file mode 100644 index 0000000..1fc026a --- /dev/null +++ b/SpawnScripts/Generic/GearBot.lua @@ -0,0 +1,129 @@ +--[[ + Script Name : SpawnScripts/Generic/GearBot.lua + Script Purpose : gear bot for testers + Script Author : theFoof + Script Date : 2013.5.23 + Script Notes : +--]] +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + local class = GetClass(Spawn) + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_6.mp3", "Go now, and begin the trials that I have set for you.", "", 1244918730, 586509135, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_4.mp3", "You show potential, but there are many who seek the auspices of Lucan, and I only have time for champions.", "", 2060818628, 3998142234, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/overlord_lucan_d_lere/fprt_west/lucan_isle_speech_9.mp3", "With my guidance, you shall gain power and glory as you have never imagined, but should you turn against me, you will find that my wrath is a terrible thing ... Now go!", "", 3855854568, 2247480313, Spawn) + end + if class >= 1 and class <=10 and class ~= 6 and class ~= 7 then + if HasItem(Spawn, 137284) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137284) + SummonItem(Spawn, 137285) + SummonItem(Spawn, 137286) + SummonItem(Spawn, 137287) + SummonItem(Spawn, 137288) + SummonItem(Spawn, 137289) + SummonItem(Spawn, 137290) + if class == 1 or class == 2 then + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72682) + SummonItem(Spawn, 40049) + SummonItem(Spawn, 50659) + else + SummonItem(Spawn, 72712) + SummonItem(Spawn, 50659) + SummonItem(Spawn, 70283) + SummonItem(Spawn, 40049) + SummonItem(Spawn, 72682) + end + end + elseif class == 6 or class == 7 then + if HasItem(Spawn, 72707) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 72707) + SummonItem(Spawn, 72707) + SummonItem(Spawn, 70283) + SummonItem(Spawn, 190164) + SummonItem(Spawn, 190165) + SummonItem(Spawn, 190166) + SummonItem(Spawn, 190167) + SummonItem(Spawn, 190168) + SummonItem(Spawn, 190169) + SummonItem(Spawn, 190170) + end + elseif class == 13 or class == 14 then + if HasItem(Spawn, 137284) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137284) + SummonItem(Spawn, 137285) + SummonItem(Spawn, 137286) + SummonItem(Spawn, 137287) + SummonItem(Spawn, 137288) + SummonItem(Spawn, 137289) + SummonItem(Spawn, 137290) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class == 16 or class == 17 then + if HasItem(Spawn, 190164) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 190164) + SummonItem(Spawn, 190165) + SummonItem(Spawn, 190166) + SummonItem(Spawn, 190167) + SummonItem(Spawn, 190168) + SummonItem(Spawn, 190169) + SummonItem(Spawn, 190170) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class == 19 or class == 20 then + if HasItem(Spawn, 137271) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137271) + SummonItem(Spawn, 137272) + SummonItem(Spawn, 137273) + SummonItem(Spawn, 137274) + SummonItem(Spawn, 137275) + SummonItem(Spawn, 137276) + SummonItem(Spawn, 137277) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 50119) + SummonItem(Spawn, 72734) + SummonItem(Spawn, 72713) + end + elseif class >= 22 and class <= 30 then + if HasItem(Spawn, 175094) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 175094) + SummonItem(Spawn, 175096) + SummonItem(Spawn, 175097) + SummonItem(Spawn, 175100) + SummonItem(Spawn, 175101) + SummonItem(Spawn, 175105) + SummonItem(Spawn, 175107) + SummonItem(Spawn, 175108) + SummonItem(Spawn, 70287) + end + elseif class >= 31 then + if HasItem(Spawn, 137271) == false then + SendPopUpMessage(Spawn, "Check your bags", 0, 255, 255) + SummonItem(Spawn, 137271) + SummonItem(Spawn, 137272) + SummonItem(Spawn, 137273) + SummonItem(Spawn, 137274) + SummonItem(Spawn, 137275) + SummonItem(Spawn, 137276) + SummonItem(Spawn, 137277) + SummonItem(Spawn, 40050) + SummonItem(Spawn, 72716) + SummonItem(Spawn, 72716) + end + end +end \ No newline at end of file diff --git a/SpawnScripts/Generic/GenericCraftingTrainer.lua b/SpawnScripts/Generic/GenericCraftingTrainer.lua new file mode 100644 index 0000000..7bc0f6d --- /dev/null +++ b/SpawnScripts/Generic/GenericCraftingTrainer.lua @@ -0,0 +1,212 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericCraftingTrainer.lua + Script Purpose : + Script Author : theFoof (SendSecondaryChoice() by Jabantiz) + Script Date : 2013.10.20 + Script Notes : This script handles crafting trainers +--]] + +local artisan_ess_1 = 31371 +local artisan_ess_2 = 31373 +local ARTISAN = 1 +local CRAFTSMAN = 2 +local PROVISIONER = 3 +local WOODWORKER = 4 +local CARPENTER = 5 +local OUTFITTER = 6 +local ARMORER = 7 +local WEAPONSMITH = 8 +local TAILOR = 9 +local SCHOLAR = 10 +local JEWELER = 11 +local SAGE = 12 +local ALCHEMIST = 13 + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + CraftingTrainerHail(NPC, Spawn) +end + +function CraftingTrainerHail(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if GetTradeskillLevel(Spawn) < 9 then + if not HasBooks(Spawn) or GetTradeskillLevel(Spawn) < 2 then + AddConversationOption(conversation, "Yes, please teach me.", "GiveBooks") + AddConversationOption(conversation, "No, not at the moment.", "Chat1") + StartConversation(conversation, NPC, Spawn, "You show interest in the crafting trade. Good. We can always use talented artisans. I can help you get started. Would you be interested?") + else + Chat2(NPC, Spawn) + end + elseif GetTradeskillLevel(Spawn) == 9 then + Chat4(NPC, Spawn) + elseif GetTradeskillLevel(Spawn) == 19 then + Chat5(NPC, Spawn) + elseif GetTradeskillLevel(Spawn) < 20 then + Chat2(NPC, Spawn) + else + PlayFlavor(NPC, "", "You have learned everything I have to teach. You are free to use our crafting facilities to hone your skills and master your craft.", "hello", 0, 0, Spawn) + end +end + + +function HasBooks(Spawn) + local has_books = true + + --check if the player has certain recipe books + if not HasRecipeBook(Spawn, artisan_ess_1) and not HasItem(Spawn, artisan_ess_1, 1) then + has_books = false + end + if not HasRecipeBook(Spawn, artisan_ess_2) and not HasItem(Spawn, artisan_ess_2, 1) then + has_books = false + end + + return has_books +end + +function GiveBooks(NPC, Spawn) + --give recipe books if not scribed and does not have + if not HasRecipeBook(Spawn, artisan_ess_1) and not HasItem(Spawn, artisan_ess_1, 1) then + SummonItem(Spawn, artisan_ess_1, 1) + end + if not HasRecipeBook(Spawn, artisan_ess_2) and not HasItem(Spawn, artisan_ess_2, 1) then + SummonItem(Spawn, artisan_ess_2, 1) + end + if GetTradeskillLevel(Spawn) < 2 then + SetTradeskillClass(Spawn, ARTISAN) + SetTradeskillLevel(Spawn, 2) + end + Chat3(NPC, Spawn) +end + +function Chat1(NPC, Spawn) + PlayFlavor(NPC, "", "Oh, well feel free to come back later whenever you'd like.", "", 1689589577, 4560189, Spawn) +end + +function Chat2(NPC, Spawn) + PlayFlavor(NPC, "", "I have nothing else to teach you for the moment. Please return to me when you have earned enough experience to choose your profession.", "", 1689589577, 4560189, Spawn) +end + +function Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I will start on that now.") + StartConversation(conversation, NPC, Spawn, "There, you now have knowledge required to begin crafting. Speak to the Tradeskill Tutor for more detailed guidance on learning to craft, if you are interested in more information. Return to me when you are ready to select a crafting specialty.") +end + +function Chat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "My name is " .. GetName(Spawn) ..".", "SendSecondaryChoice") + AddConversationOption(conversation, "No thank you, I'll come back later.") + StartConversation(conversation, NPC, Spawn, "I'm glad you have come back for more training, it looks like you've learned quite a bit in a very short time. I can certify you in your chosen trade class. Before I begin your paperwork, I'll need your name.") +end + +function Chat5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "My name is " .. GetName(Spawn) .. ".", "Send" .. GetTradeskillClassName(Spawn) .. "Choice") + StartConversation(conversation, NPC, Spawn, "I'm glad that you continued on as a " .. GetTradeskillClassName(Spawn) .. " and came back to advance your skills. I can certify you in your chosen trade specialty. I need your name before I can start your paperwork.") +end + +function SendSecondaryChoice(NPC, Spawn) + window = CreateOptionWindow() + AddOptionWindowOption(window, "Craftsman", "Craftsmen become carpenters, provisioners, or woodworkers. They make furniture and strong boxes, food, drink, bows, arrows, totems, wooden weapons, and wooden shields.", 1, 420, "select_craftsman") + AddOptionWindowOption(window, "Outfitter", "Outfitters become armorers, tailors, or weaponsmiths. They make plate and chainmail armor, heavy shields, cloth and leather armor, casual clothing, backpacks, hex dolls, and metal weapons.", 1, 411, "select_outfitter") + AddOptionWindowOption(window, "Scholar", "Scholars become alchemists, jewelers, and sages. They make spell and combat art upgrades for adventurers, potions, poisons, and jewelry.", 1, 396, "select_scholar") + SendOptionWindow(window, Spawn, "Select A Profession") +end + +function select_craftsman(NPC, Spawn) + SetTradeskillClass(Spawn, CRAFTSMAN) + SetTradeskillLevel(Spawn, 10) +end + +function select_outfitter(NPC, Spawn) + SetTradeskillClass(Spawn, OUTFITTER) + SetTradeskillLevel(Spawn, 10) +end + +function select_scholar(NPC, Spawn) + SetTradeskillClass(Spawn, SCHOLAR) + SetTradeskillLevel(Spawn, 10) +end + +function SendOutfitterChoice(NPC, Spawn) + window = CreateOptionWindow() + AddOptionWindowOption(window, "Armorer", "Armorers are skilled at creating plate and chainmail armor.", 2, 40, "select_armorer") + AddOptionWindowOption(window, "Weaponsmith", "Weaponsmiths specialize in making metal weapons of all damage types.", 2, 41, "select_weaponsmith") + AddOptionWindowOption(window, "Tailor", "Tailors make cloth and leather armor, casual clothing, backpacks, hex dolls, and ammo holders.", 2, 42, "select_tailor") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_armorer(NPC, Spawn) + SetTradeskillClass(Spawn, ARMORER) + SetTradeskillLevel(Spawn, 20) +end + +function select_weaponsmith(NPC, Spawn) + SetTradeskillClass(Spawn, WEAPONSMITH) + SetTradeskillLevel(Spawn, 20) +end + +function select_tailor(NPC, Spawn) + SetTradeskillClass(Spawn, TAILOR) + SetTradeskillLevel(Spawn, 20) +end + +function SendScholarChoice(NPC, Spawn) + local window = CreateOptionWindow() + AddOptionWindowOption(window, "Sage", "Sages specialize in making spell upgrade scrolls for mages and priests.", 2, 37, "select_sage") + AddOptionWindowOption(window, "Alchemist", "Alchemists make fighter combat art upgrades, potions, and poisons.", 2, 38, "select_alchemist") + AddOptionWindowOption(window, "Jeweler", "Jewelers make upgrades for scout combat arts, as well as jewelery such as rings, earrings, necklaces, bracelets, and belts.", 2, 39, "select_jeweler") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_sage(NPC, Spawn) + SetTradeskillClass(Spawn, SAGE) + SetTradeskillLevel(Spawn, 20) +end + +function select_alchemist(NPC, Spawn) + SetTradeskillClass(Spawn, ALCHEMIST) + SetTradeskillLevel(Spawn, 20) +end + +function select_jeweler(NPC, Spawn) + SetTradeskillClass(Spawn, JEWELER) + SetTradeskillLevel(Spawn, 20) +end + +function SendCraftsmanChoice(NPC, Spawn) + local window = CreateOptionWindow() + AddOptionWindowOption(window, "Carpenter", "Carpenters make furniture of all types, strong boxes, and a variety of sales crates.", 2, 44, "select_carpenter") + AddOptionWindowOption(window, "Provisioner", "Provisioners make food and drink that will regenerate health and power faster between battles.", 2, 43, "select_provisioner") + AddOptionWindowOption(window, "Woodworker", "Woodworkers make wooden weapons, totems, bows, arrows, and wooden shields.", 2, 45, "select_woodworker") + SendOptionWindow(window, Spawn, "Select A Class") +end + +function select_carpenter(NPC, Spawn) + SetTradeskillClass(Spawn, CARPENTER) + SetTradeskillLevel(Spawn, 20) +end + +function select_provisioner(NPC, Spawn) + SetTradeskillClass(Spawn, PROVISIONER) + SetTradeskillLevel(Spawn, 20) +end + +function select_woodworker(NPC, Spawn) + SetTradeskillClass(Spawn, WOODWORKER) + SetTradeskillLevel(Spawn, 20) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua b/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua index 96d7f70..b46f024 100644 --- a/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua +++ b/SpawnScripts/Generic/GenericMerchantVoiceOvers.lua @@ -1,8 +1,8 @@ --[[ Script Name : SpawnScripts/Generic/GenericMerchantVoiceOvers.lua Script Purpose : Handles the generic hails for merchants. - Script Author : Scatman - Script Date : 2009.10.03 + Script Author : Scatman (finished by theFoof) + Script Date : 2009.10.03 (2013.5.23) Script Notes : --]] @@ -29,145 +29,591 @@ local SARNAK = 18 local MALE = 1 local FEMALE = 2 +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + GenericMerchantHail(NPC, Spawn, faction) +end + function GenericMerchantHail(NPC, Spawn, faction) - if NPC ~= nil then - local race = GetRace(NPC) - local gender = GetGender(NPC) - - if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then - if race == BARBARIAN then - if gender == MALE then - elseif gender == FEMALE then + race = GetRace(NPC) + gender = GetGender(NPC) + local zone = GetZone(NPC) + if GetZoneID(zone) >= 220 and GetZoneID(zone) <= 238 then + GOOD = true + elseif GetZoneID(zone) == 207 then + GOOD = true + elseif GetZoneID(zone) >= 195 and GetZoneID(zone) <= 198 then + GOOD = true + elseif GetZoneID(zone) == 589 or GetZoneID(zone) == 660 then + GOOD = true + elseif GetZoneID(zone) == 470 then + GOOD = true + elseif GetZoneID(zone) == 45 then + NEUTRAL = true + elseif GetZoneID(zone) >= 124 and GetZoneID(zone) <= 128 then + EVIL = true + elseif GetZoneID(zone) >= 134 and GetZoneID(zone)<= 168 then + EVIL = true + end + if race >= 0 and race <= 18 and gender >= 1 and gender <= 2 then + if race == BARBARIAN then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 235175968, 3339718033, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 2645212460, 3162600369, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2075685854, 2333149890, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/barbarian_eco_evil_1/ft/service/merchant/barbarian_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 910886868, 2769739896, Spawn) + end + elseif GOOD then end - elseif race == DARK_ELF then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + if GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1536664189, 3665435010, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3015552699, 2771723491, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2063097698, 2494171847, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1501437320, 1208713152, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/barbarian_eco_good_1/ft/service/merchant/barbarian_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2483059399, 3985999050, Spawn) + end + elseif EVIL then end - elseif race == DWARF then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == DARK_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1403936443, 3068231605, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2781916825, 678640011, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 898812878, 1402234103, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1302153135, 3653961458, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3860282907, 2830883681, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1457896156, 727813168, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2250198640, 1947969981, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/darkelf_eco_evil_1/ft/service/merchant/darkelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1486780566, 1792397389, Spawn) + end + end + elseif race == DWARF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies, right before ya, to fill your adventuring needs.", "smile", 2986424867, 2267649224, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 3654607078, 2614139251, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2230797709, 3854601007, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2160906698, 176729787, Spawn) end - elseif race == ERUDITE then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2158784304, 1517987989, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What is it I can help you with?", "bow", 578929529, 647853, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2476632966, 344262300, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/dwarf_eco_good_1/ft/service/merchant/dwarf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 3245529092, 259619326, Spawn) end - elseif race == FROGLOK then - if gender == MALE then - local choice = math.random(1, 3) + end + elseif race == ERUDITE then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3214856518, 2753581081, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3397939934, 3975525417, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1834072357, 2642830337, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) if choice == 1 then - PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "", 3275840542, 3533002656, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 3892898109, 888385496, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on take a look at the stock. You'll never beat this price in the city. I guarantee it!", "", 1103160236, 2382190453, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 857840270, 941389485, Spawn) elseif choice == 3 then - PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "", 4162169560, 3669848700, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 4271285862, 1774320762, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2447200130, 2600666744, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/erudite_eco_good_2/ft/service/merchant/erudite_merchant_service_good_2_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 4242410919, 3368229094, Spawn) end - elseif gender == FEMALE then end - elseif race == GNOME then - if gender == MALE then - elseif gender == FEMALE then - local choice = math.random(1, 4) + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2944389248, 2464861027, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 3938058402, 2276035503, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_evil_1/ft/service/merchant/erudite_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 83870236, 433715613, Spawn) + end + elseif GOOD then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 212313057, 12730672, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/erudite_eco_good_1/ft/service/merchant/erudite_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2546361989, 1647933100, Spawn) + end + end + end + elseif race == FROGLOK then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "", 3275840542, 3533002656, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on take a look at the stock. You'll never beat this price in the city. I guarantee it!", "", 1103160236, 2382190453, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "", 4162169560, 3669848700, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/froglok_eco_good_1/ft/service/merchant/froglok_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "", 3778390452, 4026406833, Spawn) + end + elseif gender == FEMALE then + end + elseif race == GNOME then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) if choice == 1 then - PlayFlavor(NPC, "", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1689589577, 4560189, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 991835348, 673767052, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 246082736, 1176624798, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 4264249232, 4201092275, Spawn) elseif choice == 3 then - PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3111567662, 3548853636, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1076899557, 563502184, Spawn) elseif choice == 4 then - PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1338601146, 1643268062, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1962442487, 899461162, Spawn) end + elseif GOOD then end - elseif race == HALF_ELF then - if gender == MALE then - local choice = math.random(1, 5) + elseif gender == FEMALE then + if GOOD then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3470306310, 1316518467, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 246082736, 1176624798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3111567662, 3548853636, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/gnome_eco_good_1/ft/service/merchant/gnome_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1338601146, 1643268062, Spawn) + end + elseif EVIL then + local choice = math.random(1,4) if choice == 1 then - PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1293853317, 115757857, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_aoi_gf_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 53934921, 2834276715, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 397083190, 607860501, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2509544157, 3594072091, Spawn) elseif choice == 3 then - PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3839095688, 1767190740, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1324995812, 3252792374, Spawn) elseif choice == 4 then - PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1745995078, 3389510546, Spawn) - elseif choice == 5 then - PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2835834469, 3534853920, Spawn) + PlayFlavor(NPC, "voiceover/english/gnome_eco_evil_1/ft/service/merchant/gnome_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3830210026, 2739804736, Spawn) end - elseif gender == FEMALE then end - elseif race == HALFLING then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == HALF_ELF then + if gender == MALE then + if GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1293853317, 115757857, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 397083190, 607860501, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3839095688, 1767190740, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1745995078, 3389510546, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_good_1/ft/service/merchant/halfelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2835834469, 3534853920, Spawn) + end + elseif EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_aoi_gm_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 139349589, 782938435, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1237696600, 1447318033, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1100358951, 329280246, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 343341765, 3197108031, Spawn) + end end - elseif race == HIGH_ELF then - if gender == MALE then - local choice = math.random(1, 4) + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) if choice == 1 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2148618169, 3301341439, Spawn) + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 175282120, 2443997290, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2378717460, 740610806, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfelf_eco_evil_1/ft/service/merchant/halfelf_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3198881432, 747888667, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 4021870581, 3389419609, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3062232413, 481395622, Spawn) + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 972343456, 3393961158, Spawn) elseif choice == 3 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1178509910, 1653421984, Spawn) + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1394131243, 1936863827, Spawn) elseif choice == 4 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2961019025, 517163532, Spawn) + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2816660604, 3830827049, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional5/halfelf_eco_good_2/ft/service/merchant/halfelf_merchant_service_good_2_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1252836690, 4210583240, Spawn) end - elseif gender == FEMALE then - local choice = math.random(1, 4) + end + end + elseif race == HALFLING then + if gender == MALE then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1226726886, 4190877381, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 3623244639, 2766324485, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1035878974, 1582137754, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 41344948, 2516334772, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1122140911, 2707150069, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 970154386, 421867483, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1783848035, 1895831070, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2106259105, 3779666567, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/halfling_eco_good_1/ft/service/merchant/halfling_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2817125385, 2108502543, Spawn) + end + end + elseif race == HIGH_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2148618169, 3301341439, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3062232413, 481395622, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1178509910, 1653421984, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2961019025, 517163532, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2023209747, 1019050798, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3279499948, 2931921467, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3725011666, 2990490195, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1015791525, 798872771, Spawn) + end + end + elseif race == HUMAN then + if gender == MALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1784666995, 3208939342, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 84402078, 1019490531, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1896104495, 1387469911, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 608741053, 3167076754, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) if choice == 1 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2023209747, 1019050798, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 1832724458, 980846932, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 3279499948, 2931921467, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2541554579, 2951095822, Spawn) elseif choice == 3 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3725011666, 2990490195, Spawn) - elseif choice == 4 then - PlayFlavor(NPC, "voiceover/english/highelf_eco_good_1/ft/service/merchant/highelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 1015791525, 798872771, Spawn) + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 892528408, 239693863, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 903813734, 2512856176, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 983188064, 3043413352, Spawn) end end - elseif race == HUMAN then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2632179815, 4191292693, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1377121065, 1621186679, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1299723818, 3048193330, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2963689917, 1457704094, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_evil_1/ft/service/merchant/human_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1817378690, 2459690771, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 489810336, 3318568259, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1527285383, 3910629798, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 1381598517, 719278997, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1667555721, 2696093362, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/human_eco_good_1/ft/service/merchant/human_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2588954321, 88153469, Spawn) + end end - elseif race == IKSAR then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == IKSAR then + if gender == MALE then + if EVIL then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_aoi_gm_b9dbd27d.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 3019943489, 1406568446, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_1a08e567.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1197055422, 631535840, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 2596269432, 669710728, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today, or am I just wasting my time? This isn't a museum display you know!", "glare", 1394544165, 1181852771, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 105908870, 230263487, Spawn) + end + elseif NEUTRAL then + local choice = math.random(1,7) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_aoi_gm_25771611.mp3", "You won't find these low, low prices in those fancy city shops.", "heckno", 2932257559, 4177037023, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_1e754634.mp3", "Of course we deliver! I'll just need an address, key, and the times when you won't be home.", "scheme", 1087137768, 1465514007, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_29327bd1.mp3", "I have to dump this stuff and move out tonight. Staying one step ahead of my, uh, happy customers.", "lookaway", 22249194, 1341967221, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_48e9f7.mp3", "This merchandise is so hot it's still warm to the touch.", "wince", 1835763352, 2766558282, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_670060d5.mp3", "Calm down, friend. Just because this looks like your stolen backpack doesn't mean it is.", "boggle", 2580247510, 1110936911, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_8c371df0.mp3", "Don't let these deals slip through your fingers.", "point", 237863798, 1171878591, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_neutral_2/ft/service/merchant/iksar_merchant_service_neutral_2_hail_gm_f2a55e76.mp3", "With these values it's like you're the one committing highway robbery!", "smile", 1611773944, 2658422623, Spawn) + end end - elseif race == KERRA then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 1919752795, 2899530992, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 651549003, 3080028152, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff is over there. Just let me know if you find anything you like.", "ponder", 539119573, 3458318396, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/iksar_eco_evil_1/ft/service/merchant/iksar_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 259001786, 3030907314, Spawn) + end end - elseif race == OGRE then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == KERRA then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3095675602, 2704920135, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 472349153, 715118612, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 2185780562, 2943504538, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gm_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 668610071, 953653133, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1405292242, 1170257111, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2595040836, 1903894062, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 2292395976, 2840814777, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2438244582, 4033825140, Spawn) + end end - elseif race == RATONGA then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3601217765, 1034447902, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1023871072, 3866773546, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_evil_1/ft/service/merchant/kerran_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3574278479, 2910108828, Spawn) + end + elseif GOOD then + local choice = math.random(1,5) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_aoi_gf_c5e79ff5.mp3", "Hello there! Can I interest you in some of the finest merchandise this side of Norrath?", "wave", 2091371377, 2422178491, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, traveler! We have the finest supplies to fill your adventuring needs.", "smile", 509171300, 3181487898, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 2213475197, 3871690614, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 3487732561, 2995138728, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/kerran_eco_good_1/ft/service/merchant/kerran_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 591569637, 3640467043, Spawn) + end end - elseif race == TROLL then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == OGRE then + if gender == MALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 336682108, 2623574882, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2869440792, 4241979369, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1831712971, 1100241470, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_7d521aa2.mp3", "Hello! Can I offer you one of our new lifetime extended warranties for any merchandise you purchase? ", "nod", 2018881162, 4264523804, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 2706816468, 1822386477, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ogre_eco_evil_1/ft/service/merchant/ogre_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1555538408, 3566039549, Spawn) end - elseif race == WOOD_ELF then - if gender == MALE then - elseif gender == FEMALE then - local choice = math.random(1, 2) + end + elseif race == RATONGA then + if gender == MALE then + if EVIL then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 1147153942, 3317877781, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2902124396, 1772494629, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 686446071, 58743600, Spawn) + end + elseif NEUTRAL then + local choice = math.random(1,10) if choice == 1 then - PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2082169991, 1448634552, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_aoi_gm_25771611.mp3", "You won't find these low, low prices in those fancy city shops.", "heckno", 2149352822, 2911965725, Spawn) elseif choice == 2 then - PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 3534990748, 2443561795, Spawn) + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_aoi_gm_7dc06552.mp3", "I know a discerning shopper when I sees one, and they don't come any sharper than you.", "wink", 1215863828, 1711861063, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_1e754634.mp3", "Of course we deliver! I'll just need an address, key, and the times when you won't be home.", "scheme", 3777485038, 22256427, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_29327bd1.mp3", "I have to dump this stuff and move out tonight. Staying one step ahead of my, uh, happy customers.", "lookaway", 3335550471, 3304609329, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_48e9f7.mp3", "This merchandise is so hot it's still warm to the touch.", "wince", 1094492990, 4101920657, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_589bbb80.mp3", "Satisfaction is guaranteed, with all itemses fully refundable...if you can find me again.", "thumbsup", 1525152162, 4224893930, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_670060d5.mp3", "Calm down, friend. Just because this looks like your stolen backpack doesn't mean it is.", "boggle", 1357039195, 2717785315, Spawn) + elseif choice == 8 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_8c371df0.mp3", "Don't let these deals slip through your fingers.", "point", 1999119491, 784149819, Spawn) + elseif choice == 9 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_e4bce3ad.mp3", "Psst ... I'm cutting you in on the deal of a lifetime.", "agree", 149052487, 2149887402, Spawn) + elseif choice == 10 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_neutral_2/ft/service/merchant/ratonga_merchant_service_neutral_2_hail_gm_f2a55e76.mp3", "With these values it's like you're the one committing highway robbery!", "smile", 763799213, 3232955127, Spawn) end end - elseif race == FAE then - if gender == MALE then - elseif gender == FEMALE then + elseif gender == FEMALE then + local choice = math.random(1,7) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 2288309507, 1188267472, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 3740786388, 4176254637, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/ratonga_eco_evil_3/ft/service/merchant/ratonga_merchant_service_evil_3_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3460692084, 694864112, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_aoi_gf_53388b91.mp3", "Only traitors to the Overlord would pass up a bargain like this. You're not a traitor are you?", "scold", 1269771027, 1321830597, Spawn) + elseif choice == 5 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 3896024368, 3267129756, Spawn) + elseif choice == 6 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 4265688146, 2432877514, Spawn) + elseif choice == 7 then + PlayFlavor(NPC, "voiceover/english/ratonga_eco_evil_1/ft/service/merchant/ratonga_merchant_service_evil_1_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3557499503, 3758276116, Spawn) end - elseif race == ARASAI then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == TROLL then + if gender == MALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_6ec08438.mp3", "In spite of the cost of living, it's still quite a popular item.", "ponder", 3210835791, 1852025017, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 2910412337, 3363562860, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/troll_eco_evil_1/ft/service/merchant/troll_merchant_service_evil_1_hail_gm_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 3850597068, 627128809, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,3) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_aff3fc07.mp3", "Are you going to buy anything today or am I just wasting my time? This isn't a museum display you know!", "glare", 1199893528, 955414076, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_d088c20d.mp3", "The stuff's over there. Just let me know if you find anything you like.", "ponder", 1139316257, 3885612978, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/optional2/troll_eco_evil_2/ft/service/merchant/troll_merchant_service_evil_2_hail_gf_f715099e.mp3", "Hello there, kind adventurer. My merchandise carries the seal of the Overlord himself! Go ahead, take a look!", "salute_freeport", 1335466174, 672398346, Spawn) end - elseif race == SARNAK then - if gender == MALE then - elseif gender == FEMALE then + end + elseif race == WOOD_ELF then + if gender == MALE then + local choice = math.random(1,4) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 1759256427, 830987678, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_45d92a75.mp3", "Welcome! What can I help you with?", "bow", 46008519, 2252409517, Spawn) + elseif choice == 3 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_ae84abf9.mp3", "Go on, take a look at the stock. You'll never beat this price in the city. I guarantee it!", "wink", 1332319343, 1214035917, Spawn) + elseif choice == 4 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gm_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 2211929083, 2050297502, Spawn) + end + elseif gender == FEMALE then + local choice = math.random(1,2) + if choice == 1 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_24322c5d.mp3", "Greetings, friend traveler! We have the finest supplies to fill your adventuring needs.", "smile", 2082169991, 1448634552, Spawn) + elseif choice == 2 then + PlayFlavor(NPC, "voiceover/english/woodelf_eco_good_1/ft/service/merchant/woodelf_merchant_service_good_1_hail_gf_e4fa2bd8.mp3", "Confound it! Where did I put that ledger? It must be around here somewhere!", "confused", 3534990748, 2443561795, Spawn) end end + elseif race == FAE then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == ARASAI then + if gender == MALE then + elseif gender == FEMALE then + end + elseif race == SARNAK then + if gender == MALE then + elseif gender == FEMALE then + end end end end diff --git a/SpawnScripts/Generic/GenericTradeskillTutor.lua b/SpawnScripts/Generic/GenericTradeskillTutor.lua new file mode 100644 index 0000000..57e0412 --- /dev/null +++ b/SpawnScripts/Generic/GenericTradeskillTutor.lua @@ -0,0 +1,637 @@ +--[[ + Script Name : SpawnScripts/Generic/GenericTradeskillTutor.lua + Script Purpose : + Script Author : theFoof + Script Date : 2013.09.28 + Script Notes : Generic script for tradeskill tutors +--]] + +local HarvestTutorial = 11 + +local HadAHammer = 12 + +local ForgingAhead = 91 + +local CounteringProblems = 92 + +local TutorialCook = 93 + +local TutorialWeapons = 94 + +local TutorialScrolls = 95 + +local TutorialExperiments = 96 + +local TutorialOutfitting = 97 + +function spawn(NPC) + ProvidesTutorials(NPC) +end + +function ProvidesTutorials(NPC) + ProvidesQuest(NPC, HarvestTutorial) + ProvidesQuest(NPC, ForgingAhead) + ProvidesQuest(NPC, CounteringProblems) + ProvidesQuest(NPC, TutorialCook) + ProvidesQuest(NPC, TutorialWeapons) + ProvidesQuest(NPC, TutorialScrolls) + ProvidesQuest(NPC, TutorialExperiments) + ProvidesQuest(NPC, TutorialOutfitting) +end + +function respawn(NPC) + spawn(NPC) +end + + +function hailed(NPC, Spawn) + CraftingTutorHail(NPC, Spawn) +end + +function CraftingTutorHail(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + if GetQuestStep(Spawn, HadAHammer) == 5 then + SetStepComplete(Spawn, HadAHammer, 5) + if not HasCompletedQuest(Spawn, ForgingAhead) then + TutChat1(NPC, Spawn) + end + elseif not HasCompletedQuest(Spawn, HarvestTutorial) and not HasQuest(Spawn, HarvestTutorial) then + AddConversationOption(conversation, "Yes please, I don't know much about that stuff.", "OfferHarvestTutorial") + AddConversationOption(conversation, "Sure, I think I'm pretty comfortable with it all but I can always use a memory refresher.", "OfferHarvestTutorial") + AddConversationOption(conversation, "No thanks, I have other things to do right now.") + StartConversation(conversation, NPC, Spawn, "Hello friend! I'm here to teach interested people a little bit about how to harvest crafting materials, and how to craft tradeskilled items. Are you interested?") + elseif LastStepHarvestTutorial(Spawn) then + SetStepComplete(Spawn, HarvestTutorial, 8) + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1004.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Excellent work learning about harvesting! As a reward, allow me to offer you this box for storing harvested items. It's quite heavy, so I suggest you put it in your bank rather than carrying it, but it has plenty of storage room for harvests.") + elseif CanReceiveQuest(Spawn, ForgingAhead) then + TutChat1(NPC, Spawn) + elseif GetQuestStep(Spawn, ForgingAhead) == 1 then + PlayFlavor(NPC, "", "Take your time. There's no rush!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, ForgingAhead) == 2 then + Tut2Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, CounteringProblems) then + Tut2Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, CounteringProblems) == 1 then + PlayFlavor(NPC, "", "You'll get the hang of it. And don't forget, other crafters are often a valuable source of advice and tips.", "", 1689589577, 4560189, Spawn) + elseif GetQuestStep(Spawn, CounteringProblems) == 2 then + SetStepComplete(Spawn, CounteringProblems, 2) + Tut3Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialCook) then + Tut3Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialCook) == 1 then + PlayFlavor(NPC, "", "Remember, you can buy essential provisioning ingredients such as liquid and dough from the fuel vendor.", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialCook) == 2 then + SetStepComplete(Spawn, TutorialCook, 2) + Tut4Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialWeapons) then + Tut4Chat1(NPC, Spawn) + elseif HasQuest(Spawn, TutorialWeapons) and (not QuestStepIsComplete(Spawn, TutorialWeapons, 1) or not QuestStepIsComplete(Spawn, TutorialWeapons, 2)) then + PlayFlavor(NPC, "", "Remember to be careful when working with weapons. You wouldn't want to accidentally impale your fellow crafters.", "", 0, 0, Spawn) + elseif HasQuest(Spawn, TutorialWeapons) and QuestStepIsComplete(Spawn, TutorialWeapons, 1) and QuestStepIsComplete(Spawn, TutorialWeapons, 2) then + SetStepComplete(Spawn, TutorialWeapons, 3) + Tut5Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialScrolls) then + Tut5Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialScrolls) == 1 then + PlayFlavor(NPC, "", "Ah, covered liberally with ink, I see. Good job. Keep at it!", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialScrolls) == 2 then + SetStepComplete(Spawn, TutorialScrolls, 2) + Tut6Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialExperiments) then + Tut6Chat1(NPC, Spawn) + elseif GetQuestStep(Spawn, TutorialExperiments) == 1 then + PlayFlavor(NPC, "", "Be particularly careful at the chemistry table. More explosions originate in that area than anywhere else in the city...", "", 0, 0, Spawn) + elseif GetQuestStep(Spawn, TutorialExperiments) == 2 then + SetStepComplete(Spawn, TutorialExperiments, 2) + Tut7Chat1(NPC, Spawn) + elseif CanReceiveQuest(Spawn, TutorialOutfitting) then + Tut7Chat1(NPC, Spawn) + elseif HasQuest(Spawn, TutorialOutfitting) and (not QuestStepIsComplete(Player, 97, 1) or not QuestStepIsComplete(Player, 97, 2)) then + PlayFlavor(NPC, "", "Take your time. It's dangerous to rush at the forge!", "", 0, 0, Spawn) + elseif HasQuest(Spawn, TutorialOutfitting) and QuestStepIsComplete(Player, 97, 1) and QuestStepIsComplete(Player, 97, 2) then + SetStepComplete(Spawn, TutorialOutfitting, 3) + FinishedChat(NPC, Spawn) + else + FinishedChat2(NPC, Spawn) + end +end + +function TutChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "tradeskill_tutorial_master/tradeskill/tutorial/tradeskill_tutorial014.mp3", "", "", 423248729, 3231742282, Spawn) + AddConversationOption(conversation, "Yes please.", "TutChat1") + AddConversationOption(conversation, "Not now, thanks.") + StartConversation(conversation, NPC, Spawn, "You have learned how to gather harvests, and whether or not you decide to learn a tradeskill profession, you'll find harvesting can be a useful and profitable pastime. Are you interested in reviewing the crafting process?") +end + +function TutChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Elm, tin, roots ... check. And I'd like to learn more before I start, yes.", "TutChat3") + AddConversationOption(conversation, "No thanks, spare me the details, just tell me where to go.", "OfferForgingAhead") + AddConversationOption(conversation, "Actually ... I'll be right back!") + StartConversation(conversation, NPC, Spawn, "All right, let's learn about the crafting process itself. You'll need to have some harvested elm, tin, and roots in your bags. Shall I tell you a bit more about the crafting stations and your tradeskill arts, or do you want to just get going?") +end + +function TutChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And what skills will I need?", "TutChat4") + StartConversation(conversation, NPC, Spawn, "There are a number of different crafting stations that can be used to make different items. For example, you would use a forge to make metal armor, and a chemistry table to make potions. The other crafting stations are: the sewing table, the woodworking table, the sage's engraved desk, the stove & keg, and the jeweler's workbench.") +end + +function TutChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial011.mp3", "", "", 1844695369, 4279963855, Spawn) + AddConversationOption(conversation, "So I need to use these tradeskill arts while crafting?", "TutChat5") + StartConversation(conversation, NPC, Spawn, "Each of the 9 tradeskill professions has its own 6 tradeskill arts, and there are also a couple of special arts that are used for recipes not related directly to one tradeskill specialty. The appropriate arts will appear as buttons at the bottom of the crafting window when you start to make an item.") +end + +function TutChat5(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So what happens next?", "TutChat6") + StartConversation(conversation, NPC, Spawn, "That's right. If you mouse-over or examine the arts in your book, you should see what each of them do. Three will add progress, and three will add durability. When you're crafting you will want to be sure you know which ones add progress and which ones add durability. If you're having trouble maintaining durability, use all your durability arts all the time! Or to speed up progress, use the progress arts nonstop.") +end + +function TutChat6(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Once I find the recipe I want to make, what then?", "TutChat7") + StartConversation(conversation, NPC, Spawn, "The first step in crafting anything is the recipe. The recipe you select determines what you will create. Open your recipe book from the main menu, or press N, to see yours. If you're new to crafting it will be empty, but as you gain more recipes they will be listed here and you can use the Search box at the top of this window to easily find recipe names. You can also create custom filters using the Edit button. ") +end + +function TutChat7(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I think I'm ready to give it a try.", "TutChat8") + StartConversation(conversation, NPC, Spawn, "In this window you would select the name of the recipe you wish to use and then click Create. You will need to be near a crafting station of the appropriate type. If you click on the crafting station directly, your recipe book will automatically filter to show you only the recipes you can make on that station. Once you click Create, you will move to the Resource Window which shows you the list of ingredients that recipe requires. If you have all those, you click Begin and crafting starts.") +end + +function TutChat8(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "How do I stop losing durability then?", "TutChat9") + StartConversation(conversation, NPC, Spawn, "I'd like you to make a candelabra for practice. While you craft it, I'd like you to pay attention to the blue and green bars in the middle area. This shows you your progress (blue), and the durability (green) of the item you are creating. The goal is to increase your progress without losing too much durability. To create the item, you need to fill all four blue progress bars. If you lose at least one full bar of durability, you will not be able to do this unless you can regain that durability again. It is safest to keep your durability near maximum just in case of unexpected critical failures.") +end + +function TutChat9(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "It might be easier if I just try it out, can I give it a try now?", "OfferForgingAhead") + StartConversation(conversation, NPC, Spawn, "That's where the reaction arts I mentioned come in. You can use these to add progress (blue) or durability (green). Mouse click these or press 1 through 6 on your keyboard. You can use these skills proactively throughout crafting to influence the outcome - for example, use skills that add durability if your durability is dropping. Every 4 seconds a crafting 'round' completes and you will see numbers indicating your overall progress and durability loss or gain for that round above the crafting station. This is generally easier to see in third-person view (use your mouse wheel to scroll out).") +end + +function Tut2Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + if not HasCompletedQuest(Spawn, ForgingAhead) then + SetStepComplete(Spawn, ForgingAhead, 2) + end + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial017.mp3", "", "", 1140694758, 2504376154, Spawn) + AddConversationOption(conversation, "Like what?", "Tut2Chat2") + StartConversation(conversation, NPC, Spawn, "Moving on to the next lesson, you should be aware that there are some hazards associated with crafting. Why, back in the old days, it wasn't unusual to see piles of injured bodies beside the forge! We've managed to build slightly less dangerous forges since then, but no matter what craft you choose, there are still dangers to counter.") +end + +function Tut2Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I didn't see any of that while making the candelabra...", "OfferCounteringProblems") + StartConversation(conversation, NPC, Spawn, "During the crafting process, you will sometimes see a warning icon appear in the area below the four progress bars. The warning icon will match one of your reaction art icons, and will have a name indicating the type of danger. The crafter can correct these problems by ensuring the next reaction art they use matches the icon of the warning. Successfully doing so will avoid bad things occurring (such as a loss of progress, or durability, or even injury to the crafter) and may also result in unusually good things happening (such as progress or durability gain, a skill bonus, or even the discovery of a rare harvest).") +end + +function Tut3Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Yes please.", "Tut3Chat2") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Well done, I hope you avoided any serious injuries. So, now you know the basics of crafting, and I hope you understand how to obtain the best quality results while avoiding injury. Now, would you like to try a few more recipes to learn about the nine types of tradeskill you can specialize in?") +end + +function Tut3Chat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "So what next?", "Tut3Chat3") + StartConversation(conversation, NPC, Spawn, "Well, let's see. You've made a candelabra using the carpenter skills, and learned that carpenters make items that can be placed in houses. Carpenters also make strong boxes for storage, and sales containers for selling items to others. You've also made a bracelet: jewelers make jewelry like this, and they also make combat art upgrades for scout types. ") +end + +function Tut3Chat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "I'll be right back with that cider!", "OfferTutorialCook") + AddConversationOption(conversation, "Maybe later.") + StartConversation(conversation, NPC, Spawn, "Now why don't you try your hand at provisioning, and make some jum jum cider? Food and drink help an adventurer's power and health to regenerate faster between battles, so a provisioner's goods are always in demand. You'll need some harvested jum jum, and some liquid, which the fuel merchant will sell (aerated mineral water works just fine, and adds that extra fizz). ") +end + +function Tut4Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll do my best.", "OfferTutorialWeapons") + AddConversationOption(conversation, "I'll think about it.") + StartConversation(conversation, NPC, Spawn, "Next we'll look at weapons. These can be made by both weaponsmiths and woodworkers. Weaponsmiths are masters of metallic weaponry including swords, axes, daggers, and hammers. Woodworkers are skilled at working with wood, creating wooden weapons such as staffs, batons, and cudgels, as well as bows and arrows and wooden bucklers and round shields for the defense of their allies. They also craft powerful totems that possess restorative properties. Practice both crafts by making a tin hand axe, and an elm greatstaff.") +end + +function Tut5Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_1_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I'll start now.", "OfferTutorialScrolls") + AddConversationOption(conversation, "Not right now.") + StartConversation(conversation, NPC, Spawn, "Sages possess an unsurpassed knowledge of the arcane. They apply this knowledge by scribing spells onto scrolls that increase the might of healers and mages. Create a Scroll of Shackle and bring it to me.") +end + +function Tut6Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_3_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "On my way.", "OfferTutorialExperiments") + AddConversationOption(conversation, "Another time perhaps.") + StartConversation(conversation, NPC, Spawn, "Excellent work. Now let's look at alchemists; they create deadly poisons and magic potions from almost any material, benign or otherwise. These concoctions provide benefits in battle, such as healing, resistance, or extra damage against a foe. Alchemists also make combat art upgrades for fighter types to improve their abilities in battle. Make me an Essence of Intercept to practice these skills.") +end + +function Tut7Chat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "Coat and a backpack coming up.", "OfferTutorialOutfitting") + AddConversationOption(conversation, "Perhaps later.") + StartConversation(conversation, NPC, Spawn, "Now let's look at tailors and armorers. Armorers focus on heavy plate and chain armor, while tailors specialize in the creation of lighter cloth and leather armor. Tailors also make backpacks and other items from cloth or leather. Show me that you can create a tin chainmail coat, and a rawhide backpack.") +end + +function FinishedChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial062.mp3", "", "", 2242637020, 2504678008, Spawn) + AddConversationOption(conversation, "Thank you.") + AddConversationOption(conversation, "Let me just ask you a couple more questions...", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "Excellent work! I hope you now have an idea of what each tradeskill class does, and how to do it. At level 9 you'll need to decide which crafting path you will follow, by speaking to the Crafting Trainer near your local tradeskill area. The Crafting Trainer also sells your recipe books, so be sure to pick those up! Come back to me at any time and I'll be happy to give you refreshers on this information. Should you choose to continue a career as a crafter, I wish you the best of fortune!") +end + +function FinishedChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "voiceover/english/voice_emotes/greetings/greetings_2_1060.mp3", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "I have some questions about some of the stuff we already covered.", "RemindChat") + AddConversationOption(conversation, "I heard something about commission crafting, what's that?", "CommissionChat1") + AddConversationOption(conversation, "Where do I get recipe books for crafting?", "BookChat1") + AddConversationOption(conversation, "Tell me about the different crafting classes?", "ClassChat1") + AddConversationOption(conversation, "How do I choose what type of crafter I will be?", "TypeChat1") + AddConversationOption(conversation, "How do I sell my stuff to other people?", "SellChat1") + AddConversationOption(conversation, "I heard something about secondary crafts, tinkering and transmuting. What are they?", "SecChat1") + AddConversationOption(conversation, "Thank you.") + StartConversation(conversation, NPC, Spawn, "Would you like some more information, or some reminders of what we already talked about?") +end + +function CommissionChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial035.mp3", "", "", 2388752041, 1908343081, Spawn) + AddConversationOption(conversation, "How do I do it?", "CommissionChat2") + StartConversation(conversation, NPC, Spawn, "The commission crafting system enables a crafter to make an item for a customer without requiring the customer to hand over any ingredients. It can be used for almost any recipe, but is most often used for crafting rare items when the customer and crafter may not know each other and may not wish to hand over a rare on trust.") +end + +function CommissionChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial036.mp3", "", "", 2552516382, 2887530961, Spawn) + AddConversationOption(conversation, "So instead of targetting the crafting station I target the customer.", "CommissionChat3") + StartConversation(conversation, NPC, Spawn, "To craft something for a customer using the commission system, have the customer meet you by the appropriate crafting station, bringing with him the components needed by the recipe. Open your recipe book and select the appropriate recipe, then target the customer, and then click Create.") +end + +function CommissionChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial037.mp3", "", "", 691734143, 271413200, Spawn) + AddConversationOption(conversation, "And when he's provided everything we agree on?", "CommissionChat4") + StartConversation(conversation, NPC, Spawn, "Correct. When you target the customer and click Create, a new window will open. The customer needs to provide the primary component that the recipe requires (the first one listed) in the first slot in this window. He can provide all the other components also by putting them in this window too, or they can be in your bags, he is only required to provide the primary one. Also in this window he can add coin for payment, or an item to trade in payment.") +end + +function CommissionChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial038.mp3", "", "", 4067745103, 1643379768, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(converastion, NPC, Spawn, "When you both click to accept the deal, your crafting process will begin just as it normally does. Complete the item, and the finished product will drop directly into your customer's bags. Any payment placed in the commission window will go into your own bags. Easy as that.") +end + +function BookChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial039.mp3", "", "", 3191451903, 1275472191, Spawn) + AddConversationOption(conversation, "And they'll sell all my recipes?", "BookChat2") + StartConversation(conversation, NPC, Spawn, 'Recipe books can be purchased from vendors with the "Crafting Trainer" label. Typically these will be found near a crafting area. In Qeynos and Freeport they are normally standing just outside the tradeskill instances. In other cities they should be near the crafting stations.') +end + +function BookChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial040.mp3", "", "", 2091121926, 301972007, Spawn) + AddConversationOption(conversation, "That's it? " .. '"Essentials" books from the Crafting Trainer and "Advanced" books found out adventuring?', "BookChat3") + StartConversation(conversation, NPC, Spawn, 'They will sell your "essentials" books. These contain the basic recipes you need for making handcrafted items. "Advanced" books containing recipes for mastercrafted items (using rare harvests) are found by adventurers after level 9, and you' .. "'ll need to trade with your fellow adventurers, or check the broker, or go out hunting to find these.") +end + +function BookChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial041.mp3", "", "", 1044382648, 4108876671, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, 'Almost. There are occasionally other recipes that can be obtained in other ways, such as by adventuring or questing in certain areas. The majority of your recipes are covered by the "essentials" and "advanced" books however.') +end + +function ClassChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial042.mp3", "", "", 1622424773, 1570512432, Spawn) + AddConversationOption(conversation, "What are craftsmen?", "ClassChat2") + AddConversationOption(conversation, "What are outfitters?", "ClassChat3") + AddConversationOption(conversation, "What are scholars?", "ClassChat4") + AddConversationOption(conversation, "I was wondering about something else.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "There are nine primary tradeskill classes, plus two secondary crafts. I'll focus on the primary nine right now. These are divided into three archetypes: craftsman, outfitter, and scholar.") +end + +function ClassChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial043.mp3", "", "", 4227555374, 506326062, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "The three classes of craftsmen are: carpenter, provisioner, and woodworker Carpenters make furniture for decorating your home, strong boxes for bank storage, altars, and sales containers for use on the broker. Provisioners make food and drink to keep adventurers fighting in top form. And woodworkers make wooden weapons and shields, bows and arrows, magical totems, and harvesting tools.") +end + +function ClassChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial044.mp3", "", "", 2305144148, 2262225750, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "Outfitters are armorers, tailors, and weaponsmiths. Armorers specialize in plate and chainmail armor, and metal shields. Tailors make cloth and leather armor, fancy dress clothing, hex dolls, backpacks, and containers for thrown ammo. Weaponsmiths specialize in metal weapons of all types.") +end + +function ClassChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial045.mp3", "", "", 147861749, 3375095704, Spawn) + AddConversationOption(conversation, "I see.", "ClassChat1") + StartConversation(conversation, NPC, Spawn, "Scholars are alchemists, jewelers, and sages. Alchemists specialize in potions and poisons, and also make combat art upgrades for fighter types. Jewelers make items of jewelry, and also combat art upgrades for scout types. And sages make spell upgrades for mages and healers.") +end + +function TypeChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial046.mp3", "", "", 152150944, 1842039471, Spawn) + AddConversationOption(conversation, "Then what?", "TypeChat2") + StartConversation(conversation, NPC, Spawn, "When you reach level 9, you will need to decide which of the three main archetypes you will become: craftsman, outfitter, or scholar. When you have decided, speak to the Crafting Trainer near your local tradeskill area to register for that line of work. Typically these will be found near a crafting area. In Qeynos and Freeport they are normally standing just outside the tradeskill instances. In other cities they should be near the crafting stations.") +end + +function TypeChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial047.mp3", "", "", 2169201999, 3543807969, Spawn) + AddConversationOption(conversation, "What if I change my mind?", "TypeChat3") + StartConversation(conversation, NPC, Spawn, "That's all you have to do to choose your archetype. Later, at level 19, you will need to choose your final profession. Simply return to the same crafting trainer to select.") +end + +function TypeChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial048.mp3", "", "", 2654967587, 4062785753, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "There are a number of tradeskill career counsellors who can assist you in changing your crafting profession if you wish to do so. This will reset your crafting level to 9 and remove any recipes you can no longer use.") +end + +function SellChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial049.mp3", "", "", 2757229171, 476797749, Spawn) + AddConversationOption(conversation, "What are the specialized containers for?", "SellChat2") + StartConversation(conversation, NPC, Spawn, "Many crafters build up personal relationships with customers and deal directly with interested parties. However, you also have the option of listing your goods for sale on the broker. Brokers are located in all major cities, just ask a guard if you need help finding one. You can use any container such as a box or backpack to sell items from, or carpenters can make specialized sales containers from level 20 upward.") +end + +function SellChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial050.mp3", "", "", 3628788902, 1698576976, Spawn) + AddConversationOption(conversation, "How do I get my money?", "SellChat3") + StartConversation(conversation, NPC, Spawn, "Specialized sales containers can only be used on the broker, nowhere else. They are much larger than normal boxes or bags, and an image of these containers can be placed in your house so that customers can visit in person to buy from you, rather than purchasing through the broker. The broker charges a markup fee. so allowing your customers to buy directly and bypass this fee is generally good for business, once you start selling pricier items. These specialized containers require a rare wood to make; your local carpenter can give you more details.") +end + +function SellChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial051.mp3", "", "", 2662949569, 2327521387, Spawn) + AddConversationOption(conversation, "Thank you.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, 'Place the items to sell in a container on the "sell" tab of the broker and set the prices you wish to sell them for. If they sell, you will be able to collect the coin from the same container that the item was in.The broker will continue to sell your goods for you, for the next couple of days even if you are not around at the time.') +end + +function SecChat1(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial052.mp3", "", "", 3509946126, 2374520501, Spawn) + AddConversationOption(conversation, "What's tinkering?", "SecChat2") + AddConversationOption(conversation, "What's adorning?", "SecChat3") + AddConversationOption(conversation, "How do I learn to be a tinkerer or adorner?", "SecChat4") + AddConversationOption(conversation, "I was wondering about something else.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "In addition to the nine primary tradeskills there are two secondary skills that can be learned. These are tinkering, and adorning. They can be learned by either adventurers or crafters, but your level in tinkering or adorning can never be higher than your primary tradeskill or your adventure level, whichever is higher.") +end + +function SecChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial053.mp3", "", "", 2218048793, 640438305, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "Tinkering is the process created by gnomes many centuries ago. It is the art of making mechanical gadgets and gizmos to make life a little easier. You can create devices that will enhance your own abilities in combat; most of these can only be safely operated by yourself and other tinkers, however, as the mechanisms are far too complex for non-tinkerers to understand. Since many tinkered items are adventuring-related, it can be a useful secondary craft to augment an adventurer's abilities.") +end + +function SecChat3(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial054.mp3", "", "", 2713361023, 2617196209, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "Adorning is the art of making Adornments: items that can be applied to your equipment to permanently enhance the equipment's stats. To make these, you will need components created by breaking down unused items into raw components using the Transmuting skill. Everybody has the Transmuting skill, but only those who have studied as adorners can make adornments.") +end + +function SecChat4(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial055.mp3", "", "", 1159059080, 4034407978, Spawn) + AddConversationOption(conversation, "I see.", "SecChat1") + StartConversation(conversation, NPC, Spawn, "You can only learn tinkering and adorning in Faydwer, where the skills originate. You will find trainers at the docks in Butcherblock Mountains, as well as in Kelethin. You can be both a tinkerer and an adorner if you wish. Everybody already has the transmuting skill which is used to make components that adorners use, and you can learn to use this even if you choose not to be an adorner.") +end + +function RemindChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial063.mp3", "", "", 979701411, 1286564366, Spawn) + AddConversationOption(conversation, "Tell me again where I can find harvests to craft with?", "HarvestChat") + AddConversationOption(conversation, "Tell me again about my tradeskill reaction arts and how to use them?", "ReactionChat") + AddConversationOption(conversation, "Tell me again about the recipe window?", "WindowChat") + AddConversationOption(conversation, "Tell me again about the crafting (or process) window, where the crafting itself takes place?", "CraftChat") + AddConversationOption(conversation, 'Tell me again what happens during a "round" of crafting, and when?', "RoundChat") + AddConversationOption(conversation, "Thanks for the reminders.", "FinishedChat2") + StartConversation(conversation, NPC, Spawn, "What would you like to review?") +end + +function HarvestChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial032.mp3", "", "", 1760845253, 634861670, Spawn) + AddConversationOption(conversation, "Thanks.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "Harvesting resources tend to be segregated by areas - for example, you'll find harvests for making equipment for level 1-9 adventurers, in the same areas where you'll find level 1-9 adventurers hunting. There are seven types of harvestable item: wood, roots, ore, soft metal, animal dens, shrubs, and fish.") +end + +function ReactionChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial055.mp3", "", "", 1159059080, 4034407978, Spawn) + AddConversationOption(conversation, "And how do they work?", "ReactionChat2") + StartConversation(conversation, NPC, Spawn, "You can only learn tinkering and adorning in Faydwer, where the skills originate. You will find trainers at the docks in Butcherblock Mountains, as well as in Kelethin. You can be both a tinkerer and an adorner if you wish. Everybody already has the transmuting skill which is used to make components that adorners use, and you can learn to use this even if you choose not to be an adorner.") +end + +function ReactionChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "For any recipe, you will have six tradeskill arts that you can use if you want. If you mouse-over or examine the arts in your book, you should see what each of them do. Three will add progress, and three will add durability. There is also a cost associated with each. When you open up the crafting window, the correct skills you need will automatically appear at the bottom. Or, if you prefer, you can drag the ones you want onto a custom hotbar. Either way, when you're crafting you can click on these arts to add progress or durability to the item you are creating.") +end + +function WindowChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Ok, I see the recipe list, what's next?", "WindowChat2") + StartConversation(conversation, NPC, Spawn, "The first step in crafting anything is the recipe. The recipe you select determines what you will create. Open your recipe book from the main menu, or press N, to see yours. If you're new to crafting it will be empty, but as you gain more recipes they will be listed here and you can use the Search box at the top of this window to easily find recipe names. You can also create custom filters using the Edit button.") +end + +function WindowChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial031.mp3", "", "", 298839722, 3210850444, Spawn) + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "In the recipe list you would select the name of the recipe you wish to use, and then click Create. You will need to be at a crafting station of the appropriate type. Once you click Create, you will move to the Resource Window which shows you the list of ingredients that recipe requires. If you have all those, you click Begin and crafting starts.") +end + +function CraftChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "And what then?", "CraftChat2") + StartConversation(conversation, NPC, Spawn, "While you craft an item, pay attention to the four blue and green horizontal bars in the middle area. This shows you your progress (blue), and the durability (green) of the item you are creating. The reaction arts you'll need are found at the bottom of this window.") +end + +function CraftChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "The goal is to increase your progress without losing too much durability. To create the item, you need to fill all four blue progress bars. If you lose too much durability (green), you will not be able to do this. Use your reaction arts to add durability if you lose too much. If you have plenty of durability, you can use your arts to add progress so you get a finished product faster.") +end + +function RoundChat(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial033.mp3", "", "", 3851565796, 3556907959, Spawn) + AddConversationOption(conversation, "Okay, let's assume I do that, or there was no warning ... then what?", "RoundChat2") + StartConversation(conversation, NPC, Spawn, 'A "crafting round" lasts for 4 seconds. At the start of the 4 seconds, there is a chance that a warning icon will appear in your crafting window. If this happens, you have the remainder of the round to counter it: the first reaction art you use must match the icon of the warning.') +end + +function RoundChat2(NPC, Spawn) + FaceTarget(NPC, Spawn) + conversation = CreateConversation() + + PlayFlavor(NPC, "bob_the_crafting_instructor/tradeskill/tutorial/tradeskill_tutorial034.mp3", "", "", 1493508972, 307622314, Spawn) + AddConversationOption(conversation, "Thank you.", "RemindChat") + StartConversation(conversation, NPC, Spawn, "You then have the remainder of the round to use any other reaction arts you wish to... or do nothing if you prefer. At the end of the round, your total progress and durability gain/loss will be adjusted, and you will see the appropriate numbers floating up from the crafting station.") +end + +function LastStepHarvestTutorial(Spawn) + --Return if all 7 steps before the final step are completed + if HasQuest(Spawn, HarvestTutorial) then + return (QuestStepIsComplete(Spawn, HarvestTutorial, 1) and QuestStepIsComplete(Spawn, HarvestTutorial, 2) and QuestStepIsComplete(Spawn, HarvestTutorial, 3) and QuestStepIsComplete(Spawn, HarvestTutorial, 4) and QuestStepIsComplete(Spawn, HarvestTutorial, 5) and QuestStepIsComplete(Spawn, HarvestTutorial, 6) and QuestStepIsComplete(Spawn, HarvestTutorial, 7)) + else + return false + end +end + +function OfferHarvestTutorial(NPC, Spawn) + OfferQuest(NPC, Spawn, HarvestTutorial) +end + +function OfferForgingAhead(NPC, Spawn) + OfferQuest(NPC, Spawn, ForgingAhead) +end + +function OfferCounteringProblems(NPC, Spawn) + OfferQuest(NPC, Spawn, CounteringProblems) +end + +function OfferTutorialCook(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialCook) +end + +function OfferTutorialWeapons(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialWeapons) +end + +function OfferTutorialScrolls(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialScrolls) +end + +function OfferTutorialExperiments(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialExperiments) +end + +function OfferTutorialOutfitting(NPC, Spawn) + OfferQuest(NPC, Spawn, TutorialOutfitting) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/SpawnGroups.lua b/SpawnScripts/Generic/SpawnGroups.lua index 08a1659..f2bc34a 100644 --- a/SpawnScripts/Generic/SpawnGroups.lua +++ b/SpawnScripts/Generic/SpawnGroups.lua @@ -22,5 +22,5 @@ function LeaveRange(NPC, Spawn) end function hailed(NPC, Spawn) - + Say(NPC, "Don't delete me! I'm part of a Spawn Group! ID: " .. GetSpawnGroupID(NPC)) end diff --git a/SpawnScripts/Generic/generic_fish_movement.lua b/SpawnScripts/Generic/generic_fish_movement.lua new file mode 100644 index 0000000..5fdc2a6 --- /dev/null +++ b/SpawnScripts/Generic/generic_fish_movement.lua @@ -0,0 +1,75 @@ +--[[ + Script Name : SpawnScripts/Generic/generic_fish_movement.lua + Script Purpose : Randomly chooses a path for the spawn to take + Script Author : theFoof + Script Date : 2013.5.16 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + ChooseMovement(NPC) +end + +function respawn(NPC) +end + +function ChooseMovement(NPC) + local route = math.random(1,4) + if route == 1 then + Route1(NPC) + elseif route == 2 then + Route2(NPC) + elseif route == 3 then + Route3(NPC) + elseif route == 4 then + Route4(NPC) + end +end + +function Route1(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X + 6, Y + 2, Z - 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 4, Y + 3, Z - 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 7, Y - 9, Z + 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 9, Y - 8, Z + 10, 2, math.random(20,60)) +end + +function Route2(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X - 6, Y - 2, Z + 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 4, Y - 5, Z + 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 7, Y + 3, Z - 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 9, Y + 3, Z - 10, 2, math.random(20,60)) +end + +function Route3(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X - 3, Y - 2, Z + 6, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 8, Y - 5, Z + 4, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 2, Y + 3, Z + 7, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 10, Y + 3, Z - 9, 2, math.random(20,60)) +end + +function Route4(NPC) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(5,20)) + MovementLoopAddLocation(NPC, X + 6, Y - 2, Z - 3, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 4, Y - 5, Z - 8, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X - 7, Y + 3, Z + 2, 2, math.random(20,60)) + MovementLoopAddLocation(NPC, X + 9, Y + 3, Z + 10, 2, math.random(20,60)) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/hailed_facetarget.lua b/SpawnScripts/Generic/hailed_facetarget.lua new file mode 100644 index 0000000..24f26ec --- /dev/null +++ b/SpawnScripts/Generic/hailed_facetarget.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : SpawnScripts/Generic/hailed_facetarget.lua + Script Purpose : has the npc face a spawn that hails the npc + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/hello_emote.lua b/SpawnScripts/Generic/hello_emote.lua new file mode 100644 index 0000000..98ec864 --- /dev/null +++ b/SpawnScripts/Generic/hello_emote.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : SpawnScripts/Generic/hello_emote.lua + Script Purpose : performs the hello emote + Script Author : theFoof + Script Date : 2013.9.16 + Script Notes : +--]] + +function spawn(NPC) +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) + hello(NPC, Spawn) +end + +function hello(NPC, Spawn) + PlayFlavor(NPC, "", "", "hello", 0, 0 , Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/movement_circle_medium.lua b/SpawnScripts/Generic/movement_circle_medium.lua new file mode 100644 index 0000000..2501b6b --- /dev/null +++ b/SpawnScripts/Generic/movement_circle_medium.lua @@ -0,0 +1,68 @@ +--[[ + Script Name : SpawnScripts/Generic/movement_circle_medium.lua + Script Purpose : Randomly chooses a medium circle for the spawn to take + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : larger version of movement_cirlce_small.lua (written by Scatman) +--]] + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + SpawnChooseRandomMovement(NPC) +end + +function SpawnChooseRandomMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 12 , y, z - 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10 , y, z - 15, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 15, y, z + 14 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10 , y, z + 13 , 2, math.random(5, 15)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 7 , y, z - 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 12 , y, z - 10 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 11 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 14 , y, z + 6 , 2, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 12 , y, z + 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 10 , y, z + 15, 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 15, y, z - 14 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 10 , y, z - 13 , 2, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 7 , y, z + 13 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 12 , y, z + 10 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 11 , 2, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 14 , y, z - 6 , 2, math.random(5, 15)) +end diff --git a/SpawnScripts/Generic/movement_circle_small.lua b/SpawnScripts/Generic/movement_circle_small.lua index e03f8dc..a6429ed 100644 --- a/SpawnScripts/Generic/movement_circle_small.lua +++ b/SpawnScripts/Generic/movement_circle_small.lua @@ -6,7 +6,15 @@ Script Notes : --]] +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + function spawn(NPC) + MovementChoice(NPC) +end + +function MovementChoice(NPC) local choice = math.random(1, 4) if choice == 1 then clockwise1(NPC) diff --git a/SpawnScripts/Generic/private_spawn.lua b/SpawnScripts/Generic/private_spawn.lua new file mode 100644 index 0000000..cf50331 --- /dev/null +++ b/SpawnScripts/Generic/private_spawn.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : SpawnScripts/Generic/private_spawn.lua + Script Purpose : only used to make a spawn private + Script Author : theFoof + Script Date : 2013.6.12 + Script Notes : +--]] + +function spawn(NPC) + AddSpawnAccess(NPC, NPC) +end + +function respawn(NPC) + spawn(NPC) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/random_pattern_small.lua b/SpawnScripts/Generic/random_pattern_small.lua new file mode 100644 index 0000000..66512d1 --- /dev/null +++ b/SpawnScripts/Generic/random_pattern_small.lua @@ -0,0 +1,79 @@ +--[[ + Script Name : SpawnScripts/Generic/random_pattern_small.lua + Script Purpose : chooses a random route of a particular pattern + Script Author : theFoof + Script Date : 2013.5.16 + Script Notes : If the coords are out of bounds then the spawn will still go there. +--]] +function spawn(NPC) + ChooseMovement(NPC) +end + +function ChooseMovement(NPC) + local route = math.random(1,4) + if route == 1 then + RouteOne(NPC, Spawn) + elseif route == 2 then + RouteTwo(NPC, Spawn) + elseif route == 3 then + RouteThree(NPC, Spawn) + elseif route == 4 then + RouteFour(NPC, Spawn) + end +end + +function RouteOne(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteTwo(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 1, math.random(20,45)) +end + +function RouteThree(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X + 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X + 4, Y, Z - 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function RouteFour(NPC, Spawn) + local X = GetX(NPC) + local Y = GetY(NPC) + local Z = GetZ(NPC) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(2,10)) + MovementLoopAddLocation(NPC, X - 4, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 7, Y, Z, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X - 4, Y, Z + 4, 2, math.random(20,45)) + MovementLoopAddLocation(NPC, X, Y, Z, 2, math.random(20,45)) +end + +function respawn(NPC, Spawn) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end \ No newline at end of file diff --git a/SpawnScripts/Generic/tiny_movement_loop.lua b/SpawnScripts/Generic/tiny_movement_loop.lua new file mode 100644 index 0000000..cb2ca09 --- /dev/null +++ b/SpawnScripts/Generic/tiny_movement_loop.lua @@ -0,0 +1,71 @@ +--[[ + Script Name : SpawnScripts/Generic/tiny_movement_loop.lua + Script Purpose : a tiny movement loop + Script Author : theFoof + Script Date : 2013.5.22 + Script Notes : +--]] +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function spawn(NPC) + ChooseMovement(NPC) +end + +function ChooseMovement(NPC) + local choice = math.random(1, 4) + if choice == 1 then + clockwise1(NPC) + elseif choice == 2 then + clockwise2(NPC) + elseif choice == 3 then + counter_clockwise1(NPC) + elseif choice == 4 then + counter_clockwise2(NPC) + end +end + +function respawn(NPC) + spawn(NPC) +end + +function clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 3 , y, z - 4 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 1 , y, z - 6, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 6, y, z + 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 1 , y, z + 4 , 1, math.random(5, 15)) +end + +function clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x + 2 , y, z - 4 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 7 , y, z - 1 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z + 2 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 5 , y, z + 1 , 1, math.random(5, 15)) +end + +function counter_clockwise1(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 3 , y, z + 4 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 1 , y, z + 6, 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 4, y, z - 5 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 1 , y, z - 4 , 1, math.random(5, 15)) +end + +function counter_clockwise2(NPC) + local x = GetX(NPC) + local y = GetY(NPC) + local z = GetZ(NPC) + MovementLoopAddLocation(NPC, x - 2 , y, z + 4 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x + 3 , y, z + 1 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x , y, z - 2 , 1, math.random(5, 15)) + MovementLoopAddLocation(NPC, x - 5 , y, z - 1 , 1, math.random(5, 15)) +end diff --git a/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua b/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua index a7cfe3f..8cf10a1 100644 --- a/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua +++ b/SpawnScripts/GreaterFaydark/MatronoftheNursery.lua @@ -1,13 +1,98 @@ --[[ - Script Name : SpawnScripts/GreaterFaydark/MatronoftheNursery.lua - Script Purpose : Matron of the Nursery - Script Author : John Adams - Script Date : 2009.02.05 - Script Notes : Auto-Generated Conversation from PacketParser Data + Script Name : SpawnScripts/GreaterFaydark/MatronoftheNursery.lua + Script Purpose : Matron of the Nursery + Script Author : John Adams + Script Date : 2009.02.05 + Script Notes : Auto-Generated Conversation from PacketParser Data --]] +dofile("SpawnScripts/Generic/GenericVoiceOvers.lua") + +local QUEST_1 = 83 + function spawn(NPC) - SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") + SetPlayerProximityFunction(NPC, 15, "inRange", "leaveRange") + ProvidesQuest(NPC, QUEST_1) +end + +function inRange(NPC, Spawn) + if not HasCompletedQuest(Spawn, QUEST_1) and not HasQuest(Spawn, QUEST_1) then + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/quest/quest_matron_of_the_bloom_nursery_help_66ff3ea.mp3", "Please! We need your help!", "wave", 1753177946, 2265055232, Spawn) + end +end + +function leaveRange(NPC, Spawn) +end + +function hailed(NPC, Spawn) + GenericHail(NPC, Spawn) + + if HasCompletedQuest(Spawn, QUEST_1) then + elseif HasQuest(Spawn, QUEST_1) then + onQuest1(NPC, Spawn) + else + beforeQuest1_1(NPC, Spawn) + end +end + +--[[ Quest 1 ]]-- + +function beforeQuest1_1(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "Let me help take care of this. Where are the shrumblers?", "beforeQuest1_2") + AddConversationOption(conversation, "What is this place?", "beforeQuest1_3") + AddConversationOption(conversation, "I can't assist right now. I'll return another time.") + StartConversation(conversation, NPC, Spawn, "I am so pleased that you answered my summons. Look at what has become of the Nursery! These shrumblers appeared suddenly, and have been devouring the roots of our precious flowers! The flowers could all wither and perish!") +end + +function beforeQuest1_2(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I will see it done", "offerQuest1") + AddConversationOption(conversation, "Perhaps another time. Farewell!") + StartConversation(conversation, NPC, Spawn, "Look around the base of the flowers here in the Nursery. Destroy any of the shrumbler hatchlings you find!") +end + +function beforeQuest1_3(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "So these are all unborn fae? If the flowers die, what becomes of them?", "beforeQuest1_4") + AddConversationOption(conversation, "I see. Then it is crucial I take care of these shrumblers.", "beforeQuest1_2") + AddConversationOption(conversation, "Maybe another time. Farewell.") + StartConversation(conversation, NPC, Spawn, "These are the budding flowers for newborn fae, and this is the Nursery, in which we tend and care for them. When a fae dies naturally, the come a beautiful delicate flower, housing the spirit of the departed fae.") +end + +function beforeQuest1_4(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + AddConversationOption(conversation, "I will. Where can I find the shrumblers?", "beforeQuest1_2") + AddConversationOption(conversation, "It seems like too big of a job for me. Farewell.") + StartConversation(conversation, NPC, Spawn, "The unborn fae will die, and all of the collective knowledge of their spirit will be lost forever. Please, you must help us prevent the lose of any more fae spirits!") +end + +function offerQuest1(NPC, Spawn) + OfferQuest(NPC, Spawn, QUEST_1) +end + +function onQuest1(NPC, Spawn) + local conversation = CreateConversation() + + FaceTarget(NPC, Spawn) + if (GetQuestStep(Spawn, QUEST_1) == 2) then + else + StartConversation(conversation, NPC, Spawn, "Please hurry with your task.") + end +end + +--[[ + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 20, "inRange", "leaveRange") ProvidesQuest(NPC, 133) ProvidesQuest(NPC, 134) ProvidesQuest(NPC, 135) @@ -20,13 +105,13 @@ function respawn(NPC) end function InRange(NPC, Spawn) - if HasQuest(Spawn, 133) then - -- she only shouts for help when you have not done her quest line - elseif HasCompletedQuest(Spawn, 133) then + if HasQuest(Spawn, 133) then + -- she only shouts for help when you have not done her quest line + elseif HasCompletedQuest(Spawn, 133) then -- she only shouts for help when you have not done her quest line else - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/quest/quest_matron_of_the_bloom_nursery_help_66ff3ea.mp3", "Please! We need your help!", "wave", 1753177946, 2265055232, Spawn) - end + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/quest/quest_matron_of_the_bloom_nursery_help_66ff3ea.mp3", "Please! We need your help!", "wave", 1753177946, 2265055232, Spawn) + end end function LeaveRange(NPC, Spawn) @@ -92,8 +177,8 @@ function hailed(NPC, Spawn) if GetQuestStep(Spawn, 134) == 1 then -- quest not yet complete PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery006.mp3", "", "", 3086001028, 2261685856, Spawn) - AddConversationOption(conversation, "I am not sure yet.") - StartConversation(conversation, NPC, Spawn, "Are the grobin scouts still out there?") + AddConversationOption(conversation, "I am not sure yet.") + StartConversation(conversation, NPC, Spawn, "Are the grobin scouts still out there?") elseif GetQuestStep(Spawn, 134) == 2 then -- handing in quest SetStepComplete(Spawn, 134, 2) @@ -122,28 +207,28 @@ end ---------- Quest Dialogs ---------- ------------------------------------------------------------------------------- function Infestation(NPC, Spawn) - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery001.mp3", "", "", 3995853929, 1976845236, Spawn) - AddConversationOption(conversation, "Yes, I'll get rid of the shrumblers.", "Infestation_dlg2") - AddConversationOption(conversation, "It's not my problem.") - StartConversation(conversation, NPC, Spawn, "Thank Tunare you're here! There's little time to explain. An infestation of shrumblers has appeared in the nursery and they're eating the spirit blooms! Can you help us?") + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery001.mp3", "", "", 3995853929, 1976845236, Spawn) + AddConversationOption(conversation, "Yes, I'll get rid of the shrumblers.", "Infestation_dlg2") + AddConversationOption(conversation, "It's not my problem.") + StartConversation(conversation, NPC, Spawn, "Thank Tunare you're here! There's little time to explain. An infestation of shrumblers has appeared in the nursery and they're eating the spirit blooms! Can you help us?") end function Infestation_dlg2(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() + FaceTarget(NPC, Spawn) + conversation = CreateConversation() - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_bloom_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery002.mp3", "", "", 1028015490, 2786542994, Spawn) - AddConversationOption(conversation, "I'll be safe.", "OfferQuest1") - StartConversation(conversation, NPC, Spawn, "The spirit blooms grow both to the east and west of here. Please be careful!") + PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_bloom_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery002.mp3", "", "", 1028015490, 2786542994, Spawn) + AddConversationOption(conversation, "I'll be safe.", "OfferQuest1") + StartConversation(conversation, NPC, Spawn, "The spirit blooms grow both to the east and west of here. Please be careful!") end function RunningOffTheGrobinScouts(NPC, Spawn) FaceTarget(NPC, Spawn) - conversation = CreateConversation() + conversation = CreateConversation() PlayFlavor(NPC, "voiceover/english/exp03_questvo2/matron_of_the_nursery/_exp03/exp03_rgn_greater_faydark/matron_of_the_nursery/matron_of_the_nursery004.mp3", "", "", 849551346, 2426315385, Spawn) - AddConversationOption(conversation, "Sure, I'll check things out.", "OfferQuest2") - AddConversationOption(conversation, "I already helped you once, goodbye.") - StartConversation(conversation, NPC, Spawn, "The shrumblers came from the direction of the pond just to the southwest. Vile grobin scouts were recently seen in that area. I know it is much to ask, but could you check out the area and get rid of any grobin scouts that you find?") + AddConversationOption(conversation, "Sure, I'll check things out.", "OfferQuest2") + AddConversationOption(conversation, "I already helped you once, goodbye.") + StartConversation(conversation, NPC, Spawn, "The shrumblers came from the direction of the pond just to the southwest. Vile grobin scouts were recently seen in that area. I know it is much to ask, but could you check out the area and get rid of any grobin scouts that you find?") end function GrobinTroubleAtThePond(NPC, Spawn) @@ -256,4 +341,6 @@ function Quest4Done(NPC, Spawn) AddConversationOption(conversation, "Yes, I have them right here.", "MessageFromTheMatron") AddConversationOption(conversation, "No, I have not gathered them yet.") StartConversation(conversation, NPC, Spawn, "Welcome back, .. GetName(Spawn) .. . Were you able to gather the healing herbs I need?") -end \ No newline at end of file +end + +--]] \ No newline at end of file diff --git a/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua b/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua index 8c80681..85bf0ac 100644 --- a/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua +++ b/SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua @@ -1,240 +1,79 @@ --[[ - Script Name : SpawnScripts/GreaterFaydark/TrainerKaaliSaarinen.lua - Script Purpose : Trainer Kaali Saarinen - Script Author : John Adams - Script Date : 2009.02.05 - Script Notes : Auto-Generated Conversation from PacketParser Data + Script Name : SpawnScripts/GreaterFaydark + Script Purpose : Trainer Kaali Saarinen + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.6 + Script Notes : --]] function spawn(NPC) - SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") end function respawn(NPC) spawn(NPC) end -function InRange(NPC, Spawn) -end - -function LeaveRange(NPC, Spawn) -end - function hailed(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali001.mp3", "", "", 379020227, 2631329786, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_2_1") - AddConversationOption(conversation, "Tell me about mending items.") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") - if convo==3 then - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali001.mp3", "", "", 379020227, 2631329786, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_3_1") - AddConversationOption(conversation, "Tell me about mending items.") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") - end - - if convo==4 then - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali001.mp3", "", "", 379020227, 2631329786, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_4_1") - AddConversationOption(conversation, "Tell me about mending items.") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") - end - -end - -function dlg_2_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali002.mp3", "", "", 3479337661, 1558582082, Spawn) - AddConversationOption(conversation, "How do I open my bank?", "dlg_2_2") - StartConversation(conversation, NPC, Spawn, "You may already have an account with the Kelethin First Regional Bank. Go see Banker Athinae in Kelethin to access your account. You can access your Kelethin bank account from Qeynos, but not from Freeport.") -end - -function dlg_2_2(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali003.mp3", "", "", 3503013512, 572214147, Spawn) - AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_2_3") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see eight general slots and four 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") -end - -function dlg_2_3(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali004.mp3", "", "", 2117128717, 56517132, Spawn) - AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_2_4") - StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") -end - -function dlg_2_4(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali005.mp3", "", "", 740425505, 3325158062, Spawn) - AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_2_5") - StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are also citizens of Kelethin. Lore and No-Trade items cannot be put into the shared slots. Characters that are not Kelethin citizens cannot access a Kelethin bank. So, you could not access a bank in Qeynos or Freeport.") -end - -function dlg_2_5(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali006.mp3", "", "", 1392905744, 1433356720, Spawn) - AddConversationOption(conversation, "I want to learn about mending items.", "dlg_2_6") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") -end - -function dlg_2_6(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_2_7") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") -end - -function dlg_3_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali002.mp3", "", "", 3479337661, 1558582082, Spawn) - AddConversationOption(conversation, "How do I open my bank?", "dlg_3_2") - StartConversation(conversation, NPC, Spawn, "You may already have an account with the Kelethin First Regional Bank. Go see Banker Athinae in Kelethin to access your account. You can access your Kelethin bank account from Qeynos, but not from Freeport.") -end - -function dlg_3_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "Tell me about banking.") - AddConversationOption(conversation, "I'll return for training later.", "dlg_3_2") - StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") + start(NPC, Spawn) end -function dlg_3_2(NPC, Spawn) - FaceTarget(NPC, Spawn) +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali003.mp3", "", "", 3503013512, 572214147, Spawn) - AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_3_3") + + AddConversationOption(conversation, "Tell me about banking", "dlg_1_1") + AddConversationOption(conversation, "Tell me about mending items.", "dlg_1_6") AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") -end - -function dlg_3_3(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali004.mp3", "", "", 2117128717, 56517132, Spawn) - AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_3_4") - StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") -end - -function dlg_3_4(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali005.mp3", "", "", 740425505, 3325158062, Spawn) - AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_3_5") - StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are also citizens of Kelethin. Lore and No-Trade items cannot be put into the shared slots. Characters that are not Kelethin citizens cannot access a Kelethin bank. So, you could not access a bank in Qeynos or Freeport.") -end - -function dlg_3_5(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali006.mp3", "", "", 1392905744, 1433356720, Spawn) - AddConversationOption(conversation, "I want to learn about mending items.", "dlg_3_6") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") -end - -function dlg_3_6(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_3_7") - AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") -end + StartConversation(conversation, NPC, Spawn, "I can tell you all about mending and banking! Banking and mending! Which do you want to hear about?") +end -function dlg_3_7(NPC, Spawn) +function dlg_1_1(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali002.mp3", "", "", 3479337661, 1558582082, Spawn) - AddConversationOption(conversation, "How do I open my bank?", "dlg_3_8") - StartConversation(conversation, NPC, Spawn, "You may already have an account with the Kelethin First Regional Bank. Go see Banker Athinae in Kelethin to access your account. You can access your Kelethin bank account from Qeynos, but not from Freeport.") + + AddConversationOption(conversation, "How do I open my bank?", "dlg_1_2") + StartConversation(conversation, NPC, Spawn, "You may already have an account with the Kelethin First Regional Bank. Go see Banker Athinae in Kelethin to access your account. You can access your Kelethin bank account from Qeynos, but not from Freeport.") end -function dlg_3_8(NPC, Spawn) +function dlg_1_2(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali003.mp3", "", "", 3503013512, 572214147, Spawn) - AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_3_9") + + AddConversationOption(conversation, "How do I make deposits and withdrawals?", "dlg_1_3") AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see twelve general slots and eight 'shared' slots. You can put bags or containers in your bank to increase the number of available slots.") + StartConversation(conversation, NPC, Spawn, "Inside the bank, your mouse pointer will turn into a dial icon when hovered over a banker. Just click on the banker to open your bank window. You'll see eight general slots and four " .. '"shared" slots. You can put bags or containers in your bank to increase the number of available slots.') end - -function dlg_3_9(NPC, Spawn) + +function dlg_1_3(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali004.mp3", "", "", 2117128717, 56517132, Spawn) - AddConversationOption(conversation, "What are 'shared' bank slots?", "dlg_3_10") - StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the Shift key and drag, then enter the quantity.") + + AddConversationOption(conversation, 'What are "shared" bank slots?', "dlg_1_4") + StartConversation(conversation, NPC, Spawn, "Coins and items can be dragged from your inventory to the bank window. To drag one item from a stack, hold down the Ctrl key as you drag it. To drag a certain number of coins or items, hold down the shift key and drag, then enter the quantity.") end -function dlg_3_10(NPC, Spawn) +function dlg_1_4(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali005.mp3", "", "", 740425505, 3325158062, Spawn) - AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_3_11") - StartConversation(conversation, NPC, Spawn, "Items (but not coin) placed in your shared slots can be accessed by other characters on your account that are also citizens of Kelethin. Lore and No-Trade items cannot be put into the shared slots. Characters that are not Kelethin citizens cannot access a Kelethin bank. So, you could not access a bank in Qeynos or Freeport.") + + AddConversationOption(conversation, "Any other banking facts I should know?", "dlg_1_5") + StartConversation(conversation, NPC, Spawn, "Items (but not coins) placed in your shared slots can be accessed by other characters on your account that are also citizens of Kelethin. Lore and No-Trade items cannot be put into the shared slots. Characters that are not Kelethin Citizens cannot access a Kelethin bank. So, you could not access a bank in Qeynos or Freeport.") end -function dlg_3_11(NPC, Spawn) +function dlg_1_5(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_kaali_saarinen/_exp03/exp03_cty_kelethin/tutorials/qst_kaali/qst_kaali006.mp3", "", "", 1392905744, 1433356720, Spawn) - AddConversationOption(conversation, "I want to learn about mending items.", "dlg_3_12") + + AddConversationOption(conversation, "I want to learn about mending items", "dlg_1_6") AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting 'Guild Bank.'") + StartConversation(conversation, NPC, Spawn, 'If you choose to join a guild made up of your fellow players one day, you can access your guild bank by right-clicking on a banker and selecting "Guild Bank".') end -function dlg_3_12(NPC, Spawn) +function dlg_1_6(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "Tell me about banking.", "dlg_3_13") + + AddConversationOption(conversation, "Tell me about banking", "dlg_1_1") AddConversationOption(conversation, "I'll return for training later.") - StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") -end - -function dlg_4_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "Tell me about banking.") - AddConversationOption(conversation, "I'll return for training later.", "dlg_4_2") - StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") -end - + StartConversation(conversation, NPC, Spawn, "Your weapons and armor wear down when you die during combat. When they are down to zero durability, you no longer receive any benefit from them. You can visit a mender, such as Mender Kaarlo Karpela at Gearheart's Forge in Kelethin, to get them repaired. Speak to Trainer Leianna Teiampa if you wish to learn more about the effects of death.") +end \ No newline at end of file diff --git a/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua b/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua index 5d006cf..86f8c55 100644 --- a/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua +++ b/SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua @@ -1,54 +1,42 @@ --[[ Script Name : SpawnScripts/GreaterFaydark/TrainerLeiannaTeiampa.lua - Script Purpose : Trainer Leianna Teiampa - Script Author : John Adams - Script Date : 2009.02.05 - Script Notes : Auto-Generated Conversation from PacketParser Data + Script Purpose : Trainer Leianna Teiampa + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.7 + Script Notes : --]] function spawn(NPC) - SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") end function respawn(NPC) spawn(NPC) end -function InRange(NPC, Spawn) -end - -function LeaveRange(NPC, Spawn) +function hailed(NPC, Spawn) + start(NPC, Spawn) end -function hailed(NPC, Spawn) - FaceTarget(NPC, Spawn) +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna001.mp3", "", "", 2593288114, 2140672626, Spawn) - AddConversationOption(conversation, "What can cause my death? ", "dlg_1_1") + + AddConversationOption(conversation, "What can cause my death", "dlg_1_1") StartConversation(conversation, NPC, Spawn, "Even the bravest defender of Queen Amree will meet an untimely end on occasion. Let me teach you the consequences of death and how you can recover properly.") - if convo==2 then - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna001.mp3", "", "", 2593288114, 2140672626, Spawn) - AddConversationOption(conversation, "What can cause my death? ", "dlg_2_1") - StartConversation(conversation, NPC, Spawn, "Even the bravest defender of Queen Amree will meet an untimely end on occasion. Let me teach you the consequences of death and how you can recover properly.") - end - end function dlg_1_1(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna002.mp3", "", "", 2812437076, 222648528, Spawn) + AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_1_2") - StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") + StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") end function dlg_1_2(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna003.mp3", "", "", 3720158931, 1493578785, Spawn) + AddConversationOption(conversation, "Why green?", "dlg_1_3") StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") end @@ -56,8 +44,7 @@ end function dlg_1_3(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna004.mp3", "", "", 3707698350, 1300362585, Spawn) + AddConversationOption(conversation, "What happens then?", "dlg_1_4") AddConversationOption(conversation, "I need to finish this conversation later.") StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt, which cancels all others, if you get my meaning.") @@ -66,8 +53,7 @@ end function dlg_1_4(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna005.mp3", "", "", 2935015751, 315962153, Spawn) + AddConversationOption(conversation, "So death is not the end?", "dlg_1_5") StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") end @@ -75,8 +61,7 @@ end function dlg_1_5(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna006.mp3", "", "", 1368226349, 4294894609, Spawn) + AddConversationOption(conversation, "What are the consequences?", "dlg_1_6") StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") end @@ -84,18 +69,16 @@ end function dlg_1_6(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna007.mp3", "", "", 2655181548, 1246004986, Spawn) + AddConversationOption(conversation, "What is experience debt?", "dlg_1_7") AddConversationOption(conversation, "I think I've learned enough for now.") - StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") + StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a shot time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") end function dlg_1_7(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna008.mp3", "", "", 4024205643, 1733556835, Spawn) + AddConversationOption(conversation, "What is revive sickness like?", "dlg_1_8") StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your XP bar. As you earn experience going forward, part of your XP will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your XP bar also tells how much debt you have.") end @@ -103,8 +86,7 @@ end function dlg_1_8(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna009.mp3", "", "", 1594523964, 1981220977, Spawn) + AddConversationOption(conversation, "What are the results of item damage?", "dlg_1_9") StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") end @@ -112,110 +94,15 @@ end function dlg_1_9(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) + AddConversationOption(conversation, "What can I do about item damage?", "dlg_1_10") - StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, XXXXXXXX!") + StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, " .. GetName(Spawn)) end function dlg_1_10(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna011.mp3", "", "", 3165376796, 4242324750, Spawn) - AddConversationOption(conversation, "Thank you for your advice.", "dlg_1_11") - StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speak to Trainer Kaali to learn more about repairing your gear. Should your equipment take damage, Mender Kaarlo at Gearheart's Forge in Kelethin can repair things for you.") -end - -function dlg_2_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna002.mp3", "", "", 2812437076, 222648528, Spawn) - AddConversationOption(conversation, "How will I know when I'm going to die?", "dlg_2_2") - StartConversation(conversation, NPC, Spawn, "Death can come in many ways: being bested on the field of battle, falling from great heights, drowning in water, falling into lava, standing too close to an exploding chest, and so on. It's a dangerous world out there.") -end - -function dlg_2_2(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna003.mp3", "", "", 3720158931, 1493578785, Spawn) - AddConversationOption(conversation, "Why green?", "dlg_2_3") - StartConversation(conversation, NPC, Spawn, "Just keep an eye on your health bar, the green line located beneath your name in the upper left of your screen. At least...you hope it's green.") -end - -function dlg_2_3(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna004.mp3", "", "", 3707698350, 1300362585, Spawn) - AddConversationOption(conversation, "What happens then?", "dlg_2_4") - AddConversationOption(conversation, "I need to finish this conversation later.") - StartConversation(conversation, NPC, Spawn, "Green means you're healthy. As your health diminishes, the bar turns yellow, then orange, and finally red. If the bar is empty, you die. You pay the debt, which cancels all others, if you get my meaning.") -end - -function dlg_2_4(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna005.mp3", "", "", 2935015751, 315962153, Spawn) - AddConversationOption(conversation, "So death is not the end?", "dlg_2_5") - StartConversation(conversation, NPC, Spawn, "Your spirit lays trapped in your fallen body, unable to move. At this point, you have a choice: wait for a nearby ally to revive you, or choose a location from the window in the center of your screen at which to reappear. In some cases you'll have a single choice, in others multiple choices.") -end - -function dlg_2_5(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna006.mp3", "", "", 1368226349, 4294894609, Spawn) - AddConversationOption(conversation, "What are the consequences?", "dlg_2_6") - StartConversation(conversation, NPC, Spawn, "Fortunately for all of us, death in Norrath is a temporary thing. If another adventurer revives you, you reappear at the spot of your death. If you choose a location to revive, you will appear at that spot. There are consequences to death, however.") -end - -function dlg_2_6(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna007.mp3", "", "", 2655181548, 1246004986, Spawn) - AddConversationOption(conversation, "What is experience debt?", "dlg_2_7") - AddConversationOption(conversation, "I think I've learned enough for now.") - StartConversation(conversation, NPC, Spawn, "There are three results of death. First, you incur some experience debt which can be paid off by earning more XP (experience points). Second, you suffer a revive sickness that lowers your abilities for a short time, which leaves you temporarily vulnerable and less effective. Finally, all your equipped items take damage that will eventually have to be repaired.") -end - -function dlg_2_7(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna008.mp3", "", "", 4024205643, 1733556835, Spawn) - AddConversationOption(conversation, "What is revive sickness like?", "dlg_2_8") - StartConversation(conversation, NPC, Spawn, "Experience debt is indicated by a red line on your XP bar. As you earn experience going forward, part of your XP will go toward paying off your debt while the rest will continue to advance you toward your next level. Mousing over your XP bar also tells how much debt you have.") -end - -function dlg_2_8(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna009.mp3", "", "", 1594523964, 1981220977, Spawn) - AddConversationOption(conversation, "What are the results of item damage?", "dlg_2_9") - StartConversation(conversation, NPC, Spawn, "You'll see an icon for revive sickness in your spell effects window. Mousing over the icon will tell you how long it will remain. The type of sickness you have depends on how you were revived, but no matter what there will be a negative effect. Don't worry, it passes soon enough.") -end - -function dlg_2_9(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "", "", "", 0, 0, Spawn) - AddConversationOption(conversation, "What can I do about item damage?", "dlg_2_10") - StartConversation(conversation, NPC, Spawn, "Your equipped items usually take about 10% wear with each death. When they are down to zero durability, you no longer receive any benefit from them. Don't let your equipment ever get into such poor condition, XXXX!") -end - -function dlg_2_10(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo/trainer_leianna_teiampa/_exp03/exp03_cty_kelethin/tutorials/qst_leianna/qst_leianna011.mp3", "", "", 3165376796, 4242324750, Spawn) - AddConversationOption(conversation, "Thank you for your advice.", "dlg_2_11") - StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speak to Trainer Kaali to learn more about repairing your gear. Should your equipment take damage, Mender Kaarlo at Gearheart's Forge in Kelethin can repair things for you.") -end - + + AddConversationOption(conversation, "Thank you for your advice.") + StartConversation(conversation, NPC, Spawn, "You will need to see a mender, someone who is able to repair your items back to 100% durability. Speaker to Trainer Kaali to learn more about repairing your gear. Should your equipment take damage, Mender Kaarlo at Gearheart's Forge in Kelethin can repair things for you.") +end \ No newline at end of file diff --git a/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua b/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua index c857d3b..b7427ed 100644 --- a/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua +++ b/SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua @@ -1,173 +1,35 @@ --[[ Script Name : SpawnScripts/GreaterFaydark/TrainerTahvoloViljaan.lua - Script Purpose : Trainer Tahvolo Viljaan - Script Author : John Adams - Script Date : 2009.02.05 - Script Notes : Auto-Generated Conversation from PacketParser Data + Script Purpose : Trainer Tahvolo Viljaan + Script Author : Unsafemodder (a.k.a Pokchop1) + Script Date : 2013.010.8 + Script Notes : --]] function spawn(NPC) - SetPlayerProximityFunction(NPC, 10, "InRange", "LeaveRange") end function respawn(NPC) spawn(NPC) end -function InRange(NPC, Spawn) -end - -function LeaveRange(NPC, Spawn) +function hailed(NPC, Spawn) + start(NPC, Spawn) end -function hailed(NPC, Spawn) - FaceTarget(NPC, Spawn) +function start(NPC, Spawn) + FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo001.mp3", "", "", 919019701, 2798408307, Spawn) - AddConversationOption(conversation, "How do I judge my opponent?", "dlg_0_1") + + AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_1") AddConversationOption(conversation, "I'll return later.") StartConversation(conversation, NPC, Spawn, "Welcome, adventurer! I sense that you will fight many battles and that you will one day be known as a great hero of Kelethin. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") - if convo==1 then - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo001.mp3", "", "", 919019701, 2798408307, Spawn) - AddConversationOption(conversation, "How do I judge my opponent?", "dlg_1_1") - AddConversationOption(conversation, "I'll return later.") - StartConversation(conversation, NPC, Spawn, "Welcome, adventurer! I sense that you will fight many battles and that you will one day be known as a great hero of Kelethin. But remember, we all have to start somewhere. The first thing you need to know to be successful in combat is how to size up your adversary.") - end - -end - -function dlg_0_1(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo002.mp3", "", "", 2193844310, 3624394685, Spawn) - AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_0_2") - StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") -end - -function dlg_0_2(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo003.mp3", "", "", 753890716, 930863491, Spawn) - AddConversationOption(conversation, "How do I target an opponent?", "dlg_0_3") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") -end - -function dlg_0_3(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo004.mp3", "", "", 3494232259, 4144360483, Spawn) - AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_0_4") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") -end - -function dlg_0_4(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo005.mp3", "", "", 2786321648, 2695251208, Spawn) - AddConversationOption(conversation, "What does the Target window tell me?", "dlg_0_5") - StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") -end - -function dlg_0_5(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo008.mp3", "", "", 4122824975, 1009361609, Spawn) - AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_0_6") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") -end - -function dlg_0_6(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo009.mp3", "", "", 582140769, 1545923515, Spawn) - AddConversationOption(conversation, "What are the colors?", "dlg_0_7") - StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger its color indicates, the greater the threat it represents.") -end - -function dlg_0_7(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo010.mp3", "", "", 4148789055, 2942057099, Spawn) - AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_0_8") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") -end - -function dlg_0_8(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo011.mp3", "", "", 1519734080, 1353887948, Spawn) - AddConversationOption(conversation, "What do down arrows tell me?", "dlg_0_9") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") -end - -function dlg_0_9(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo012.mp3", "", "", 12923346, 452384633, Spawn) - AddConversationOption(conversation, "What do up arrows mean?", "dlg_0_10") - AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") -end - -function dlg_0_10(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo013.mp3", "", "", 930055644, 4233082648, Spawn) - AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_0_11") - AddConversationOption(conversation, "I will finish this lesson later.") - StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") -end - -function dlg_0_11(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo014.mp3", "", "", 863872534, 210742695, Spawn) - AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_0_12") - AddConversationOption(conversation, "I will finish this lesson later.") - StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") -end - -function dlg_0_12(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo015.mp3", "", "", 588637609, 4140309074, Spawn) - AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_0_13") - AddConversationOption(conversation, "I will finish this lesson later.") - StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") -end - -function dlg_0_13(NPC, Spawn) - FaceTarget(NPC, Spawn) - conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo016.mp3", "", "", 3032430174, 2185628774, Spawn) - AddConversationOption(conversation, "Thank you, instructor.", "dlg_0_14") - StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath. Learn well and you will indeed become the great champion I know you can be!") end function dlg_1_1(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo002.mp3", "", "", 2193844310, 3624394685, Spawn) + AddConversationOption(conversation, "What does the creature's name tell me?", "dlg_1_2") StartConversation(conversation, NPC, Spawn, "You must learn to use both your eyes and your instincts as you consider friends and foes alike in Norrath. There are two excellent tools you should use to judge their capabilities: what you can tell from their name and what you can learn by targeting them.") end @@ -175,8 +37,7 @@ end function dlg_1_2(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo003.mp3", "", "", 753890716, 930863491, Spawn) + AddConversationOption(conversation, "How do I target an opponent?", "dlg_1_3") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "If something has a red border around its name, that target is aggressive toward you and will attack if you get too close to it. You should be especially careful of creatures that roam around, because if they notice you they won't hesitate to strike.") @@ -185,8 +46,7 @@ end function dlg_1_3(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo004.mp3", "", "", 3494232259, 4144360483, Spawn) + AddConversationOption(conversation, "Why are separate creatures sometimes linked?", "dlg_1_4") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "All you need to do is move your mouse pointer over what you want to target and click. You will see the name of your opponent in the Target window in the upper left corner of the screen, and a large arrow will appear above its head. If arrows also appear above the heads of nearby creatures, it means all of them are linked together and will attack as one.") @@ -195,8 +55,7 @@ end function dlg_1_4(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo005.mp3", "", "", 2786321648, 2695251208, Spawn) + AddConversationOption(conversation, "What does the Target window tell me?", "dlg_1_5") StartConversation(conversation, NPC, Spawn, "Sometimes multiple creatures will work together to form a single encounter. These opponents will act as a team, and usually won't stop fighting until all of them are defeated.") end @@ -204,18 +63,16 @@ end function dlg_1_5(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo006.mp3", "", "", 2721160737, 1749161006, Spawn) + AddConversationOption(conversation, "What does the level indicate?", "dlg_1_6") AddConversationOption(conversation, "I will be back later.") - StartConversation(conversation, NPC, Spawn, "The Target window tells you several important facts, which collectively form what is referred to as the 'con' (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.") + StartConversation(conversation, NPC, Spawn, 'The Target window tells you several important facts, which collectively form what is referred to as the "con" (overall challenge) of the opponent. It shows you the numerical level of the creature you have targeted, a color to indicate its relative level range, up or down arrows to indicate toughness, and indicators that tell you if the encounter is normal, heroic, or epic.') end function dlg_1_6(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo007.mp3", "", "", 3848314184, 890214997, Spawn) + AddConversationOption(conversation, "How does my opponent's level affect my rewards for victory?", "dlg_1_7") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "As you adventure through Norrath, you will gain experience and increase your level. The opponents you will face in combat have levels as well. To be victorious, you will usually want to face foes that are close to your level.") @@ -224,8 +81,7 @@ end function dlg_1_7(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo008.mp3", "", "", 4122824975, 1009361609, Spawn) + AddConversationOption(conversation, "What does the color of my opponent's name tell me?", "dlg_1_8") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "You gain more experience by defeating higher-level opponents, but they will also be tougher to beat. Conversely, if you defeat foes much lower than your level, they will not be nearly as rewarding.") @@ -234,8 +90,7 @@ end function dlg_1_8(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo009.mp3", "", "", 582140769, 1545923515, Spawn) + AddConversationOption(conversation, "What are the colors?", "dlg_1_9") StartConversation(conversation, NPC, Spawn, "The color of your opponent's name indicates how challenging the encounter is. It is very useful as a quick indicator of whether or not you should be fighting a target. The more danger its color indicates, the greater the threat it represents.") end @@ -243,8 +98,7 @@ end function dlg_1_9(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo010.mp3", "", "", 4148789055, 2942057099, Spawn) + AddConversationOption(conversation, "Will grey targets ever attack me?", "dlg_1_10") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "Grey names mean the fight is below your abilities and will give no experience or reward. Green names mean the opponent is very easy. Blue names mean an easy fight. White names indicate the opponent is even with your abilities. Yellow names mean the fight will be challenging. Orange names indicate a difficult encounter. Red names mean the battle could be deadly.") @@ -253,8 +107,7 @@ end function dlg_1_10(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo011.mp3", "", "", 1519734080, 1353887948, Spawn) + AddConversationOption(conversation, "What do down arrows tell me?", "dlg_1_11") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "Targets with grey names will not attack you, even if they would be aggressive to someone closer to their level. In other words, you won't be attacked by anything that won't give you some reward for defeating it.") @@ -263,8 +116,7 @@ end function dlg_1_11(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo012.mp3", "", "", 12923346, 452384633, Spawn) + AddConversationOption(conversation, "What do up arrows mean?", "dlg_1_12") AddConversationOption(conversation, "I will be back later.") StartConversation(conversation, NPC, Spawn, "No arrow by the target's name indicates an average opponent for a lone adventurer. A single down arrow means it is a below average opponent. Two down arrows tell you it's a weak opponent, and three down arrows means it is very weak. Be careful though, because if multiple weak opponents are working together they can still represent quite a challenge.") @@ -273,8 +125,7 @@ end function dlg_1_12(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo013.mp3", "", "", 930055644, 4233082648, Spawn) + AddConversationOption(conversation, "So how do I know whether I can face a challenge alone?", "dlg_1_13") AddConversationOption(conversation, "I will finish this lesson later.") StartConversation(conversation, NPC, Spawn, "Up arrows indicate increased difficulty. A single up arrow means an above average opponent. Two up arrows show a strong opponent, while three up arrows means a very tough fight. If you look at the sparring partners next to us, you will see that they have different arrow indicators. Feel free to practice fighting them to feel what effect the arrows have.") @@ -283,8 +134,7 @@ end function dlg_1_13(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo014.mp3", "", "", 863872534, 210742695, Spawn) + AddConversationOption(conversation, "What is the difference between normal, heroic, and epic?", "dlg_1_14") AddConversationOption(conversation, "I will finish this lesson later.") StartConversation(conversation, NPC, Spawn, "As a general rule of thumb, if you see an enemy with one up arrow, it's a good idea to team up with another player to take it on. If you see an enemy with two up arrows, add two members to your group. If you see an opponent with three up arrows, add three members to your group. A lone adventurer will likely want to face targets with no arrows or down arrows.") @@ -293,8 +143,7 @@ end function dlg_1_14(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo015.mp3", "", "", 588637609, 4140309074, Spawn) + AddConversationOption(conversation, "So how do all these elements work together to show an opponent's difficulty?", "dlg_1_15") AddConversationOption(conversation, "I will finish this lesson later.") StartConversation(conversation, NPC, Spawn, "A normal opponent has no indicator and is intended to be fought by a solo adventurer or small group. A heroic encounter is intended for a larger group of up to six adventurers. An epic opponent should only be attempted by a raid force of multiple groups working together.") @@ -303,9 +152,7 @@ end function dlg_1_15(NPC, Spawn) FaceTarget(NPC, Spawn) conversation = CreateConversation() - - PlayFlavor(NPC, "voiceover/english/exp03_questvo2/trainer_tahvolo_viljaan/_exp03/exp03_cty_kelethin/tutorials/qst_tahvolo/qst_tahvolo016.mp3", "", "", 3032430174, 2185628774, Spawn) - AddConversationOption(conversation, "Thank you, instructor.", "dlg_1_16") + + AddConversationOption(conversation, "Thank you, instructor.") StartConversation(conversation, NPC, Spawn, "All the elements I've explained will affect the outcome of a battle and whether or not you will need allies to win. Pay close attention to the lessons I have taught you, and apply them to challenges you face throughout your journeys in Norrath. Learn well and you will indeed become the great champion I know you can be!") -end - +end \ No newline at end of file diff --git a/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua b/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua new file mode 100644 index 0000000..e5a4534 --- /dev/null +++ b/SpawnScripts/IllbodingDark1/OrugDeathmaker.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : SpawnScripts/CaveofIllbodingDark/OrugDeathmaker.lua + Script Purpose : for the spawn "Orug Deathmaker" + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : +--]] + +function spawn(NPC) + SetPlayerProximityFunction(NPC, 10, "Warning") +end + +function respawn(NPC) + spawn(NPC) +end + +function hailed(NPC, Spawn) + FaceTarget(NPC, Spawn) +end + +function Warning(NPC) + PlayFlavor(NPC, "", "You dare to meddle with Orug Deathmaker? You will fall here!", "", 1689589577, 4560189) +end + diff --git a/SpawnScripts/IllbodingDark1/blackshard.lua b/SpawnScripts/IllbodingDark1/blackshard.lua new file mode 100644 index 0000000..e17959b --- /dev/null +++ b/SpawnScripts/IllbodingDark1/blackshard.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : SpawnScripts/IllbodingDark1/blackshard.lua + Script Purpose : for the black shard spawns in zone 516 and 517 + Script Author : theFoof + Script Date : 2013.6.19 + Script Notes : +--]] + +local SeveringHead = 72 + +function spawn(NPC) + SpawnSet(NPC, "action_state", "2623") + SetRequiredQuest(GetSpawnByLocationID(GetZone(NPC), 465212), SeveringHead, 2) + SetRequiredQuest(GetSpawnByLocationID(GetZone(NPC), 465211), SeveringHead) +end + +function respawn(NPC) + spawn(NPC) +end + +function casted_on(NPC, Spawn, SpellName) + if SpellName == "Smash the stone!" then + if GetQuestStep(Spawn, SeveringHead) == 2 then + SetStepComplete(Spawn, SeveringHead, 2) + SpawnSet(GetSpawnByLocationID(GetZone(NPC), 465211), "visual_state", "0") + SpawnSet(NPC, "visual_state", "18193") + AddTimer(NPC, 500, "Despawn") + end + end +end \ No newline at end of file diff --git a/SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua b/SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua index b7af16d..4625a54 100644 --- a/SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua +++ b/SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua @@ -1,25 +1,25 @@ --[[ - Script Name : - Script Purpose : - Script Author : - Script Date : - Script Notes : + Script Name : SpawnScripts/TimorousDeep/aChrykoriguard_patroller1.lua + Script Purpose : Roaming guards + Script Author : Scatman + Script Date : 2008-09-01 + Script Notes : --]] function spawn(NPC) - MovementLoopAddLocation(NPC, -291.45, 13.40, -26.39, 3, 0) - MovementLoopAddLocation(NPC, -318.23, 13.18, -46.63, 3, 0) - MovementLoopAddLocation(NPC, -340.02, 9.96, -50.15, 3, 0) - MovementLoopAddLocation(NPC, -358.45, 7.20, -44.42, 3, 0) - MovementLoopAddLocation(NPC, -372.86, 2.94, -34.74, 3, 0) - MovementLoopAddLocation(NPC, -367.47, 2.96, -20.96, 3, 0) - MovementLoopAddLocation(NPC, -358.31, 2.28, -14.16, 3, 0) - MovementLoopAddLocation(NPC, -370.31, 3.35, -25.42, 3, 0) - MovementLoopAddLocation(NPC, -372.35, 2.83, -38.54, 3, 0) - MovementLoopAddLocation(NPC, -349.62, 8.50, -50.10, 3, 0) - MovementLoopAddLocation(NPC, -305.64, 13.16, -41.70, 3, 0) - MovementLoopAddLocation(NPC, -282.62, 16.61, -17.80, 3, 0) - MovementLoopAddLocation(NPC, -279.62, 20.50, -9.87, 3, 0) + MovementLoopAddLocation(NPC, -291.45, 13.40, -26.39, 2, 0) + MovementLoopAddLocation(NPC, -318.23, 13.18, -46.63, 2, 0) + MovementLoopAddLocation(NPC, -340.02, 9.96, -50.15, 2, 0) + MovementLoopAddLocation(NPC, -358.45, 7.20, -44.42, 2, 0) + MovementLoopAddLocation(NPC, -372.86, 2.94, -34.74, 2, 0) + MovementLoopAddLocation(NPC, -367.47, 2.96, -20.96, 2, 0) + MovementLoopAddLocation(NPC, -358.31, 2.28, -14.16, 2, 0) + MovementLoopAddLocation(NPC, -370.31, 3.35, -25.42, 2, 0) + MovementLoopAddLocation(NPC, -372.35, 2.83, -38.54, 2, 0) + MovementLoopAddLocation(NPC, -349.62, 8.50, -50.10, 2, 0) + MovementLoopAddLocation(NPC, -305.64, 13.16, -41.70, 2, 0) + MovementLoopAddLocation(NPC, -282.62, 16.61, -17.80, 2, 0) + MovementLoopAddLocation(NPC, -279.62, 20.50, -9.87, 2, 0) end function hailed(NPC, Spawn) diff --git a/SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua b/SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua index 2d33874..cee734d 100644 --- a/SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua +++ b/SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua @@ -1,14 +1,14 @@ --[[ - Script Name : - Script Purpose : - Script Author : - Script Date : - Script Notes : + Script Name : SpawnScripts/TimorousDeep/aChrykoriguard_patroller2.lua + Script Purpose : Roaming guards + Script Author : Scatman + Script Date : 2008-09-01 + Script Notes : --]] function spawn(NPC) - MovementLoopAddLocation(NPC, -402.93, 1.80, -0.26, 3, 0) - MovementLoopAddLocation(NPC, -447.74, 1.80, -0.42, 3, 0) + MovementLoopAddLocation(NPC, -402.93, 1.80, -0.26, 2, 0) + MovementLoopAddLocation(NPC, -447.74, 1.80, -0.42, 2, 0) end function hailed(NPC, Spawn) diff --git a/Spells/AuraofLeadership.lua b/Spells/AuraofLeadership.lua new file mode 100644 index 0000000..471c511 --- /dev/null +++ b/Spells/AuraofLeadership.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells/AuraofLeadership.lua + Script Author : John Adams + Script Date : 2013.11.25 05:11:28 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Wards group members (AE) against 0 points of all damage + +function cast(Caster, Target, WardAmt) + AddWard(WardAmt) +end diff --git a/Spells/Commoner/BetaCarpet.lua b/Spells/Commoner/BetaCarpet.lua index c1b3bd7..9a6060b 100644 --- a/Spells/Commoner/BetaCarpet.lua +++ b/Spells/Commoner/BetaCarpet.lua @@ -1,5 +1,5 @@ --[[ - Script Name : Spells/mounts.lua + Script Name : Spells/Commoner/BetaCarpet.lua Script Purpose : Spawns mounts of {model_id}, {color} and {speed} Script Author : John Adams / LethalEncounter Script Date : 2009.03.28 diff --git a/Spells/Commoner/BetaDamage.lua b/Spells/Commoner/BetaDamage.lua index d1d72ca..6d2f4d3 100644 --- a/Spells/Commoner/BetaDamage.lua +++ b/Spells/Commoner/BetaDamage.lua @@ -1,5 +1,5 @@ --[[ - Script Name : dd_dot.lua + Script Name : Spells/Commoner/BetaDamage.lua Script Purpose : Generic damage + 1 effect script Script Author : John Adams Script Date : 2008.12.02 diff --git a/Spells/Commoner/BetaGriffon.lua b/Spells/Commoner/BetaGriffon.lua index 67ff059..c485f53 100644 --- a/Spells/Commoner/BetaGriffon.lua +++ b/Spells/Commoner/BetaGriffon.lua @@ -1,8 +1,8 @@ --[[ Script Name : Spells/Commoner/BetaGriffon.lua - Script Author : John + Script Author : John Adams Script Date : 2010.03.31 05:03:52 - Script Notes : Enter special notes here + Script Notes : : --]] diff --git a/Spells/Commoner/BetaHeal.lua b/Spells/Commoner/BetaHeal.lua index 9a734c2..5e041c5 100644 --- a/Spells/Commoner/BetaHeal.lua +++ b/Spells/Commoner/BetaHeal.lua @@ -1,5 +1,5 @@ --[[ - Script Name : betaheal.lua + Script Name : Spells/Commoner/BetaHeal.lua Script Purpose : Fast / High healing for Beta testers Script Author : John Adams Script Date : 2008.12.03 diff --git a/Spells/Commoner/BetaMount.lua b/Spells/Commoner/BetaMount.lua index c1b3bd7..ec8c93c 100644 --- a/Spells/Commoner/BetaMount.lua +++ b/Spells/Commoner/BetaMount.lua @@ -1,5 +1,5 @@ --[[ - Script Name : Spells/mounts.lua + Script Name : Spells/Commoner/BetaMount.lua Script Purpose : Spawns mounts of {model_id}, {color} and {speed} Script Author : John Adams / LethalEncounter Script Date : 2009.03.28 diff --git a/Spells/Commoner/Destroying.lua b/Spells/Commoner/Destroying.lua new file mode 100644 index 0000000..b8096e8 --- /dev/null +++ b/Spells/Commoner/Destroying.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells/Commoner/Destroying.lua + Script Author : John Adams + Script Date : 2013.11.22 10:11:31 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Must not be targeted by an enemy + +function cast(Caster, Target) + Say(Caster, "Destroying not implemented yet") +end diff --git a/Spells/Commoner/Knockdown.lua b/Spells/Commoner/Knockdown.lua new file mode 100644 index 0000000..ec5965d --- /dev/null +++ b/Spells/Commoner/Knockdown.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Commoner/Knockdown.lua + Script Author : John Adams + Script Date : 2013.11.22 01:11:34 + Script Purpose : Apply Knockdown + : +--]] + +function cast(Caster, Target) + + --Throws target back + --Stuns target + AddControlEffect(Target, 4) + + --Blurs vision of target (to do) + + --Except Epic + +end + +function remove(Caster, Target) + RemoveControlEffect(Target, 4) +end diff --git a/Spells/Commoner/Multitalented.lua b/Spells/Commoner/Multitalented.lua new file mode 100644 index 0000000..325d994 --- /dev/null +++ b/Spells/Commoner/Multitalented.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Commoner/Multitalented.lua + Script Author : John + Script Date : 2012.07.07 12:07:31 + Script Notes : Reduces harvesting time by 0.5 seconds (Passive) + : +--]] + +function cast(Caster, Target, Defense) + -- testing Jabantiz' passive spells + AddSkillBonus(Target, 609880714, Defense) -- Defense +end + +function tick(Caster, Target, Type, Min, Max) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target, Type, Min, Max) + -- code to remove the spell +end + diff --git a/Spells/Commoner/NormalDrink.lua b/Spells/Commoner/NormalDrink.lua new file mode 100644 index 0000000..7c621b2 --- /dev/null +++ b/Spells/Commoner/NormalDrink.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Commoner/NormalDrink.lua + Script Purpose : Apply drink buffs + Script Author : Zcoretri + Script Date : 2013.04.11 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + AddSpellBonus(Target, 601, Bonus) +end + +function remove(Caster, Target, Bonus) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Commoner/NormalMeal.lua b/Spells/Commoner/NormalMeal.lua new file mode 100644 index 0000000..c44304e --- /dev/null +++ b/Spells/Commoner/NormalMeal.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Commoner/NormalMeal.lua + Script Purpose : Apply food buffs + Script Author : Zcoretri + Script Date : 2013.04.11 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + AddSpellBonus(Target, 600, Bonus) +end + +function remove(Caster, Target, Bonus) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Commoner/Pathfinding.lua b/Spells/Commoner/Pathfinding.lua new file mode 100644 index 0000000..7eebd5d --- /dev/null +++ b/Spells/Commoner/Pathfinding.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Commoner/Pathfinding.lua + Script Author : John Adams + Script Date : 2013.11.22 10:11:43 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Increases speed of group members (AE) by 16.0% + +function cast(Caster, Target, BuffValue) + AddSpellBonus(Target, 609, BuffValue) +end + +function remove(Caster, Target, BuffValue) + RemoveSpellBonus(Target) +end diff --git a/Spells/Commoner/Pets.lua b/Spells/Commoner/Pets.lua new file mode 100644 index 0000000..e151089 --- /dev/null +++ b/Spells/Commoner/Pets.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Commoner/Pets.lua + Script Author : John Adams + Script Date : 2013.11.20 06:11:19 + Script Purpose : + : +--]] + +function cast(Caster, Target, PetID) + -- Summons a pet + SummonPet(Caster, PetID) +end + +function remove(Caster, Target) + pet = GetPet(Caster) + if pet ~= nil then + DismissPet(pet) + end +end diff --git a/Spells/Commoner/TouchoftheGray.lua b/Spells/Commoner/TouchoftheGray.lua new file mode 100644 index 0000000..57d6638 --- /dev/null +++ b/Spells/Commoner/TouchoftheGray.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Commoner/TouchoftheGray.lua + Script Author : John Adams + Script Date : 2013.11.19 09:11:23 + Script Purpose : + : +--]] + +function cast(Caster, Target, SlowAmt) + + -- Applies Touch of the Grey. Lasts for 10.0 seconds. + -- Slows target by 30.2% + -- 5% chance to dispel when target receives hostile action (to do) + -- 5% chance to dispel when target takes damage (to do) + + AddSpellBonus(Target, 610, SlowAmt) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Commoner/Tracking.lua b/Spells/Commoner/Tracking.lua new file mode 100644 index 0000000..84247a4 --- /dev/null +++ b/Spells/Commoner/Tracking.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells/Commoner/Tracking.lua + Script Author : John Adams + Script Date : 2013.11.22 09:11:05 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Tracks a selected target, causing a trail to appear that leads to their location. + +function cast(Caster, Target) + ToggleTracking(Caster) +end diff --git a/Spells/Commoner/Transmute.lua b/Spells/Commoner/Transmute.lua new file mode 100644 index 0000000..3f14ce7 --- /dev/null +++ b/Spells/Commoner/Transmute.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : Spells/Commoner/Transmute.lua + Script Author : John Adams + Script Date : 2013.11.22 10:11:04 + Script Purpose : + : +--]] + + +function cast(Caster, Target) + +end diff --git a/Spells/Commoner/harvest.lua b/Spells/Commoner/harvest.lua new file mode 100644 index 0000000..b31c963 --- /dev/null +++ b/Spells/Commoner/harvest.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : harvest.lua + Script Purpose : Fishing, Foresting, Gathering/Collecting, Mining, Trapping + Script Author : John Adams + Script Date : 2008.12.05 + Script Notes : +--]] + +function precast(Caster, Target) + if IsGroundSpawn(Target) then + return CanHarvest(Caster, Target) + end + + return false +end + +function cast(Caster, Target) + Harvest(Caster, Target) +end diff --git a/Spells/Fighter/Brawler/Bruiser/Abuse.lua b/Spells/Fighter/Brawler/Bruiser/Abuse.lua new file mode 100644 index 0000000..cb08078 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Abuse.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Abuse.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target encounter by 132 - 162 +-- Interrupts target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Beatdown.lua b/Spells/Fighter/Brawler/Bruiser/Beatdown.lua new file mode 100644 index 0000000..c621025 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Beatdown.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Beatdown.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/BlazeKick.lua b/Spells/Fighter/Brawler/Bruiser/BlazeKick.lua new file mode 100644 index 0000000..eb28fc4 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/BlazeKick.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/BlazeKick.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 40 - 67 melee damage on target +-- Inflicts 18 heat damage on target every 6 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/BobandWeave.lua b/Spells/Fighter/Brawler/Bruiser/BobandWeave.lua new file mode 100644 index 0000000..6d14fb2 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/BobandWeave.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/BobandWeave.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases STR of caster by 9.4 +-- Adds 2.5% to base avoidance. +-- Increases Mitigation of caster vs physical damage by 63 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 168 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Bodyguard.lua b/Spells/Fighter/Brawler/Bruiser/Bodyguard.lua new file mode 100644 index 0000000..801a534 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Bodyguard.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Bodyguard.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/BruisingSpirit.lua b/Spells/Fighter/Brawler/Bruiser/BruisingSpirit.lua new file mode 100644 index 0000000..ec2fb53 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/BruisingSpirit.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/BruisingSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Brutality.lua b/Spells/Fighter/Brawler/Bruiser/Brutality.lua new file mode 100644 index 0000000..461d2ae --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Brutality.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Brutality.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI and STR of raid and group members (AE) by 5.4 +-- Adds 0.9% to base avoidance. +-- Improves the base amount of combat arts by 2.81%. +-- Improves the base amount of taunts by 9%. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/CloseMind.lua b/Spells/Fighter/Brawler/Bruiser/CloseMind.lua new file mode 100644 index 0000000..c53e796 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/CloseMind.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/CloseMind.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/DivideandConquer.lua b/Spells/Fighter/Brawler/Bruiser/DivideandConquer.lua new file mode 100644 index 0000000..cdf2e2b --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/DivideandConquer.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/DivideandConquer.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target encounter by 24 - 36 +-- Increases threat priority of target encounter by 2 positions +-- Forces half of the target encounter to target and attack you. Upgrades to this spell increase the duration the target must target you from a range of 4 to 8 seconds. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/EyeGouge.lua b/Spells/Fighter/Brawler/Bruiser/EyeGouge.lua new file mode 100644 index 0000000..be71375 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/EyeGouge.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/EyeGouge.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 101 - 303 piercing damage on target +-- Decreases Ranged, Piercing, Slashing and Crushing of target by 11.3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/FistofGorynn.lua b/Spells/Fighter/Brawler/Bruiser/FistofGorynn.lua new file mode 100644 index 0000000..56e7efe --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/FistofGorynn.lua @@ -0,0 +1,38 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/FistofGorynn.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a combat hit this spell may cast Strike of Anger on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Inflicts 626 - 940 crushing damage on target +-- Increases Crit Chance of caster by 12.0 +-- Cannot be modified except by direct means +-- Attacker must be behind or flanking +-- On a combat hit this spell may cast Strike of Anger on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Crit Chance of caster by 12.0 +-- Increases Threat to target by 3,648 +-- Inflicts 562 - 842 crushing damage on target +-- Cannot be modified except by direct means +-- Attacker must be in front of +-- Caster will deflect 5.0% of incoming attacks. +-- Reduces physical damage done to caster by 10% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/IgnorePain.lua b/Spells/Fighter/Brawler/Bruiser/IgnorePain.lua new file mode 100644 index 0000000..71650c7 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/IgnorePain.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/IgnorePain.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/IndomitableWill.lua b/Spells/Fighter/Brawler/Bruiser/IndomitableWill.lua new file mode 100644 index 0000000..f15cc41 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/IndomitableWill.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/IndomitableWill.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Intimidate.lua b/Spells/Fighter/Brawler/Bruiser/Intimidate.lua new file mode 100644 index 0000000..83a3848 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Intimidate.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Intimidate.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/KnockoutCombination.lua b/Spells/Fighter/Brawler/Bruiser/KnockoutCombination.lua new file mode 100644 index 0000000..6ff94ff --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/KnockoutCombination.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/KnockoutCombination.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/LightningFists.lua b/Spells/Fighter/Brawler/Bruiser/LightningFists.lua new file mode 100644 index 0000000..60d0b92 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/LightningFists.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/LightningFists.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Manhandle.lua b/Spells/Fighter/Brawler/Bruiser/Manhandle.lua new file mode 100644 index 0000000..2e24235 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Manhandle.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Manhandle.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Roughhousing on target of attack. Triggers about 5.0 times per minute. +-- Increases Threat to target by 153 +-- Inflicts 21 - 35 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/MercilessStomp.lua b/Spells/Fighter/Brawler/Bruiser/MercilessStomp.lua new file mode 100644 index 0000000..524c0bb --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/MercilessStomp.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/MercilessStomp.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 49 - 82 crushing damage on target +-- Applies Knockdown. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/MeteorFist.lua b/Spells/Fighter/Brawler/Bruiser/MeteorFist.lua new file mode 100644 index 0000000..ee775b3 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/MeteorFist.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/MeteorFist.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 13 - 22 heat damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/OneHundredHandPunch.lua b/Spells/Fighter/Brawler/Bruiser/OneHundredHandPunch.lua new file mode 100644 index 0000000..62f1988 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/OneHundredHandPunch.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/OneHundredHandPunch.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target +-- Inflicts 14 - 43 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Pummel.lua b/Spells/Fighter/Brawler/Bruiser/Pummel.lua index d1d72ca..a66d870 100644 --- a/Spells/Fighter/Brawler/Bruiser/Pummel.lua +++ b/Spells/Fighter/Brawler/Bruiser/Pummel.lua @@ -1,55 +1,22 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Fighter/Brawler/Bruiser/Pummel.lua + Script Author : John Adams + Script Date : 2013.11.17 07:11:55 + Script Purpose : Direct Damage script + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +function cast(Caster, Target, DDType, MinDmg, MaxDmg) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end + if MaxDmg ~= nil and MinDmg < MaxDmg then + dmgAmount = math.random(MinDmg, MaxDmg) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmg) + end end -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end +function remove(Caster, Target, DDType, MinDmg, MaxDmg) end diff --git a/Spells/Fighter/Brawler/Bruiser/RockSkin.lua b/Spells/Fighter/Brawler/Bruiser/RockSkin.lua new file mode 100644 index 0000000..e0dc885 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/RockSkin.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/RockSkin.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Roundhouse.lua b/Spells/Fighter/Brawler/Bruiser/Roundhouse.lua new file mode 100644 index 0000000..f531e31 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Roundhouse.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Roundhouse.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 9 - 29 crushing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/SavageAssault.lua b/Spells/Fighter/Brawler/Bruiser/SavageAssault.lua new file mode 100644 index 0000000..4ae4eae --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/SavageAssault.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/SavageAssault.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/ShoulderCharge.lua b/Spells/Fighter/Brawler/Bruiser/ShoulderCharge.lua new file mode 100644 index 0000000..f62dcfc --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/ShoulderCharge.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/ShoulderCharge.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 26 - 79 melee damage on target +-- Applies Knockdown. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/ShrugOff.lua b/Spells/Fighter/Brawler/Bruiser/ShrugOff.lua new file mode 100644 index 0000000..1d55983 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/ShrugOff.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/ShrugOff.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Adds 0.8% to base avoidance. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/SmolderingFists.lua b/Spells/Fighter/Brawler/Bruiser/SmolderingFists.lua new file mode 100644 index 0000000..4c4fc1e --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/SmolderingFists.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/SmolderingFists.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/SonicPunch.lua b/Spells/Fighter/Brawler/Bruiser/SonicPunch.lua new file mode 100644 index 0000000..28b9b9c --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/SonicPunch.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/SonicPunch.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 400 - 666 melee damage on target +-- Interrupts target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/StoneDeaf.lua b/Spells/Fighter/Brawler/Bruiser/StoneDeaf.lua new file mode 100644 index 0000000..24b2b69 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/StoneDeaf.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/StoneDeaf.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/SuckerPunch.lua b/Spells/Fighter/Brawler/Bruiser/SuckerPunch.lua new file mode 100644 index 0000000..e0e29a3 --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/SuckerPunch.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/SuckerPunch.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 202 - 608 melee damage on target +-- Dazes target +-- If Target is not Epic +-- Must be flanking or behind +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/UnyieldingResolve.lua b/Spells/Fighter/Brawler/Bruiser/UnyieldingResolve.lua new file mode 100644 index 0000000..11093ab --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/UnyieldingResolve.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/UnyieldingResolve.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals caster for 10.0% of max health +-- Heals caster for 5.0% of max health every second +-- This effect cannot be critically applied. +-- Makes caster immune to strikethrough attacks. +-- Caster will Dodge 100.0% of incoming attacks +-- The healing of this spell cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Bruiser/Uppercut.lua b/Spells/Fighter/Brawler/Bruiser/Uppercut.lua new file mode 100644 index 0000000..d14980f --- /dev/null +++ b/Spells/Fighter/Brawler/Bruiser/Uppercut.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Bruiser/Uppercut.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 119 - 358 melee damage on target +-- Applies Knockdown on termination. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/DevastationFist.lua b/Spells/Fighter/Brawler/DevastationFist.lua new file mode 100644 index 0000000..296ef81 --- /dev/null +++ b/Spells/Fighter/Brawler/DevastationFist.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Brawler/DevastationFist.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 823 - 1372 melee damage on target +-- Inflicts 110.5% of max health in crushing damage on target +-- If Target is Standard or weaker + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/FeignDeath.lua b/Spells/Fighter/Brawler/FeignDeath.lua new file mode 100644 index 0000000..27533e6 --- /dev/null +++ b/Spells/Fighter/Brawler/FeignDeath.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/FeignDeath.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/InstillPanic.lua b/Spells/Fighter/Brawler/InstillPanic.lua new file mode 100644 index 0000000..279885a --- /dev/null +++ b/Spells/Fighter/Brawler/InstillPanic.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Brawler/InstillPanic.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes target afraid +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/ArcticTalon.lua b/Spells/Fighter/Brawler/Monk/ArcticTalon.lua new file mode 100644 index 0000000..1305935 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/ArcticTalon.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/ArcticTalon.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 143 - 239 cold damage on target +-- Dazes target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/BodyLikeMountain.lua b/Spells/Fighter/Brawler/Monk/BodyLikeMountain.lua new file mode 100644 index 0000000..9cf8e65 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/BodyLikeMountain.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/BodyLikeMountain.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/CalmTranquility.lua b/Spells/Fighter/Brawler/Monk/CalmTranquility.lua new file mode 100644 index 0000000..8a8db67 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/CalmTranquility.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/CalmTranquility.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Ability Casting Speed of raid and group members (AE) by 2.4% +-- Increases Attack Speed of raid and group members (AE) by 6.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/Challenge.lua b/Spells/Fighter/Brawler/Monk/Challenge.lua new file mode 100644 index 0000000..19fe283 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/Challenge.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/Challenge.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target encounter by 132 - 162 +-- Interrupts target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/ChargingTiger.lua b/Spells/Fighter/Brawler/Monk/ChargingTiger.lua new file mode 100644 index 0000000..1b8a9dc --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/ChargingTiger.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/ChargingTiger.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 35 - 59 melee damage on target +-- Applies Knockdown on termination. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/CrescentStrike.lua b/Spells/Fighter/Brawler/Monk/CrescentStrike.lua new file mode 100644 index 0000000..9eff25b --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/CrescentStrike.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/CrescentStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/CrouchingTiger.lua b/Spells/Fighter/Brawler/Monk/CrouchingTiger.lua new file mode 100644 index 0000000..5917cc7 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/CrouchingTiger.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/CrouchingTiger.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/DragonRage.lua b/Spells/Fighter/Brawler/Monk/DragonRage.lua new file mode 100644 index 0000000..86bdfd6 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/DragonRage.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/DragonRage.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/Dragonfire.lua b/Spells/Fighter/Brawler/Monk/Dragonfire.lua new file mode 100644 index 0000000..b30e545 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/Dragonfire.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/Dragonfire.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/EverburningFlame.lua b/Spells/Fighter/Brawler/Monk/EverburningFlame.lua new file mode 100644 index 0000000..a2f9e7e --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/EverburningFlame.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/EverburningFlame.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Attack Speed of caster by 17.1 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/FallofthePhoenix.lua b/Spells/Fighter/Brawler/Monk/FallofthePhoenix.lua new file mode 100644 index 0000000..0359405 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/FallofthePhoenix.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/FallofthePhoenix.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/FiveRings.lua b/Spells/Fighter/Brawler/Monk/FiveRings.lua new file mode 100644 index 0000000..babc76a --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/FiveRings.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/FiveRings.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 34 - 57 melee damage on target +-- Inflicts 34 - 57 melee damage on target +-- Inflicts 34 - 57 melee damage on target +-- Inflicts 34 - 57 melee damage on target +-- Inflicts 34 - 57 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/FlowLikeWind.lua b/Spells/Fighter/Brawler/Monk/FlowLikeWind.lua new file mode 100644 index 0000000..981e9a9 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/FlowLikeWind.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/FlowLikeWind.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/FrozenPalm.lua b/Spells/Fighter/Brawler/Monk/FrozenPalm.lua new file mode 100644 index 0000000..09d9021 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/FrozenPalm.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/FrozenPalm.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 11 - 18 cold damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/InnerCalm.lua b/Spells/Fighter/Brawler/Monk/InnerCalm.lua new file mode 100644 index 0000000..24a2ac9 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/InnerCalm.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/InnerCalm.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases STR of caster by 9.4 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 211 +-- Increases Mitigation of caster vs physical damage by 63 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/LightningPalm.lua b/Spells/Fighter/Brawler/Monk/LightningPalm.lua new file mode 100644 index 0000000..33e5bf4 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/LightningPalm.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/LightningPalm.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/Mend.lua b/Spells/Fighter/Brawler/Monk/Mend.lua new file mode 100644 index 0000000..ec1c695 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/Mend.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/Mend.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/MountainStance.lua b/Spells/Fighter/Brawler/Monk/MountainStance.lua new file mode 100644 index 0000000..d27a3c2 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/MountainStance.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/MountainStance.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/OutwardCalm.lua b/Spells/Fighter/Brawler/Monk/OutwardCalm.lua new file mode 100644 index 0000000..54ac461 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/OutwardCalm.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/OutwardCalm.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/Peel.lua b/Spells/Fighter/Brawler/Monk/Peel.lua new file mode 100644 index 0000000..758c566 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/Peel.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/Peel.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target by 73 - 90 instantly and by 47 - 58 every 2 seconds thereafter +-- Applies Wane on termination. Lasts for 20.0 seconds. +-- Increases Threat to target by 1,853 - 2,206 instantly and by 1,330 - 1,567 every 4 seconds thereafter +-- Forces target to change their selected target to caster instantly and every 2 seconds. +-- Increases threat priority of target by 4 positions +-- Prevents target from changing targets +-- Must be not at the top of the hate list of your current target. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/PerfectSerenity.lua b/Spells/Fighter/Brawler/Monk/PerfectSerenity.lua new file mode 100644 index 0000000..89fbc6c --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/PerfectSerenity.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/PerfectSerenity.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Gives caster a 50.0% chance to strikethrough a successful avoidance check +-- On a melee hit this spell may cast Serene Strike on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Multi Attack Chance of caster by 15.0 +-- Inflicts 586 - 1088 crushing damage on target +-- Cannot be modified except by direct means +-- Gives caster an extra 20.0% mitigation to their worn armor +-- Caster will deflect 5.0% of incoming attacks. +-- Increases caster's chance to block by 15.0% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/RisingDragon.lua b/Spells/Fighter/Brawler/Monk/RisingDragon.lua new file mode 100644 index 0000000..05535e3 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/RisingDragon.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/RisingDragon.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 26 - 44 melee damage on target +-- Inflicts 27 - 44 heat damage on target every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/RisingPhoenix.lua b/Spells/Fighter/Brawler/Monk/RisingPhoenix.lua new file mode 100644 index 0000000..4232114 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/RisingPhoenix.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/RisingPhoenix.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 54 - 90 melee damage on target +-- Applies Knockdown on termination. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/RoundhouseKick.lua b/Spells/Fighter/Brawler/Monk/RoundhouseKick.lua new file mode 100644 index 0000000..a45b3b1 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/RoundhouseKick.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/RoundhouseKick.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 14 - 23 slashing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/SilentPalm.lua b/Spells/Fighter/Brawler/Monk/SilentPalm.lua new file mode 100644 index 0000000..db49742 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/SilentPalm.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/SilentPalm.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 177 - 295 melee damage on target +-- Stifles target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/SilentThreat.lua b/Spells/Fighter/Brawler/Monk/SilentThreat.lua new file mode 100644 index 0000000..40b2d54 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/SilentThreat.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/SilentThreat.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target by 51 - 62 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/StrikingCobra.lua b/Spells/Fighter/Brawler/Monk/StrikingCobra.lua new file mode 100644 index 0000000..8bd89dc --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/StrikingCobra.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/StrikingCobra.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 49 - 82 melee damage on target +-- Decreases Defense of target by 1.3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/TranquilVision.lua b/Spells/Fighter/Brawler/Monk/TranquilVision.lua new file mode 100644 index 0000000..fabfb7c --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/TranquilVision.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/TranquilVision.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Increases Deflection of caster by 2.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/Tsunami.lua b/Spells/Fighter/Brawler/Monk/Tsunami.lua new file mode 100644 index 0000000..aa0759e --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/Tsunami.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/Tsunami.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/WakingDragon.lua b/Spells/Fighter/Brawler/Monk/WakingDragon.lua new file mode 100644 index 0000000..d298271 --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/WakingDragon.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/WakingDragon.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:41 + Script Purpose : Direct Damage script + : +--]] + +function cast(Caster, Target, DDType, MinDmg, MaxDmg) + + if MaxDmg ~= nil and MinDmg < MaxDmg then + dmgAmount = math.random(MinDmg, MaxDmg) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmg) + end + +end + +function remove(Caster, Target, DDType, MinDmg, MaxDmg) + +end + diff --git a/Spells/Fighter/Brawler/Monk/WilloftheHeavens.lua b/Spells/Fighter/Brawler/Monk/WilloftheHeavens.lua new file mode 100644 index 0000000..055cd2c --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/WilloftheHeavens.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/WilloftheHeavens.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Brawler/Monk/WindWalk.lua b/Spells/Fighter/Brawler/Monk/WindWalk.lua new file mode 100644 index 0000000..19ed6cb --- /dev/null +++ b/Spells/Fighter/Brawler/Monk/WindWalk.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Brawler/Monk/WindWalk.lua + Script Author : John Adams + Script Date : 2013.08.11 05:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants invisibility to caster +-- Suspends caster's movement speed enhancements + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/DoomJudgment.lua b/Spells/Fighter/Crusader/DoomJudgment.lua new file mode 100644 index 0000000..635e0d5 --- /dev/null +++ b/Spells/Fighter/Crusader/DoomJudgment.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/DoomJudgment.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Amends.lua b/Spells/Fighter/Crusader/Paladin/Amends.lua new file mode 100644 index 0000000..b0656c1 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Amends.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Amends.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Transfers 16% of target's current Threat to the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/AncientWrath.lua b/Spells/Fighter/Crusader/Paladin/AncientWrath.lua new file mode 100644 index 0000000..6add271 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/AncientWrath.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/AncientWrath.lua + Script Author : Jabantiz + Script Date : 2013.12.06 08:12:08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Stuns targets in Area of Effect + -- If Target is not Epic + if not IsEpic(Target) then + AddControlEffect(Target, 4) + end + + -- Inflicts 66 - 110 divine damage on targets in Area of Effect + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Resistibility increases against targets higher than level 29. + +end + +function remove(Caster, Target) + RemoveControlEffect(Target, 4) +end diff --git a/Spells/Fighter/Crusader/Paladin/BlessedWeapon.lua b/Spells/Fighter/Crusader/Paladin/BlessedWeapon.lua new file mode 100644 index 0000000..21b4189 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/BlessedWeapon.lua @@ -0,0 +1,44 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/BlessedWeapon.lua + Script Author : Jabantiz + Script Date : 2013.12.06 12:12:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- On a melee hit this spell may cast Glorious Strike on target of attack. Lasts for 2.0 seconds. Triggers about 1.6 times per minute. + AddProc(Target, 3, 12.5) + Say(Caster, "Not Implemented: stun and bonus damage to undead") +end + +function proc(Caster, Target, Type, DmgType, MinVal, MaxVal, bonusDmgType, bonusDmgMin, bonusDmgMax) + if Type == 3 then + -- Inflicts 43 - 72 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + ProcDamage(Caster, Target, "Glorious Strike", DmgType, math.random(MinVal, MaxVal)) + else + ProcDamage(Caster, Target, "Glorious Strike", DmgType, MinVal) + end + + -- Inflicts 37 - 62 divine damage on target + -- If target is undead + --[[ + if undead then + if bonusDmgMax ~= nil and bonusDmgMin < bonusDmgMax then + ProcDamage(Caster, Target, "Glorious Strike", bonusDmgType, math.random(bonusDmgMin, bonusDmgMax)) + else + ProcDamage(Caster, Target, "Glorious Strike", bonusDmgType, bonusDmgMin) + end + end + --]] + + -- Stuns target + -- If Target is not Epic + + end +end + +function remove(Caster, Target) + RemoveProc(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/BlessingofthePaladin.lua b/Spells/Fighter/Crusader/Paladin/BlessingofthePaladin.lua new file mode 100644 index 0000000..c647b7a --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/BlessingofthePaladin.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/BlessingofthePaladin.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Castigate.lua b/Spells/Fighter/Crusader/Paladin/Castigate.lua new file mode 100644 index 0000000..e0366b9 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Castigate.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Castigate.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Clarion.lua b/Spells/Fighter/Crusader/Paladin/Clarion.lua index a0c50c1..92f3038 100644 --- a/Spells/Fighter/Crusader/Paladin/Clarion.lua +++ b/Spells/Fighter/Crusader/Paladin/Clarion.lua @@ -5,22 +5,22 @@ Script Date : 2008.12.07 --]] -function cast(Caster, Target, TauntType, MinTauntVal, MaxTauntVal) +function cast(Caster, Target, MinTaunt1, MaxTaunt1, MinTaunt2, MaxTaunt2) -- Taunt component - if MaxTauntVal ~= nil and MinTauntVal < MaxTauntVal then - hateAmount = math.random(MinTauntVal, MaxTauntVal) + if MaxTaunt1 ~= nil and MinTaunt1 < MaxTaunt1 then + hateAmount = math.random(MinTaunt1, MaxTaunt1) AddHate(Caster, Target, hateAmount) else - AddHate(Caster, Target, MinTauntVal) + AddHate(Caster, Target, MinTaunt1) end end -function tick(Caster, Target, TauntType, MinTauntVal, MaxTauntVal) - if MaxTauntVal ~= nil and MinTauntVal < MaxTauntVal then - hateAmount = math.random(MinTauntVal, MaxTauntVal) +function tick(Caster, Target, MinTaunt1, MaxTaunt1, MinTaunt2, MaxTaunt2) + if MaxTaunt2 ~= nil and MinTaunt2 < MaxTaunt2 then + hateAmount = math.random(MinTaunt2, MaxTaunt2) AddHate(Caster, Target, hateAmount) else - AddHate(Caster, Target, MinTauntVal) + AddHate(Caster, Target, MinTaunt2) end end diff --git a/Spells/Fighter/Crusader/Paladin/Consecrate.lua b/Spells/Fighter/Crusader/Paladin/Consecrate.lua new file mode 100644 index 0000000..98b4e20 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Consecrate.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Consecrate.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Crusade.lua b/Spells/Fighter/Crusader/Paladin/Crusade.lua new file mode 100644 index 0000000..e7ee23a --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Crusade.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Crusade.lua + Script Author : Jabantiz + Script Date : 2013.12.07 06:12:50 + Script Purpose : + : +--]] + +function cast(Caster, Target, statBonus, mitBonus, healBonus) + -- Increases WIS of raid and group members (AE) by 9.2 + AddSpellBonus(Target, 3, statBonus) + + -- Increases Mitigation of raid and group members (AE) vs elemental, noxious and arcane damage by 78 + AddSpellBonus(Target, 201, mitBonus) + AddSpellBonus(Target, 202, mitBonus) + AddSpellBonus(Target, 203, mitBonus) + + -- Increases heal amounts of raid members by 2.82%. + AddSpellBonus(Target, 701, healBonus) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/Decree.lua b/Spells/Fighter/Crusader/Paladin/Decree.lua new file mode 100644 index 0000000..5335658 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Decree.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Decree.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Inflicts 204 - 340 divine damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/DemonstrationofFaith.lua b/Spells/Fighter/Crusader/Paladin/DemonstrationofFaith.lua new file mode 100644 index 0000000..5cf5976 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/DemonstrationofFaith.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/DemonstrationofFaith.lua + Script Author : Jabantiz + Script Date : 2013.12.06 06:12:26 + Script Purpose : + : +--]] + +function cast(Caster, Target, WardAmt) + -- Wards target against 179 points of all damage + AddWard(WardAmt) +end + +function remove(Caster, Target) + RemoveWard() +end \ No newline at end of file diff --git a/Spells/Fighter/Crusader/Paladin/DevoutSacrament.lua b/Spells/Fighter/Crusader/Paladin/DevoutSacrament.lua new file mode 100644 index 0000000..525824f --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/DevoutSacrament.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/DevoutSacrament.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/DivineFavor.lua b/Spells/Fighter/Crusader/Paladin/DivineFavor.lua new file mode 100644 index 0000000..f7ee4a2 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/DivineFavor.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/DivineFavor.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/DivineInspiration.lua b/Spells/Fighter/Crusader/Paladin/DivineInspiration.lua new file mode 100644 index 0000000..55bb054 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/DivineInspiration.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/DivineInspiration.lua + Script Author : Jabantiz + Script Date : 2013.12.05 11:12:59 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- On a hit this spell may cast Divine Strike on target of attack. Triggers about 1.6 times per minute. + AddProc(Target, 3, 12.5) +end + +function proc(Caster, Target, Type, DmgType, MinVal, MaxVal) + if Type == 3 then + -- Inflicts 17 - 28 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + ProcDamage(Caster, Target, "Divine Strike", DmgType, math.random(MinVal, MaxVal)) + else + ProcDamage(Caster, Target, "Divine Strike", DmgType, MinVal) + end + + -- Inflicts 17 - 28 divine damage on target + -- If target is undead + Say(Caster, "Not Implemented: Bonus damage to undead") + end +end + +function remove(Caster, Target) + RemoveProc(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/DivineVengeance.lua b/Spells/Fighter/Crusader/Paladin/DivineVengeance.lua new file mode 100644 index 0000000..f1c107b --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/DivineVengeance.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/DivineVengeance.lua + Script Author : Jabantiz + Script Date : 2013.12.06 05:12:06 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType1, MinVal1, MaxVal1, DmgType2, MinVal2, MaxVal2, DmgType3, MinVal3, MaxVal3) + -- Inflicts 20 - 33 divine damage on target + if MaxVal1 ~= nil and MinVal1 < MaxVal1 then + SpellDamage(Target, DmgType1, math.random(MinVal1, MaxVal1)) + else + SpellDamage(Target, DmgType1, MinVal1) + end + + -- Applies Glorious Strike on termination. Lasts for 2.0 seconds. + -- Stuns target + -- If Target is not Epic + Say(Caster, "Not Implemented: Stun and bonus damage to undead") + + -- Inflicts 47 - 79 divine damage on target + if MaxVal2 ~= nil and MinVal2 < MaxVal2 then + ProcDamage(Caster, Target, "Glorious Strike", DmgType2, math.random(MinVal2, MaxVal2)) + else + ProcDamage(Caster, Target, "Glorious Strike", DmgType2, MinVal2) + end + + -- Inflicts 41 - 68 divine damage on target + -- If target is undead + +end + +function remove(Caster, Target, DmgType1, MinVal1, MaxVal1, DmgType2, MinVal2, MaxVal2, DmgType3, MinVal3, MaxVal3) + end diff --git a/Spells/Fighter/Crusader/Paladin/ElixirofResuscitation.lua b/Spells/Fighter/Crusader/Paladin/ElixirofResuscitation.lua new file mode 100644 index 0000000..68536c5 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/ElixirofResuscitation.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/ElixirofResuscitation.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 13% health and power +-- Applies Resurrect on termination. +-- Heals target for 100.0% of max health +-- This effect cannot be critically applied. +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 123.0 +-- Decreases Lethality of target by 123.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/FaithStrike.lua b/Spells/Fighter/Crusader/Paladin/FaithStrike.lua index 74279b6..1638f8e 100644 --- a/Spells/Fighter/Crusader/Paladin/FaithStrike.lua +++ b/Spells/Fighter/Crusader/Paladin/FaithStrike.lua @@ -1,56 +1,24 @@ --[[ - Script Name : dd_heal.lua - Script Purpose : Generic damage + Heal effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Fighter/Crusader/Paladin/FaithStrike.lua + Script Author : John Adams + Script Date : 2013.11.17 06:11:09 + Script Purpose : DD + Heal + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal) +function cast(Caster, Target, DDType, MinDmg, MaxDmg, HealAmt) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end + -- DD Component + if MaxDmg ~= nil and MinDmg < MaxDmg then + dmgAmount = math.random(MinDmg, MaxDmg) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmg) + end - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "Heal" then - ModifyHP(Caster, EffectValue) - else - -- something else - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - -- something else - end - -end - -function remove(Caster, Target) + -- Heal Component + if HealAmt ~= nil then + SpellHeal("Heal", HealAmt, HealAmt, Caster) + end end diff --git a/Spells/Fighter/Crusader/Paladin/HeroicDash.lua b/Spells/Fighter/Crusader/Paladin/HeroicDash.lua new file mode 100644 index 0000000..514959f --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HeroicDash.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HeroicDash.lua + Script Author : Jabantiz + Script Date : 2013.12.06 07:12:55 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) + + + + +function cast(Caster, Target, DmgType, MinVal, MaxVal, Hate) + -- Inflicts 19 - 33 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Increases Threat to target by 302 + AddHate(Caster, Target, Hate, 1) + + -- Applies Knockdown. Lasts for 2.5 seconds. + -- Blurs vision of target + -- Throws target back + -- Stuns target + -- Does not affect Epic targets + if not IsEpic(Target) then + Knockback(Caster, Target, 2500) + Say(Caster, "Not Implemented: stun and vision") + end +end diff --git a/Spells/Fighter/Crusader/Paladin/HolyAid.lua b/Spells/Fighter/Crusader/Paladin/HolyAid.lua new file mode 100644 index 0000000..82c81bc --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HolyAid.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HolyAid.lua + Script Author : Jabantiz + Script Date : 2013.12.06 06:12:21 + Script Purpose : + : +--]] + +function cast(Caster, Target, MinVal, MaxVal, PhyBonus) + -- Heals target for 175 - 213 + -- This effect cannot be critically applied. + if MaxVal ~= nil and MinVal < MaxVal then + SpellHeal("Heal", math.random(MinVal, MaxVal)) + else + SpellHeal("Heal", MinVal) + end + + -- Increases Mitigation of target vs physical damage by 76 + AddSpellBonus(Target, 200, PhyBonus) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/HolyAvenger.lua b/Spells/Fighter/Crusader/Paladin/HolyAvenger.lua new file mode 100644 index 0000000..4c8febc --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HolyAvenger.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HolyAvenger.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a Holy Avenger that transfers life from surrounding enemies to your allies. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/HolyCircle.lua b/Spells/Fighter/Crusader/Paladin/HolyCircle.lua new file mode 100644 index 0000000..becf7cb --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HolyCircle.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HolyCircle.lua + Script Author : Jabantiz + Script Date : 2013.12.05 09:12:58 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal, HealVal) + -- Inflicts 25 - 43 divine damage on targets in Area of Effect + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Heals group members (AE) for 13 + -- This effect cannot be critically applied. + -- The healing of this spell cannot be modified except by direct means + local group = GetGroup(Caster) + if group == nil then + SpellHeal("Heal", HealVal, HealVal, Caster) + else + for key,value in pairs(group) do + if value ~= nil then + if GetDistance(Caster, value) <= 5 then + SpellHeal("Heal", HealVal, HealVal, value) + end + end + end + end +end \ No newline at end of file diff --git a/Spells/Fighter/Crusader/Paladin/HolyGround.lua b/Spells/Fighter/Crusader/Paladin/HolyGround.lua new file mode 100644 index 0000000..f6d3131 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HolyGround.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HolyGround.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/HolyStrike.lua b/Spells/Fighter/Crusader/Paladin/HolyStrike.lua new file mode 100644 index 0000000..4dd2b5e --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/HolyStrike.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/HolyStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 117 - 196 divine damage on target +-- Inflicts 47 - 79 divine damage on target every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Judgment.lua b/Spells/Fighter/Crusader/Paladin/Judgment.lua new file mode 100644 index 0000000..410a092 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Judgment.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Judgment.lua + Script Author : Jabantiz + Script Date : 2013.12.05 05:12:36 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Interrupts target + Interrupt(Caster, Target) + + -- Inflicts 9 - 14 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end diff --git a/Spells/Fighter/Crusader/Paladin/KnightsStance.lua b/Spells/Fighter/Crusader/Paladin/KnightsStance.lua new file mode 100644 index 0000000..85e27b0 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/KnightsStance.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/KnightsStance.lua + Script Author : Jabantiz + Script Date : 2013.12.05 06:12:33 + Script Purpose : + : +--]] + +function cast(Caster, Target, dmgReduction, staBonus, avoidBonus, meleeReduction, defenseBonus, arcaneMitBonus, armoreffectiveness) + -- Reduces physical damage done to caster by 5% + Say(Caster, "Not Implemented: physical damage reduction") + -- Increases STA of caster by 11.9 + AddSpellBonus(Target, 1, staBonus) + -- Adds 2.8% to base avoidance. + AddSpellBonus(Target, 696, avoidBonus) + -- Decreases Crushing, Piercing and Slashing of caster by 1.4 + AddSkillBonus(Target, 3421494576, meleeReduction) + AddSkillBonus(Target, 3048574950, meleeReduction) + AddSkillBonus(Target, 418532101, meleeReduction) + -- Increases Aggression and Defense of caster by 1.6 + AddSkillBonus(Target, 723762198, defenseBonus) + AddSkillBonus(Target, 609880714, defenseBonus) + -- Increases Mitigation of caster vs arcane damage by 138 + AddSpellBonus(Target, 203, arcaneMitBonus) + -- Increases the caster's effectiveness of worn armor vs physical damage by 15% + AddSpellBonus(Target, 678, armoreffectiveness) -- Might not be the correct bonus ID + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/LayonHands.lua b/Spells/Fighter/Crusader/Paladin/LayonHands.lua new file mode 100644 index 0000000..e63749f --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/LayonHands.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/LayonHands.lua + Script Author : Jabantiz + Script Date : 2013.12.07 06:12:55 + Script Purpose : + : +--]] + +function cast(Caster, Target, statBonus, mitBonus, healMin, healMax) + -- Increases Max Health of target by 96.7 + AddSpellBonus(Target, 500, statBonus) + + -- Increases Mitigation of target vs physical damage by 180 + AddSpellBonus(Target, 204, mitBonus) + AddSpellBonus(Target, 205, mitBonus) + AddSpellBonus(Target, 206, mitBonus) + + -- Heals target for 42.1 - 51.5% of max health + -- This effect cannot be critically applied. + local healAmount = 0 + if healMax ~= nil and healMin < healMax then + healAmount = math.random(healMin, healMax) + else + healAmount = healMin + end + + healAmount = GetMaxHP(Target) * (healAmount / 100) + healAmount = math.floor(healAmount) + SpellHeal("Heal", healAmount, healAmount) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/MarrsFavor.lua b/Spells/Fighter/Crusader/Paladin/MarrsFavor.lua new file mode 100644 index 0000000..a378c81 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/MarrsFavor.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/MarrsFavor.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a combat hit this spell may cast Marr's Fury on target of attack. Triggers about 3.0 times per minute. +-- Inflicts 811 - 991 divine damage on target +-- Reduces physical damage done to caster by 10% +-- When the paladin takes damage, they will heal themselves for 10% of the damage amount. +-- On a spell cast this spell has a 15% chance to cast Marr's Favor on caster. Lasts for 15.0 seconds. +-- Increases the damage of spells by up to 25% of your total strength +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/PenitentKick.lua b/Spells/Fighter/Crusader/Paladin/PenitentKick.lua new file mode 100644 index 0000000..3da35eb --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/PenitentKick.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/PenitentKick.lua + Script Author : Jabantiz + Script Date : 2013.12.05 07:12:40 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 12 - 20 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Applies Knockdown on termination. Lasts for 1.5 seconds. + -- Throws target back + -- Stuns target + -- Blurs vision of target + -- Does not affect Epic targets + if not IsEpic(Target) then + Knockback(Caster, Target, 1500) + Say(Caster, "Not Implemented: Stun and Vision") + end +end diff --git a/Spells/Fighter/Crusader/Paladin/PowerCleave.lua b/Spells/Fighter/Crusader/Paladin/PowerCleave.lua new file mode 100644 index 0000000..bba0922 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/PowerCleave.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/PowerCleave.lua + Script Author : Jabantiz + Script Date : 2013.12.06 08:12:53 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 44 - 73 divine damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end diff --git a/Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua b/Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua index 130b94e..3ea332e 100644 --- a/Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua +++ b/Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua @@ -1,18 +1,25 @@ --[[ - Script Name : Heal (Spell Type) - Script Purpose : Generic script for healing spells - Script Author : John Adams - Script Date : 2008.12.03 - Script Note : + Script Name : Spells/Fighter/Crusader/Paladin/PrayerofHealing.lua + Script Author : Jabantiz + Script Date : 2013.12.05 05:12:39 + Script Purpose : + : --]] -function cast(Caster, Target, HealType, HealMinVal, HealMaxVal) +function cast(Caster, Target, BonusAmt, MinVal, MaxVal) + -- Increases Max Health of group members (AE) by 15.8 + AddSpellBonus(Target, 500, BonusAmt) - -- Heal Component - if HealMinVal < HealMaxVal then - ModifyHP(Caster, math.random(HealMinVal, HealMaxVal)) - else - ModifyHP(Caster, HealMinVal) - end + -- Heals group members (AE) for 21 - 25 + -- This effect cannot be critically applied. + -- The healing of this spell cannot be modified except by direct means + if MaxVal ~= nil and MinVal < MaxVal then + SpellHeal("Heal", MinVal, MaxVal) + else + SpellHeal("Heal", MinVal) + end +end +function remove(Caster, Target) + RemoveSpellBonus(Target) end diff --git a/Spells/Fighter/Crusader/Paladin/RefusalofAtonement.lua b/Spells/Fighter/Crusader/Paladin/RefusalofAtonement.lua new file mode 100644 index 0000000..2617c16 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/RefusalofAtonement.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/RefusalofAtonement.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 393 - 656 divine damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/ResoluteFaith.lua b/Spells/Fighter/Crusader/Paladin/ResoluteFaith.lua new file mode 100644 index 0000000..adc7ada --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/ResoluteFaith.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/ResoluteFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Increases Defense of caster by 2.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/Righteousness.lua b/Spells/Fighter/Crusader/Paladin/Righteousness.lua new file mode 100644 index 0000000..43e703d --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/Righteousness.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/Righteousness.lua + Script Author : Jabantiz + Script Date : 2013.12.05 09:12:22 + Script Purpose : + : +--]] + +function cast(Caster, Target, minVal, maxVal, mitVal) + -- Increases Threat to target encounter by 125 - 153 + if maxVal ~= nil and minVal < maxVal then + AddHate(Caster, Target, math.random(minVal, maxVal)) + else + AddHate(Caster, Target, minVal) + end + + -- Decreases Mitigation of target encounter vs arcane damage by 104 + AddSpellBonus(Target, 203, mitVal) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Fighter/Crusader/Paladin/SigilofHeroism.lua b/Spells/Fighter/Crusader/Paladin/SigilofHeroism.lua new file mode 100644 index 0000000..836afd4 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/SigilofHeroism.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/SigilofHeroism.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Paladin/WrathStance.lua b/Spells/Fighter/Crusader/Paladin/WrathStance.lua new file mode 100644 index 0000000..0462510 --- /dev/null +++ b/Spells/Fighter/Crusader/Paladin/WrathStance.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Paladin/WrathStance.lua + Script Author : Jabantiz + Script Date : 2013.12.05 06:12:58 + Script Purpose : + : +--]] + +function cast(Caster, Target, statBonus, skillReduction, skillBonus) + -- Increases STR of caster by 11.9 + AddSpellBonus(Target, 0, statBonus) + -- Decreases Defense of caster by 1.8 + AddSkillBonus(Target, 609880714, skillReduction) + -- Increases Disruption, Slashing, Piercing and Crushing of caster by 2.4 + AddSkillBonus(Target, 613995491, skillBonus) + AddSkillBonus(Target, 418532101, skillBonus) + AddSkillBonus(Target, 3048574950, skillBonus) + AddSkillBonus(Target, 3421494576, skillBonus) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Fighter/Crusader/PledgeofArmament.lua b/Spells/Fighter/Crusader/PledgeofArmament.lua new file mode 100644 index 0000000..31b41d8 --- /dev/null +++ b/Spells/Fighter/Crusader/PledgeofArmament.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/PledgeofArmament.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Mitigation of target vs physical damage by 73 +-- Decreases Mitigation of caster vs physical damage by 162 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/Blasphemy.lua b/Spells/Fighter/Crusader/Shadowknight/Blasphemy.lua new file mode 100644 index 0000000..d0ff0c8 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/Blasphemy.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/Blasphemy.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target encounter by 200 - 245 +-- Interrupts target encounter +-- Decreases Mitigation of target encounter vs noxious damage by 104 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/Bloodletter.lua b/Spells/Fighter/Crusader/Shadowknight/Bloodletter.lua new file mode 100644 index 0000000..b25d2a9 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/Bloodletter.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/Bloodletter.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/CleaveFlesh.lua b/Spells/Fighter/Crusader/Shadowknight/CleaveFlesh.lua new file mode 100644 index 0000000..0158379 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/CleaveFlesh.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/CleaveFlesh.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 64 - 107 disease damage on target +-- Decreases WIS of target by 16.2 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DarkBlade.lua b/Spells/Fighter/Crusader/Shadowknight/DarkBlade.lua new file mode 100644 index 0000000..db5a904 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DarkBlade.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DarkBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DeathCloud.lua b/Spells/Fighter/Crusader/Shadowknight/DeathCloud.lua new file mode 100644 index 0000000..70aafc5 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DeathCloud.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DeathCloud.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DeathMarch.lua b/Spells/Fighter/Crusader/Shadowknight/DeathMarch.lua new file mode 100644 index 0000000..98efcab --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DeathMarch.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DeathMarch.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DeviousEvasion.lua b/Spells/Fighter/Crusader/Shadowknight/DeviousEvasion.lua new file mode 100644 index 0000000..02af51e --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DeviousEvasion.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DeviousEvasion.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Increases Parry of caster by 2.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DevourVitae.lua b/Spells/Fighter/Crusader/Shadowknight/DevourVitae.lua new file mode 100644 index 0000000..ed16903 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DevourVitae.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DevourVitae.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 162 - 198 disease damage on target +-- Heals caster for 4.9 - 5.9% of max health +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DevouringMist.lua b/Spells/Fighter/Crusader/Shadowknight/DevouringMist.lua new file mode 100644 index 0000000..3cd0666 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DevouringMist.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DevouringMist.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Devouring Mist. Lasts for 1 minute 12 seconds. +-- Increases Mitigation of caster vs physical damage by 135 +-- Decreases Mitigation of target encounter vs physical damage by 675 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/DreadfulWrath.lua b/Spells/Fighter/Crusader/Shadowknight/DreadfulWrath.lua new file mode 100644 index 0000000..f65f25e --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/DreadfulWrath.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/DreadfulWrath.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare on termination. Lasts for 24.0 seconds. +-- Slows target by 34.2% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Inflicts 336 - 559 disease damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/GraveSacrament.lua b/Spells/Fighter/Crusader/Shadowknight/GraveSacrament.lua new file mode 100644 index 0000000..22c7152 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/GraveSacrament.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/GraveSacrament.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/GrimHarbinger.lua b/Spells/Fighter/Crusader/Shadowknight/GrimHarbinger.lua new file mode 100644 index 0000000..5801d2e --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/GrimHarbinger.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/GrimHarbinger.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Grim Strike on target of attack. Triggers about 3.0 times per minute. +-- Inflicts 37 - 62 disease damage on target +-- Heals caster for 15 - 25 +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/HarmTouch.lua b/Spells/Fighter/Crusader/Shadowknight/HarmTouch.lua new file mode 100644 index 0000000..6a9c383 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/HarmTouch.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/HarmTouch.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 846 - 1411 disease damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/HatefulSlam.lua b/Spells/Fighter/Crusader/Shadowknight/HatefulSlam.lua new file mode 100644 index 0000000..81bcafc --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/HatefulSlam.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/HatefulSlam.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 23 - 39 disease damage on target +-- Increases Threat to target by 181 instantly and by 79 every 3 seconds thereafter +-- Applies Knockdown. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/InnoruuksCaress.lua b/Spells/Fighter/Crusader/Shadowknight/InnoruuksCaress.lua new file mode 100644 index 0000000..837c23a --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/InnoruuksCaress.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/InnoruuksCaress.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/InsidiousWhisper.lua b/Spells/Fighter/Crusader/Shadowknight/InsidiousWhisper.lua new file mode 100644 index 0000000..313405c --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/InsidiousWhisper.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/InsidiousWhisper.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target, MinTauntVal, MaxTauntVal, MinTauntTick, MaxTauntTick, DDType, MinDDVal, MaxDDVal, DoTType, MinDoTVal, MaxDoTVal) + + -- Taunt component + if MaxTauntVal ~= nil and MinTauntVal < MaxTauntVal then + hateAmount = math.random(MinTauntVal, MaxTauntVal) + AddHate(Caster, Target, hateAmount) + else + AddHate(Caster, Target, MinTauntVal) + end + + -- Disease component + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + dmgAmount = math.random(MinDDVal, MaxDDVal) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDDVal) + end + +end + +function tick(Caster, Target, MinTauntVal, MaxTauntVal, MinTauntTick, MaxTauntTick, DDType, MinDDVal, MaxDDVal, DoTType, MinDoTVal, MaxDoTVal) + + -- Taunt component + if MaxTauntTick ~= nil and MinTauntTick < MaxTauntTick then + hateAmount = math.random(MinTauntTick, MaxTauntTick) + AddHate(Caster, Target, hateAmount) + else + AddHate(Caster, Target, MinTauntTick) + end + + -- Disease component + if MaxDoTVal ~= nil and MinDoTVal < MaxDoTVal then + dmgAmount = math.random(MinDoTVal, MaxDoTVal) + SpellDamage(Target, DoTType, dmgAmount) + else + SpellDamage(Target, DoTType, MinDoTVal) + end + +end diff --git a/Spells/Fighter/Crusader/Shadowknight/LucansPact.lua b/Spells/Fighter/Crusader/Shadowknight/LucansPact.lua new file mode 100644 index 0000000..d5d4320 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/LucansPact.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/LucansPact.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/Malice.lua b/Spells/Fighter/Crusader/Shadowknight/Malice.lua new file mode 100644 index 0000000..89af10f --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/Malice.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/Malice.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 9 - 15 disease damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/ManaSieve.lua b/Spells/Fighter/Crusader/Shadowknight/ManaSieve.lua new file mode 100644 index 0000000..2fa1b9d --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/ManaSieve.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/ManaSieve.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 187 - 311 disease damage on target +-- Inflicts 47 - 78 disease damage on target every 4 seconds +-- Increases power of caster by 63 - 105 +-- Increases power of caster by 14 - 23 every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/MortalEmbrace.lua b/Spells/Fighter/Crusader/Shadowknight/MortalEmbrace.lua new file mode 100644 index 0000000..b18be6e --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/MortalEmbrace.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/MortalEmbrace.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Feigns Death with 58% chance of success + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/Painbringer.lua b/Spells/Fighter/Crusader/Shadowknight/Painbringer.lua index d1d72ca..f88a3ab 100644 --- a/Spells/Fighter/Crusader/Shadowknight/Painbringer.lua +++ b/Spells/Fighter/Crusader/Shadowknight/Painbringer.lua @@ -1,55 +1,38 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Fighter/Crusader/Shadowknight/Painbringer.lua + Script Author : John Adams + Script Date : 2013.11.17 05:11:19 + Script Purpose : DD, DoT and Heal + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end +function cast(Caster, Target, DmgType, MinDmg, MaxDmg, MinHeal, DoTType, DoT) + + -- DD component + if MaxDmg ~= nil and MinDmg < MaxDmg then + dmgAmount = math.random(MinDmg, MaxDmg) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmg) + end + + -- Painbringer Component (instant heal) + if MinHeal ~= nil then + ModifyHP(Caster, MinHeal) -- heals 2 every 3 seconds for 9 seconds + end end -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +function tick(Caster, Target, DmgType, MinDmg, MaxDmg, MinHeal, DoTType, DoTAmt) - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end + -- Heal component + if MinHeal ~= nil then + ModifyHP(Caster, MinHeal) -- heals 2 every 3 seconds for 9 seconds + end - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end + -- DoT component + if DoTAmt ~= nil then + SpellDamage(Target, DoTType, DoTAmt) -- Disease 1 every 3 seconds for 9 seconds + end end diff --git a/Spells/Fighter/Crusader/Shadowknight/Pestilence.lua b/Spells/Fighter/Crusader/Shadowknight/Pestilence.lua new file mode 100644 index 0000000..0c603bd --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/Pestilence.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/Pestilence.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Pestilence. Lasts for 16.0 seconds. +-- Inflicts 294 - 360 disease damage on caster +-- Inflicts 98 - 120 disease damage on caster every 2 seconds +-- On death this spell will cast Pestilence Mark on target. +-- Applies Pestilence. Lasts for 16.0 seconds. +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/SeethingHatred.lua b/Spells/Fighter/Crusader/Shadowknight/SeethingHatred.lua new file mode 100644 index 0000000..b65eb09 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/SeethingHatred.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/SeethingHatred.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Damage over time spells increase damage with each tick. Damage ceases to increase after 5 ticks. +-- On any combat or spell hit this spell may cast Seething Hatred on target of attack. Lasts for 15.0 seconds. Triggers about 2.4 times per minute. +-- Inflicts 734 - 897 disease damage on target +-- 300% of health regained from lifetaps will be applied as hate to engaged targets. +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/ShadowCoil.lua b/Spells/Fighter/Crusader/Shadowknight/ShadowCoil.lua new file mode 100644 index 0000000..e19704b --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/ShadowCoil.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/ShadowCoil.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 71 - 107 disease damage on target +-- Inflicts 28 - 43 disease damage on target every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/ShadowyElusion.lua b/Spells/Fighter/Crusader/Shadowknight/ShadowyElusion.lua new file mode 100644 index 0000000..7bce1a3 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/ShadowyElusion.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/ShadowyElusion.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports caster and caster's group within the zone + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/SiphonStrength.lua b/Spells/Fighter/Crusader/Shadowknight/SiphonStrength.lua new file mode 100644 index 0000000..c7c89e4 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/SiphonStrength.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/SiphonStrength.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases STR and INT of target by 20.7 +-- Increases INT and STR of caster by 20.7 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/SiphonStrike.lua b/Spells/Fighter/Crusader/Shadowknight/SiphonStrike.lua new file mode 100644 index 0000000..a2801fe --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/SiphonStrike.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/SiphonStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 23 - 39 disease damage on target +-- Applies Life Draw on termination. +-- Inflicts 81 - 135 disease damage on target +-- Heals caster for 37 - 62 +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/Soulrend.lua b/Spells/Fighter/Crusader/Shadowknight/Soulrend.lua new file mode 100644 index 0000000..683197c --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/Soulrend.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/Soulrend.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 12 - 20 piercing damage on target +-- Applies Knockdown on termination. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/TapVeins.lua b/Spells/Fighter/Crusader/Shadowknight/TapVeins.lua new file mode 100644 index 0000000..5db0376 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/TapVeins.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/TapVeins.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/TouchofDeath.lua b/Spells/Fighter/Crusader/Shadowknight/TouchofDeath.lua new file mode 100644 index 0000000..1d96a63 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/TouchofDeath.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/TouchofDeath.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Will absorb physical damage when the amount is greater than 60% of the target's maximum health. +-- Forces target to change their selected target to caster instantly. Hate gain is increased by 10% for the duration. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/UnendingAgony.lua b/Spells/Fighter/Crusader/Shadowknight/UnendingAgony.lua new file mode 100644 index 0000000..0484a38 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/UnendingAgony.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/UnendingAgony.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 51 disease damage on targets in Area of Effect +-- Inflicts 34 disease damage on targets in Area of Effect every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/UnholyBlessing.lua b/Spells/Fighter/Crusader/Shadowknight/UnholyBlessing.lua new file mode 100644 index 0000000..54af0fa --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/UnholyBlessing.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/UnholyBlessing.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell will cast Voracious Soul on target's attacker. +-- Inflicts 19 - 24 disease damage on target +-- Heals caster for 24 - 30 +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means +-- Grants a total of 5 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/UnholyHunger.lua b/Spells/Fighter/Crusader/Shadowknight/UnholyHunger.lua new file mode 100644 index 0000000..6a53538 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/UnholyHunger.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/UnholyHunger.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Crusader/Shadowknight/UnholyStrength.lua b/Spells/Fighter/Crusader/Shadowknight/UnholyStrength.lua new file mode 100644 index 0000000..b330749 --- /dev/null +++ b/Spells/Fighter/Crusader/Shadowknight/UnholyStrength.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Crusader/Shadowknight/UnholyStrength.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases STA of raid and group members (AE) by 9.2 +-- Increase spell damage of group and raid members by 2.82%. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/FightingChance.lua b/Spells/Fighter/FightingChance.lua new file mode 100644 index 0000000..963cd3c --- /dev/null +++ b/Spells/Fighter/FightingChance.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Fighter/FightingChance.lua + Script Author : John Adams + Script Date : 2013.11.22 09:11:34 + Script Purpose : Begins a Heroic Opportunity + : +--]] + +function cast(Caster, Target) + -- Begins a Heroic Opportunity + Say(Caster, "Heroic Opportunities are not implemented yet.") +end + +function precast(Caster, Target) + -- Must be engaged in combat + return IsInCombat(Caster) +end + diff --git a/Spells/Fighter/Intercept.lua b/Spells/Fighter/Intercept.lua new file mode 100644 index 0000000..84f2d99 --- /dev/null +++ b/Spells/Fighter/Intercept.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Intercept.lua + Script Author : John Adams + Script Date : 2013.08.10 02:08:36 + Script Notes : Intercept damage to Target +--]] + +function cast(Caster, Target) + + local HalfMaxHP = GetMaxHP(Target) * .5 + local CurrentHP = GetHP(Target) + + Say(Caster, "[DEVL: HalfMaxHP: " .. HalfMaxHP .. " CurrentHP: " .. CurrentHP) + + if CurrentHP <= HalfMaxHP then + -- 100% chance to intercept all damage on target. + -- On a successful intercept caster takes 50% of attack damage, target takes 75% of attack damage. + -- Spell ends after 2 successful intercepts. + else + -- 100% chance to intercept all damage on target. + -- On a successful intercept caster takes 50% of attack damage, target takes 75% of attack damage. + -- Spell ends after 1 successful intercept. + end +end + +function remove(Caster, Target) + -- code to remove the spell +end \ No newline at end of file diff --git a/Spells/Fighter/MastersRage.lua b/Spells/Fighter/MastersRage.lua new file mode 100644 index 0000000..d516d74 --- /dev/null +++ b/Spells/Fighter/MastersRage.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Fighter/MastersRage.lua + Script Author : John Adams + Script Date : 2013.08.10 02:08:09 + Script Notes : Melee damage + debuff +--]] + +function cast(Caster, Target, DDType, MinDmg, MaxDmg, Debuff) + + -- Damage component, if a Lore and Legend Race ONLY + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + dmgAmount = math.random(MinDDVal, MaxDDVal) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDDVal) + end + + -- Debuff component + AddSkillBonus(Target, 3850377186, Debuff) -- deflection + AddSkillBonus(Target, 540022425, Debuff) -- parry + AddSkillBonus(Target, 609880714, Debuff) -- defense +end + diff --git a/Spells/Fighter/Provoke.lua b/Spells/Fighter/Provoke.lua new file mode 100644 index 0000000..347fa3d --- /dev/null +++ b/Spells/Fighter/Provoke.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Provoke.lua + Script Author : John Adams + Script Date : 2013.08.11 03:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target by 209 - 255 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Recklessness.lua b/Spells/Fighter/Recklessness.lua new file mode 100644 index 0000000..2ab0032 --- /dev/null +++ b/Spells/Fighter/Recklessness.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Recklessness.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Doubles the caster's potency +-- Increases all damage done to caster by 50% +-- Exiting this stance in combat sets the fighter to extremely low health. Does not occur in PVP combat. +-- Grants Reckless to caster, halving all taunt values and caster cannot block incoming attacks +-- Decreases Hate Gain of caster by 30.0% +-- Increases Potency of caster by 50.0% +-- Removes all threat positions from abilities that inflict damage. +-- Must not be engaged in combat +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Rescue.lua b/Spells/Fighter/Rescue.lua new file mode 100644 index 0000000..616950f --- /dev/null +++ b/Spells/Fighter/Rescue.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Rescue.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases threat priority of target by 3 positions +-- Increases Threat to target by 1,448 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/AbandonedFury.lua b/Spells/Fighter/Warrior/Berserker/AbandonedFury.lua new file mode 100644 index 0000000..c524fb1 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/AbandonedFury.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/AbandonedFury.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Defense of caster by 1.8 +-- Increases Crushing, Slashing and Piercing of caster by 2.4 +-- On a melee hit this spell may cast Furious Assault on target of attack. Triggers about 2.0 times per minute. +-- Inflicts 9 - 16 melee damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Adrenaline.lua b/Spells/Fighter/Warrior/Berserker/Adrenaline.lua new file mode 100644 index 0000000..47ef1b1 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Adrenaline.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Adrenaline.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Lost Adrenaline on termination. Lasts for 30.0 seconds. +-- Drains power instantly and every 3 seconds. +-- Cannot be modified except by direct means +-- 50% of all damage received by the caster is instantly regenerated. +-- Adrenaline can only be used while berserk! + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/AggressiveDefense.lua b/Spells/Fighter/Warrior/Berserker/AggressiveDefense.lua new file mode 100644 index 0000000..91259ed --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/AggressiveDefense.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/AggressiveDefense.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Mitigation of caster vs noxious and arcane damage by 46 +-- When damaged with a melee weapon this spell has a 20% chance to cast Provoking Counterattack on target's attacker. +-- Increases Threat to target by 27 +-- Inflicts 6 - 9 slashing damage on target +-- On a block this spell will cast Provoking Counterattack on target's victim. +-- Increases Threat to target by 27 +-- Increases Mitigation of caster vs elemental damage by 46 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/BerserkRage.lua b/Spells/Fighter/Warrior/Berserker/BerserkRage.lua new file mode 100644 index 0000000..2b488ee --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/BerserkRage.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/BerserkRage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell may cast Berserk on target. Lasts for 10.0 seconds. Triggers about 2.0 times per minute. +-- Increases Damage Per Second of target by 7.0 +-- Increases Attack Speed of target by 7.0 +-- When damaged this spell has a 30% chance to cast Berserk on target. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 7.0 +-- Increases Attack Speed of target by 7.0 +-- On a kill this spell will cast Berserk on target. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 7.0 +-- Increases Attack Speed of target by 7.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/BerserkerOnslaught.lua b/Spells/Fighter/Warrior/Berserker/BerserkerOnslaught.lua new file mode 100644 index 0000000..d746921 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/BerserkerOnslaught.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/BerserkerOnslaught.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 224 - 417 melee damage on targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/BloodRage.lua b/Spells/Fighter/Warrior/Berserker/BloodRage.lua new file mode 100644 index 0000000..be8147f --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/BloodRage.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/BloodRage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell has a 33% chance to cast Adrenal Flow on caster. +-- Heals caster for 1.3 - 1.9% of max health +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Bloodbath.lua b/Spells/Fighter/Warrior/Berserker/Bloodbath.lua new file mode 100644 index 0000000..75af7ae --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Bloodbath.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Bloodbath.lua + Script Author : John Adams + Script Date : 2013.11.23 09:11:29 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 29 - 89 melee damage on targets in Area of Effect +-- Applies Knockdown on termination. Lasts for 1.5 seconds. +-- Throws target back +-- Stuns target +-- Blurs vision of target +-- Does not affect Epic targets diff --git a/Spells/Fighter/Warrior/Berserker/Bloodlust.lua b/Spells/Fighter/Warrior/Berserker/Bloodlust.lua new file mode 100644 index 0000000..d519ee5 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Bloodlust.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Bloodlust.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI and STR of group members (AE) by 11.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/BodyCheck.lua b/Spells/Fighter/Warrior/Berserker/BodyCheck.lua new file mode 100644 index 0000000..01ff2dc --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/BodyCheck.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/BodyCheck.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 4 - 12 crushing damage on target +-- Stuns target +-- If Target is not Epic +-- Throws target back +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Chaos.lua b/Spells/Fighter/Warrior/Berserker/Chaos.lua new file mode 100644 index 0000000..140af04 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Chaos.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Chaos.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Mitigation of group members (AE) vs physical damage by 94 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/ControlledRage.lua b/Spells/Fighter/Warrior/Berserker/ControlledRage.lua new file mode 100644 index 0000000..6d8e483 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/ControlledRage.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/ControlledRage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases caster's chance to block by 10.0% +-- Decreases Damage Per Second of caster by 12.6 +-- Decreases Attack Speed of caster by 12.6 +-- Increases Parry of caster by 7.0 +-- Increases Defense of caster by 7.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Demolish.lua b/Spells/Fighter/Warrior/Berserker/Demolish.lua new file mode 100644 index 0000000..42430bc --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Demolish.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Demolish.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 138 - 416 melee damage on target +-- Stifles target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/DestructiveRage.lua b/Spells/Fighter/Warrior/Berserker/DestructiveRage.lua new file mode 100644 index 0000000..a756a2f --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/DestructiveRage.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/DestructiveRage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Multi Attack Chance of raid and group members (AE) by 3.3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Enrage.lua b/Spells/Fighter/Warrior/Berserker/Enrage.lua new file mode 100644 index 0000000..175b8fe --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Enrage.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Enrage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target encounter by 132 - 162 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Frenzy.lua b/Spells/Fighter/Warrior/Berserker/Frenzy.lua new file mode 100644 index 0000000..4c503ed --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Frenzy.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Frenzy.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 68 - 206 melee damage on target +-- Inflicts 85 - 257 melee damage on target +-- Inflicts 103 - 309 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/HeadCrush.lua b/Spells/Fighter/Warrior/Berserker/HeadCrush.lua new file mode 100644 index 0000000..3a602b6 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/HeadCrush.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/HeadCrush.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 41 - 125 crushing damage on target +-- Interrupts target +-- Decreases Focus of target by 6.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Insolence.lua b/Spells/Fighter/Warrior/Berserker/Insolence.lua new file mode 100644 index 0000000..c6b7126 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Insolence.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Insolence.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Insolent Gibe. +-- Increases Threat to targets in Area of Effect by 1,298 - 1,814 +-- Applies Insolent Assault. +-- Inflicts 596 - 895 melee damage on targets in Area of Effect +-- When any damage is received this spell has a 50% chance to cast Insolent Gibe on target's attacker. +-- Increases Threat to target encounter by 608 - 738 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Juggernaut.lua b/Spells/Fighter/Warrior/Berserker/Juggernaut.lua new file mode 100644 index 0000000..44dc273 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Juggernaut.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Juggernaut.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Crit Bonus of caster by 15.3% +-- Decreases Parry of caster by 2.2 +-- Decreases Mitigation of caster vs elemental, noxious and arcane damage by 3467 +-- All combat arts have their damage increased by 17% +-- Decreases Defense of caster by 2.2 +-- Decreases Mitigation of caster vs physical damage by 3467 +-- This ability can only be used while berserk! + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/KneeBreak.lua b/Spells/Fighter/Warrior/Berserker/KneeBreak.lua new file mode 100644 index 0000000..6228f1d --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/KneeBreak.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/KneeBreak.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 8 - 24 crushing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Maul.lua b/Spells/Fighter/Warrior/Berserker/Maul.lua new file mode 100644 index 0000000..b393afe --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Maul.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Maul.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 56 - 94 melee damage on target +-- Decreases Piercing, Slashing and Crushing of target by 1.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Mutilate.lua b/Spells/Fighter/Warrior/Berserker/Mutilate.lua new file mode 100644 index 0000000..3013b50 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Mutilate.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Mutilate.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 8 - 25 slashing damage on target +-- Decreases Attack Speed of target by 5.1 +-- Inflicts 17 slashing damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/OpenWounds.lua b/Spells/Fighter/Warrior/Berserker/OpenWounds.lua new file mode 100644 index 0000000..99e269f --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/OpenWounds.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/OpenWounds.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Open Wounds. +-- Inflicts 100 - 185 slashing damage on targets in Area of Effect +-- Increases Attack Speed of caster by 30.6 +-- Caster has a 100.0% chance of having one of their weapons' autoattack affect multiple targets they are facing, who are within range of that weapon. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/RagingBlow.lua b/Spells/Fighter/Warrior/Berserker/RagingBlow.lua new file mode 100644 index 0000000..3276310 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/RagingBlow.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/RagingBlow.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 3 - 11 melee damage on target +-- Increases Threat to target by 41 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Rampage.lua b/Spells/Fighter/Warrior/Berserker/Rampage.lua new file mode 100644 index 0000000..03c90ca --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Rampage.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Rampage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell will cast Rampaging Blow on target of attack. +-- Inflicts 138 - 256 melee damage on targets in Area of Effect +-- Grants a total of 10 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/RecklessAide.lua b/Spells/Fighter/Warrior/Berserker/RecklessAide.lua new file mode 100644 index 0000000..188f2dd --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/RecklessAide.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/RecklessAide.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Adds 0.8% to base avoidance. +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Rupture.lua b/Spells/Fighter/Warrior/Berserker/Rupture.lua index d1d72ca..abe65b7 100644 --- a/Spells/Fighter/Warrior/Berserker/Rupture.lua +++ b/Spells/Fighter/Warrior/Berserker/Rupture.lua @@ -1,55 +1,19 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Fighter/Warrior/Berserker/Rupture.lua + Script Author : John Adams + Script Date : 2013.11.23 09:11:30 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +-- Info from spell_display_effects (remove from script when done) +function cast(Caster, Target, DDType, MinDmg, MaxDmg) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end + -- Inflicts 3 - 10 melee damage on target + if MaxDmg ~= nil and MinDmg < MaxDmg then + SpellDamage(Target, DDType, math.random(MinDmg, MaxDmg)) + else + SpellDamage(Target, DDType, MinDmg) + end end diff --git a/Spells/Fighter/Warrior/Berserker/StanceGreaterFury.lua b/Spells/Fighter/Warrior/Berserker/StanceGreaterFury.lua new file mode 100644 index 0000000..768c650 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/StanceGreaterFury.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/StanceGreaterFury.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Furious Assault on target of attack. Triggers about 2.0 times per minute. +-- Inflicts 89 - 148 melee damage on target encounter +-- Decreases Defense of caster by 10.8 +-- Increases Crushing, Slashing and Piercing of caster by 15.4 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/StanceUnbridledFury.lua b/Spells/Fighter/Warrior/Berserker/StanceUnbridledFury.lua new file mode 100644 index 0000000..65785c5 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/StanceUnbridledFury.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/StanceUnbridledFury.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Furious Assault on target of attack. Triggers about 2.0 times per minute. +-- Inflicts 124 - 208 melee damage on target encounter +-- Decreases Defense of caster by 15.0 +-- Increases Crushing, Slashing and Piercing of caster by 21.4 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/StunningRoar.lua b/Spells/Fighter/Warrior/Berserker/StunningRoar.lua new file mode 100644 index 0000000..2bf34a6 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/StunningRoar.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/StunningRoar.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 152 - 253 melee damage on target encounter +-- Stuns target encounter +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/UnflinchingWill.lua b/Spells/Fighter/Warrior/Berserker/UnflinchingWill.lua new file mode 100644 index 0000000..30204cf --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/UnflinchingWill.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/UnflinchingWill.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces physical damage done to caster by 5% +-- Decreases Crushing, Slashing and Piercing of caster by 1.8 +-- Increases Aggression of caster by 0.8 +-- Increases Parry and Defense of caster by 1.6 +-- Increases Mitigation of caster vs elemental damage by 138 +-- Increases the caster's effectiveness of worn armor vs physical damage by 15% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/VisionofMadness.lua b/Spells/Fighter/Warrior/Berserker/VisionofMadness.lua new file mode 100644 index 0000000..ef81ab4 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/VisionofMadness.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/VisionofMadness.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On death this spell will cast Madness on caster. Lasts for 5.0 seconds. +-- Heals caster for 2.7% of max health instantly and every second +-- This effect cannot be critically applied. +-- If target is not berserk +-- Heals caster for 13.5% of max health instantly and every second +-- This effect cannot be critically applied. +-- If target is berserk +-- The healing of this spell cannot be modified except by direct means +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/WallofHatred.lua b/Spells/Fighter/Warrior/Berserker/WallofHatred.lua new file mode 100644 index 0000000..cd14003 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/WallofHatred.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/WallofHatred.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Enrage on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Crit Chance of caster by 15.0 +-- Inflicts 562 - 842 heat damage on target encounter +-- Increases Multi Attack Chance of caster by 10.0 +-- Cannot be modified except by direct means +-- Adds a hate position increase to the initial taunt portion of Insolence. +-- 25% of the damage done to the berserker will be added back to the attacker as additional hate. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/WallofRage.lua b/Spells/Fighter/Warrior/Berserker/WallofRage.lua new file mode 100644 index 0000000..51dd402 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/WallofRage.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/WallofRage.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Attack Speed of caster by 11.3 +-- Increases Mitigation of caster vs physical damage by 133 +-- On a melee hit this spell may cast Cripple on target of attack. Lasts for 10.0 seconds. Triggers about 5.0 times per minute. +-- Slows targets in Area of Effect by 29.3% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/WarCry.lua b/Spells/Fighter/Warrior/Berserker/WarCry.lua new file mode 100644 index 0000000..8fd2856 --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/WarCry.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/WarCry.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 5% chance to cast Berserk on target. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 10.2 +-- Increases Attack Speed of target by 10.2 +-- On any combat or spell hit this spell may cast Berserk on target. Lasts for 10.0 seconds. Triggers about 3.0 times per minute. +-- Increases Damage Per Second of target by 10.2 +-- Increases Attack Speed of target by 10.2 +-- On a kill this spell has a 50% chance to cast Berserk on target. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 10.2 +-- Increases Attack Speed of target by 10.2 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/WeaponCounter.lua b/Spells/Fighter/Warrior/Berserker/WeaponCounter.lua new file mode 100644 index 0000000..0cba80b --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/WeaponCounter.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/WeaponCounter.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell will cast Counterattack on target's attacker. +-- Inflicts 71 - 119 melee damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Berserker/Whirlwind.lua b/Spells/Fighter/Warrior/Berserker/Whirlwind.lua new file mode 100644 index 0000000..199650b --- /dev/null +++ b/Spells/Fighter/Warrior/Berserker/Whirlwind.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Berserker/Whirlwind.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces physical damage done to caster by 5% +-- Caster has a 100.0% chance of having one of their weapons' autoattack affect multiple targets they are facing, who are within range of that weapon. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Armored.lua b/Spells/Fighter/Warrior/Guardian/Armored.lua index 9662cf6..02a8361 100644 --- a/Spells/Fighter/Warrior/Guardian/Armored.lua +++ b/Spells/Fighter/Warrior/Guardian/Armored.lua @@ -3,23 +3,29 @@ Script Purpose : Guardian Defensive Stance script Script Author : Zcoretri Script Date : 2010.01.26 - Script Note : + Script Note : Need "worn armor" effectiveness --]] -function cast(Caster, Target, SkillAmt, Aggression, Defense, Mitigation, WornArmor, Stats) - - AddSkillBonus(Target, 418532101, SkillAmt) -- slashing - AddSkillBonus(Target, 3421494576, SkillAmt) -- crushing - AddSkillBonus(Target, 3048574950, SkillAmt) -- piercing - AddSkillBonus(Target, 723762198, Aggression) - AddSkillBonus(Target, 609880714, Defense) --Defense - AddSpellBonus(Target, 2, Stats) --AGI - AddSpellBonus(Target, 3, Stats) --WIS - --WornArmor needs implemented +function cast(Caster, Target, Physical, Avoidance, SkillAmt, Aggression, Defense, MitNox, MitElem, WornArmor) + + AddSpellBonus(Caster, 200, Physical) -- physical + AddSpellBonus(Caster, 696, Avoidance) -- avoidance + AddSpellBonus(Caster, 202, MitNox) -- mitigation against noxious + AddSpellBonus(Caster, 203, MitNox) -- mitigation against arcane + AddSpellBonus(Caster, 201, MitElem) -- mitigation against elemental + + AddSkillBonus(Caster, 418532101, SkillAmt) -- slashing + AddSkillBonus(Caster, 3421494576, SkillAmt) -- crushing + AddSkillBonus(Caster, 3048574950, SkillAmt) -- piercing + AddSkillBonus(Caster, 723762198, Aggression)-- aggression + AddSkillBonus(Caster, 609880714, Defense) -- defense + + -- Increases the caster's effectiveness of worn armor vs physical damage by 15% + -- TODO end -function remove(Caster, Target, SkillAmt, Aggression, Defense, Mitigation, WornArmor, Stats) - RemoveSkillBonus(Target) - RemoveSpellBonus(Target) +function remove(Caster, Target) + RemoveSkillBonus(Caster) + RemoveSpellBonus(Caster) end \ No newline at end of file diff --git a/Spells/Fighter/Warrior/Guardian/Assault.lua b/Spells/Fighter/Warrior/Guardian/Assault.lua index ed32075..fd2d62f 100644 --- a/Spells/Fighter/Warrior/Guardian/Assault.lua +++ b/Spells/Fighter/Warrior/Guardian/Assault.lua @@ -1,21 +1,17 @@ --[[ - Script Name : Assault.lua - Script Author : Zcoretri - Script Date : 2010.01.31 - Script Notes : Direct Damage AoE script + Script Name : Spells/Fighter/Warrior/Guardian/Assault.lua + Script Author : John Adams + Script Date : 2013.11.22 07:11:03 + Script Purpose : + : --]] function cast(Caster, Target, DDType, MinDmg, MaxDmg) + -- Inflicts 34 - 57 melee damage on targets in Area of Effect if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) + SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) else SpellDamage(Target, DDType, MinDDVal) end -end - -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal) - -end - +end \ No newline at end of file diff --git a/Spells/Fighter/Warrior/Guardian/Bash.lua b/Spells/Fighter/Warrior/Guardian/Bash.lua new file mode 100644 index 0000000..abd35df --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Bash.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Bash.lua + Script Author : John Adams + Script Date : 2013.11.22 01:11:05 + Script Purpose : + : +--]] + +function cast(Caster, Target, DDType, MinDmg, MaxDmg) + + -- Inflicts 6 - 10 crushing damage on target + if MaxDmg ~= nil and MinDmg < MaxDmg then + SpellDamage(Target, DDType, math.random(MinDmg, MaxDmg)) + else + SpellDamage(Target, DDType, MinDmg) + end + +end + +function remove(Caster, Target) + --Apply Knockdown + CastSpell(Target, 5001, 1) +end \ No newline at end of file diff --git a/Spells/Fighter/Warrior/Guardian/BattleCry.lua b/Spells/Fighter/Warrior/Guardian/BattleCry.lua new file mode 100644 index 0000000..cf90765 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/BattleCry.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/BattleCry.lua + Script Author : John Adams + Script Date : 2013.12.08 03:12:06 + Script Purpose : + : +--]] + +function cast(Caster, Target, BonusAmt) + + -- Increases Mitigation of group members (AE) vs physical damage by 100 + AddSpellBonus(Target, 200, BonusAmt) + +end + +function remove(Caster, Target) + + RemoveSpellBonus(Target) + +end + diff --git a/Spells/Fighter/Warrior/Guardian/BattleTactics.lua b/Spells/Fighter/Warrior/Guardian/BattleTactics.lua new file mode 100644 index 0000000..b4f0b1a --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/BattleTactics.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/BattleTactics.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Max Health of group members (AE) by 82.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/CallofShielding.lua b/Spells/Fighter/Warrior/Guardian/CallofShielding.lua new file mode 100644 index 0000000..19317d3 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/CallofShielding.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/CallofShielding.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Max Health of raid and group members (AE) by 103.3 +-- Increases Defense of raid and group members (AE) by 4.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/CalltoArms.lua b/Spells/Fighter/Warrior/Guardian/CalltoArms.lua index 539c3b1..ef4eca3 100644 --- a/Spells/Fighter/Warrior/Guardian/CalltoArms.lua +++ b/Spells/Fighter/Warrior/Guardian/CalltoArms.lua @@ -1,18 +1,18 @@ --[[ - Script Name : CallToArms.lua - Script Author : Zcoretri - Script Date : 2010.01.31 - Script Note : Guardian Group Buff + Script Name : Spells/Fighter/Warrior/Guardian/CalltoArms.lua + Script Author : John Adams + Script Date : 2013.11.22 08:11:16 + Script Purpose : + : --]] function cast(Caster, Target, SkillAmt) + + -- Increases Slashing, Ranged, Crushing and Piercing of group members (AE) by 1.9 AddSkillBonus(Target, 418532101, SkillAmt) -- Slashing + AddSkillBonus(Target, 1756482397, SkillAmt) -- Ranged AddSkillBonus(Target, 3421494576, SkillAmt) -- Crushing AddSkillBonus(Target, 3048574950, SkillAmt) -- Piercing - AddSkillBonus(Target, 1756482397, SkillAmt) -- Ranged -end - -function tick(Caster, Target, SkillAmt) end diff --git a/Spells/Fighter/Warrior/Guardian/Concussion.lua b/Spells/Fighter/Warrior/Guardian/Concussion.lua new file mode 100644 index 0000000..713e541 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Concussion.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Concussion.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 50 - 83 crushing damage on target +-- Decreases Ordination, Ministration, Disruption and Subjugation of target by 4.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Decimate.lua b/Spells/Fighter/Warrior/Guardian/Decimate.lua new file mode 100644 index 0000000..d113e91 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Decimate.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Decimate.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 490 - 817 melee damage on target +-- Decreases Deflection, Parry and Defense of target by 35.1 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/ForwardCharge.lua b/Spells/Fighter/Warrior/Guardian/ForwardCharge.lua index 545ae4d..cf1d430 100644 --- a/Spells/Fighter/Warrior/Guardian/ForwardCharge.lua +++ b/Spells/Fighter/Warrior/Guardian/ForwardCharge.lua @@ -1,24 +1,29 @@ --[[ - Script Name : Spells/Fighter/Warrior/Guardian/ForwardCharge.lua - Script Author : Zcoretri - Script Date : 2010.01.31 - Script Notes : Fighter Offensive Stance script + Script Name : Spells/Fighter/Warrior/Guardian/ForwardCharge.lua + Script Author : John Adams + Script Date : 2013.11.22 06:11:46 + Script Purpose : + : --]] -function cast(Caster, Target, Defense, SkillAmt, Stats) +-- Info from spell_display_effects (remove from script when done) + +function cast(Caster, Target, Stats, Defense, SkillAmt) + + -- Increases STR of caster by 11.9 + AddSpellBonus(Target, 0, Stats) + + -- Increases Slashing, Piercing and Crushing of caster by 2.4 AddSkillBonus(Target, 418532101, SkillAmt) -- Slashing AddSkillBonus(Target, 3048574950, SkillAmt) -- Piercing AddSkillBonus(Target, 3421494576, SkillAmt) -- Crushing - AddSkillBonus(Target, 609880714, Defense) -- Defense - --AddSpellBonus(Target, 0, Stats) -- STR needs to fixed to allow 0 -end -function tick(Caster, Target, Type, Min, Max) + -- Decreases Defense of caster by 1.8 + AddSkillBonus(Target, 609880714, Defense) -- Defense end -function remove(Caster, Target, Type, Min, Max) +function remove(Caster, Target) RemoveSkillBonus(Target) - --RemoveSpellBonus(Target) + RemoveSpellBonus(Target) end - diff --git a/Spells/Fighter/Warrior/Guardian/GuardianSphere.lua b/Spells/Fighter/Warrior/Guardian/GuardianSphere.lua new file mode 100644 index 0000000..794afc0 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/GuardianSphere.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/GuardianSphere.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 15% chance to cast Stoneskin on target. Lasts for 10.0 seconds. +-- Will absorb all damage. This spell will absorb a total of 1 attack. +-- Only affects the caster of Guardian's Sphere +-- When damaged this spell has a 30% chance to cast Stoneskin on target. Lasts for 10.0 seconds. +-- Will absorb all damage. This spell will absorb a total of 1 attack. +-- If not fighter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/GutKick.lua b/Spells/Fighter/Warrior/Guardian/GutKick.lua index f13d0c5..115dc41 100644 --- a/Spells/Fighter/Warrior/Guardian/GutKick.lua +++ b/Spells/Fighter/Warrior/Guardian/GutKick.lua @@ -1,21 +1,22 @@ --[[ - Script Name : Spells/Fighter/Warrior/Guardian/GutKick.lua - Script Purpose : Generic damage + stun script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Fighter/Warrior/Guardian/GutKick.lua + Script Author : John Adams + Script Date : 2013.11.22 07:11:41 + Script Purpose : + : --]] function cast(Caster, Target, DDType, MinDmg, MaxDmg) - -- DD component + + -- Inflicts 13 - 22 crushing damage on target if MaxDmg ~= nil and MinDmg < MaxDmg then SpellDamage(Target, DDType, math.random(MinDmg, MaxDmg)) - -- Interrupt(Target) else SpellDamage(Target, DDType, MinDmg) - -- Interrupt(Target) end -end - -function remove(Caster, Target, DDType, MinDmg, MaxDmg) -end \ No newline at end of file + -- Interrupts target + if target ~= nil then + Interrupt(Caster, Target) + end +end diff --git a/Spells/Fighter/Warrior/Guardian/HoldtheLine.lua b/Spells/Fighter/Warrior/Guardian/HoldtheLine.lua new file mode 100644 index 0000000..17c157f --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/HoldtheLine.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/HoldtheLine.lua + Script Author : John Adams + Script Date : 2013.08.11 03:08:12 + Script Purpose : Waiting for SpellProc() functionality + : Passing only 1 value since they seem to be the same regardless which effect procs +--]] + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 50% chance to cast Holding the Line on target's attacker. +-- Increases Threat to target by 27 +-- On a block this spell will cast Holding the Line on target's victim. +-- Increases Threat to target by 27 + +function cast(Caster, Target, TauntAmt) + + Say(Target, "Hah nice try! That's not implemented yet!") + +end diff --git a/Spells/Fighter/Warrior/Guardian/HunkerDown.lua b/Spells/Fighter/Warrior/Guardian/HunkerDown.lua new file mode 100644 index 0000000..3b826e6 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/HunkerDown.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/HunkerDown.lua + Script Author : John Adams + Script Date : 2013.12.08 03:12:51 + Script Purpose : + : +--]] + +function cast(Caster, Target, MitAmt) + + -- Decreases Attack Speed of caster by 11.3 + AddSpellBonus(Caster, 617, -11.3) + + -- Increases Mitigation of caster vs physical damage by 133 + AddSpellBonus(Caster, 200, MitAmt) + + AddProc(Target, 1, 25) +end + +function proc(Caster, Target, Type) + -- On a melee hit this spell may cast Pin on target of attack. Lasts for 10.0 seconds. Triggers about 5.0 times per minute. + -- Roots target + AddSpellBonus(Target, 609, 0) -- set speed to 0, is rooting? :D + + -- 5% chance to dispel when target takes damage + -- 5% chance to dispel when target receives hostile action + -- Epic targets gain an immunity to Root and Will not multi-attack if the primary attack was avoided. effects of 30.0 seconds and duration is reduced to 3.3 seconds. + +end + +function remove(Caster, Target, MitAmt) + RemoveSpellBonus(Caster) + RemoveProc(Target) +end diff --git a/Spells/Fighter/Warrior/Guardian/IronWill.lua b/Spells/Fighter/Warrior/Guardian/IronWill.lua new file mode 100644 index 0000000..b3e76cc --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/IronWill.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/IronWill.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases STA of caster by 14.6 +-- Reduces slow effects on caster by 6.7% +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 389 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Moderate.lua b/Spells/Fighter/Warrior/Guardian/Moderate.lua new file mode 100644 index 0000000..ea8746b --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Moderate.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Moderate.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Decreases Hate Gain of target by 6.0% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/NeverSurrender.lua b/Spells/Fighter/Warrior/Guardian/NeverSurrender.lua new file mode 100644 index 0000000..3b6678d --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/NeverSurrender.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/NeverSurrender.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants target a 13% chance of making an additional attempt to avoid being hit by a melee attack using the caster's avoidance. +-- Increases Parry of caster by 2.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Overpower.lua b/Spells/Fighter/Warrior/Guardian/Overpower.lua index 8a0b07f..8dd7849 100644 --- a/Spells/Fighter/Warrior/Guardian/Overpower.lua +++ b/Spells/Fighter/Warrior/Guardian/Overpower.lua @@ -1,22 +1,18 @@ --[[ - Script Name : Overpower.lua - Script Purpose : Direct Damage script + Script Name : Spells/Fighter/Warrior/Guardian/Overpower.lua Script Author : John Adams - Script Date : 2010.01.14 + Script Date : 2013.11.17 18:00:00 + Script Purpose : Direct Damage script + : --]] function cast(Caster, Target, DDType, MinDmg, MaxDmg) if MaxDmg ~= nil and MinDmg < MaxDmg then - dmgAmount = math.random(MinDmg, MaxDmg) - SpellDamage(Target, DDType, dmgAmount) + SpellDamage(Target, DDType, math.random(MinDmg, MaxDmg)) else SpellDamage(Target, DDType, MinDmg) end end -function remove(Caster, Target, DDType, MinDmg, MaxDmg) - -end - diff --git a/Spells/Fighter/Warrior/Guardian/Plant.lua b/Spells/Fighter/Warrior/Guardian/Plant.lua new file mode 100644 index 0000000..bb0cb99 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Plant.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Plant.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Forces targets in Area of Effect to change their selected target to caster. +-- Prevents targets in Area of Effect from changing targets +-- Increases Threat to targets in Area of Effect by 15 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/PreciseStrike.lua b/Spells/Fighter/Warrior/Guardian/PreciseStrike.lua new file mode 100644 index 0000000..dcfed4e --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/PreciseStrike.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/PreciseStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 125 - 209 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Provoke.lua b/Spells/Fighter/Warrior/Guardian/Provoke.lua index f8e6042..4413278 100644 --- a/Spells/Fighter/Warrior/Guardian/Provoke.lua +++ b/Spells/Fighter/Warrior/Guardian/Provoke.lua @@ -1,26 +1,21 @@ --[[ - Script Name : Provoke.lua - Script Purpose : Taunt script + Script Name : Spells/Fighter/Warrior/Guardian/Provoke.lua Script Author : John Adams - Script Date : 2008.12.07 + Script Date : 2013.11.22 12:11:28 + Script Purpose : + : --]] function cast(Caster, Target, MinTaunt, MaxTaunt) - -- Taunt component + -- Increases Threat to target by 51 - 62 if MaxTaunt ~= nil and MinTaunt < MaxTaunt then - hateAmount = math.random(MinTaunt, MaxTaunt) - AddHate(Caster, Target, hateAmount) - --Interrupt(Target) + AddHate(Caster, Target, math.random(MinTaunt, MaxTaunt)) else AddHate(Caster, Target, MinTaunt) - --Interrupt(Target) end -end - -function tick(Caster, Target, MinTaunt, MaxTaunt) + -- Interrupts target + if target ~= nil then + Interrupt(Caster, Target) + end end - -function remove(Caster, Target, MinTaunt, MaxTaunt) - -end \ No newline at end of file diff --git a/Spells/Fighter/Warrior/Guardian/Recapture.lua b/Spells/Fighter/Warrior/Guardian/Recapture.lua new file mode 100644 index 0000000..95d5892 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Recapture.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Recapture.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces the hate position of all non-fighter group members on target encounter. +-- Increases the hate position of all other fighter allies that are hated by every enemy in target encounter. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Reinforcement.lua b/Spells/Fighter/Warrior/Guardian/Reinforcement.lua new file mode 100644 index 0000000..4722085 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Reinforcement.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Reinforcement.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell will cast Reinforcement on target of attack. +-- Increases Threat to target by 338 +-- Increases threat priority of target by 1 position + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Retaliate.lua b/Spells/Fighter/Warrior/Guardian/Retaliate.lua new file mode 100644 index 0000000..9c8672d --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Retaliate.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Retaliate.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 231 - 385 melee damage on target +-- Dazes target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Ruin.lua b/Spells/Fighter/Warrior/Guardian/Ruin.lua new file mode 100644 index 0000000..50b9e42 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Ruin.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Ruin.lua + Script Author : John Adams + Script Date : 2013.12.08 02:12:50 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal, SkillAmt, DoTType, DoTMinVal, DoTMaxVal) + + -- Inflicts 23 - 39 slashing damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Decreases Piercing of target by 1.5 + AddSkillBonus(Target, GetSkillIDByName("Piercing"), SkillAmt) + + -- Decreases Slashing and Crushing of target by 1.5 + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Crushing"), SkillAmt) + +end + +function tick(Caster, Target, DmgType, MinVal, MaxVal, SkillAmt, DoTType, DoTMinVal, DoTMaxVal) + + -- Inflicts 10 - 12 slashing damage on target every 5 seconds + if DoTMaxVal ~= nil and DoTMinVal < DoTMaxVal then + SpellDamage(Target, DoTType, math.random(DoTMinVal, DoTMaxVal)) + else + SpellDamage(Target, DoTType, DoTMinVal) + end + +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) +end + diff --git a/Spells/Fighter/Warrior/Guardian/Sentinel.lua b/Spells/Fighter/Warrior/Guardian/Sentinel.lua new file mode 100644 index 0000000..f8c5c44 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Sentinel.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Sentinel.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 5% chance to cast Stoneskin on target. Lasts for 10.0 seconds. +-- Will absorb physical damage. This spell will absorb a total of 1 attack. +-- If profession other than Fighter +-- If profession other than Scout + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/SentryWatch.lua b/Spells/Fighter/Warrior/Guardian/SentryWatch.lua new file mode 100644 index 0000000..356d50f --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/SentryWatch.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/SentryWatch.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On death this spell will cast Sentry Watch Guard on target. Lasts for 15.0 seconds. +-- When damaged this spell will cast Reinforcement on target's attacker. +-- Increases Threat to target by 365 +-- Increases threat priority of target by 1 position +-- Reduces all damage done to target by 45% This spell will absorb a total of 1 attack. +-- Heals target for 3.0% of max health +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Sever.lua b/Spells/Fighter/Warrior/Guardian/Sever.lua new file mode 100644 index 0000000..cd3da0c --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Sever.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Sever.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 12 - 21 slashing damage on target +-- Inflicts 17 slashing damage on target instantly and every 4 seconds +-- Decreases Damage Per Second of target by 6.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/Shout.lua b/Spells/Fighter/Warrior/Guardian/Shout.lua index 564d861..90ce041 100644 --- a/Spells/Fighter/Warrior/Guardian/Shout.lua +++ b/Spells/Fighter/Warrior/Guardian/Shout.lua @@ -1,24 +1,18 @@ --[[ - Script Name : Shout.lua - Script Purpose : Generic Taunt script - Script Author : John Adams - Script Date : 2008.12.07 + Script Name : Spells/Fighter/Warrior/Guardian/Shout.lua + Script Author : John Adams + Script Date : 2013.11.22 08:11:10 + Script Purpose : Can be cast while stifled or stunned + : --]] function cast(Caster, Target, MinTaunt, MaxTaunt) - -- Taunt component - if MaxTaunt ~= nil and MinTaunt < MaxTaunt then - hateAmount = math.random(MinTaunt, MaxTaunt) - AddHate(Caster, Target, hateAmount) - else - AddHate(Caster, Target, MinTaunt) - end -end -function tick(Caster, Target, MinTaunt, MaxTaunt) + -- Increases Threat to target encounter by 132 - 162 + if MaxTaunt ~= nil and MinTaunt < MaxTaunt then + AddHate(Caster, Target, math.random(MinTaunt, MaxTaunt)) + else + AddHate(Caster, Target, MinTaunt) + end end - -function remove(Caster, Target, MinTaunt, MaxTaunt) - -end \ No newline at end of file diff --git a/Spells/Fighter/Warrior/Guardian/Slam.lua b/Spells/Fighter/Warrior/Guardian/Slam.lua new file mode 100644 index 0000000..137bba2 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/Slam.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/Slam.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 186 - 311 crushing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/TauntingAssault.lua b/Spells/Fighter/Warrior/Guardian/TauntingAssault.lua new file mode 100644 index 0000000..0da5ca2 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/TauntingAssault.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/TauntingAssault.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 103 - 171 melee damage on target encounter +-- Increases Threat to target encounter by 656 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/TauntingBlow.lua b/Spells/Fighter/Warrior/Guardian/TauntingBlow.lua index 3564cd2..44250fc 100644 --- a/Spells/Fighter/Warrior/Guardian/TauntingBlow.lua +++ b/Spells/Fighter/Warrior/Guardian/TauntingBlow.lua @@ -1,29 +1,25 @@ --[[ - Script Name : TauntingBlow.lua - Script Purpose : Damage + Taunt script - Script Author : Zcoretri - Script Date : 2010.01.26 + Script Name : Spells/Fighter/Warrior/Guardian/TauntingBlow.lua + Script Author : John Adams + Script Date : 2013.11.22 03:11:23 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDmg, MaxDmg, MinTaunt, MaxTaunt) - -- Damage Component - if MaxDmg ~= nil and MinDmg < MaxDmg then - dmgAmount = math.random(MinDmg, MaxDmg) - SpellDamage(Target, DDType, dmgAmount) +function cast(Caster, Target, DmgType, MinVal, MaxVal, MinTauntVal, MaxTauntVal) + + -- Inflicts 3 - 6 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) else - SpellDamage(Target, DDType, MinDmg) + SpellDamage(Target, DmgType, MinVal) end - -- Taunt Component - --if AttackSuccess(Target) then - if MaxTaunt ~= nil and MinTaunt < MaxTaunt then - hateAmount = math.random(MinTaunt, MaxTaunt) - AddHate(Caster, Target, hateAmount) - else - AddHate(Caster, Target, MinTaunt) - end - --end -end -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal) + -- Increases Threat to target by 47 - 57 + if MaxTauntVal ~= nil and MinTauntVal < MaxTauntVal then + AddHate(Caster, Target, math.random(MinTauntVal, MaxTauntVal)) + else + AddHate(Caster, Target, MinTauntVal) + end -end \ No newline at end of file +end diff --git a/Spells/Fighter/Warrior/Guardian/TowerofStone.lua b/Spells/Fighter/Warrior/Guardian/TowerofStone.lua new file mode 100644 index 0000000..3b51afb --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/TowerofStone.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/TowerofStone.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Will absorb all damage when the amount is greater than 10% of the target's maximum health. This spell will absorb a total of 1 attack. +-- If towershield equipped in Secondary + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/Guardian/WrathofVelArek.lua b/Spells/Fighter/Warrior/Guardian/WrathofVelArek.lua new file mode 100644 index 0000000..38efb47 --- /dev/null +++ b/Spells/Fighter/Warrior/Guardian/WrathofVelArek.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Spells/Fighter/Warrior/Guardian/WrathofVelArek.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Shielding of Vel`Arek on caster. Lasts for 10.0 seconds. Triggers about 1.8 times per minute. +-- Makes caster immune to Fear effects +-- Makes caster immune to Root effects +-- Makes caster immune to Stun effects +-- Makes caster immune to Daze effects +-- Makes caster immune to Stifle effects +-- Cannot be modified except by direct means +-- On a melee hit this spell may cast Wrath of the Warrior on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Inflicts 635 - 953 slashing damage on target +-- Reduces physical damage done to caster by 5% +-- Cannot be modified except by direct means +-- Caster is immune to riposte damage. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Fighter/Warrior/UnyieldingWill.lua b/Spells/Fighter/Warrior/UnyieldingWill.lua new file mode 100644 index 0000000..c439078 --- /dev/null +++ b/Spells/Fighter/Warrior/UnyieldingWill.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Fighter/Warrior/UnyieldingWill.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On death this spell will cast Death's Door on caster. Lasts for 36.0 seconds. +-- Applies Exploding Heart on termination. +-- Heals caster for 56.2% of max health +-- This effect cannot be critically applied. +-- The healing of this spell cannot be modified except by direct means +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/AbsorbMagic.lua b/Spells/Mage/AbsorbMagic.lua new file mode 100644 index 0000000..82d5d5d --- /dev/null +++ b/Spells/Mage/AbsorbMagic.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/AbsorbMagic.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 12 levels of arcane beneficial effects on target +-- Decreases power of target by 16 +-- Increases power of caster by 8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/ArcaneAugur.lua b/Spells/Mage/ArcaneAugur.lua new file mode 100644 index 0000000..5bac026 --- /dev/null +++ b/Spells/Mage/ArcaneAugur.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/ArcaneAugur.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Begins a Heroic Opportunity +-- Must be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/CallServant.lua b/Spells/Mage/CallServant.lua new file mode 100644 index 0000000..3825deb --- /dev/null +++ b/Spells/Mage/CallServant.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/CallServant.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports target to caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/CureMagic.lua b/Spells/Mage/CureMagic.lua new file mode 100644 index 0000000..ac96da0 --- /dev/null +++ b/Spells/Mage/CureMagic.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/CureMagic.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 10 levels of any hostile effects on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Blink.lua b/Spells/Mage/Enchanter/Blink.lua new file mode 100644 index 0000000..a717cbf --- /dev/null +++ b/Spells/Mage/Enchanter/Blink.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Blink.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Blink on termination. +-- Teleports target to a random location within 10 meters. +-- Decreases Threat to targets in Area of Effect by 236 - 289 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Amnesia.lua b/Spells/Mage/Enchanter/Coercer/Amnesia.lua new file mode 100644 index 0000000..1a87036 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Amnesia.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Amnesia.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target +-- Wipes target's memory of any aggression +-- Epic targets gain an immunity to Stun effects of 4.5 seconds and duration is reduced to 0.5 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Asylum.lua b/Spells/Mage/Enchanter/Coercer/Asylum.lua new file mode 100644 index 0000000..bf9e2a9 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Asylum.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Asylum.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 41 - 51 mental damage on target instantly and every 6 seconds +-- Decreases Mitigation of target vs arcane damage by 141 +-- Applies Forceful Headache on termination. +-- Inflicts 103 - 172 mental damage on target +-- If over 50% power + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Brainshock.lua b/Spells/Mage/Enchanter/Coercer/Brainshock.lua new file mode 100644 index 0000000..1e0f7f7 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Brainshock.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Brainshock.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 14 - 17 mental damage on target instantly and every 6 seconds +-- Decreases power of target by 2 instantly and every 6 seconds +-- Increases power of caster by 5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Breeze.lua b/Spells/Mage/Enchanter/Coercer/Breeze.lua new file mode 100644 index 0000000..fa34962 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Breeze.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Breeze.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/CannibalizeThoughts.lua b/Spells/Mage/Enchanter/Coercer/CannibalizeThoughts.lua new file mode 100644 index 0000000..f39f446 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/CannibalizeThoughts.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/CannibalizeThoughts.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases INT of target by 44.3 +-- Increases power of group members (AE) by 11 instantly and every 6 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Channel.lua b/Spells/Mage/Enchanter/Coercer/Channel.lua new file mode 100644 index 0000000..894e477 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Channel.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Channel.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Charm.lua b/Spells/Mage/Enchanter/Coercer/Charm.lua new file mode 100644 index 0000000..865eeb5 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Charm.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Charm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Charms target +-- Applies Disorientation on termination. Lasts for 3.0 seconds. +-- Mesmerizes target +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 9.0 seconds and duration is reduced to 1.0 second. +-- Applies Warning on termination. Lasts for 0.5 seconds. +-- Grants Sonic Vision to caster +-- Increases Out-of-Combat Power Regeneration of target by 2.0 +-- Increases Out-of-Combat Health Regeneration of target by 4.0 +-- Certain enemies cannot be charmed +-- Only affects targets level 16 and below +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/DestructiveMind.lua b/Spells/Mage/Enchanter/Coercer/DestructiveMind.lua new file mode 100644 index 0000000..a43e9b6 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/DestructiveMind.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/DestructiveMind.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a damage spell hit this spell will cast Despotic Mind on target of spell. +-- Inflicts 182 - 222 mental damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/EgoShock.lua b/Spells/Mage/Enchanter/Coercer/EgoShock.lua new file mode 100644 index 0000000..45d81b4 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/EgoShock.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/EgoShock.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dazes target encounter +-- Inflicts 65 - 79 mental damage on target encounter +-- Epic targets gain an immunity to Daze effects of 12.0 seconds and duration is reduced to 1.3 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/EnragingDemeanor.lua b/Spells/Mage/Enchanter/Coercer/EnragingDemeanor.lua new file mode 100644 index 0000000..fc0cfb6 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/EnragingDemeanor.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/EnragingDemeanor.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/ForcedHesitation.lua b/Spells/Mage/Enchanter/Coercer/ForcedHesitation.lua new file mode 100644 index 0000000..1af843a --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/ForcedHesitation.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/ForcedHesitation.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Applies Blind. Lasts for 4.0 seconds. +-- Dazes target +-- Blurs vision of target +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Daze effects of 12.0 seconds and duration is reduced to 1.3 seconds. +-- 5% chance to dispel when target takes damage +-- Epic targets gain an immunity to Root effects of 54.0 seconds and duration is reduced to 6.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Hemorrhage.lua b/Spells/Mage/Enchanter/Coercer/Hemorrhage.lua index 4dcf3ef..74ff8a3 100644 --- a/Spells/Mage/Enchanter/Coercer/Hemorrhage.lua +++ b/Spells/Mage/Enchanter/Coercer/Hemorrhage.lua @@ -1,30 +1,21 @@ --[[ - Script Name : dd_interrupt.lua - Script Purpose : Generic damage + stun script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Mage/Enchanter/Coercer/Hemorrhage.lua + Script Author : John Adams + Script Date : 2013.11.20 05:11:54 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, EffectChance) +function cast(Caster, Target, DmgType, MinVal, MaxVal) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end - - -- Effect component - if EffectChance is blank, always apply the effect, otherwise random - if EffectChance ~= nil then - if EffectChance >= math.random(1, 100) then - -- Interrupt(Target) - end - else - -- Interrupt(Target) - end + -- Inflicts 9 - 12 mental damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + -- Interrupts target + Interrupt(Target) end - -function remove(Caster, Target) -end \ No newline at end of file diff --git a/Spells/Mage/Enchanter/Coercer/HemorrhageX.lua b/Spells/Mage/Enchanter/Coercer/HemorrhageX.lua new file mode 100644 index 0000000..a1385fb --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/HemorrhageX.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/HemorrhageX.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target +-- Inflicts 476 - 644 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Hostage.lua b/Spells/Mage/Enchanter/Coercer/Hostage.lua new file mode 100644 index 0000000..04f1cde --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Hostage.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Hostage.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell will cast Convulsions on target. +-- Inflicts 151 - 184 mental damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/MedusaGaze.lua b/Spells/Mage/Enchanter/Coercer/MedusaGaze.lua new file mode 100644 index 0000000..ddf4734 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/MedusaGaze.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/MedusaGaze.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 13 - 16 mental damage on target +-- Stuns target +-- Epic targets gain an immunity to Stun effects of 16.5 seconds and duration is reduced to 1.8 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Mesmerize.lua b/Spells/Mage/Enchanter/Coercer/Mesmerize.lua index 161fdef..7bf8cdc 100644 --- a/Spells/Mage/Enchanter/Coercer/Mesmerize.lua +++ b/Spells/Mage/Enchanter/Coercer/Mesmerize.lua @@ -1,25 +1,22 @@ --[[ - Script Name : Mesmerize - Script Purpose : Generic Mesmerise spells with params - Script Author : John Adams - Script Date : 2008.12.05 - Script Notes : Not completely sure if mezz is handled by LUA or in code... - : Using the most common BOOL params: Immune to AOE, Dispel on damaged, Epic target immunity - + Script Name : Spells/Mage/Enchanter/Coercer/Mesmerize.lua + Script Author : John Adams + Script Date : 2013.11.20 05:11:13 + Script Purpose : + : --]] -function cast(Caster, Target, PreventAOE, DispelOnDamage, EpicImmune) - - -- Make NPC immune to AOE, unless the target of AOE - -- Set flag if NPC takes damage, dispel Mezz - -- If target is Epic mob, immune to Mezz? See effect info for mezz spells - seems different for a few - -end +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 45.0 seconds and duration is reduced to 5.0 seconds. +-- Resistibility increases against targets higher than level 29. -function tick(Caster, Target, Type, Min, Max) - -- code to process each call_frequency (tick) set in spell_tiers +function cast(Caster, Target, ControlType) + AddControlEffect(Target, ControlType) end -function remove(Caster, Target) - -- code to remove the spell +function remove(Caster, Target, ControlType) + RemoveControlEffect(Target, ControlType) end diff --git a/Spells/Mage/Enchanter/Coercer/Mindbend.lua b/Spells/Mage/Enchanter/Coercer/Mindbend.lua new file mode 100644 index 0000000..c1d8fa2 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Mindbend.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Mindbend.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell will cast Disorientation on target. Lasts for 4.0 seconds. +-- Stuns target +-- If Target is not Epic +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/MindsEye.lua b/Spells/Mage/Enchanter/Coercer/MindsEye.lua new file mode 100644 index 0000000..f1014a3 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/MindsEye.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/MindsEye.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/ObliteratedPsyche.lua b/Spells/Mage/Enchanter/Coercer/ObliteratedPsyche.lua new file mode 100644 index 0000000..d41b704 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/ObliteratedPsyche.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/ObliteratedPsyche.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs elemental, noxious and arcane damage by 180 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/PeacefulLink.lua b/Spells/Mage/Enchanter/Coercer/PeacefulLink.lua new file mode 100644 index 0000000..75aa8a4 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/PeacefulLink.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/PeacefulLink.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell has a 33% chance to cast Linked Pain on target's attacker. +-- Decreases threat priority of target by 1 position +-- Decreases Hate Gain of target by 8.6% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/PossessEssence.lua b/Spells/Mage/Enchanter/Coercer/PossessEssence.lua new file mode 100644 index 0000000..94ee697 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/PossessEssence.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/PossessEssence.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/PowerofMind.lua b/Spells/Mage/Enchanter/Coercer/PowerofMind.lua new file mode 100644 index 0000000..35bd58c --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/PowerofMind.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/PowerofMind.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Puppetmaster.lua b/Spells/Mage/Enchanter/Coercer/Puppetmaster.lua new file mode 100644 index 0000000..b172624 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Puppetmaster.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Puppetmaster.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 3 limited pets to aid the caster +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/PureAwe.lua b/Spells/Mage/Enchanter/Coercer/PureAwe.lua new file mode 100644 index 0000000..877bf64 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/PureAwe.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/PureAwe.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target encounter +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 27.0 seconds and duration is reduced to 3.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/ReekofTerror.lua b/Spells/Mage/Enchanter/Coercer/ReekofTerror.lua new file mode 100644 index 0000000..8171b82 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/ReekofTerror.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/ReekofTerror.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes targets in Area of Effect afraid +-- Decreases Threat to targets in Area of Effect by 694 +-- Dispelled when target takes damage +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/ShiftMana.lua b/Spells/Mage/Enchanter/Coercer/ShiftMana.lua new file mode 100644 index 0000000..50e603c --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/ShiftMana.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/ShiftMana.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/ShockWave.lua b/Spells/Mage/Enchanter/Coercer/ShockWave.lua new file mode 100644 index 0000000..e2121eb --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/ShockWave.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/ShockWave.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/SignetofIntellect.lua b/Spells/Mage/Enchanter/Coercer/SignetofIntellect.lua new file mode 100644 index 0000000..d4da38b --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/SignetofIntellect.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/SignetofIntellect.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Silence.lua b/Spells/Mage/Enchanter/Coercer/Silence.lua new file mode 100644 index 0000000..e952415 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Silence.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Silence.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 71 - 87 mental damage on target +-- Inflicts 24 - 29 mental damage on target every second +-- Stifles target +-- Epic targets gain an immunity to Stifle effects of 18.0 seconds and duration is reduced to 2.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/SimpleMinds.lua b/Spells/Mage/Enchanter/Coercer/SimpleMinds.lua new file mode 100644 index 0000000..c718325 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/SimpleMinds.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/SimpleMinds.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 12 - 14 mental damage on target encounter instantly and every 4 seconds +-- Decreases power of target encounter by 4 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/SirensGift.lua b/Spells/Mage/Enchanter/Coercer/SirensGift.lua new file mode 100644 index 0000000..846f722 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/SirensGift.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/SirensGift.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Modifies mana flow to be group targeted. Also reduces duration and fuel cost. +-- On a damage spell hit this spell has a 12% chance to cast Siren's Gift on the group. Lasts for 10.0 seconds. +-- Reduces the power cost of group members' spells by 20% +-- Reduces the reuse timers of all spells by 10% +-- Increases the max health of the coercer's Possess Essence by 25% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/SirensStare.lua b/Spells/Mage/Enchanter/Coercer/SirensStare.lua new file mode 100644 index 0000000..53c5ebc --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/SirensStare.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/SirensStare.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Adds mental damage to a fighter's single target and AE taunts. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/SpellCurse.lua b/Spells/Mage/Enchanter/Coercer/SpellCurse.lua new file mode 100644 index 0000000..cdaf01e --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/SpellCurse.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/SpellCurse.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a spell this spell will cast Lash on target. +-- Inflicts 194 - 238 mental damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Stupefy.lua b/Spells/Mage/Enchanter/Coercer/Stupefy.lua new file mode 100644 index 0000000..991246b --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Stupefy.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Stupefy.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target encounter +-- Epic targets gain an immunity to Stun effects of 12.4 seconds and duration is reduced to 1.4 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Unveil.lua b/Spells/Mage/Enchanter/Coercer/Unveil.lua new file mode 100644 index 0000000..c8903b4 --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Unveil.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Unveil.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants Ultravision to group members (AE) +-- Grants See Invisibility to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Coercer/Velocity.lua b/Spells/Mage/Enchanter/Coercer/Velocity.lua new file mode 100644 index 0000000..691ea3f --- /dev/null +++ b/Spells/Mage/Enchanter/Coercer/Velocity.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Coercer/Velocity.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Damage Per Second of target by 26.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Aneurysm.lua b/Spells/Mage/Enchanter/Illusionist/Aneurysm.lua new file mode 100644 index 0000000..a02a339 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Aneurysm.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Aneurysm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dazes target +-- Inflicts 65 - 79 mental damage on target +-- Epic targets gain an immunity to Daze effects of 13.5 seconds and duration is reduced to 1.5 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/AspectofGenius.lua b/Spells/Mage/Enchanter/Illusionist/AspectofGenius.lua new file mode 100644 index 0000000..700c358 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/AspectofGenius.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/AspectofGenius.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/BarrierofIntellect.lua b/Spells/Mage/Enchanter/Illusionist/BarrierofIntellect.lua new file mode 100644 index 0000000..a95936c --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/BarrierofIntellect.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/BarrierofIntellect.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes targets in Area of Effect +-- If Target is not Epic +-- Decreases Threat to targets in Area of Effect by 694 +-- Dispelled when target takes damage +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Bewilderment.lua b/Spells/Mage/Enchanter/Illusionist/Bewilderment.lua new file mode 100644 index 0000000..fa7e298 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Bewilderment.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Bewilderment.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target encounter +-- Epic targets gain an immunity to Stun effects of 8.3 seconds and duration is reduced to 0.9 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Brainburst.lua b/Spells/Mage/Enchanter/Illusionist/Brainburst.lua new file mode 100644 index 0000000..a100f2c --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Brainburst.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Brainburst.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Migraine on termination. +-- Inflicts 13 - 17 mental damage on target +-- Inflicts 6 - 7 mental damage on target instantly and every 6 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/ChromaticShower.lua b/Spells/Mage/Enchanter/Illusionist/ChromaticShower.lua new file mode 100644 index 0000000..397a4e2 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/ChromaticShower.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/ChromaticShower.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stifles target encounter +-- Inflicts 153 - 187 mental damage on target encounter instantly and every second +-- Epic targets gain an immunity to Stifle effects of 15.0 seconds and duration is reduced to 1.7 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/ChromaticStorm.lua b/Spells/Mage/Enchanter/Illusionist/ChromaticStorm.lua new file mode 100644 index 0000000..b051555 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/ChromaticStorm.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/ChromaticStorm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 12 - 14 mental damage on target encounter instantly and every 2 seconds +-- Applies Stumble on termination. +-- Interrupts target +-- Interrupts target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Dismay.lua b/Spells/Mage/Enchanter/Illusionist/Dismay.lua new file mode 100644 index 0000000..cded91f --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Dismay.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Dismay.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Crushing, Piercing, Slashing and Ranged of target by 8.1 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Doppelganger.lua b/Spells/Mage/Enchanter/Illusionist/Doppelganger.lua new file mode 100644 index 0000000..5763508 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Doppelganger.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Doppelganger.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Entrance.lua b/Spells/Mage/Enchanter/Illusionist/Entrance.lua index 161fdef..0f0556c 100644 --- a/Spells/Mage/Enchanter/Illusionist/Entrance.lua +++ b/Spells/Mage/Enchanter/Illusionist/Entrance.lua @@ -1,25 +1,14 @@ --[[ - Script Name : Mesmerize - Script Purpose : Generic Mesmerise spells with params + Script Name : Spells/Mage/Enchanter/Illusionist/Entrance.lua Script Author : John Adams - Script Date : 2008.12.05 - Script Notes : Not completely sure if mezz is handled by LUA or in code... - : Using the most common BOOL params: Immune to AOE, Dispel on damaged, Epic target immunity - + Script Date : 2013.11.19 + Script Purpose : --]] -function cast(Caster, Target, PreventAOE, DispelOnDamage, EpicImmune) - - -- Make NPC immune to AOE, unless the target of AOE - -- Set flag if NPC takes damage, dispel Mezz - -- If target is Epic mob, immune to Mezz? See effect info for mezz spells - seems different for a few - -end - -function tick(Caster, Target, Type, Min, Max) - -- code to process each call_frequency (tick) set in spell_tiers +function cast(Caster, Target) + AddControlEffect(Target, 1) end function remove(Caster, Target) - -- code to remove the spell + RemoveControlEffect(Target, 1) end diff --git a/Spells/Mage/Enchanter/Illusionist/Epiphany.lua b/Spells/Mage/Enchanter/Illusionist/Epiphany.lua new file mode 100644 index 0000000..29724bc --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Epiphany.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Epiphany.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/ExtractMana.lua b/Spells/Mage/Enchanter/Illusionist/ExtractMana.lua new file mode 100644 index 0000000..19f6fab --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/ExtractMana.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/ExtractMana.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/FlashofBrilliance.lua b/Spells/Mage/Enchanter/Illusionist/FlashofBrilliance.lua new file mode 100644 index 0000000..3719ac8 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/FlashofBrilliance.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/FlashofBrilliance.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/IllusoryAllies.lua b/Spells/Mage/Enchanter/Illusionist/IllusoryAllies.lua new file mode 100644 index 0000000..8d06f77 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/IllusoryAllies.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/IllusoryAllies.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 2 limited pets to aid the caster +-- Applies Memory Wipe on termination. Lasts for 1.0 second. +-- Wipes most of the target's memory of aggression +-- Summons 4 limited pets to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/IllusoryMask.lua b/Spells/Mage/Enchanter/Illusionist/IllusoryMask.lua new file mode 100644 index 0000000..2327a22 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/IllusoryMask.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/IllusoryMask.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants invisibility to group members (AE) +-- Suspends group members (AE)'s movement speed enhancements +-- Dispelled when target takes damage +-- This effect cancels during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Lockdown.lua b/Spells/Mage/Enchanter/Illusionist/Lockdown.lua new file mode 100644 index 0000000..09ff7ba --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Lockdown.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Lockdown.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Applies Stifle. Lasts for 4.0 seconds. +-- Stifles target +-- Blurs vision of target +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Stifle effects of 12.0 seconds and duration is reduced to 1.3 seconds. +-- Resistibility increases against targets higher than level 34. +-- 5% chance to dispel when target takes damage +-- Epic targets gain an immunity to Root effects of 54.0 seconds and duration is reduced to 6.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Manatap.lua b/Spells/Mage/Enchanter/Illusionist/Manatap.lua new file mode 100644 index 0000000..cfa184a --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Manatap.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Manatap.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases power of target encounter by 32 instantly and every 4 seconds +-- Increases power of group members (AE) by 13 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/MirageMastery.lua b/Spells/Mage/Enchanter/Illusionist/MirageMastery.lua new file mode 100644 index 0000000..8268298 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/MirageMastery.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/MirageMastery.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases the max health of the illusionist's Personae Reflection by 25% +-- On a hostile spell cast this spell has a 12% chance to cast Soothing Mind on the group. Lasts for 15.0 seconds. +-- On any combat or spell hit this spell will cast Soothing Mind on target. Lasts for 15.0 seconds. +-- Increases power of target by 360 +-- Grants a total of 1 trigger of the spell. +-- Cannot be modified except by direct means +-- Changes Rapidity to a group buff and adds 10% double attack. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Nightmare.lua b/Spells/Mage/Enchanter/Illusionist/Nightmare.lua new file mode 100644 index 0000000..acae6be --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Nightmare.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Nightmare.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs arcane damage by 141 +-- Inflicts 21 - 25 mental damage on target instantly and every 6 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Paranoia.lua b/Spells/Mage/Enchanter/Illusionist/Paranoia.lua new file mode 100644 index 0000000..3e3ec14 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Paranoia.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Paranoia.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 11 - 16 mental damage on target +-- Stuns target +-- Epic targets gain an immunity to Stun effects of 16.5 seconds and duration is reduced to 1.8 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/PersonaeReflection.lua b/Spells/Mage/Enchanter/Illusionist/PersonaeReflection.lua new file mode 100644 index 0000000..5c2b097 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/PersonaeReflection.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/PersonaeReflection.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/PhantasmalAwe.lua b/Spells/Mage/Enchanter/Illusionist/PhantasmalAwe.lua new file mode 100644 index 0000000..3d16de0 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/PhantasmalAwe.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/PhantasmalAwe.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target encounter +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 27.0 seconds and duration is reduced to 3.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Phase.lua b/Spells/Mage/Enchanter/Illusionist/Phase.lua new file mode 100644 index 0000000..1913fe9 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Phase.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Phase.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports target to a random location within 5 meters. +-- If Target is not Epic +-- Wipes almost all of target's memory of aggression towards their current target. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/PrismaticChaos.lua b/Spells/Mage/Enchanter/Illusionist/PrismaticChaos.lua new file mode 100644 index 0000000..d23cd89 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/PrismaticChaos.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/PrismaticChaos.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a combat hit this spell will cast Prismatic Shock on target of attack. +-- Inflicts 172 - 210 mental damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Rapidity.lua b/Spells/Mage/Enchanter/Illusionist/Rapidity.lua new file mode 100644 index 0000000..9217fbe --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Rapidity.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Rapidity.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Attack Speed of target by 23.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Regalia.lua b/Spells/Mage/Enchanter/Illusionist/Regalia.lua new file mode 100644 index 0000000..7c0e1b4 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Regalia.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Regalia.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 22.5 seconds and duration is reduced to 2.5 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/RuneofThought.lua b/Spells/Mage/Enchanter/Illusionist/RuneofThought.lua new file mode 100644 index 0000000..d134718 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/RuneofThought.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/RuneofThought.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Savante.lua b/Spells/Mage/Enchanter/Illusionist/Savante.lua new file mode 100644 index 0000000..fe06132 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Savante.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Savante.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/ShiftVision.lua b/Spells/Mage/Enchanter/Illusionist/ShiftVision.lua new file mode 100644 index 0000000..279b901 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/ShiftVision.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/ShiftVision.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to group members (AE) +-- Grants Infravision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Speechless.lua b/Spells/Mage/Enchanter/Illusionist/Speechless.lua new file mode 100644 index 0000000..8dc3fea --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Speechless.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Speechless.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 130 - 159 mental damage on target +-- Stifles target +-- Epic targets gain an immunity to Stifle effects of 18.0 seconds and duration is reduced to 2.0 seconds. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Spellshield.lua b/Spells/Mage/Enchanter/Illusionist/Spellshield.lua new file mode 100644 index 0000000..b929768 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Spellshield.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Spellshield.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Synergism.lua b/Spells/Mage/Enchanter/Illusionist/Synergism.lua new file mode 100644 index 0000000..55931b5 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Synergism.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Synergism.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell hit this spell has a 33% chance to cast Dynamism on target of spell. +-- Decreases Threat to target by 247 - 302 +-- If profession other than Fighter +-- Inflicts 111 - 136 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/Theorems.lua b/Spells/Mage/Enchanter/Illusionist/Theorems.lua new file mode 100644 index 0000000..ebc2ee8 --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/Theorems.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/Theorems.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a spell this spell will cast Theorems on target. +-- Inflicts 235 - 287 mental damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua b/Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua index d1d72ca..24e7dda 100644 --- a/Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua +++ b/Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua @@ -1,55 +1,16 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script + Script Name : Spells/Mage/Enchanter/Illusionist/UltravioletBeam.lua Script Author : John Adams - Script Date : 2008.12.02 + Script Date : 2013.11.19 + Script Purpose : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +function cast(Caster, Target, DDType, MinDDVal, MaxDDVal) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) + else + SpellDamage(Target, DDType, MinDDVal) + end end diff --git a/Spells/Mage/Enchanter/Illusionist/UltravioletBeamX.lua b/Spells/Mage/Enchanter/Illusionist/UltravioletBeamX.lua new file mode 100644 index 0000000..ae5addf --- /dev/null +++ b/Spells/Mage/Enchanter/Illusionist/UltravioletBeamX.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Enchanter/Illusionist/UltravioletBeamX.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 520 - 704 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/ManaCloak.lua b/Spells/Mage/Enchanter/ManaCloak.lua new file mode 100644 index 0000000..01a1047 --- /dev/null +++ b/Spells/Mage/Enchanter/ManaCloak.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Enchanter/ManaCloak.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Enchanter/VeiloftheUnseen.lua b/Spells/Mage/Enchanter/VeiloftheUnseen.lua new file mode 100644 index 0000000..6ac8fb9 --- /dev/null +++ b/Spells/Mage/Enchanter/VeiloftheUnseen.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Enchanter/VeiloftheUnseen.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Prevents AOE (except when direct) +-- Grants invisibility to target +-- Suspends target's movement speed enhancements +-- Dispelled when target takes damage +-- This effect cancels during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/MagisShielding.lua b/Spells/Mage/MagisShielding.lua new file mode 100644 index 0000000..290fb28 --- /dev/null +++ b/Spells/Mage/MagisShielding.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/MagisShielding.lua + Script Author : Zcoretri + Script Date : 2013.07.12 12:28:39 + Script Purpose : + : +--]] + +function cast(Caster, Target, StatBonus, SkillBonus, PhysMitBonus, MitBonus) + AddSpellBonus(Target, 1, StatBonus) -- STA + AddSkillBonus(Target, GetSkillIDByName("Focus"), SkillBonus) + AddSkillBonus(Target, GetSkillIDByName("Defense"), SkillBonus) + AddSpellBonus(Target, 200, PhysMitBonus) -- vs Physical Damage + AddSpellBonus(Target, 201, MitBonus) -- vs Elemental + AddSpellBonus(Target, 202, MitBonus) -- vs Noxiuos + AddSpellBonus(Target, 203, MitBonus) -- vs Arcane +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) +end + + diff --git a/Spells/Mage/SeeInvisibility.lua b/Spells/Mage/SeeInvisibility.lua new file mode 100644 index 0000000..927f6f6 --- /dev/null +++ b/Spells/Mage/SeeInvisibility.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/SeeInvisibility.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/ShrinkServant.lua b/Spells/Mage/ShrinkServant.lua new file mode 100644 index 0000000..05f0cd7 --- /dev/null +++ b/Spells/Mage/ShrinkServant.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/ShrinkServant.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Shrink Servant to qualifying pets. +-- Shrinks target by 35.0% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/SummonAnimatedTome.lua b/Spells/Mage/Sorcerer/SummonAnimatedTome.lua new file mode 100644 index 0000000..a2c6520 --- /dev/null +++ b/Spells/Mage/Sorcerer/SummonAnimatedTome.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/SummonAnimatedTome.lua + Script Author : Guardian + Script Date : 2012.10.21 08:10:11 + Script Notes : Enter special notes here + : +--]] + +function cast(Caster, Target, PetID) + SummonPet(Caster, PetID) +end + +function tick(Caster, Target, Type, Min, Max) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target, Type, Min, Max) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Absolution.lua b/Spells/Mage/Sorcerer/Warlock/Absolution.lua new file mode 100644 index 0000000..aac8a7c --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Absolution.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Absolution.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 506 - 939 disease damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Acid.lua b/Spells/Mage/Sorcerer/Warlock/Acid.lua new file mode 100644 index 0000000..ca7a0fd --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Acid.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Acid.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 3 - 6 poison damage on target instantly and every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/AcidRain.lua b/Spells/Mage/Sorcerer/Warlock/AcidRain.lua new file mode 100644 index 0000000..f5462d3 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/AcidRain.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/AcidRain.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Crit Bonus of caster by 10.0% +-- On a damage spell hit this spell has a 12% chance to cast Acid Rain on target of spell. +-- Inflicts 605 - 907 poison damage on target encounter +-- Decreases threat priority of target encounter by 1 position +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/AcidStorm.lua b/Spells/Mage/Sorcerer/Warlock/AcidStorm.lua new file mode 100644 index 0000000..627f84a --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/AcidStorm.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/AcidStorm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Apocalypse.lua b/Spells/Mage/Sorcerer/Warlock/Apocalypse.lua new file mode 100644 index 0000000..266a358 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Apocalypse.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Apocalypse.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 282 - 523 poison damage on target encounter instantly and every 1.5 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/AspectofDarkness.lua b/Spells/Mage/Sorcerer/Warlock/AspectofDarkness.lua new file mode 100644 index 0000000..a68553a --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/AspectofDarkness.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/AspectofDarkness.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/AuraofVoid.lua b/Spells/Mage/Sorcerer/Warlock/AuraofVoid.lua new file mode 100644 index 0000000..77503b9 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/AuraofVoid.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/AuraofVoid.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a spell this spell will cast Aura of Pain on target. +-- Inflicts 198 - 242 disease damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/BoonoftheDamned.lua b/Spells/Mage/Sorcerer/Warlock/BoonoftheDamned.lua new file mode 100644 index 0000000..7b0594e --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/BoonoftheDamned.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/BoonoftheDamned.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell has a 10% chance to cast Mana Boon on target. Lasts for 16.0 seconds. +-- Increases power of target by 3 instantly and every 4 seconds +-- Increases power of caster by 3 instantly and every 4 seconds +-- Causes 2% Threat to transfer to target when in combat +-- If Fighter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/CurseofDarkness.lua b/Spells/Mage/Sorcerer/Warlock/CurseofDarkness.lua new file mode 100644 index 0000000..2d963e8 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/CurseofDarkness.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/CurseofDarkness.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/CurseofVoid.lua b/Spells/Mage/Sorcerer/Warlock/CurseofVoid.lua new file mode 100644 index 0000000..f83a2d9 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/CurseofVoid.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/CurseofVoid.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases STR and INT of target by 19.4 +-- Only affects targets level 20 and above + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/DarkInfestation.lua b/Spells/Mage/Sorcerer/Warlock/DarkInfestation.lua new file mode 100644 index 0000000..3fbb4c0 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DarkInfestation.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DarkInfestation.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a spell this spell has a 35% chance to cast Dark Broodlings on target. Lasts for 6.0 seconds. +-- Summons a limited pet to aid the caster +-- Summons 2 limited pets to aid the caster +-- Grants a total of 1 trigger of the spell. +-- Inflicts 149 - 182 poison damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/DarkNebula.lua b/Spells/Mage/Sorcerer/Warlock/DarkNebula.lua new file mode 100644 index 0000000..f8580d1 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DarkNebula.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DarkNebula.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target encounter +-- If Target is not Epic +-- Inflicts 55 - 101 poison damage on target encounter +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/DarkPact.lua b/Spells/Mage/Sorcerer/Warlock/DarkPact.lua new file mode 100644 index 0000000..0a63b25 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DarkPact.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DarkPact.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/DarkPyre.lua b/Spells/Mage/Sorcerer/Warlock/DarkPyre.lua new file mode 100644 index 0000000..8ff8d58 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DarkPyre.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DarkPyre.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 26 - 48 disease damage on target +-- Inflicts 16 - 29 disease damage on target every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/DarkSiphoning.lua b/Spells/Mage/Sorcerer/Warlock/DarkSiphoning.lua new file mode 100644 index 0000000..7bde137 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DarkSiphoning.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DarkSiphoning.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases power of target encounter by 17 - 21 instantly and every 3 seconds +-- Inflicts 41 - 76 poison damage on target encounter instantly and every 3 seconds +-- Heals group members (AE) for 13 - 24 instantly and every 3 seconds +-- Increases power of group members (AE) by 5 instantly and every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Dissolve.lua b/Spells/Mage/Sorcerer/Warlock/Dissolve.lua index 86f5efb..88617de 100644 --- a/Spells/Mage/Sorcerer/Warlock/Dissolve.lua +++ b/Spells/Mage/Sorcerer/Warlock/Dissolve.lua @@ -1,24 +1,16 @@ --[[ - Script Name : dd.lua - Script Purpose : Generic direct damage script + Script Name : Spells/Mage/Sorcerer/Warlock/Dissolve.lua Script Author : John Adams - Script Date : 2010.01.14 + Script Date : 2013.11.19 + Script Purpose : --]] function cast(Caster, Target, DDType, MinDDVal, MaxDDVal) if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) + SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) else SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) end end - -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal) - -end - diff --git a/Spells/Mage/Sorcerer/Warlock/DissolveX.lua b/Spells/Mage/Sorcerer/Warlock/DissolveX.lua new file mode 100644 index 0000000..0160136 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/DissolveX.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/DissolveX.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 771 - 1432 poison damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Distortion.lua b/Spells/Mage/Sorcerer/Warlock/Distortion.lua new file mode 100644 index 0000000..8fd080d --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Distortion.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Distortion.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 371 - 689 poison damage on target +-- Increases power of caster by 21 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Encase.lua b/Spells/Mage/Sorcerer/Warlock/Encase.lua new file mode 100644 index 0000000..b0d722e --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Encase.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Encase.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 197 - 328 cold damage on target +-- Stuns target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/GiftofBertoxxulous.lua b/Spells/Mage/Sorcerer/Warlock/GiftofBertoxxulous.lua new file mode 100644 index 0000000..1c15b90 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/GiftofBertoxxulous.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/GiftofBertoxxulous.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell cast this spell will cast Abhorrence on target of spell. +-- Inflicts 19 - 36 poison damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/GraspofBertoxxulous.lua b/Spells/Mage/Sorcerer/Warlock/GraspofBertoxxulous.lua new file mode 100644 index 0000000..2fa2f79 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/GraspofBertoxxulous.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/GraspofBertoxxulous.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/ManaTrickle.lua b/Spells/Mage/Sorcerer/Warlock/ManaTrickle.lua new file mode 100644 index 0000000..b0b0905 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/ManaTrickle.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/ManaTrickle.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases power of target by 14 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/NegativeVoid.lua b/Spells/Mage/Sorcerer/Warlock/NegativeVoid.lua new file mode 100644 index 0000000..193a3a8 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/NegativeVoid.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/NegativeVoid.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Changes damage based encounter AE spells into single target. Improves their damage by 30% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Netherealm.lua b/Spells/Mage/Sorcerer/Warlock/Netherealm.lua new file mode 100644 index 0000000..e081bca --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Netherealm.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Netherealm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Netherlord.lua b/Spells/Mage/Sorcerer/Warlock/Netherlord.lua new file mode 100644 index 0000000..36424c1 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Netherlord.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Netherlord.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/NetherousBind.lua b/Spells/Mage/Sorcerer/Warlock/NetherousBind.lua new file mode 100644 index 0000000..4402999 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/NetherousBind.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/NetherousBind.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Element of Fear on termination. Lasts for 5.0 seconds. +-- Makes target afraid +-- Slows target by 27.9% +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 34. +-- Roots target +-- 15% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/NullCaress.lua b/Spells/Mage/Sorcerer/Warlock/NullCaress.lua new file mode 100644 index 0000000..16b9358 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/NullCaress.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/NullCaress.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Nullify.lua b/Spells/Mage/Sorcerer/Warlock/Nullify.lua new file mode 100644 index 0000000..2e261b2 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Nullify.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Nullify.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Decreases Threat to target encounter by 112 - 137 +-- Dazes target encounter +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Nullmail.lua b/Spells/Mage/Sorcerer/Warlock/Nullmail.lua new file mode 100644 index 0000000..685b37b --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Nullmail.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Nullmail.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When target falls below 30% health this spell will cast Nullmail Armor on target. Lasts for 12.0 seconds. +-- Increases Mitigation of caster vs elemental and noxious damage by 1600 +-- Prevents AOE (except when direct) +-- Caster will Dodge 50.0% of incoming attacks +-- Increases Mitigation of caster vs physical and arcane damage by 1600 +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Rift.lua b/Spells/Mage/Sorcerer/Warlock/Rift.lua new file mode 100644 index 0000000..1a72f0c --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Rift.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Rift.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/Shadowsight.lua b/Spells/Mage/Sorcerer/Warlock/Shadowsight.lua new file mode 100644 index 0000000..c77178c --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/Shadowsight.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/Shadowsight.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to group members (AE) +-- Grants Sonic Vision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/ShroudofBertoxxulous.lua b/Spells/Mage/Sorcerer/Warlock/ShroudofBertoxxulous.lua new file mode 100644 index 0000000..04d9098 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/ShroudofBertoxxulous.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/ShroudofBertoxxulous.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 25% chance to cast Nihilistics on target's attacker. +-- Inflicts 23 - 28 poison damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/SkeletalGrasp.lua b/Spells/Mage/Sorcerer/Warlock/SkeletalGrasp.lua new file mode 100644 index 0000000..d032d16 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/SkeletalGrasp.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/SkeletalGrasp.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target encounter +-- 15% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Warlock/VoidContract.lua b/Spells/Mage/Sorcerer/Warlock/VoidContract.lua new file mode 100644 index 0000000..8ec7f75 --- /dev/null +++ b/Spells/Mage/Sorcerer/Warlock/VoidContract.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Warlock/VoidContract.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Aurora.lua b/Spells/Mage/Sorcerer/Wizard/Aurora.lua new file mode 100644 index 0000000..24742bf --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Aurora.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Aurora.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target +-- Prevents AOE (except when direct) +-- Roots caster +-- Dispelled when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/BallofFire.lua b/Spells/Mage/Sorcerer/Wizard/BallofFire.lua new file mode 100644 index 0000000..9b78313 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/BallofFire.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/BallofFire.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 371 - 689 heat damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Cease.lua b/Spells/Mage/Sorcerer/Wizard/Cease.lua new file mode 100644 index 0000000..f97ae95 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Cease.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Cease.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target +-- Decreases Threat to target by 150 - 183 +-- Stifles target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Converge.lua b/Spells/Mage/Sorcerer/Wizard/Converge.lua new file mode 100644 index 0000000..508224d --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Converge.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Converge.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell has a 10% chance to cast Concurrence on target. +-- Increases power of target by 12 +-- Increases power of caster by 12 +-- Causes 2% Threat to transfer to target when in combat +-- If Fighter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Depart.lua b/Spells/Mage/Sorcerer/Wizard/Depart.lua new file mode 100644 index 0000000..825273e --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Depart.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Depart.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports caster and caster's group within the zone + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Firestorm.lua b/Spells/Mage/Sorcerer/Wizard/Firestorm.lua new file mode 100644 index 0000000..8304ade --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Firestorm.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Firestorm.lua + Script Author : Zcoretri + Script Date : 2013.17.12 12:06:46 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end + + diff --git a/Spells/Mage/Sorcerer/Wizard/FocusedMind.lua b/Spells/Mage/Sorcerer/Wizard/FocusedMind.lua new file mode 100644 index 0000000..c3b9057 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/FocusedMind.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/FocusedMind.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a damage spell hit this spell has a 12% chance to cast Fire of Intellect on target of spell. Lasts for 15.0 seconds. +-- Inflicts 588 - 881 heat damage on target +-- Adds normalized spell damage based on 30% of the wizard's intelligence +-- Cannot be modified except by direct means +-- Increases the damage of all hostile spells by 10% +-- Increases Doublecast Chance of caster by 10.0% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/FortifyElements.lua b/Spells/Mage/Sorcerer/Wizard/FortifyElements.lua new file mode 100644 index 0000000..f23f333 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/FortifyElements.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/FortifyElements.lua + Script Author : Zcoretri + Script Date : 2013.09.12 15:47:05 + Script Purpose : + : +--]] + + +function cast(Caster, Target) + AddSpellBonus(Target, 501, BonusAmt) -- Power + AddSpellBonus(Target, 201, BonusAmt) -- vs Elemental + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Mage/Sorcerer/Wizard/FrigidGift.lua b/Spells/Mage/Sorcerer/Wizard/FrigidGift.lua new file mode 100644 index 0000000..8aca767 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/FrigidGift.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/FrigidGift.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/FurnaceofRo.lua b/Spells/Mage/Sorcerer/Wizard/FurnaceofRo.lua new file mode 100644 index 0000000..3ff3f5b --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/FurnaceofRo.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/FurnaceofRo.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Fusion.lua b/Spells/Mage/Sorcerer/Wizard/Fusion.lua new file mode 100644 index 0000000..51ebbd0 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Fusion.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Fusion.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/GlacialWind.lua b/Spells/Mage/Sorcerer/Wizard/GlacialWind.lua new file mode 100644 index 0000000..5cefdbd --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/GlacialWind.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/GlacialWind.lua + Script Author : Zcoretri + Script Date : 2013.17.12 12:34:04 + Script Purpose : + : +--]] + + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end + + +function tick(Caster, Target) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end + +function remove(Caster, Target) + +end + diff --git a/Spells/Mage/Sorcerer/Wizard/HarvestMana.lua b/Spells/Mage/Sorcerer/Wizard/HarvestMana.lua new file mode 100644 index 0000000..a05313e --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/HarvestMana.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/HarvestMana.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/IceComet.lua b/Spells/Mage/Sorcerer/Wizard/IceComet.lua new file mode 100644 index 0000000..85d671d --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/IceComet.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/IceComet.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Knockdown on termination. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets +-- Inflicts 1795 - 3333 cold damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/IceSpears.lua b/Spells/Mage/Sorcerer/Wizard/IceSpears.lua index 7f21fc6..1a000d3 100644 --- a/Spells/Mage/Sorcerer/Wizard/IceSpears.lua +++ b/Spells/Mage/Sorcerer/Wizard/IceSpears.lua @@ -1,79 +1,28 @@ --[[ - Script Name : dot_debuff.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Mage/Sorcerer/Wizard/IceSpears.lua + Script Author : Zcoretri + Script Date : 2013.07.12 11:38:48 + Script Purpose : + : --]] -function cast(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - -- Debuff component - -- Determine if there is a range to effect values - if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then - - -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? - DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) - - else - - DebuffValue = MinDebuffVal - - end - - -- Determine DebuffType - either a DamageType or a String value passed as param 4 - if DebuffType == "Defense" then - - -- Need functionality to buff/debuff - -- ModifyDefense(Target, -DebuffValue) - - end - - if DebuffType == "Elemental" then - - -- Need functionality to buff/debuff - -- ModifyHeat(Target, -DebuffValue) - -- ModifyCole(Target, -DebuffValue) - - end - - -- DOT component (instant damage) - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - +function cast(Caster, Target, DoTType, MinVal, MaxVal, BonusAmt) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end + AddSpellBonus(Target, 200, BonusAmt) -- vs Elemental end -function tick(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - +function tick(Caster, Target, DoTType, MinVal, MaxVal, BonusAmt) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end end -function remove(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - if DebuffType == "Defense" then - -- Need functionality to restore original mitigations - -- ModifyDefense(Target, Original) - end - - if DebuffType == "Elemental" then - -- Need functionality to restore original mitigations - -- ModifyHeat(Target, Original) - -- ModifyCold(Target, Original) - end - +function remove(Caster, Target, DoTType, MinVal, MaxVal, BonusAmt) + RemoveSpellBonus(Target) end diff --git a/Spells/Mage/Sorcerer/Wizard/Iceshield.lua b/Spells/Mage/Sorcerer/Wizard/Iceshield.lua new file mode 100644 index 0000000..0ca2bf9 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Iceshield.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Iceshield.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell will cast Frost Spikes on target's attacker. +-- Inflicts 145 - 177 cold damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Immolation.lua b/Spells/Mage/Sorcerer/Wizard/Immolation.lua new file mode 100644 index 0000000..35f3044 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Immolation.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Immolation.lua + Script Author : Zcoretri + Script Date : 2013.13.12 17:43:18 + Script Purpose : + : +--]] + + +function cast(Caster, Target, DmgType, MinVal, MaxVal, DotMinVal, DotMaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end + + +function tick(Caster, Target, DmgType, MinVal, MaxVal, DotMinVal, DotMaxVal) + if DotMaxVal ~= nil and DotMinVal < DotMaxVal then + SpellDamage(Target, DmgType, math.random(DotMinVal, DotMaxVal)) + else + SpellDamage(Target, DmgType, DotMinVal) + end +end + + +function remove(Caster, Target, DmgType, MinVal, MaxVal, DotMinVal, DotMaxVal) + +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Incinerate.lua b/Spells/Mage/Sorcerer/Wizard/Incinerate.lua new file mode 100644 index 0000000..ada163f --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Incinerate.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Incinerate.lua + Script Author : Zcoretri + Script Date : 2013.07.12 07:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end + +function tick(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end + +function remove(Caster, Target, DoTType, MinVal, MaxVal) + +end + + + diff --git a/Spells/Mage/Sorcerer/Wizard/MagmaChamber.lua b/Spells/Mage/Sorcerer/Wizard/MagmaChamber.lua new file mode 100644 index 0000000..e2f4eaa --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/MagmaChamber.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/MagmaChamber.lua + Script Author : Zcoretri + Script Date : 2013.06.12 09:12:10 + Script Purpose : + : +--]] + +-- Resistibility increases against targets higher than level 29. + +function cast(Caster, Target, DmgType, MinVal, MaxVal, ControlType) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + +end + +function tick(Caster, Target, ControlType) + if not IsEpic(Target) then + AddControlEffect(Target, ControlType) + end +end + +function remove(Caster, Target, ControlType) + RemoveControlEffect(Target, ControlType) +end + + diff --git a/Spells/Mage/Sorcerer/Wizard/MailofFrost.lua b/Spells/Mage/Sorcerer/Wizard/MailofFrost.lua new file mode 100644 index 0000000..06a1754 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/MailofFrost.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/MailofFrost.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When target falls below 30% health this spell will cast Frost Ward on target. Lasts for 12.0 seconds. +-- Wards caster against 729 points of all damage +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/ManaIntromission.lua b/Spells/Mage/Sorcerer/Wizard/ManaIntromission.lua new file mode 100644 index 0000000..85f1c4a --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/ManaIntromission.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/ManaIntromission.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases power of target by 64 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/NumbingCold.lua b/Spells/Mage/Sorcerer/Wizard/NumbingCold.lua new file mode 100644 index 0000000..4ac479c --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/NumbingCold.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/NumbingCold.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Portal.lua b/Spells/Mage/Sorcerer/Wizard/Portal.lua new file mode 100644 index 0000000..63e3914 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Portal.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Portal.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports caster within the zone + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Protoflame.lua b/Spells/Mage/Sorcerer/Wizard/Protoflame.lua new file mode 100644 index 0000000..46d73cd --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Protoflame.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Protoflame.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/RaysofDisintegration.lua b/Spells/Mage/Sorcerer/Wizard/RaysofDisintegration.lua new file mode 100644 index 0000000..9ae529b --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/RaysofDisintegration.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/RaysofDisintegration.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 3177 - 4765 heat damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/RingofIce.lua b/Spells/Mage/Sorcerer/Wizard/RingofIce.lua new file mode 100644 index 0000000..1b678fe --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/RingofIce.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/RingofIce.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target encounter +-- Applies Icy Grasp on termination. Lasts for 12.0 seconds. +-- Slows target by 34.2% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- 20% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/RosBlade.lua b/Spells/Mage/Sorcerer/Wizard/RosBlade.lua new file mode 100644 index 0000000..bc5fb78 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/RosBlade.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/RosBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/Shackle.lua b/Spells/Mage/Sorcerer/Wizard/Shackle.lua new file mode 100644 index 0000000..f054bd5 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Shackle.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Shackle.lua + Script Author : Zcoretri + Script Date : 2013.13.12 19:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target, Slow) + -- Roots target + SetSpeedMultiplier(Target, 0) +end + +function tick(Caster, Target, Slow) + -- Need server support for these checks + -- 5% chance to dispel when target receives hostile action + -- 5% chance to dispel when target takes damage + -- 15% chance to dispel when target takes damage +end + +function remove(Caster, Target, Slow) + -- Applies Root on termination. Lasts for 10.0 seconds. + -- Slows target by x amount + SetSpeedMultiplier(Target, Slow) + -- remove after 10 seconds + AddSpellTimer(10000, "RemoveSnare") +end + +function RemoveSnare(Caster, Target, Slow) + -- return speed to normal + SetSpeedMultiplier(Target, 1) +end diff --git a/Spells/Mage/Sorcerer/Wizard/Snow-filledSteps.lua b/Spells/Mage/Sorcerer/Wizard/Snow-filledSteps.lua new file mode 100644 index 0000000..a805383 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/Snow-filledSteps.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/Snow-filledSteps.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to group members (AE) +-- Grants Fish Vision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/SolarFlare.lua b/Spells/Mage/Sorcerer/Wizard/SolarFlare.lua index d1d72ca..d456eea 100644 --- a/Spells/Mage/Sorcerer/Wizard/SolarFlare.lua +++ b/Spells/Mage/Sorcerer/Wizard/SolarFlare.lua @@ -1,55 +1,15 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Mage/Sorcerer/Wizard/SolarFlare.lua + Script Author : Zcoretri + Script Date : 2013.06.12 09:12:10 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - +function cast(Caster, Target, DmgType, MinDmg, MaxDmg) + if MaxDmg ~= nil and MinDmg < MaxDmg then + SpellDamage(Target, DmgType, math.random(MinDmg, MaxDmg)) + else + SpellDamage(Target, DmgType, MinDmg) + end end diff --git a/Spells/Mage/Sorcerer/Wizard/SolarFlareX.lua b/Spells/Mage/Sorcerer/Wizard/SolarFlareX.lua new file mode 100644 index 0000000..f236185 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/SolarFlareX.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/SolarFlareX.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 771 - 1432 heat damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/StormingTempest.lua b/Spells/Mage/Sorcerer/Wizard/StormingTempest.lua new file mode 100644 index 0000000..a14d458 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/StormingTempest.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/StormingTempest.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Knockdown. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets +-- Inflicts 7 - 8 magic damage on target instantly and every 8 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/StormofLightning.lua b/Spells/Mage/Sorcerer/Wizard/StormofLightning.lua index 977307f..5de1568 100644 --- a/Spells/Mage/Sorcerer/Wizard/StormofLightning.lua +++ b/Spells/Mage/Sorcerer/Wizard/StormofLightning.lua @@ -1,39 +1,27 @@ --[[ - Script Name : dot.lua - Script Purpose : Generic Damage Over Time script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Mage/Sorcerer/Wizard/StormOfLightning.lua + Script Author : Zcoretri + Script Date : 2013.09.12 21:42:48 + Script Purpose : + : --]] -function cast(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - - -- DOT component (instant damage) - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - +function cast(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end end -function tick(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - +function tick(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end end -function remove(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - +function remove(Caster, Target, DoTType, MinVal, MaxVal) + end diff --git a/Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua b/Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua new file mode 100644 index 0000000..721df45 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/SurgeofRo.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell cast this spell will cast Flame Surge on target of spell. Lasts for 3.0 seconds. +-- Inflicts 16 - 20 heat damage on target instantly and every second + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Sorcerer/Wizard/TyrantsPact.lua b/Spells/Mage/Sorcerer/Wizard/TyrantsPact.lua new file mode 100644 index 0000000..6668a4e --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/TyrantsPact.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/TyrantsPact.lua + Script Author : Zcoretri + Script Date : 2013.13.12 19:30:32 + Script Purpose : Increases INT and STR of group members by BonusAmt + : +--]] + +function cast(Caster, Target, BonusAmt) + AddSpellBonus(Target, 4, BonusAmt) -- INT + AddSpellBonus(Target, 0, BonusAmt) -- STR +end + +function remove(Caster, Target, BonusAmt) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Mage/Sorcerer/Wizard/VitalTransfer.lua b/Spells/Mage/Sorcerer/Wizard/VitalTransfer.lua new file mode 100644 index 0000000..19362d9 --- /dev/null +++ b/Spells/Mage/Sorcerer/Wizard/VitalTransfer.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : Spells/Mage/Sorcerer/Wizard/VitalTransfer.lua + Script Author : Zcoretri + Script Date : 2013.13.12 22:04:42 + Script Purpose : + : +--]] + +function cast(Caster, Target, HealType, Amount) + SpellHeal("Power", Amount) +end + diff --git a/Spells/Mage/Summoner/AqueousSoul.lua b/Spells/Mage/Summoner/AqueousSoul.lua new file mode 100644 index 0000000..e306779 --- /dev/null +++ b/Spells/Mage/Summoner/AqueousSoul.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/AqueousSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows target to breathe under water + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/AeryHunter.lua b/Spells/Mage/Summoner/Conjuror/AeryHunter.lua new file mode 100644 index 0000000..ac5bff5 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/AeryHunter.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/AeryHunter.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Antagonize.lua b/Spells/Mage/Summoner/Conjuror/Antagonize.lua new file mode 100644 index 0000000..b7af83f --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Antagonize.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Antagonize.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Antagonize to qualifying pets. +-- Increases Potency of target by 1.8% +-- Increases Attack Speed of target by 16.5 +-- Decreases Defense and Parry of target by 4.9 +-- Increases Crushing, Slashing and Piercing of target by 3.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/AqueousSwarm.lua b/Spells/Mage/Summoner/Conjuror/AqueousSwarm.lua new file mode 100644 index 0000000..aaaf9a4 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/AqueousSwarm.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/AqueousSwarm.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 3 limited pets to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/BlazingAvatar.lua b/Spells/Mage/Summoner/Conjuror/BlazingAvatar.lua new file mode 100644 index 0000000..7df36bb --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/BlazingAvatar.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/BlazingAvatar.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/CallofTheHero.lua b/Spells/Mage/Summoner/Conjuror/CallofTheHero.lua new file mode 100644 index 0000000..08bd3d5 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/CallofTheHero.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/CallofTheHero.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports target to caster +-- This effect cannot be cast during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/CatsEye.lua b/Spells/Mage/Summoner/Conjuror/CatsEye.lua new file mode 100644 index 0000000..edafd01 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/CatsEye.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/CatsEye.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to group members (AE) +-- Grants Sonic Vision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Communion.lua b/Spells/Mage/Summoner/Conjuror/Communion.lua new file mode 100644 index 0000000..032a28b --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Communion.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Communion.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons three powerful planar beings to attack the conjuror's enemies. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ConjurorsPact.lua b/Spells/Mage/Summoner/Conjuror/ConjurorsPact.lua new file mode 100644 index 0000000..4db3b21 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ConjurorsPact.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ConjurorsPact.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/CrystalBlast.lua b/Spells/Mage/Summoner/Conjuror/CrystalBlast.lua index d1d72ca..8a8daa1 100644 --- a/Spells/Mage/Summoner/Conjuror/CrystalBlast.lua +++ b/Spells/Mage/Summoner/Conjuror/CrystalBlast.lua @@ -1,55 +1,18 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Mage/Summoner/Conjuror/CrystalBlast.lua + Script Author : John Adams + Script Date : 2013.11.20 05:11:53 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +function cast(Caster, Target, DmgType, MinVal, MaxVal) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end + -- Inflicts 11 - 15 magic damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end end diff --git a/Spells/Mage/Summoner/Conjuror/CrystalBlastX.lua b/Spells/Mage/Summoner/Conjuror/CrystalBlastX.lua new file mode 100644 index 0000000..efbbeb8 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/CrystalBlastX.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/CrystalBlastX.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 595 - 804 magic damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/DefensiveHaven.lua b/Spells/Mage/Summoner/Conjuror/DefensiveHaven.lua new file mode 100644 index 0000000..f2f5a19 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/DefensiveHaven.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/DefensiveHaven.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Defensive Haven to qualifying pets. +-- Wards target against 13 points of all damage +-- Decreases Attack Speed of target by 25.0 +-- Increases Max Health of target by 9.0% +-- Increases Hate Gain of target by 11.9% +-- Increases Aggression of target by 1.9 +-- On any combat or spell hit this spell will cast Shout on target of attack. +-- Increases Threat to target encounter by 35 - 42 +-- Increases Mitigation of target vs elemental, noxious and arcane damage by 126 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua b/Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua index 3d8b113..995c605 100644 --- a/Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua +++ b/Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua @@ -1,19 +1,10 @@ --[[ - Script Name : Summon Pet (Self) - Script Purpose : Summoning pets for all summoner classes - Script Author : John Adams - Script Date : 2008.12.05 - Script Notes : Pass params from spell_data to determine what pet to cast? Pets not yet implemented + Script Name : Spells/Mage/Summoner/Conjuror/EarthenAvatar.lua + Script Author : John Adams + Script Date : 2013.11.20 05:11:54 + Script Purpose : + : --]] -function cast(Caster, Target) - -- code to cast the spell -end - -function tick(Caster, Target) - -- code to process each call_frequency (tick) set in spell_tiers -end - -function remove(Caster, Target) - -- code to remove the spell -end +-- Info from spell_display_effects (remove from script when done) +-- Summons a pet earthen avatar diff --git a/Spells/Mage/Summoner/Conjuror/Earthquake.lua b/Spells/Mage/Summoner/Conjuror/Earthquake.lua new file mode 100644 index 0000000..4f6cbc8 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Earthquake.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Earthquake.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ElementalAspect.lua b/Spells/Mage/Summoner/Conjuror/ElementalAspect.lua new file mode 100644 index 0000000..7bc49f5 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ElementalAspect.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ElementalAspect.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ElementalMastery.lua b/Spells/Mage/Summoner/Conjuror/ElementalMastery.lua new file mode 100644 index 0000000..07d4691 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ElementalMastery.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ElementalMastery.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell cast this spell has a 12% chance to cast Inferno on target of spell. Lasts for 12.0 seconds. +-- Inflicts 592 - 888 heat damage on target +-- Inflicts 194 - 292 heat damage on target every 3 seconds +-- Applies Inferno. Lasts for 12.0 seconds. +-- Increases Crit Chance of pet by 20.0 +-- Prevents AOE (except when direct) +-- Cannot be modified except by direct means +-- Improves the damage of the Conjuror's pet. +-- Increases the base damage of hostile spells by 10% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ElementalUnity.lua b/Spells/Mage/Summoner/Conjuror/ElementalUnity.lua new file mode 100644 index 0000000..2b88b01 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ElementalUnity.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ElementalUnity.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/EssenceShift.lua b/Spells/Mage/Summoner/Conjuror/EssenceShift.lua new file mode 100644 index 0000000..60516ec --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/EssenceShift.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/EssenceShift.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/FieryAnnihilation.lua b/Spells/Mage/Summoner/Conjuror/FieryAnnihilation.lua new file mode 100644 index 0000000..218f1b6 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/FieryAnnihilation.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/FieryAnnihilation.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 15 heat damage on target +-- Inflicts 3 heat damage on target every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/FieryMagician.lua b/Spells/Mage/Summoner/Conjuror/FieryMagician.lua new file mode 100644 index 0000000..5a8cdd1 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/FieryMagician.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/FieryMagician.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/FireSeed.lua b/Spells/Mage/Summoner/Conjuror/FireSeed.lua new file mode 100644 index 0000000..5168ff4 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/FireSeed.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/FireSeed.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a combat hit this spell has a 20% chance to cast Seed of Fire on target of attack. Lasts for 16.0 seconds. +-- Inflicts 15 - 18 heat damage on target instantly and every 4 seconds +-- On death this spell will cast Blooming Flames on caster. +-- Inflicts 67 - 82 heat damage on target encounter +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Flameshield.lua b/Spells/Mage/Summoner/Conjuror/Flameshield.lua new file mode 100644 index 0000000..72d050e --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Flameshield.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Flameshield.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell will cast Flameshield on target's attacker. +-- Inflicts 10 heat damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/GeoticRune.lua b/Spells/Mage/Summoner/Conjuror/GeoticRune.lua new file mode 100644 index 0000000..81fc41e --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/GeoticRune.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/GeoticRune.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/HealServant.lua b/Spells/Mage/Summoner/Conjuror/HealServant.lua new file mode 100644 index 0000000..7f0a2f7 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/HealServant.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/HealServant.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/MastersIntervention.lua b/Spells/Mage/Summoner/Conjuror/MastersIntervention.lua new file mode 100644 index 0000000..e5c47fb --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/MastersIntervention.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/MastersIntervention.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/NajenasEssenceSummoning.lua b/Spells/Mage/Summoner/Conjuror/NajenasEssenceSummoning.lua new file mode 100644 index 0000000..4ee390f --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/NajenasEssenceSummoning.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/NajenasEssenceSummoning.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summon 1 Shard of Essence (Apprentice) +-- Must not be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Petrify.lua b/Spells/Mage/Summoner/Conjuror/Petrify.lua new file mode 100644 index 0000000..02fcc54 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Petrify.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Petrify.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 118 - 144 magic damage on target +-- Stuns target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/PlaneShift.lua b/Spells/Mage/Summoner/Conjuror/PlaneShift.lua new file mode 100644 index 0000000..01fd16a --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/PlaneShift.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/PlaneShift.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Quicksand.lua b/Spells/Mage/Summoner/Conjuror/Quicksand.lua new file mode 100644 index 0000000..48c4f70 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Quicksand.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Quicksand.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Applies Quicksand on termination. Lasts for 10.0 seconds. +-- Slows target by 27.9% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- 15% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/RoaringFlames.lua b/Spells/Mage/Summoner/Conjuror/RoaringFlames.lua new file mode 100644 index 0000000..087af2f --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/RoaringFlames.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/RoaringFlames.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Sacrifice.lua b/Spells/Mage/Summoner/Conjuror/Sacrifice.lua new file mode 100644 index 0000000..b6351cf --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Sacrifice.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Sacrifice.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ShardofEssence.lua b/Spells/Mage/Summoner/Conjuror/ShardofEssence.lua new file mode 100644 index 0000000..6fde7b1 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ShardofEssence.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ShardofEssence.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/ShatteredEarth.lua b/Spells/Mage/Summoner/Conjuror/ShatteredEarth.lua new file mode 100644 index 0000000..4f4e347 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/ShatteredEarth.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/ShatteredEarth.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 69 - 84 magic damage on target encounter instantly and every second +-- Dazes target encounter +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/Stoneskin.lua b/Spells/Mage/Summoner/Conjuror/Stoneskin.lua new file mode 100644 index 0000000..3cd108b --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/Stoneskin.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/Stoneskin.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Will absorb all damage. This spell will absorb a total of 3 attacks. +-- Applies Settle. +-- Decreases Threat to targets in Area of Effect by 694 +-- Must be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/VehementSkin.lua b/Spells/Mage/Summoner/Conjuror/VehementSkin.lua new file mode 100644 index 0000000..f8bac82 --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/VehementSkin.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/VehementSkin.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Conjuror/WindsofVelious.lua b/Spells/Mage/Summoner/Conjuror/WindsofVelious.lua new file mode 100644 index 0000000..7f4697b --- /dev/null +++ b/Spells/Mage/Summoner/Conjuror/WindsofVelious.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Summoner/Conjuror/WindsofVelious.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Slows target by 75.0% +-- Interrupts target +-- Inflicts 92 - 112 cold damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Invisibility.lua b/Spells/Mage/Summoner/Invisibility.lua new file mode 100644 index 0000000..9e3b187 --- /dev/null +++ b/Spells/Mage/Summoner/Invisibility.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Mage/Summoner/Invisibility.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants invisibility to target +-- Suspends target's movement speed enhancements +-- Grants invisibility to pet +-- Suspends pet's movement speed enhancements +-- Dispelled when target takes damage +-- This effect cancels during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/MinionTranslocation.lua b/Spells/Mage/Summoner/MinionTranslocation.lua new file mode 100644 index 0000000..bff9f29 --- /dev/null +++ b/Spells/Mage/Summoner/MinionTranslocation.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/MinionTranslocation.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Instantly change places with your summoned minion + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/AwakenGrave.lua b/Spells/Mage/Summoner/Necromancer/AwakenGrave.lua new file mode 100644 index 0000000..bc69c6f --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/AwakenGrave.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/AwakenGrave.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/BlightedHorde.lua b/Spells/Mage/Summoner/Necromancer/BlightedHorde.lua new file mode 100644 index 0000000..2b099c3 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/BlightedHorde.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/BlightedHorde.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 3 limited pets to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Bloodcloud.lua b/Spells/Mage/Summoner/Necromancer/Bloodcloud.lua new file mode 100644 index 0000000..b610cc3 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Bloodcloud.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Bloodcloud.lua + Script Author : + Script Date : 2013.12.08 02:12:43 + Script Purpose : + : +--]] + +function cast(Caster, Target, HealVal, DmgType, DmgVal) + -- Heals caster for 75 + SpellHeal("Heal", HealVal, 0, Caster) + + -- Inflicts 184 disease damage on targets in Area of Effect + SpellDamage(Target, DmgType, DmgVal) +end diff --git a/Spells/Mage/Summoner/Necromancer/Bloodcoil.lua b/Spells/Mage/Summoner/Necromancer/Bloodcoil.lua new file mode 100644 index 0000000..46a2308 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Bloodcoil.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Bloodcoil.lua + Script Author : Jabantiz + Script Date : 2013.12.07 10:12:29 + Script Purpose : + : +--]] + +-- Inflicts 5 - 6 disease damage on target instantly and every 4 seconds + +function cast(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end + +function tick(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end diff --git a/Spells/Mage/Summoner/Necromancer/BloodyRitual.lua b/Spells/Mage/Summoner/Necromancer/BloodyRitual.lua new file mode 100644 index 0000000..69f917e --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/BloodyRitual.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/BloodyRitual.lua + Script Author : Jabantiz + Script Date : 2013.12.08 12:12:38 + Script Purpose : + : +--]] + +-- Inflicts 21 magic damage on target instantly and every 4 seconds +-- Increases power of caster by 6 instantly and every 4 seconds + +function cast(Caster, Target, dmgType, dmg, heal) + SpellDamage(Target, dmgType, dmg) + SpellHeal("Heal", heal) +end + +function tick(Caster, Target, dmgType, dmg, heal) + SpellDamage(Target, dmgType, dmg) + SpellHeal("Heal", heal) +end diff --git a/Spells/Mage/Summoner/Necromancer/ChainsofTorment.lua b/Spells/Mage/Summoner/Necromancer/ChainsofTorment.lua new file mode 100644 index 0000000..9131888 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/ChainsofTorment.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/ChainsofTorment.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Applies Chains of Torment on termination. Lasts for 5.0 seconds. +-- Makes target afraid +-- Slows target by 13.9% +-- 30% chance to dispel when target takes damage +-- Resistibility increases against targets higher than level 34. +-- 15% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Consumption.lua b/Spells/Mage/Summoner/Necromancer/Consumption.lua new file mode 100644 index 0000000..0ceb8dd --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Consumption.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Consumption.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/ControlUndead.lua b/Spells/Mage/Summoner/Necromancer/ControlUndead.lua new file mode 100644 index 0000000..2a47869 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/ControlUndead.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/ControlUndead.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Charms target +-- If outside an arena +-- Certain enemies cannot be charmed +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/DarkHeart.lua b/Spells/Mage/Summoner/Necromancer/DarkHeart.lua new file mode 100644 index 0000000..2729b9b --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/DarkHeart.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/DarkHeart.lua + Script Author : + Script Date : 2013.12.08 02:12:28 + Script Purpose : + : +--]] + +function cast(Caster, Target, ItemID) + -- Summon 1 Dark Heart (Apprentice) + if not HasItem(Target, ItemID) then + SummonItem(Target, ItemID) + end +end diff --git a/Spells/Mage/Summoner/Necromancer/DeathlyPallor.lua b/Spells/Mage/Summoner/Necromancer/DeathlyPallor.lua new file mode 100644 index 0000000..fd5e919 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/DeathlyPallor.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/DeathlyPallor.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Feigns Death with 100% chance of success + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/DoomingDarkness.lua b/Spells/Mage/Summoner/Necromancer/DoomingDarkness.lua new file mode 100644 index 0000000..0ef2212 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/DoomingDarkness.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/DoomingDarkness.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 15 - 19 disease damage on target every 4 seconds +-- Applies Dooming Darkness. Lasts for 24.0 seconds. +-- Slows target by 30.8% +-- Applies Snare on termination. Lasts for 24.0 seconds. +-- Slows target by 30.8% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Interrupts target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Fear.lua b/Spells/Mage/Summoner/Necromancer/Fear.lua new file mode 100644 index 0000000..fca97fb --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Fear.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Fear.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes target afraid +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/FeastingSoul.lua b/Spells/Mage/Summoner/Necromancer/FeastingSoul.lua new file mode 100644 index 0000000..467d32c --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/FeastingSoul.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/FeastingSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 166 disease damage on target instantly and every 4 seconds +-- Heals caster for 82 instantly and every 4 seconds +-- Increases power of caster by 41 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/FlayersSoul.lua b/Spells/Mage/Summoner/Necromancer/FlayersSoul.lua new file mode 100644 index 0000000..95e91e1 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/FlayersSoul.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/FlayersSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Max Power of target by 12.0% +-- Increases Crushing, Ordination, Ranged, Disruption, Subjugation, Piercing and Slashing of target by 18.7 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/GraspingBones.lua b/Spells/Mage/Summoner/Necromancer/GraspingBones.lua new file mode 100644 index 0000000..252493c --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/GraspingBones.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/GraspingBones.lua + Script Author : + Script Date : 2013.12.08 02:12:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- Stuns target + -- Does not affect Epic targets + if not IsEpic(Target) then + AddControlEffect(Target, 4) + end +end + +function remove(Caster, Target) + RemoveControlEffect(Target, 4) +end diff --git a/Spells/Mage/Summoner/Necromancer/GrimSorcerer.lua b/Spells/Mage/Summoner/Necromancer/GrimSorcerer.lua new file mode 100644 index 0000000..296b3fa --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/GrimSorcerer.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/GrimSorcerer.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/GrislyProtection.lua b/Spells/Mage/Summoner/Necromancer/GrislyProtection.lua new file mode 100644 index 0000000..61dd256 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/GrislyProtection.lua @@ -0,0 +1,59 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/GrislyProtection.lua + Script Author : Jabantiz + Script Date : 2013.12.08 12:12:05 + Script Purpose : + : +--]] + +function cast(Caster, Target, agg, procDmgType, procDmg, procHeal, atkSpeed, maxHP, hateGain, spellMit, procHateMin, procHateMax) + -- Increases Aggression of target by 1.9 + AddSkillBonus(Target, GetSkillByName("Aggression"), agg) + + -- Decreases Attack Speed of target by 25.0 + AddSpellBonus(Target, 617, atkSpeed) + + -- Increases Max Health of target by 9.0% + AddSpellBonus(Target, 607, maxHP) + + -- Increases Hate Gain of target by 11.9% + AddSpellBonus(Target, 624, hateGain) + + -- Increases Mitigation of target vs elemental and noxious damage by 126 + -- Increases Mitigation of target vs arcane damage by 126 + AddSpellBonus(Target, 201, spellMit) + AddSpellBonus(Target, 202, spellMit) + AddSpellBonus(Target, 203, spellMit) + + AddProc(Target, 1, 100) + AddProc(Target, 2, 100) + +end + +function proc(Caster, Target, Type, agg, procDmgType, procDmg, procHeal, atkSpeed, maxHP, hateGain, spellMit, procHateMin, procHateMax) + if Type == 1 then + -- 1 = offensive + + -- On any combat or spell hit this spell will cast Shout on target of attack. + -- Increases Threat to target encounter by 35 - 42 + if procHateMax ~= nil and procHateMin < procHateMax then + AddHate(Target, math.random(procHateMin, procHateMax)) + else + AddHate(Target, procHateMin) + end + elseif Type == 2 then + -- 2 = defensive + + -- When damaged this spell will cast Grisly Feedback on target's attacker. + -- Inflicts 7 disease damage on target + -- Heals caster for 3 + ProcDamage(Caster, Target, "Grisly Feedback", procDmgType, procDmg) + SpellHeal("Heal", procHeal, 0, Caster) + end +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) + RemoveProc(Target) +end diff --git a/Spells/Mage/Summoner/Necromancer/HowloftheDamned.lua b/Spells/Mage/Summoner/Necromancer/HowloftheDamned.lua new file mode 100644 index 0000000..7827311 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/HowloftheDamned.lua @@ -0,0 +1,37 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/HowloftheDamned.lua + Script Author : Jabantiz + Script Date : 2013.12.07 11:12:43 + Script Purpose : + : +--]] + +function cast(Caster, Target, atkSpeed, defPenalty, focusBonus, procDmgType, procDmg, procHeal, castSkills) + -- Increases Attack Speed of target by 16.5 + AddSpellBonus(Target, 617, atkSpeed) + + -- Decreases Defense and Parry of target by 4.9 + AddSkillBonus(Target, GetSkillIDByName("Defense"), defPenalty) + AddSkillBonus(Target, GetSkillIDByName("Parry"), defPenalty) + + -- Increases Focus of target by 4.5 + AddSkillBonus(Target, GetSkillIDByName("Focus"), focusBonus) + + -- Increases Subjugation and Disruption of target by 4.5 + AddSkillBonus(Target, GetSkillIDByName("Subjugation"), castSkills) + AddSkillBonus(Target, GetSkillIDByName("Disruption"), castSkills) +end + +function proc(Caster, Target, Type, atkSpeed, defPenalty, focusBonus, procDmgType, procDmg, procHeal, castSkills) + -- On any combat or spell hit this spell may cast Clawing of the Soul on target of attack. Triggers about 2.0 times per minute. + -- Inflicts 49 disease damage on target + ProcDamage(Caster, Target, "Clawing of the Soul", procDmgType, procDmg) + + -- Heals caster for 10 + SpellHeal("Heal", procHeal) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Mage/Summoner/Necromancer/Lich.lua b/Spells/Mage/Summoner/Necromancer/Lich.lua new file mode 100644 index 0000000..2bcb768 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Lich.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Lich.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Lifetap.lua b/Spells/Mage/Summoner/Necromancer/Lifetap.lua new file mode 100644 index 0000000..5d86457 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Lifetap.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Lifetap.lua + Script Author : + Script Date : 2013.12.08 04:12:26 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, Dmg, Heal) + -- Inflicts 242 disease damage on target + SpellDamage(Target, DmgType, Dmg) + + -- Heals caster for 99 + SpellHeal("Heal", Heal) +end diff --git a/Spells/Mage/Summoner/Necromancer/MiragulsDarkHeartSummoning.lua b/Spells/Mage/Summoner/Necromancer/MiragulsDarkHeartSummoning.lua new file mode 100644 index 0000000..ea16110 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/MiragulsDarkHeartSummoning.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/MiragulsDarkHeartSummoning.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summon 1 Dark Heart (Apprentice) +-- Must not be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/MortalityMark.lua b/Spells/Mage/Summoner/Necromancer/MortalityMark.lua new file mode 100644 index 0000000..a0ff0f7 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/MortalityMark.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/MortalityMark.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases WIS of target by 17.5 +-- Increases WIS and STA of caster by 17.5 +-- Decreases Max Health of target by 0.9% +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 135 +-- Only affects targets level 17 and above + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/NecromanticPact.lua b/Spells/Mage/Summoner/Necromancer/NecromanticPact.lua new file mode 100644 index 0000000..03f287b --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/NecromanticPact.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/NecromanticPact.lua + Script Author : Jabantiz + Script Date : 2013.12.08 01:12:35 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Applies Necromantic Pact to qualifying pets. +-- When damaged this spell has a 25% chance to cast Exposed Noxious on target's attacker. Lasts for 20.0 seconds. +-- Decreases Mitigation of target vs noxious damage by 141 +-- On any combat or spell hit this spell may cast Exposed Noxious on target of attack. Lasts for 20.0 seconds. Triggers about 5.0 times per minute. +-- Decreases Mitigation of target vs noxious damage by 141 + +function cast(Caster, Target) + AddProc(Target, 1, 25) + AddProc(Target, 2, 25) +end + +function proc(Caster, Target, Type, mitValue) + if type == 1 or Type == 2 then + AddSpellBonus(Target, 202, mitValue) + AddSpellTimer(20000, "RemoveDebuff") + end +end + +function RemoveDebuff(Caster, Target) + RemoveSpellBonus(Target) +end + +function remove(Caster, Target) + RemoveProc(Target) +end diff --git a/Spells/Mage/Summoner/Necromancer/NecroticReconstruction.lua b/Spells/Mage/Summoner/Necromancer/NecroticReconstruction.lua new file mode 100644 index 0000000..9cca3d0 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/NecroticReconstruction.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/NecroticReconstruction.lua + Script Author : Jabantiz + Script Date : 2013.12.07 09:12:29 + Script Purpose : + : +--]] + +function cast(Caster, Target, healVal, tickHealVal, dispelLevels) + -- Heals target for 9 + SpellHeal("Heal", healVal) + + -- Dispels 6 levels of any hostile effects on target + Say(Caster, "Not Implemented: Dispel hostile effects") +end + +function tick(Caster, Target, healVal, tickHealVal, dispelLevels) + -- Heals target for 1 every second + SpellHeal("Heal", tickHealVal) +end diff --git a/Spells/Mage/Summoner/Necromancer/Nightshade.lua b/Spells/Mage/Summoner/Necromancer/Nightshade.lua new file mode 100644 index 0000000..ba2114e --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Nightshade.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Nightshade.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Pandemic.lua b/Spells/Mage/Summoner/Necromancer/Pandemic.lua new file mode 100644 index 0000000..b4d4113 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Pandemic.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Pandemic.lua + Script Author : Jabantiz + Script Date : 2013.12.07 10:12:04 + Script Purpose : + : +--]] + +-- Inflicts 3 - 4 disease damage on target encounter instantly and every 3 seconds + +function cast(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end + +function tick(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end diff --git a/Spells/Mage/Summoner/Necromancer/PestilentSoul.lua b/Spells/Mage/Summoner/Necromancer/PestilentSoul.lua new file mode 100644 index 0000000..124a3d8 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/PestilentSoul.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/PestilentSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 829 disease damage on targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Rending.lua b/Spells/Mage/Summoner/Necromancer/Rending.lua new file mode 100644 index 0000000..b39e572 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Rending.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Rending.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Rending to qualifying pets. +-- On any combat or spell hit this spell may cast Berserk on caster. Lasts for 10.0 seconds. Triggers about 4.0 times per minute. +-- Increases Damage Per Second of target by 12.6 +-- Increases Attack Speed of target by 12.6 +-- When damaged this spell has a 50% chance to cast Berserk on caster. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 12.6 +-- Increases Attack Speed of target by 12.6 +-- On a kill this spell will cast Berserk on caster. Lasts for 10.0 seconds. +-- Increases Damage Per Second of target by 12.6 +-- Increases Attack Speed of target by 12.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Revivication.lua b/Spells/Mage/Summoner/Necromancer/Revivication.lua new file mode 100644 index 0000000..59e9a3c --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Revivication.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Revivication.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/SecretsofVazaelle.lua b/Spells/Mage/Summoner/Necromancer/SecretsofVazaelle.lua new file mode 100644 index 0000000..8db7547 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/SecretsofVazaelle.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/SecretsofVazaelle.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell cast this spell has a 12% chance to cast Poisonous Blast on target of spell. Lasts for 12.0 seconds. +-- Inflicts 786 - 1179 poison damage on target +-- Inflicts 194 - 292 poison damage on target every 3 seconds +-- Applies Poisonous Blast. Lasts for 12.0 seconds. +-- Increases Crit Chance of pet by 20.0 +-- Prevents AOE (except when direct) +-- Cannot be modified except by direct means +-- Improves the damage of the Necromancer's pet. +-- Damage over time spells increase damage with each tick. Damage ceases to increase after 5 ticks. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/ServileSoul.lua b/Spells/Mage/Summoner/Necromancer/ServileSoul.lua new file mode 100644 index 0000000..b66f7f1 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/ServileSoul.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/ServileSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/SiphoningofSouls.lua b/Spells/Mage/Summoner/Necromancer/SiphoningofSouls.lua new file mode 100644 index 0000000..0e74991 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/SiphoningofSouls.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/SiphoningofSouls.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases INT of target by 36.5 +-- When the target of this spell dies, the necromancer draws a random soul spell from the enemy. The soul spell can be used three times. +-- Decreases STR of target by 36.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/SoothingSoul.lua b/Spells/Mage/Summoner/Necromancer/SoothingSoul.lua new file mode 100644 index 0000000..d96b8a3 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/SoothingSoul.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/SoothingSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals target for 99 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Soulrot.lua b/Spells/Mage/Summoner/Necromancer/Soulrot.lua index 977307f..fbde043 100644 --- a/Spells/Mage/Summoner/Necromancer/Soulrot.lua +++ b/Spells/Mage/Summoner/Necromancer/Soulrot.lua @@ -1,39 +1,24 @@ --[[ - Script Name : dot.lua - Script Purpose : Generic Damage Over Time script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Mage/Summoner/Necromancer/Soulrot.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:58 + Script Purpose : + : --]] -function cast(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - - -- DOT component (instant damage) - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - +-- Inflicts 2 - 3 disease damage on target instantly and every second +function cast(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end end -function tick(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end - -end - -function remove(Caster, Target, DOTType, MinDOTVal, MaxDOTVal) - +function tick(Caster, Target, DoTType, MinVal, MaxVal) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end end diff --git a/Spells/Mage/Summoner/Necromancer/SoulrotX.lua b/Spells/Mage/Summoner/Necromancer/SoulrotX.lua new file mode 100644 index 0000000..25bc0da --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/SoulrotX.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/SoulrotX.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 125 - 169 disease damage on target instantly and every second + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/TeachingsoftheUnderworld.lua b/Spells/Mage/Summoner/Necromancer/TeachingsoftheUnderworld.lua new file mode 100644 index 0000000..25d2809 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/TeachingsoftheUnderworld.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/TeachingsoftheUnderworld.lua + Script Author : Jabantiz + Script Date : 2013.12.08 12:12:12 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Increases STA and INT of group members (AE) by 9.4 + +function cast(Caster, Target, BonusAmt) + AddSpellBonus(Target, 1, BonusAmt) + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Mage/Summoner/Necromancer/TransferLife.lua b/Spells/Mage/Summoner/Necromancer/TransferLife.lua new file mode 100644 index 0000000..feb1c74 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/TransferLife.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/TransferLife.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals target for 354 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/UndeadHorde.lua b/Spells/Mage/Summoner/Necromancer/UndeadHorde.lua new file mode 100644 index 0000000..4eb879e --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/UndeadHorde.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/UndeadHorde.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 5 limited pets to aid the caster +-- Summons 7 limited pets to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/UndeadKnight.lua b/Spells/Mage/Summoner/Necromancer/UndeadKnight.lua index 3d8b113..9ed325b 100644 --- a/Spells/Mage/Summoner/Necromancer/UndeadKnight.lua +++ b/Spells/Mage/Summoner/Necromancer/UndeadKnight.lua @@ -1,19 +1,10 @@ --[[ - Script Name : Summon Pet (Self) - Script Purpose : Summoning pets for all summoner classes - Script Author : John Adams - Script Date : 2008.12.05 - Script Notes : Pass params from spell_data to determine what pet to cast? Pets not yet implemented + Script Name : Spells/Mage/Summoner/Necromancer/UndeadKnight.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:25 + Script Purpose : + : --]] -function cast(Caster, Target) - -- code to cast the spell -end - -function tick(Caster, Target) - -- code to process each call_frequency (tick) set in spell_tiers -end - -function remove(Caster, Target) - -- code to remove the spell -end +-- Info from spell_display_effects (remove from script when done) +-- Summons a pet undead knight diff --git a/Spells/Mage/Summoner/Necromancer/UnholyCovenant.lua b/Spells/Mage/Summoner/Necromancer/UnholyCovenant.lua new file mode 100644 index 0000000..cdf4cf7 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/UnholyCovenant.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/UnholyCovenant.lua + Script Author : Jabantiz + Script Date : 2013.12.07 10:12:59 + Script Purpose : + : +--]] + +function cast(Caster, Target, powerBonus, mitBonus) + -- Increases Max Power of group members (AE) by 20.8 + AddSpellBonus(Target, 501, powerBonus) + + -- Increases Mitigation of group members (AE) vs noxious damage by 79 + AddSpellBonus(Target, 202, mitBonus) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Mage/Summoner/Necromancer/UnlivingEyes.lua b/Spells/Mage/Summoner/Necromancer/UnlivingEyes.lua new file mode 100644 index 0000000..be292cd --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/UnlivingEyes.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/UnlivingEyes.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants See Invisibility to group members (AE) +-- Grants Ultravision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/UnstoppableSoul.lua b/Spells/Mage/Summoner/Necromancer/UnstoppableSoul.lua new file mode 100644 index 0000000..1eca99e --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/UnstoppableSoul.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/UnstoppableSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Max Health of target by 12.0% +-- Increases Mitigation of target vs physical damage by 312 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/Necromancer/Vampirism.lua b/Spells/Mage/Summoner/Necromancer/Vampirism.lua new file mode 100644 index 0000000..6e25da4 --- /dev/null +++ b/Spells/Mage/Summoner/Necromancer/Vampirism.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Mage/Summoner/Necromancer/Vampirism.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Mage/Summoner/VampireBats.lua b/Spells/Mage/Summoner/VampireBats.lua new file mode 100644 index 0000000..fcf41bc --- /dev/null +++ b/Spells/Mage/Summoner/VampireBats.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Mage/Summoner/VampireBats.lua + Script Author : Jabantiz + Script Date : 2013.12.08 12:12:29 + Script Purpose : + : +--]] + +function cast(Caster, Target, DoTType, MinVal, MaxVal, bonus) + -- Inflicts 14 - 22 piercing damage on target instantly and every 4 seconds + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end + + -- Decreases Defense of target by 2.7 + AddSkillBonus(Target, GetSkillByName("Defense"), bonus) +end + +function tick(Caster, Target, DoTType, MinVal, MaxVal) + -- Inflicts 14 - 22 piercing damage on target instantly and every 4 seconds + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DoTType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DoTType, MinVal) + end +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Priest/Cleric/DivineAwakening.lua b/Spells/Priest/Cleric/DivineAwakening.lua new file mode 100644 index 0000000..714f99f --- /dev/null +++ b/Spells/Priest/Cleric/DivineAwakening.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/DivineAwakening.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summon 1 Divine Essence +-- This effect cannot be cast during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Absolution.lua b/Spells/Priest/Cleric/Inquisitor/Absolution.lua new file mode 100644 index 0000000..95d6bab --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Absolution.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Absolution.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Has a 50% chance to cast an additional heal 0.5 seconds after Alleviation, Fanatical Healing or Ministration is cast. +-- On a combat hit this spell may cast Penitent Smite on target of attack. Lasts for 12.0 seconds. Triggers about 1.8 times per minute. +-- Makes group members (AE) immune to Daze and Stifle effects +-- Inflicts 652 - 978 divine damage on target +-- Cannot be modified except by direct means +-- Improves the casting and reuse speed of heals by 15% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/ActofWar.lua b/Spells/Priest/Cleric/Inquisitor/ActofWar.lua new file mode 100644 index 0000000..d38d9d8 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/ActofWar.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/ActofWar.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Alleviation.lua b/Spells/Priest/Cleric/Inquisitor/Alleviation.lua new file mode 100644 index 0000000..52e9eac --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Alleviation.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Alleviation.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals group members (AE) for 107 - 131 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/CleansingoftheSoul.lua b/Spells/Priest/Cleric/Inquisitor/CleansingoftheSoul.lua new file mode 100644 index 0000000..29dc86a --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/CleansingoftheSoul.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/CleansingoftheSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 176 levels of physical, elemental, noxious, arcane hostile effects on group members (AE) +-- Casts Penitent Cleansing for each successful Dispel. +-- Heals target for 714 - 1071 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/ConversionoftheSoul.lua b/Spells/Priest/Cleric/Inquisitor/ConversionoftheSoul.lua new file mode 100644 index 0000000..c83ba05 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/ConversionoftheSoul.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/ConversionoftheSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Conversion of the Soul on termination. +-- Increases power of target by 30.0% +-- This effect cannot be critically applied. +-- Heals target for 50.0% of max health +-- This effect cannot be critically applied. +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Disorientation.lua b/Spells/Priest/Cleric/Inquisitor/Disorientation.lua new file mode 100644 index 0000000..56af751 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Disorientation.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Disorientation.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Dogma.lua b/Spells/Priest/Cleric/Inquisitor/Dogma.lua new file mode 100644 index 0000000..8e20bc5 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Dogma.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Dogma.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/EvidenceofFaith.lua b/Spells/Priest/Cleric/Inquisitor/EvidenceofFaith.lua new file mode 100644 index 0000000..199b6ca --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/EvidenceofFaith.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/EvidenceofFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Vengeful Faith on target, which can be triggered up to 9 times across all targets. +-- Heals target for 195 - 238 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Fanaticism.lua b/Spells/Priest/Cleric/Inquisitor/Fanaticism.lua new file mode 100644 index 0000000..8e43f72 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Fanaticism.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Fanaticism.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/FanaticsFaith.lua b/Spells/Priest/Cleric/Inquisitor/FanaticsFaith.lua new file mode 100644 index 0000000..31b8bbe --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/FanaticsFaith.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/FanaticsFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/FerventFaith.lua b/Spells/Priest/Cleric/Inquisitor/FerventFaith.lua new file mode 100644 index 0000000..6361f85 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/FerventFaith.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/FerventFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/ForcedObedience.lua b/Spells/Priest/Cleric/Inquisitor/ForcedObedience.lua new file mode 100644 index 0000000..6f87016 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/ForcedObedience.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/ForcedObedience.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Ranged, Slashing, Crushing and Piercing of target encounter by 4.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Heresy.lua b/Spells/Priest/Cleric/Inquisitor/Heresy.lua new file mode 100644 index 0000000..541e795 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Heresy.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Heresy.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a spell cast this spell will cast Heretical Strike on target. +-- Applies Knockdown. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets +-- Inflicts 311 - 518 divine damage on target +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/HereticsDoom.lua b/Spells/Priest/Cleric/Inquisitor/HereticsDoom.lua new file mode 100644 index 0000000..db2d1d0 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/HereticsDoom.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/HereticsDoom.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 189 - 230 heat damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Incarcerate.lua b/Spells/Priest/Cleric/Inquisitor/Incarcerate.lua new file mode 100644 index 0000000..c2fd284 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Incarcerate.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Incarcerate.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Stifles target +-- If Target is not Epic +-- 20% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Inquest.lua b/Spells/Priest/Cleric/Inquisitor/Inquest.lua new file mode 100644 index 0000000..c7d255d --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Inquest.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Inquest.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Inquisition.lua b/Spells/Priest/Cleric/Inquisitor/Inquisition.lua new file mode 100644 index 0000000..dcc88d7 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Inquisition.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Inquisition.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Invocation.lua b/Spells/Priest/Cleric/Inquisitor/Invocation.lua index 9589a5e..282efd9 100644 --- a/Spells/Priest/Cleric/Inquisitor/Invocation.lua +++ b/Spells/Priest/Cleric/Inquisitor/Invocation.lua @@ -1,12 +1,12 @@ --[[ - Script Name : Invocation.lua + Script Name : Spells/Priest/Cleric/Inquisitor/Invocation.lua + Script Author : JohnAdams + Script Date : 2013.11.17 05:11:19 Script Purpose : Inquisitor Direct Damage spell + interrupt - Script Author : Zcoretri - Script Date : 23.May.2010 - Script Notes : --]] -function cast(Caster, Target, DmgType, MinDmg, MaxDmg, Chance) +function cast(Caster, Target, DmgType, MinDmg, MaxDmg) + -- DD component if MaxDmg ~= nil and MinDmg < MaxDmg then SpellDamage(Target, DmgType, math.random(MinDmg, MaxDmg)) @@ -14,8 +14,9 @@ function cast(Caster, Target, DmgType, MinDmg, MaxDmg, Chance) SpellDamage(Target, DmgType, MinDmg) end - PctChance = math.random(1, 100) - if PctChance >= Chance then - -- Interrupt(Target) + -- Interrupt component + if target ~= nil then + Interrupt(Caster, Target) end + end \ No newline at end of file diff --git a/Spells/Priest/Cleric/Inquisitor/Litany.lua b/Spells/Priest/Cleric/Inquisitor/Litany.lua new file mode 100644 index 0000000..ff34be2 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Litany.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Litany.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Inflicts 160 - 195 divine damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/MalevolentDiatribe.lua b/Spells/Priest/Cleric/Inquisitor/MalevolentDiatribe.lua new file mode 100644 index 0000000..95cf51a --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/MalevolentDiatribe.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/MalevolentDiatribe.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Ministration.lua b/Spells/Priest/Cleric/Inquisitor/Ministration.lua index 28f9080..25eeeaf 100644 --- a/Spells/Priest/Cleric/Inquisitor/Ministration.lua +++ b/Spells/Priest/Cleric/Inquisitor/Ministration.lua @@ -8,7 +8,10 @@ function cast(Caster, Target, MinHeal, MaxHeal) - healAmount = math.random(MinHeal, MaxHeal) - ModifyHP(Caster, healAmount) + if MaxHeal ~= nil and MinHeal < MaxHeal then + healAmount = math.random(MinHeal, MaxHeal) + ModifyHP(Target, healAmount) + end end + diff --git a/Spells/Priest/Cleric/Inquisitor/MinistrationX.lua b/Spells/Priest/Cleric/Inquisitor/MinistrationX.lua new file mode 100644 index 0000000..e62553a --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/MinistrationX.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/MinistrationX.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Penance.lua b/Spells/Priest/Cleric/Inquisitor/Penance.lua new file mode 100644 index 0000000..33a7610 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Penance.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Penance.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Vengeful Faith on target. +-- Heals target for 38 - 46 +-- Grants a total of 5 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/PurifyingFlames.lua b/Spells/Priest/Cleric/Inquisitor/PurifyingFlames.lua new file mode 100644 index 0000000..3e161ee --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/PurifyingFlames.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/PurifyingFlames.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 57 - 70 heat damage on target instantly and every 4 seconds +-- Decreases Mitigation of target vs arcane damage by 207 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Redemption.lua b/Spells/Priest/Cleric/Inquisitor/Redemption.lua new file mode 100644 index 0000000..99d52f3 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Redemption.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Redemption.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/ReformingSoul.lua b/Spells/Priest/Cleric/Inquisitor/ReformingSoul.lua new file mode 100644 index 0000000..07cf8b4 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/ReformingSoul.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/ReformingSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Reforming Soul on termination. Lasts for 1 minute. +-- Increases Mitigation of target vs noxious and arcane damage by 220 +-- Heals target for 27.6% of max health +-- Increases Mitigation of target vs elemental damage by 220 +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Repentance.lua b/Spells/Priest/Cleric/Inquisitor/Repentance.lua new file mode 100644 index 0000000..c2dcc69 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Repentance.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Repentance.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell will cast Repenting Strike on caster. Lasts for 2.5 seconds. +-- Inflicts 88 - 147 divine damage on target +-- Stuns target +-- If Target is not Epic +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/ResoluteFlagellant.lua b/Spells/Priest/Cleric/Inquisitor/ResoluteFlagellant.lua new file mode 100644 index 0000000..b231a80 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/ResoluteFlagellant.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/ResoluteFlagellant.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Resurgence.lua b/Spells/Priest/Cleric/Inquisitor/Resurgence.lua new file mode 100644 index 0000000..4384472 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Resurgence.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Resurgence.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- Resurrects target with 15% health and power +-- Applies Reforming Soul on termination. Lasts for 1 minute. +-- Increases Mitigation of target vs noxious and arcane damage by 360 +-- Heals target for 27.6% of max health +-- Increases Mitigation of target vs elemental damage by 360 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Swill.lua b/Spells/Priest/Cleric/Inquisitor/Swill.lua new file mode 100644 index 0000000..90d17de --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Swill.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Swill.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to breathe under water +-- Increases Swimming of group members (AE) by 62.1 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/TormentingConversion.lua b/Spells/Priest/Cleric/Inquisitor/TormentingConversion.lua new file mode 100644 index 0000000..25b5656 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/TormentingConversion.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/TormentingConversion.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes target afraid +-- Applies Traumatization on termination. Lasts for 8.8 seconds. +-- Decreases Threat to target by 759 instantly and Decreases Threat by 801 every 1.8 seconds thereafter +-- Mesmerizes target +-- Dispelled when target takes damage +-- Epic targets gain an immunity to Mesmerize effects of 26.3 seconds and duration is reduced to 2.9 seconds. +-- Resistibility increases against targets higher than level 76. +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Vengeance.lua b/Spells/Priest/Cleric/Inquisitor/Vengeance.lua new file mode 100644 index 0000000..eb34904 --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Vengeance.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Vengeance.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell will cast Vengeance on caster. +-- Inflicts 93 divine damage on target +-- Grants a total of 5 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Inquisitor/Verdict.lua b/Spells/Priest/Cleric/Inquisitor/Verdict.lua new file mode 100644 index 0000000..6210e7f --- /dev/null +++ b/Spells/Priest/Cleric/Inquisitor/Verdict.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Spells/Priest/Cleric/Inquisitor/Verdict.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Verdict. +-- Reduces target's health to 1. +-- Certain creature strengths only +-- If under 25% Health +-- Applies Verdict. +-- Reduces target's health to 1. +-- If Target is stronger than Standard +-- If under 10% Health +-- Applies Verdict. +-- Reduces target's health to 1. +-- If Target is Epic +-- If under 2% Health +-- Applies Verdict. +-- Reduces target's health to 1. +-- If Target is Weak +-- If under 50% Health +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Odyssey.lua b/Spells/Priest/Cleric/Odyssey.lua new file mode 100644 index 0000000..4b37f3e --- /dev/null +++ b/Spells/Priest/Cleric/Odyssey.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Cleric/Odyssey.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports target to a zone landmark +-- You must be a citizen to benefit from an odyssey. +-- This effect cannot be cast during combat +-- If not a City Betrayer + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Radiance.lua b/Spells/Priest/Cleric/Radiance.lua new file mode 100644 index 0000000..83be60d --- /dev/null +++ b/Spells/Priest/Cleric/Radiance.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Radiance.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Vitae on target. +-- Heals target for 52 - 64 +-- Grants a total of 5 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/SmiteCorruption.lua b/Spells/Priest/Cleric/SmiteCorruption.lua new file mode 100644 index 0000000..281e264 --- /dev/null +++ b/Spells/Priest/Cleric/SmiteCorruption.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/SmiteCorruption.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 1 - 2 divine damage on target instantly and every 4 seconds +-- Decreases WIS of target by 24.3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Soothe.lua b/Spells/Priest/Cleric/Soothe.lua new file mode 100644 index 0000000..41fca91 --- /dev/null +++ b/Spells/Priest/Cleric/Soothe.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Cleric/Soothe.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces Awareness of Enemies +-- If Target is not Epic +-- Dispelled when target receives hostile action +-- Dispelled when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Awestruck.lua b/Spells/Priest/Cleric/Templar/Awestruck.lua new file mode 100644 index 0000000..4e77964 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Awestruck.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Awestruck.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/BattlesReprieve.lua b/Spells/Priest/Cleric/Templar/BattlesReprieve.lua new file mode 100644 index 0000000..0b0b241 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/BattlesReprieve.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/BattlesReprieve.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Battle's Reprieve on termination. Lasts for 1 minute. +-- Heals target for 27.6% of max health +-- Increases Mitigation of target vs physical damage by 220 +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Beneficence.lua b/Spells/Priest/Cleric/Templar/Beneficence.lua new file mode 100644 index 0000000..8115a2e --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Beneficence.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Beneficence.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Supplicant's Prayer on target, which can be triggered up to 9 times across all targets. +-- Heals target for 195 - 238 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/BlazeofFaith.lua b/Spells/Priest/Cleric/Templar/BlazeofFaith.lua new file mode 100644 index 0000000..97197ca --- /dev/null +++ b/Spells/Priest/Cleric/Templar/BlazeofFaith.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/BlazeofFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 203 divine damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/BlazonLife.lua b/Spells/Priest/Cleric/Templar/BlazonLife.lua new file mode 100644 index 0000000..955fbd5 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/BlazonLife.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/BlazonLife.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Battle's Reprieve on termination. Lasts for 1 minute. +-- Heals target for 27.6% of max health +-- Increases Mitigation of target vs physical damage by 360 +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- Resurrects target with 15% health and power +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/DevotedResolve.lua b/Spells/Priest/Cleric/Templar/DevotedResolve.lua new file mode 100644 index 0000000..51f17e0 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/DevotedResolve.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/DevotedResolve.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/DivineArbitration.lua b/Spells/Priest/Cleric/Templar/DivineArbitration.lua new file mode 100644 index 0000000..567883f --- /dev/null +++ b/Spells/Priest/Cleric/Templar/DivineArbitration.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/DivineArbitration.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/DivineLight.lua b/Spells/Priest/Cleric/Templar/DivineLight.lua new file mode 100644 index 0000000..812287f --- /dev/null +++ b/Spells/Priest/Cleric/Templar/DivineLight.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/DivineLight.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces all damage done to the target by 8%. 50% of the reduced damage is reflected on the attacker. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/DivineSmite.lua b/Spells/Priest/Cleric/Templar/DivineSmite.lua index 86ca516..bd896e4 100644 --- a/Spells/Priest/Cleric/Templar/DivineSmite.lua +++ b/Spells/Priest/Cleric/Templar/DivineSmite.lua @@ -1,13 +1,15 @@ --[[ - Script Name : DivineSmite.lua + Script Name : Spells/Priest/Cleric/Templar/DivineSmite.lua Script Purpose : Templar Direct Damage spell Script Author : Zcoretri Script Date : 2010.2.14 --]] function cast(Caster, Target, DmgType, MinDmg, MaxDmg) + if MaxDmg ~= nil and MinDmg < MaxDmg then dmgAmount = math.random(MinDmg, MaxDmg) SpellDamage(Target, DmgType, dmgAmount) end + end \ No newline at end of file diff --git a/Spells/Priest/Cleric/Templar/FocusedIntervention.lua b/Spells/Priest/Cleric/Templar/FocusedIntervention.lua new file mode 100644 index 0000000..08de322 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/FocusedIntervention.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/FocusedIntervention.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Glory.lua b/Spells/Priest/Cleric/Templar/Glory.lua new file mode 100644 index 0000000..d5d683b --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Glory.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Glory.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Harmony.lua b/Spells/Priest/Cleric/Templar/Harmony.lua new file mode 100644 index 0000000..0ab2028 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Harmony.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Harmony.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/HealingFate.lua b/Spells/Priest/Cleric/Templar/HealingFate.lua new file mode 100644 index 0000000..d3cd3a5 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/HealingFate.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/HealingFate.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When target receives a reduction in health of 20% this spell will cast Fate of Healing on caster. +-- Heals group members (AE) for 169 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/HolyIntercession.lua b/Spells/Priest/Cleric/Templar/HolyIntercession.lua new file mode 100644 index 0000000..3b2a3dd --- /dev/null +++ b/Spells/Priest/Cleric/Templar/HolyIntercession.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/HolyIntercession.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Divine Prayer on target, which can be triggered up to 9 times across all targets. +-- Heals target for 44 - 54 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/HolySalvation.lua b/Spells/Priest/Cleric/Templar/HolySalvation.lua new file mode 100644 index 0000000..643894f --- /dev/null +++ b/Spells/Priest/Cleric/Templar/HolySalvation.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/HolySalvation.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/ImpenetrableFaith.lua b/Spells/Priest/Cleric/Templar/ImpenetrableFaith.lua new file mode 100644 index 0000000..3f9ee48 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/ImpenetrableFaith.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/ImpenetrableFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes Aegolism a group wide spell adding additional haste, defense, parry, deflection and aggression +-- On a beneficial spell cast this spell has a 12% chance to cast Impenetrable Faith on caster. Lasts for 15.0 seconds. +-- Makes caster immune to Stun effects and increases casting speed by 20% +-- Increases the heal amount of Supplicant's Prayer and Divine Prayer by 20% of the templar's wisdom. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/InvoluntaryGift.lua b/Spells/Priest/Cleric/Templar/InvoluntaryGift.lua new file mode 100644 index 0000000..69f450f --- /dev/null +++ b/Spells/Priest/Cleric/Templar/InvoluntaryGift.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/InvoluntaryGift.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell may cast Involuntary Cure on target of attack. Triggers about 4.0 times per minute. +-- Dispels 36 levels of physical hostile effects on target +-- Heals targets in Area of Effect for 68 - 83 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/MarkofDivinity.lua b/Spells/Priest/Cleric/Templar/MarkofDivinity.lua new file mode 100644 index 0000000..7c27649 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/MarkofDivinity.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/MarkofDivinity.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs arcane damage by 168 +-- When damaged with a melee weapon this spell has a 20% chance to cast Mark of Nobility on target's attacker. Lasts for 8.0 seconds. +-- Heals target for 7 instantly and every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Meliorate.lua b/Spells/Priest/Cleric/Templar/Meliorate.lua index 207f6a4..da59ee6 100644 --- a/Spells/Priest/Cleric/Templar/Meliorate.lua +++ b/Spells/Priest/Cleric/Templar/Meliorate.lua @@ -1,5 +1,5 @@ --[[ - Script Name : Meliorate.lua + Script Name : Spells/Priest/Cleric/Templar/Meliorate.lua Script Purpose : Templar small direct heal Script Author : Zcoretri Script Date : 2010.2.14 @@ -8,7 +8,9 @@ function cast(Caster, Target, MinHeal, MaxHeal) - healAmount = math.random(MinHeal, MaxHeal) - ModifyHP(Target, healAmount) + if MaxHeal ~= nil and MinHeal < MaxHeal then + healAmount = math.random(MinHeal, MaxHeal) + ModifyHP(Target, healAmount) + end end diff --git a/Spells/Priest/Cleric/Templar/MeliorateX.lua b/Spells/Priest/Cleric/Templar/MeliorateX.lua new file mode 100644 index 0000000..e78b88c --- /dev/null +++ b/Spells/Priest/Cleric/Templar/MeliorateX.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/MeliorateX.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Repent.lua b/Spells/Priest/Cleric/Templar/Repent.lua new file mode 100644 index 0000000..5905a59 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Repent.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Repent.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards target against 19 points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Resurrect.lua b/Spells/Priest/Cleric/Templar/Resurrect.lua new file mode 100644 index 0000000..72be787 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Resurrect.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Resurrect.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Resurrect on termination. +-- Heals target for 110.5% of max health +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Reverence.lua b/Spells/Priest/Cleric/Templar/Reverence.lua new file mode 100644 index 0000000..90e2281 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Reverence.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Reverence.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- 134% of target's power consumed will be added to target's health +-- Suspends when Windwalk or Sprint is active + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Sanctuary.lua b/Spells/Priest/Cleric/Templar/Sanctuary.lua new file mode 100644 index 0000000..b18b71f --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Sanctuary.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Sanctuary.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/ShieldofFaith.lua b/Spells/Priest/Cleric/Templar/ShieldofFaith.lua new file mode 100644 index 0000000..a7bef2e --- /dev/null +++ b/Spells/Priest/Cleric/Templar/ShieldofFaith.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/ShieldofFaith.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/SymbolofMarzin.lua b/Spells/Priest/Cleric/Templar/SymbolofMarzin.lua new file mode 100644 index 0000000..1074521 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/SymbolofMarzin.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/SymbolofMarzin.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/UnswervingHammer.lua b/Spells/Priest/Cleric/Templar/UnswervingHammer.lua new file mode 100644 index 0000000..bb21337 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/UnswervingHammer.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/UnswervingHammer.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/UnyieldingBenediction.lua b/Spells/Priest/Cleric/Templar/UnyieldingBenediction.lua new file mode 100644 index 0000000..f22a3a6 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/UnyieldingBenediction.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/UnyieldingBenediction.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/Virtue.lua b/Spells/Priest/Cleric/Templar/Virtue.lua new file mode 100644 index 0000000..9c87298 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/Virtue.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/Virtue.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/VitalIntercession.lua b/Spells/Priest/Cleric/Templar/VitalIntercession.lua new file mode 100644 index 0000000..42c8beb --- /dev/null +++ b/Spells/Priest/Cleric/Templar/VitalIntercession.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/VitalIntercession.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Supplicant's Prayer on target. +-- Heals target for 38 - 46 +-- Grants a total of 5 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/WarringDeities.lua b/Spells/Priest/Cleric/Templar/WarringDeities.lua new file mode 100644 index 0000000..85ffed7 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/WarringDeities.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/WarringDeities.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 100 - 123 divine damage on target +-- Inflicts 42 - 51 divine damage on target every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/WateryRespite.lua b/Spells/Priest/Cleric/Templar/WateryRespite.lua new file mode 100644 index 0000000..efa9fc7 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/WateryRespite.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/WateryRespite.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to breathe under water +-- Increases Swimming of group members (AE) by 69.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cleric/Templar/WordofRedemption.lua b/Spells/Priest/Cleric/Templar/WordofRedemption.lua new file mode 100644 index 0000000..3a1cee3 --- /dev/null +++ b/Spells/Priest/Cleric/Templar/WordofRedemption.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Cleric/Templar/WordofRedemption.lua + Script Author : John Adams + Script Date : 2013.08.11 06:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Cure.lua b/Spells/Priest/Cure.lua new file mode 100644 index 0000000..98943bb --- /dev/null +++ b/Spells/Priest/Cure.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Cure.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 10 levels of any hostile effects on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/CureCurse.lua b/Spells/Priest/CureCurse.lua new file mode 100644 index 0000000..765c415 --- /dev/null +++ b/Spells/Priest/CureCurse.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/CureCurse.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 88 levels of curse effects on target +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/DivineProvidence.lua b/Spells/Priest/DivineProvidence.lua new file mode 100644 index 0000000..32da97c --- /dev/null +++ b/Spells/Priest/DivineProvidence.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/DivineProvidence.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Begins a Heroic Opportunity +-- Must be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/CircleofGrowth.lua b/Spells/Priest/Druid/CircleofGrowth.lua new file mode 100644 index 0000000..1bd27bc --- /dev/null +++ b/Spells/Priest/Druid/CircleofGrowth.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/CircleofGrowth.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/FavorofthePhoenix.lua b/Spells/Priest/Druid/FavorofthePhoenix.lua new file mode 100644 index 0000000..ba8e3db --- /dev/null +++ b/Spells/Priest/Druid/FavorofthePhoenix.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/FavorofthePhoenix.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summon 1 Crystallized Phoenix Feather +-- This effect cannot be cast during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Abolishment.lua b/Spells/Priest/Druid/Fury/Abolishment.lua new file mode 100644 index 0000000..d254c33 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Abolishment.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Abolishment.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/ArmorofNature.lua b/Spells/Priest/Druid/Fury/ArmorofNature.lua new file mode 100644 index 0000000..16d12cd --- /dev/null +++ b/Spells/Priest/Druid/Fury/ArmorofNature.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/ArmorofNature.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/AutumnsKiss.lua b/Spells/Priest/Druid/Fury/AutumnsKiss.lua new file mode 100644 index 0000000..07bf94e --- /dev/null +++ b/Spells/Priest/Druid/Fury/AutumnsKiss.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/AutumnsKiss.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals group members (AE) for 44 - 54 instantly and every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/BackintotheFray.lua b/Spells/Priest/Druid/Fury/BackintotheFray.lua new file mode 100644 index 0000000..6d7280e --- /dev/null +++ b/Spells/Priest/Druid/Fury/BackintotheFray.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/BackintotheFray.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/BallLightning.lua b/Spells/Priest/Druid/Fury/BallLightning.lua new file mode 100644 index 0000000..550ee28 --- /dev/null +++ b/Spells/Priest/Druid/Fury/BallLightning.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/BallLightning.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Brambles.lua b/Spells/Priest/Druid/Fury/Brambles.lua new file mode 100644 index 0000000..abd4193 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Brambles.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Brambles.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/CallofStorms.lua b/Spells/Priest/Druid/Fury/CallofStorms.lua new file mode 100644 index 0000000..310c5c7 --- /dev/null +++ b/Spells/Priest/Druid/Fury/CallofStorms.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/CallofStorms.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/CalloftheHunt.lua b/Spells/Priest/Druid/Fury/CalloftheHunt.lua new file mode 100644 index 0000000..18e0509 --- /dev/null +++ b/Spells/Priest/Druid/Fury/CalloftheHunt.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/CalloftheHunt.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Awakening on termination. +-- Heals target for 16.6% of max health +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/DeathSwarm.lua b/Spells/Priest/Druid/Fury/DeathSwarm.lua index 7f21fc6..9e1a58f 100644 --- a/Spells/Priest/Druid/Fury/DeathSwarm.lua +++ b/Spells/Priest/Druid/Fury/DeathSwarm.lua @@ -1,79 +1,39 @@ --[[ - Script Name : dot_debuff.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Priest/Druid/Fury/DeathSwarm.lua + Script Author : John Adams + Script Date : 2013.11.19 07:11:29 + Script Purpose : + : --]] -function cast(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) +function cast(Caster, Target, SkillAmt, DmgType, MinDmgVal, MaxDmgVal) - -- Debuff component - -- Determine if there is a range to effect values - if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then + -- Debuff component + AddSkillBonus(Target, 609880714, SkillAmt) -- Defense - -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? - DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) - - else - - DebuffValue = MinDebuffVal - - end - - -- Determine DebuffType - either a DamageType or a String value passed as param 4 - if DebuffType == "Defense" then - - -- Need functionality to buff/debuff - -- ModifyDefense(Target, -DebuffValue) - - end - - if DebuffType == "Elemental" then - - -- Need functionality to buff/debuff - -- ModifyHeat(Target, -DebuffValue) - -- ModifyCole(Target, -DebuffValue) - - end - - -- DOT component (instant damage) - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else - - SpellDamage(Target, DOTType, MinDOTVal) - - end + -- Damage component + if MaxDmgVal ~= nil and MinDmgVal < MaxDmgVal then + dmgAmount = math.random(MinDmgVal, MaxDmgVal) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmgVal) + end end -function tick(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - if MaxDOTVal ~= nil and MinDOTVal < MaxDOTVal then - - SpellDamage(Target, DOTType, math.random(MinDOTVal, MaxDOTVal)) - - else +function tick(Caster, Target, DefenseAmt, DmgType, MinDmgVal, MaxDmgVal) - SpellDamage(Target, DOTType, MinDOTVal) - - end + -- DoT component + if MaxDmgVal ~= nil and MinDmgVal < MaxDmgVal then + dmgAmount = math.random(MinDmgVal, MaxDmgVal) + SpellDamage(Target, DDType, dmgAmount) + else + SpellDamage(Target, DDType, MinDmgVal) + end end -function remove(Caster, Target, DOTType, MinDOTVal, MaxDOTVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - if DebuffType == "Defense" then - -- Need functionality to restore original mitigations - -- ModifyDefense(Target, Original) - end - - if DebuffType == "Elemental" then - -- Need functionality to restore original mitigations - -- ModifyHeat(Target, Original) - -- ModifyCold(Target, Original) - end - -end +function remove(Caster, Target, DefenseAmt, DmgType, MinDmgVal, MaxDmgVal) + -- Remove debuff when spell expires + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Priest/Druid/Fury/FaeFire.lua b/Spells/Priest/Druid/Fury/FaeFire.lua new file mode 100644 index 0000000..7497b09 --- /dev/null +++ b/Spells/Priest/Druid/Fury/FaeFire.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/FaeFire.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Feast.lua b/Spells/Priest/Druid/Fury/Feast.lua new file mode 100644 index 0000000..00af2d6 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Feast.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Feast.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When target receives a reduction in health of 20% this spell will cast Savage Feast on caster. Lasts for 18.0 seconds. +-- Increases AGI of group members (AE) by 10.0 +-- Reduces the power cost of spells cast by group members by 2.81% +-- Increases INT, WIS and STR of group members (AE) by 10.0 +-- Increases STA of group members (AE) by 20.1 +-- Adds 0.5% to base avoidance. +-- Increases Mitigation of group members (AE) vs elemental, noxious and arcane damage by 26 +-- Heals group members (AE) for 28 - 34 instantly and every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/FeralPulse.lua b/Spells/Priest/Druid/Fury/FeralPulse.lua new file mode 100644 index 0000000..e78e7bc --- /dev/null +++ b/Spells/Priest/Druid/Fury/FeralPulse.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/FeralPulse.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals group members (AE) for 473 - 579 +-- Heals group members (AE) for 195 - 238 every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/FeralTenacity.lua b/Spells/Priest/Druid/Fury/FeralTenacity.lua new file mode 100644 index 0000000..8b81d45 --- /dev/null +++ b/Spells/Priest/Druid/Fury/FeralTenacity.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/FeralTenacity.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/FerocityoftheEel.lua b/Spells/Priest/Druid/Fury/FerocityoftheEel.lua new file mode 100644 index 0000000..ce51444 --- /dev/null +++ b/Spells/Priest/Druid/Fury/FerocityoftheEel.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/FerocityoftheEel.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to breathe under water +-- Grants Fish Vision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/FierceRousing.lua b/Spells/Priest/Druid/Fury/FierceRousing.lua new file mode 100644 index 0000000..e120aea --- /dev/null +++ b/Spells/Priest/Druid/Fury/FierceRousing.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/FierceRousing.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Awakening on termination. +-- Heals target for 16.6% of max health +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/ForestSpirit.lua b/Spells/Priest/Druid/Fury/ForestSpirit.lua new file mode 100644 index 0000000..36c6750 --- /dev/null +++ b/Spells/Priest/Druid/Fury/ForestSpirit.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/ForestSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Hibernation.lua b/Spells/Priest/Druid/Fury/Hibernation.lua new file mode 100644 index 0000000..44795fd --- /dev/null +++ b/Spells/Priest/Druid/Fury/Hibernation.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Hibernation.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Intimidation.lua b/Spells/Priest/Druid/Fury/Intimidation.lua new file mode 100644 index 0000000..13ef1a9 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Intimidation.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Intimidation.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases WIS and AGI of target by 6.4 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/KaranasHold.lua b/Spells/Priest/Druid/Fury/KaranasHold.lua new file mode 100644 index 0000000..4f8f429 --- /dev/null +++ b/Spells/Priest/Druid/Fury/KaranasHold.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/KaranasHold.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- 5% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Lucidity.lua b/Spells/Priest/Druid/Fury/Lucidity.lua new file mode 100644 index 0000000..5b6686a --- /dev/null +++ b/Spells/Priest/Druid/Fury/Lucidity.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Lucidity.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/MaddeningSwarm.lua b/Spells/Priest/Druid/Fury/MaddeningSwarm.lua new file mode 100644 index 0000000..41e7c8f --- /dev/null +++ b/Spells/Priest/Druid/Fury/MaddeningSwarm.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/MaddeningSwarm.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Disruption of target encounter by 15.2 +-- Interrupts target encounter +-- Decreases Aggression, Focus, Subjugation, Ministration and Ordination of target encounter by 15.2 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/MasteroftheHunt.lua b/Spells/Priest/Druid/Fury/MasteroftheHunt.lua new file mode 100644 index 0000000..6bb40de --- /dev/null +++ b/Spells/Priest/Druid/Fury/MasteroftheHunt.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/MasteroftheHunt.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/NaturesElixir.lua b/Spells/Priest/Druid/Fury/NaturesElixir.lua new file mode 100644 index 0000000..025c94a --- /dev/null +++ b/Spells/Priest/Druid/Fury/NaturesElixir.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/NaturesElixir.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/NaturesSalve.lua b/Spells/Priest/Druid/Fury/NaturesSalve.lua index 130b94e..24df07f 100644 --- a/Spells/Priest/Druid/Fury/NaturesSalve.lua +++ b/Spells/Priest/Druid/Fury/NaturesSalve.lua @@ -1,12 +1,11 @@ --[[ - Script Name : Heal (Spell Type) - Script Purpose : Generic script for healing spells + Script Name : Spells/Priest/Druid/Fury/NaturesSalve.lua Script Author : John Adams - Script Date : 2008.12.03 - Script Note : + Script Date : 2013.11.19 + Script Purpose : --]] -function cast(Caster, Target, HealType, HealMinVal, HealMaxVal) +function cast(Caster, Target, HealMinVal, HealMaxVal) -- Heal Component if HealMinVal < HealMaxVal then diff --git a/Spells/Priest/Druid/Fury/NaturesSalveX.lua b/Spells/Priest/Druid/Fury/NaturesSalveX.lua new file mode 100644 index 0000000..1973ee7 --- /dev/null +++ b/Spells/Priest/Druid/Fury/NaturesSalveX.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/NaturesSalveX.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/NaturesWrath.lua b/Spells/Priest/Druid/Fury/NaturesWrath.lua new file mode 100644 index 0000000..d9f12e3 --- /dev/null +++ b/Spells/Priest/Druid/Fury/NaturesWrath.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/NaturesWrath.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Improves the damage of hostile spells by 10% of the fury's wisdom. +-- Improves the fury's heals by 10% of their wisdom. +-- On a hostile spell cast this spell has a 12% chance to cast Nature's Wrath on target of spell. Lasts for 10.0 seconds. +-- On a hit this spell will cast Nature's Soothing on target of attack. +-- Heals target for 379 - 703 +-- Inflicts 622 - 933 heat damage on target +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/PactoftheCheetah.lua b/Spells/Priest/Druid/Fury/PactoftheCheetah.lua new file mode 100644 index 0000000..9e33902 --- /dev/null +++ b/Spells/Priest/Druid/Fury/PactoftheCheetah.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/PactoftheCheetah.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/PeerlessPredator.lua b/Spells/Priest/Druid/Fury/PeerlessPredator.lua new file mode 100644 index 0000000..cbdef22 --- /dev/null +++ b/Spells/Priest/Druid/Fury/PeerlessPredator.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/PeerlessPredator.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Shapechanges caster into a lion +-- Increases STA of caster by 21.6 +-- Adds 2.1% to base avoidance. +-- Grants See Stealth to caster +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 342 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Porcupine.lua b/Spells/Priest/Druid/Fury/Porcupine.lua new file mode 100644 index 0000000..dee65c9 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Porcupine.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Porcupine.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When any damage is received this spell will cast Porcupine Quills on target's attacker, which can be triggered up to 50 times across all targets. +-- Inflicts 118 divine damage on target +-- Increases Mitigation of raid and group members (AE) vs all damage by 900 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/PrimalFury.lua b/Spells/Priest/Druid/Fury/PrimalFury.lua new file mode 100644 index 0000000..e997a7c --- /dev/null +++ b/Spells/Priest/Druid/Fury/PrimalFury.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/PrimalFury.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/PrimevalAwakening.lua b/Spells/Priest/Druid/Fury/PrimevalAwakening.lua new file mode 100644 index 0000000..06995ad --- /dev/null +++ b/Spells/Priest/Druid/Fury/PrimevalAwakening.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/PrimevalAwakening.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Primeval Awakening on termination. Lasts for 1 minute. +-- Increases Focus of target by 30.0 +-- Heals target for 30.0% of max health +-- This effect cannot be critically applied. +-- Increases power of target by 1.0% instantly and every 6 seconds +-- This effect cannot be critically applied. +-- Increases INT of target by 78.0 +-- Increases Disruption of target by 30.0 +-- Shapechanges target into a treant +-- Increases Subjugation of target by 30.0 +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 145.0 +-- Decreases Lethality of target by 145.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Regrowth.lua b/Spells/Priest/Druid/Fury/Regrowth.lua new file mode 100644 index 0000000..1efb20d --- /dev/null +++ b/Spells/Priest/Druid/Fury/Regrowth.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Regrowth.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals target for 38 - 46 instantly and every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/RingofFire.lua b/Spells/Priest/Druid/Fury/RingofFire.lua new file mode 100644 index 0000000..fe90536 --- /dev/null +++ b/Spells/Priest/Druid/Fury/RingofFire.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/RingofFire.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Starnova.lua b/Spells/Priest/Druid/Fury/Starnova.lua new file mode 100644 index 0000000..c9e0433 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Starnova.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Starnova.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 548 - 669 heat damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Tempest.lua b/Spells/Priest/Druid/Fury/Tempest.lua new file mode 100644 index 0000000..576dd74 --- /dev/null +++ b/Spells/Priest/Druid/Fury/Tempest.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Tempest.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 7 - 8 cold damage on target instantly and every 2 seconds +-- Inflicts 7 - 8 cold damage on target instantly and every 2 seconds +-- If target is elemental + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Thornskin.lua b/Spells/Priest/Druid/Fury/Thornskin.lua new file mode 100644 index 0000000..0f677cd --- /dev/null +++ b/Spells/Priest/Druid/Fury/Thornskin.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Thornskin.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell will cast Thornstorm on target's attacker. +-- Inflicts 1 piercing damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/Thunderbolt.lua b/Spells/Priest/Druid/Fury/Thunderbolt.lua new file mode 100644 index 0000000..8eeb78c --- /dev/null +++ b/Spells/Priest/Druid/Fury/Thunderbolt.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/Thunderbolt.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 335 - 558 magic damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/UntamedRegeneration.lua b/Spells/Priest/Druid/Fury/UntamedRegeneration.lua new file mode 100644 index 0000000..709eaff --- /dev/null +++ b/Spells/Priest/Druid/Fury/UntamedRegeneration.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/UntamedRegeneration.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/UntamedShroud.lua b/Spells/Priest/Druid/Fury/UntamedShroud.lua new file mode 100644 index 0000000..171cbf2 --- /dev/null +++ b/Spells/Priest/Druid/Fury/UntamedShroud.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/UntamedShroud.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants invisibility to group members (AE) +-- Suspends group members (AE)'s movement speed enhancements +-- Dispelled when target takes damage +-- This effect cancels during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Fury/WrathsBlessing.lua b/Spells/Priest/Druid/Fury/WrathsBlessing.lua new file mode 100644 index 0000000..92a031d --- /dev/null +++ b/Spells/Priest/Druid/Fury/WrathsBlessing.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Fury/WrathsBlessing.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants a healer ally bonus healing based on your last direct damage spell amount. This bonus changes every time you cast a damage spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Snare.lua b/Spells/Priest/Druid/Snare.lua new file mode 100644 index 0000000..bd6bf33 --- /dev/null +++ b/Spells/Priest/Druid/Snare.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Snare.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Slows target by 40.0% +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/SpiritoftheBat.lua b/Spells/Priest/Druid/SpiritoftheBat.lua new file mode 100644 index 0000000..89302a7 --- /dev/null +++ b/Spells/Priest/Druid/SpiritoftheBat.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/SpiritoftheBat.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/SpiritoftheWolf.lua b/Spells/Priest/Druid/SpiritoftheWolf.lua new file mode 100644 index 0000000..72e65b5 --- /dev/null +++ b/Spells/Priest/Druid/SpiritoftheWolf.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Priest/Druid/SpiritoftheWolf.lua + Script Author : theFoof + Script Date : 2013.12.16 + Script Purpose : + : +--]] + +function cast(Caster, Target, BuffAmt) +-- Increases speed of group members (AE) by 20.0% +-- This effect suspends during combat + + AddSpellBonus(Target, 609, BuffAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Priest/Druid/SylvanTouch.lua b/Spells/Priest/Druid/SylvanTouch.lua new file mode 100644 index 0000000..d60ec0b --- /dev/null +++ b/Spells/Priest/Druid/SylvanTouch.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : Spells/Priest/Druid/SylvanTouch.lua + Script Author : theFoof + Script Date : 2013.12.16 + Script Purpose : + : +--]] + +function cast(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) +-- Heals target for 119 - 146 +-- Heals target for 52 - 64 every 2 seconds + + SpellHeal("Heal", HealLow, HealHigh) +end + +function tick(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HoTLow, HoTHigh) +end + +function remove(Caster, Target) +end + diff --git a/Spells/Priest/Druid/Warden/ArmorofSeasons.lua b/Spells/Priest/Druid/Warden/ArmorofSeasons.lua new file mode 100644 index 0000000..c9e9417 --- /dev/null +++ b/Spells/Priest/Druid/Warden/ArmorofSeasons.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/ArmorofSeasons.lua + Script Author : theFoof + Script Date : 2013.12.10 12:12:25 + Script Purpose : + : +--]] + +-- Increases Max Health of group members (AE) by 21.6 +-- If fighter +-- Increases Mitigation of group members (AE) vs physical damage by 93 +-- If not fighter + + \ No newline at end of file diff --git a/Spells/Priest/Druid/Warden/AspectoftheForest.lua b/Spells/Priest/Druid/Warden/AspectoftheForest.lua new file mode 100644 index 0000000..c7eef9a --- /dev/null +++ b/Spells/Priest/Druid/Warden/AspectoftheForest.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/AspectoftheForest.lua + Script Author : theFoof + Script Date : 2013.12.09 11:12:18 + Script Purpose : + : +--]] + +-- Increases STA of target +-- Increases WIS of target +-- Increases Mitigation of target vs elemental, noxious and arcane damage + +function cast(Caster, Target, Sta, Wis, Mit) + AddSpellBonus(Target, 1, Sta) + AddSpellBonus(Target, 3, Wis) + AddSpellBonus(Target, 201, Mit) + AddSpellBonus(Target, 202, Mit) + AddSpellBonus(Target, 203, Mit) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Druid/Warden/Dawnstrike.lua b/Spells/Priest/Druid/Warden/Dawnstrike.lua index 86f5efb..f9c7472 100644 --- a/Spells/Priest/Druid/Warden/Dawnstrike.lua +++ b/Spells/Priest/Druid/Warden/Dawnstrike.lua @@ -10,15 +10,8 @@ function cast(Caster, Target, DDType, MinDDVal, MaxDDVal) if MaxDDVal ~= nil and MinDDVal < MaxDDVal then dmgAmount = math.random(MinDDVal, MaxDDVal) SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) else SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) end end - -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal) - -end - diff --git a/Spells/Priest/Druid/Warden/Equinox.lua b/Spells/Priest/Druid/Warden/Equinox.lua new file mode 100644 index 0000000..f52d677 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Equinox.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Equinox.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 13% health and power +-- Applies Nature's Blessing on termination. Lasts for 1 minute. +-- Heals target for 3.3% of max health instantly and every 6 seconds +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/EssenceoftheGreatBear.lua b/Spells/Priest/Druid/Warden/EssenceoftheGreatBear.lua new file mode 100644 index 0000000..6888852 --- /dev/null +++ b/Spells/Priest/Druid/Warden/EssenceoftheGreatBear.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/EssenceoftheGreatBear.lua + Script Author : theFoof + Script Date : 2013.12.16 + Script Purpose : + : +--]] + +function cast(Caster, Target, StaAmt, MitAmt) + AddSpellBonus(Target, 201, MitAmt) + AddSpellBonus(Target, 1, StaAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Priest/Druid/Warden/FaerieAlly.lua b/Spells/Priest/Druid/Warden/FaerieAlly.lua new file mode 100644 index 0000000..4987b97 --- /dev/null +++ b/Spells/Priest/Druid/Warden/FaerieAlly.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/FaerieAlly.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/FavoroftheWild.lua b/Spells/Priest/Druid/Warden/FavoroftheWild.lua new file mode 100644 index 0000000..bdbe9cc --- /dev/null +++ b/Spells/Priest/Druid/Warden/FavoroftheWild.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/FavoroftheWild.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Frostbite.lua b/Spells/Priest/Druid/Warden/Frostbite.lua new file mode 100644 index 0000000..27a6fc8 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Frostbite.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Frostbite.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 59 - 72 cold damage on target instantly and every 4 seconds +-- Decreases Mitigation of target vs elemental damage by 207 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/HealingGrove.lua b/Spells/Priest/Druid/Warden/HealingGrove.lua new file mode 100644 index 0000000..a12cd64 --- /dev/null +++ b/Spells/Priest/Druid/Warden/HealingGrove.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/HealingGrove.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Healstorm.lua b/Spells/Priest/Druid/Warden/Healstorm.lua new file mode 100644 index 0000000..fbc3ba7 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Healstorm.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Healstorm.lua + Script Author : theFoof + Script Date : 2013.12.11 12:12:37 + Script Purpose : + : +--]] +-- Heals group members (AE) instantly and every 2 seconds + +function cast(Caster, Target, HealLow, HealHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function tick(Caster, Target, HealLow, HealHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function remove() +end diff --git a/Spells/Priest/Druid/Warden/HierophanticGenesis.lua b/Spells/Priest/Druid/Warden/HierophanticGenesis.lua new file mode 100644 index 0000000..9da2f29 --- /dev/null +++ b/Spells/Priest/Druid/Warden/HierophanticGenesis.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/HierophanticGenesis.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Icefall.lua b/Spells/Priest/Druid/Warden/Icefall.lua new file mode 100644 index 0000000..b96e4b8 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Icefall.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Icefall.lua + Script Author : theFoof + Script Date : 2013.12.10 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType1, DmgLow1, DmgHigh1, DmgType2, DmgLow2, DmgHigh2) + Say(Caster, "races by model type not added yet") +-- Inflicts 31 - 38 cold damage on target +-- Inflicts 31 - 38 cold damage on target +-- If target is elemental (need to add model races first) + + SpellDamage(Target, DmgType1, DmgLow1, DmgHigh1) +end + +function tick(Caster, Target) +end + +function remove(Caster, Target) +end + diff --git a/Spells/Priest/Druid/Warden/InfuriatingThorns.lua b/Spells/Priest/Druid/Warden/InfuriatingThorns.lua new file mode 100644 index 0000000..616ba30 --- /dev/null +++ b/Spells/Priest/Druid/Warden/InfuriatingThorns.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/InfuriatingThorns.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Will absorb physical, elemental, noxious, arcane damage. +-- When damaged this spell will cast Infuriating Thorns on target's attacker. +-- Inflicts 896 piercing damage on target +-- Cannot be modified except by direct means +-- Grants a total of 3 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Instinct.lua b/Spells/Priest/Druid/Warden/Instinct.lua new file mode 100644 index 0000000..7149a02 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Instinct.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Instinct.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/NaturesEmbrace.lua b/Spells/Priest/Druid/Warden/NaturesEmbrace.lua new file mode 100644 index 0000000..e6dc753 --- /dev/null +++ b/Spells/Priest/Druid/Warden/NaturesEmbrace.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NaturesEmbrace.lua + Script Author : theFoof + Script Date : 2013.12.09 11:12:48 + Script Purpose : + : +--]] + +-- Heals target for 19 - 23 +-- Heals target for 2 - 3 every second + +function cast(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function tick(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HoTLow, HoTHigh) +end + +function remove() +end + + + diff --git a/Spells/Priest/Druid/Warden/NaturesPack.lua b/Spells/Priest/Druid/Warden/NaturesPack.lua new file mode 100644 index 0000000..8820adb --- /dev/null +++ b/Spells/Priest/Druid/Warden/NaturesPack.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NaturesPack.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons 4 limited pets to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/NaturesRenewal.lua b/Spells/Priest/Druid/Warden/NaturesRenewal.lua new file mode 100644 index 0000000..c991108 --- /dev/null +++ b/Spells/Priest/Druid/Warden/NaturesRenewal.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NaturesRenewal.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/NaturesRestoration.lua b/Spells/Priest/Druid/Warden/NaturesRestoration.lua new file mode 100644 index 0000000..a49eeb9 --- /dev/null +++ b/Spells/Priest/Druid/Warden/NaturesRestoration.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NaturesRestoration.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heal over time spells increase healing with each tick. Healing ceases to increase after 5 ticks. +-- On a healing spell cast this spell has a 50% chance to cast Splash of Nature on caster. +-- Increases power of caster by 394 - 590 +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/NaturesTouch.lua b/Spells/Priest/Druid/Warden/NaturesTouch.lua new file mode 100644 index 0000000..c0de0a0 --- /dev/null +++ b/Spells/Priest/Druid/Warden/NaturesTouch.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NaturesTouch.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Nature's Blessing on termination. Lasts for 1 minute. +-- Heals target for 3.3% of max health instantly and every 6 seconds +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/NereidsBoon.lua b/Spells/Priest/Druid/Warden/NereidsBoon.lua new file mode 100644 index 0000000..92e925f --- /dev/null +++ b/Spells/Priest/Druid/Warden/NereidsBoon.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/NereidsBoon.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to breathe under water +-- Grants Fish Vision to group members (AE) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Photosynthesis.lua b/Spells/Priest/Druid/Warden/Photosynthesis.lua new file mode 100644 index 0000000..f06c9cf --- /dev/null +++ b/Spells/Priest/Druid/Warden/Photosynthesis.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Photosynthesis.lua + Script Author : theFoof + Script Date : 2013.12.10 11:12:20 + Script Purpose : + : +--]] + +-- Heals target instantly and every 2 seconds + +function cast(Caster, Target, HealLow, HealHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function tick(Caster, Target, HealLow, HealHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function remove() +end diff --git a/Spells/Priest/Druid/Warden/RegeneratingSpores.lua b/Spells/Priest/Druid/Warden/RegeneratingSpores.lua new file mode 100644 index 0000000..2748669 --- /dev/null +++ b/Spells/Priest/Druid/Warden/RegeneratingSpores.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/RegeneratingSpores.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Reincarnation.lua b/Spells/Priest/Druid/Warden/Reincarnation.lua new file mode 100644 index 0000000..e2a8259 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Reincarnation.lua @@ -0,0 +1,45 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Reincarnation.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Reincarnate on termination. Lasts for 1 minute. +-- Increases All Attributes of target by 15.0% +-- Increases Attack Speed of target by 31.3 +-- Increases Damage Per Second of target by 36.0 +-- Increases Crushing, Piercing and Slashing of target by 15.0 +-- Heals target for 16.6% of max health +-- Heals target for 0.6% of max health every 6 seconds +-- Shapechanges target into a wolf +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 145.0 +-- Decreases Lethality of target by 145.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Root.lua b/Spells/Priest/Druid/Warden/Root.lua new file mode 100644 index 0000000..c917b71 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Root.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Root.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- Applies Ensnare on termination. Lasts for 12.0 seconds. +-- Slows target by 28.3% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- 5% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Sandstorm.lua b/Spells/Priest/Druid/Warden/Sandstorm.lua new file mode 100644 index 0000000..4250775 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Sandstorm.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Sandstorm.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/SylvanBloom.lua b/Spells/Priest/Druid/Warden/SylvanBloom.lua index 4988252..33d64d0 100644 --- a/Spells/Priest/Druid/Warden/SylvanBloom.lua +++ b/Spells/Priest/Druid/Warden/SylvanBloom.lua @@ -1,42 +1,21 @@ --[[ - Script Name : HoT (Spell Type) - Script Purpose : Generic script for heal-over-time spells - Script Author : John Adams - Script Date : 2008.12.04 - Script Notes : JA: Need to determine if HoT's land instantly with the initial heal, or wait til tick() + Script Name : Spells/Priest/Druid/Warden/SylvanBloom.lua + Script Author : theFoof + Script Date : 2013.12.09 11:12:13 + Script Purpose : + : --]] -function cast(Caster, Target, HealType, HealMinVal, HealMaxVal, HOTType, HOTMinVal, HOTMaxVal) - - -- Heal component - if HealMinVal < HealMaxVal then - ModifyHP(Caster, math.random(HealMinVal, HealMaxVal)) - else - ModifyHP(Caster, HealMinVal) - end - - -- HoT component - if HOTType ~= nil then - -- Determine if there is a range to HoT values - if HOTMaxVal ~= nil and HOTMinVal < HOTMaxVal then - ModifyHP(Caster, math.random(HOTMinVal, HOTMaxVal)) - else - ModifyHP(Caster, HOTMinVal) - end - end +-- Heals target +-- Heals target every second +function cast(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HealLow, HealHigh) end -function tick(Caster, Target, HealType, HealMinVal, HealMaxVal, HOTType, HOTMinVal, HOTMaxVal) - - if HOTMaxVal ~= nil and HOTMinVal < HOTMaxVal then - ModifyHP(Caster, math.random(HOTMinVal, HOTMaxVal)) - else - ModifyHP(Caster, HOTMinVal) - end - +function tick(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HoTLow, HoTHigh) end -function remove(Caster, Target) - -- code to remove the spell +function remove() end diff --git a/Spells/Priest/Druid/Warden/SylvanBloomX.lua b/Spells/Priest/Druid/Warden/SylvanBloomX.lua new file mode 100644 index 0000000..adad2c3 --- /dev/null +++ b/Spells/Priest/Druid/Warden/SylvanBloomX.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/SylvanBloomX.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/SylvanEmbrace.lua b/Spells/Priest/Druid/Warden/SylvanEmbrace.lua new file mode 100644 index 0000000..08ca5bc --- /dev/null +++ b/Spells/Priest/Druid/Warden/SylvanEmbrace.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/SylvanEmbrace.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals group members (AE) for 473 - 579 +-- Heals group members (AE) for 195 - 238 every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Thorncoat.lua b/Spells/Priest/Druid/Warden/Thorncoat.lua new file mode 100644 index 0000000..c702b42 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Thorncoat.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Thorncoat.lua + Script Author : theFoof + Script Date : 2013.12.09 11:12:44 + Script Purpose : + : +--]] + +-- When damaged with a melee weapon this spell will cast Thorns on target's attacker. +-- Inflicts 1 piercing damage on target + +function cast(Caster, Target, DmgType, DmgLow, DmgHigh) + AddProc(Target, 2, 100) +end + +function proc(Caster, Target, Type, DmgType, DmgLow, DmgHigh) + SpellDamage(Target, DmgType, DmgLow, DmgHigh) +end + +function remove(Caster, Target) + RemoveProc(Target) +end diff --git a/Spells/Priest/Druid/Warden/Tranquility.lua b/Spells/Priest/Druid/Warden/Tranquility.lua new file mode 100644 index 0000000..4606e75 --- /dev/null +++ b/Spells/Priest/Druid/Warden/Tranquility.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Tranquility.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/TunaresWatch.lua b/Spells/Priest/Druid/Warden/TunaresWatch.lua new file mode 100644 index 0000000..9e03e03 --- /dev/null +++ b/Spells/Priest/Druid/Warden/TunaresWatch.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/TunaresWatch.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/Undergrowth.lua b/Spells/Priest/Druid/Warden/Undergrowth.lua new file mode 100644 index 0000000..13fb82e --- /dev/null +++ b/Spells/Priest/Druid/Warden/Undergrowth.lua @@ -0,0 +1,35 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/Undergrowth.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Natural Undergrowth. Lasts for 39.0 seconds. +-- Roots target +-- Applies Ensnare on termination. Lasts for 12.0 seconds. +-- Slows target by 35.5% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- 5% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 76. +-- Interrupts target encounter +-- Decreases AGI of target encounter by 32.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/VerdantWhisper.lua b/Spells/Priest/Druid/Warden/VerdantWhisper.lua new file mode 100644 index 0000000..00d7cb4 --- /dev/null +++ b/Spells/Priest/Druid/Warden/VerdantWhisper.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/VerdantWhisper.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/VerdurousJourney.lua b/Spells/Priest/Druid/Warden/VerdurousJourney.lua new file mode 100644 index 0000000..8fb4a98 --- /dev/null +++ b/Spells/Priest/Druid/Warden/VerdurousJourney.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/VerdurousJourney.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports caster and caster's group within the zone + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/WardenoftheForest.lua b/Spells/Priest/Druid/Warden/WardenoftheForest.lua new file mode 100644 index 0000000..86727f9 --- /dev/null +++ b/Spells/Priest/Druid/Warden/WardenoftheForest.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/WardenoftheForest.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Shapechanges caster into a wolf +-- Grants See Invisibility to caster +-- Increases Focus of caster by 8.1 +-- Increases Mitigation of caster vs physical damage by 90 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 342 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/WardoftheUntamed.lua b/Spells/Priest/Druid/Warden/WardoftheUntamed.lua new file mode 100644 index 0000000..ea4ed45 --- /dev/null +++ b/Spells/Priest/Druid/Warden/WardoftheUntamed.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/WardoftheUntamed.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/WillowWisp.lua b/Spells/Priest/Druid/Warden/WillowWisp.lua new file mode 100644 index 0000000..ac35d4f --- /dev/null +++ b/Spells/Priest/Druid/Warden/WillowWisp.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/WillowWisp.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Druid/Warden/WindsofHealing.lua b/Spells/Priest/Druid/Warden/WindsofHealing.lua new file mode 100644 index 0000000..f468a0e --- /dev/null +++ b/Spells/Priest/Druid/Warden/WindsofHealing.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/WindsofHealing.lua + Script Author : theFoof + Script Date : 2013.12.11 12:12:53 + Script Purpose : + : +--]] + +-- Heals group members (AE) for 67 - 82 +-- Heals group members (AE) for 11 - 14 every second + +function cast(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HealLow, HealHigh) +end + +function tick(Caster, Target, HealLow, HealHigh, HoTLow, HoTHigh) + SpellHeal("Heal", HoTLow, HoTHigh) +end + +function remove() +end diff --git a/Spells/Priest/Druid/Warden/WindsofPermafrost.lua b/Spells/Priest/Druid/Warden/WindsofPermafrost.lua new file mode 100644 index 0000000..22c5fef --- /dev/null +++ b/Spells/Priest/Druid/Warden/WindsofPermafrost.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Druid/Warden/WindsofPermafrost.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 365 - 446 cold damage on target encounter +-- Decreases Crushing, Slashing and Piercing of target encounter by 8.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/EnduringBreath.lua b/Spells/Priest/EnduringBreath.lua new file mode 100644 index 0000000..e07d8bb --- /dev/null +++ b/Spells/Priest/EnduringBreath.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Priest/EnduringBreath.lua + Script Author : Jabantiz + Script Date : 2013.12.14 12:12:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- Allows target to breathe under water + BreatheUnderwater(Target, true) +end + +function remove(Caster, Target) + BreatheUnderwater(Target, false) +end diff --git a/Spells/Priest/Revive.lua b/Spells/Priest/Revive.lua new file mode 100644 index 0000000..60e203b --- /dev/null +++ b/Spells/Priest/Revive.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Spells/Priest/Revive.lua + Script Author : theFoof + Script Date : 2013.12.13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + +-- Apply subspell for rez sickness when we support those + +-- Resurrects target with 15% health and power +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 38.9 +-- Decreases Lethality of target by 38.9 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- This effect cannot be cast during combat +-- If outside an arena + + + Resurrect(15, 15, 1) +end + +function remove(Caster, Target) +end + +function precast(Caster, Target) + if IsInCombat(Caster) then + return false + end + return true +end diff --git a/Spells/Priest/Shaman/Defiler/AbhorrentSeal.lua b/Spells/Priest/Shaman/Defiler/AbhorrentSeal.lua new file mode 100644 index 0000000..25bdb64 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/AbhorrentSeal.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/AbhorrentSeal.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases AGI, WIS and STR of target by 32.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Abomination.lua b/Spells/Priest/Shaman/Defiler/Abomination.lua new file mode 100644 index 0000000..2b80d4d --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Abomination.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Abomination.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases AGI, INT, WIS and STR of target by 2.7 +-- Decreases Max Health of target by 0.5% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Abominus.lua b/Spells/Priest/Shaman/Defiler/Abominus.lua new file mode 100644 index 0000000..5b117cb --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Abominus.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Abominus.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to walk under water +-- Allows group members (AE) to breathe under water +-- Allows group members (AE) to jump under water + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/AbsoluteCorruption.lua b/Spells/Priest/Shaman/Defiler/AbsoluteCorruption.lua new file mode 100644 index 0000000..94e868e --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/AbsoluteCorruption.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/AbsoluteCorruption.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Inflicts 39 - 48 disease damage on target encounter instantly and every 3 seconds +-- Decreases Mitigation of target encounter vs noxious damage by 288 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/AncestralAvenger.lua b/Spells/Priest/Shaman/Defiler/AncestralAvenger.lua new file mode 100644 index 0000000..f7f4b14 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/AncestralAvenger.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/AncestralAvenger.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/AncientShroud.lua b/Spells/Priest/Shaman/Defiler/AncientShroud.lua new file mode 100644 index 0000000..10e1d86 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/AncientShroud.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/AncientShroud.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards target against 155 points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/AncientTerror.lua b/Spells/Priest/Shaman/Defiler/AncientTerror.lua new file mode 100644 index 0000000..addfa06 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/AncientTerror.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/AncientTerror.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes target afraid +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Atrophy.lua b/Spells/Priest/Shaman/Defiler/Atrophy.lua new file mode 100644 index 0000000..5c3f973 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Atrophy.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Atrophy.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Attack Speed of target by 9.2 +-- Decreases Damage Per Second of target by 5.3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/BaneofWarding.lua b/Spells/Priest/Shaman/Defiler/BaneofWarding.lua new file mode 100644 index 0000000..c17df56 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/BaneofWarding.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/BaneofWarding.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell may cast Curse of Shielding on target of attack. Lasts for 24.0 seconds. Triggers about 2.0 times per minute. +-- Wards target against 135 points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/CarrionWarding.lua b/Spells/Priest/Shaman/Defiler/CarrionWarding.lua new file mode 100644 index 0000000..f868d52 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/CarrionWarding.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/CarrionWarding.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards group members (AE) collectively against 327 total points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/CrystallizeSoul.lua b/Spells/Priest/Shaman/Defiler/CrystallizeSoul.lua new file mode 100644 index 0000000..148338e --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/CrystallizeSoul.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/CrystallizeSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Deathward.lua b/Spells/Priest/Shaman/Defiler/Deathward.lua new file mode 100644 index 0000000..9fcc20a --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Deathward.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Deathward.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards target against all damage. The amount is increased the closer the ally is to death. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Defile.lua b/Spells/Priest/Shaman/Defiler/Defile.lua new file mode 100644 index 0000000..a46a056 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Defile.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Defile.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/DireBalm.lua b/Spells/Priest/Shaman/Defiler/DireBalm.lua index 130b94e..ad2827e 100644 --- a/Spells/Priest/Shaman/Defiler/DireBalm.lua +++ b/Spells/Priest/Shaman/Defiler/DireBalm.lua @@ -2,14 +2,14 @@ Script Name : Heal (Spell Type) Script Purpose : Generic script for healing spells Script Author : John Adams - Script Date : 2008.12.03 + Script Date : 2013.11.19 Script Note : --]] -function cast(Caster, Target, HealType, HealMinVal, HealMaxVal) +function cast(Caster, Target, HealMinVal, HealMaxVal) -- Heal Component - if HealMinVal < HealMaxVal then + if HealMaxVal ~= nil and HealMinVal < HealMaxVal then ModifyHP(Caster, math.random(HealMinVal, HealMaxVal)) else ModifyHP(Caster, HealMinVal) diff --git a/Spells/Priest/Shaman/Defiler/DireBalmX.lua b/Spells/Priest/Shaman/Defiler/DireBalmX.lua new file mode 100644 index 0000000..5c16be3 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/DireBalmX.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/DireBalmX.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/FuliginousWhip.lua b/Spells/Priest/Shaman/Defiler/FuliginousWhip.lua new file mode 100644 index 0000000..2a4f026 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/FuliginousWhip.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/FuliginousWhip.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 57 - 70 disease damage on target instantly and every 4 seconds +-- Decreases Attack Speed of target by 5.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Harbinger.lua b/Spells/Priest/Shaman/Defiler/Harbinger.lua new file mode 100644 index 0000000..18fd518 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Harbinger.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Harbinger.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Imprecate.lua b/Spells/Priest/Shaman/Defiler/Imprecate.lua index 5589caa..459030d 100644 --- a/Spells/Priest/Shaman/Defiler/Imprecate.lua +++ b/Spells/Priest/Shaman/Defiler/Imprecate.lua @@ -1,47 +1,25 @@ --[[ - Script Name : dd_debuff.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.04 - Script Notes : Parameter 4 and 5 are the debuff type and value (param 6 if value is a range) + Script Name : Spells/Priest/Shaman/Defiler/Imprecate.lua + Script Author : John Adams + Script Date : 2013.11.19 09:11:21 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) +function cast(Caster, Target, BuffAmt, DmgType, MinDmg, MaxDmg) - -- Debuff component - -- Determine if there is a range to effect values - if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then - -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? - DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) - else - DebuffValue = MinDebuffVal - end + -- Decreases Mitigation of target vs noxious damage by 21 + AddSpellBonus(Target, 202, BuffAmt) - -- Determine DebuffType - either a DamageType or a String value passed as param 4 - if DebuffType == "Attack" then - -- ModifyAttackSpeed(Target, -DebuffValue) - elseif DebuffType == "DPS" then - -- ModifyDPS(Target, -DebuffValue) - elseif DebuffType == "Disease" then - -- ModifyDisease(Target, -DebuffValue) - elseif DebuffType == "Power" then - ModifyPower(Target, -DebuffValue) - elseif DebuffType == "Knockback" then - SpawnSet(Target, "visual_state", "10900") - end + -- Inflicts 10 - 13 disease damage on target + if MaxDmg ~= nil and MinDmg < MaxDmg then + SpellDamage(Target, DmgType, math.random(MinDmg, MaxDmg)) + else + SpellDamage(Target, DmgType, MinDmg) + end - -- DD component (instant damage) - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end end -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) - -end - -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) - +function remove(Caster, Target, BuffAmt, DmgType, MinDmg, MaxDmg) + RemoveSpellBonus(Target) end diff --git a/Spells/Priest/Shaman/Defiler/Invective.lua b/Spells/Priest/Shaman/Defiler/Invective.lua new file mode 100644 index 0000000..222690f --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Invective.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Invective.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Maelstrom.lua b/Spells/Priest/Shaman/Defiler/Maelstrom.lua new file mode 100644 index 0000000..191d017 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Maelstrom.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Maelstrom.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 213 - 260 disease damage on target encounter instantly and every 5 seconds +-- Decreases power of target encounter by 35 - 43 instantly and every 5 seconds +-- Heals group members (AE) for 158 - 194 instantly and every 5 seconds +-- Increases power of group members (AE) by 26 - 32 instantly and every 5 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/MailofSouls.lua b/Spells/Priest/Shaman/Defiler/MailofSouls.lua new file mode 100644 index 0000000..0815530 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/MailofSouls.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/MailofSouls.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Nightmares.lua b/Spells/Priest/Shaman/Defiler/Nightmares.lua new file mode 100644 index 0000000..b1ac964 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Nightmares.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Nightmares.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 806 - 985 disease damage on target encounter instantly and every 4 seconds +-- Heals group members (AE) for 5 - 7 instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/NoxiousEfflux.lua b/Spells/Priest/Shaman/Defiler/NoxiousEfflux.lua new file mode 100644 index 0000000..544b32a --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/NoxiousEfflux.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/NoxiousEfflux.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Purulence.lua b/Spells/Priest/Shaman/Defiler/Purulence.lua new file mode 100644 index 0000000..758a22b --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Purulence.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Purulence.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards group members (AE) collectively against 1528 total points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Putrefy.lua b/Spells/Priest/Shaman/Defiler/Putrefy.lua new file mode 100644 index 0000000..4631558 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Putrefy.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Putrefy.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 6 poison damage on target instantly and every 4 seconds +-- Decreases WIS of target by 8.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Reanimate.lua b/Spells/Priest/Shaman/Defiler/Reanimate.lua new file mode 100644 index 0000000..3e21691 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Reanimate.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Reanimate.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Reanimate on termination. Lasts for 1 minute. +-- Heals target for 30.0% of max health +-- This effect cannot be critically applied. +-- Increases power of target by 2.0% instantly and every 4 seconds +-- This effect cannot be critically applied. +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/SacrificialRestoration.lua b/Spells/Priest/Shaman/Defiler/SacrificialRestoration.lua new file mode 100644 index 0000000..f5e5b7c --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/SacrificialRestoration.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/SacrificialRestoration.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Senescence.lua b/Spells/Priest/Shaman/Defiler/Senescence.lua new file mode 100644 index 0000000..57f5a21 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Senescence.lua @@ -0,0 +1,42 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Senescence.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- Resurrects target with 15% health and power +-- Applies Reanimate on termination. Lasts for 1 minute. +-- Heals target for 30.0% of max health +-- This effect cannot be critically applied. +-- Increases power of target by 2.0% instantly and every 4 seconds +-- This effect cannot be critically applied. +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/ShroudofArmor.lua b/Spells/Priest/Shaman/Defiler/ShroudofArmor.lua new file mode 100644 index 0000000..59c7e42 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/ShroudofArmor.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/ShroudofArmor.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/SinisterCountenance.lua b/Spells/Priest/Shaman/Defiler/SinisterCountenance.lua new file mode 100644 index 0000000..82a51c8 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/SinisterCountenance.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/SinisterCountenance.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Shapechanges caster into a chaos essence +-- Increases WIS of caster by 28.8 +-- Grants See Invisibility to caster +-- Increases Max Health of caster by 77.4 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 428 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/SoulCannibalize.lua b/Spells/Priest/Shaman/Defiler/SoulCannibalize.lua new file mode 100644 index 0000000..ae81435 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/SoulCannibalize.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/SoulCannibalize.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 22 - 27 divine damage on target instantly and every 3 seconds +-- Increases power of caster by 17 instantly and every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/SpiritualCircle.lua b/Spells/Priest/Shaman/Defiler/SpiritualCircle.lua new file mode 100644 index 0000000..cd29f20 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/SpiritualCircle.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/SpiritualCircle.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/TendrilsofHorror.lua b/Spells/Priest/Shaman/Defiler/TendrilsofHorror.lua new file mode 100644 index 0000000..e6531f0 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/TendrilsofHorror.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/TendrilsofHorror.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/TerrorChant.lua b/Spells/Priest/Shaman/Defiler/TerrorChant.lua new file mode 100644 index 0000000..6526aed --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/TerrorChant.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/TerrorChant.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/TribalSpirit.lua b/Spells/Priest/Shaman/Defiler/TribalSpirit.lua new file mode 100644 index 0000000..d501c5c --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/TribalSpirit.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/TribalSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Adds additional healing to Ancient Shroud +-- Adds additional healing to Carrion Warding +-- On a beneficial spell cast this spell has a 12% chance to cast Tribal Spirit on the group. Lasts for 12.0 seconds. +-- Improves the value of healing and ward spells by 8%. +-- Reduces elemental, noxious, arcane damage done to group members (AE) by 5% +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Vehemence.lua b/Spells/Priest/Shaman/Defiler/Vehemence.lua new file mode 100644 index 0000000..233a21f --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Vehemence.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Vehemence.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/Vivication.lua b/Spells/Priest/Shaman/Defiler/Vivication.lua new file mode 100644 index 0000000..0fe8ef8 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/Vivication.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/Vivication.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Vivication on termination. +-- Heals target for 16.6% of max health +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/VoiceoftheAncestors.lua b/Spells/Priest/Shaman/Defiler/VoiceoftheAncestors.lua new file mode 100644 index 0000000..9651af1 --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/VoiceoftheAncestors.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/VoiceoftheAncestors.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Defiler/WildAccretion.lua b/Spells/Priest/Shaman/Defiler/WildAccretion.lua new file mode 100644 index 0000000..2927d8b --- /dev/null +++ b/Spells/Priest/Shaman/Defiler/WildAccretion.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Defiler/WildAccretion.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/EidolicWard.lua b/Spells/Priest/Shaman/EidolicWard.lua new file mode 100644 index 0000000..30b7d24 --- /dev/null +++ b/Spells/Priest/Shaman/EidolicWard.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/EidolicWard.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards target against 215 points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/AncestralAvatar.lua b/Spells/Priest/Shaman/Mystic/AncestralAvatar.lua new file mode 100644 index 0000000..7020d78 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralAvatar.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralAvatar.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/AncestralBalm.lua b/Spells/Priest/Shaman/Mystic/AncestralBalm.lua new file mode 100644 index 0000000..97435a9 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralBalm.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralBalm.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/AncestralMettle.lua b/Spells/Priest/Shaman/Mystic/AncestralMettle.lua new file mode 100644 index 0000000..da79398 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralMettle.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralMettle.lua + Script Author : Jabantiz + Script Date : 2013.12.13 08:12:20 + Script Purpose : + : +--]] + +function cast(Caster, Target, StatAmt, ResistAmt) + -- Increases STA of group members (AE) by 3.0 + AddSpellBonus(Target, 1, StatAmt) + + -- Increases Mitigation of group members (AE) vs noxious damage by 194 + AddSpellBonus(Target, 202, ResistAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/AncestralSavior.lua b/Spells/Priest/Shaman/Mystic/AncestralSavior.lua new file mode 100644 index 0000000..c8d0084 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralSavior.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralSavior.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/AncestralSentry.lua b/Spells/Priest/Shaman/Mystic/AncestralSentry.lua new file mode 100644 index 0000000..5a59bb6 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralSentry.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralSentry.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a limited pet to aid the caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/AncestralWard.lua b/Spells/Priest/Shaman/Mystic/AncestralWard.lua new file mode 100644 index 0000000..ad31636 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/AncestralWard.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/AncestralWard.lua + Script Author : Jabantiz + Script Date : 2013.12.13 07:12:27 + Script Purpose : + : +--]] + +function cast(Caster, Target, WardAmt) + -- Wards target against 155 points of all damage + AddWard(WardAmt) + + Say(Caster, "Not Implemented: remainder to heal") +end + +function remove(Caster, Target) + RemoveWard() +end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/Bolster.lua b/Spells/Priest/Shaman/Mystic/Bolster.lua new file mode 100644 index 0000000..1e24d19 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Bolster.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Bolster.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases All Attributes of target by 11.3% +-- Enlarges target by 30.6% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Deteriorate.lua b/Spells/Priest/Shaman/Mystic/Deteriorate.lua new file mode 100644 index 0000000..6933757 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Deteriorate.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Deteriorate.lua + Script Author : Jabantiz + Script Date : 2013.12.13 06:12:41 + Script Purpose : + : +--]] + +function cast(Caster, Target, BonusAmt) + -- Decreases STR and AGI of target by 8.0 + AddSpellBonus(Target, 0, BonusAmt) + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/EbbingSpirit.lua b/Spells/Priest/Shaman/Mystic/EbbingSpirit.lua new file mode 100644 index 0000000..29ab6b1 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/EbbingSpirit.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/EbbingSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/EchoesoftheAncients.lua b/Spells/Priest/Shaman/Mystic/EchoesoftheAncients.lua new file mode 100644 index 0000000..9255ea4 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/EchoesoftheAncients.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/EchoesoftheAncients.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Decreases Max Health of target encounter by 1.3% +-- Decreases Mitigation of target encounter vs elemental and noxious damage by 234 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/FieldsoftheGrey.lua b/Spells/Priest/Shaman/Mystic/FieldsoftheGrey.lua new file mode 100644 index 0000000..75b6abc --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/FieldsoftheGrey.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/FieldsoftheGrey.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Heal on termination. +-- Heals target for 16.6% of max health +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 98.0 +-- Decreases Lethality of target by 98.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/GlacialFlames.lua b/Spells/Priest/Shaman/Mystic/GlacialFlames.lua new file mode 100644 index 0000000..431bad3 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/GlacialFlames.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/GlacialFlames.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 59 - 72 cold damage on target instantly and every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Haze.lua b/Spells/Priest/Shaman/Mystic/Haze.lua index eb4e45a..1f3fcb5 100644 --- a/Spells/Priest/Shaman/Mystic/Haze.lua +++ b/Spells/Priest/Shaman/Mystic/Haze.lua @@ -1,54 +1,24 @@ --[[ - Script Name : debuff.lua - Script Purpose : Generic Debuff script - Script Author : John Adams - Script Date : 2008.12.05 + Script Name : Spells/Priest/Shaman/Mystic/Haze.lua + Script Author : Jabantiz + Script Date : 2013.12.13 05:12:51 + Script Purpose : + : --]] -function cast(Caster, Target, DebuffType, MinDebuffVal, MaxDebuffVal) +function cast(Caster, Target, BonusAmt, SkillAmt) + -- Decreases Attack Speed of target by 9.2 + AddSpellBonus(Target, 617, BonusAmt) - -- Debuff component - -- Determine if there is a range to effect values - if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then - -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? - DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) - else - DebuffValue = MinDebuffVal - end - - -- Determine DebuffType - either a DamageType or a String value passed as param 1 - -- Need functionality to buff/debuff - if DebuffType == "Defense" then - -- ModifyDefense(Target, -DebuffValue) - end - if DebuffType == "Elemental" then - -- ModifyHeat(Target, -DebuffValue) - -- ModifyCold(Target, -DebuffValue) - end - if DebuffType == "Noxious" then - -- ModifyPoison(Target, -DebuffValue) - -- ModifyDisease(Target, -DebuffValue) - end + -- Decreases Slashing, Piercing and Crushing of target by 0.6 + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Piercing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Crushing"), SkillAmt) end -function tick(Caster, Target, DebuffType, MinDebuffVal, MaxDebuffVal) - +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) end -function remove(Caster, Target, DebuffType, MinDebuffVal, MaxDebuffVal) --- Need functionality to restore original mitigations - - if DebuffType == "Defense" then - -- ModifyDefense(Target, Original) - end - if DebuffType == "Elemental" then - -- ModifyHeat(Target, Original) - -- ModifyCold(Target, Original) - end - if DebuffType == "Noxious" then - -- ModifyPoison(Target, Original) - -- ModifyDisease(Target, Original) - end - -end diff --git a/Spells/Priest/Shaman/Mystic/LamentingSoul.lua b/Spells/Priest/Shaman/Mystic/LamentingSoul.lua new file mode 100644 index 0000000..224b109 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/LamentingSoul.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/LamentingSoul.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Damage Per Second of target by 15.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Lethargy.lua b/Spells/Priest/Shaman/Mystic/Lethargy.lua new file mode 100644 index 0000000..6031dbb --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Lethargy.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Lethargy.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Attack Speed of target encounter by 12.1 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/LunarAttendant.lua b/Spells/Priest/Shaman/Mystic/LunarAttendant.lua new file mode 100644 index 0000000..5427a4e --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/LunarAttendant.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/LunarAttendant.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Oberon.lua b/Spells/Priest/Shaman/Mystic/Oberon.lua new file mode 100644 index 0000000..085fc46 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Oberon.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Oberon.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/PathoftheGrey.lua b/Spells/Priest/Shaman/Mystic/PathoftheGrey.lua new file mode 100644 index 0000000..c3f1b06 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/PathoftheGrey.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/PathoftheGrey.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Heal on termination. +-- Heals target for 16.6% of max health +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 75.0 +-- Decreases Lethality of target by 75.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Plague.lua b/Spells/Priest/Shaman/Mystic/Plague.lua new file mode 100644 index 0000000..9a9eb72 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Plague.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Plague.lua + Script Author : Jabantiz + Script Date : 2013.12.13 05:12:07 + Script Purpose : + : +--]] + +function cast(Caster, Target, DoTType, MinVal) + -- Inflicts 6 disease damage on target instantly and every 4 seconds + SpellDamage(Target, DoTType, MinVal) + + -- Inflicts 6 disease damage on target instantly and every 4 seconds + -- If target is shadowed folk + -- Inflicts 6 disease damage on target instantly and every 4 seconds + -- If target is nightblood + Say(Caster, "Not Implemented: Bonus damage to nightbloods and shadowed folk") + +end + +function tick(Caster, Target, DoTType, MinVal) + -- Inflicts 6 disease damage on target instantly and every 4 seconds + SpellDamage(Target, DoTType, MinVal) + + -- Inflicts 6 disease damage on target instantly and every 4 seconds + -- If target is shadowed folk + -- Inflicts 6 disease damage on target instantly and every 4 seconds + -- If target is nightblood + +end diff --git a/Spells/Priest/Shaman/Mystic/Premonition.lua b/Spells/Priest/Shaman/Mystic/Premonition.lua new file mode 100644 index 0000000..1ddc792 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Premonition.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Premonition.lua + Script Author : Jabantiz + Script Date : 2013.12.13 06:12:01 + Script Purpose : + : +--]] + +function cast(Caster, Target, BonusSta, BonusPower) + -- Increases STA of target by 1.9 + AddSpellBonus(Target, 1, BonusSta) + + -- Increases Max Power of target by 21.9 + AddSpellBonus(Target, 501, BonusPower) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/PropheticWard.lua b/Spells/Priest/Shaman/Mystic/PropheticWard.lua new file mode 100644 index 0000000..c73d22c --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/PropheticWard.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/PropheticWard.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/RecalloftheGrey.lua b/Spells/Priest/Shaman/Mystic/RecalloftheGrey.lua new file mode 100644 index 0000000..915cac5 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/RecalloftheGrey.lua @@ -0,0 +1,40 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/RecalloftheGrey.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 15% health and power +-- Applies Grey Ward on termination. Lasts for 30.0 seconds. +-- Heals target for 16.6% of max health +-- Wards target against 651 points of all damage +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 145.0 +-- Decreases Lethality of target by 145.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Rejuvenation.lua b/Spells/Priest/Shaman/Mystic/Rejuvenation.lua index 34e914e..ce83a5a 100644 --- a/Spells/Priest/Shaman/Mystic/Rejuvenation.lua +++ b/Spells/Priest/Shaman/Mystic/Rejuvenation.lua @@ -1,47 +1,29 @@ --[[ - Script Name : Heal / Buff (Spell Type) - Script Purpose : Generic script for Heal / Buff spells - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Priest/Shaman/Mystic/Rejuvenation.lua + Script Author : John Adams + Script Date : 2013.11.19 08:11:16 + Script Purpose : + : --]] -function cast(Caster, Target, HealType, HealMinVal, HealMaxVal, BuffType, BuffMinVal, BuffMaxVal) +function cast(Caster, Target, BuffAmt, MinHealAmt, MaxHealAmt) - -- Heal component - if HealMinVal < HealMaxVal then - ModifyHP(Caster, math.random(HealMinVal, HealMaxVal)) - else - ModifyHP(Caster, HealMinVal) - end + -- Buff component (health) + AddSpellBonus(Target, 606, BuffAmt) - -- Buff component - if BuffType ~= nil then - - if BuffType == "Health" then - - --SetMaxHP(Caster, GetMaxHP(Target) + BuffMinVal) - AddSpellBonus(Target, 500, BuffMinVal) - - end - - -- do other buff types here - - end + -- Heal component + if MaxHeal ~= nil and MinHeal < MaxHeal then + healAmount = math.random(MinHeal, MaxHeal) + ModifyHP(Target, healAmount) + else + ModifyHP(Target, MinHealAmt) + end end -function tick(Caster, Target, HealType, HealMinVal, HealMaxVal, BuffType, BuffMinVal, BuffMaxVal) - - if BuffType == "Health" then - - SetMaxHP(Caster, GetMaxHP(Target) + BuffMinVal) - - end - - -- do other buff types here +function remove(Caster, Target, BuffAmt, MinHealAmt, MaxHealAmt) + + -- Remove buff (health) + RemoveSpellBonus(Target) end - -function remove(Caster, Target, HealType, HealMinVal, HealMaxVal, BuffType, BuffMinVal, BuffMaxVal) - RemoveSpellBonus(Target) -end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/RitualHealing.lua b/Spells/Priest/Shaman/Mystic/RitualHealing.lua new file mode 100644 index 0000000..c03020d --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/RitualHealing.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/RitualHealing.lua + Script Author : Jabantiz + Script Date : 2013.12.13 05:12:24 + Script Purpose : + : +--]] + +function cast(Caster, Target, MinVal, MaxVal, BonusAmt) + -- Heals target for 40 - 49 + if MaxVal ~= nil and MinVal < MaxVal then + SpellHeal("Heal", math.random(MinVal, MaxVal)) + else + SpellHeal("Heal", MinVal) + end + + -- Increases Max Health of target by 6.3 + AddSpellBonus(Target, 500, BonusAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/RunicArmor.lua b/Spells/Priest/Shaman/Mystic/RunicArmor.lua new file mode 100644 index 0000000..1a3fdb0 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/RunicArmor.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/RunicArmor.lua + Script Author : Jabantiz + Script Date : 2013.12.13 06:12:49 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) + + + +function cast(Caster, Target, WardValue, MitValue) + -- Wards group members (AE) against 4 points of physical damage + AddWard(WardValue) + + -- Increases Mitigation of group members (AE) vs physical damage by 93 + -- If not fighter + local group = GetGroup(Caster) + if group ~= nil then + for key, value in pairs(group) do + if value and GetArchetypeName(value) ~= "fighter" then + -- AddSpellBonus(value, 204, MitValue) + -- AddSpellBonus(value, 205, MitValue) + -- AddSpellBonus(value, 206, MitValue) + end + end + end +end + +function remove(Caster, Target) + RemoveWard() + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/SlothfulSpirit.lua b/Spells/Priest/Shaman/Mystic/SlothfulSpirit.lua new file mode 100644 index 0000000..ad456f3 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/SlothfulSpirit.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/SlothfulSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a spell cast this spell will cast Sloth's Habitat on target. +-- Inflicts 240 - 293 divine damage on target +-- Grants a total of 3 triggers of the spell. +-- Target will lose 44% more power when power is consumed + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/SpiritTap.lua b/Spells/Priest/Shaman/Mystic/SpiritTap.lua new file mode 100644 index 0000000..d31855e --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/SpiritTap.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/SpiritTap.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When a group member inflicts damage, that damage is converted into a heal and power restore for the Mystic's group. If the caster enters PVP combat, the duration of this effect will be reduced. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/SpiritoftheMammoth.lua b/Spells/Priest/Shaman/Mystic/SpiritoftheMammoth.lua new file mode 100644 index 0000000..9b8fff9 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/SpiritoftheMammoth.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/SpiritoftheMammoth.lua + Script Author : Jabantiz + Script Date : 2013.12.13 08:12:47 + Script Purpose : + : +--]] + +function cast(Caster, Target, BonusAmt) + -- Increases STA and STR of group members (AE) by 13.1 + AddSpellBonus(Target, 0, BonusAmt) + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/Spirits.lua b/Spells/Priest/Shaman/Mystic/Spirits.lua new file mode 100644 index 0000000..06d595a --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Spirits.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Spirits.lua + Script Author : Jabantiz + Script Date : 2013.12.13 07:12:26 + Script Purpose : + : +--]] + +function cast(Caster, Target, Hate) + -- Mesmerizes targets in Area of Effect + -- If Target is not Epic + if not IsEpic(Target) then + AddControlEffect(Target, 1) + end + + -- Decreases Threat to targets in Area of Effect by 323 + AddHate(Target, Hate) + + -- Decreases threat priority of targets in Area of Effect by 1 position +end + +function remove(Caster, Target) + RemoveControlEffect(Target, 1) +end diff --git a/Spells/Priest/Shaman/Mystic/SpiritualWarding.lua b/Spells/Priest/Shaman/Mystic/SpiritualWarding.lua new file mode 100644 index 0000000..0b8abfe --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/SpiritualWarding.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/SpiritualWarding.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a beneficial spell cast this spell has a 12% chance to cast Tribal Rage on the group. Lasts for 12.0 seconds. +-- Group members (AE) will Double Attack on 15% of attacks +-- Cannot be modified except by direct means +-- Increases the power of wards by 30% of the mystic's wisdom +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Torpor.lua b/Spells/Priest/Shaman/Mystic/Torpor.lua new file mode 100644 index 0000000..9f4e253 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Torpor.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Torpor.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards target against 369 points of all damage +-- Decreases Attack Speed of target by 25.0 +-- Slows target by 50.0% +-- Heals target for 111 - 136 every 2 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/Transcendence.lua b/Spells/Priest/Shaman/Mystic/Transcendence.lua new file mode 100644 index 0000000..42741f0 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/Transcendence.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/Transcendence.lua + Script Author : Jabantiz + Script Date : 2013.12.13 07:12:36 + Script Purpose : + : +--]] + +function cast(Caster, Target, MinVal, MaxVal, BonusAmt) + -- Heals group members (AE) for 125 - 153 + if MaxVal ~= nil and MinVal < MaxVal then + ModifyHP(Target, math.random(MinVal, MaxVal)) + else + ModifyHP(Target, MinVal) + end + + -- Increases Max Health of group members (AE) by 15.8 + AddSpellBonus(Target, 500, BonusAmt) +end + + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/UmbralWarding.lua b/Spells/Priest/Shaman/Mystic/UmbralWarding.lua new file mode 100644 index 0000000..e227a63 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/UmbralWarding.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/UmbralWarding.lua + Script Author : Jabantiz + Script Date : 2013.12.13 08:12:35 + Script Purpose : + : +--]] + +function cast(Caster, Target, WardAmt) + -- Wards group members (AE) collectively against 327 total points of all damage + AddWard(Target, WardAmt) +end + +function remove(Caster, Target) + RemoveWard() +end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/UrsineAvatar.lua b/Spells/Priest/Shaman/Mystic/UrsineAvatar.lua new file mode 100644 index 0000000..a3a4c9d --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/UrsineAvatar.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/UrsineAvatar.lua + Script Author : Jabantiz + Script Date : 2013.12.13 08:12:12 + Script Purpose : + : +--]] + +function cast(Caster, Target, StaAmt, WisAmt, MitAmt) + -- Shapechanges caster into a bear + Say(Caster, "Not Implemented: shape change and see stealth") + + -- Increases STA of caster by 7.7 + AddSpellBonus(Target, 1, StaAmt) + + -- Increases WIS of caster by 28.8 + AddSpellBonus(Target, 3, WisAmt) + + -- Grants See Stealth to caster + + -- Increases Mitigation of caster vs elemental, noxious and arcane damage by 428 + AddSpellBonus(Target, 201, MitAmt) + AddSpellBonus(Target, 202, MitAmt) + AddSpellBonus(Target, 203, MitAmt) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Priest/Shaman/Mystic/VeliumWinds.lua b/Spells/Priest/Shaman/Mystic/VeliumWinds.lua index c59c76c..10b2ad6 100644 --- a/Spells/Priest/Shaman/Mystic/VeliumWinds.lua +++ b/Spells/Priest/Shaman/Mystic/VeliumWinds.lua @@ -1,42 +1,20 @@ --[[ - Script Name : dd_snare.lua - Script Purpose : Generic damage + Snare effect script - Script Author : John Adams - Script Date : 2008.12.04 + Script Name : Spells/Priest/Shaman/Mystic/VeliumWinds.lua + Script Author : John Adams + Script Date : 2013.11.19 09:11:17 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, SnareAmount, DispelChance) +function cast(Caster, Target, DmgType, MinDmgVal, MaxDmgVal, SpellID) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end + -- Damage component + if MaxDmg ~= nil and MinDmg < MaxDmg then + dmgAmount = math.random(MinDmg, MaxDmg) + SpellDamage(Target, DmgType, dmgAmount) + end - -- Snare component - OriginalSpeed = GetSpeed(Target) - newSpeed = OriginalSpeed - (OriginalSpeed * (SnareAmount / 100)) - - if OriginalSpeed > newSpeed then - SetSpeed(Target, newSpeed) - end + -- Applies Touch of the Grey. Lasts for 10.0 seconds. + CastSpell(Target, 3000, 1, Caster) end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, SnareAmount, DispelChance) ---[[ - OriginalSpeed = GetSpeed(Target) - newSpeed = OriginalSpeed - (OriginalSpeed * (SnareAmount / 100)) - - if OriginalSpeed > newSpeed then - SetSpeed(Target, newSpeed) - end ---]] -end - -function remove(Caster, Target) ---[[ - SetSpeed(Target, OriginalSpeed) ---]] -end \ No newline at end of file diff --git a/Spells/Priest/Shaman/Mystic/WardsoftheEidolon.lua b/Spells/Priest/Shaman/Mystic/WardsoftheEidolon.lua new file mode 100644 index 0000000..2cf4eee --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/WardsoftheEidolon.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/WardsoftheEidolon.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards group members (AE) collectively against 1528 total points of all damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/WaterSpirit.lua b/Spells/Priest/Shaman/Mystic/WaterSpirit.lua new file mode 100644 index 0000000..72f4b90 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/WaterSpirit.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/WaterSpirit.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows group members (AE) to jump under water +-- Allows group members (AE) to breathe under water +-- Allows group members (AE) to walk under water + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/Mystic/WrathoftheAncients.lua b/Spells/Priest/Shaman/Mystic/WrathoftheAncients.lua new file mode 100644 index 0000000..cd058c5 --- /dev/null +++ b/Spells/Priest/Shaman/Mystic/WrathoftheAncients.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/Mystic/WrathoftheAncients.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 210 - 257 disease damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/SpiritGuide.lua b/Spells/Priest/Shaman/SpiritGuide.lua new file mode 100644 index 0000000..8f1fb13 --- /dev/null +++ b/Spells/Priest/Shaman/SpiritGuide.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Priest/Shaman/SpiritGuide.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summon 1 Spirit Guide +-- This effect cannot be cast during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaman/UmbralTrap.lua b/Spells/Priest/Shaman/UmbralTrap.lua new file mode 100644 index 0000000..45d6659 --- /dev/null +++ b/Spells/Priest/Shaman/UmbralTrap.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Priest/Shaman/UmbralTrap.lua + Script Author : John Adams + Script Date : 2013.08.11 07:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Damage Per Second of target encounter by 10.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Priest/Shaper/Channeler/VengefulArrow.lua b/Spells/Priest/Shaper/Channeler/VengefulArrow.lua new file mode 100644 index 0000000..3c0c9d3 --- /dev/null +++ b/Spells/Priest/Shaper/Channeler/VengefulArrow.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Priest/Shaper/Channeler/VengefulArrow.lua + Script Author : John Adams + Script Date : 2013.11.21 09:11:31 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- Requires bow + return true +end + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 7 - 12 ranged damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end diff --git a/Spells/Scout/Ambush.lua b/Spells/Scout/Ambush.lua new file mode 100644 index 0000000..72249c2 --- /dev/null +++ b/Spells/Scout/Ambush.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Ambush.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 19 - 32 melee damage on target +-- You must be sneaking to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/AstralRavaging.lua b/Spells/Scout/Animist/Beastlord/AstralRavaging.lua new file mode 100644 index 0000000..2480803 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/AstralRavaging.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/AstralRavaging.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 89 - 149 melee damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Heals group members (AE) for 3 - 4 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/AstralSoulsiphon.lua b/Spells/Scout/Animist/Beastlord/AstralSoulsiphon.lua new file mode 100644 index 0000000..7ea6708 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/AstralSoulsiphon.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/AstralSoulsiphon.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Spirituality level. +-- Increases power of group members (AE) by 6 - 10 +-- Inflicts 430 - 717 melee damage on target encounter +-- You must have Tame Exotic Warder to use this Primal. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/Beastsoul.lua b/Spells/Scout/Animist/Beastlord/Beastsoul.lua new file mode 100644 index 0000000..4a1beb3 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/Beastsoul.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/Beastsoul.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 221 - 368 melee damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Increases Attack Speed of group members (AE) by 25.0 +-- Increases Damage Per Second of group members (AE) by 25.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/BestialVehemence.lua b/Spells/Scout/Animist/Beastlord/BestialVehemence.lua new file mode 100644 index 0000000..ab6a06e --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/BestialVehemence.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/BestialVehemence.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 95 - 158 melee damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Increases Potency of group members (AE) by 15.0% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/BrutalBeatdown.lua b/Spells/Scout/Animist/Beastlord/BrutalBeatdown.lua new file mode 100644 index 0000000..6ed7005 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/BrutalBeatdown.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/BrutalBeatdown.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 1355 - 2258 crushing damage on target +-- The effect of this ability grows based on Feral Rampage level. +-- You must have Tame Exotic Warder to use this Primal. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/CallWarder.lua b/Spells/Scout/Animist/Beastlord/CallWarder.lua new file mode 100644 index 0000000..312dbac --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/CallWarder.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/CallWarder.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports target to caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/CallousFerocity.lua b/Spells/Scout/Animist/Beastlord/CallousFerocity.lua new file mode 100644 index 0000000..2ffdce4 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/CallousFerocity.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/CallousFerocity.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Caster has a 10.0% chance of having one of their weapons' autoattack strike the target multiple times. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/Chillbarrier.lua b/Spells/Scout/Animist/Beastlord/Chillbarrier.lua new file mode 100644 index 0000000..c5e92ec --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/Chillbarrier.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/Chillbarrier.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Wards group members (AE) against 16 points of all damage +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/ChillingClaws.lua b/Spells/Scout/Animist/Beastlord/ChillingClaws.lua new file mode 100644 index 0000000..e3f376e --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/ChillingClaws.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/ChillingClaws.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:05 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell may cast Chilling Claws on target of attack. Triggers about 2.4 times per minute. +-- Inflicts 81 - 99 cold damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/ClawofKhatiSha.lua b/Spells/Scout/Animist/Beastlord/ClawofKhatiSha.lua new file mode 100644 index 0000000..b149f01 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/ClawofKhatiSha.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/ClawofKhatiSha.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 806 - 1343 melee damage on target +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/CourageousScarring.lua b/Spells/Scout/Animist/Beastlord/CourageousScarring.lua new file mode 100644 index 0000000..7b0ecb6 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/CourageousScarring.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/CourageousScarring.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 448 - 747 melee damage on target encounter +-- Increases Armor Mitigation of group members (AE) by 10-22% +-- The effect of this ability grows based on Savagery and Spirituality level. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/DraconicBreath.lua b/Spells/Scout/Animist/Beastlord/DraconicBreath.lua new file mode 100644 index 0000000..3f724d2 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/DraconicBreath.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/DraconicBreath.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Feral Rampage level. +-- Inflicts 1275 - 2125 heat damage on targets in Area of Effect +-- You must have Tame Exotic Warder to use this Primal. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/EnchantedBarrier.lua b/Spells/Scout/Animist/Beastlord/EnchantedBarrier.lua new file mode 100644 index 0000000..4ef1be9 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/EnchantedBarrier.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/EnchantedBarrier.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases power of group members (AE) by 2 - 4 +-- Reduces all damage done to group members (AE) by 10% +-- The effect of this ability grows based on Spirituality level. +-- You must have Tame Exotic Warder to use this Primal. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/EnergizingAssault.lua b/Spells/Scout/Animist/Beastlord/EnergizingAssault.lua new file mode 100644 index 0000000..33f2720 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/EnergizingAssault.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/EnergizingAssault.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Increases power of group members (AE) by 4 - 6 +-- Inflicts 358 - 597 melee damage on target encounter +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FeralPounce.lua b/Spells/Scout/Animist/Beastlord/FeralPounce.lua new file mode 100644 index 0000000..775ee7c --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FeralPounce.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FeralPounce.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 632 - 1054 melee damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- You must be in stealth. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FeralRending.lua b/Spells/Scout/Animist/Beastlord/FeralRending.lua new file mode 100644 index 0000000..59b3094 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FeralRending.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FeralRending.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 952 - 1587 melee damage on target +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FeralStance.lua b/Spells/Scout/Animist/Beastlord/FeralStance.lua new file mode 100644 index 0000000..2f9b2b5 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FeralStance.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FeralStance.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Damage Per Second of caster by 17.0 +-- Increases Slashing, Piercing, Ranged and Crushing of caster by 9.9 +-- Using a Primal will activate Feral Rampage on the Beastlord + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FerociousRoar.lua b/Spells/Scout/Animist/Beastlord/FerociousRoar.lua new file mode 100644 index 0000000..0d46b35 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FerociousRoar.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FerociousRoar.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Weapon Damage Bonus of group members (AE) by 10-22% +-- The effect of this ability grows based on Savagery and Spirituality level. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FlurryofClaws.lua b/Spells/Scout/Animist/Beastlord/FlurryofClaws.lua new file mode 100644 index 0000000..5eceb92 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FlurryofClaws.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FlurryofClaws.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Inflicts 122 - 203 melee damage on target +-- Inflicts 122 - 203 melee damage on target +-- Inflicts 122 - 203 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/FrigidFortification.lua b/Spells/Scout/Animist/Beastlord/FrigidFortification.lua new file mode 100644 index 0000000..893a631 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/FrigidFortification.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/FrigidFortification.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Wards group members (AE) against 5 points of all damage +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/GlacialLance.lua b/Spells/Scout/Animist/Beastlord/GlacialLance.lua new file mode 100644 index 0000000..6e10735 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/GlacialLance.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/GlacialLance.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 15 - 25 cold damage on target +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/GlacialLanceX.lua b/Spells/Scout/Animist/Beastlord/GlacialLanceX.lua new file mode 100644 index 0000000..ef2311e --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/GlacialLanceX.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/GlacialLanceX.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 491 - 819 cold damage on target +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/GlacialLanceXI.lua b/Spells/Scout/Animist/Beastlord/GlacialLanceXI.lua new file mode 100644 index 0000000..f4ad13c --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/GlacialLanceXI.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/GlacialLanceXI.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 560 - 934 cold damage on target +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/GlacialRoar.lua b/Spells/Scout/Animist/Beastlord/GlacialRoar.lua new file mode 100644 index 0000000..80aee53 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/GlacialRoar.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/GlacialRoar.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 155 - 259 cold damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/GrinningOnslaught.lua b/Spells/Scout/Animist/Beastlord/GrinningOnslaught.lua new file mode 100644 index 0000000..d9c6ae3 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/GrinningOnslaught.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/GrinningOnslaught.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces the power cost of the group's abilities by 30%. +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Inflicts 358 - 597 melee damage on target encounter +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/HawkEyes.lua b/Spells/Scout/Animist/Beastlord/HawkEyes.lua new file mode 100644 index 0000000..cb14d79 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/HawkEyes.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/HawkEyes.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Increases Crit Bonus of caster by 15.0% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/KaldrahirsLeadership.lua b/Spells/Scout/Animist/Beastlord/KaldrahirsLeadership.lua new file mode 100644 index 0000000..3d12508 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/KaldrahirsLeadership.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/KaldrahirsLeadership.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 411 - 686 melee damage on target encounter +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Increases Potency of group members (AE) by 20-44% +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/LuclinsPain.lua b/Spells/Scout/Animist/Beastlord/LuclinsPain.lua new file mode 100644 index 0000000..eebdb18 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/LuclinsPain.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/LuclinsPain.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 840 - 1401 cold damage on targets in Area of Effect +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/NeurotoxicVenom.lua b/Spells/Scout/Animist/Beastlord/NeurotoxicVenom.lua new file mode 100644 index 0000000..8f25d3e --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/NeurotoxicVenom.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/NeurotoxicVenom.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 588 - 981 poison damage on target +-- Inflicts 3 - 5 poison damage on target every 2 seconds +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/NoxiousAssault.lua b/Spells/Scout/Animist/Beastlord/NoxiousAssault.lua new file mode 100644 index 0000000..1f5829d --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/NoxiousAssault.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/NoxiousAssault.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 227 - 379 poison damage on target encounter +-- Increases Crit Bonus of group members (AE) by 10.0% +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/NoxiousGrasp.lua b/Spells/Scout/Animist/Beastlord/NoxiousGrasp.lua new file mode 100644 index 0000000..00fcdeb --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/NoxiousGrasp.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/NoxiousGrasp.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 1195 - 1992 poison damage on target +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Teleports your target in front of you. +-- If Target is not Epic +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/QuickSwipe.lua b/Spells/Scout/Animist/Beastlord/QuickSwipe.lua new file mode 100644 index 0000000..14d0c19 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/QuickSwipe.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/QuickSwipe.lua + Script Author : John Adams + Script Date : 2013.11.20 09:11:24 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) + +function cast(Caster, Target, DmgType, MinVal, MaxVal, DPSAmt, AttackSpeed) + + -- Inflicts 7 - 13 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Decreases Damage Per Second of target by 4.2 + AddSpellBonus(Target, 629, DPSAmt) + + -- Decreases Attack Speed of target by 3.6 + AddSpellBonus(Target, 617, AttackSpeed) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Animist/Beastlord/QuickSwipeX.lua b/Spells/Scout/Animist/Beastlord/QuickSwipeX.lua new file mode 100644 index 0000000..8d39434 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/QuickSwipeX.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/QuickSwipeX.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 366 - 610 melee damage on target +-- Decreases Damage Per Second of target by 10.4 +-- Decreases Attack Speed of target by 6.6 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/QuickSwipeXI.lua b/Spells/Scout/Animist/Beastlord/QuickSwipeXI.lua new file mode 100644 index 0000000..df3d6d5 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/QuickSwipeXI.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/QuickSwipeXI.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 428 - 714 melee damage on target +-- Decreases Damage Per Second of target by 11.6 +-- Decreases Attack Speed of target by 6.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/RapidFlurry.lua b/Spells/Scout/Animist/Beastlord/RapidFlurry.lua new file mode 100644 index 0000000..1011d5b --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/RapidFlurry.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/RapidFlurry.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 358 - 597 melee damage on target encounter +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Increases attack speed of group members (AE) by 15-33% +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/RestorationofMarishaKur.lua b/Spells/Scout/Animist/Beastlord/RestorationofMarishaKur.lua new file mode 100644 index 0000000..501be05 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/RestorationofMarishaKur.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/RestorationofMarishaKur.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 358 - 597 melee damage on target encounter +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Heals group members (AE) for 5 - 9 +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/Rush.lua b/Spells/Scout/Animist/Beastlord/Rush.lua new file mode 100644 index 0000000..2b83733 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/Rush.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/Rush.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 5 - 9 melee damage on target +-- Inflicts 5 - 9 melee damage on target +-- Inflicts 5 - 9 melee damage on target +-- Inflicts 5 - 9 melee damage on target +-- Inflicts 5 - 9 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/RushX.lua b/Spells/Scout/Animist/Beastlord/RushX.lua new file mode 100644 index 0000000..afe530d --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/RushX.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/RushX.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 252 - 421 melee damage on target +-- Inflicts 252 - 421 melee damage on target +-- Inflicts 252 - 421 melee damage on target +-- Inflicts 252 - 421 melee damage on target +-- Inflicts 252 - 421 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/RushXI.lua b/Spells/Scout/Animist/Beastlord/RushXI.lua new file mode 100644 index 0000000..e839ffd --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/RushXI.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/RushXI.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 292 - 486 melee damage on target +-- Inflicts 292 - 486 melee damage on target +-- Inflicts 292 - 486 melee damage on target +-- Inflicts 292 - 486 melee damage on target +-- Inflicts 292 - 486 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SalivaryExcretion.lua b/Spells/Scout/Animist/Beastlord/SalivaryExcretion.lua new file mode 100644 index 0000000..37d058c --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SalivaryExcretion.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SalivaryExcretion.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases attack speed by 10-22% +-- Increases damage per second by 10-22% +-- Inflicts 916 - 1527 poison damage on target +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Must be flanking or behind +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SavageRavaging.lua b/Spells/Scout/Animist/Beastlord/SavageRavaging.lua new file mode 100644 index 0000000..e4eb560 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SavageRavaging.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SavageRavaging.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 1494 - 2491 piercing damage on target +-- Must be flanking or behind +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SavageResilience.lua b/Spells/Scout/Animist/Beastlord/SavageResilience.lua new file mode 100644 index 0000000..b0b9cb4 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SavageResilience.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SavageResilience.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:32 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 78 - 130 melee damage on target encounter +-- Reduces all damage done to group members (AE) by 3% +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Heals group members (AE) for 2 - 4 +-- Heals group members (AE) for 1 every 3 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SavageRuin.lua b/Spells/Scout/Animist/Beastlord/SavageRuin.lua new file mode 100644 index 0000000..3d245eb --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SavageRuin.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SavageRuin.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On any combat or spell hit this spell may cast Savage Ruin on target of attack. Triggers about 5.0 times per minute. +-- Inflicts 83 - 102 slashing damage on target +-- Increases Mitigation of caster vs physical damage by 183 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/ShadowLeap.lua b/Spells/Scout/Animist/Beastlord/ShadowLeap.lua new file mode 100644 index 0000000..bdc215b --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/ShadowLeap.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/ShadowLeap.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 1494 - 2491 melee damage on target +-- You must be in stealth. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/ShalihMarsMandate.lua b/Spells/Scout/Animist/Beastlord/ShalihMarsMandate.lua new file mode 100644 index 0000000..bd7321c --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/ShalihMarsMandate.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/ShalihMarsMandate.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 537 - 895 melee damage on target +-- Increases Potency by 20-44% +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/ShiverbackEndemic.lua b/Spells/Scout/Animist/Beastlord/ShiverbackEndemic.lua new file mode 100644 index 0000000..97eb46f --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/ShiverbackEndemic.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/ShiverbackEndemic.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 3 - 5 cold damage on target every 2 seconds +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Inflicts 169 - 282 cold damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SilentTalon.lua b/Spells/Scout/Animist/Beastlord/SilentTalon.lua new file mode 100644 index 0000000..39b5a27 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SilentTalon.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SilentTalon.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 996 - 1660 piercing damage on target +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 6 - 10 piercing damage on target every 2 seconds +-- You must be in stealth. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SonicScreech.lua b/Spells/Scout/Animist/Beastlord/SonicScreech.lua new file mode 100644 index 0000000..060a149 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SonicScreech.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SonicScreech.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 1245 - 2075 piercing damage on targets in Area of Effect +-- You must be in stealth. +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SpinechillerBlood.lua b/Spells/Scout/Animist/Beastlord/SpinechillerBlood.lua new file mode 100644 index 0000000..6035a52 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SpinechillerBlood.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SpinechillerBlood.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 12 - 20 poison damage on target +-- Inflicts 3 - 5 poison damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SpinechillerBloodX.lua b/Spells/Scout/Animist/Beastlord/SpinechillerBloodX.lua new file mode 100644 index 0000000..44303f7 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SpinechillerBloodX.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SpinechillerBloodX.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 247 - 412 poison damage on target +-- Inflicts 62 - 103 poison damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/Spiritshroud.lua b/Spells/Scout/Animist/Beastlord/Spiritshroud.lua new file mode 100644 index 0000000..ece7928 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/Spiritshroud.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/Spiritshroud.lua + Script Author : John Adams + Script Date : 2013.11.20 09:11:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- Grants stealth to caster + -- Suspends caster's movement speed enhancements + Stealth(Caster, 1) +end + +function remove(Caster, Target) + Stealth(Caster, 0) +end diff --git a/Spells/Scout/Animist/Beastlord/SpiritualFeast.lua b/Spells/Scout/Animist/Beastlord/SpiritualFeast.lua new file mode 100644 index 0000000..9126090 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SpiritualFeast.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SpiritualFeast.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 151 - 252 melee damage on target encounter +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Increases power of group members (AE) by 2 - 3 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SpiritualStance.lua b/Spells/Scout/Animist/Beastlord/SpiritualStance.lua new file mode 100644 index 0000000..708cedd --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SpiritualStance.lua @@ -0,0 +1,33 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SpiritualStance.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Using a Primal will activate Spirituality on the Beastlord +-- Adds 2.4% to base avoidance. +-- Increases Parry, Deflection and Defense of caster by 19.8 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 1080 +-- Increases the caster's effectiveness of worn armor vs physical damage by 10% +-- When a combat art is used this spell will cast Savage Spirit on target. +-- Increases savagery of caster by 14.0 +-- This effect cannot be critically applied. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderAmphibian.lua b/Spells/Scout/Animist/Beastlord/SummonWarderAmphibian.lua new file mode 100644 index 0000000..8bd25a0 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderAmphibian.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderAmphibian.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons an amphibian warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderAquatic.lua b/Spells/Scout/Animist/Beastlord/SummonWarderAquatic.lua new file mode 100644 index 0000000..4ae905f --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderAquatic.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderAquatic.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons an aquatic warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderAvian.lua b/Spells/Scout/Animist/Beastlord/SummonWarderAvian.lua new file mode 100644 index 0000000..a3c3f37 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderAvian.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderAvian.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons an avian warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderBat.lua b/Spells/Scout/Animist/Beastlord/SummonWarderBat.lua new file mode 100644 index 0000000..5af22e5 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderBat.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderBat.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:33 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a bat warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderBear.lua b/Spells/Scout/Animist/Beastlord/SummonWarderBear.lua new file mode 100644 index 0000000..56ef485 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderBear.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderBear.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a bear warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderBoar.lua b/Spells/Scout/Animist/Beastlord/SummonWarderBoar.lua new file mode 100644 index 0000000..81b0fab --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderBoar.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderBoar.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a boar warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderBovid.lua b/Spells/Scout/Animist/Beastlord/SummonWarderBovid.lua new file mode 100644 index 0000000..f72c66c --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderBovid.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderBovid.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a bovid warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderCanine.lua b/Spells/Scout/Animist/Beastlord/SummonWarderCanine.lua new file mode 100644 index 0000000..4da55f6 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderCanine.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderCanine.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a canine warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderDire.lua b/Spells/Scout/Animist/Beastlord/SummonWarderDire.lua new file mode 100644 index 0000000..b17988d --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderDire.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderDire.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a dire warder +-- You must have Tame Exotic Warder to summon an Exotic Warder. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderDrake.lua b/Spells/Scout/Animist/Beastlord/SummonWarderDrake.lua new file mode 100644 index 0000000..d3d5e68 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderDrake.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderDrake.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a drake warder +-- You must have Tame Exotic Warder to summon an Exotic Warder. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderEnchanted.lua b/Spells/Scout/Animist/Beastlord/SummonWarderEnchanted.lua new file mode 100644 index 0000000..598d9f6 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderEnchanted.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderEnchanted.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons an enchanted warder +-- You must have Tame Exotic Warder to summon an Exotic Warder. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderFeline.lua b/Spells/Scout/Animist/Beastlord/SummonWarderFeline.lua new file mode 100644 index 0000000..06f8c83 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderFeline.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderFeline.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a feline warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderInsect.lua b/Spells/Scout/Animist/Beastlord/SummonWarderInsect.lua new file mode 100644 index 0000000..b2255d3 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderInsect.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderInsect.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons an insect warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderMystical.lua b/Spells/Scout/Animist/Beastlord/SummonWarderMystical.lua new file mode 100644 index 0000000..61644da --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderMystical.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderMystical.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a mystical warder +-- You must have Tame Exotic Warder to summon an Exotic Warder. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderReptile.lua b/Spells/Scout/Animist/Beastlord/SummonWarderReptile.lua new file mode 100644 index 0000000..926983b --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderReptile.lua @@ -0,0 +1,10 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderReptile.lua + Script Author : John Adams + Script Date : 2013.11.20 09:11:11 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Summons a reptile warder diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderRodent.lua b/Spells/Scout/Animist/Beastlord/SummonWarderRodent.lua new file mode 100644 index 0000000..bb6f1d0 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderRodent.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderRodent.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a rodent warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderSimian.lua b/Spells/Scout/Animist/Beastlord/SummonWarderSimian.lua new file mode 100644 index 0000000..348b91b --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderSimian.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderSimian.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a simian warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/SummonWarderWarboar.lua b/Spells/Scout/Animist/Beastlord/SummonWarderWarboar.lua new file mode 100644 index 0000000..0a76feb --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/SummonWarderWarboar.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/SummonWarderWarboar.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Summons a war boar warder + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/TameInsectWarder.lua b/Spells/Scout/Animist/Beastlord/TameInsectWarder.lua new file mode 100644 index 0000000..97a8ec5 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/TameInsectWarder.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/TameInsectWarder.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows the beastlord to tame insects. +-- You cannot tame while you have a warder summoned. +-- Must be engaged in combat +-- If under 25% Health +-- Certain enemies cannot be tamed. +-- Does not affect Epic targets +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/TameWarder.lua b/Spells/Scout/Animist/Beastlord/TameWarder.lua new file mode 100644 index 0000000..73d450b --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/TameWarder.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/TameWarder.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Allows the beastlord to tame specific creatures. +-- You cannot tame while you have a warder summoned. +-- Must be engaged in combat +-- If under 50% Health +-- Certain enemies cannot be tamed. +-- Does not affect Epic targets +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/TruespiritClaws.lua b/Spells/Scout/Animist/Beastlord/TruespiritClaws.lua new file mode 100644 index 0000000..c142ba6 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/TruespiritClaws.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/TruespiritClaws.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases savagery of caster by 20.0 +-- This effect cannot be critically applied. +-- Increases Multi Attack Chance of group members (AE) by 15.0 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/TruespiritVenom.lua b/Spells/Scout/Animist/Beastlord/TruespiritVenom.lua new file mode 100644 index 0000000..3016ec4 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/TruespiritVenom.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/TruespiritVenom.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 5 - 9 poison damage on target every 2 seconds +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Inflicts 672 - 1121 poison damage on target +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/UllasResolution.lua b/Spells/Scout/Animist/Beastlord/UllasResolution.lua new file mode 100644 index 0000000..25f761a --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/UllasResolution.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/UllasResolution.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals group members (AE) for 4 - 6 +-- Heals group members (AE) for 1 - 2 every 3 seconds +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Reduces all damage done to group members (AE) by 4% +-- Inflicts 411 - 686 melee damage on target encounter +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/VenomFangs.lua b/Spells/Scout/Animist/Beastlord/VenomFangs.lua new file mode 100644 index 0000000..adf1d9e --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/VenomFangs.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/VenomFangs.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Feral Rampage level. +-- Increases Multi-Attack by 20-44% +-- Inflicts 916 - 1527 piercing damage on target +-- Must be flanking or behind +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/VineNet.lua b/Spells/Scout/Animist/Beastlord/VineNet.lua new file mode 100644 index 0000000..ffd7dca --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/VineNet.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/VineNet.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare. Lasts for 24.0 seconds. +-- Slows target by 28.1% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Decreases Mitigation of target vs elemental and noxious damage by 91 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Beastlord/WildGoring.lua b/Spells/Scout/Animist/Beastlord/WildGoring.lua new file mode 100644 index 0000000..5830327 --- /dev/null +++ b/Spells/Scout/Animist/Beastlord/WildGoring.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Animist/Beastlord/WildGoring.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- The effect of this ability grows based on Savagery and Spirituality level. +-- Increases Multi-Attack Chance of group members (AE) by 10-22% +-- Inflicts 448 - 747 melee damage on target encounter +-- You must have your warder active to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/MasterofBeasts.lua b/Spells/Scout/Animist/MasterofBeasts.lua new file mode 100644 index 0000000..3d46ff0 --- /dev/null +++ b/Spells/Scout/Animist/MasterofBeasts.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Animist/MasterofBeasts.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces the cost of Feral Rampage and Spirituality by 15% +-- On any combat or spell hit this spell may cast Primal Rage on caster. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Crit Bonus of pet by 20.0% +-- Prevents AOE on pet (except when direct) +-- Cannot be modified except by direct means +-- Increases the damage, ward or heal amount of Primals by 20%. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/SharpenedClaws.lua b/Spells/Scout/Animist/SharpenedClaws.lua new file mode 100644 index 0000000..90ba646 --- /dev/null +++ b/Spells/Scout/Animist/SharpenedClaws.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Animist/SharpenedClaws.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 29 - 36 piercing damage on target +-- Interrupts target +-- On any combat or spell hit this spell will cast Sharpened Claws on target of attack. +-- Inflicts 25 - 41 piercing damage on target +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/ShrinkWarder.lua b/Spells/Scout/Animist/ShrinkWarder.lua new file mode 100644 index 0000000..4592cd9 --- /dev/null +++ b/Spells/Scout/Animist/ShrinkWarder.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/ShrinkWarder.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Shrink Servant to qualifying pets. +-- Shrinks target by 35.0% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/Spiritshroud.lua b/Spells/Scout/Animist/Spiritshroud.lua new file mode 100644 index 0000000..812092c --- /dev/null +++ b/Spells/Scout/Animist/Spiritshroud.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Animist/Spiritshroud.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Animist/StareDown.lua b/Spells/Scout/Animist/StareDown.lua new file mode 100644 index 0000000..c6b3f7c --- /dev/null +++ b/Spells/Scout/Animist/StareDown.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Animist/StareDown.lua + Script Author : John Adams + Script Date : 2013.08.12 08:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target +-- If Target is not Epic +-- Must be engaged in combat +-- If under 50% Health +-- Only affects targets that can be tamed. +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Assail.lua b/Spells/Scout/Assail.lua new file mode 100644 index 0000000..55398cc --- /dev/null +++ b/Spells/Scout/Assail.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Assail.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 45 - 76 melee damage on target +-- You must be sneaking to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/BriasInspiringBallad.lua b/Spells/Scout/Bard/BriasInspiringBallad.lua new file mode 100644 index 0000000..c97847d --- /dev/null +++ b/Spells/Scout/Bard/BriasInspiringBallad.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Scout/Bard/BriasInspiringBallad.lua + Script Author : theFoof + Script Date : 2013.12.08 09:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target, RegenAmt) +-- Increases In-Combat Power Regeneration of group members (AE) by 3.8 + + AddSpellBonus(Target, 601, RegenAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Scout/Bard/Dirge/CacophonyofBlades.lua b/Spells/Scout/Bard/Dirge/CacophonyofBlades.lua new file mode 100644 index 0000000..d2695c9 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/CacophonyofBlades.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/CacophonyofBlades.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hit this spell will cast Blade Chime on target of attack. +-- Inflicts 53 - 88 disease damage on target +-- Increases Attack Speed of group members (AE) by 30.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/ClarasChaoticCacophony.lua b/Spells/Scout/Bard/Dirge/ClarasChaoticCacophony.lua new file mode 100644 index 0000000..ac972a2 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/ClarasChaoticCacophony.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/ClarasChaoticCacophony.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target encounter vs physical damage by 216 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/DarksongBlade.lua b/Spells/Scout/Bard/Dirge/DarksongBlade.lua new file mode 100644 index 0000000..89465de --- /dev/null +++ b/Spells/Scout/Bard/Dirge/DarksongBlade.lua @@ -0,0 +1,34 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/DarksongBlade.lua + Script Author : theFoof + Script Date : 2013.12.08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DDType1, DmgLow1, DmgHigh1, DDType2, DmgLow2, DmgHigh2, DoTType, DotAmt) +-- Info from spell_display_effects (remove from script when done) +-- Inflicts disease damage on target +-- Inflicts disease damage on target +-- Inflicts disease damage on target instantly and every 6 seconds +-- NOTE: If one of these attacks misses, the rest after miss automaticly + + SpellDamage(Target, DDType1, DmgLow1, DmgHigh1) + + if LastSpellAttackHit() then + SpellDamage(Target, DDType2, DmgLow2, DmgHigh2) + end + if LastSpellAttackHit() then + SpellDamage(Target, DoTType, DotAmt) + end +end + +function tick(Caster, Target, DDType1, DmgLow1, DmgHigh1, DDType2, DmgLow2, DmgHigh2, DoTType, DotAmt) + if LastSpellAttackHit() then + SpellDamage(Target, DoTType, DotAmt) + end +end + +function remove(Caster, Target) +end + diff --git a/Spells/Scout/Bard/Dirge/DarosDullBlade.lua b/Spells/Scout/Bard/Dirge/DarosDullBlade.lua new file mode 100644 index 0000000..2e6435b --- /dev/null +++ b/Spells/Scout/Bard/Dirge/DarosDullBlade.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/DarosDullBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 24 - 41 melee damage on target +-- Decreases Damage Per Second of target by 10.9 +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/DarosSorrowfulDirge.lua b/Spells/Scout/Bard/Dirge/DarosSorrowfulDirge.lua new file mode 100644 index 0000000..e04b47f --- /dev/null +++ b/Spells/Scout/Bard/Dirge/DarosSorrowfulDirge.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/DarosSorrowfulDirge.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Attack Speed of target encounter by 11.7 +-- Slows target encounter by 16.2% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/DeadCalm.lua b/Spells/Scout/Bard/Dirge/DeadCalm.lua new file mode 100644 index 0000000..96f664d --- /dev/null +++ b/Spells/Scout/Bard/Dirge/DeadCalm.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/DeadCalm.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a combat hit this spell has a 12% chance to cast Crypt's Revenge on target of attack. +-- Inflicts 53 - 88 disease damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/DeathsDoor.lua b/Spells/Scout/Bard/Dirge/DeathsDoor.lua new file mode 100644 index 0000000..43c99ba --- /dev/null +++ b/Spells/Scout/Bard/Dirge/DeathsDoor.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/DeathsDoor.lua + Script Author : theFoof + Script Date : 2013.12.08 08:12:24 + Script Purpose : + : +--]] + +-- Increases AGI of caster +-- When damaged this spell has a chance to cast Death Barrier on target's attacker. +-- Inflicts disease damage on target +-- Adds to base avoidance. +-- Increases Mitigation of caster vs physical damage +-- Increases Mitigation of caster vs elemental, noxious and arcane damage + +function cast(Caster, Target, AgiAmt, ProcChance, DDType, DmgLow, DmgHigh, AvoidAmt, PhysMit, EleNoxMit) + AddSpellBonus(Target, 2, AgiAmt) + AddProc(Target, 2, ProcChance) + AddSpellBonus(Target, 696, AvoidAmt) + AddSpellBonus(Target, 200, PhysMit) + AddSpellBonus(Target, 201, EleNoxMit) + AddSpellBonus(Target, 202, EleNoxMit) +end + +function proc(Caster, Target, ProcType, AgiAmt, ProcChance, DDType, DmgLow, DmgHigh, AvoidAmt, PhysMit, EleNoxMit) + ProcDamage(Caster, Target, "Death Barrier", DDType, DmgLow, DmgHigh) +end + +function remove(Caster, Target) + RemoveSpellBonus(Caster) + RemoveProc(Caster) +end diff --git a/Spells/Scout/Bard/Dirge/ElegyatDeathsDoor.lua b/Spells/Scout/Bard/Dirge/ElegyatDeathsDoor.lua new file mode 100644 index 0000000..039bbca --- /dev/null +++ b/Spells/Scout/Bard/Dirge/ElegyatDeathsDoor.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/ElegyatDeathsDoor.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 123.0 +-- Decreases Lethality of target by 123.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- Applies Elegy on termination. +-- Heals target for 27.6% of max health +-- Resurrects target with 10% health and power +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/ElegyofAwakening.lua b/Spells/Scout/Bard/Dirge/ElegyofAwakening.lua new file mode 100644 index 0000000..1145dde --- /dev/null +++ b/Spells/Scout/Bard/Dirge/ElegyofAwakening.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/ElegyofAwakening.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Resurrects target with 10% health and power +-- Applies Elegy on termination. +-- Heals target for 27.6% of max health +-- Applies Revived Sickness on termination. Lasts for 2 minutes. +-- Decreases Toughness of target by 145.0 +-- Decreases Lethality of target by 145.0 +-- Decreases All Attributes of target by 20.0% +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 20.0 +-- If not between levels 1 - 6 +-- Decreases Attack Speed of target by 5.0 +-- If between levels 1 - 6 +-- Decreases All Attributes of target by 5.0% +-- If between levels 1 - 6 +-- If outside an arena + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/GarsinsFuneralMarch.lua b/Spells/Scout/Bard/Dirge/GarsinsFuneralMarch.lua new file mode 100644 index 0000000..cfd1ebf --- /dev/null +++ b/Spells/Scout/Bard/Dirge/GarsinsFuneralMarch.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/GarsinsFuneralMarch.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Makes target afraid +-- 30% chance to dispel when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/Gravitas.lua b/Spells/Scout/Bard/Dirge/Gravitas.lua new file mode 100644 index 0000000..f52a10d --- /dev/null +++ b/Spells/Scout/Bard/Dirge/Gravitas.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/Gravitas.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases the resurrect restoration amount of target ally by 18% +-- Increases the healing and ward of target ally by 18% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/HarlsRousingTune.lua b/Spells/Scout/Bard/Dirge/HarlsRousingTune.lua new file mode 100644 index 0000000..344285f --- /dev/null +++ b/Spells/Scout/Bard/Dirge/HarlsRousingTune.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/HarlsRousingTune.lua + Script Author : theFoof + Script Date : 2013.08.11 09:08:41 + Script Purpose : + : +--]] + + +function cast(Caster, Target, StatAmount, AvoidanceAmt) + AddSpellBonus(Caster, 0, StatAmount) + AddSpellBonus(Caster, 2, StatAmount) + AddSpellBonus(Caster, 696, AvoidanceAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Caster) +end diff --git a/Spells/Scout/Bard/Dirge/HowlofDeath.lua b/Spells/Scout/Bard/Dirge/HowlofDeath.lua new file mode 100644 index 0000000..1538364 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/HowlofDeath.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/HowlofDeath.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 101 - 168 disease damage on target +-- Heals caster for 44 - 74 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/HymnofHorror.lua b/Spells/Scout/Bard/Dirge/HymnofHorror.lua new file mode 100644 index 0000000..10c2104 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/HymnofHorror.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/HymnofHorror.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts targets in Area of Effect +-- 6% chance to apply Knockdown. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets +-- Blurs vision of targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/HyransSeethingSonata.lua b/Spells/Scout/Bard/Dirge/HyransSeethingSonata.lua new file mode 100644 index 0000000..abedbf7 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/HyransSeethingSonata.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/HyransSeethingSonata.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/JaelsDreadfulDeprivation.lua b/Spells/Scout/Bard/Dirge/JaelsDreadfulDeprivation.lua new file mode 100644 index 0000000..7a39b41 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/JaelsDreadfulDeprivation.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/JaelsDreadfulDeprivation.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:41 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Roots target +-- If Target is not Epic +-- Inflicts 44 - 73 disease damage on target +-- Inflicts 44 - 73 disease damage on target +-- If weapon equipped in Ranged +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/JaelsMysteriousMettle.lua b/Spells/Scout/Bard/Dirge/JaelsMysteriousMettle.lua new file mode 100644 index 0000000..bdd1fda --- /dev/null +++ b/Spells/Scout/Bard/Dirge/JaelsMysteriousMettle.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/JaelsMysteriousMettle.lua + Script Author : theFoof + Script Date : 2013.12.09 12:12:20 + Script Purpose : + : +--]] + +-- Increases Parry of group members (AE) by 7.3 + +function cast(Caster, Target, BuffAmt) + AddSkillBonus(Target, GetSkillIDByName("Parry"), BuffAmt) +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Scout/Bard/Dirge/JarolsSorrowfulRequiem.lua b/Spells/Scout/Bard/Dirge/JarolsSorrowfulRequiem.lua new file mode 100644 index 0000000..3b45d9a --- /dev/null +++ b/Spells/Scout/Bard/Dirge/JarolsSorrowfulRequiem.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/JarolsSorrowfulRequiem.lua + Script Author : theFoof + Script Date : 2013.12.08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DDType, DmgLow, DmgHigh) +-- Inflicts disease damage on target encounter + + SpellDamage(Target, DDType, DmgLow, DmgHigh) +end + +function remove(Caster, Target) +end + diff --git a/Spells/Scout/Bard/Dirge/LanetsExcruciatingScream.lua b/Spells/Scout/Bard/Dirge/LanetsExcruciatingScream.lua new file mode 100644 index 0000000..1ec540f --- /dev/null +++ b/Spells/Scout/Bard/Dirge/LanetsExcruciatingScream.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/LanetsExcruciatingScream.lua + Script Author : theFoof + Script Date : 2013.12.08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, DmgLow, DmgHigh) +-- Dazes target +-- If Target is not Epic +-- Inflicts disease damage on target +-- Resistibility increases against targets higher than level 29. (need to add code for this eventually) + + if not IsEpic(Target) then + AddControlEffect(Target, 3) + end +end + +function remove(Caster, Target, DmgType, DmgLow, DmgHigh) + RemoveControlEffect(Target, 3) + SpellDamage(Target, DmgType, DmgLow, DmgHigh) +end + diff --git a/Spells/Scout/Bard/Dirge/LudasNefariousWail.lua b/Spells/Scout/Bard/Dirge/LudasNefariousWail.lua new file mode 100644 index 0000000..7139889 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/LudasNefariousWail.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/LudasNefariousWail.lua + Script Author : theFoof + Script Date : 2013.12.8 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, DmgLow, DmgHigh) + SpellDamage(Target, DmgType, DmgLow, DmgHigh) +end + +function remove(Caster, Target) +end + diff --git a/Spells/Scout/Bard/Dirge/MarchofBlades.lua b/Spells/Scout/Bard/Dirge/MarchofBlades.lua new file mode 100644 index 0000000..0383b75 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/MarchofBlades.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/MarchofBlades.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Intrepid Strike on caster. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Potency of caster by 25.0% +-- Caster has a 25.0% chance of having one of their weapons' autoattack strike the target multiple times. +-- Cannot be modified except by direct means +-- Riana's Relentless Tune will improve combat art damage by 10% +-- Applies the effects of Cacophony of Blades to all raid members. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/MisfortunesKiss.lua b/Spells/Scout/Bard/Dirge/MisfortunesKiss.lua new file mode 100644 index 0000000..1cf8496 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/MisfortunesKiss.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/MisfortunesKiss.lua + Script Author : theFoof + Script Date : 2013.12.8 + Script Purpose : + : +--]] + + +function precast(Caster, Target) + if IsStealthed(Caster) then + return true + end + SendMessage(Caster, "You must be sneaking to use this ability.", "yellow") + return false, 0 +end + +function cast(Caster, Target, DmgType, DmgLow, DmgHigh, WisAmt) +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 18 - 30 melee damage on target +-- Decreases WIS of target by 5.0 +-- You must be sneaking to use this ability. + + SpellDamage(Target, DmgType, DmgLow, DmgHigh) + AddSpellBonus(Target, 3, WisAmt) +end + + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Bard/Dirge/NoxiousSymphony.lua b/Spells/Scout/Bard/Dirge/NoxiousSymphony.lua new file mode 100644 index 0000000..f15db2f --- /dev/null +++ b/Spells/Scout/Bard/Dirge/NoxiousSymphony.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/NoxiousSymphony.lua + Script Author : theFoof + Script Date : 2013.12.09 05:12:41 + Script Purpose : + : +--]] + +-- Increases Mitigation of raid and group members (AE) vs noxious damage by 252 + +function cast(Caster, Target, NoxAmt) + AddSpellBonus(Target, 202, NoxAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Scout/Bard/Dirge/OrationofSacrifice.lua b/Spells/Scout/Bard/Dirge/OrationofSacrifice.lua new file mode 100644 index 0000000..7a65f39 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/OrationofSacrifice.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/OrationofSacrifice.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Heals target for 1 instantly and every 0.3 seconds +-- Stifles caster + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/PercussionofStone.lua b/Spells/Scout/Bard/Dirge/PercussionofStone.lua new file mode 100644 index 0000000..74d9f3f --- /dev/null +++ b/Spells/Scout/Bard/Dirge/PercussionofStone.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/PercussionofStone.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell has a 6% chance to cast Stoneskin on target. Lasts for 20.0 seconds. +-- Will absorb physical damage. This spell will absorb a total of 1 attack. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/RianasRelentlessTune.lua b/Spells/Scout/Bard/Dirge/RianasRelentlessTune.lua new file mode 100644 index 0000000..504fbca --- /dev/null +++ b/Spells/Scout/Bard/Dirge/RianasRelentlessTune.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/RianasRelentlessTune.lua + Script Author : theFoof + Script Date : 2013.12.08 + Script Purpose : + : +--]] + +function cast(Caster, Target, MultiAmt) +-- Increases Multi Attack Chance of group members (AE) by 9.0 + + AddSpellBonus(Target, 641, MultiAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Bard/Dirge/ScreamofDeath.lua b/Spells/Scout/Bard/Dirge/ScreamofDeath.lua new file mode 100644 index 0000000..390eafa --- /dev/null +++ b/Spells/Scout/Bard/Dirge/ScreamofDeath.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/ScreamofDeath.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 333 - 555 melee damage on target +-- Applies Scream of Death on termination. Lasts for 15.0 seconds. +-- Applies Scream of Death on termination. Lasts for 15.0 seconds. +-- Inflicts 200 disease damage on target every 3 seconds +-- Inflicts 133 disease damage on target every 3 seconds +-- Inflicts 67 disease damage on target every 3 seconds +-- You must be sneaking to use this ability. +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Dirge/SongstersLuck.lua b/Spells/Scout/Bard/Dirge/SongstersLuck.lua new file mode 100644 index 0000000..2013765 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/SongstersLuck.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/SongstersLuck.lua + Script Author : theFoof + Script Date : 2013.12.08 04:12:42 + Script Purpose : + : +--]] + +function cast(Caster, Target, SkillAmt) +-- Increases Slashing, Crushing, Piercing and Ranged of group members (AE) + + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Crushing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Piercing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Ranged"), SkillAmt) +end + +function remove(Caster, Target) + RemoveSkillBonus(Caster) +end \ No newline at end of file diff --git a/Spells/Scout/Bard/Dirge/TarvensCripplingCrescendo.lua b/Spells/Scout/Bard/Dirge/TarvensCripplingCrescendo.lua new file mode 100644 index 0000000..7c0f931 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/TarvensCripplingCrescendo.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/TarvensCripplingCrescendo.lua + Script Author : theFoof + Script Date : 2013.12.08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DebuffAmt, DmgType, DmgLow, DmgHigh) +-- Interrupts target +-- Decreases Defense of target +-- Inflicts disease damage on target + + Interrupt(Target) + AddSkillBonus(Target, GetSkillIDByName("Defense"), DebuffAmt) + SpellDamage(Target, DmgType, DmgLow, DmgHigh) +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) +end + diff --git a/Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua b/Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua index 74279b6..65f95de 100644 --- a/Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua +++ b/Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua @@ -1,56 +1,21 @@ --[[ - Script Name : dd_heal.lua - Script Purpose : Generic damage + Heal effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Scout/Bard/Dirge/ThurisDolefulThrust.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:42 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal) - - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "Heal" then - ModifyHP(Caster, EffectValue) - else - -- something else - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - -- something else - end - -end - -function remove(Caster, Target) - +function cast(Caster, Target, DmgType, MinVal, MaxVal, HealAmt) + -- Inflicts 6 - 10 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Heals caster for 3 + if LastSpellAttackHit() then + SpellHeal("Heal", HealAmt, 0, Caster) + end end diff --git a/Spells/Scout/Bard/Dirge/VerliensKeenofDespair.lua b/Spells/Scout/Bard/Dirge/VerliensKeenofDespair.lua new file mode 100644 index 0000000..51637d4 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/VerliensKeenofDespair.lua @@ -0,0 +1,22 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/VerliensKeenofDespair.lua + Script Author : theFoof + Script Date : 2013.12.08 09:08:04 + Script Purpose : + : +--]] + +function cast(Caster, Target, SlowAmt, HostileChance, DmgChance, DebuffAmt, DebuffType) + Say(Caster, "Slow portion not yet scripted for Verlien's Keen of Despair") +-- Slows target +-- chance to dispel when target receives hostile action +-- chance to dispel when target takes damage +-- Decreases Mitigation of target vs noxious damage + + AddSpellBonus(Target, DebuffType, DebuffAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end + diff --git a/Spells/Scout/Bard/Dirge/WailoftheBanshee.lua b/Spells/Scout/Bard/Dirge/WailoftheBanshee.lua new file mode 100644 index 0000000..309f932 --- /dev/null +++ b/Spells/Scout/Bard/Dirge/WailoftheBanshee.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Bard/Dirge/WailoftheBanshee.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Banshee's Scream on termination. +-- Inflicts 428 - 714 disease damage on target +-- Inflicts 143 disease damage on target encounter instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/DishearteningDescant.lua b/Spells/Scout/Bard/DishearteningDescant.lua new file mode 100644 index 0000000..0af49c5 --- /dev/null +++ b/Spells/Scout/Bard/DishearteningDescant.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Scout/Bard/DishearteningDescant.lua + Script Author : theFoof + Script Date : 2013.12.09 12:12:06 + Script Purpose : + : +--]] + +-- Decreases AGI and STR of target encounter by 27.4 + +function cast(Caster, Target, BuffAmt) + AddSkillBonus(Target, 0, BuffAmt) + AddSkillBonus(Target, 2, BuffAmt) +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Scout/Bard/SelosAccelerando.lua b/Spells/Scout/Bard/SelosAccelerando.lua index 1578ce5..dc5264a 100644 --- a/Spells/Scout/Bard/SelosAccelerando.lua +++ b/Spells/Scout/Bard/SelosAccelerando.lua @@ -7,15 +7,10 @@ --]] function cast(Caster, Target, BuffValue) - NewSpeed = GetSpeed(Caster) - if NewSpeed == 0 then - SetSpeed(Caster, BuffValue) - else - SetSpeed(Caster, NewSpeed + BuffValue) - end + AddSpellBonus(Target, 609, BuffValue) end function remove(Caster, Target, BuffValue) - SetSpeed(Caster, 0) + RemoveSpellBonus(Target) end diff --git a/Spells/Scout/Bard/Shroud.lua b/Spells/Scout/Bard/Shroud.lua new file mode 100644 index 0000000..f00797f --- /dev/null +++ b/Spells/Scout/Bard/Shroud.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Shroud.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/AlinsSereneSerenade.lua b/Spells/Scout/Bard/Troubador/AlinsSereneSerenade.lua new file mode 100644 index 0000000..5be91dc --- /dev/null +++ b/Spells/Scout/Bard/Troubador/AlinsSereneSerenade.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/AlinsSereneSerenade.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged this spell will cast Serenade on target's attacker. +-- Decreases Threat to target by 37 +-- If not fighter +-- Decreases Hate Gain of group members (AE) by 10.7% +-- If not fighter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/Allegretto.lua b/Spells/Scout/Bard/Troubador/Allegretto.lua new file mode 100644 index 0000000..eba0566 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/Allegretto.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/Allegretto.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Attack Speed of group members (AE) by 7.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/ArcaneSymphony.lua b/Spells/Scout/Bard/Troubador/ArcaneSymphony.lua new file mode 100644 index 0000000..9bcc6b7 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/ArcaneSymphony.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/ArcaneSymphony.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:46 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Mitigation of raid and group members (AE) vs arcane damage by 252 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/AriaofMagic.lua b/Spells/Scout/Bard/Troubador/AriaofMagic.lua new file mode 100644 index 0000000..eea579f --- /dev/null +++ b/Spells/Scout/Bard/Troubador/AriaofMagic.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/AriaofMagic.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a hostile spell hit this spell has a 30% chance to cast Dissonant Note on target of spell. +-- Inflicts 53 - 89 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/AyonicInspiration.lua b/Spells/Scout/Bard/Troubador/AyonicInspiration.lua new file mode 100644 index 0000000..254b8e7 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/AyonicInspiration.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/AyonicInspiration.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies the effects of Perfection of the Maestro to all raid members. +-- Aria of Magic will improve hostile spell damage by 10% +-- On any combat or spell hit this spell may cast Ayonic Hymn on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Crit Chance of caster by 15.0 +-- Inflicts 626 - 940 mental damage on target +-- Cannot be modified except by direct means +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/BreathtakingBellow.lua b/Spells/Scout/Bard/Troubador/BreathtakingBellow.lua new file mode 100644 index 0000000..31141f1 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/BreathtakingBellow.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/BreathtakingBellow.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- 1% chance to apply Knockdown. Lasts for 1.5 seconds. +-- Stuns target +-- Throws target back +-- Blurs vision of target +-- Does not affect Epic targets +-- Blurs vision of target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/BriasEntrancingSonnet.lua b/Spells/Scout/Bard/Troubador/BriasEntrancingSonnet.lua new file mode 100644 index 0000000..0a7acd1 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/BriasEntrancingSonnet.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/BriasEntrancingSonnet.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Charms target +-- If outside an arena +-- Certain enemies cannot be charmed +-- Does not affect Epic targets + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/BrilliantBlade.lua b/Spells/Scout/Bard/Troubador/BrilliantBlade.lua new file mode 100644 index 0000000..5589caa --- /dev/null +++ b/Spells/Scout/Bard/Troubador/BrilliantBlade.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : dd_debuff.lua + Script Purpose : Generic damage + 1 effect script + Script Author : John Adams + Script Date : 2008.12.04 + Script Notes : Parameter 4 and 5 are the debuff type and value (param 6 if value is a range) +--]] + +function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + + -- Debuff component + -- Determine if there is a range to effect values + if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then + -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? + DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) + else + DebuffValue = MinDebuffVal + end + + -- Determine DebuffType - either a DamageType or a String value passed as param 4 + if DebuffType == "Attack" then + -- ModifyAttackSpeed(Target, -DebuffValue) + elseif DebuffType == "DPS" then + -- ModifyDPS(Target, -DebuffValue) + elseif DebuffType == "Disease" then + -- ModifyDisease(Target, -DebuffValue) + elseif DebuffType == "Power" then + ModifyPower(Target, -DebuffValue) + elseif DebuffType == "Knockback" then + SpawnSet(Target, "visual_state", "10900") + end + + -- DD component (instant damage) + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) + else + SpellDamage(Target, DDType, MinDDVal) + end +end + +function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + +end + +function remove(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + +end diff --git a/Spells/Scout/Bard/Troubador/CeremonialBlade.lua b/Spells/Scout/Bard/Troubador/CeremonialBlade.lua new file mode 100644 index 0000000..dd42e52 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/CeremonialBlade.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/CeremonialBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 32 - 54 mental damage on target +-- Inflicts 32 - 54 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/ChaosAnthem.lua b/Spells/Scout/Bard/Troubador/ChaosAnthem.lua new file mode 100644 index 0000000..07768c1 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/ChaosAnthem.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/ChaosAnthem.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases WIS of target encounter by 22.1 +-- Inflicts 51 mental damage on target encounter instantly and every 6 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/Countersong.lua b/Spells/Scout/Bard/Troubador/Countersong.lua new file mode 100644 index 0000000..33ded31 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/Countersong.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/Countersong.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases the damage done by the next spell cast by 10 percent +-- Target will reduce the chance for one of their weapons' autoattack to affect multiple targets by 56.2% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/DaelisDanceofBlades.lua b/Spells/Scout/Bard/Troubador/DaelisDanceofBlades.lua new file mode 100644 index 0000000..0b952ac --- /dev/null +++ b/Spells/Scout/Bard/Troubador/DaelisDanceofBlades.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/DaelisDanceofBlades.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI of caster by 47.0 +-- When damaged with a spell this spell has a 20% chance to cast Song Barrier on target's attacker. +-- Inflicts 65 - 109 mental damage on target +-- When damaged with a melee weapon this spell has a 20% chance to cast Song Barrier on target's attacker. +-- Inflicts 65 - 109 mental damage on target +-- Adds 14.0% to base avoidance. +-- Increases Mitigation of caster vs physical damage by 170 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 379 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/DancingBlade.lua b/Spells/Scout/Bard/Troubador/DancingBlade.lua new file mode 100644 index 0000000..3e5e825 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/DancingBlade.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/DancingBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs elemental, noxious and arcane damage by 113 +-- Inflicts 92 - 154 melee damage on target +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/DemoralizingProcessional.lua b/Spells/Scout/Bard/Troubador/DemoralizingProcessional.lua new file mode 100644 index 0000000..c528869 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/DemoralizingProcessional.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/DemoralizingProcessional.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases WIS, AGI, STR and INT of target encounter by 58.0 +-- Decreases Crushing, Piercing, Ranged, Focus, Disruption, Subjugation, Ordination, Slashing and Aggression of target encounter by 14.8 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/DepressingChant.lua b/Spells/Scout/Bard/Troubador/DepressingChant.lua new file mode 100644 index 0000000..a4bf98c --- /dev/null +++ b/Spells/Scout/Bard/Troubador/DepressingChant.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/DepressingChant.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs arcane damage by 414 +-- Applies Snare. Lasts for 24.0 seconds. +-- Slows target by 31.1% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/ElementalConcerto.lua b/Spells/Scout/Bard/Troubador/ElementalConcerto.lua new file mode 100644 index 0000000..98d0922 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/ElementalConcerto.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/ElementalConcerto.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Mitigation of raid and group members (AE) vs elemental damage by 554 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/GracefulAvoidance.lua b/Spells/Scout/Bard/Troubador/GracefulAvoidance.lua new file mode 100644 index 0000000..2b44102 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/GracefulAvoidance.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/GracefulAvoidance.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Defense of group members (AE) by 4.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/JestersCap.lua b/Spells/Scout/Bard/Troubador/JestersCap.lua new file mode 100644 index 0000000..c00b733 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/JestersCap.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/JestersCap.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Ability Reuse Speed of target by 22.5% + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/Lullaby.lua b/Spells/Scout/Bard/Troubador/Lullaby.lua new file mode 100644 index 0000000..f299625 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/Lullaby.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/Lullaby.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Mesmerizes target +-- Prevents AOE (except when direct) +-- Dispelled when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/MidnightBlade.lua b/Spells/Scout/Bard/Troubador/MidnightBlade.lua new file mode 100644 index 0000000..5589caa --- /dev/null +++ b/Spells/Scout/Bard/Troubador/MidnightBlade.lua @@ -0,0 +1,47 @@ +--[[ + Script Name : dd_debuff.lua + Script Purpose : Generic damage + 1 effect script + Script Author : John Adams + Script Date : 2008.12.04 + Script Notes : Parameter 4 and 5 are the debuff type and value (param 6 if value is a range) +--]] + +function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + + -- Debuff component + -- Determine if there is a range to effect values + if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then + -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? + DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) + else + DebuffValue = MinDebuffVal + end + + -- Determine DebuffType - either a DamageType or a String value passed as param 4 + if DebuffType == "Attack" then + -- ModifyAttackSpeed(Target, -DebuffValue) + elseif DebuffType == "DPS" then + -- ModifyDPS(Target, -DebuffValue) + elseif DebuffType == "Disease" then + -- ModifyDisease(Target, -DebuffValue) + elseif DebuffType == "Power" then + ModifyPower(Target, -DebuffValue) + elseif DebuffType == "Knockback" then + SpawnSet(Target, "visual_state", "10900") + end + + -- DD component (instant damage) + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) + else + SpellDamage(Target, DDType, MinDDVal) + end +end + +function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + +end + +function remove(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) + +end diff --git a/Spells/Scout/Bard/Troubador/NightStrike.lua b/Spells/Scout/Bard/Troubador/NightStrike.lua new file mode 100644 index 0000000..5fc3b2e --- /dev/null +++ b/Spells/Scout/Bard/Troubador/NightStrike.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/NightStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases INT of target by 10.4 +-- Inflicts 81 - 135 melee damage on target +-- You must be sneaking to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/PainfulLamentations.lua b/Spells/Scout/Bard/Troubador/PainfulLamentations.lua new file mode 100644 index 0000000..6ac8847 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/PainfulLamentations.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/PainfulLamentations.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Interrupts target encounter +-- Inflicts 111 - 185 mental damage on target encounter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/PerfectShrill.lua b/Spells/Scout/Bard/Troubador/PerfectShrill.lua new file mode 100644 index 0000000..ccd148d --- /dev/null +++ b/Spells/Scout/Bard/Troubador/PerfectShrill.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/PerfectShrill.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 37 - 62 mental damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/PerfectionoftheMaestro.lua b/Spells/Scout/Bard/Troubador/PerfectionoftheMaestro.lua new file mode 100644 index 0000000..6de18d6 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/PerfectionoftheMaestro.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/PerfectionoftheMaestro.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/RaxxylsRousingTune.lua b/Spells/Scout/Bard/Troubador/RaxxylsRousingTune.lua new file mode 100644 index 0000000..acba236 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/RaxxylsRousingTune.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/RaxxylsRousingTune.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI, INT and WIS of group members (AE) by 5.2 +-- Increases Mitigation of group members (AE) vs elemental, noxious and arcane damage by 13 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/RejuvenatingCelebration.lua b/Spells/Scout/Bard/Troubador/RejuvenatingCelebration.lua new file mode 100644 index 0000000..e79fcd0 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/RejuvenatingCelebration.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/RejuvenatingCelebration.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases In-Combat Health Regeneration of group members (AE) by 29.7 +-- Increases Max Health of group members (AE) by 155.7 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/RequiemofReflection.lua b/Spells/Scout/Bard/Troubador/RequiemofReflection.lua new file mode 100644 index 0000000..53bea99 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/RequiemofReflection.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/RequiemofReflection.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/SandrasDeafeningStrike.lua b/Spells/Scout/Bard/Troubador/SandrasDeafeningStrike.lua new file mode 100644 index 0000000..21e5f66 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/SandrasDeafeningStrike.lua @@ -0,0 +1,41 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubador/SandrasDeafeningStrike.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:08 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal, MinDebuffVal, MaxDebuffVal, MinBuffVal, MaxBuffVal) + + -- Inflicts 6 - 10 mental damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Decreases power of target by 6 - 10 + if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then + DebuffAmt = math.random(MinDebuffVal, MaxDebuffVal) + else + DebuffAmt = MinDebuffVal + end + + AddSpellBonus(Caster, 501, DebuffAmt) + + -- Increases power of caster by 2 - 3 + if MaxBuffVal ~= nil and MinBuffVal < MaxBuffVal then + BuffAmt = math.random(MinBuffVal, MaxBuffVal) + else + BuffAmt = MinBuffVal + end + + AddSpellBonus(Caster, 501, BuffAmt) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSpellBonus(Caster) +end diff --git a/Spells/Scout/Bard/Troubador/Shrill.lua b/Spells/Scout/Bard/Troubador/Shrill.lua new file mode 100644 index 0000000..d1d72ca --- /dev/null +++ b/Spells/Scout/Bard/Troubador/Shrill.lua @@ -0,0 +1,55 @@ +--[[ + Script Name : dd_dot.lua + Script Purpose : Generic damage + 1 effect script + Script Author : John Adams + Script Date : 2008.12.02 +--]] + +function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) + + -- DD component + if MaxDDVal ~= nil and MinDDVal < MaxDDVal then + dmgAmount = math.random(MinDDVal, MaxDDVal) + SpellDamage(Target, DDType, dmgAmount) + --AddHate(Caster, Target, dmgAmount) + else + SpellDamage(Target, DDType, MinDDVal) + --AddHate(Caster, Target, MinDDVal) + end + + -- Effect component - only process this code if there is an EffectType param + if EffectType ~= nil then + + -- Determine if there is a range to effect values + if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then + EffectValue = math.random(MinEffectVal, MaxEffectVal) + else + EffectValue = MinEffectVal + end + + -- Determine EffectType - either a DamageType or a String value passed as param 4 + if EffectType == "heal" then + ModifyHP(Caster, EffectValue) + else + SpellDamage(Target, DamageType, EffectValue) + end + + end + +end + +function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) + + if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then + EffectValue = math.random(MinEffectVal, MaxEffectVal) + else + EffectValue = MinEffectVal + end + + if EffectType == "heal" then + ModifyHP(Caster, EffectValue) + else + SpellDamage(Target, DamageType, EffectValue) + end + +end diff --git a/Spells/Scout/Bard/Troubador/SingingShot.lua b/Spells/Scout/Bard/Troubador/SingingShot.lua new file mode 100644 index 0000000..d7c35d5 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/SingingShot.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/SingingShot.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:17 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 44 - 73 mental damage on target +-- Inflicts 44 - 73 mental damage on target +-- Stifles target +-- If Target is not Epic +-- If weapon equipped in Ranged +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/SongofMagic.lua b/Spells/Scout/Bard/Troubador/SongofMagic.lua new file mode 100644 index 0000000..b86fbc8 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/SongofMagic.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/SongofMagic.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Disruption, Subjugation, Ordination, Ministration and Aggression of group members (AE) by 1.4 +-- Increases Focus of group members (AE) by 2.9 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/TapEssence.lua b/Spells/Scout/Bard/Troubador/TapEssence.lua new file mode 100644 index 0000000..de46c0c --- /dev/null +++ b/Spells/Scout/Bard/Troubador/TapEssence.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/TapEssence.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 51 - 84 mental damage on target encounter +-- Increases power of group members (AE) by 25 - 42 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/ThunderousOverture.lua b/Spells/Scout/Bard/Troubador/ThunderousOverture.lua new file mode 100644 index 0000000..66806a7 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/ThunderousOverture.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/ThunderousOverture.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 141 - 236 mental damage on targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/Troubador/VexingVerses.lua b/Spells/Scout/Bard/Troubador/VexingVerses.lua new file mode 100644 index 0000000..8922df8 --- /dev/null +++ b/Spells/Scout/Bard/Troubador/VexingVerses.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Bard/Troubadour/VexingVerses.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:20 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Ability Casting Speed of target by 18.0% +-- Inflicts 7 - 11 magic damage on target +-- Decreases Defense of target by 2.0 +-- Target will lose 8% more power when power is consumed +-- 8% of target's power consumed will also be drained from target's health + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Bard/ZandersChoralRebuff.lua b/Spells/Scout/Bard/ZandersChoralRebuff.lua new file mode 100644 index 0000000..01806cc --- /dev/null +++ b/Spells/Scout/Bard/ZandersChoralRebuff.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Bard/ZandersChoralRebuff.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target encounter vs elemental, noxious and arcane damage by 315 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/CheapShot.lua b/Spells/Scout/CheapShot.lua new file mode 100644 index 0000000..088c001 --- /dev/null +++ b/Spells/Scout/CheapShot.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/CheapShot.lua + Script Author : Jabantiz + Script Date : 2013.12.16 03:12:31 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- Does not affect Epic targets + return IsEpic(Target), 43 +end + +function cast(Caster, Target) + -- Stuns target + AddControlEffect(Target, 4) +end + +function remove(Caster, Target) + -- Applies Cheap Shot on termination. Lasts for 2.0 seconds. + -- Stuns target + -- Does not affect Heroic or Epic targets. + if not IsHeroic(Target) then + AddSpellTimer(2000, "RemoveStun") + else + RemoveControlEffect(Target, 4) + end +end + +function RemoveStun(Caster, Target) + RemoveControlEffect(Target, 4) +end diff --git a/Spells/Scout/DirtyTricks.lua b/Spells/Scout/DirtyTricks.lua new file mode 100644 index 0000000..3650887 --- /dev/null +++ b/Spells/Scout/DirtyTricks.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/DirtyTricks.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:09 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Defense of target by 2.3 +-- If facing target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Ensnare.lua b/Spells/Scout/Ensnare.lua new file mode 100644 index 0000000..e9bc654 --- /dev/null +++ b/Spells/Scout/Ensnare.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Ensnare.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare. Lasts for 24.0 seconds. +-- Slows target by 28.6% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Decreases Mitigation of target vs arcane damage by 214 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Escape.lua b/Spells/Scout/Escape.lua new file mode 100644 index 0000000..1653ea6 --- /dev/null +++ b/Spells/Scout/Escape.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Escape.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Teleports caster and caster's group within the zone + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Evade.lua b/Spells/Scout/Evade.lua new file mode 100644 index 0000000..26a2ce5 --- /dev/null +++ b/Spells/Scout/Evade.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Scout/Evade.lua + Script Author : theFoof + Script Date : 2013.12.09 04:12:50 + Script Purpose : + : +--]] + +-- Decreases Threat to target + +function cast(Caster, Target, HateLow, HateHigh) + AddHate(Caster, Target, math.random(HateLow, HateHigh), 1) +end + +function remove(Caster, Target) +end diff --git a/Spells/Scout/FastStrike.lua b/Spells/Scout/FastStrike.lua new file mode 100644 index 0000000..404bd66 --- /dev/null +++ b/Spells/Scout/FastStrike.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/FastStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 29 - 49 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/HiltStrike.lua b/Spells/Scout/HiltStrike.lua new file mode 100644 index 0000000..5e67bbf --- /dev/null +++ b/Spells/Scout/HiltStrike.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/HiltStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Stuns target +-- If Target is not Epic +-- Inflicts 29 - 36 crushing damage on target +-- Interrupts target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/LuckyBreak.lua b/Spells/Scout/LuckyBreak.lua new file mode 100644 index 0000000..09378f2 --- /dev/null +++ b/Spells/Scout/LuckyBreak.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/LuckyBreak.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Begins a Heroic Opportunity +-- Must be engaged in combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/ApplyPoison.lua b/Spells/Scout/Predator/Assassin/ApplyPoison.lua new file mode 100644 index 0000000..f4aea8f --- /dev/null +++ b/Spells/Scout/Predator/Assassin/ApplyPoison.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/ApplyPoison.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:37 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Assassinate.lua b/Spells/Scout/Predator/Assassin/Assassinate.lua new file mode 100644 index 0000000..3acd7b8 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Assassinate.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Assassinate.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 2958 - 4930 melee damage on target +-- You must be stealthed to use this ability + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/AssassinsFlurry.lua b/Spells/Scout/Predator/Assassin/AssassinsFlurry.lua new file mode 100644 index 0000000..a6c8796 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/AssassinsFlurry.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/AssassinsFlurry.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Caster has a 15.0% chance of having one of their weapons' autoattack strike the target multiple times. +-- On a combat hit this spell may cast Flurry of Poison on target of attack. Lasts for 12.0 seconds. Triggers about 2.4 times per minute. +-- Increases Crit Chance of caster by 15.0 +-- Inflicts 648 - 972 poison damage on target +-- Cannot be modified except by direct means +-- Increases the damage of stealth attacks by 30%. +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Caltrops.lua b/Spells/Scout/Predator/Assassin/Caltrops.lua new file mode 100644 index 0000000..3e25a69 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Caltrops.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Caltrops.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare. Lasts for 24.0 seconds. +-- Slows target by 28.3% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Decreases Mitigation of target vs noxious damage by 197 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Concealment.lua b/Spells/Scout/Predator/Assassin/Concealment.lua new file mode 100644 index 0000000..6d85049 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Concealment.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Concealment.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:00 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/CripplingStrike.lua b/Spells/Scout/Predator/Assassin/CripplingStrike.lua new file mode 100644 index 0000000..aa9b930 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/CripplingStrike.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/CripplingStrike.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 412 - 686 melee damage on target +-- Decreases Defense of target by 17.8 +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/CunningDefense.lua b/Spells/Scout/Predator/Assassin/CunningDefense.lua new file mode 100644 index 0000000..03ab653 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/CunningDefense.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/CunningDefense.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/DeadlyFocus.lua b/Spells/Scout/Predator/Assassin/DeadlyFocus.lua new file mode 100644 index 0000000..a06aa4c --- /dev/null +++ b/Spells/Scout/Predator/Assassin/DeadlyFocus.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/DeadlyFocus.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:27 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/DeadlyShot.lua b/Spells/Scout/Predator/Assassin/DeadlyShot.lua new file mode 100644 index 0000000..1303127 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/DeadlyShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/DeadlyShot.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:52 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 8 - 13 ranged damage on target +-- Inflicts 8 - 13 ranged damage on target +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/DeathBlow.lua b/Spells/Scout/Predator/Assassin/DeathBlow.lua new file mode 100644 index 0000000..0131d18 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/DeathBlow.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/DeathBlow.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 533 - 889 melee damage on target +-- If over 33% Health +-- Inflicts 1601 - 2669 melee damage on target +-- If under 33% Health +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/DeathMark.lua b/Spells/Scout/Predator/Assassin/DeathMark.lua new file mode 100644 index 0000000..a7d033a --- /dev/null +++ b/Spells/Scout/Predator/Assassin/DeathMark.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/DeathMark.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:48 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- When damaged with a melee weapon this spell has a 5% chance to cast Marked on target. Lasts for 36.0 seconds. +-- When damaged with a melee weapon this spell will cast Agonizing Pain on target. +-- Inflicts 79 - 133 piercing damage on target +-- Grants a total of 5 triggers of the spell. +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Eviscerate.lua b/Spells/Scout/Predator/Assassin/Eviscerate.lua new file mode 100644 index 0000000..91cc394 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Eviscerate.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Eviscerate.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 144 - 241 melee damage on target +-- You must be sneaking to use this ability. +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Exacting.lua b/Spells/Scout/Predator/Assassin/Exacting.lua new file mode 100644 index 0000000..eff9f82 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Exacting.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Exacting.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/FatalFollowup.lua b/Spells/Scout/Predator/Assassin/FatalFollowup.lua new file mode 100644 index 0000000..1dad901 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/FatalFollowup.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/FatalFollowup.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 649 - 794 melee damage on target +-- You must execute certain stealthed combat arts before you can use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/GushingWound.lua b/Spells/Scout/Predator/Assassin/GushingWound.lua new file mode 100644 index 0000000..caf0c2e --- /dev/null +++ b/Spells/Scout/Predator/Assassin/GushingWound.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/GushingWound.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 1 - 2 melee damage on target +-- Inflicts 2 - 3 piercing damage on target instantly and every 4 seconds +-- Applies Untreated Bleeding on termination. +-- Inflicts 9 - 14 piercing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/HeadShot.lua b/Spells/Scout/Predator/Assassin/HeadShot.lua new file mode 100644 index 0000000..d060edd --- /dev/null +++ b/Spells/Scout/Predator/Assassin/HeadShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/HeadShot.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 322 - 537 ranged damage on target +-- If weapon equipped in Ranged +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Impale.lua b/Spells/Scout/Predator/Assassin/Impale.lua new file mode 100644 index 0000000..07758a6 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Impale.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Impale.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:23 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 35 - 58 piercing damage on target +-- Inflicts 10 - 16 piercing damage on target instantly and every 4 seconds + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/ImprovisedWeapon.lua b/Spells/Scout/Predator/Assassin/ImprovisedWeapon.lua new file mode 100644 index 0000000..6a654a1 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/ImprovisedWeapon.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/ImprovisedWeapon.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 161 - 269 piercing damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/JugularSlice.lua b/Spells/Scout/Predator/Assassin/JugularSlice.lua new file mode 100644 index 0000000..53b6da0 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/JugularSlice.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/JugularSlice.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:53 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 217 - 362 slashing damage on target +-- Stifles target +-- If Target is not Epic +-- You must be in stealth. +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/MaskedStrike.lua b/Spells/Scout/Predator/Assassin/MaskedStrike.lua new file mode 100644 index 0000000..a5387f8 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/MaskedStrike.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/MaskedStrike.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 24 - 41 melee damage on target +-- Applies Shroud on termination. Lasts for 36.0 seconds. +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Massacre.lua b/Spells/Scout/Predator/Assassin/Massacre.lua new file mode 100644 index 0000000..77d39af --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Massacre.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Massacre.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/MortalBlade.lua b/Spells/Scout/Predator/Assassin/MortalBlade.lua new file mode 100644 index 0000000..847418f --- /dev/null +++ b/Spells/Scout/Predator/Assassin/MortalBlade.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/MortalBlade.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:11 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 683 - 1139 melee damage on target +-- You must be in stealth. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/MurderousDesign.lua b/Spells/Scout/Predator/Assassin/MurderousDesign.lua new file mode 100644 index 0000000..23ab374 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/MurderousDesign.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/MurderousDesign.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/ParalyzingStrike.lua b/Spells/Scout/Predator/Assassin/ParalyzingStrike.lua new file mode 100644 index 0000000..f0c99e6 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/ParalyzingStrike.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/ParalyzingStrike.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 304 - 506 melee damage on target +-- Roots target +-- If Target is not Epic +-- 5% chance to dispel when target takes damage +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/QuickStrike.lua b/Spells/Scout/Predator/Assassin/QuickStrike.lua index d1d72ca..f99c9b0 100644 --- a/Spells/Scout/Predator/Assassin/QuickStrike.lua +++ b/Spells/Scout/Predator/Assassin/QuickStrike.lua @@ -1,55 +1,28 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Scout/Predator/Assassin/QuickStrike.lua + Script Author : John Adams + Script Date : 2013.11.20 08:11:13 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) +function cast(Caster, Target, DmgType, MinVal, MaxVal, DoTType, DoTMinVal, DoTMaxVal) - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end + -- Inflicts 6 - 10 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end end -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end +function tick(Caster, Target, DmgType, MinVal, MaxVal, DoTType, DoTMinVal, DoTMaxVal) + -- Inflicts 1 slashing damage on target every 4 seconds + if DoTMaxVal ~= nil and DoTMinVal < DoTMaxVal then + SpellDamage(Target, DoTType, math.random(DoTMinVal, MDoTMaxVal)) + else + SpellDamage(Target, DoTType, DoTMinVal) + end end diff --git a/Spells/Scout/Predator/Assassin/SlipAway.lua b/Spells/Scout/Predator/Assassin/SlipAway.lua new file mode 100644 index 0000000..1c56c63 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/SlipAway.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/SlipAway.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements +-- Grants See Invisibility to caster +-- This effect cancels during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/SpineShot.lua b/Spells/Scout/Predator/Assassin/SpineShot.lua new file mode 100644 index 0000000..b36eae6 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/SpineShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/SpineShot.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:28 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 189 - 315 ranged damage on target +-- If weapon equipped in Ranged +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/StealthAssault.lua b/Spells/Scout/Predator/Assassin/StealthAssault.lua new file mode 100644 index 0000000..01d4a41 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/StealthAssault.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/StealthAssault.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/Villainy.lua b/Spells/Scout/Predator/Assassin/Villainy.lua new file mode 100644 index 0000000..96e8a49 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/Villainy.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/Villainy.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI of caster by 8.7 +-- Adds 14.0% to base avoidance. +-- Increases Damage Per Second of caster by 19.0 +-- Increases Mitigation of caster vs physical damage by 69 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 154 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Assassin/WhirlingBlades.lua b/Spells/Scout/Predator/Assassin/WhirlingBlades.lua new file mode 100644 index 0000000..4bc18b3 --- /dev/null +++ b/Spells/Scout/Predator/Assassin/WhirlingBlades.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Assassin/WhirlingBlades.lua + Script Author : John Adams + Script Date : 2013.08.12 06:08:35 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/HonedReflexes.lua b/Spells/Scout/Predator/HonedReflexes.lua new file mode 100644 index 0000000..acb2a0f --- /dev/null +++ b/Spells/Scout/Predator/HonedReflexes.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/HonedReflexes.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/ArchersFury.lua b/Spells/Scout/Predator/Ranger/ArchersFury.lua new file mode 100644 index 0000000..a0dd046 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/ArchersFury.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/ArchersFury.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/ArrowRip.lua b/Spells/Scout/Predator/Ranger/ArrowRip.lua new file mode 100644 index 0000000..e2e2d80 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/ArrowRip.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/ArrowRip.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 143 - 239 melee damage on target +-- Returns the last arrow used to the ranger. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/BloodyReminder.lua b/Spells/Scout/Predator/Ranger/BloodyReminder.lua new file mode 100644 index 0000000..d61aad7 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/BloodyReminder.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/BloodyReminder.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 30 piercing damage on target instantly and every 2.6 seconds +-- Inflicts 11 - 18 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/Coverage.lua b/Spells/Scout/Predator/Ranger/Coverage.lua new file mode 100644 index 0000000..25a36ca --- /dev/null +++ b/Spells/Scout/Predator/Ranger/Coverage.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/Coverage.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/CripplingArrow.lua b/Spells/Scout/Predator/Ranger/CripplingArrow.lua new file mode 100644 index 0000000..a8eb3f1 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/CripplingArrow.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/CripplingArrow.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 175 - 293 ranged damage on target +-- Decreases Deflection and Parry of target by 10.8 +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/EaglesTalon.lua b/Spells/Scout/Predator/Ranger/EaglesTalon.lua new file mode 100644 index 0000000..7987211 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/EaglesTalon.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/EaglesTalon.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a ranged hit this spell may cast Talon Strike on target of attack. Lasts for 10.0 seconds. Triggers about 2.4 times per minute. +-- Adds normalized combat art damage based on 20% of your current agility. +-- Gives caster a 60.0% chance to not use ammunition on an attack +-- Inflicts 454 - 680 slashing damage on target +-- Cannot be modified except by direct means +-- Improves base auto attack multiplier of caster by 0.200 +-- Improves the combat art damage of the ranger by 10% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/Emberstrike.lua b/Spells/Scout/Predator/Ranger/Emberstrike.lua new file mode 100644 index 0000000..baae690 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/Emberstrike.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/Emberstrike.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:12 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 14 - 23 heat damage on target +-- You must be sneaking to use this ability. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/Ensnare.lua b/Spells/Scout/Predator/Ranger/Ensnare.lua new file mode 100644 index 0000000..6f7983a --- /dev/null +++ b/Spells/Scout/Predator/Ranger/Ensnare.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/Ensnare.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:30 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare. Lasts for 24.0 seconds. +-- Slows target by 31.1% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Decreases Mitigation of target vs elemental damage by 414 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/FocusAim.lua b/Spells/Scout/Predator/Ranger/FocusAim.lua new file mode 100644 index 0000000..f997109 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/FocusAim.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/FocusAim.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:24 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/HawkAttack.lua b/Spells/Scout/Predator/Ranger/HawkAttack.lua new file mode 100644 index 0000000..e054ac1 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/HawkAttack.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/HawkAttack.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/HiddenShot.lua b/Spells/Scout/Predator/Ranger/HiddenShot.lua new file mode 100644 index 0000000..752976b --- /dev/null +++ b/Spells/Scout/Predator/Ranger/HiddenShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/HiddenShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:45 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 502 - 837 ranged damage on target +-- I need to be stealthed! +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/HuntersInstinct.lua b/Spells/Scout/Predator/Ranger/HuntersInstinct.lua new file mode 100644 index 0000000..170d67b --- /dev/null +++ b/Spells/Scout/Predator/Ranger/HuntersInstinct.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/HuntersInstinct.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:38 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI of caster by 8.7 +-- Increases Attack Speed of caster by 12.4 +-- Increases in-combat movement speed of caster by 4.5% +-- Adds 14.0% to base avoidance. +-- Increases Mitigation of caster vs physical damage by 69 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 154 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/ImmobilizingLunge.lua b/Spells/Scout/Predator/Ranger/ImmobilizingLunge.lua new file mode 100644 index 0000000..267ed0d --- /dev/null +++ b/Spells/Scout/Predator/Ranger/ImmobilizingLunge.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/ImmobilizingLunge.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 58 - 97 melee damage on target +-- Roots target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/KillingInstinct.lua b/Spells/Scout/Predator/Ranger/KillingInstinct.lua new file mode 100644 index 0000000..867e294 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/KillingInstinct.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/KillingInstinct.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:13 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/LightningStrike.lua b/Spells/Scout/Predator/Ranger/LightningStrike.lua index d1d72ca..1f221d8 100644 --- a/Spells/Scout/Predator/Ranger/LightningStrike.lua +++ b/Spells/Scout/Predator/Ranger/LightningStrike.lua @@ -1,55 +1,16 @@ --[[ - Script Name : dd_dot.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.02 + Script Name : Spells/Scout/Predator/Ranger/LightningStrike.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:53 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - -- DD component - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - dmgAmount = math.random(MinDDVal, MaxDDVal) - SpellDamage(Target, DDType, dmgAmount) - --AddHate(Caster, Target, dmgAmount) - else - SpellDamage(Target, DDType, MinDDVal) - --AddHate(Caster, Target, MinDDVal) - end - - -- Effect component - only process this code if there is an EffectType param - if EffectType ~= nil then - - -- Determine if there is a range to effect values - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - -- Determine EffectType - either a DamageType or a String value passed as param 4 - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - - end - -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, EffectType, DamageType, MinEffectVal, MaxEffectVal) - - if MaxEffectVal ~= nil and MinEffectVal < MaxEffectVal then - EffectValue = math.random(MinEffectVal, MaxEffectVal) - else - EffectValue = MinEffectVal - end - - if EffectType == "heal" then - ModifyHP(Caster, EffectValue) - else - SpellDamage(Target, DamageType, EffectValue) - end - +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 8 - 13 heat damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end end diff --git a/Spells/Scout/Predator/Ranger/MakeshiftArrows.lua b/Spells/Scout/Predator/Ranger/MakeshiftArrows.lua new file mode 100644 index 0000000..04ac30c --- /dev/null +++ b/Spells/Scout/Predator/Ranger/MakeshiftArrows.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/MakeshiftArrows.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:16 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a ranged hit this spell will cast Makeshift Arrow on target of attack. +-- Inflicts 71 piercing damage on target +-- Grants a total of 60 triggers of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/MiracleShot.lua b/Spells/Scout/Predator/Ranger/MiracleShot.lua new file mode 100644 index 0000000..e8860be --- /dev/null +++ b/Spells/Scout/Predator/Ranger/MiracleShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/MiracleShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 275 - 459 ranged damage on target +-- Requires you to currently have line of sight or to have acquired the target with line of sight +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/NaturalSelection.lua b/Spells/Scout/Predator/Ranger/NaturalSelection.lua new file mode 100644 index 0000000..c87fb58 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/NaturalSelection.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/NaturalSelection.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 184 - 308 ranged damage on targets in Area of Effect +-- You must be in stealth to use this! +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/PrimalReflexes.lua b/Spells/Scout/Predator/Ranger/PrimalReflexes.lua new file mode 100644 index 0000000..01bdc8a --- /dev/null +++ b/Spells/Scout/Predator/Ranger/PrimalReflexes.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/PrimalReflexes.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/RangersBlade.lua b/Spells/Scout/Predator/Ranger/RangersBlade.lua new file mode 100644 index 0000000..07d5b1b --- /dev/null +++ b/Spells/Scout/Predator/Ranger/RangersBlade.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/RangersBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 153 - 256 melee damage on target +-- You must be sneaking to use this ability. +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/RearShot.lua b/Spells/Scout/Predator/Ranger/RearShot.lua new file mode 100644 index 0000000..a59043d --- /dev/null +++ b/Spells/Scout/Predator/Ranger/RearShot.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/RearShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:15 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare on termination. Lasts for 24.0 seconds. +-- Slows target by 27.4% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Inflicts 22 - 38 ranged damage on target +-- Must be flanking or behind +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/SearingShot.lua b/Spells/Scout/Predator/Ranger/SearingShot.lua new file mode 100644 index 0000000..75afc4f --- /dev/null +++ b/Spells/Scout/Predator/Ranger/SearingShot.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/SearingShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:18 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 9 - 15 heat damage on target +-- Inflicts 9 - 15 heat damage on target +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/SnaringShot.lua b/Spells/Scout/Predator/Ranger/SnaringShot.lua new file mode 100644 index 0000000..b2a7351 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/SnaringShot.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/SnaringShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Slows target by 34.9% +-- Inflicts 149 - 249 ranged damage on target +-- 10% chance to dispel when target receives hostile action +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/Snipe.lua b/Spells/Scout/Predator/Ranger/Snipe.lua new file mode 100644 index 0000000..6995c75 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/Snipe.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/Snipe.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Defense of target by 3.5 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/SniperShot.lua b/Spells/Scout/Predator/Ranger/SniperShot.lua new file mode 100644 index 0000000..9929d26 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/SniperShot.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/SniperShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 3808 - 6348 ranged damage on target +-- Applies Knockdown on termination. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets +-- I need to be stealthed! +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/StormofArrows.lua b/Spells/Scout/Predator/Ranger/StormofArrows.lua new file mode 100644 index 0000000..af82bda --- /dev/null +++ b/Spells/Scout/Predator/Ranger/StormofArrows.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/StormofArrows.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:25 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 887 - 1479 ranged damage on target encounter +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/StreamofArrows.lua b/Spells/Scout/Predator/Ranger/StreamofArrows.lua new file mode 100644 index 0000000..0ec6998 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/StreamofArrows.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/StreamofArrows.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:06 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 1200 - 1467 ranged damage on targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/SurvivalInstincts.lua b/Spells/Scout/Predator/Ranger/SurvivalInstincts.lua new file mode 100644 index 0000000..228899d --- /dev/null +++ b/Spells/Scout/Predator/Ranger/SurvivalInstincts.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/SurvivalInstincts.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:02 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/ThornyTrap.lua b/Spells/Scout/Predator/Ranger/ThornyTrap.lua new file mode 100644 index 0000000..42786f7 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/ThornyTrap.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/ThornyTrap.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:34 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/TrickShot.lua b/Spells/Scout/Predator/Ranger/TrickShot.lua new file mode 100644 index 0000000..bf38717 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/TrickShot.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/TrickShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell will cast Blamed on target of attack. Lasts for 10.0 seconds. +-- Increases Hate Gain of target by 30.0% +-- Grants a total of 1 trigger of the spell. +-- Inflicts 168 - 281 ranged damage on target +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Ranger/TripleShot.lua b/Spells/Scout/Predator/Ranger/TripleShot.lua new file mode 100644 index 0000000..ef97a33 --- /dev/null +++ b/Spells/Scout/Predator/Ranger/TripleShot.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Predator/Ranger/TripleShot.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:57 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 53 - 89 ranged damage on target +-- Inflicts 107 - 179 ranged damage on target +-- Inflicts 161 - 269 ranged damage on target +-- Requires bow + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Predator/Stalk.lua b/Spells/Scout/Predator/Stalk.lua new file mode 100644 index 0000000..f84a382 --- /dev/null +++ b/Spells/Scout/Predator/Stalk.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Predator/Stalk.lua + Script Author : John Adams + Script Date : 2013.08.11 11:08:26 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Threat to target by 165 - 276 +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/QuickStrike.lua b/Spells/Scout/QuickStrike.lua new file mode 100644 index 0000000..0d3f03a --- /dev/null +++ b/Spells/Scout/QuickStrike.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/QuickStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:55 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 9 - 16 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/BarroomNegotiation.lua b/Spells/Scout/Rogue/Brigand/BarroomNegotiation.lua new file mode 100644 index 0000000..36b4a88 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/BarroomNegotiation.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/BarroomNegotiation.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:44 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 68 - 114 melee damage on targets in Area of Effect +-- Interrupts targets in Area of Effect + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/BatteryAndAssault.lua b/Spells/Scout/Rogue/Brigand/BatteryAndAssault.lua index 0c14e9e..89bdcbe 100644 --- a/Spells/Scout/Rogue/Brigand/BatteryAndAssault.lua +++ b/Spells/Scout/Rogue/Brigand/BatteryAndAssault.lua @@ -1,8 +1,8 @@ --[[ - Script Name : BatteryAndAssault.lua + Script Name : Spells/Scout/Rogue/Brigand/BatteryandAssault.lua Script Purpose : Brigand Direct Damage Script Author : Zcoretri - Script Date : 23.May.2010 + Script Date : 23.May.2010 Script Notes : --]] @@ -16,4 +16,8 @@ function cast(Caster, Target, DmgType, MinDmg, MaxDmg) SpellDamage(Target, DmgType, MinDmg) SpellDamage(Target, DmgType, MinDmg) end + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 11 - 19 melee damage on target +-- Inflicts 11 - 19 melee damage on target end diff --git a/Spells/Scout/Rogue/Brigand/Befuddle.lua b/Spells/Scout/Rogue/Brigand/Befuddle.lua new file mode 100644 index 0000000..7ede131 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Befuddle.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Befuddle.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/BegforMercy.lua b/Spells/Scout/Rogue/Brigand/BegforMercy.lua new file mode 100644 index 0000000..c7cd2d3 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/BegforMercy.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/BegforMercy.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:43 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Reduces all damage done to target by 32.63% This spell will absorb a total of 3 attacks. +-- When damaged this spell will cast Beg on target's attacker. +-- Decreases Threat to target encounter by 410 +-- Decreases threat priority of target encounter by 1 position +-- Grants a total of 3 triggers of the spell. +-- If profession other than Fighter + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/BlackJack.lua b/Spells/Scout/Rogue/Brigand/BlackJack.lua new file mode 100644 index 0000000..aa88de6 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/BlackJack.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/BlackJack.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 160 - 266 crushing damage on target +-- Prevents target from changing direction while active. +-- If Target is not Epic +-- Roots target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Blackguard.lua b/Spells/Scout/Rogue/Brigand/Blackguard.lua new file mode 100644 index 0000000..43d39f2 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Blackguard.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Blackguard.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Cuss.lua b/Spells/Scout/Rogue/Brigand/Cuss.lua new file mode 100644 index 0000000..604714b --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Cuss.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Cuss.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Dispels 38 levels of arcane beneficial effects on target +-- Increases Threat to target by 564 +-- Interrupts target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Debilitate.lua b/Spells/Scout/Rogue/Brigand/Debilitate.lua new file mode 100644 index 0000000..c80fbf4 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Debilitate.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Debilitate.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs physical damage by 1944 +-- Inflicts 782 - 1303 melee damage on target +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Deceit.lua b/Spells/Scout/Rogue/Brigand/Deceit.lua new file mode 100644 index 0000000..a1bfcb1 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Deceit.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Deceit.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:58 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/DesperateThrust.lua b/Spells/Scout/Rogue/Brigand/DesperateThrust.lua new file mode 100644 index 0000000..ebac3e2 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/DesperateThrust.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/DesperateThrust.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Defense of target by 11.9 +-- Decreases Defense of caster by 13.2 +-- Inflicts 274 - 457 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/DoubleBlast.lua b/Spells/Scout/Rogue/Brigand/DoubleBlast.lua new file mode 100644 index 0000000..89f14d7 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/DoubleBlast.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/DoubleBlast.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 57 - 95 ranged damage on target +-- Inflicts 57 - 95 ranged damage on target +-- Applies Knockdown on termination. Lasts for 2.5 seconds. +-- Throws target back +-- Blurs vision of target +-- Stuns target +-- Does not affect Epic targets +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Entangle.lua b/Spells/Scout/Rogue/Brigand/Entangle.lua new file mode 100644 index 0000000..6fe8aa7 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Entangle.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Entangle.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:54 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Applies Snare on termination. Lasts for 24.0 seconds. +-- Slows target by 32.0% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage +-- Slows target encounter by 38.4% +-- 5% chance to dispel when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Gouge.lua b/Spells/Scout/Rogue/Brigand/Gouge.lua new file mode 100644 index 0000000..8434f0b --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Gouge.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Gouge.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:47 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Parry of target by 8.1 +-- Inflicts 98 - 163 melee damage on target +-- Must be in front of or flanking + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/MurderousRake.lua b/Spells/Scout/Rogue/Brigand/MurderousRake.lua new file mode 100644 index 0000000..fdeb174 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/MurderousRake.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/MurderousRake.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:10 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs arcane damage by 360 +-- Inflicts 145 - 241 melee damage on target +-- Decreases Mitigation of target vs elemental and noxious damage by 360 +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Puncture.lua b/Spells/Scout/Rogue/Brigand/Puncture.lua index 19d93a2..67fd795 100644 --- a/Spells/Scout/Rogue/Brigand/Puncture.lua +++ b/Spells/Scout/Rogue/Brigand/Puncture.lua @@ -1,23 +1,22 @@ --[[ - Script Name : Puncture.lua - Script Purpose : Brigand Direct Damage + Debuff - Script Author : Zcoretri - Script Date : 23.May.2010 - Script Notes : + Script Name : Spells/Scout/Rogue/Brigand/Puncture.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:10 + Script Purpose : + : --]] -function cast(Caster, Target, DmgType, MinDmg, MaxDmg, AttackSpeed) - -- DD component (instant damage) - if MaxDmg ~= nil and MinDmg < MaxDmg then - dmgAmount = math.random(MinDmg, MaxDmg) - SpellDamage(Target, DmgType, dmgAmount) +function cast(Caster, Target, DmgType, MinVal, MaxVal, AttackSpeed) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) else - SpellDamage(Target, DmgType, MinDmg) + SpellDamage(Target, DmgType, MinVal) end - -- Debuff component + AddSpellBonus(Target, 612, AttackSpeed) end -function remove(Caster, Target, DmgType, MinDmg, MaxDmg, AttackSpeed) +function remove(Caster, Target) RemoveSpellBonus(Target) end + diff --git a/Spells/Scout/Rogue/Brigand/Shank.lua b/Spells/Scout/Rogue/Brigand/Shank.lua new file mode 100644 index 0000000..475922e --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Shank.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Shank.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:19 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 114 - 190 melee damage on target +-- Inflicts 82 piercing damage on target instantly and every 4 seconds +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/Shenanigans.lua b/Spells/Scout/Rogue/Brigand/Shenanigans.lua new file mode 100644 index 0000000..96fd540 --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/Shenanigans.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/Shenanigans.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases threat priority of target by 2 positions +-- Stuns caster +-- Decreases Defense and Parry of caster by 90.0 +-- When damaged with a melee weapon this spell will cast Surprise Attack on target's attacker. +-- Inflicts 422 - 704 piercing damage on target +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/StreetSmarts.lua b/Spells/Scout/Rogue/Brigand/StreetSmarts.lua new file mode 100644 index 0000000..5bf106b --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/StreetSmarts.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/StreetSmarts.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:40 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases AGI of caster by 15.0 +-- Adds 14.0% to base avoidance. +-- Increases Mitigation of caster vs physical damage by 152 +-- Increases Mitigation of caster vs elemental, noxious and arcane damage by 183 + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Brigand/StunningBlow.lua b/Spells/Scout/Rogue/Brigand/StunningBlow.lua new file mode 100644 index 0000000..33d20ad --- /dev/null +++ b/Spells/Scout/Rogue/Brigand/StunningBlow.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Brigand/StunningBlow.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:08 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 191 - 318 melee damage on target +-- Stuns target +-- If Target is not Epic +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/DaringAdvance.lua b/Spells/Scout/Rogue/DaringAdvance.lua new file mode 100644 index 0000000..6aeadb9 --- /dev/null +++ b/Spells/Scout/Rogue/DaringAdvance.lua @@ -0,0 +1,36 @@ +--[[ + Script Name : Spells/Scout/Rogue/DaringAdvance.lua + Script Author : Jabantiz + Script Date : 2013.12.16 03:12:33 + Script Purpose : + : +--]] + +function cast(Caster, Target, DefAmt, SkillAmt, DmgType, DmgAmt) + -- Decreases Defense of caster by 3.9 + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + + -- Increases Slashing of caster by 5.3 + -- Increases Piercing, Crushing and Ranged of caster by 5.3 + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Piercing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Crushing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Ranged"), SkillAmt) + + AddProc(Target, 3, 30) +end + +function proc(Caster, Target, Type, DefAmt, SkillAmt, DmgType, DmgAmt) + -- On a melee hit this spell may cast Interrupt on target of attack. Triggers about 6.0 times per minute. + -- Inflicts 19 melee damage on target + -- Interrupts target + if Type == 3 then + ProcDamage(Caster, Target, "Interrupt", DmgType, DmgAmt) + Interrupt(Caster, Target) + end +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) + RemoveProc(Target) +end diff --git a/Spells/Scout/Rogue/RuthlessCunning.lua b/Spells/Scout/Rogue/RuthlessCunning.lua new file mode 100644 index 0000000..40c585c --- /dev/null +++ b/Spells/Scout/Rogue/RuthlessCunning.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/RuthlessCunning.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/ShadowSlip.lua b/Spells/Scout/Rogue/ShadowSlip.lua new file mode 100644 index 0000000..b17d9af --- /dev/null +++ b/Spells/Scout/Rogue/ShadowSlip.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells/Scout/Rogue/ShadowSlip.lua + Script Author : Jabantiz + Script Date : 2013.12.16 04:12:17 + Script Purpose : + : +--]] + +function cast(Caster, Target, HateAmt) + -- Decreases threat priority of target by 1 position + -- Decreases Threat to target by 283 + AddHate(Target, HateAmt, 1) + + -- Applies Lie Low on termination. Lasts for 12 hours. + -- Grants stealth to caster + -- Suspends caster's movement speed enhancements + +end diff --git a/Spells/Scout/Rogue/Smuggle.lua b/Spells/Scout/Rogue/Smuggle.lua new file mode 100644 index 0000000..9d8db89 --- /dev/null +++ b/Spells/Scout/Rogue/Smuggle.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Smuggle.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:42 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Grants stealth to group members (AE) +-- Suspends group members (AE)'s movement speed enhancements +-- This effect cannot be cast during combat + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Sneak.lua b/Spells/Scout/Rogue/Sneak.lua index bb627c6..572ce94 100644 --- a/Spells/Scout/Rogue/Sneak.lua +++ b/Spells/Scout/Rogue/Sneak.lua @@ -1,35 +1,20 @@ --[[ - Script Name : stealth.lua - Script Purpose : Generic Stealth spells (with params) - Script Author : John Adams - Script Date : 2008.12.05 - Script Notes : Using most common BOOL params - - : Stealth to caster: 0, target 1 - : Suspend movement: 1 = true - : See invis/stealth: 1 = true + Script Name : Spells/Scout/Rogue/Sneak.lua + Script Author : Jabantiz + Script Date : 2013.12.16 01:12:19 + Script Purpose : + : --]] -function cast(Caster, Target, StealthType, DispelSpeed, SeeStealth) - - if StealthType == 1 then - -- CastStealth(Target) - else - -- CastSteatlh(Caster) - end - - if DispelSpeed == 1 then - -- newSpeed = whatever the players normal speed is without buffs - -- ModifySpeed(Caster, newSpeed) - end - - if SeeStealth == 1 then - -- buff player with see invis/stealth buff - end +-- Info from spell_display_effects (remove from script when done) +-- Grants stealth to caster +-- Suspends caster's movement speed enhancements +-- Grants See Stealth to caster +function cast(Caster, Target) + Stealth(Target, 1) end function remove(Caster, Target) - -- return players enhanced speed - end diff --git a/Spells/Scout/Rogue/Swashbuckler/ArcticBlast.lua b/Spells/Scout/Rogue/Swashbuckler/ArcticBlast.lua new file mode 100644 index 0000000..1a15667 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/ArcticBlast.lua @@ -0,0 +1,50 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/ArcticBlast.lua + Script Author : Jabantiz + Script Date : 2013.12.16 03:12:34 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- If weapon equipped in Ranged + local item = GetEquippedItemBySlot(Caster, 16) + if item then + if GetItemType(item) == 2 then + return true + end + end + + return false, 68 +end + +function cast(Caster, Target, DmgType, MinVal, MaxVal, Snare) + -- Inflicts 57 - 95 cold damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Inflicts 57 - 95 cold damage on target + if LastSpellAttackHit() then + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + end + + -- Applies Snare on termination. Lasts for 24.0 seconds. + -- Slows target by 29.9% + -- 5% chance to dispel when target receives hostile action + -- 5% chance to dispel when target takes damage + if LastSpellAttackHit() then + SetSpeedMultiplier(Target, (100 - Snare) / 100) + AddSpellTimer(24000, "RemoveSnare") + end +end + +function RemoveSnare(Caster, Target) + SetSpeedMultiplier(Target, 1) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/AvoidBlame.lua b/Spells/Scout/Rogue/Swashbuckler/AvoidBlame.lua new file mode 100644 index 0000000..1ebe54a --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/AvoidBlame.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/AvoidBlame.lua + Script Author : Jabantiz + Script Date : 2013.12.16 02:12:53 + Script Purpose : + : +--]] + +function cast(Caster, Target, HateAmt) + -- On a melee hit this spell may cast Evade on target of attack. Triggers about 4.0 times per minute. + AddProc(Target, 3, 20.0) +end + +function proc(Caster, Target, Type, HateAmt) + -- Decreases Threat to target by 268 + if Type == 3 then + AddHate(Target, HateAmt, 1) + end +end + +function remove(Caster, Target) + RemoveProc(Target) +end \ No newline at end of file diff --git a/Spells/Scout/Rogue/Swashbuckler/Bladeweaver.lua b/Spells/Scout/Rogue/Swashbuckler/Bladeweaver.lua new file mode 100644 index 0000000..7fe48ce --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Bladeweaver.lua @@ -0,0 +1,31 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Bladeweaver.lua + Script Author : Jabantiz + Script Date : 2013.12.16 01:12:03 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- Increases STA of caster by 0.7 + AddSpellBonus(Target, 1, BonusAmt) + + -- Increases AGI of caster by 15.0 + AddSpellBonus(Target, 2, BonusAmt) + + -- Adds 14.0% to base avoidance. + AddSpellBonus(Target, 696, BonusAmt) + + -- Increases Mitigation of caster vs physical damage by 82 + AddSpellBonus(Target, 200, BonusAmt) + + -- Increases Mitigation of caster vs elemental, noxious and arcane damage by 183 + AddSpellBonus(Target, 201, BonusAmt) + AddSpellBonus(Target, 202, BonusAmt) + AddSpellBonus(Target, 203, BonusAmt) + +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/DashingSwathe.lua b/Spells/Scout/Rogue/Swashbuckler/DashingSwathe.lua new file mode 100644 index 0000000..7cd0bb6 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/DashingSwathe.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/DashingSwathe.lua + Script Author : Jabantiz + Script Date : 2013.12.16 02:12:02 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 159 - 266 melee damage on targets in Area of Effect + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Applies Knockdown. Lasts for 1.5 seconds. + -- Throws target back + -- Stuns target + -- Blurs vision of target + -- Does not affect Epic targets + if not IsEpic(Target) then + Knockback(Caster, Target, 1500) + AddControlEffect(Target, 4) + BlurVision(Target, 1.0) + AddSpellTimer(1500, "RemoveEffects") + end +end +function RemoveEffects(Caster, Target) + RemoveControlEffect(Target, 4) + BlurVision(Target, 0) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/DeviousBlade.lua b/Spells/Scout/Rogue/Swashbuckler/DeviousBlade.lua new file mode 100644 index 0000000..51c67af --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/DeviousBlade.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/DeviousBlade.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:50 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 208 - 255 melee damage on target +-- On a melee hit this spell will cast Blamed on target of attack. Lasts for 10.0 seconds. +-- Increases Hate Gain of target by 30.0% +-- Grants a total of 1 trigger of the spell. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/DisarmingGrin.lua b/Spells/Scout/Rogue/Swashbuckler/DisarmingGrin.lua new file mode 100644 index 0000000..498a878 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/DisarmingGrin.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/DisarmingGrin.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:21 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Prevents AOE (except when direct) +-- Mesmerizes target +-- Dispelled when target takes damage +-- Does not affect Epic targets +-- Resistibility increases against targets higher than level 29. + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/DoubleCross.lua b/Spells/Scout/Rogue/Swashbuckler/DoubleCross.lua new file mode 100644 index 0000000..c6adbf6 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/DoubleCross.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/DoubleCross.lua + Script Author : Jabantiz + Script Date : 2013.12.15 08:12:20 + Script Purpose : + : +--]] + +function cast(Caster, Target, BonusAmt, SkillAmt) + -- Decreases WIS of target by 6.1 + AddSpellBonus(Target, 600, BonusAmt) + + -- Decreases Defense of target by 2.0 + AddSkillBonus(Target, GetSkillIDByName("Defense"), SkillAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) + RemoveSkillBonus(Target) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/EnGarde.lua b/Spells/Scout/Rogue/Swashbuckler/EnGarde.lua new file mode 100644 index 0000000..d177aa1 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/EnGarde.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/EnGarde.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:29 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/FancyFootwork.lua b/Spells/Scout/Rogue/Swashbuckler/FancyFootwork.lua new file mode 100644 index 0000000..53a1539 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/FancyFootwork.lua @@ -0,0 +1,30 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/FancyFootwork.lua + Script Author : Jabantiz + Script Date : 2013.12.16 02:12:08 + Script Purpose : + : +--]] + +function cast(Caster, Target, SkillAmt, AggAmt, DefAmt, BonusAmt) + -- Decreases Slashing, Piercing and Crushing of caster by 13.8 + AddSkillBonus(Target, GetSkillIDByName("Slashing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Piercing"), SkillAmt) + AddSkillBonus(Target, GetSkillIDByName("Crushing"), SkillAmt) + + -- Increases Aggression of caster by 2.4 + AddSkillBonus(Target, GetSkillIDByName("Aggression"), AggAmt) + + -- Increases Parry and Defense of caster by 4.9 + AddSkillBonus(Target, GetSkillIDByName("Parry"), DefAmt) + AddSkillBonus(Target, GetSkillIDByName("Defense"), DefAmt) + + -- Increases the caster's effectiveness of worn armor vs physical damage by 18% + AddSpellBonus(Target, 678, BonusAmt) + +end + +function remove(Caster, Target) + RemoveSkillBonus(Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/FlamboyantStrike.lua b/Spells/Scout/Rogue/Swashbuckler/FlamboyantStrike.lua new file mode 100644 index 0000000..cbb3a29 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/FlamboyantStrike.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/FlamboyantStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases INT of target by 61.6 +-- Inflicts 154 - 257 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua b/Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua index 5589caa..70d3bab 100644 --- a/Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua +++ b/Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua @@ -1,47 +1,21 @@ --[[ - Script Name : dd_debuff.lua - Script Purpose : Generic damage + 1 effect script - Script Author : John Adams - Script Date : 2008.12.04 - Script Notes : Parameter 4 and 5 are the debuff type and value (param 6 if value is a range) + Script Name : Spells/Scout/Rogue/Swashbuckler/FlashofSteel.lua + Script Author : John Adams + Script Date : 2013.11.20 07:11:31 + Script Purpose : + : --]] -function cast(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) - - -- Debuff component - -- Determine if there is a range to effect values - if MaxDebuffVal ~= nil and MinDebuffVal < MaxDebuffVal then - -- JA: for debuff randoms (if any), need to to math.random with precision - I think this function rounds up? - DebuffValue = math.random(MinDebuffVal, MaxDebuffVal) - else - DebuffValue = MinDebuffVal - end - - -- Determine DebuffType - either a DamageType or a String value passed as param 4 - if DebuffType == "Attack" then - -- ModifyAttackSpeed(Target, -DebuffValue) - elseif DebuffType == "DPS" then - -- ModifyDPS(Target, -DebuffValue) - elseif DebuffType == "Disease" then - -- ModifyDisease(Target, -DebuffValue) - elseif DebuffType == "Power" then - ModifyPower(Target, -DebuffValue) - elseif DebuffType == "Knockback" then - SpawnSet(Target, "visual_state", "10900") - end - - -- DD component (instant damage) - if MaxDDVal ~= nil and MinDDVal < MaxDDVal then - SpellDamage(Target, DDType, math.random(MinDDVal, MaxDDVal)) - else - SpellDamage(Target, DDType, MinDDVal) - end -end - -function tick(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) +function cast(Caster, Target, DmgType, MinVal, MaxVal, BonusAmt) + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + AddSpellBonus(Target, 629, BonusAmt) end -function remove(Caster, Target, DDType, MinDDVal, MaxDDVal, DebuffType, MinDebuffVal, MaxDebuffVal) - +function remove(Caster, Target) + RemoveSpellBonus(Target) end diff --git a/Spells/Scout/Rogue/Swashbuckler/FlurryofBlades.lua b/Spells/Scout/Rogue/Swashbuckler/FlurryofBlades.lua new file mode 100644 index 0000000..e94e2e2 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/FlurryofBlades.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/FlurryofBlades.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:31 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs physical damage by 189 +-- Inflicts 67 - 112 melee damage on target +-- Inflicts 67 - 112 melee damage on target +-- Inflicts 67 - 112 melee damage on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/Hamstring.lua b/Spells/Scout/Rogue/Swashbuckler/Hamstring.lua new file mode 100644 index 0000000..e05f4a0 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Hamstring.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Hamstring.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:07 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 62 - 103 melee damage on target +-- Slows target by 31.0% +-- 5% chance to dispel when target receives hostile action +-- 5% chance to dispel when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/HangmansNoose.lua b/Spells/Scout/Rogue/Swashbuckler/HangmansNoose.lua new file mode 100644 index 0000000..0dd23a1 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/HangmansNoose.lua @@ -0,0 +1,23 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/HangmansNoose.lua + Script Author : Jabantiz + Script Date : 2013.12.15 09:12:11 + Script Purpose : + : +--]] + +function cast(Caster, Target, Snare, Mit) + -- Applies Snare. Lasts for 24.0 seconds. + -- Slows target by 28.3% + -- 5% chance to dispel when target receives hostile action + -- 5% chance to dispel when target takes damage + SetSpeedMultiplier(Target, ((100 - Snare) / 100)) + + -- Decreases Mitigation of target vs arcane damage by 197 + AddSpellBonus(Target, 203, Mit) +end + +function remove(Caster, Target) + SetSpeedMultiplier(Target, 1) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/Rogue/Swashbuckler/Hurricane.lua b/Spells/Scout/Rogue/Swashbuckler/Hurricane.lua new file mode 100644 index 0000000..3bde7ee --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Hurricane.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Hurricane.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/InspiredDaring.lua b/Spells/Scout/Rogue/Swashbuckler/InspiredDaring.lua new file mode 100644 index 0000000..de69009 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/InspiredDaring.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/InspiredDaring.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:49 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/KidneyStab.lua b/Spells/Scout/Rogue/Swashbuckler/KidneyStab.lua new file mode 100644 index 0000000..4306f34 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/KidneyStab.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/KidneyStab.lua + Script Author : Jabantiz + Script Date : 2013.12.15 08:12:55 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- Must be flanking or behind + return IsFlanking(Target, Caster) +end + +function cast(Caster, Target, DmgType, MinVal, MaxVal, BonusAmt) + -- Inflicts 29 - 36 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Decreases Mitigation of target vs physical damage by 54 + AddSpellBonus(Target, 200, BonusAmt) +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Scout/Rogue/Swashbuckler/LuckyGambit.lua b/Spells/Scout/Rogue/Swashbuckler/LuckyGambit.lua new file mode 100644 index 0000000..6fa5700 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/LuckyGambit.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/LuckyGambit.lua + Script Author : Jabantiz + Script Date : 2013.12.15 08:12:23 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 16 - 27 melee damage on targets in Area of Effect + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end diff --git a/Spells/Scout/Rogue/Swashbuckler/LungPuncture.lua b/Spells/Scout/Rogue/Swashbuckler/LungPuncture.lua new file mode 100644 index 0000000..28ee0fd --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/LungPuncture.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/LungPuncture.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:51 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 284 - 474 melee damage on target +-- Decreases Slashing, Crushing, Piercing, Ranged, Focus, Disruption, Subjugation and Ordination of target by 31.3 +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/PerfectFinesse.lua b/Spells/Scout/Rogue/Swashbuckler/PerfectFinesse.lua new file mode 100644 index 0000000..92d2d22 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/PerfectFinesse.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/PerfectFinesse.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:36 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/RazorEdge.lua b/Spells/Scout/Rogue/Swashbuckler/RazorEdge.lua new file mode 100644 index 0000000..a0639ed --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/RazorEdge.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/RazorEdge.lua + Script Author : Jabantiz + Script Date : 2013.12.16 01:12:44 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- Must be in front of or flanking + return (not IsBehind(Target, Caster)) +end + + +function cast(Caster, Target, DmgType, MinVal, MaxVal, BonusAmt) + -- Inflicts 98 - 163 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Decreases Parry of target by 8.1 + if LastSpellAttackHit() then + AddSkillBonus(Target, GetSkillIDByName("Parry"), SkillAmt) + end +end + + diff --git a/Spells/Scout/Rogue/Swashbuckler/Shanghai.lua b/Spells/Scout/Rogue/Swashbuckler/Shanghai.lua new file mode 100644 index 0000000..9be241d --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Shanghai.lua @@ -0,0 +1,39 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Shanghai.lua + Script Author : Jabantiz + Script Date : 2013.12.15 08:12:20 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- You must be sneaking to use this ability. + return IsStealthed(Caster) +end + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 13 - 21 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Applies Knockdown on termination. Lasts for 2.5 seconds. + -- Blurs vision of target + -- Throws target back + -- Stuns target + -- Does not affect Epic targets + if not IsEpic(Target) then + Knockdown(Target, Caster, 2500) + AddControlEffect(Target, 4) + BlurVision(Target, 1.0) + AddSpellTimer(2500, "RemoveEffects") + end +end + +function RemoveEffects(Caster, Target) + RemoveControlEffect(Target, 4) + BlurVision(Target, 0) +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/SleightofHand.lua b/Spells/Scout/Rogue/Swashbuckler/SleightofHand.lua new file mode 100644 index 0000000..6635a46 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/SleightofHand.lua @@ -0,0 +1,24 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/SleightofHand.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/SnapoftheWrist.lua b/Spells/Scout/Rogue/Swashbuckler/SnapoftheWrist.lua new file mode 100644 index 0000000..8005012 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/SnapoftheWrist.lua @@ -0,0 +1,25 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/SnapoftheWrist.lua + Script Author : Jabantiz + Script Date : 2013.12.16 01:12:23 + Script Purpose : + : +--]] + +function cast(Caster, Target, DmgType, MinVal, MaxVal) + -- Inflicts 43 - 72 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + + -- Inflicts 43 - 72 melee damage on target + if LastSpellAttackHit() then + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end + end +end diff --git a/Spells/Scout/Rogue/Swashbuckler/SpuriousBravado.lua b/Spells/Scout/Rogue/Swashbuckler/SpuriousBravado.lua new file mode 100644 index 0000000..6d20478 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/SpuriousBravado.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/SpuriousBravado.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:01 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- On a melee hit this spell may cast Bravado on caster. Lasts for 20.0 seconds. Triggers about 5.0 times per minute. +-- Increases Hate Gain of caster by 5.0% +-- Increases Attack Speed of caster by 28.5 +-- Dispelled when target takes damage + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/StormofSteel.lua b/Spells/Scout/Rogue/Swashbuckler/StormofSteel.lua new file mode 100644 index 0000000..dfbd792 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/StormofSteel.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/StormofSteel.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:22 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 440 - 733 ranged damage on targets in Area of Effect +-- If weapon equipped in Ranged + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/SwarthyDeception.lua b/Spells/Scout/Rogue/Swashbuckler/SwarthyDeception.lua new file mode 100644 index 0000000..4037373 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/SwarthyDeception.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/SwarthyDeception.lua + Script Author : Jabantiz + Script Date : 2013.12.16 06:12:40 + Script Purpose : + : +--]] + +function cast(Caster, Target, TransferAmt) + -- Causes 6% Threat to transfer to target when in combat + AddThreatTransfer(Caster, Target, TransferAmt) +end + + +function remove(Caster, Target) + RemoveThreatTransfer(Caster) +end \ No newline at end of file diff --git a/Spells/Scout/Rogue/Swashbuckler/SwarthyWays.lua b/Spells/Scout/Rogue/Swashbuckler/SwarthyWays.lua new file mode 100644 index 0000000..8d83842 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/SwarthyWays.lua @@ -0,0 +1,32 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/SwarthyWays.lua + Script Author : John Adams + Script Date : 2013.08.11 09:08:39 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Potency of caster by 10.0% +-- On a melee hit this spell may cast Swarthy Chaos on target of attack. Lasts for 12.0 seconds. Triggers about 3.0 times per minute. +-- Adds an additional 8% hate transfer to Swarthy Deception IV +-- Inflicts 475 - 713 piercing damage on target +-- Inflicts 173 - 259 piercing damage on target every 3 seconds +-- Cannot be modified except by direct means +-- Flamboyant Strike will gain an additional effect that causes the target to reduce their spell damage by 10% +-- Cannot be modified except by direct means + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/Tease.lua b/Spells/Scout/Rogue/Swashbuckler/Tease.lua new file mode 100644 index 0000000..37240e6 --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Tease.lua @@ -0,0 +1,27 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Tease.lua + Script Author : John Adams + Script Date : 2013.08.11 08:08:14 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Increases Threat to target by 564 +-- Interrupts target +-- Dispels 23 levels of arcane beneficial effects on target + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/Rogue/Swashbuckler/Viscerate.lua b/Spells/Scout/Rogue/Swashbuckler/Viscerate.lua new file mode 100644 index 0000000..342256f --- /dev/null +++ b/Spells/Scout/Rogue/Swashbuckler/Viscerate.lua @@ -0,0 +1,28 @@ +--[[ + Script Name : Spells/Scout/Rogue/Swashbuckler/Viscerate.lua + Script Author : Jabantiz + Script Date : 2013.12.15 08:12:23 + Script Purpose : + : +--]] + +function precast(Caster, Target) + -- Must be flanking or behind + return IsFlanking(Target, Caster) +end + +function cast(Caster, Target, BonusAmt, DmgType, MinVal, MaxVal) + -- Decreases AGI of target by 5.0 + AddSpellBonus(Target, 2, BonusAmt) + + -- Inflicts 16 - 27 melee damage on target + if MaxVal ~= nil and MinVal < MaxVal then + SpellDamage(Target, DmgType, math.random(MinVal, MaxVal)) + else + SpellDamage(Target, DmgType, MinVal) + end +end + +function remove(Caster, Target) + RemoveSpellBonus(Target) +end diff --git a/Spells/Scout/SinisterStrike.lua b/Spells/Scout/SinisterStrike.lua new file mode 100644 index 0000000..6f551da --- /dev/null +++ b/Spells/Scout/SinisterStrike.lua @@ -0,0 +1,29 @@ +--[[ + Script Name : Spells/Scout/SinisterStrike.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:56 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Decreases Mitigation of target vs physical damage by 90 +-- Inflicts 109 - 182 melee damage on target +-- Must be flanking or behind +-- If one of the following races: +-- [None] + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Scout/SneakAttack.lua b/Spells/Scout/SneakAttack.lua new file mode 100644 index 0000000..1028a38 --- /dev/null +++ b/Spells/Scout/SneakAttack.lua @@ -0,0 +1,26 @@ +--[[ + Script Name : Spells/Scout/SneakAttack.lua + Script Author : John Adams + Script Date : 2013.08.11 02:08:59 + Script Purpose : + : +--]] + +function cast(Caster, Target) + -- code to cast the spell + Say(Caster, "Whoops! Guess this is not implemented yet!") + +-- Info from spell_display_effects (remove from script when done) +-- Inflicts 24 - 41 melee damage on target +-- Must be flanking or behind + +end + +function tick(Caster, Target) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target) + -- code to remove the spell +end + diff --git a/Spells/Tradeskills/DurabilityAdd.lua b/Spells/Tradeskills/DurabilityAdd.lua new file mode 100644 index 0000000..f62dccd --- /dev/null +++ b/Spells/Tradeskills/DurabilityAdd.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Tradeskills/DurabilityAdd.lua + Script Purpose: Adds durability during crafting + Script Author : Jabantiz + Script Date : 2012.09.08 + Script Notes : +--]] + +function cast(Caster, Target, DurabilityAmount) + AddSpellBonus(Caster, 801, DurabilityAmount) +end + +function remove(Caster, Target, DurabilityAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/DurabilityAddProgressAdd.lua b/Spells/Tradeskills/DurabilityAddProgressAdd.lua new file mode 100644 index 0000000..b28eb5a --- /dev/null +++ b/Spells/Tradeskills/DurabilityAddProgressAdd.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Tradeskills/DurabilityAddProgressAdd.lua + Script Purpose: Adds durability and progress during crafting + Script Author : Jabantiz + Script Date : 2012.09.08 + Script Notes : +--]] + +function cast(Caster, Target, ProgressAmount, DurabilityAmount) + AddSpellBonus(Caster, 802, ProgressAmount) + AddSpellBonus(Caster, 801, DurabilityAmount) +end + +function remove(Caster, Target, ProgressAmount, DurabilityAmount) + RemoveSpellBonus(Target) +end diff --git a/Spells/Tradeskills/DurabilityModProgressAdd.lua b/Spells/Tradeskills/DurabilityModProgressAdd.lua new file mode 100644 index 0000000..8d42412 --- /dev/null +++ b/Spells/Tradeskills/DurabilityModProgressAdd.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Tradeskills/DurabilityModProgressAdd.lua + Script Purpose: Modifies Durability while adding Progress during crafting + Script Author : John Adams + Script Date : 2013.08.10 + Script Notes : +--]] + +function cast(Caster, Target, DurabilityMod, ProgressAmount) + AddSpellBonus(Caster, 800, DurabilityMod) + AddSpellBonus(Caster, 802, ProgressAmount) +end + +function remove(Caster, Target, SuccessMod, ProgressAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/DurabilityModSuccessAdd.lua b/Spells/Tradeskills/DurabilityModSuccessAdd.lua new file mode 100644 index 0000000..517e134 --- /dev/null +++ b/Spells/Tradeskills/DurabilityModSuccessAdd.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Tradeskills/DurabilityModSuccessAdd.lua + Script Author : John Adams + Script Date : 2013.11.23 12:11:39 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Reduces experimental durability gain by 1.0%. +-- Increases experimental success chance by 2.0% +-- Cannot be modified except by direct means + +function cast(Caster, Target, DurabilityMod, SuccessAdd) + AddSpellBonus(Caster, 800, DurabilityMod) + AddSpellBonus(Caster, 804, SuccessAdd) +end + +function remove(Caster, Target, DurabilityMod, SuccessAdd) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/ProgressAdd.lua b/Spells/Tradeskills/ProgressAdd.lua new file mode 100644 index 0000000..4776de1 --- /dev/null +++ b/Spells/Tradeskills/ProgressAdd.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells/Tradeskills/ProgressAdd.lua + Script Purpose: Adds progress during crafting + Script Author : Jabantiz + Script Date : 2012.09.08 + Script Notes : +--]] + +function cast(Caster, Target, ProgressAmount) + AddSpellBonus(Caster, 802, ProgressAmount) +end + +function remove(Caster, Target, ProgressAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/ProgressModDurabilityAdd.lua b/Spells/Tradeskills/ProgressModDurabilityAdd.lua new file mode 100644 index 0000000..851d67e --- /dev/null +++ b/Spells/Tradeskills/ProgressModDurabilityAdd.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Tradeskills/ProgressModDurabilityAdd + Script Purpose: Modifies Progress while adding Durability during crafting + Script Author : John Adams + Script Date : 2013.08.10 + Script Notes : +--]] + +function cast(Caster, Target, ProgressMod, DurabilityAmount) + AddSpellBonus(Caster, 803, ProgressMod) + AddSpellBonus(Caster, 801, DurabilityAmount) +end + +function remove(Caster, Target, SuccessMod, ProgressAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/ProgressModSuccessAdd.lua b/Spells/Tradeskills/ProgressModSuccessAdd.lua new file mode 100644 index 0000000..355f4e8 --- /dev/null +++ b/Spells/Tradeskills/ProgressModSuccessAdd.lua @@ -0,0 +1,21 @@ +--[[ + Script Name : Spells/Tradeskills/ProgressModSuccessAdd.lua + Script Author : John Adams + Script Date : 2013.11.23 01:11:52 + Script Purpose : + : +--]] + +-- Info from spell_display_effects (remove from script when done) +-- Reduces the amount of experimental progress gained by 1.0%. +-- Increases experimental success chance by 2.0% +-- Cannot be modified except by direct means + +function cast(Caster, Target, ProgressMod, SuccessAdd) + AddSpellBonus(Caster, 803, ProgressMod) + AddSpellBonus(Caster, 804, SuccessAdd) +end + +function remove(Caster, Target, ProgressMod, SuccessAdd) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/SuccessModDurabilityAdd.lua b/Spells/Tradeskills/SuccessModDurabilityAdd.lua new file mode 100644 index 0000000..32a8cc0 --- /dev/null +++ b/Spells/Tradeskills/SuccessModDurabilityAdd.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Tradeskills/SuccessModDurabilityAdd.lua + Script Purpose: Modifies Success while adding Durability during crafting + Script Author : Jabantiz + Script Date : 2012.09.08 + Script Notes : +--]] + +function cast(Caster, Target, SucessMod, DurabilityAmount) + AddSpellBonus(Caster, 804, SuccessMod) + AddSpellBonus(Caster, 801, DurabilityAmount) +end + +function remove(Caster, Target, SuccessMod, DurabilityAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Tradeskills/SuccessModProgressAdd.lua b/Spells/Tradeskills/SuccessModProgressAdd.lua new file mode 100644 index 0000000..678c6d0 --- /dev/null +++ b/Spells/Tradeskills/SuccessModProgressAdd.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells/Tradeskills/SuccessModProgressAdd.lua + Script Purpose: Modifies Success while adding Progress during crafting + Script Author : Jabantiz + Script Date : 2012.09.08 + Script Notes : +--]] + +function cast(Caster, Target, SuccessMod, ProgressAmount) + AddSpellBonus(Caster, 804, SuccessMod) + AddSpellBonus(Caster, 802, ProgressAmount) +end + +function remove(Caster, Target, SuccessMod, ProgressAmount) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/AHalflingsFeast.lua b/Spells/Traditions/AHalflingsFeast.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/AHalflingsFeast.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/AerialDodging.lua b/Spells/Traditions/AerialDodging.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/AerialDodging.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/AggressiveStrike.lua b/Spells/Traditions/AggressiveStrike.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/AggressiveStrike.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/AkanonsInnovation.lua b/Spells/Traditions/AkanonsInnovation.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/AkanonsInnovation.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Antidote.lua b/Spells/Traditions/Antidote.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Antidote.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArasaiFlight.lua b/Spells/Traditions/ArasaiFlight.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArasaiFlight.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArasaiSavvy.lua b/Spells/Traditions/ArasaiSavvy.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArasaiSavvy.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArasaisEndurance.lua b/Spells/Traditions/ArasaisEndurance.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArasaisEndurance.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArcaneKnowledge.lua b/Spells/Traditions/ArcaneKnowledge.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArcaneKnowledge.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArcofLightning.lua b/Spells/Traditions/ArcofLightning.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArcofLightning.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ArmoroftheFeerrott.lua b/Spells/Traditions/ArmoroftheFeerrott.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ArmoroftheFeerrott.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Attribute/AgileMight.lua b/Spells/Traditions/Attribute/AgileMight.lua new file mode 100644 index 0000000..1de970e --- /dev/null +++ b/Spells/Traditions/Attribute/AgileMight.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\AgileMight.lua + Script Purpose : Increases Strength as you level + Script Author : Zcoretri + Script Date : 2012.07.22 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 0, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/AgileMovements.lua b/Spells/Traditions/Attribute/AgileMovements.lua new file mode 100644 index 0000000..588b5f9 --- /dev/null +++ b/Spells/Traditions/Attribute/AgileMovements.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\AgileMovements.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/AkanonsInnovation.lua b/Spells/Traditions/Attribute/AkanonsInnovation.lua new file mode 100644 index 0000000..54d9042 --- /dev/null +++ b/Spells/Traditions/Attribute/AkanonsInnovation.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\AkAnonsInnovation.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/ArasaiSavvy.lua b/Spells/Traditions/Attribute/ArasaiSavvy.lua new file mode 100644 index 0000000..8b73850 --- /dev/null +++ b/Spells/Traditions/Attribute/ArasaiSavvy.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\ArasaiSavvy.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/BruteForce.lua b/Spells/Traditions/Attribute/BruteForce.lua new file mode 100644 index 0000000..1ebe946 --- /dev/null +++ b/Spells/Traditions/Attribute/BruteForce.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\BruteForce.lua + Script Purpose : Increases Strength as you level + Script Author : Zcoretri + Script Date : 2012.07.22 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 0, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/CazicsEnduringHold.lua b/Spells/Traditions/Attribute/CazicsEnduringHold.lua new file mode 100644 index 0000000..ddcf68b --- /dev/null +++ b/Spells/Traditions/Attribute/CazicsEnduringHold.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\CazicsEnduringHold.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/Countenance.lua b/Spells/Traditions/Attribute/Countenance.lua new file mode 100644 index 0000000..500762e --- /dev/null +++ b/Spells/Traditions/Attribute/Countenance.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Countenance.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/DarkenedAgility.lua b/Spells/Traditions/Attribute/DarkenedAgility.lua new file mode 100644 index 0000000..3fc0000 --- /dev/null +++ b/Spells/Traditions/Attribute/DarkenedAgility.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\DarkenedAgility.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/DwarvenFortitude.lua b/Spells/Traditions/Attribute/DwarvenFortitude.lua new file mode 100644 index 0000000..bf4e439 --- /dev/null +++ b/Spells/Traditions/Attribute/DwarvenFortitude.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\DwarvenFortitude.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/ElvenWisdom.lua b/Spells/Traditions/Attribute/ElvenWisdom.lua new file mode 100644 index 0000000..2571146 --- /dev/null +++ b/Spells/Traditions/Attribute/ElvenWisdom.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\ElvenWisdom.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/EnduranceOfEarthAndWater.lua b/Spells/Traditions/Attribute/EnduranceOfEarthAndWater.lua new file mode 100644 index 0000000..1432ab8 --- /dev/null +++ b/Spells/Traditions/Attribute/EnduranceOfEarthAndWater.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\EnduranceOfEarthAndWater.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/EnhancedIntellect.lua b/Spells/Traditions/Attribute/EnhancedIntellect.lua new file mode 100644 index 0000000..40008aa --- /dev/null +++ b/Spells/Traditions/Attribute/EnhancedIntellect.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\EnhancedIntellect.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/EternalLearning.lua b/Spells/Traditions/Attribute/EternalLearning.lua new file mode 100644 index 0000000..03a9102 --- /dev/null +++ b/Spells/Traditions/Attribute/EternalLearning.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\EternalLearning.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/FaydarkChampionsAgility.lua b/Spells/Traditions/Attribute/FaydarkChampionsAgility.lua new file mode 100644 index 0000000..39d3f53 --- /dev/null +++ b/Spells/Traditions/Attribute/FaydarkChampionsAgility.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\FaydarkChampionsAgility.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/FleetFooted.lua b/Spells/Traditions/Attribute/FleetFooted.lua new file mode 100644 index 0000000..7d2ff46 --- /dev/null +++ b/Spells/Traditions/Attribute/FleetFooted.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\FleetFooted.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/FocusedDetermination.lua b/Spells/Traditions/Attribute/FocusedDetermination.lua new file mode 100644 index 0000000..6cbc75e --- /dev/null +++ b/Spells/Traditions/Attribute/FocusedDetermination.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\FocusedDetermination.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/HalfElfQuickThinking.lua b/Spells/Traditions/Attribute/HalfElfQuickThinking.lua new file mode 100644 index 0000000..064dcec --- /dev/null +++ b/Spells/Traditions/Attribute/HalfElfQuickThinking.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\HalfElfQuickThinking.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/HeartyConstitution.lua b/Spells/Traditions/Attribute/HeartyConstitution.lua new file mode 100644 index 0000000..d261dc9 --- /dev/null +++ b/Spells/Traditions/Attribute/HeartyConstitution.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\HeartyConstitution.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/Insight.lua b/Spells/Traditions/Attribute/Insight.lua new file mode 100644 index 0000000..e004c54 --- /dev/null +++ b/Spells/Traditions/Attribute/Insight.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Insight.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/IntellectOfTheSage.lua b/Spells/Traditions/Attribute/IntellectOfTheSage.lua new file mode 100644 index 0000000..9372195 --- /dev/null +++ b/Spells/Traditions/Attribute/IntellectOfTheSage.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\IntellectOfTheSage.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/IntellecualStudies.lua b/Spells/Traditions/Attribute/IntellecualStudies.lua new file mode 100644 index 0000000..78f4d2c --- /dev/null +++ b/Spells/Traditions/Attribute/IntellecualStudies.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\IntellecualStudies.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/IntelligentDesigns.lua b/Spells/Traditions/Attribute/IntelligentDesigns.lua new file mode 100644 index 0000000..e349a08 --- /dev/null +++ b/Spells/Traditions/Attribute/IntelligentDesigns.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\IntelligentDesigns.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/KejaansInspiration.lua b/Spells/Traditions/Attribute/KejaansInspiration.lua new file mode 100644 index 0000000..2679777 --- /dev/null +++ b/Spells/Traditions/Attribute/KejaansInspiration.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\KejaansInspiration.lua + Script Purpose : Increases Strength as you level + Script Author : Zcoretri + Script Date : 2012.07.22 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 0, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/LastOneStanding.lua b/Spells/Traditions/Attribute/LastOneStanding.lua new file mode 100644 index 0000000..18f9794 --- /dev/null +++ b/Spells/Traditions/Attribute/LastOneStanding.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\LastOneStanding.lua + Script Purpose : Increases Stamina as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 1, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/MarrsInsight.lua b/Spells/Traditions/Attribute/MarrsInsight.lua new file mode 100644 index 0000000..e99bb03 --- /dev/null +++ b/Spells/Traditions/Attribute/MarrsInsight.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\MarrsInsight.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/MechanicalVambraces.lua b/Spells/Traditions/Attribute/MechanicalVambraces.lua new file mode 100644 index 0000000..8dde0d3 --- /dev/null +++ b/Spells/Traditions/Attribute/MechanicalVambraces.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\MechanicalVambraces.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/PresumedBrilliance.lua b/Spells/Traditions/Attribute/PresumedBrilliance.lua new file mode 100644 index 0000000..5d74299 --- /dev/null +++ b/Spells/Traditions/Attribute/PresumedBrilliance.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\PresumedBrilliance.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/PursuitOfKnowledge.lua b/Spells/Traditions/Attribute/PursuitOfKnowledge.lua new file mode 100644 index 0000000..48fbcab --- /dev/null +++ b/Spells/Traditions/Attribute/PursuitOfKnowledge.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\PursuitOfKnowledge.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/SathirianLegacy.lua b/Spells/Traditions/Attribute/SathirianLegacy.lua new file mode 100644 index 0000000..5061819 --- /dev/null +++ b/Spells/Traditions/Attribute/SathirianLegacy.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\SathirianLegacy.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/SpiritOfVahKerrath.lua b/Spells/Traditions/Attribute/SpiritOfVahKerrath.lua new file mode 100644 index 0000000..8f55560 --- /dev/null +++ b/Spells/Traditions/Attribute/SpiritOfVahKerrath.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\SpiritOfVahKerrath.lua + Script Purpose : Increases Intelligence as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 4, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/StubbornButWise.lua b/Spells/Traditions/Attribute/StubbornButWise.lua new file mode 100644 index 0000000..feb6c73 --- /dev/null +++ b/Spells/Traditions/Attribute/StubbornButWise.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\StubbornButWise.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/TheMightOfBristlebane.lua b/Spells/Traditions/Attribute/TheMightOfBristlebane.lua new file mode 100644 index 0000000..8289ee9 --- /dev/null +++ b/Spells/Traditions/Attribute/TheMightOfBristlebane.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\TheMightOfBristlebane.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/TunaresGuidance.lua b/Spells/Traditions/Attribute/TunaresGuidance.lua new file mode 100644 index 0000000..54553c8 --- /dev/null +++ b/Spells/Traditions/Attribute/TunaresGuidance.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\TunaresGuidance.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/UncommonInsight.lua b/Spells/Traditions/Attribute/UncommonInsight.lua new file mode 100644 index 0000000..a453f77 --- /dev/null +++ b/Spells/Traditions/Attribute/UncommonInsight.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\UncommonInsight.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/VampiricReflexes.lua b/Spells/Traditions/Attribute/VampiricReflexes.lua new file mode 100644 index 0000000..862f0ea --- /dev/null +++ b/Spells/Traditions/Attribute/VampiricReflexes.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\VampiricReflexes.lua + Script Purpose : Increases Agility as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 2, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/WisdomOfExperience.lua b/Spells/Traditions/Attribute/WisdomOfExperience.lua new file mode 100644 index 0000000..7d9ab40 --- /dev/null +++ b/Spells/Traditions/Attribute/WisdomOfExperience.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\WisdomOfExperience.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/WisdomOfRivervale.lua b/Spells/Traditions/Attribute/WisdomOfRivervale.lua new file mode 100644 index 0000000..70fff72 --- /dev/null +++ b/Spells/Traditions/Attribute/WisdomOfRivervale.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\WisdomOfRivervale.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/WisdomOfTheAges.lua b/Spells/Traditions/Attribute/WisdomOfTheAges.lua new file mode 100644 index 0000000..4bcf454 --- /dev/null +++ b/Spells/Traditions/Attribute/WisdomOfTheAges.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\WisdomOfTheAges.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Attribute/WisdomOfTheOldOak.lua b/Spells/Traditions/Attribute/WisdomOfTheOldOak.lua new file mode 100644 index 0000000..85b4f24 --- /dev/null +++ b/Spells/Traditions/Attribute/WisdomOfTheOldOak.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\WisdomOfTheOldOak.lua + Script Purpose : Increases Wisdom as you level + Script Author : Zcoretri + Script Date : 2012.07.31 +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 3, BonusAmt) +end + +function remove(Caster, Target, StatAmt) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Ayr`DalAdornment.lua b/Spells/Traditions/Ayr`DalAdornment.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Ayr`DalAdornment.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BarbaricRage.lua b/Spells/Traditions/BarbaricRage.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BarbaricRage.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BattleReprieve.lua b/Spells/Traditions/BattleReprieve.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BattleReprieve.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BattleRest.lua b/Spells/Traditions/BattleRest.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BattleRest.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Blizzard.lua b/Spells/Traditions/Blizzard.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Blizzard.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BodybyButcherblock.lua b/Spells/Traditions/BodybyButcherblock.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BodybyButcherblock.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BogBully.lua b/Spells/Traditions/BogBully.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BogBully.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Brewmaster.lua b/Spells/Traditions/Brewmaster.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Brewmaster.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/BruteStrength.lua b/Spells/Traditions/BruteStrength.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/BruteStrength.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Camo.lua b/Spells/Traditions/Camo.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Camo.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Camouflage.lua b/Spells/Traditions/Camouflage.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Camouflage.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/CarpentersTouch.lua b/Spells/Traditions/CarpentersTouch.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/CarpentersTouch.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/CastingFury.lua b/Spells/Traditions/CastingFury.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/CastingFury.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/CazicThulesGift.lua b/Spells/Traditions/CazicThulesGift.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/CazicThulesGift.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ChemicalCalculations.lua b/Spells/Traditions/ChemicalCalculations.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ChemicalCalculations.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Chemist.lua b/Spells/Traditions/Chemist.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Chemist.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ClearMind.lua b/Spells/Traditions/ClearMind.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ClearMind.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ClockworkArmy.lua b/Spells/Traditions/ClockworkArmy.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ClockworkArmy.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Clothier.lua b/Spells/Traditions/Clothier.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Clothier.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Combat/Adoration.lua b/Spells/Traditions/Combat/Adoration.lua new file mode 100644 index 0000000..8b81190 --- /dev/null +++ b/Spells/Traditions/Combat/Adoration.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Adoration.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/AidOfTheStouthearted.lua b/Spells/Traditions/Combat/AidOfTheStouthearted.lua new file mode 100644 index 0000000..4ad36bf --- /dev/null +++ b/Spells/Traditions/Combat/AidOfTheStouthearted.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\AidOfTheStouthearted.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/AncestralIre.lua b/Spells/Traditions/Combat/AncestralIre.lua new file mode 100644 index 0000000..d1e3be2 --- /dev/null +++ b/Spells/Traditions/Combat/AncestralIre.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\AnscestralIre.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Dark Elf - Increases Double Attack Chance 2% +--]] + +function cast(Caster, Target, Modifier) + AddSpellBonus(Target, 641, Modifier) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/BlessingTouch.lua b/Spells/Traditions/Combat/BlessingTouch.lua new file mode 100644 index 0000000..b2d8ab9 --- /dev/null +++ b/Spells/Traditions/Combat/BlessingTouch.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\BlessingTouch.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/BlockingExpertise.lua b/Spells/Traditions/Combat/BlockingExpertise.lua new file mode 100644 index 0000000..e255362 --- /dev/null +++ b/Spells/Traditions/Combat/BlockingExpertise.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Combat\BlockingExpertise.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Barbarian - Increases Deflection by 2.0 and Shield Effectiveness by 2% +--]] + +function cast(Caster, Target, Deflection, Shield) + AddSkillBonus(Target, 3850377186, Deflection) + --AddSpellBonus(Target,,Shield) +end + +function remove(Caster, Target, Deflection, Shield) + RemoveSkillBonus(Target) + --RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Bloodletting.lua b/Spells/Traditions/Combat/Bloodletting.lua new file mode 100644 index 0000000..6b0df83 --- /dev/null +++ b/Spells/Traditions/Combat/Bloodletting.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Blootletting.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Brainy.lua b/Spells/Traditions/Combat/Brainy.lua new file mode 100644 index 0000000..137d0bd --- /dev/null +++ b/Spells/Traditions/Combat/Brainy.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Brainy.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/BravefootTenacity.lua b/Spells/Traditions/Combat/BravefootTenacity.lua new file mode 100644 index 0000000..d8aad74 --- /dev/null +++ b/Spells/Traditions/Combat/BravefootTenacity.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\BravefootTenacity.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/BrellsFocus.lua b/Spells/Traditions/Combat/BrellsFocus.lua new file mode 100644 index 0000000..a81fd62 --- /dev/null +++ b/Spells/Traditions/Combat/BrellsFocus.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\BrellsFocus.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/CastingFury.lua b/Spells/Traditions/Combat/CastingFury.lua new file mode 100644 index 0000000..610a65d --- /dev/null +++ b/Spells/Traditions/Combat/CastingFury.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\CastingFury.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/ClarityDuringBattle.lua b/Spells/Traditions/Combat/ClarityDuringBattle.lua new file mode 100644 index 0000000..3fc0fc8 --- /dev/null +++ b/Spells/Traditions/Combat/ClarityDuringBattle.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\ClarityDuringBattle.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/ClawedStrikes.lua b/Spells/Traditions/Combat/ClawedStrikes.lua new file mode 100644 index 0000000..8f2acf1 --- /dev/null +++ b/Spells/Traditions/Combat/ClawedStrikes.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\ClawedStrikes.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/CombatHealing.lua b/Spells/Traditions/Combat/CombatHealing.lua new file mode 100644 index 0000000..0b6d1ff --- /dev/null +++ b/Spells/Traditions/Combat/CombatHealing.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\CombatHealing.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/CriticalDeflection.lua b/Spells/Traditions/Combat/CriticalDeflection.lua new file mode 100644 index 0000000..6c21167 --- /dev/null +++ b/Spells/Traditions/Combat/CriticalDeflection.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\CriticalDeflection.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/CriticalShielding.lua b/Spells/Traditions/Combat/CriticalShielding.lua new file mode 100644 index 0000000..189edfc --- /dev/null +++ b/Spells/Traditions/Combat/CriticalShielding.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\CriticalShielding.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DarkCelerity.lua b/Spells/Traditions/Combat/DarkCelerity.lua new file mode 100644 index 0000000..92cb19c --- /dev/null +++ b/Spells/Traditions/Combat/DarkCelerity.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DarkCelerity.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Dark Elf - Improves the casting speed of hostile spells by 2% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DefensiveMight.lua b/Spells/Traditions/Combat/DefensiveMight.lua new file mode 100644 index 0000000..6c5515c --- /dev/null +++ b/Spells/Traditions/Combat/DefensiveMight.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DefensiveMight.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DemonicFocus.lua b/Spells/Traditions/Combat/DemonicFocus.lua new file mode 100644 index 0000000..96b2d89 --- /dev/null +++ b/Spells/Traditions/Combat/DemonicFocus.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DemonicFocus.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DevotionToTheArts.lua b/Spells/Traditions/Combat/DevotionToTheArts.lua new file mode 100644 index 0000000..71f1e01 --- /dev/null +++ b/Spells/Traditions/Combat/DevotionToTheArts.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DevotionToTheArts.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DivineCasting.lua b/Spells/Traditions/Combat/DivineCasting.lua new file mode 100644 index 0000000..e686ec8 --- /dev/null +++ b/Spells/Traditions/Combat/DivineCasting.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DivineCasting.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Barbarian - Improves the casting speed of beneficial spells by 2% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DleresFightingStance.lua b/Spells/Traditions/Combat/DleresFightingStance.lua new file mode 100644 index 0000000..77ffaa2 --- /dev/null +++ b/Spells/Traditions/Combat/DleresFightingStance.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DleresFightingStance.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/DodgingBlows.lua b/Spells/Traditions/Combat/DodgingBlows.lua new file mode 100644 index 0000000..819833c --- /dev/null +++ b/Spells/Traditions/Combat/DodgingBlows.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\DodgingBlows.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/FaeQuickThinking.lua b/Spells/Traditions/Combat/FaeQuickThinking.lua new file mode 100644 index 0000000..3f1cec5 --- /dev/null +++ b/Spells/Traditions/Combat/FaeQuickThinking.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells\Tradidtions\FaeQuickThinking.lua + Script Author : Zcoretri + Script Date : 2012.07.31 + Script Notes : Improves the casting speed of beneficial spells by 2%. +--]] + +function cast(Caster, Target, Defense, SkillAmt, Stats) + --AddSpellBonus(Target, 0, Stats) -- STR needs to fixed to allow 0 +end + +function tick(Caster, Target, Type, Min, Max) + +end + +function remove(Caster, Target, Type, Min, Max) + --RemoveSkillBonus(Target) + --RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/FocusOfTunare.lua b/Spells/Traditions/Combat/FocusOfTunare.lua new file mode 100644 index 0000000..ae69499 --- /dev/null +++ b/Spells/Traditions/Combat/FocusOfTunare.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\FocusOfTunare.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/FocusedProwess.lua b/Spells/Traditions/Combat/FocusedProwess.lua new file mode 100644 index 0000000..913d638 --- /dev/null +++ b/Spells/Traditions/Combat/FocusedProwess.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\FocusedProwess.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/FormidableTraining.lua b/Spells/Traditions/Combat/FormidableTraining.lua new file mode 100644 index 0000000..7fbc906 --- /dev/null +++ b/Spells/Traditions/Combat/FormidableTraining.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\FormidableTraining.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/GoodBlocking.lua b/Spells/Traditions/Combat/GoodBlocking.lua new file mode 100644 index 0000000..ec8c72f --- /dev/null +++ b/Spells/Traditions/Combat/GoodBlocking.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\GoodBlocking.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/GraceOfFear.lua b/Spells/Traditions/Combat/GraceOfFear.lua new file mode 100644 index 0000000..36dac47 --- /dev/null +++ b/Spells/Traditions/Combat/GraceOfFear.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\GraceOfFear.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/GuidanceOfMarr.lua b/Spells/Traditions/Combat/GuidanceOfMarr.lua new file mode 100644 index 0000000..751c826 --- /dev/null +++ b/Spells/Traditions/Combat/GuidanceOfMarr.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\GuidanceOfMarr.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HastyDecisions.lua b/Spells/Traditions/Combat/HastyDecisions.lua new file mode 100644 index 0000000..96b7c43 --- /dev/null +++ b/Spells/Traditions/Combat/HastyDecisions.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HastyDecisions.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HealingGrace.lua b/Spells/Traditions/Combat/HealingGrace.lua new file mode 100644 index 0000000..940f6c2 --- /dev/null +++ b/Spells/Traditions/Combat/HealingGrace.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HealingGrace.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HealingTouch.lua b/Spells/Traditions/Combat/HealingTouch.lua new file mode 100644 index 0000000..564d766 --- /dev/null +++ b/Spells/Traditions/Combat/HealingTouch.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HealingTouch.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Barbarian - Increases Ministration by 5.0 +--]] + +function cast(Caster, Target, SkillAmt) + AddSkillBonus(Target, 366253016, SkillAmt) +end + +function remove(Caster, Target, SkillAmt) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HendisFortitude.lua b/Spells/Traditions/Combat/HendisFortitude.lua new file mode 100644 index 0000000..1290ea0 --- /dev/null +++ b/Spells/Traditions/Combat/HendisFortitude.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HendisFortitude.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HighPriestsGuidance.lua b/Spells/Traditions/Combat/HighPriestsGuidance.lua new file mode 100644 index 0000000..83b7c44 --- /dev/null +++ b/Spells/Traditions/Combat/HighPriestsGuidance.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HighPriestsGuidance.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/HoldStrong.lua b/Spells/Traditions/Combat/HoldStrong.lua new file mode 100644 index 0000000..7657065 --- /dev/null +++ b/Spells/Traditions/Combat/HoldStrong.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\HoldStrong.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MarshalsSkill.lua b/Spells/Traditions/Combat/MarshalsSkill.lua new file mode 100644 index 0000000..ac65f36 --- /dev/null +++ b/Spells/Traditions/Combat/MarshalsSkill.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MarshalsSkill.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MasterfulSorcery.lua b/Spells/Traditions/Combat/MasterfulSorcery.lua new file mode 100644 index 0000000..100b3dc --- /dev/null +++ b/Spells/Traditions/Combat/MasterfulSorcery.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Combat\MasterfulSorcery.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Dark Elf - Increases Disruption and Subjugation by 5.0 +--]] + +function cast(Caster, Target, SkillAmt) + AddSkillBonus(Target, 613995491, SkillAmt) -- Disruption + AddSkillBonus(Target, 882983852, SkillAmt) -- Subjugation +end + +function remove(Caster, Target, SkillAmt) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MechanizedPierces.lua b/Spells/Traditions/Combat/MechanizedPierces.lua new file mode 100644 index 0000000..b92b7e9 --- /dev/null +++ b/Spells/Traditions/Combat/MechanizedPierces.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MechanizedPierces.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MemoriesOfGuk.lua b/Spells/Traditions/Combat/MemoriesOfGuk.lua new file mode 100644 index 0000000..91e3418 --- /dev/null +++ b/Spells/Traditions/Combat/MemoriesOfGuk.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MemoriesOfGuk.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MentalDomination.lua b/Spells/Traditions/Combat/MentalDomination.lua new file mode 100644 index 0000000..f156e68 --- /dev/null +++ b/Spells/Traditions/Combat/MentalDomination.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MentalDomination.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Merciless.lua b/Spells/Traditions/Combat/Merciless.lua new file mode 100644 index 0000000..a957f5e --- /dev/null +++ b/Spells/Traditions/Combat/Merciless.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Merciless.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MightOfTheLeatherfoot.lua b/Spells/Traditions/Combat/MightOfTheLeatherfoot.lua new file mode 100644 index 0000000..fe5e5c5 --- /dev/null +++ b/Spells/Traditions/Combat/MightOfTheLeatherfoot.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MightOfTheLeatherfoot.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MindOverMatter.lua b/Spells/Traditions/Combat/MindOverMatter.lua new file mode 100644 index 0000000..6b293b9 --- /dev/null +++ b/Spells/Traditions/Combat/MindOverMatter.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MindOverMatter.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/MurrarSharsGuidance.lua b/Spells/Traditions/Combat/MurrarSharsGuidance.lua new file mode 100644 index 0000000..9a51567 --- /dev/null +++ b/Spells/Traditions/Combat/MurrarSharsGuidance.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\MurrarSharsGuidance.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/NimblePaws.lua b/Spells/Traditions/Combat/NimblePaws.lua new file mode 100644 index 0000000..dacef90 --- /dev/null +++ b/Spells/Traditions/Combat/NimblePaws.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\NimblePaws.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/NimbleStriking.lua b/Spells/Traditions/Combat/NimbleStriking.lua new file mode 100644 index 0000000..30ed501 --- /dev/null +++ b/Spells/Traditions/Combat/NimbleStriking.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\NimbleStriking.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/NobilityOfFaith.lua b/Spells/Traditions/Combat/NobilityOfFaith.lua new file mode 100644 index 0000000..888bffb --- /dev/null +++ b/Spells/Traditions/Combat/NobilityOfFaith.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\NobilityOfFaith.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/OffensivelySkilled.lua b/Spells/Traditions/Combat/OffensivelySkilled.lua new file mode 100644 index 0000000..94b6d7d --- /dev/null +++ b/Spells/Traditions/Combat/OffensivelySkilled.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\OffensivelySkilled.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/PaladinsShieldTraining.lua b/Spells/Traditions/Combat/PaladinsShieldTraining.lua new file mode 100644 index 0000000..ce65cfd --- /dev/null +++ b/Spells/Traditions/Combat/PaladinsShieldTraining.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\PaladinsShieldTraining.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/PiercingArrows.lua b/Spells/Traditions/Combat/PiercingArrows.lua new file mode 100644 index 0000000..540c6ee --- /dev/null +++ b/Spells/Traditions/Combat/PiercingArrows.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\PiercingArrows.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/ProficientSwipe.lua b/Spells/Traditions/Combat/ProficientSwipe.lua new file mode 100644 index 0000000..1ecc63a --- /dev/null +++ b/Spells/Traditions/Combat/ProficientSwipe.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\ProficientSwipe.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/PunctureWounds.lua b/Spells/Traditions/Combat/PunctureWounds.lua new file mode 100644 index 0000000..c8caee2 --- /dev/null +++ b/Spells/Traditions/Combat/PunctureWounds.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\PunctureWounds.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/QuickBanishing.lua b/Spells/Traditions/Combat/QuickBanishing.lua new file mode 100644 index 0000000..3670c24 --- /dev/null +++ b/Spells/Traditions/Combat/QuickBanishing.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\QuickBanishing.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/QuickThinking.lua b/Spells/Traditions/Combat/QuickThinking.lua new file mode 100644 index 0000000..cfa2b8e --- /dev/null +++ b/Spells/Traditions/Combat/QuickThinking.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\QuickThinking.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/QuietStorm.lua b/Spells/Traditions/Combat/QuietStorm.lua new file mode 100644 index 0000000..46ec2e4 --- /dev/null +++ b/Spells/Traditions/Combat/QuietStorm.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\QuietStorm.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/RallosianArmyTraining.lua b/Spells/Traditions/Combat/RallosianArmyTraining.lua new file mode 100644 index 0000000..194629d --- /dev/null +++ b/Spells/Traditions/Combat/RallosianArmyTraining.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\RallosianArmyTraining.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/RallosianReflexes.lua b/Spells/Traditions/Combat/RallosianReflexes.lua new file mode 100644 index 0000000..8982090 --- /dev/null +++ b/Spells/Traditions/Combat/RallosianReflexes.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\RallosianReflexes.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/RatongaReflexes.lua b/Spells/Traditions/Combat/RatongaReflexes.lua new file mode 100644 index 0000000..88a9d6c --- /dev/null +++ b/Spells/Traditions/Combat/RatongaReflexes.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\RatongaRelexes.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/RootedMind.lua b/Spells/Traditions/Combat/RootedMind.lua new file mode 100644 index 0000000..30c25e9 --- /dev/null +++ b/Spells/Traditions/Combat/RootedMind.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\RootedMind.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SharpWitted.lua b/Spells/Traditions/Combat/SharpWitted.lua new file mode 100644 index 0000000..2b46086 --- /dev/null +++ b/Spells/Traditions/Combat/SharpWitted.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Combat\SharpWitted.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Dark Elf - Increases Piercing and Ranged by 5.0 +--]] + +function cast(Caster, Target, SkillAmt) + AddSkillBonus(Target, 3048574950, SkillAmt) -- Piercing + AddSkillBonus(Target, 1756482397, SkillAmt) -- Ranged +end + +function remove(Caster, Target, SkillAmt) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SkilledDefender.lua b/Spells/Traditions/Combat/SkilledDefender.lua new file mode 100644 index 0000000..7ab6b6b --- /dev/null +++ b/Spells/Traditions/Combat/SkilledDefender.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells\Traditions\Combat\SkilledDefender.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : Barbarian - Increases Parry, Defense, and Deflection by 5.0 +--]] + +function cast(Caster, Target, Parry, Defense, Deflection) + AddSkillBonus(Target, 540022425, Parry) + AddSkillBonus(Target, 609880714, Defense) + AddSkillBonus(Target, 3850377186, Deflection) +end + +function remove(Caster, Target, Parry, Defense, Deflection) + RemoveSkillBonus(Target) + RemoveSkillBonus(Target) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SoldiersOfTunaresAlacrity.lua b/Spells/Traditions/Combat/SoldiersOfTunaresAlacrity.lua new file mode 100644 index 0000000..37a8c36 --- /dev/null +++ b/Spells/Traditions/Combat/SoldiersOfTunaresAlacrity.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SoldiersOfTunareAlacrity.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SpeedyPaws.lua b/Spells/Traditions/Combat/SpeedyPaws.lua new file mode 100644 index 0000000..b70d119 --- /dev/null +++ b/Spells/Traditions/Combat/SpeedyPaws.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SpeedyPaws.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SpikedShoes.lua b/Spells/Traditions/Combat/SpikedShoes.lua new file mode 100644 index 0000000..d38a39c --- /dev/null +++ b/Spells/Traditions/Combat/SpikedShoes.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SpikedShoes.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Stabby.lua b/Spells/Traditions/Combat/Stabby.lua new file mode 100644 index 0000000..398c3a3 --- /dev/null +++ b/Spells/Traditions/Combat/Stabby.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Stabby.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SteadfastDefender.lua b/Spells/Traditions/Combat/SteadfastDefender.lua new file mode 100644 index 0000000..2854627 --- /dev/null +++ b/Spells/Traditions/Combat/SteadfastDefender.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SteadfastDefender.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/StoutDefense.lua b/Spells/Traditions/Combat/StoutDefense.lua new file mode 100644 index 0000000..dfceb66 --- /dev/null +++ b/Spells/Traditions/Combat/StoutDefense.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\StoutDefense.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Stubbornness.lua b/Spells/Traditions/Combat/Stubbornness.lua new file mode 100644 index 0000000..7abe10f --- /dev/null +++ b/Spells/Traditions/Combat/Stubbornness.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Stubbornness.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SupernaturalSpeed.lua b/Spells/Traditions/Combat/SupernaturalSpeed.lua new file mode 100644 index 0000000..195cc22 --- /dev/null +++ b/Spells/Traditions/Combat/SupernaturalSpeed.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SupernaturalSpeed.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/SwiftSwings.lua b/Spells/Traditions/Combat/SwiftSwings.lua new file mode 100644 index 0000000..dfbdb57 --- /dev/null +++ b/Spells/Traditions/Combat/SwiftSwings.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\SwiftSwings.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/TeachingsOfBayle.lua b/Spells/Traditions/Combat/TeachingsOfBayle.lua new file mode 100644 index 0000000..69de42f --- /dev/null +++ b/Spells/Traditions/Combat/TeachingsOfBayle.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\TeachingsOfBayle.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/TheoreticalImprovements.lua b/Spells/Traditions/Combat/TheoreticalImprovements.lua new file mode 100644 index 0000000..0539086 --- /dev/null +++ b/Spells/Traditions/Combat/TheoreticalImprovements.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\TheoreticalImprovements.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/TinyStings.lua b/Spells/Traditions/Combat/TinyStings.lua new file mode 100644 index 0000000..d8203cd --- /dev/null +++ b/Spells/Traditions/Combat/TinyStings.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\TinyStings.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/ToolsOfFear.lua b/Spells/Traditions/Combat/ToolsOfFear.lua new file mode 100644 index 0000000..01e896e --- /dev/null +++ b/Spells/Traditions/Combat/ToolsOfFear.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\ToolsOfFear.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/TrueshotsAura.lua b/Spells/Traditions/Combat/TrueshotsAura.lua new file mode 100644 index 0000000..bf1618f --- /dev/null +++ b/Spells/Traditions/Combat/TrueshotsAura.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\TrueshotsAura.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/Victory.lua b/Spells/Traditions/Combat/Victory.lua new file mode 100644 index 0000000..1341fd9 --- /dev/null +++ b/Spells/Traditions/Combat/Victory.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\Victory.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/WiggingWhiskers.lua b/Spells/Traditions/Combat/WiggingWhiskers.lua new file mode 100644 index 0000000..1be4fc1 --- /dev/null +++ b/Spells/Traditions/Combat/WiggingWhiskers.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\WiggingWhiskers.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Combat/WordsOfHonor.lua b/Spells/Traditions/Combat/WordsOfHonor.lua new file mode 100644 index 0000000..dcfbd35 --- /dev/null +++ b/Spells/Traditions/Combat/WordsOfHonor.lua @@ -0,0 +1,14 @@ +--[[ + Script Name : Spells\Traditions\Combat\WordsOfHonor.lua + Script Author : Zcoretri + Script Date : 2013.03.26 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/ConnoisseurofFineWines.lua b/Spells/Traditions/ConnoisseurofFineWines.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ConnoisseurofFineWines.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DarkAgenda.lua b/Spells/Traditions/DarkAgenda.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DarkAgenda.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DarkEnvy.lua b/Spells/Traditions/DarkEnvy.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DarkEnvy.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DefenderofEverfrost.lua b/Spells/Traditions/DefenderofEverfrost.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DefenderofEverfrost.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DefenderofKaladim.lua b/Spells/Traditions/DefenderofKaladim.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DefenderofKaladim.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DefensiveColoration.lua b/Spells/Traditions/DefensiveColoration.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DefensiveColoration.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Diplomacy.lua b/Spells/Traditions/Diplomacy.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Diplomacy.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Diversity.lua b/Spells/Traditions/Diversity.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Diversity.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/DwarvenFortitude.lua b/Spells/Traditions/DwarvenFortitude.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/DwarvenFortitude.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ElvenHeritage.lua b/Spells/Traditions/ElvenHeritage.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ElvenHeritage.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ElvenReflexes.lua b/Spells/Traditions/ElvenReflexes.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ElvenReflexes.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ElvenWisdom.lua b/Spells/Traditions/ElvenWisdom.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ElvenWisdom.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ElvishSpirits.lua b/Spells/Traditions/ElvishSpirits.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ElvishSpirits.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/EnvironmentalAdaptability.lua b/Spells/Traditions/EnvironmentalAdaptability.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/EnvironmentalAdaptability.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ErudsTeachings.lua b/Spells/Traditions/ErudsTeachings.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ErudsTeachings.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/EscapingDive.lua b/Spells/Traditions/EscapingDive.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/EscapingDive.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/EsotericStudy.lua b/Spells/Traditions/EsotericStudy.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/EsotericStudy.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FaeDexterity.lua b/Spells/Traditions/FaeDexterity.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FaeDexterity.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FaeFlight.lua b/Spells/Traditions/FaeFlight.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FaeFlight.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FallingGrace.lua b/Spells/Traditions/FallingGrace.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FallingGrace.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FaydarksChampion.lua b/Spells/Traditions/FaydarksChampion.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FaydarksChampion.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FaydwerFashions.lua b/Spells/Traditions/FaydwerFashions.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FaydwerFashions.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Featherfall.lua b/Spells/Traditions/Featherfall.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Featherfall.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FlashofInsight.lua b/Spells/Traditions/FlashofInsight.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FlashofInsight.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ForestFire.lua b/Spells/Traditions/ForestFire.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ForestFire.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ForestKnowledge.lua b/Spells/Traditions/ForestKnowledge.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ForestKnowledge.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ForestNavigation.lua b/Spells/Traditions/ForestNavigation.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ForestNavigation.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ForgeInvention.lua b/Spells/Traditions/ForgeInvention.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ForgeInvention.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FueledByHate.lua b/Spells/Traditions/FueledByHate.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FueledByHate.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FuryofFelwithe.lua b/Spells/Traditions/FuryofFelwithe.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FuryofFelwithe.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/FuryofInnoruuk.lua b/Spells/Traditions/FuryofInnoruuk.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/FuryofInnoruuk.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/GiftoftheFaydark.lua b/Spells/Traditions/GiftoftheFaydark.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/GiftoftheFaydark.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/GiftoftheInnothule.lua b/Spells/Traditions/GiftoftheInnothule.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/GiftoftheInnothule.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/GildingofFelwithe.lua b/Spells/Traditions/GildingofFelwithe.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/GildingofFelwithe.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Glide.lua b/Spells/Traditions/Glide.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Glide.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/GracefulMovements.lua b/Spells/Traditions/GracefulMovements.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/GracefulMovements.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HalasianAuthority.lua b/Spells/Traditions/HalasianAuthority.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HalasianAuthority.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Hardiness.lua b/Spells/Traditions/Hardiness.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Hardiness.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HarmoniousMind.lua b/Spells/Traditions/HarmoniousMind.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HarmoniousMind.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HatefulMind.lua b/Spells/Traditions/HatefulMind.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HatefulMind.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HealthyAppetite.lua b/Spells/Traditions/HealthyAppetite.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HealthyAppetite.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HerbalSupplementation.lua b/Spells/Traditions/HerbalSupplementation.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HerbalSupplementation.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Herbology.lua b/Spells/Traditions/Herbology.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Herbology.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Hover.lua b/Spells/Traditions/Hover.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Hover.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/HuntersFury.lua b/Spells/Traditions/HuntersFury.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/HuntersFury.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/IllusionClockwork.lua b/Spells/Traditions/IllusionClockwork.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/IllusionClockwork.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ImpenetrableWill.lua b/Spells/Traditions/ImpenetrableWill.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ImpenetrableWill.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Innate/KeeperOfTheForest.lua b/Spells/Traditions/Innate/KeeperOfTheForest.lua new file mode 100644 index 0000000..3a00033 --- /dev/null +++ b/Spells/Traditions/Innate/KeeperOfTheForest.lua @@ -0,0 +1,19 @@ +--[[ + Script Name : Spells\Tradidtions\KeeperOfTheForest.lua + Script Author : Zcoretri + Script Date : 2012.07.31 + Script Notes : Reduces gathering and foresting by 1 second. +--]] + +function cast(Caster, Target, Defense, SkillAmt, Stats) + --AddSpellBonus(Target, 0, Stats) -- STR needs to fixed to allow 0 +end + +function tick(Caster, Target, Type, Min, Max) + +end + +function remove(Caster, Target, Type, Min, Max) + --RemoveSkillBonus(Target) + --RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/InnoruuksGift.lua b/Spells/Traditions/InnoruuksGift.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/InnoruuksGift.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/InnothulesBlessing.lua b/Spells/Traditions/InnothulesBlessing.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/InnothulesBlessing.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/InstrumentsoftheUnderfoot.lua b/Spells/Traditions/InstrumentsoftheUnderfoot.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/InstrumentsoftheUnderfoot.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/IntellectoftheSage.lua b/Spells/Traditions/IntellectoftheSage.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/IntellectoftheSage.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/IntellectualFeasting.lua b/Spells/Traditions/IntellectualFeasting.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/IntellectualFeasting.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/IntricateCreations.lua b/Spells/Traditions/IntricateCreations.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/IntricateCreations.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Junglewalk.lua b/Spells/Traditions/Junglewalk.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Junglewalk.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/KeeperoftheForest.lua b/Spells/Traditions/KeeperoftheForest.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/KeeperoftheForest.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/LightFooted.lua b/Spells/Traditions/LightFooted.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/LightFooted.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/LostintheCrowd.lua b/Spells/Traditions/LostintheCrowd.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/LostintheCrowd.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MagicProtection.lua b/Spells/Traditions/MagicProtection.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MagicProtection.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MagicalProtection.lua b/Spells/Traditions/MagicalProtection.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MagicalProtection.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MagicalTeachings.lua b/Spells/Traditions/MagicalTeachings.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MagicalTeachings.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MagicoftheFae.lua b/Spells/Traditions/MagicoftheFae.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MagicoftheFae.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ManiacalMadness.lua b/Spells/Traditions/ManiacalMadness.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ManiacalMadness.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ManyMarches.lua b/Spells/Traditions/ManyMarches.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ManyMarches.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MasteroftheShadows.lua b/Spells/Traditions/MasteroftheShadows.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MasteroftheShadows.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MasteroftheTumpyTonic.lua b/Spells/Traditions/MasteroftheTumpyTonic.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MasteroftheTumpyTonic.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MeldrathsTeachings.lua b/Spells/Traditions/MeldrathsTeachings.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MeldrathsTeachings.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MenderoftheMire.lua b/Spells/Traditions/MenderoftheMire.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MenderoftheMire.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MiningExpertise.lua b/Spells/Traditions/MiningExpertise.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MiningExpertise.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MisfitsTrickery.lua b/Spells/Traditions/MisfitsTrickery.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MisfitsTrickery.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/MixedKnowledge.lua b/Spells/Traditions/MixedKnowledge.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/MixedKnowledge.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Multitalented.lua b/Spells/Traditions/Multitalented.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Multitalented.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/NaturalRecovery.lua b/Spells/Traditions/NaturalRecovery.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/NaturalRecovery.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/NeriakPrecision.lua b/Spells/Traditions/NeriakPrecision.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/NeriakPrecision.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Noncombat/AncestralBlessing.lua b/Spells/Traditions/Noncombat/AncestralBlessing.lua new file mode 100644 index 0000000..404602b --- /dev/null +++ b/Spells/Traditions/Noncombat/AncestralBlessing.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\AncestralBlessing.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/AnotherRound.lua b/Spells/Traditions/Noncombat/AnotherRound.lua new file mode 100644 index 0000000..d7749e1 --- /dev/null +++ b/Spells/Traditions/Noncombat/AnotherRound.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\AnotherRound.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/AsceticDiscipline.lua b/Spells/Traditions/Noncombat/AsceticDiscipline.lua new file mode 100644 index 0000000..055c47a --- /dev/null +++ b/Spells/Traditions/Noncombat/AsceticDiscipline.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\AsceticDiscipline.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/AutomatedPoisonDispenser.lua b/Spells/Traditions/Noncombat/AutomatedPoisonDispenser.lua new file mode 100644 index 0000000..2a310eb --- /dev/null +++ b/Spells/Traditions/Noncombat/AutomatedPoisonDispenser.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\AutomatedPoisonDispenser.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/BattleReady.lua b/Spells/Traditions/Noncombat/BattleReady.lua new file mode 100644 index 0000000..56a3ca6 --- /dev/null +++ b/Spells/Traditions/Noncombat/BattleReady.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\BattleReady.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/BindWound.lua b/Spells/Traditions/Noncombat/BindWound.lua new file mode 100644 index 0000000..67733e9 --- /dev/null +++ b/Spells/Traditions/Noncombat/BindWound.lua @@ -0,0 +1,18 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\BindWound.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.28 + Script Notes : Heals for 2% of max health while out of combat +--]] + +function cast(Caster, Target, Modifier) + CurrHealth = GetHP(Caster) + MaxHealth = GetMaxHP(Caster) + if IsInCombat(Caster) then + -- Do Nothing + elseif CurrHealth < MaxHealth then + healAmount = MaxHealth * Modifier + ModifyHP(Caster, healAmount) + end +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/BlessingOfTheMeal.lua b/Spells/Traditions/Noncombat/BlessingOfTheMeal.lua new file mode 100644 index 0000000..35e2562 --- /dev/null +++ b/Spells/Traditions/Noncombat/BlessingOfTheMeal.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\BlessingOfTheMeal.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/BristlebanesBlessing.lua b/Spells/Traditions/Noncombat/BristlebanesBlessing.lua new file mode 100644 index 0000000..ac757ae --- /dev/null +++ b/Spells/Traditions/Noncombat/BristlebanesBlessing.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\BristlebanesBlessing.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ChargeIntoBattle.lua b/Spells/Traditions/Noncombat/ChargeIntoBattle.lua new file mode 100644 index 0000000..e6bf719 --- /dev/null +++ b/Spells/Traditions/Noncombat/ChargeIntoBattle.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ChargeIntoBattle.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/CloakOfDarkness.lua b/Spells/Traditions/Noncombat/CloakOfDarkness.lua new file mode 100644 index 0000000..08dbfe7 --- /dev/null +++ b/Spells/Traditions/Noncombat/CloakOfDarkness.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\CloakOfDarkness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/CloakingDevice.lua b/Spells/Traditions/Noncombat/CloakingDevice.lua new file mode 100644 index 0000000..469e08b --- /dev/null +++ b/Spells/Traditions/Noncombat/CloakingDevice.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\CloakingDevice.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ConnoisseurOfFineWines.lua b/Spells/Traditions/Noncombat/ConnoisseurOfFineWines.lua new file mode 100644 index 0000000..7b681ae --- /dev/null +++ b/Spells/Traditions/Noncombat/ConnoisseurOfFineWines.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ConnoisseurOfFineWines.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/DelayedThirst.lua b/Spells/Traditions/Noncombat/DelayedThirst.lua new file mode 100644 index 0000000..92acd54 --- /dev/null +++ b/Spells/Traditions/Noncombat/DelayedThirst.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\DelayedThirst.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ElvishSpirits.lua b/Spells/Traditions/Noncombat/ElvishSpirits.lua new file mode 100644 index 0000000..72e6afa --- /dev/null +++ b/Spells/Traditions/Noncombat/ElvishSpirits.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ElvishSpirits.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/Empowered.lua b/Spells/Traditions/Noncombat/Empowered.lua new file mode 100644 index 0000000..00ab869 --- /dev/null +++ b/Spells/Traditions/Noncombat/Empowered.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\Empowered.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/EternalYouth.lua b/Spells/Traditions/Noncombat/EternalYouth.lua new file mode 100644 index 0000000..b543662 --- /dev/null +++ b/Spells/Traditions/Noncombat/EternalYouth.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\EternalYouth.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ExpertChemistry.lua b/Spells/Traditions/Noncombat/ExpertChemistry.lua new file mode 100644 index 0000000..5999c5b --- /dev/null +++ b/Spells/Traditions/Noncombat/ExpertChemistry.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ExpertChemistry.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ExtendedMarch.lua b/Spells/Traditions/Noncombat/ExtendedMarch.lua new file mode 100644 index 0000000..da8228f --- /dev/null +++ b/Spells/Traditions/Noncombat/ExtendedMarch.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ExtendedMarch.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/FastTwitched.lua b/Spells/Traditions/Noncombat/FastTwitched.lua new file mode 100644 index 0000000..c7fa7d3 --- /dev/null +++ b/Spells/Traditions/Noncombat/FastTwitched.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\FastTwitched.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ForestNavigation.lua b/Spells/Traditions/Noncombat/ForestNavigation.lua new file mode 100644 index 0000000..264e9b3 --- /dev/null +++ b/Spells/Traditions/Noncombat/ForestNavigation.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ForestNavigation.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/FrostedAles.lua b/Spells/Traditions/Noncombat/FrostedAles.lua new file mode 100644 index 0000000..fcc96b4 --- /dev/null +++ b/Spells/Traditions/Noncombat/FrostedAles.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\FrostedAles.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.28 + Script Notes : Increases duration of tradeskilled drinks by 10% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/GatherMana.lua b/Spells/Traditions/Noncombat/GatherMana.lua new file mode 100644 index 0000000..0652cc2 --- /dev/null +++ b/Spells/Traditions/Noncombat/GatherMana.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\GatherMana.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/GracefulLanding.lua b/Spells/Traditions/Noncombat/GracefulLanding.lua new file mode 100644 index 0000000..7d452df --- /dev/null +++ b/Spells/Traditions/Noncombat/GracefulLanding.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\GracefulLanding.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/HastenedStudy.lua b/Spells/Traditions/Noncombat/HastenedStudy.lua new file mode 100644 index 0000000..0342b36 --- /dev/null +++ b/Spells/Traditions/Noncombat/HastenedStudy.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\HastenedStudy.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/IrefulWill.lua b/Spells/Traditions/Noncombat/IrefulWill.lua new file mode 100644 index 0000000..57f56e7 --- /dev/null +++ b/Spells/Traditions/Noncombat/IrefulWill.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\IrefulWill.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases out-of-combat power regen based on level +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 601, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/KerraSpeed.lua b/Spells/Traditions/Noncombat/KerraSpeed.lua new file mode 100644 index 0000000..be31f24 --- /dev/null +++ b/Spells/Traditions/Noncombat/KerraSpeed.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\KerraSpeed.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/LastSecondHop.lua b/Spells/Traditions/Noncombat/LastSecondHop.lua new file mode 100644 index 0000000..138c159 --- /dev/null +++ b/Spells/Traditions/Noncombat/LastSecondHop.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\LastSecondHop.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/MasterOfTheShadows.lua b/Spells/Traditions/Noncombat/MasterOfTheShadows.lua new file mode 100644 index 0000000..8876679 --- /dev/null +++ b/Spells/Traditions/Noncombat/MasterOfTheShadows.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\MasterOfTheShadows.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases stealth/invisible movement speed by 15.0% +--]] + +function cast(Caster, Target, Modifier) + +end + + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/MeditativeContemplation.lua b/Spells/Traditions/Noncombat/MeditativeContemplation.lua new file mode 100644 index 0000000..6f716a7 --- /dev/null +++ b/Spells/Traditions/Noncombat/MeditativeContemplation.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\MeditativeContemplation.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/NapTime.lua b/Spells/Traditions/Noncombat/NapTime.lua new file mode 100644 index 0000000..46b0984 --- /dev/null +++ b/Spells/Traditions/Noncombat/NapTime.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\NapTime.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/NaturalAthlete.lua b/Spells/Traditions/Noncombat/NaturalAthlete.lua new file mode 100644 index 0000000..e0e4a93 --- /dev/null +++ b/Spells/Traditions/Noncombat/NaturalAthlete.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\NaturalAthlete.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/NobleGallop.lua b/Spells/Traditions/Noncombat/NobleGallop.lua new file mode 100644 index 0000000..94ad5aa --- /dev/null +++ b/Spells/Traditions/Noncombat/NobleGallop.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\NobleGallop.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/NomadicHealing.lua b/Spells/Traditions/Noncombat/NomadicHealing.lua new file mode 100644 index 0000000..e1f218b --- /dev/null +++ b/Spells/Traditions/Noncombat/NomadicHealing.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\NomadicHealing.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.28 + Script Notes : Increases out-of-combat power regen based on level +--]] + +function cast(Caster, Target, Modifier) + Level = GetLevel(Target) + BonusAmt = Level * Modifier + AddSpellBonus(Target, 601, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/OnlyTheFinestIngredients.lua b/Spells/Traditions/Noncombat/OnlyTheFinestIngredients.lua new file mode 100644 index 0000000..03f43b8 --- /dev/null +++ b/Spells/Traditions/Noncombat/OnlyTheFinestIngredients.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\OnlyTheFinesIngredients.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/OptimumDosage.lua b/Spells/Traditions/Noncombat/OptimumDosage.lua new file mode 100644 index 0000000..9cc48a2 --- /dev/null +++ b/Spells/Traditions/Noncombat/OptimumDosage.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\OptimumDosage.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/PixieDust.lua b/Spells/Traditions/Noncombat/PixieDust.lua new file mode 100644 index 0000000..f06963e --- /dev/null +++ b/Spells/Traditions/Noncombat/PixieDust.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\PixieDust.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/PoisonExpertise.lua b/Spells/Traditions/Noncombat/PoisonExpertise.lua new file mode 100644 index 0000000..4227ad4 --- /dev/null +++ b/Spells/Traditions/Noncombat/PoisonExpertise.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\PoisonExpertise.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases trigger count of poisons by 25.0% +--]] + +function cast(Caster, Target, Modifier) + +end + + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/PoisonousPlants.lua b/Spells/Traditions/Noncombat/PoisonousPlants.lua new file mode 100644 index 0000000..fc03d37 --- /dev/null +++ b/Spells/Traditions/Noncombat/PoisonousPlants.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\PoisonousPlants.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ProtectiveSkin.lua b/Spells/Traditions/Noncombat/ProtectiveSkin.lua new file mode 100644 index 0000000..671efeb --- /dev/null +++ b/Spells/Traditions/Noncombat/ProtectiveSkin.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ProtectiveSkin.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/QuickGetaway.lua b/Spells/Traditions/Noncombat/QuickGetaway.lua new file mode 100644 index 0000000..4ffce4f --- /dev/null +++ b/Spells/Traditions/Noncombat/QuickGetaway.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\QuickGetaway.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/QuickRecovery.lua b/Spells/Traditions/Noncombat/QuickRecovery.lua new file mode 100644 index 0000000..94f4c4f --- /dev/null +++ b/Spells/Traditions/Noncombat/QuickRecovery.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\QuickRecovery.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/QuickRecuperation.lua b/Spells/Traditions/Noncombat/QuickRecuperation.lua new file mode 100644 index 0000000..499f106 --- /dev/null +++ b/Spells/Traditions/Noncombat/QuickRecuperation.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\QuickRecuperation.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/QuitSittinAround.lua b/Spells/Traditions/Noncombat/QuitSittinAround.lua new file mode 100644 index 0000000..89a7657 --- /dev/null +++ b/Spells/Traditions/Noncombat/QuitSittinAround.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\QuitSittinAround.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/RationWater.lua b/Spells/Traditions/Noncombat/RationWater.lua new file mode 100644 index 0000000..0aad618 --- /dev/null +++ b/Spells/Traditions/Noncombat/RationWater.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\RationWater.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ReflexiveLanding.lua b/Spells/Traditions/Noncombat/ReflexiveLanding.lua new file mode 100644 index 0000000..8d0e5b4 --- /dev/null +++ b/Spells/Traditions/Noncombat/ReflexiveLanding.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ReflexiveLanding.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/Restore.lua b/Spells/Traditions/Noncombat/Restore.lua new file mode 100644 index 0000000..51ce34b --- /dev/null +++ b/Spells/Traditions/Noncombat/Restore.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\Restore.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ReturnToFormation.lua b/Spells/Traditions/Noncombat/ReturnToFormation.lua new file mode 100644 index 0000000..1531dfc --- /dev/null +++ b/Spells/Traditions/Noncombat/ReturnToFormation.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ReturnToFormation.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SecretsOfTheUnderfoot.lua b/Spells/Traditions/Noncombat/SecretsOfTheUnderfoot.lua new file mode 100644 index 0000000..88246b5 --- /dev/null +++ b/Spells/Traditions/Noncombat/SecretsOfTheUnderfoot.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SecretsOfTheUnderfoot.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ShadowStalker.lua b/Spells/Traditions/Noncombat/ShadowStalker.lua new file mode 100644 index 0000000..4f49f8c --- /dev/null +++ b/Spells/Traditions/Noncombat/ShadowStalker.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ShadowStalker.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/Shadowlurker.lua b/Spells/Traditions/Noncombat/Shadowlurker.lua new file mode 100644 index 0000000..2c487ee --- /dev/null +++ b/Spells/Traditions/Noncombat/Shadowlurker.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\Shadowlurker.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ShamanisticFasting.lua b/Spells/Traditions/Noncombat/ShamanisticFasting.lua new file mode 100644 index 0000000..aa186e2 --- /dev/null +++ b/Spells/Traditions/Noncombat/ShamanisticFasting.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ShamanisticFasting.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SlowMetabolism.lua b/Spells/Traditions/Noncombat/SlowMetabolism.lua new file mode 100644 index 0000000..b11f3ba --- /dev/null +++ b/Spells/Traditions/Noncombat/SlowMetabolism.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SlowMetabolism.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SmokedMeats.lua b/Spells/Traditions/Noncombat/SmokedMeats.lua new file mode 100644 index 0000000..1010d9d --- /dev/null +++ b/Spells/Traditions/Noncombat/SmokedMeats.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SmokedMeats.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SoftLandings.lua b/Spells/Traditions/Noncombat/SoftLandings.lua new file mode 100644 index 0000000..4a681ce --- /dev/null +++ b/Spells/Traditions/Noncombat/SoftLandings.lua @@ -0,0 +1,16 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SoftLandings.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.28 + Script Notes : Decreases falling damage by 15% +--]] + +function cast(Caster, Target, Modifier) + +end + + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/StealthyAcrobatics.lua b/Spells/Traditions/Noncombat/StealthyAcrobatics.lua new file mode 100644 index 0000000..abef8bf --- /dev/null +++ b/Spells/Traditions/Noncombat/StealthyAcrobatics.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\StealthyAcrobatics.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/StrongAdditives.lua b/Spells/Traditions/Noncombat/StrongAdditives.lua new file mode 100644 index 0000000..cc01c55 --- /dev/null +++ b/Spells/Traditions/Noncombat/StrongAdditives.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\StrongAdditives.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SturdyBones.lua b/Spells/Traditions/Noncombat/SturdyBones.lua new file mode 100644 index 0000000..9ed6c17 --- /dev/null +++ b/Spells/Traditions/Noncombat/SturdyBones.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SturdyBones.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SturdyFeet.lua b/Spells/Traditions/Noncombat/SturdyFeet.lua new file mode 100644 index 0000000..07beaa8 --- /dev/null +++ b/Spells/Traditions/Noncombat/SturdyFeet.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SturdyFeet.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SwampFeet.lua b/Spells/Traditions/Noncombat/SwampFeet.lua new file mode 100644 index 0000000..94b00af --- /dev/null +++ b/Spells/Traditions/Noncombat/SwampFeet.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SwampFeet.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/SwiftRecovery.lua b/Spells/Traditions/Noncombat/SwiftRecovery.lua new file mode 100644 index 0000000..1b57049 --- /dev/null +++ b/Spells/Traditions/Noncombat/SwiftRecovery.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\SwiftRecovery.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/TastyBrew.lua b/Spells/Traditions/Noncombat/TastyBrew.lua new file mode 100644 index 0000000..e3a2c9b --- /dev/null +++ b/Spells/Traditions/Noncombat/TastyBrew.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\TastyBrew.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/ToxicFinesse.lua b/Spells/Traditions/Noncombat/ToxicFinesse.lua new file mode 100644 index 0000000..3e7ff79 --- /dev/null +++ b/Spells/Traditions/Noncombat/ToxicFinesse.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\ToxicFinesse.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/TrainingTechniques.lua b/Spells/Traditions/Noncombat/TrainingTechniques.lua new file mode 100644 index 0000000..5e31d50 --- /dev/null +++ b/Spells/Traditions/Noncombat/TrainingTechniques.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\TrainingTechniques.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/UnderCoverOfTheVale.lua b/Spells/Traditions/Noncombat/UnderCoverOfTheVale.lua new file mode 100644 index 0000000..4db84ab --- /dev/null +++ b/Spells/Traditions/Noncombat/UnderCoverOfTheVale.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\UnderCoverOfTheVale.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/VitalityOfTheSwamp.lua b/Spells/Traditions/Noncombat/VitalityOfTheSwamp.lua new file mode 100644 index 0000000..4f0b173 --- /dev/null +++ b/Spells/Traditions/Noncombat/VitalityOfTheSwamp.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\VitalityOfTheSwamp.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/WalkItOff.lua b/Spells/Traditions/Noncombat/WalkItOff.lua new file mode 100644 index 0000000..4e461fb --- /dev/null +++ b/Spells/Traditions/Noncombat/WalkItOff.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\WalkItOff.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/WillfulPersistence.lua b/Spells/Traditions/Noncombat/WillfulPersistence.lua new file mode 100644 index 0000000..5c6d0bd --- /dev/null +++ b/Spells/Traditions/Noncombat/WillfulPersistence.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\WillfulPersistence.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.012.01 + Script Notes : Increases duration of tradeskilled potions by 15% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Noncombat/WoodlandRegeneration.lua b/Spells/Traditions/Noncombat/WoodlandRegeneration.lua new file mode 100644 index 0000000..81a57fb --- /dev/null +++ b/Spells/Traditions/Noncombat/WoodlandRegeneration.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Traditions\Noncombat\WoodlandRegeneration.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.27 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/OggokianAggression.lua b/Spells/Traditions/OggokianAggression.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/OggokianAggression.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/OggokianTrade.lua b/Spells/Traditions/OggokianTrade.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/OggokianTrade.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Perserverance.lua b/Spells/Traditions/Perserverance.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Perserverance.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/PitifulPlea.lua b/Spells/Traditions/PitifulPlea.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/PitifulPlea.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/PoisonCrafter.lua b/Spells/Traditions/PoisonCrafter.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/PoisonCrafter.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/PoisonExpertise.lua b/Spells/Traditions/PoisonExpertise.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/PoisonExpertise.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/PoisonPlay.lua b/Spells/Traditions/PoisonPlay.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/PoisonPlay.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Pools/ArcaneKnowledge.lua b/Spells/Traditions/Pools/ArcaneKnowledge.lua new file mode 100644 index 0000000..1f37109 --- /dev/null +++ b/Spells/Traditions/Pools/ArcaneKnowledge.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ArcaneKnowledge.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/BashersWill.lua b/Spells/Traditions/Pools/BashersWill.lua new file mode 100644 index 0000000..67fc30a --- /dev/null +++ b/Spells/Traditions/Pools/BashersWill.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\BashersWill.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/Bloodthirsty.lua b/Spells/Traditions/Pools/Bloodthirsty.lua new file mode 100644 index 0000000..0a775c7 --- /dev/null +++ b/Spells/Traditions/Pools/Bloodthirsty.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\Bloodthirsty.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ClockworkArmor.lua b/Spells/Traditions/Pools/ClockworkArmor.lua new file mode 100644 index 0000000..2172157 --- /dev/null +++ b/Spells/Traditions/Pools/ClockworkArmor.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ClockworkArmor.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/CoatedWings.lua b/Spells/Traditions/Pools/CoatedWings.lua new file mode 100644 index 0000000..bb01fe4 --- /dev/null +++ b/Spells/Traditions/Pools/CoatedWings.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\CoatedWings.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/CollectiveThoughts.lua b/Spells/Traditions/Pools/CollectiveThoughts.lua new file mode 100644 index 0000000..0d90bc4 --- /dev/null +++ b/Spells/Traditions/Pools/CollectiveThoughts.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\CollectiveThoughts.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.29 + Script Notes : Increases Mana Pool by 3.0% +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/DubiousFocus.lua b/Spells/Traditions/Pools/DubiousFocus.lua new file mode 100644 index 0000000..361d138 --- /dev/null +++ b/Spells/Traditions/Pools/DubiousFocus.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\DubiousFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Health Pool by 3.0% +--]] + +function cast(Caster, Target, Modifier) + CurHP = GetMaxHP(Target) + BonusAmt = CurHP * Modifier + AddSpellBonus(Target, 500, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/EnhancedIntellect.lua b/Spells/Traditions/Pools/EnhancedIntellect.lua new file mode 100644 index 0000000..8070f3b --- /dev/null +++ b/Spells/Traditions/Pools/EnhancedIntellect.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\EnhancedIntellect.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/FlashOfInsight.lua b/Spells/Traditions/Pools/FlashOfInsight.lua new file mode 100644 index 0000000..1bcb4a6 --- /dev/null +++ b/Spells/Traditions/Pools/FlashOfInsight.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\FlashOfInsight.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/FocusOfTheValorous.lua b/Spells/Traditions/Pools/FocusOfTheValorous.lua new file mode 100644 index 0000000..f54b74b --- /dev/null +++ b/Spells/Traditions/Pools/FocusOfTheValorous.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\FocusOfTheValorous.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/GiftOfTunare.lua b/Spells/Traditions/Pools/GiftOfTunare.lua new file mode 100644 index 0000000..d944583 --- /dev/null +++ b/Spells/Traditions/Pools/GiftOfTunare.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\GiftOfTunare.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/HatefulMind.lua b/Spells/Traditions/Pools/HatefulMind.lua new file mode 100644 index 0000000..6f92e43 --- /dev/null +++ b/Spells/Traditions/Pools/HatefulMind.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\HatefulMind.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Mana Pool by 3.0% +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/HonorOfInsight.lua b/Spells/Traditions/Pools/HonorOfInsight.lua new file mode 100644 index 0000000..b12da5f --- /dev/null +++ b/Spells/Traditions/Pools/HonorOfInsight.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\HonorOfInsight.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/InnerFocus.lua b/Spells/Traditions/Pools/InnerFocus.lua new file mode 100644 index 0000000..ca7e1a6 --- /dev/null +++ b/Spells/Traditions/Pools/InnerFocus.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\InnerFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/JumjumRegimen.lua b/Spells/Traditions/Pools/JumjumRegimen.lua new file mode 100644 index 0000000..a60fe7b --- /dev/null +++ b/Spells/Traditions/Pools/JumjumRegimen.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\JumjumRegimen.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/LegacyOfBrell.lua b/Spells/Traditions/Pools/LegacyOfBrell.lua new file mode 100644 index 0000000..1fc8cb6 --- /dev/null +++ b/Spells/Traditions/Pools/LegacyOfBrell.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\LegacyOfBrell.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/LegacyOfTheShissar.lua b/Spells/Traditions/Pools/LegacyOfTheShissar.lua new file mode 100644 index 0000000..93bc0c5 --- /dev/null +++ b/Spells/Traditions/Pools/LegacyOfTheShissar.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\LegacyOfTheShissar.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/LegendaryTenacity.lua b/Spells/Traditions/Pools/LegendaryTenacity.lua new file mode 100644 index 0000000..e732816 --- /dev/null +++ b/Spells/Traditions/Pools/LegendaryTenacity.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\LegendayTenacity.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/LegionnairesFocus.lua b/Spells/Traditions/Pools/LegionnairesFocus.lua new file mode 100644 index 0000000..7bccc17 --- /dev/null +++ b/Spells/Traditions/Pools/LegionnairesFocus.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\LegionnairesFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/MagicOfTheArasai.lua b/Spells/Traditions/Pools/MagicOfTheArasai.lua new file mode 100644 index 0000000..e3f2e2d --- /dev/null +++ b/Spells/Traditions/Pools/MagicOfTheArasai.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\MagicOfTheArasai.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/MagicOfTheFae.lua b/Spells/Traditions/Pools/MagicOfTheFae.lua new file mode 100644 index 0000000..c6cfd7d --- /dev/null +++ b/Spells/Traditions/Pools/MagicOfTheFae.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\MagicOfTheFae.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ManiacalMadness.lua b/Spells/Traditions/Pools/ManiacalMadness.lua new file mode 100644 index 0000000..33cd4cd --- /dev/null +++ b/Spells/Traditions/Pools/ManiacalMadness.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ManiacalMadness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/MeditativeStae.lua b/Spells/Traditions/Pools/MeditativeStae.lua new file mode 100644 index 0000000..119ca44 --- /dev/null +++ b/Spells/Traditions/Pools/MeditativeStae.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\MeditativeState.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/MiddaySnack.lua b/Spells/Traditions/Pools/MiddaySnack.lua new file mode 100644 index 0000000..0e0ee42 --- /dev/null +++ b/Spells/Traditions/Pools/MiddaySnack.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\MiddaySnack.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/RallosZeksBlessing.lua b/Spells/Traditions/Pools/RallosZeksBlessing.lua new file mode 100644 index 0000000..7c87678 --- /dev/null +++ b/Spells/Traditions/Pools/RallosZeksBlessing.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\RallosZeksBlessing.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ResilianceOfTheUnderfoot.lua b/Spells/Traditions/Pools/ResilianceOfTheUnderfoot.lua new file mode 100644 index 0000000..2539344 --- /dev/null +++ b/Spells/Traditions/Pools/ResilianceOfTheUnderfoot.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ResilianceOfTheUnderfoot.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ResilientMind.lua b/Spells/Traditions/Pools/ResilientMind.lua new file mode 100644 index 0000000..dff2fee --- /dev/null +++ b/Spells/Traditions/Pools/ResilientMind.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ResilientMind.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/RuggedFortitude.lua b/Spells/Traditions/Pools/RuggedFortitude.lua new file mode 100644 index 0000000..bb3b76e --- /dev/null +++ b/Spells/Traditions/Pools/RuggedFortitude.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\RuggedFortitude.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/Ruggedness.lua b/Spells/Traditions/Pools/Ruggedness.lua new file mode 100644 index 0000000..d8e7392 --- /dev/null +++ b/Spells/Traditions/Pools/Ruggedness.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\Ruggedness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ShortButStrong.lua b/Spells/Traditions/Pools/ShortButStrong.lua new file mode 100644 index 0000000..1def9b1 --- /dev/null +++ b/Spells/Traditions/Pools/ShortButStrong.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ShortButStrong.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/SpiritualBoon.lua b/Spells/Traditions/Pools/SpiritualBoon.lua new file mode 100644 index 0000000..004d485 --- /dev/null +++ b/Spells/Traditions/Pools/SpiritualBoon.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\SpiritualBoon.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/SpontaneousMetamorphosis.lua b/Spells/Traditions/Pools/SpontaneousMetamorphosis.lua new file mode 100644 index 0000000..653d0f9 --- /dev/null +++ b/Spells/Traditions/Pools/SpontaneousMetamorphosis.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\SpontaneousMetamorphosis.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/TheoreticalImprovements.lua b/Spells/Traditions/Pools/TheoreticalImprovements.lua new file mode 100644 index 0000000..9703287 --- /dev/null +++ b/Spells/Traditions/Pools/TheoreticalImprovements.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\TheoreticalImprovements.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/ThoughtsOfFelwithe.lua b/Spells/Traditions/Pools/ThoughtsOfFelwithe.lua new file mode 100644 index 0000000..af7ba3e --- /dev/null +++ b/Spells/Traditions/Pools/ThoughtsOfFelwithe.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\ThoughtsOfFelwithe.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/TribalKnowledge.lua b/Spells/Traditions/Pools/TribalKnowledge.lua new file mode 100644 index 0000000..9bbcec9 --- /dev/null +++ b/Spells/Traditions/Pools/TribalKnowledge.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\TribalKnowledge.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/TribalStrength.lua b/Spells/Traditions/Pools/TribalStrength.lua new file mode 100644 index 0000000..080a8f0 --- /dev/null +++ b/Spells/Traditions/Pools/TribalStrength.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\TribalStrength.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.29 + Script Notes : Increases Health Pool by 3.0% +--]] + +function cast(Caster, Target, Modifier) + CurHP = GetMaxHP(Target) + BonusAmt = CurHP * Modifier + AddSpellBonus(Target, 500, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/VampiricWill.lua b/Spells/Traditions/Pools/VampiricWill.lua new file mode 100644 index 0000000..25a884d --- /dev/null +++ b/Spells/Traditions/Pools/VampiricWill.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\VampiricWill.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/VitalityOfTheFeirDal.lua b/Spells/Traditions/Pools/VitalityOfTheFeirDal.lua new file mode 100644 index 0000000..f64b646 --- /dev/null +++ b/Spells/Traditions/Pools/VitalityOfTheFeirDal.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\VitalityOfTheFeirDal.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Pools/WillOfTheAnchored.lua b/Spells/Traditions/Pools/WillOfTheAnchored.lua new file mode 100644 index 0000000..512c029 --- /dev/null +++ b/Spells/Traditions/Pools/WillOfTheAnchored.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Pools\WillOfTheAnchored.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurPower = GetMaxPower(Target) + BonusAmt = CurPower * Modifier + AddSpellBonus(Target, 501, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/ProficientSwimmer.lua b/Spells/Traditions/ProficientSwimmer.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ProficientSwimmer.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/PursuitoftheArcane.lua b/Spells/Traditions/PursuitoftheArcane.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/PursuitoftheArcane.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/RallosZeksBlessing.lua b/Spells/Traditions/RallosZeksBlessing.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RallosZeksBlessing.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/RallosianReadiness.lua b/Spells/Traditions/RallosianReadiness.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RallosianReadiness.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/RebelliousSpirit.lua b/Spells/Traditions/RebelliousSpirit.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RebelliousSpirit.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ReflexiveLanding.lua b/Spells/Traditions/ReflexiveLanding.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ReflexiveLanding.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ReptilianAncestry.lua b/Spells/Traditions/ReptilianAncestry.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ReptilianAncestry.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Resists/Adaptable.lua b/Spells/Traditions/Resists/Adaptable.lua new file mode 100644 index 0000000..afd6405 --- /dev/null +++ b/Spells/Traditions/Resists/Adaptable.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\Adaptable.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/Antidote.lua b/Spells/Traditions/Resists/Antidote.lua new file mode 100644 index 0000000..d326ff9 --- /dev/null +++ b/Spells/Traditions/Resists/Antidote.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\Antidote.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ArcanicFortitude.lua b/Spells/Traditions/Resists/ArcanicFortitude.lua new file mode 100644 index 0000000..c244eab --- /dev/null +++ b/Spells/Traditions/Resists/ArcanicFortitude.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ArcanicFortitude.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ArmorOfTheFeerrott.lua b/Spells/Traditions/Resists/ArmorOfTheFeerrott.lua new file mode 100644 index 0000000..d0648b1 --- /dev/null +++ b/Spells/Traditions/Resists/ArmorOfTheFeerrott.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ArmorOfTheFeerrott.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/DefyMagic.lua b/Spells/Traditions/Resists/DefyMagic.lua new file mode 100644 index 0000000..a9fed0d --- /dev/null +++ b/Spells/Traditions/Resists/DefyMagic.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\DefyMagic.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/DevoutBarrier.lua b/Spells/Traditions/Resists/DevoutBarrier.lua new file mode 100644 index 0000000..a5db2cf --- /dev/null +++ b/Spells/Traditions/Resists/DevoutBarrier.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\DevoutBarrier.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.29 + Script Notes : Increases Arcane mitigation based on level +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/DidntEvenFeelIt.lua b/Spells/Traditions/Resists/DidntEvenFeelIt.lua new file mode 100644 index 0000000..f8f7ae6 --- /dev/null +++ b/Spells/Traditions/Resists/DidntEvenFeelIt.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\DidntEvenFeekIt.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ElementalBarrier.lua b/Spells/Traditions/Resists/ElementalBarrier.lua new file mode 100644 index 0000000..7bd0c93 --- /dev/null +++ b/Spells/Traditions/Resists/ElementalBarrier.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ElementalBarrier.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ElementalDefiance.lua b/Spells/Traditions/Resists/ElementalDefiance.lua new file mode 100644 index 0000000..95bfa79 --- /dev/null +++ b/Spells/Traditions/Resists/ElementalDefiance.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ElementalDefiance.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Elemental mitigation based on level +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 201, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ElementalDurability.lua b/Spells/Traditions/Resists/ElementalDurability.lua new file mode 100644 index 0000000..4e76f40 --- /dev/null +++ b/Spells/Traditions/Resists/ElementalDurability.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ElementalDurability.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ElementalFortitude.lua b/Spells/Traditions/Resists/ElementalFortitude.lua new file mode 100644 index 0000000..72d8614 --- /dev/null +++ b/Spells/Traditions/Resists/ElementalFortitude.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ElementalFortitude.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ElementalMastery.lua b/Spells/Traditions/Resists/ElementalMastery.lua new file mode 100644 index 0000000..b01f4bf --- /dev/null +++ b/Spells/Traditions/Resists/ElementalMastery.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ElementalMastery.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/EnvironmentalAdaptability.lua b/Spells/Traditions/Resists/EnvironmentalAdaptability.lua new file mode 100644 index 0000000..5159c8e --- /dev/null +++ b/Spells/Traditions/Resists/EnvironmentalAdaptability.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\EnvironmentalAdaptability.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/FocusOfWarfare.lua b/Spells/Traditions/Resists/FocusOfWarfare.lua new file mode 100644 index 0000000..23b40a7 --- /dev/null +++ b/Spells/Traditions/Resists/FocusOfWarfare.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\FocusOfWarfare.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/FurCoat.lua b/Spells/Traditions/Resists/FurCoat.lua new file mode 100644 index 0000000..4f98629 --- /dev/null +++ b/Spells/Traditions/Resists/FurCoat.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\FurCoat.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/HardenedScales.lua b/Spells/Traditions/Resists/HardenedScales.lua new file mode 100644 index 0000000..c84651d --- /dev/null +++ b/Spells/Traditions/Resists/HardenedScales.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\HardenedScales.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/HiddenTracks.lua b/Spells/Traditions/Resists/HiddenTracks.lua new file mode 100644 index 0000000..77b909f --- /dev/null +++ b/Spells/Traditions/Resists/HiddenTracks.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\HiddenTracks.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/LeatherSkin.lua b/Spells/Traditions/Resists/LeatherSkin.lua new file mode 100644 index 0000000..4c420fa --- /dev/null +++ b/Spells/Traditions/Resists/LeatherSkin.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\LeatherSkin.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/LightbringersProtection.lua b/Spells/Traditions/Resists/LightbringersProtection.lua new file mode 100644 index 0000000..518863c --- /dev/null +++ b/Spells/Traditions/Resists/LightbringersProtection.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\LightbringersProtection.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/MagicPah.lua b/Spells/Traditions/Resists/MagicPah.lua new file mode 100644 index 0000000..1113735 --- /dev/null +++ b/Spells/Traditions/Resists/MagicPah.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\MagicPah.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/MagicalProtection.lua b/Spells/Traditions/Resists/MagicalProtection.lua new file mode 100644 index 0000000..ff93b79 --- /dev/null +++ b/Spells/Traditions/Resists/MagicalProtection.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\MagicalProtection.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/OggokianStubbornness.lua b/Spells/Traditions/Resists/OggokianStubbornness.lua new file mode 100644 index 0000000..f4f14b2 --- /dev/null +++ b/Spells/Traditions/Resists/OggokianStubbornness.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\OggokianStubbornness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ProtectiveEyewear.lua b/Spells/Traditions/Resists/ProtectiveEyewear.lua new file mode 100644 index 0000000..4aed034 --- /dev/null +++ b/Spells/Traditions/Resists/ProtectiveEyewear.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ProtectiveEyewear.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/PutridHide.lua b/Spells/Traditions/Resists/PutridHide.lua new file mode 100644 index 0000000..46be0ba --- /dev/null +++ b/Spells/Traditions/Resists/PutridHide.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\PutridHide.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/RemedialWill.lua b/Spells/Traditions/Resists/RemedialWill.lua new file mode 100644 index 0000000..8d972b0 --- /dev/null +++ b/Spells/Traditions/Resists/RemedialWill.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\RemedialWill.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/RivervalesProtection.lua b/Spells/Traditions/Resists/RivervalesProtection.lua new file mode 100644 index 0000000..21a7668 --- /dev/null +++ b/Spells/Traditions/Resists/RivervalesProtection.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\RivervalesProtection.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/RobustMight.lua b/Spells/Traditions/Resists/RobustMight.lua new file mode 100644 index 0000000..6d0f444 --- /dev/null +++ b/Spells/Traditions/Resists/RobustMight.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\RobustMight.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ShieldOfBark.lua b/Spells/Traditions/Resists/ShieldOfBark.lua new file mode 100644 index 0000000..5ae6902 --- /dev/null +++ b/Spells/Traditions/Resists/ShieldOfBark.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ShieldOfBark.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ShieldOfNature.lua b/Spells/Traditions/Resists/ShieldOfNature.lua new file mode 100644 index 0000000..e50851b --- /dev/null +++ b/Spells/Traditions/Resists/ShieldOfNature.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ShieldOfNature.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/SlipperyHide.lua b/Spells/Traditions/Resists/SlipperyHide.lua new file mode 100644 index 0000000..a63dcbc --- /dev/null +++ b/Spells/Traditions/Resists/SlipperyHide.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\SlipperyHide.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/Spirituality.lua b/Spells/Traditions/Resists/Spirituality.lua new file mode 100644 index 0000000..74d918e --- /dev/null +++ b/Spells/Traditions/Resists/Spirituality.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\Spirituality.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/StrongBlood.lua b/Spells/Traditions/Resists/StrongBlood.lua new file mode 100644 index 0000000..bcd8a19 --- /dev/null +++ b/Spells/Traditions/Resists/StrongBlood.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\StrongBlood.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/TenetOfTakishHiz.lua b/Spells/Traditions/Resists/TenetOfTakishHiz.lua new file mode 100644 index 0000000..496cd2d --- /dev/null +++ b/Spells/Traditions/Resists/TenetOfTakishHiz.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\TenetOfTakishHiz.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ToughScales.lua b/Spells/Traditions/Resists/ToughScales.lua new file mode 100644 index 0000000..75276d8 --- /dev/null +++ b/Spells/Traditions/Resists/ToughScales.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ToughScales.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ToxicIntimacy.lua b/Spells/Traditions/Resists/ToxicIntimacy.lua new file mode 100644 index 0000000..284e9b5 --- /dev/null +++ b/Spells/Traditions/Resists/ToxicIntimacy.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ToxicIntimacy.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Noxious mitigation based on level +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 202, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/ToxicProtection.lua b/Spells/Traditions/Resists/ToxicProtection.lua new file mode 100644 index 0000000..5b223f2 --- /dev/null +++ b/Spells/Traditions/Resists/ToxicProtection.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\ToxicProtection.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/TundraRuggedness.lua b/Spells/Traditions/Resists/TundraRuggedness.lua new file mode 100644 index 0000000..e8c4437 --- /dev/null +++ b/Spells/Traditions/Resists/TundraRuggedness.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\TundraRuggedness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.01.29 + Script Notes : Increases physical mitigation based on level +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 200, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Resists/UndeadResilience.lua b/Spells/Traditions/Resists/UndeadResilience.lua new file mode 100644 index 0000000..31e8eab --- /dev/null +++ b/Spells/Traditions/Resists/UndeadResilience.lua @@ -0,0 +1,17 @@ +--[[ + Script Name : Spells\Traditions\Resist\UndeadResilience.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.03.29 + Script Notes : +--]] + +function cast(Caster, Target, Modifier) + CurLevel = GetLevel(Target) + BonusAmt = CurLevel * Modifier + AddSpellBonus(Target, 203, BonusAmt) +end + +function remove(Caster, Target, Modifier) + RemoveSpellBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/RockThrower.lua b/Spells/Traditions/RockThrower.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RockThrower.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/RodentReflexes.lua b/Spells/Traditions/RodentReflexes.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RodentReflexes.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/RushintoBattle.lua b/Spells/Traditions/RushintoBattle.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/RushintoBattle.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ShadowLurker.lua b/Spells/Traditions/ShadowLurker.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ShadowLurker.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ShieldofNature.lua b/Spells/Traditions/ShieldofNature.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ShieldofNature.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ShoulderSlam.lua b/Spells/Traditions/ShoulderSlam.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ShoulderSlam.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SoulMending.lua b/Spells/Traditions/SoulMending.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SoulMending.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Spirituality.lua b/Spells/Traditions/Spirituality.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Spirituality.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SprintIntoBattle.lua b/Spells/Traditions/SprintIntoBattle.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SprintIntoBattle.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SteamfontsMagicalBarrier.lua b/Spells/Traditions/SteamfontsMagicalBarrier.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SteamfontsMagicalBarrier.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/StreetThug.lua b/Spells/Traditions/StreetThug.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/StreetThug.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Stride.lua b/Spells/Traditions/Stride.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Stride.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/StrongHeart.lua b/Spells/Traditions/StrongHeart.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/StrongHeart.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SummonFilthyWater.lua b/Spells/Traditions/SummonFilthyWater.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SummonFilthyWater.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SummonHalasianBrew.lua b/Spells/Traditions/SummonHalasianBrew.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SummonHalasianBrew.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/SwampBreath.lua b/Spells/Traditions/SwampBreath.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/SwampBreath.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TastyThings.lua b/Spells/Traditions/TastyThings.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TastyThings.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TendWounds.lua b/Spells/Traditions/TendWounds.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TendWounds.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TenetofTakish`Hiz.lua b/Spells/Traditions/TenetofTakish`Hiz.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TenetofTakish`Hiz.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TheFocisMagicalProtection.lua b/Spells/Traditions/TheFocisMagicalProtection.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TheFocisMagicalProtection.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ThulesGuidance.lua b/Spells/Traditions/ThulesGuidance.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ThulesGuidance.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/ToxicProtection.lua b/Spells/Traditions/ToxicProtection.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/ToxicProtection.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Tradeskill/AgileCreations.lua b/Spells/Traditions/Tradeskill/AgileCreations.lua new file mode 100644 index 0000000..2f987e0 --- /dev/null +++ b/Spells/Traditions/Tradeskill/AgileCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\AgileCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/AlchemicIngenuity.lua b/Spells/Traditions/Tradeskill/AlchemicIngenuity.lua new file mode 100644 index 0000000..f5339ee --- /dev/null +++ b/Spells/Traditions/Tradeskill/AlchemicIngenuity.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\AlchemicIngenuity.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ArcaneUnderstanding.lua b/Spells/Traditions/Tradeskill/ArcaneUnderstanding.lua new file mode 100644 index 0000000..5ffc052 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ArcaneUnderstanding.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ArcaneUnderstanding.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/AttentionToDetails.lua b/Spells/Traditions/Tradeskill/AttentionToDetails.lua new file mode 100644 index 0000000..7d1fec8 --- /dev/null +++ b/Spells/Traditions/Tradeskill/AttentionToDetails.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\AttentionToDetails.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/AyrDalAdornment.lua b/Spells/Traditions/Tradeskill/AyrDalAdornment.lua new file mode 100644 index 0000000..21d28a8 --- /dev/null +++ b/Spells/Traditions/Tradeskill/AyrDalAdornment.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\AyrDalAdornment.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/BreakingDownTheTrash.lua b/Spells/Traditions/Tradeskill/BreakingDownTheTrash.lua new file mode 100644 index 0000000..cc66fc2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/BreakingDownTheTrash.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\BreakingDownTheTrash.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/BrellsBlessing.lua b/Spells/Traditions/Tradeskill/BrellsBlessing.lua new file mode 100644 index 0000000..3fd8293 --- /dev/null +++ b/Spells/Traditions/Tradeskill/BrellsBlessing.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\BrellsBlessing.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Brewmaster.lua b/Spells/Traditions/Tradeskill/Brewmaster.lua new file mode 100644 index 0000000..8191052 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Brewmaster.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Brewmaster.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Artistry by 5.0 +--]] + +function cast(Caster, Target, Bonus) + AddSkillBonus(Target, 3881305672, Bonus) +end + +function remove(Caster, Target, Bonus) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/CarpentersTouch.lua b/Spells/Traditions/Tradeskill/CarpentersTouch.lua new file mode 100644 index 0000000..195b360 --- /dev/null +++ b/Spells/Traditions/Tradeskill/CarpentersTouch.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\CarpentersTouch.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ChasingBallsOfYarn.lua b/Spells/Traditions/Tradeskill/ChasingBallsOfYarn.lua new file mode 100644 index 0000000..51fa5ab --- /dev/null +++ b/Spells/Traditions/Tradeskill/ChasingBallsOfYarn.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ChasingBallsOfYarn.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ChemicalCalculations.lua b/Spells/Traditions/Tradeskill/ChemicalCalculations.lua new file mode 100644 index 0000000..c7ae96d --- /dev/null +++ b/Spells/Traditions/Tradeskill/ChemicalCalculations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ChemicalCalculations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Chemist.lua b/Spells/Traditions/Tradeskill/Chemist.lua new file mode 100644 index 0000000..9c915c4 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Chemist.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Chemist.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Clothier.lua b/Spells/Traditions/Tradeskill/Clothier.lua new file mode 100644 index 0000000..0fd4bc2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Clothier.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Clothier.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/CraftyConcentrations.lua b/Spells/Traditions/Tradeskill/CraftyConcentrations.lua new file mode 100644 index 0000000..646f6ba --- /dev/null +++ b/Spells/Traditions/Tradeskill/CraftyConcentrations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\CraftyConcentrations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DarkArmament.lua b/Spells/Traditions/Tradeskill/DarkArmament.lua new file mode 100644 index 0000000..dbbef15 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DarkArmament.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DarkArmament.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Metal Shaping by 5.0 +--]] + +function cast(Caster, Target, Bonus) + AddSkillBonus(Target, 3108933728, Bonus) +end + +function remove(Caster, Target, Bonus) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DarkMedicine.lua b/Spells/Traditions/Tradeskill/DarkMedicine.lua new file mode 100644 index 0000000..f0bc6c6 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DarkMedicine.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DarkMedicine.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DarkPerfectionist.lua b/Spells/Traditions/Tradeskill/DarkPerfectionist.lua new file mode 100644 index 0000000..42d7844 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DarkPerfectionist.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DarkPerfectionist.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DexterousCreations.lua b/Spells/Traditions/Tradeskill/DexterousCreations.lua new file mode 100644 index 0000000..32e83f3 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DexterousCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DextrousCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Diversity.lua b/Spells/Traditions/Tradeskill/Diversity.lua new file mode 100644 index 0000000..36f16a2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Diversity.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Diversity.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DurableGoods.lua b/Spells/Traditions/Tradeskill/DurableGoods.lua new file mode 100644 index 0000000..5f440b8 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DurableGoods.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DurableGoods.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Durability per round by 2.0 +--]] + +function cast(Caster, Target, DuraMod) + +end + +function remove(Caster, Target, DuraMod) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DwarvenCraftsmanship.lua b/Spells/Traditions/Tradeskill/DwarvenCraftsmanship.lua new file mode 100644 index 0000000..b2366d6 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DwarvenCraftsmanship.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DwarvenCraftsmenship.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/DwarvenDurability.lua b/Spells/Traditions/Tradeskill/DwarvenDurability.lua new file mode 100644 index 0000000..8546525 --- /dev/null +++ b/Spells/Traditions/Tradeskill/DwarvenDurability.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\DwarvenDurability.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/EsotericStudy.lua b/Spells/Traditions/Tradeskill/EsotericStudy.lua new file mode 100644 index 0000000..92f5bf4 --- /dev/null +++ b/Spells/Traditions/Tradeskill/EsotericStudy.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\EsotericStudy.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Excellence.lua b/Spells/Traditions/Tradeskill/Excellence.lua new file mode 100644 index 0000000..f20748b --- /dev/null +++ b/Spells/Traditions/Tradeskill/Excellence.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Excellence.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ExperimentalTechnique.lua b/Spells/Traditions/Tradeskill/ExperimentalTechnique.lua new file mode 100644 index 0000000..122145c --- /dev/null +++ b/Spells/Traditions/Tradeskill/ExperimentalTechnique.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ExperimentalTechnique.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FaydwerFashions.lua b/Spells/Traditions/Tradeskill/FaydwerFashions.lua new file mode 100644 index 0000000..8d33260 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FaydwerFashions.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FaydwerFashions.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FervorOfMarr.lua b/Spells/Traditions/Tradeskill/FervorOfMarr.lua new file mode 100644 index 0000000..9605813 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FervorOfMarr.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FervorOfMarr.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FieldRepairs.lua b/Spells/Traditions/Tradeskill/FieldRepairs.lua new file mode 100644 index 0000000..c30dbf0 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FieldRepairs.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FieldRepairs.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FinestCreations.lua b/Spells/Traditions/Tradeskill/FinestCreations.lua new file mode 100644 index 0000000..2770d65 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FinestCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FinestCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FinestRobesAround.lua b/Spells/Traditions/Tradeskill/FinestRobesAround.lua new file mode 100644 index 0000000..4ac4b34 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FinestRobesAround.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FinestRobesAround.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ForestKnowledge.lua b/Spells/Traditions/Tradeskill/ForestKnowledge.lua new file mode 100644 index 0000000..41b3e06 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ForestKnowledge.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ForestKnowledge.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ForgeInvention.lua b/Spells/Traditions/Tradeskill/ForgeInvention.lua new file mode 100644 index 0000000..b6ba484 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ForgeInvention.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ForgeInvention.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/FortuneOfTheFeerrott.lua b/Spells/Traditions/Tradeskill/FortuneOfTheFeerrott.lua new file mode 100644 index 0000000..40e6ab6 --- /dev/null +++ b/Spells/Traditions/Tradeskill/FortuneOfTheFeerrott.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\FortuneOfTheFeerrott.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GemcraftingExcellence.lua b/Spells/Traditions/Tradeskill/GemcraftingExcellence.lua new file mode 100644 index 0000000..3fc4c53 --- /dev/null +++ b/Spells/Traditions/Tradeskill/GemcraftingExcellence.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GemcraftExcellence.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GiftOfTheFaydark.lua b/Spells/Traditions/Tradeskill/GiftOfTheFaydark.lua new file mode 100644 index 0000000..78346f2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/GiftOfTheFaydark.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GiftOfTheFaydark.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GiftOfTheLand.lua b/Spells/Traditions/Tradeskill/GiftOfTheLand.lua new file mode 100644 index 0000000..77ba001 --- /dev/null +++ b/Spells/Traditions/Tradeskill/GiftOfTheLand.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GiftOfTheLand.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GildingOfFelwithe.lua b/Spells/Traditions/Tradeskill/GildingOfFelwithe.lua new file mode 100644 index 0000000..2784765 --- /dev/null +++ b/Spells/Traditions/Tradeskill/GildingOfFelwithe.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GildingOfFelwithe.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GnomishIngenuity.lua b/Spells/Traditions/Tradeskill/GnomishIngenuity.lua new file mode 100644 index 0000000..432ac17 --- /dev/null +++ b/Spells/Traditions/Tradeskill/GnomishIngenuity.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GnomishIngenuity.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/GracefulAssembly.lua b/Spells/Traditions/Tradeskill/GracefulAssembly.lua new file mode 100644 index 0000000..dae91be --- /dev/null +++ b/Spells/Traditions/Tradeskill/GracefulAssembly.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\GracefulAssembly.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/HalasianArtistry.lua b/Spells/Traditions/Tradeskill/HalasianArtistry.lua new file mode 100644 index 0000000..712ee57 --- /dev/null +++ b/Spells/Traditions/Tradeskill/HalasianArtistry.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\HalasianArtistry.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Reduces power cost of Carpentry skills by 9% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Herbology.lua b/Spells/Traditions/Tradeskill/Herbology.lua new file mode 100644 index 0000000..329931b --- /dev/null +++ b/Spells/Traditions/Tradeskill/Herbology.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Herbology.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Chemistry by 5.0 +--]] + +function cast(Caster, Target, Bonus) + AddSkillBonus(Target, 2557647574, Bonus) +end + +function remove(Caster, Target, Bonus) + RemoveSkillBonus(Target) +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/HypotheticalExperimentation.lua b/Spells/Traditions/Tradeskill/HypotheticalExperimentation.lua new file mode 100644 index 0000000..6619abc --- /dev/null +++ b/Spells/Traditions/Tradeskill/HypotheticalExperimentation.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\HypotheticalExperimentation.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/IngeniousTrades.lua b/Spells/Traditions/Tradeskill/IngeniousTrades.lua new file mode 100644 index 0000000..2631e44 --- /dev/null +++ b/Spells/Traditions/Tradeskill/IngeniousTrades.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\IngeniousTrade.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/InstrumentsOfTheUnderfoot.lua b/Spells/Traditions/Tradeskill/InstrumentsOfTheUnderfoot.lua new file mode 100644 index 0000000..40c6ee5 --- /dev/null +++ b/Spells/Traditions/Tradeskill/InstrumentsOfTheUnderfoot.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\InstrumentsOfTheUnderfoot.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/IntricateCreations.lua b/Spells/Traditions/Tradeskill/IntricateCreations.lua new file mode 100644 index 0000000..1dcb7fa --- /dev/null +++ b/Spells/Traditions/Tradeskill/IntricateCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\IntricateCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/IntricateDesigns.lua b/Spells/Traditions/Tradeskill/IntricateDesigns.lua new file mode 100644 index 0000000..0c5bec4 --- /dev/null +++ b/Spells/Traditions/Tradeskill/IntricateDesigns.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\IntricateDesigns.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/KruzzsLuck.lua b/Spells/Traditions/Tradeskill/KruzzsLuck.lua new file mode 100644 index 0000000..dac52c4 --- /dev/null +++ b/Spells/Traditions/Tradeskill/KruzzsLuck.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\KruzzsLuck.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/LegionsQuatermaster.lua b/Spells/Traditions/Tradeskill/LegionsQuatermaster.lua new file mode 100644 index 0000000..17a70c9 --- /dev/null +++ b/Spells/Traditions/Tradeskill/LegionsQuatermaster.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\LegionsQuartermaster.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/MagicalTeachings.lua b/Spells/Traditions/Tradeskill/MagicalTeachings.lua new file mode 100644 index 0000000..29f3461 --- /dev/null +++ b/Spells/Traditions/Tradeskill/MagicalTeachings.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\MagicalTeachings.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ManderOfTheMire.lua b/Spells/Traditions/Tradeskill/ManderOfTheMire.lua new file mode 100644 index 0000000..996b750 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ManderOfTheMire.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ManderOfTheMire.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/MasterOfTheTumpyTonic.lua b/Spells/Traditions/Tradeskill/MasterOfTheTumpyTonic.lua new file mode 100644 index 0000000..abcbaba --- /dev/null +++ b/Spells/Traditions/Tradeskill/MasterOfTheTumpyTonic.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\MasterOfTheTumpyTonic.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/MeticulousCraftsmanship.lua b/Spells/Traditions/Tradeskill/MeticulousCraftsmanship.lua new file mode 100644 index 0000000..3d7bf6b --- /dev/null +++ b/Spells/Traditions/Tradeskill/MeticulousCraftsmanship.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\MeticulousCraftsmanship.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Mithril.lua b/Spells/Traditions/Tradeskill/Mithril.lua new file mode 100644 index 0000000..3c4594f --- /dev/null +++ b/Spells/Traditions/Tradeskill/Mithril.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Mithril.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/MooshgasTutelage.lua b/Spells/Traditions/Tradeskill/MooshgasTutelage.lua new file mode 100644 index 0000000..914884b --- /dev/null +++ b/Spells/Traditions/Tradeskill/MooshgasTutelage.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\MooshgasTutelage.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/MoreGlue.lua b/Spells/Traditions/Tradeskill/MoreGlue.lua new file mode 100644 index 0000000..f2f16d1 --- /dev/null +++ b/Spells/Traditions/Tradeskill/MoreGlue.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\MoreGlue.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/NaimisTutelage.lua b/Spells/Traditions/Tradeskill/NaimisTutelage.lua new file mode 100644 index 0000000..57b359b --- /dev/null +++ b/Spells/Traditions/Tradeskill/NaimisTutelage.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\NaimisTutelage.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/NaturalPrgression.lua b/Spells/Traditions/Tradeskill/NaturalPrgression.lua new file mode 100644 index 0000000..8d28c18 --- /dev/null +++ b/Spells/Traditions/Tradeskill/NaturalPrgression.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\NaturalProgression.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/NeriakPrecision.lua b/Spells/Traditions/Tradeskill/NeriakPrecision.lua new file mode 100644 index 0000000..62a7680 --- /dev/null +++ b/Spells/Traditions/Tradeskill/NeriakPrecision.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\NeriakPrecision.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/NobleCrafting.lua b/Spells/Traditions/Tradeskill/NobleCrafting.lua new file mode 100644 index 0000000..8796e5e --- /dev/null +++ b/Spells/Traditions/Tradeskill/NobleCrafting.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\NobleCrafting.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/OggokianDurability.lua b/Spells/Traditions/Tradeskill/OggokianDurability.lua new file mode 100644 index 0000000..dcfb4d5 --- /dev/null +++ b/Spells/Traditions/Tradeskill/OggokianDurability.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\OggokianDurability.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/OkkokianTrade.lua b/Spells/Traditions/Tradeskill/OkkokianTrade.lua new file mode 100644 index 0000000..6b07b83 --- /dev/null +++ b/Spells/Traditions/Tradeskill/OkkokianTrade.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\OkkokianTrade.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PantsPatcher.lua b/Spells/Traditions/Tradeskill/PantsPatcher.lua new file mode 100644 index 0000000..81e8a04 --- /dev/null +++ b/Spells/Traditions/Tradeskill/PantsPatcher.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PantsPatcher.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PoisonCrafter.lua b/Spells/Traditions/Tradeskill/PoisonCrafter.lua new file mode 100644 index 0000000..935a70e --- /dev/null +++ b/Spells/Traditions/Tradeskill/PoisonCrafter.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PoisonCrafter.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Durability per round by 2.0 during Alchemy +--]] + +function cast(Caster, Target, DuraMod) + +end + +function remove(Caster, Target, DuraMod) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PoisonPlay.lua b/Spells/Traditions/Tradeskill/PoisonPlay.lua new file mode 100644 index 0000000..75a5d80 --- /dev/null +++ b/Spells/Traditions/Tradeskill/PoisonPlay.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PoisonPlay.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PracticedTinkering.lua b/Spells/Traditions/Tradeskill/PracticedTinkering.lua new file mode 100644 index 0000000..e270881 --- /dev/null +++ b/Spells/Traditions/Tradeskill/PracticedTinkering.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PracticedTinkering.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PrehelsileTail.lua b/Spells/Traditions/Tradeskill/PrehelsileTail.lua new file mode 100644 index 0000000..6fd9eed --- /dev/null +++ b/Spells/Traditions/Tradeskill/PrehelsileTail.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PrehelsileTail.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PristineWork.lua b/Spells/Traditions/Tradeskill/PristineWork.lua new file mode 100644 index 0000000..0f709b5 --- /dev/null +++ b/Spells/Traditions/Tradeskill/PristineWork.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PristineWork.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ProfoundFocus.lua b/Spells/Traditions/Tradeskill/ProfoundFocus.lua new file mode 100644 index 0000000..a30813d --- /dev/null +++ b/Spells/Traditions/Tradeskill/ProfoundFocus.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ProfoundFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/PursuitOfTheArcane.lua b/Spells/Traditions/Tradeskill/PursuitOfTheArcane.lua new file mode 100644 index 0000000..1144530 --- /dev/null +++ b/Spells/Traditions/Tradeskill/PursuitOfTheArcane.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\PursuitOfTheArcane.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Reduces power cost of Sage reaction arts by 10% +--]] + +function cast(Caster, Target, Modifier) + +end + +function remove(Caster, Target, Modifier) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/QuickAssembly.lua b/Spells/Traditions/Tradeskill/QuickAssembly.lua new file mode 100644 index 0000000..79941e7 --- /dev/null +++ b/Spells/Traditions/Tradeskill/QuickAssembly.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\QuickAssembly.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/RallosianReadiness.lua b/Spells/Traditions/Tradeskill/RallosianReadiness.lua new file mode 100644 index 0000000..2023c1c --- /dev/null +++ b/Spells/Traditions/Tradeskill/RallosianReadiness.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\RallosianReadiness.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/RubTheMuddOff.lua b/Spells/Traditions/Tradeskill/RubTheMuddOff.lua new file mode 100644 index 0000000..e178d95 --- /dev/null +++ b/Spells/Traditions/Tradeskill/RubTheMuddOff.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\RubTheMuddOff.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SaplingKnowledge.lua b/Spells/Traditions/Tradeskill/SaplingKnowledge.lua new file mode 100644 index 0000000..f501938 --- /dev/null +++ b/Spells/Traditions/Tradeskill/SaplingKnowledge.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SaplingKnowledge.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Scalesmith.lua b/Spells/Traditions/Tradeskill/Scalesmith.lua new file mode 100644 index 0000000..287ad52 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Scalesmith.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Scalesmith.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ScholarlyPursuit.lua b/Spells/Traditions/Tradeskill/ScholarlyPursuit.lua new file mode 100644 index 0000000..132f2d2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ScholarlyPursuit.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ScholarlyPursuit.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ScribingsOfThePious.lua b/Spells/Traditions/Tradeskill/ScribingsOfThePious.lua new file mode 100644 index 0000000..7dcd9eb --- /dev/null +++ b/Spells/Traditions/Tradeskill/ScribingsOfThePious.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ScribingsOfThePious.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SkilledArtistry.lua b/Spells/Traditions/Tradeskill/SkilledArtistry.lua new file mode 100644 index 0000000..2e261a2 --- /dev/null +++ b/Spells/Traditions/Tradeskill/SkilledArtistry.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SkilledArtistry.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SkillfulCreations.lua b/Spells/Traditions/Tradeskill/SkillfulCreations.lua new file mode 100644 index 0000000..f14331b --- /dev/null +++ b/Spells/Traditions/Tradeskill/SkillfulCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SkillfulCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SkillfulPaws.lua b/Spells/Traditions/Tradeskill/SkillfulPaws.lua new file mode 100644 index 0000000..3195adb --- /dev/null +++ b/Spells/Traditions/Tradeskill/SkillfulPaws.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SkillfulPaws.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SkillfulTriumph.lua b/Spells/Traditions/Tradeskill/SkillfulTriumph.lua new file mode 100644 index 0000000..818bfec --- /dev/null +++ b/Spells/Traditions/Tradeskill/SkillfulTriumph.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SkillfulTriumph.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases success chance by 2.0% +--]] + +function cast(Caster, Target, SuccessMod) + +end + +function remove(Caster, Target, SuccessMod) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SuccessfulCreations.lua b/Spells/Traditions/Tradeskill/SuccessfulCreations.lua new file mode 100644 index 0000000..f6e58d6 --- /dev/null +++ b/Spells/Traditions/Tradeskill/SuccessfulCreations.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SuccessfulCreations.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases Durability per round by 1.0 and success chance by 1% +--]] + +function cast(Caster, Target, DuraMod, SuccessMod) + +end + +function remove(Caster, Target, DuraMod, SuccessMod) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/SwiftScamper.lua b/Spells/Traditions/Tradeskill/SwiftScamper.lua new file mode 100644 index 0000000..c8ce8b1 --- /dev/null +++ b/Spells/Traditions/Tradeskill/SwiftScamper.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\SwiftScamper.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TeachingsOfBrell.lua b/Spells/Traditions/Tradeskill/TeachingsOfBrell.lua new file mode 100644 index 0000000..f3523b0 --- /dev/null +++ b/Spells/Traditions/Tradeskill/TeachingsOfBrell.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TeachingsOfBrell.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TimberShaper.lua b/Spells/Traditions/Tradeskill/TimberShaper.lua new file mode 100644 index 0000000..6b912b8 --- /dev/null +++ b/Spells/Traditions/Tradeskill/TimberShaper.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TimberShaper.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TinkeredFocus.lua b/Spells/Traditions/Tradeskill/TinkeredFocus.lua new file mode 100644 index 0000000..d7e66f1 --- /dev/null +++ b/Spells/Traditions/Tradeskill/TinkeredFocus.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TinkeredFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TrainedFocus.lua b/Spells/Traditions/Tradeskill/TrainedFocus.lua new file mode 100644 index 0000000..735639c --- /dev/null +++ b/Spells/Traditions/Tradeskill/TrainedFocus.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TrainedFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Transmography.lua b/Spells/Traditions/Tradeskill/Transmography.lua new file mode 100644 index 0000000..d2bfd86 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Transmography.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Transmography.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TrollGourmet.lua b/Spells/Traditions/Tradeskill/TrollGourmet.lua new file mode 100644 index 0000000..b56be87 --- /dev/null +++ b/Spells/Traditions/Tradeskill/TrollGourmet.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TrollGourmet.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TwiddysArtistry.lua b/Spells/Traditions/Tradeskill/TwiddysArtistry.lua new file mode 100644 index 0000000..498001d --- /dev/null +++ b/Spells/Traditions/Tradeskill/TwiddysArtistry.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TwiddysArtistry.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/TwiddysInsight.lua b/Spells/Traditions/Tradeskill/TwiddysInsight.lua new file mode 100644 index 0000000..7db45b0 --- /dev/null +++ b/Spells/Traditions/Tradeskill/TwiddysInsight.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\TwiddysInsight.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/UnflinchingFocus.lua b/Spells/Traditions/Tradeskill/UnflinchingFocus.lua new file mode 100644 index 0000000..c90401f --- /dev/null +++ b/Spells/Traditions/Tradeskill/UnflinchingFocus.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\UnflinchingFocus.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/UnyieldingDetermination.lua b/Spells/Traditions/Tradeskill/UnyieldingDetermination.lua new file mode 100644 index 0000000..6f02dd8 --- /dev/null +++ b/Spells/Traditions/Tradeskill/UnyieldingDetermination.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\UnyieldingDetermination.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.02.01 + Script Notes : Increases progress gain by 2.0% +--]] + +function cast(Caster, Target, ProgressMod) + +end + +function remove(Caster, Target, ProgressMod) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/VerifiedHypothesis.lua b/Spells/Traditions/Tradeskill/VerifiedHypothesis.lua new file mode 100644 index 0000000..c485447 --- /dev/null +++ b/Spells/Traditions/Tradeskill/VerifiedHypothesis.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\VerifiedHypothesis.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/WeaponForger.lua b/Spells/Traditions/Tradeskill/WeaponForger.lua new file mode 100644 index 0000000..921d884 --- /dev/null +++ b/Spells/Traditions/Tradeskill/WeaponForger.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\WeaponForger.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/WeaponProduction.lua b/Spells/Traditions/Tradeskill/WeaponProduction.lua new file mode 100644 index 0000000..b18bf1b --- /dev/null +++ b/Spells/Traditions/Tradeskill/WeaponProduction.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\WeaponProduction.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/Whipstich.lua b/Spells/Traditions/Tradeskill/Whipstich.lua new file mode 100644 index 0000000..df0ec70 --- /dev/null +++ b/Spells/Traditions/Tradeskill/Whipstich.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\Whipstich.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/Tradeskill/ZealotryOfMarr.lua b/Spells/Traditions/Tradeskill/ZealotryOfMarr.lua new file mode 100644 index 0000000..0924e81 --- /dev/null +++ b/Spells/Traditions/Tradeskill/ZealotryOfMarr.lua @@ -0,0 +1,15 @@ +--[[ + Script Name : Spells\Tradidtions\Tradeskill\ZealotryOfMarr.lua + Script Purpose : + Script Author : Zcoretri + Script Date : 2013.04.02 + Script Notes : +--]] + +function cast(Caster, Target, Bonus) + +end + +function remove(Caster, Target, Bonus) + +end \ No newline at end of file diff --git a/Spells/Traditions/TrainingoftheKoada`Dal.lua b/Spells/Traditions/TrainingoftheKoada`Dal.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TrainingoftheKoada`Dal.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/Transmography.lua b/Spells/Traditions/Transmography.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Transmography.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TrollGourmet.lua b/Spells/Traditions/TrollGourmet.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/TrollGourmet.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/TundraEndurance.lua b/Spells/Traditions/TundraEndurance.lua new file mode 100644 index 0000000..2f444fd --- /dev/null +++ b/Spells/Traditions/TundraEndurance.lua @@ -0,0 +1,11 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + +end diff --git a/Spells/Traditions/UrbanSprawl.lua b/Spells/Traditions/UrbanSprawl.lua new file mode 100644 index 0000000..1a6f4fb --- /dev/null +++ b/Spells/Traditions/UrbanSprawl.lua @@ -0,0 +1,20 @@ +--[[ + Script Name : Spells/Commoner/UrbanSprawl.lua + Script Author : John + Script Date : 2012.07.07 12:07:26 + Script Notes : Enter special notes here + : +--]] + +function cast(Caster, Target, SkillAmt) + AddSkillBonus(Target, 418532101, SkillAmt) -- Slashing +end + +function tick(Caster, Target, Type, Min, Max) + -- code to process each call_frequency (tick) set in spell_tiers +end + +function remove(Caster, Target, Type, Min, Max) + -- code to remove the spell +end + diff --git a/Spells/Traditions/Versatility.lua b/Spells/Traditions/Versatility.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/Versatility.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/VitalityoftheFier`Dal.lua b/Spells/Traditions/VitalityoftheFier`Dal.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/VitalityoftheFier`Dal.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WarWounds.lua b/Spells/Traditions/WarWounds.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WarWounds.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WardofGlyphs.lua b/Spells/Traditions/WardofGlyphs.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WardofGlyphs.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WeaponForger.lua b/Spells/Traditions/WeaponForger.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WeaponForger.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WeaponProduction.lua b/Spells/Traditions/WeaponProduction.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WeaponProduction.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WilltoSurvive.lua b/Spells/Traditions/WilltoSurvive.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WilltoSurvive.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WindWalker.lua b/Spells/Traditions/WindWalker.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WindWalker.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/WisdomoftheFaydark.lua b/Spells/Traditions/WisdomoftheFaydark.lua new file mode 100644 index 0000000..7946d19 --- /dev/null +++ b/Spells/Traditions/WisdomoftheFaydark.lua @@ -0,0 +1,12 @@ +--[[ + Script Name : {generic header} + Script Purpose : + Script Author : John Adams + Script Date : 2012.09.08 + Script Notes : temp script to stop world errors +--]] + +function cast(Caster, Target) + + +end diff --git a/Spells/Traditions/dome.bat b/Spells/Traditions/dome.bat new file mode 100644 index 0000000..cf09a88 --- /dev/null +++ b/Spells/Traditions/dome.bat @@ -0,0 +1,153 @@ +@echo off +copy SprintIntoBattle.lua BarbaricRage.lua +copy SprintIntoBattle.lua BattleReprieve.lua +copy SprintIntoBattle.lua Blizzard.lua +copy SprintIntoBattle.lua Brewmaster.lua +copy SprintIntoBattle.lua DefenderofEverfrost.lua +copy SprintIntoBattle.lua HalasianAuthority.lua +copy SprintIntoBattle.lua Herbology.lua +copy SprintIntoBattle.lua WarWounds.lua +copy SprintIntoBattle.lua SummonHalasianBrew.lua +copy SprintIntoBattle.lua FaydarksChampion.lua +copy SprintIntoBattle.lua FueledByHate.lua +copy SprintIntoBattle.lua FuryofInnoruuk.lua +copy SprintIntoBattle.lua HatefulMind.lua +copy SprintIntoBattle.lua Hover.lua +copy SprintIntoBattle.lua InnoruuksGift.lua +copy SprintIntoBattle.lua MasteroftheShadows.lua +copy SprintIntoBattle.lua PoisonCrafter.lua +copy SprintIntoBattle.lua PoisonExpertise.lua +copy SprintIntoBattle.lua PursuitoftheArcane.lua +copy SprintIntoBattle.lua TheFocisMagicalProtection.lua +copy SprintIntoBattle.lua AggressiveStrike.lua +copy SprintIntoBattle.lua BodybyButcherblock.lua +copy SprintIntoBattle.lua DefenderofKaladim.lua +copy SprintIntoBattle.lua DwarvenFortitude.lua +copy SprintIntoBattle.lua MasteroftheTumpyTonic.lua +copy SprintIntoBattle.lua MiningExpertise.lua +copy SprintIntoBattle.lua RushintoBattle.lua +copy SprintIntoBattle.lua StrongHeart.lua +copy SprintIntoBattle.lua WeaponForger.lua +copy SprintIntoBattle.lua ArcofLightning.lua +copy SprintIntoBattle.lua CastingFury.lua +copy SprintIntoBattle.lua Chemist.lua +copy SprintIntoBattle.lua ClearMind.lua +copy SprintIntoBattle.lua ErudsTeachings.lua +copy SprintIntoBattle.lua FallingGrace.lua +copy SprintIntoBattle.lua IntellectoftheSage.lua +copy SprintIntoBattle.lua IntellectualFeasting.lua +copy SprintIntoBattle.lua MagicalProtection.lua +copy SprintIntoBattle.lua WardofGlyphs.lua +copy SprintIntoBattle.lua AkanonsInnovation.lua +copy SprintIntoBattle.lua ChemicalCalculations.lua +copy SprintIntoBattle.lua ClockworkArmy.lua +copy SprintIntoBattle.lua FlashofInsight.lua +copy SprintIntoBattle.lua ForgeInvention.lua +copy SprintIntoBattle.lua HealthyAppetite.lua +copy SprintIntoBattle.lua IllusionClockwork.lua +copy SprintIntoBattle.lua LostintheCrowd.lua +copy SprintIntoBattle.lua MeldrathsTeachings.lua +copy SprintIntoBattle.lua SteamfontsMagicalBarrier.lua +copy SprintIntoBattle.lua Ayr`DalAdornment.lua +copy SprintIntoBattle.lua Camouflage.lua +copy SprintIntoBattle.lua ElvenHeritage.lua +copy SprintIntoBattle.lua ElvenReflexes.lua +copy SprintIntoBattle.lua ForestNavigation.lua +copy SprintIntoBattle.lua GiftoftheFaydark.lua +copy SprintIntoBattle.lua Hardiness.lua +copy SprintIntoBattle.lua MisfitsTrickery.lua +copy SprintIntoBattle.lua MixedKnowledge.lua +copy SprintIntoBattle.lua RebelliousSpirit.lua +copy SprintIntoBattle.lua TendWounds.lua +copy SprintIntoBattle.lua AHalflingsFeast.lua +copy SprintIntoBattle.lua ArcaneKnowledge.lua +copy SprintIntoBattle.lua ConnoisseurofFineWines.lua +copy SprintIntoBattle.lua ElvenWisdom.lua +copy SprintIntoBattle.lua EsotericStudy.lua +copy SprintIntoBattle.lua FuryofFelwithe.lua +copy SprintIntoBattle.lua GildingofFelwithe.lua +copy SprintIntoBattle.lua GracefulMovements.lua +copy SprintIntoBattle.lua HarmoniousMind.lua +copy SprintIntoBattle.lua IntricateCreations.lua +copy SprintIntoBattle.lua TenetofTakish`Hiz.lua +copy SprintIntoBattle.lua TrainingoftheKoada`Dal.lua +copy SprintIntoBattle.lua Clothier.lua +copy SprintIntoBattle.lua Diplomacy.lua +copy SprintIntoBattle.lua Diversity.lua +copy SprintIntoBattle.lua EnvironmentalAdaptability.lua +copy SprintIntoBattle.lua Multitalented.lua +copy SprintIntoBattle.lua Perserverance.lua +copy SprintIntoBattle.lua UrbanSprawl.lua +copy SprintIntoBattle.lua Versatility.lua +copy SprintIntoBattle.lua WilltoSurvive.lua +copy SprintIntoBattle.lua DefensiveColoration.lua +copy SprintIntoBattle.lua ProficientSwimmer.lua +copy SprintIntoBattle.lua ReptilianAncestry.lua +copy SprintIntoBattle.lua ArmoroftheFeerrott.lua +copy SprintIntoBattle.lua BattleRest.lua +copy SprintIntoBattle.lua BruteStrength.lua +copy SprintIntoBattle.lua ImpenetrableWill.lua +copy SprintIntoBattle.lua ManyMarches.lua +copy SprintIntoBattle.lua OggokianAggression.lua +copy SprintIntoBattle.lua OggokianTrade.lua +copy SprintIntoBattle.lua RallosZeksBlessing.lua +copy SprintIntoBattle.lua RallosianReadiness.lua +copy SprintIntoBattle.lua RockThrower.lua +copy SprintIntoBattle.lua ShoulderSlam.lua +copy SprintIntoBattle.lua Antidote.lua +copy SprintIntoBattle.lua DarkAgenda.lua +copy SprintIntoBattle.lua InstrumentsoftheUnderfoot.lua +copy SprintIntoBattle.lua PitifulPlea.lua +copy SprintIntoBattle.lua PoisonPlay.lua +copy SprintIntoBattle.lua RodentReflexes.lua +copy SprintIntoBattle.lua ShadowLurker.lua +copy SprintIntoBattle.lua SoulMending.lua +copy SprintIntoBattle.lua StreetThug.lua +copy SprintIntoBattle.lua BogBully.lua +copy SprintIntoBattle.lua CazicThulesGift.lua +copy SprintIntoBattle.lua GiftoftheInnothule.lua +copy SprintIntoBattle.lua InnothulesBlessing.lua +copy SprintIntoBattle.lua ManiacalMadness.lua +copy SprintIntoBattle.lua MenderoftheMire.lua +copy SprintIntoBattle.lua SummonFilthyWater.lua +copy SprintIntoBattle.lua SwampBreath.lua +copy SprintIntoBattle.lua TastyThings.lua +copy SprintIntoBattle.lua ThulesGuidance.lua +copy SprintIntoBattle.lua TrollGourmet.lua +copy SprintIntoBattle.lua Camo.lua +copy SprintIntoBattle.lua ElvishSpirits.lua +copy SprintIntoBattle.lua FaydwerFashions.lua +copy SprintIntoBattle.lua ForestFire.lua +copy SprintIntoBattle.lua KeeperoftheForest.lua +copy SprintIntoBattle.lua LightFooted.lua +copy SprintIntoBattle.lua NaturalRecovery.lua +copy SprintIntoBattle.lua ShieldofNature.lua +copy SprintIntoBattle.lua VitalityoftheFier`Dal.lua +copy SprintIntoBattle.lua WisdomoftheFaydark.lua +copy SprintIntoBattle.lua AerialDodging.lua +copy SprintIntoBattle.lua EscapingDive.lua +copy SprintIntoBattle.lua FaeDexterity.lua +copy SprintIntoBattle.lua FaeFlight.lua +copy SprintIntoBattle.lua Featherfall.lua +copy SprintIntoBattle.lua ForestKnowledge.lua +copy SprintIntoBattle.lua Glide.lua +copy SprintIntoBattle.lua MagicoftheFae.lua +copy SprintIntoBattle.lua MagicalTeachings.lua +copy SprintIntoBattle.lua ToxicProtection.lua +copy SprintIntoBattle.lua WindWalker.lua +copy SprintIntoBattle.lua AerialDodging.lua +copy SprintIntoBattle.lua ArasaiFlight.lua +copy SprintIntoBattle.lua ArasaiSavvy.lua +copy SprintIntoBattle.lua ArasaisEndurance.lua +copy SprintIntoBattle.lua DarkEnvy.lua +copy SprintIntoBattle.lua MagicProtection.lua +copy SprintIntoBattle.lua NeriakPrecision.lua +copy SprintIntoBattle.lua Transmography.lua +copy SprintIntoBattle.lua CarpentersTouch.lua +copy SprintIntoBattle.lua HerbalSupplementation.lua +copy SprintIntoBattle.lua HuntersFury.lua +copy SprintIntoBattle.lua Junglewalk.lua +copy SprintIntoBattle.lua ReflexiveLanding.lua +copy SprintIntoBattle.lua Spirituality.lua +copy SprintIntoBattle.lua Stride.lua +copy SprintIntoBattle.lua WeaponProduction.lua diff --git a/Spells/blank.lua b/Spells/blank.lua index 18aba3b..8aa0e67 100644 --- a/Spells/blank.lua +++ b/Spells/blank.lua @@ -1,2 +1,4 @@ +-- DO NOT DELETE - needed for reference_spell_effects testing function cast(Caster, Target) end + diff --git a/Spells/commands.lua b/Spells/commands.lua index 975389d..4505599 100644 --- a/Spells/commands.lua +++ b/Spells/commands.lua @@ -1,56 +1,62 @@ --[[ - Script Name : Spells/commands.lua - Script Purpose : Process game "commands" that use a cast bar - Script Author : Everyone - Script Date : Anytime - Script Notes : Use spells_data to link to the specific command(s) + Script Name : Spells/commands.lua + Script Purpose : Process game "commands" that use a cast bar + Script Author : Everyone + Script Date : Anytime + Script Notes : Use spells_data to link to the specific command(s) --]] function cast(Caster, Target, Type) - if Type == "Examine" then - Examine(Caster, Target) - elseif Type == "Grab Soil" then - GrabSoil(Caster, Target) - elseif Type == "Plant Seeds" then - PlantSeeds(Caster, Target) - elseif Type == "Burn Tent" then - BurnTent(Caster, Target) - elseif Type == "Destroy Totem" then - DestroyTotem(Caster, Target) - elseif Type == "Smack Hive" then - SmackHive(Caster, Target) - elseif Type == "Help Down" then - HelpDown(Caster, Target) - elseif Type == "Read Gravestone" then - ReadGravestone(Caster, Target) - elseif Type == "ClimbTheBench" then - ClimbTheBench(Caster, Target) - elseif Type == "PullYourselfThroughTheFoliage" then - PullYourselfThroughTheFoliage(Caster, Target) - elseif Type == "InspectBox" then - InspectBox(Caster, Target) - elseif Type == "ThrowSnowball" then - ThrowSnowball(Caster, Target) + -- JA: commenting out other functions since revamp of database renders the IDs/Spawns invalid (2013/08/18) + if Type == "ThrowSnowball" then + ThrowSnowball(Caster, Target) end +--[[ + if Type == "Examine" then + Examine(Caster, Target) + elseif Type == "Grab Soil" then + GrabSoil(Caster, Target) + elseif Type == "Plant Seeds" then + PlantSeeds(Caster, Target) + elseif Type == "Burn Tent" then + BurnTent(Caster, Target) + elseif Type == "Destroy Totem" then + DestroyTotem(Caster, Target) + elseif Type == "Smack Hive" then + SmackHive(Caster, Target) + elseif Type == "Help Down" then + HelpDown(Caster, Target) + elseif Type == "Read Gravestone" then + ReadGravestone(Caster, Target) + elseif Type == "ClimbTheBench" then + ClimbTheBench(Caster, Target) + elseif Type == "PullYourselfThroughTheFoliage" then + PullYourselfThroughTheFoliage(Caster, Target) + elseif Type == "InspectBox" then + InspectBox(Caster, Target) + elseif Type == "ThrowSnowball" then + ThrowSnowball(Caster, Target) + end +--]] end function GrabSoil(Caster, Target) - if HasQuest(Caster, 60) and not QuestStepIsComplete(Caster, 60, 3) then - -- Mana-Enriched Soil - SummonItem(Caster, 6463) - end + if HasQuest(Caster, 60) and not QuestStepIsComplete(Caster, 60, 3) then + -- Mana-Enriched Soil + SummonItem(Caster, 6463) + end end function PlantSeeds(Caster, Target) end function BurnTent(Caster, Target) - BurnSpawn = GetSpawn(Target, 2780218) - SpawnSet(BurnSpawn, "visual_state", "6866") - SpawnSet(Target, "show_command_icon", "0") - - KillSpawn(Target, Caster, 0) -- kill the tent to get journal update - KillSpawn(BurnSpawn, Caster, 0) -- kill the cube to put out the "tent\'s fire" + BurnSpawn = GetSpawn(Target, 2780218) + SpawnSet(BurnSpawn, "visual_state", "6866") + SpawnSet(Target, "show_command_icon", "0") + + KillSpawn(Target, Caster, 0) -- kill the tent to get journal update + KillSpawn(BurnSpawn, Caster, 0) -- kill the cube to put out the "tent/'s fire" end function DestroyTotem(Caster, Target) @@ -60,56 +66,56 @@ function DestroyTotem(Caster, Target) end function SmackHive(Caster, Target) - SpawnSet(Target, "show_command_icon", 0) - - -- 20% chance to spawn a Queen bee - -- 80% chance to spawn a soldier bee - choice = math.random(1, 100) + SpawnSet(Target, "show_command_icon", 0) + + -- 20% chance to spawn a Queen bee + -- 80% chance to spawn a soldier bee + choice = math.random(1, 100) - if choice <= 20 then - -- spawn a Queen bee - SpawnMob(GetZone(Target), 2780092, false, GetX(Target), GetY(Target), GetZ(Target)) - else - -- spawn a soldier bee - SpawnMob(GetZone(Target), 2780088, false, GetX(Target), GetY(Target), GetZ(Target)) - end - - AddTimer(Target, 60000, "enable_command_icon_beeHive") + if choice <= 20 then + -- spawn a Queen bee + SpawnMob(GetZone(Target), 2780092, false, GetX(Target), GetY(Target), GetZ(Target)) + else + -- spawn a soldier bee + SpawnMob(GetZone(Target), 2780088, false, GetX(Target), GetY(Target), GetZ(Target)) + end + + AddTimer(Target, 60000, "enable_command_icon_beeHive") end function HelpDown(Caster, Target) - SpawnSet(Target, "show_command_icon", 0) - SpawnMob(GetZone(Caster), 2530232, false, 268.05, -5.08, -10.95, 101.63) - Despawn(Target) - newHalfling = GetSpawn(Caster, 2530232) - - --temporary. the poor halfling will climb back into the tree when the Moraks respawn - AddTimer(newHalfling, 30000, "ClimbTree") + SpawnSet(Target, "show_command_icon", 0) + SpawnMob(GetZone(Caster), 2530232, false, 268.05, -5.08, -10.95, 101.63) + Despawn(Target) + newHalfling = GetSpawn(Caster, 2530232) + + --temporary. the poor halfling will climb back into the tree when the Moraks respawn + AddTimer(newHalfling, 30000, "ClimbTree") end function Examine(Caster, Target) end function ReadGravestone(Caster, Target) - SpawnMob(GetZone(Caster), 1960199, false, 967.581, -17.0745, -821.035, 159.344) - UlinirBush = GetSpawn(Caster, 1960199) - Ilaen = GetSpawn(Caster, 1960126) - PlayFlavor(Ilaen, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_ulinir_d84a1bb.mp3", "You are wise to know Ulinir is worth your time. Speak with me if you wish to use your wisdom for a greater good.", "", 1864539566, 4233668295, Caster) - AddTimer(UlinirBush, 30000, "DespawnBush") + SpawnMob(GetZone(Caster), 1960199, false, 967.581, -17.0745, -821.035, 159.344) + UlinirBush = GetSpawn(Caster, 1960199) + Ilaen = GetSpawn(Caster, 1960126) + PlayFlavor(Ilaen, "voiceover/english/tutorial_revamp/ilaen_lilac/qey_adv02_ruins_revamp/qst_woodelf_ilaen_lilac_ulinir_d84a1bb.mp3", "You are wise to know Ulinir is worth your time. Speak with me if you wish to use your wisdom for a greater good.", "", 1864539566, 4233668295, Caster) + AddTimer(UlinirBush, 30000, "DespawnBush") end function ClimbTheBench(Caster, Target) - SetPosition(Caster, 761.79, -20.38, 314.48) + SetPosition(Caster, 761.79, -20.38, 314.48) end function PullYourselfThroughTheFoliage(Caster, Target) - SetPosition(Caster, 743.47, -20.35, 306.85) + SetPosition(Caster, 743.47, -20.35, 306.85) end function InspectBox(Caster, Target) - SetStepComplete(Caster, 142, 3) + SetStepComplete(Caster, 142, 3) end -function ThrowSnowball(Caster, Target) - SpawnSet(ThrowSnowball, "visual_state", "1224") +function ThrowSnowball(Caster, Target) + SpawnSet(Caster, "visual_state", "1224") end \ No newline at end of file diff --git a/Spells/gm_spells.lua b/Spells/gm_spells.lua index bd295ca..1c264d5 100644 --- a/Spells/gm_spells.lua +++ b/Spells/gm_spells.lua @@ -1,17 +1,17 @@ --[[ - Script Name : Spells/gm_spells.lua - Script Purpose : Handles all GM spells - Script Author : GMS ! - Script Date : Anytime - Script Notes : Use spells_data to link to the specific command(s) + Script Name : Spells/gm_spells.lua + Script Purpose : Handles all GM spells + Script Author : GMS ! + Script Date : Anytime + Script Notes : Use spells_data to link to the specific command(s) --]] function cast(Caster, Target, Type) - if Type == "MoonJump" then - MoonJump(Caster, Target) - end + if Type == "MoonJump" then + MoonJump(Caster, Target) + end end function MoonJump(Caster, Target) - SetServerControlFlag(Caster, 4, 16, 1) + SetServerControlFlag(Caster, 4, 16, 1) end \ No newline at end of file diff --git a/ZoneScripts/FrostfangSea.lua b/ZoneScripts/FrostfangSea.lua new file mode 100644 index 0000000..1474934 --- /dev/null +++ b/ZoneScripts/FrostfangSea.lua @@ -0,0 +1,135 @@ +--[[ + Script Name : ZoneScripts/FrostfangSea.lua + Script Purpose : Frostfang Sea + Script Author : theFoof + Script Date : 2013.5.8 + Script Notes : +--]] + +local BoatloadWork = 4 + +local ScatteringAshes = 33 + +local CallingBack = 35 + +local AllRemains = 54 + +local RyGorrOperations = 60 + +local SometimesKnut = 84 + +function init_zone_script(Zone) + SetLocationProximityFunction(Zone, -316.244, 35.409, -714.906, 10, "BarricadeMessage") + SetLocationProximityFunction(Zone, 607, 66.2, -506.50, 20, "AshesMessage") + SetLocationProximityFunction(Zone, 600, 28, -263, 5, "SnowRunesMessage") + SetLocationProximityFunction(Zone, 581, 37, -339, 5, "SnowRunesMessage") + SetLocationProximityFunction(Zone, 507, 27, -232, 5, "SnowRunesMessage") + SetLocationProximityFunction(Zone, 584, 24, -155, 5, "SnowRunesMessage") + SetLocationProximityFunction(Zone, 581, 27, -212, 5, "SnowRunesMessage") + SetLocationProximityFunction(Zone, 751, 54, -514, 15, "SpawnHelmOrc") + SetLocationProximityFunction(Zone, 52, 28, -358, 50, "VerienAccess") + SetLocationProximityFunction(Zone, -15.27, -67.54, 155.07, 10, "BarrelMessage") + SetLocationProximityFunction(Zone, 15.45, -67.92, 202.55, 30, "GrizChat1") + SetLocationProximityFunction(Zone, 76.65, -67.91, 128.64, 10, "GrizChat3") + SetLocationProximityFunction(Zone, 152.12, -63.42, 144.76, 20, "GrizChat4") + SetLocationProximityFunction(Zone, 199.96, -54.40, 118.51, 20, "GrizChat5") + SetLocationProximityFunction(Zone, 244.79, -53.49, 54.79, 8, "GrizChat6") + SetLocationProximityFunction(Zone, -7.80, -66.88, 232.48, 15, "GrizChat8") +end + +function BarricadeMessage(Zone, Spawn) + if GetQuestStep(Spawn, BoadloadWork) == 3 then + SendPopUpMessage(Spawn, "This is the break in the barricade Yasha sent you to fix.", 255, 255, 255) + end +end + +function player_entry(Zone, Player) +end + +function AshesMessage(Zone, Spawn) + if GetQuestStep(Spawn, ScatteringAshes) == 1 then + SendPopUpMessage(Spawn, "This looks like a good location to scatter the ashes.", 255, 255, 255) + end +end + +function SnowRunesMessage(Zone, Spawn) + if HasQuest(Spawn, CallingBack) then + SendPopUpMessage(Spawn, "You see glowing blue runes in the snow.", 255, 255, 255) + end +end + +function SpawnHelmOrc(Zone, Spawn) + if GetQuestStep(Spawn, AllRemains) == 2 then + SpawnByLocationID(Zone, 33474) + end +end + +function VerienAccess(Zone, Spawn) + AddSpawnAccess(GetSpawn(Spawn, 4700034), Spawn) +end + +function BarrelMessage(Zone, Spawn) + if GetQuestStep(Spawn, RyGorrOperations) == 1 then + SendMessage(Spawn, "This seems like a good distance from the wall to place the Ry'Gorr Explosive Mining Barrel.") + end +end + +function GrizChat1(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 1 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "Ack! I can hear you?", "GrizChat1_1") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "Prey's trail cold here.") + end + end +end + +function GrizChat3(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 1 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "Thank you, Grizz.") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "Prey is within striking distance!") + end + end +end + +function GrizChat4(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 2 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "Finally!") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "Prey's trail grows warm!") + end + end +end + +function GrizChat5(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 2 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "That's good to know!") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "Prey is close.") + end + end +end + +function GrizChat6(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 2 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "This black shard?", "GrizChat2_1") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "This is it! Strike our prey!") + end + end +end + +function GrizChat8(Zone, Spawn) + if GetQuestStep(Spawn, SometimesKnut) == 4 or GetQuestStep(Spawn, SometimesKnut) == 3 then + if HasItemEquipped(Spawn, 157116) then + conversation = CreateConversation() + AddConversationOption(conversation, "I bet he's missing you.") + StartDialogConversation(conversation, 4, GetEquippedItemByID(Spawn, 157116), Spawn, "Take Griz back to knut.") + end + end +end \ No newline at end of file