mirror of
https://github.com/emagi/eq2emu-content
synced 2026-08-12 20:23:03 -04:00
166 lines
6.5 KiB
Lua
Executable file
166 lines
6.5 KiB
Lua
Executable file
--[[
|
|
Script Name : SpawnScripts/LongshadowAlley/OrianDRak.lua
|
|
Script Purpose : Orian D`Rak
|
|
Script Author : torsten
|
|
Script Date : 2022.07.18
|
|
Script Notes :
|
|
--]]
|
|
require "SpawnScripts/Generic/DialogModule"
|
|
|
|
local OgreWatch = 5676
|
|
local InformationGatheringFromaFishmonger = 5677
|
|
|
|
function spawn(NPC)
|
|
ProvidesQuest(NPC, OgreWatch)
|
|
ProvidesQuest(NPC, InformationGatheringFromaFishmonger)
|
|
SetPlayerProximityFunction(NPC, 11, "InRange", "LeaveRange")
|
|
end
|
|
|
|
function respawn(NPC)
|
|
spawn(NPC)
|
|
end
|
|
|
|
|
|
function InRange(NPC, Spawn)
|
|
if GetFactionAmount(Spawn,12) <0 then
|
|
FaceTarget(NPC, Spawn)
|
|
PlayFlavor(NPC, "","","shakefist",0,0, Spawn)
|
|
else
|
|
if not HasCompletedQuest(Spawn, OgreWatch) and not HasQuest(Spawn, OgreWatch) then
|
|
if MakeRandomInt(0, 100) <= 100 then
|
|
FaceTarget(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "How dare you barge into my house! Who do you think you are, fool?", "frustrated", 0, 0, Spawn, 0)
|
|
end
|
|
elseif HasCompletedQuest(Spawn, OgreWatch) and not HasCompletedQuest(Spawn, InformationGatheringFromaFishmonger) and not HasQuest(Spawn, InformationGatheringFromaFishmonger) then
|
|
if MakeRandomInt(0, 100) <= 85 then
|
|
FaceTarget(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "Get out before I call the Militia, you disrespectful worm!", "shakefist", 0, 0, Spawn, 0)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function hailed(NPC, Spawn)
|
|
if GetFactionAmount(Spawn,12) <0 then
|
|
FaceTarget(NPC, Spawn)
|
|
PlayFlavor(NPC, "","","shakefist",0,0, Spawn)
|
|
elseif CanReceiveQuest(Spawn, OgreWatch) then
|
|
Dialog1(NPC,Spawn)
|
|
elseif HasQuest(Spawn, OgreWatch) and GetQuestStep(Spawn,OgreWatch) ==1 then
|
|
Dialog2(NPC,Spawn)
|
|
elseif CanReceiveQuest(Spawn, InformationGatheringFromaFishmonger) then
|
|
Dialog3 (NPC,Spawn)
|
|
elseif HasQuest(Spawn, InformationGatheringFromaFishmonger) then
|
|
Dialog4 (NPC,Spawn)
|
|
else
|
|
Dialog1(NPC,Spawn)
|
|
end
|
|
end
|
|
|
|
|
|
function Dialog1(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
|
|
Dialog.AddDialog("What on Norrath are you doing here? Get out of my house this instant!")
|
|
Dialog.AddVoiceover("voiceover/english/master_malvonicus/tutorial_island02/mastermalvonicus001.mp3", 2916930572, 3452710584)
|
|
if CanReceiveQuest(Spawn, OgreWatch) then
|
|
Dialog.AddOption("What happened here? It's a mess!","Dialog1a")
|
|
end
|
|
Dialog.AddOption("Yeesh! Okay, I'm leaving.")
|
|
Dialog.Start()
|
|
end
|
|
|
|
|
|
function Dialog1a(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
Dialog.AddDialog("Well apparently a group of undesirables, I can only assume ogres by the damage, decided to tear up my place while I was out! My house! I don't even know where to start! Oh, some of these heirlooms from Neriak were irreplaceable! ...and now YOU appear. What do you want?!")
|
|
PlayFlavor(NPC, "", "", "grumble", 0, 0, Spawn)
|
|
Dialog.AddOption("I'm just looking to make a few coins.","Dialog2a")
|
|
Dialog.AddOption("Well that IS too bad. Good luck with... whatever.")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Dialog2a(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
Dialog.AddDialog("Hmmm... perahps I could make use of you. Is your brain matter solid enough to make a deilvery and not lose it? I have a plan to discover what happened here that requires this message to be delievered in ONE piece... unlike these broken furniture pieces you see strewn about.")
|
|
if CanReceiveQuest(Spawn, OgreWatch) then
|
|
Dialog.AddOption("I'm sure I can deliver your letter in one piece.","Offer1")
|
|
end
|
|
Dialog.AddOption("Nope. NO time for that.")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Offer1(NPC,Spawn)
|
|
OfferQuest(NPC, Spawn, OgreWatch)
|
|
end
|
|
|
|
function Offer2(NPC,Spawn)
|
|
OfferQuest(NPC, Spawn, InformationGatheringFromaFishmonger)
|
|
end
|
|
|
|
function Dialog2(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
|
|
Dialog.AddDialog("Why haven't you delivered my letter? Azreana must know of my plan!")
|
|
Dialog.AddOption("I'm going!")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Dialog3(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "ponder", 0, 0, Spawn)
|
|
Dialog.AddDialog("Ah... It is only you again. I've recieved word Azreana has recieved my package as I requrested. Nice work... Perhaps these ogres will keep their noses out of my buisness!")
|
|
Dialog.AddOption("She said the raid on your home was a ruse for a bigger plot in the districts.","Offer2")
|
|
Dialog.AddOption("And I'll stay out of your buisness as well...")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Dialog4(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "stare", 0, 0, Spawn)
|
|
Dialog.AddDialog("Did you find Tilzak N'lim? I must know that fishmonger's true motives!")
|
|
if GetQuestStep(Spawn,InformationGatheringFromaFishmonger) ==2 then
|
|
Dialog.AddOption("He is no ordinary fishmonger. He works undercover for the Overlord and is planning to entrap the fools who started all this!","Dialog4a")
|
|
end
|
|
Dialog.AddOption("And I'll stay out of your buisness as well...")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Dialog4a(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "pout", 0, 0, Spawn)
|
|
Dialog.AddDialog("Well then... this does change things. If you claim the fishmonger is an agent of the Overlord... can he be trusted?")
|
|
Dialog.AddOption("He seemed honest enough?","Dialog4b")
|
|
Dialog.AddOption("Perhaps you shouldn't?","Dialog4b")
|
|
Dialog.Start()
|
|
end
|
|
|
|
|
|
function Dialog4b(NPC,Spawn)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "glare", 0, 0, Spawn)
|
|
Dialog.AddDialog("Better yet, can YOU be trusted?! How do I know you're speaking the truth!? Are you part of this whole plot?!?")
|
|
Dialog.AddOption("You'll just have to take my word for it.","Dialog4c")
|
|
Dialog.AddOption("You see this face? How can you not trust this face?","Dialog4c")
|
|
Dialog.AddOption("[Lie] The Overlord's agents told me you might not see reason.","Dialog4c")
|
|
Dialog.Start()
|
|
end
|
|
|
|
function Dialog4c(NPC,Spawn)
|
|
SetStepComplete(Spawn, InformationGatheringFromaFishmonger, 2)
|
|
FaceTarget(NPC, Spawn)
|
|
Dialog.New(NPC, Spawn)
|
|
PlayFlavor(NPC, "", "", "grumble", 0, 0, Spawn)
|
|
Dialog.AddDialog("...Fine! Take these things and get out of my sight. If I find out you're behind any of this, I will make you pay! I can't take ANYMORE FOOLISHNESS!")
|
|
Dialog.AddOption("Thanks, and good luck resolving all of... 'this'.")
|
|
Dialog.Start()
|
|
end
|
|
|