eq2emu-content/SpawnScripts/Castleview/YanariCyellann.lua
2024-10-26 11:37:28 +00:00

204 lines
No EOL
10 KiB
Lua
Executable file

--[[
Script Name : SpawnScripts/Castleview/YanariCyellann.lua
Script Purpose : Yanari Cyellann
Script Author : Dorbin
Script Date : 2022.01.28
Script Notes :
--]]
require "SpawnScripts/Generic/DialogModule"
dofile("SpawnScripts/Generic/GenericEcologyVoiceOvers.lua")
local Badgers = 5465
local Slime = 5466
local Mage1 = 5767
function spawn(NPC)
SetPlayerProximityFunction(NPC, 7, "InRange", "LeaveRange")
ProvidesQuest(NPC, Badgers)
ProvidesQuest(NPC, Slime)
SetInfoStructString(NPC, "action_state", "alchemy_idle")
end
function respawn(NPC)
spawn(NPC)
end
function InRange(NPC, Spawn) --Quest Callout
if GetFactionAmount(Spawn,11) <0 then
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail1_ba125732.mp3", "I'm very busy and don't want you getting hurt. Please leave me to my work.", "shakefist", 2153034813, 3927600348, Spawn)
else
if math.random(1, 100) <= 70 then
if not HasCompletedQuest (Spawn, Badgers) and not HasCompletedQuest (Spawn, Slime) then
choice = math.random(1,3)
FaceTarget(NPC, Spawn)
if choice ==1 then
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail1_ba125732.mp3", "I'm very busy and don't want you getting hurt. Please leave me to my work.", "no", 2153034813, 3927600348, Spawn)
elseif choice ==2 then
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_callout2_3cf87337.mp3", "Let's see... Two vials of gunk extract mixed with... Oh, dear! I'm out of extract! You, adventurer, interested in making some coin?", "confused", 812719323, 2645014610, Spawn)
else
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_callout1_306f718b.mp3", "Hmmm... All out of badger claws. This will never do!", "ponder", 1224876034, 2351112322, Spawn)
end
end
elseif HasCompletedQuest (Spawn, Badgers) and HasCompletedQuest (Spawn, Slime) then
choice = math.random(1,3)
if choice ==1 then
FaceTarget(NPC, Spawn)
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail1_ba125732.mp3", "I'm very busy and don't want you getting hurt. Please leave me to my work.", "no", 2153034813, 3927600348, Spawn)
elseif choice ==2 then
FaceTarget(NPC, Spawn)
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/100_researcher_yanari_multhail5_d4faf799.mp3", "Don't touch anything! You could turn yourself into a goo or destroy the entire building! I'm very busy and don't want you getting hurt. On your way, now!", "frustrated", 3857840792, 1030063822, Spawn)
else
PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
end
end
end
end
function hailed(NPC, Spawn)
if GetFactionAmount(Spawn,11) <0 then
FaceTarget(NPC, Spawn)
FactionChecking(NPC, Spawn, faction)
else
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Do not touch anything! You could turn yourself into a goo or destroy the entire building. What do you need?")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan.mp3", 3613336528, 1736617695)
PlayFlavor(NPC, "", "", "", 0, 0, Spawn)
if not HasQuest(Spawn, Badgers) and not HasCompletedQuest (Spawn, Badgers) then
Dialog.AddOption("Don't worry, I'm not going to touch anything. I'm just interested in your work.", "BadgerStart")
end
if not HasQuest(Spawn, Slime) and not HasCompletedQuest (Spawn, Slime) then
Dialog.AddOption("I do not care to be a goo.", "SlimeStart")
end
if GetQuestStep(Spawn, Badgers)==2 then
Dialog.AddOption("I brought the claws that you asked for.", "DoneBadger")
end
if GetQuestStep(Spawn, Slime)==2 then
Dialog.AddOption("I have collected your substance extract.", "DoneSlime")
end
if HasQuest(Spawn,Mage1) and GetQuestStepProgress(Spawn,Mage1,3) == 0 then
Dialog.AddOption("The Magister suggested I asked you about what you use your sorcery for.", "MageTraining1")
end
Dialog.AddOption("You seem to be a bit busy at the moment. I'll leave you alone.")
Dialog.Start()
end
end
function BadgerStart(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Interested, are you? Well, I am trying to make my spells and items more potent. Unfortunately I ran out of volatility components. Would you do me a favor and collect some vicious badger claws?")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan000.mp3",913747199,2909702718)
PlayFlavor(NPC, "", "", "sniff", 0,0 , Spawn)
Dialog.AddOption("I can do that for you. A few badgers shouldn`t be a problem for me.", "BadgerStarting")
Dialog.AddOption("I wouldn't even touch a regular badger, let alone a vicious one!")
Dialog.Start()
end
function DoneBadger(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Marvelous! I shall use one of the claws to imbue a wand for you. Um ... just take a few steps back, safety and all.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan002.mp3",3385634498, 2633500192)
PlayFlavor(NPC, "", "", "happy", 0,0 , Spawn)
Dialog.AddOption("I'll just be under this very thick table.","BadgerFinish")
Dialog.Start()
end
function BadgerFinish(NPC, Spawn)
SetStepComplete(Spawn, Badgers, 2)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("It worked! I mean ... here is a wand for you. Use it well.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan003.mp3", 3490869984, 2394433819)
PlayFlavor(NPC, "", "", "boggle", 0,0 , Spawn)
Dialog.AddOption("I plan to be very careful with it.")
Dialog.AddOption("...I could have been blown up! Thanks, but I'm getting out of here.")
Dialog.Start()
end
function SlimeStart(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Then keep your hands away from my experiments! Since you've wasted my precious time with your incessant babbling, I believe you owe me a bit of your own time. I need your help with a task.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan004.mp3", 2138601896,740497069)
PlayFlavor(NPC, "", "", "no", 0,0 , Spawn)
Dialog.AddOption("I can do your task.", "QuestBegin2")
Dialog.AddOption("...I must be going!")
Dialog.Start()
end
function DoneSlime(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Its about time! I almost sent Bleemeb up to go get my extract. I thought the gunks made a meal out of you. Take this pay for your task and leave me with my research.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan006.mp3", 3747403661,785681662)
PlayFlavor(NPC, "", "", "tapfoot", 0,0 , Spawn)
Dialog.AddOption("Have fun with that gunk.", "RewardSlime")
Dialog.AddOption("Yeesh, okay. I'm going now.", "RewardSlime")
Dialog.Start()
end
function BadgerStarting (NPC, Spawn)
FaceTarget(NPC, Spawn)
OfferQuest(NPC, Spawn, Badgers)
end
function QuestBegin2 (NPC, Spawn)
FaceTarget(NPC, Spawn)
OfferQuest(NPC, Spawn, Slime)
end
function RewardSlime(NPC, Spawn)
SetStepComplete(Spawn, Slime, 2)
end
--[[ CLASS Quest material
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan007.mp3", "If Niksel sent you to me, then that's another story. I have done well by his teachings. What do you want to know about sorcery?", "ponder", 1398879355, 1149892616, Spawn)
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan008.mp3", "I draw from unstable ether and turn it into different types of fire. Igniting a brazier with a simple incantation is easier than rubbing two sticks together.", "ponder", 3056968266, 3365736320, Spawn)
PlayFlavor(NPC, "voiceover/english/yanari_cyellann/qey_village04/yanaricyellan009.mp3", "Oh, of course ... Back in the day, I was quite the Fire Magi ... firestorms here, explosions there, that kind of thing. I retired from the battlefield before it was too late. You know what they say about playing with fire and all. I hope this helps you.", "ponder", 1034698890, 3446841302, Spawn)
]]--
function MageTraining1(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("If Niksel sent you to me, then that's another story. I have done well by his teachings. What do you want to know about sorcery?")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan007.mp3", 1398879355, 1149892616)
PlayFlavor(NPC, "", "", "ponder", 0,0 , Spawn)
Dialog.AddOption("How do you use the elements in your magic?", "MageTraining1a")
Dialog.Start()
end
function MageTraining1a(NPC, Spawn)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("I draw from unstable ether and turn it into different types of fire. Igniting a brazier with a simple incantation is easier than rubbing two sticks together.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan008.mp3", 3056968266, 3365736320)
CastSpell(NPC,19)
Dialog.AddOption("No doubt you've used your magic for other purposes outside of your laboratory?", "MageTraining1b")
Dialog.Start()
end
function MageTraining1b(NPC, Spawn)
SetStepComplete(Spawn,Mage1,3)
FaceTarget(NPC, Spawn)
Dialog.New(NPC, Spawn)
Dialog.AddDialog("Oh, of course ... Back in the day, I was quite the Fire Magi ... firestorms here, explosions there, that kind of thing. I retired from the battlefield before it was too late. You know what they say about playing with fire and all. I hope this helps you.")
Dialog.AddVoiceover("voiceover/english/yanari_cyellann/qey_village04/yanaricyellan009.mp3", 1034698890, 3446841302)
PlayFlavor(NPC, "", "", "ponder", 0,0 , Spawn)
Dialog.AddOption("Thank you. It was most helpful.")
Dialog.Start()
end