mirror of
https://github.com/ProjectEQ/projecteqquests
synced 2026-08-12 00:26:10 -04:00
rogue 2.0
This commit is contained in:
parent
f2278799a7
commit
092a68a9db
21 changed files with 423 additions and 51 deletions
18
bloodfields/#Caller_Donivin.lua
Normal file
18
bloodfields/#Caller_Donivin.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
function event_say(e)
|
||||
if(e.message:findi("hail")) then
|
||||
e.self:Say("So patronizing you are. Shoo! I have no need of your help and likewise - you have no need of mine.");
|
||||
end
|
||||
end
|
||||
|
||||
function event_trade(e)
|
||||
local item_lib = require("items");
|
||||
local qglobals = eq.get_qglobals(e.other);
|
||||
if(item_lib.check_turn_in(e.trade, {item1=52349,item2=52350,item3=52351,item4=52352}) and qglobals["Fatestealer"] == "3") then
|
||||
eq.set_global("rog_bf_trigger","1",3,"H1");
|
||||
eq.spawn2(301033,0,0,72,1749,-895,35);
|
||||
eq.zone_emote(15, "Attracted by the recent commotion, a reclusive Girplan emerges from its hiding spot.");
|
||||
end
|
||||
item_lib.return_items(e.self, e.other, e.trade);
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
sub EVENT_SAY {
|
||||
if($text=~/hail/i) {
|
||||
quest::say("So patronizing you are. Shoo! I have no need of your help and likewise - you have no need of mine.");
|
||||
}
|
||||
}
|
||||
14
bloodfields/#Keetra_the_Lost.lua
Normal file
14
bloodfields/#Keetra_the_Lost.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
function event_say(e)
|
||||
local qglobals = eq.get_qglobals(e.other);
|
||||
if(e.message:findi("lirprin sent me") and qglobals["Fatestealer"] == "3") then
|
||||
eq.set_global("rogue_epic_keetra","1",5,"F");
|
||||
e.other:Message(15,"You have confirmed Keetra's innocence.");
|
||||
--e.self:Say(""); no idea what this text should be
|
||||
eq.depop();
|
||||
end
|
||||
end
|
||||
|
||||
function event_trade(e)
|
||||
local item_lib = require("items");
|
||||
item_lib.return_items(e.self, e.other, e.trade);
|
||||
end
|
||||
|
|
@ -6,10 +6,19 @@ function event_timer(e)
|
|||
if (e.timer == "despawn") then
|
||||
eq.depop();
|
||||
eq.zone_emote(10, "The reclusive girplans slink back into their caves.");
|
||||
elseif e.timer=="blur" then
|
||||
e.self:WipeHateList();
|
||||
end
|
||||
end
|
||||
|
||||
function event_combat(e)
|
||||
if e.joined==true then
|
||||
eq.set_timer("blur",15*1000);
|
||||
else
|
||||
eq.stop_timer("blur");
|
||||
end
|
||||
end
|
||||
function event_death_complete(e)
|
||||
eq.spawn2(301078,0,0,-1254,175,-921.54,136.2);
|
||||
eq.spawn2(301078,0,0,-1279,168,-924,106);
|
||||
end
|
||||
-- spawn rog 2.0 mob
|
||||
|
|
|
|||
24
bloodfields/#Rolthee_Roundbelly.lua
Normal file
24
bloodfields/#Rolthee_Roundbelly.lua
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
function event_spawn(e)
|
||||
eq.set_timer("despawn", 930 * 1000);
|
||||
end
|
||||
|
||||
function event_timer(e)
|
||||
if (e.timer == "despawn") then
|
||||
eq.depop();
|
||||
eq.zone_emote(10, "The reclusive girplans slink back into their caves.");
|
||||
elseif e.timer=="blur" then
|
||||
e.self:WipeHateList();
|
||||
end
|
||||
end
|
||||
|
||||
function event_combat(e)
|
||||
if e.joined==true then
|
||||
eq.set_timer("blur",15*1000);
|
||||
else
|
||||
eq.stop_timer("blur");
|
||||
end
|
||||
end
|
||||
function event_death_complete(e)
|
||||
eq.spawn2(301078,0,0,-1279,168,-924,106);
|
||||
end
|
||||
-- spawn rog 2.0 mob
|
||||
|
|
@ -1,5 +1,11 @@
|
|||
function event_death_complete(e)
|
||||
eq.spawn2(301077,0,0,-1257,144,-913,0);
|
||||
eq.zone_emote(15, "Attracted by the recent commotion, a reclusive Girplan emerges from its hiding spot.");
|
||||
local qglobals = eq.get_qglobals(e.self);
|
||||
if(qglobals["rog_bf_trigger"] == "1") then
|
||||
eq.spawn2(301079,0,0,-1257,144,-913,0);
|
||||
eq.delete_global("rog_bf_trigger");
|
||||
else
|
||||
eq.spawn2(301077,0,0,-1257,144,-913,0);
|
||||
end
|
||||
eq.zone_emote(15, "Attracted by the recent commotion, a reclusive Girplan emerges from its hiding spot.");
|
||||
end
|
||||
-- 5th girplan spawns 6th (named)
|
||||
|
|
|
|||
33
dranik/#Daignal_the_Revered.lua
Normal file
33
dranik/#Daignal_the_Revered.lua
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
local event_started=0;
|
||||
function event_say(e)
|
||||
local qglobals = eq.get_qglobals(e.other);
|
||||
if(e.message:findi("hail")) then
|
||||
if event_started==0 then
|
||||
e.self:Emote("Greetings, "..e.other:GetRace()..". Don't worry, I will not make any aggressive actions toward you. Look around. Do you see the bars, the guarded exits? This is a prison - a comfortable location but a cage nonetheless. I am only guilty of [" .. eq.say_link("one crime") .. "], but the repercussions are serious. It's likely that the remainder of my life will be spent in closely guarded captivity.");
|
||||
else
|
||||
e.self:Emote("is struggling to keep his eyes open, 'Well done. Of the thousands of battles I have observed in my days, none have ever fought more valiantly then yourself. You should...get out of here before someone finds us like this. War will come. It always does. Turmoil...is life's one constant. It is inevitable. Don't...worry. You tried.'");
|
||||
eq.depop();
|
||||
end
|
||||
elseif(e.message:findi("crime")) then
|
||||
e.self:Emote("lifts his chin proudly, 'My crime? Simply being who I am. Daignal. A Dragorn with the will to do what is right for my people, the might to destroy my enemies in battle, and the respect and reputation to call hundreds, if not thousands, of fellow Dragorn to my aid. The legions of Mata Muram have wisely decided to cage me rather than make me [" .. eq.say_link("into a martyr") .. "] and face an uprising. No one, including me, wants that. It would be a valiant but futile attempt to thwart their control over this world and succeed only in generating a catastrophic body count. I've already seen enough bloodshed to last a thousand lifetimes.");
|
||||
elseif(e.message:findi("martyr")) then
|
||||
e.self:Say("Were the Muramites, or anyone else for that matter, to lay a hand on me, the retribution from my people would be fierce. Total war. But this will never occur. As I said, [" .. eq.say_link("no one wants needless bloodshed") .. "].");
|
||||
elseif(e.message:findi("bloodshed")) then
|
||||
e.self:Say("Precisely. No sane person wishes for needless bloodshed.");
|
||||
elseif(e.message:findi("kill")) then
|
||||
if(qglobals["Fatestealer"] == "3" and qglobals["rogue_epic_keetra"] == "1" and qglobals["rogue_epic_lairyn"] == "1" and qglobals["rogue_epic_larithim"] == "1" and qglobals["rogue_epic_durgin"] == "1") then
|
||||
event_started=0
|
||||
eq.spawn2(336253,0,0,694,828.2,145.2,120);
|
||||
else
|
||||
e.self:Say("you are speaking jibberish, what proof do you have?");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function event_signal(e)
|
||||
if e.signal==1 then
|
||||
e.self:Emote("cries out in pain");
|
||||
e.self:SetAppearance(3);
|
||||
event_started=1;
|
||||
end
|
||||
end
|
||||
47
dranik/#Wren_Simsy.lua
Normal file
47
dranik/#Wren_Simsy.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
function event_spawn(e)
|
||||
eq.set_timer("depop",30*60*1000);
|
||||
eq.set_timer("kill_daig",1500);
|
||||
end
|
||||
|
||||
function event_timer(e)
|
||||
if e.timer=="depop" then
|
||||
eq.depop_all();--shad
|
||||
eq.depop();
|
||||
elseif e.timer=="kill_daig" then
|
||||
eq.signal(336063,1,1000);
|
||||
eq.stop_timer("kill_daig");
|
||||
e.self:DoAnim(87);
|
||||
e.self:SetSpecialAbility(19, 0);
|
||||
e.self:SetSpecialAbility(20, 0);
|
||||
e.self:SetSpecialAbility(24, 0);
|
||||
e.self:SetSpecialAbility(25, 0);
|
||||
e.self:SetSpecialAbility(35, 0);
|
||||
elseif e.timer=="check_players" then
|
||||
eq.stop_timer("check_players");
|
||||
local num_players=0;
|
||||
local now_clients = eq.get_entity_list():GetClientList();
|
||||
for client in now_clients.entries do
|
||||
if (client.valid and e.self:CalculateDistance(client:GetX(), client:GetY(), client:GetZ()) <=300) then
|
||||
num_players=num_players+1;
|
||||
eq.debug("num_players: " .. num_players);
|
||||
if num_players > 4 then
|
||||
eq.spawn2(336255, 0, 0, e.self:GetX()-10, e.self:GetY()+10, e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function event_combat(e)
|
||||
if e.joined==true then
|
||||
eq.set_timer("check_players",1000);
|
||||
eq.spawn2(336255, 0, 0, e.self:GetX()+10, e.self:GetY()+10, e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
eq.spawn2(336255, 0, 0, e.self:GetX()-10, e.self:GetY()+10, e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
else
|
||||
eq.stop_timer("check_players");
|
||||
end
|
||||
end
|
||||
|
||||
function event_death_complete(e)
|
||||
eq.depop_all(336255);
|
||||
end
|
||||
3
dranik/#a_shadowed_assassin.lua
Normal file
3
dranik/#a_shadowed_assassin.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function event_death_complete(e)
|
||||
eq.spawn2(336255, 0, 0, e.self:GetX(), e.self:GetY(), e.self:GetZ(), e.self:GetHeading())
|
||||
end
|
||||
|
|
@ -7,8 +7,8 @@ sub EVENT_SAY {
|
|||
my $InInstanceMirB = quest::GetInstanceID("mirb",50);
|
||||
$ClientNotAdded = 0;
|
||||
if ($text=~/hail/i && $client->KeyRingCheck(41000)) {
|
||||
quest::say("I am busy building a strategy to take on those oddities deep under the ice here. If you need something, speak up now. I have little time for pleasantries. However, if you can rally the call of your friends perhaps you can help us with a serious [problem].");
|
||||
quest::say("Do you need to leave an [instance]?");
|
||||
quest::say("I am busy building a strategy to take on those oddities deep under the ice here. If you need something, speak up now. I have little time for pleasantries. However, if you can rally the call of your friends perhaps you can help us with a serious [" . quest::saylink("problem") . "].");
|
||||
quest::say("Do you need to leave an [" . quest::saylink("instance") . "]?");
|
||||
}
|
||||
if ($text=~/instance/i) {
|
||||
if ($InInstanceMirB > 0) {
|
||||
|
|
@ -23,7 +23,7 @@ sub EVENT_SAY {
|
|||
}
|
||||
|
||||
if ($text=~/problem/i && $client->KeyRingCheck(41000)) {
|
||||
quest::say("It is terrible that we are losing so many faithful Wayfarers to the chaos of Miragul's Menagerie. As experienced as you are, I hesitate to burden you with this task. It would require you to venture into an extremely dangerous area in the menagerie from which you may not return. I implore you to go deep into an area known as the Frozen Nightmare. It is through there that you would be dropped into the heart of the pandemonium where we have lost our best comrades. I need you to locate and exterminate whatever is killing our people. Are you [interested]?");
|
||||
quest::say("It is terrible that we are losing so many faithful Wayfarers to the chaos of Miragul's Menagerie. As experienced as you are, I hesitate to burden you with this task. It would require you to venture into an extremely dangerous area in the menagerie from which you may not return. I implore you to go deep into an area known as the Frozen Nightmare. It is through there that you would be dropped into the heart of the pandemonium where we have lost our best comrades. I need you to locate and exterminate whatever is killing our people. Are you [" . quest::saylink("interested") . "]?");
|
||||
}
|
||||
if ($text=~/interested/i && $client->KeyRingCheck(41000)) {
|
||||
$raid = $entity_list->GetRaidByClient($client);
|
||||
|
|
|
|||
3
gunthak/Krill_the_Backbleeder.lua
Normal file
3
gunthak/Krill_the_Backbleeder.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function event_death_complete(e)
|
||||
eq.signal(224122,2,1000);
|
||||
end
|
||||
83
gunthak/Lairyn_Debeian.lua
Normal file
83
gunthak/Lairyn_Debeian.lua
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
local add_waves;
|
||||
|
||||
function event_say(e)
|
||||
local qglobals = eq.get_qglobals(e.other);
|
||||
if(e.message:findi("hail")) then
|
||||
if(e.other:Class() == "Wizard") then
|
||||
e.self:Emote("peers up from his journal and smiles at you warmly, 'Greetings, friend. I was so involved in my research that I did not hear you approaching.' He closes the leather-bound tome and pats it with one slender hand. 'Please forgive my lack of courtesy. I am Lairyn from the order of the Crimson Hands, and this little book here is my life's work. I am currently unraveling the secret of a [" .. eq.say_link("new power") .. "] that has emerged on Broken Skull Rock.");
|
||||
else
|
||||
e.self:Emote("stares at you directly in the eyes. 'Greetings, $name. I suppose you're here like everyone else in search of fame and fortune. Good luck to you, and good day. I have many things to attend to.");
|
||||
end
|
||||
elseif(e.message:findi("new power")) then
|
||||
e.self:Say("The strange beasts known as Luggalds that reside on Broken Skull Rock have an amazing power over the dark waters of the deep. They are able to conjure it up in the form of an immense spear of ice. I have seen them do so with my own eyes, though I was watching from afar, of course. I would not dare venture close enough to anger the foul beasts. Their grasp of this magic is simply breathtaking, and from my observations alone, I am very close to unlocking their methods. Unfortunately, I have run into an obstacle, as I cannot complete my research without something more tangible. If only I were brave enough to get closer, or foolish enough. As you can see, I am more intellectual than adventurer.");
|
||||
e.self:Emote("chuckles and his spectacles slip a little further down his nose.");
|
||||
elseif(e.message:findi("brave enough")) then
|
||||
e.self:Emote("gasps in apparent surprise, 'What? Are you certain you wish to put yourself in such a perilous position? Well I certainly can't turn down good help, so I'll tell you what I know. The Luggalds often utilize their spells against creatures in the waters of the harbor. Whether this is for practice, or for sport, or to ward off attackers I am not sure. I would suggest investigating the harbor for further evidence. Take this bag and bring me whatever you can find.");
|
||||
e.other:SummonItem(17194);
|
||||
elseif(e.message:findi("lirprin sent me") and qglobals["Fatestealer"] == "3") then
|
||||
e.self:Emote("is disturbingly pale for an Erudite. He looks terribly frightened. 'They'll return any moment! The shadows are everywhere, always watching . . . Waiting for me to rest so they can kill me. I try to fight them off but they always return. They whisper to me when I am all alone. No one else in the gulf believes me. You must help! Please believe that what I say is true!");
|
||||
e.self:Say("Oh no, here they come - please don't let the shadows take me away!");
|
||||
add_waves=0;
|
||||
e.self:SetRunning(true);
|
||||
e.self:MoveTo(-54.34,1584,2.9,138,true);
|
||||
eq.set_timer("move1",2000);
|
||||
end
|
||||
end
|
||||
|
||||
function event_spawn(e)
|
||||
eq.depop_all(224433);
|
||||
eq.depop_all(224434);
|
||||
eq.depop_all(224435);
|
||||
eq.depop_all(224436);
|
||||
end
|
||||
|
||||
function event_timer(e)
|
||||
if e.timer=="move1" then
|
||||
eq.stop_timer("move1");
|
||||
e.self:MoveTo(-309,339,-45,135,true);
|
||||
eq.set_timer("move2",45*1000);
|
||||
elseif e.timer=="move2" then
|
||||
eq.stop_timer("move2");
|
||||
e.self:MoveTo(-315.17,-474.23,18.2,0,true);
|
||||
eq.set_timer("move3",30*1000);
|
||||
elseif e.timer=="move3" then
|
||||
eq.stop_timer("move3");
|
||||
e.self:Shout("They're still following me! Help!");
|
||||
eq.set_timer("adds",1000);
|
||||
elseif e.timer=="adds" then
|
||||
eq.set_timer("adds",30*1000);
|
||||
if add_waves < 5 then
|
||||
eq.spawn2(224433,0,0,e.self:GetX()-15,e.self:GetY()-15,e.self:GetZ(),e.self:GetHeading()):AddToHateList(e.self,500); --thug
|
||||
eq.spawn2(224434,0,0,e.self:GetX()+15,e.self:GetY()-15,e.self:GetZ(),e.self:GetHeading()):AddToHateList(e.self,500); --assass
|
||||
eq.spawn2(224435,0,0,e.self:GetX() ,e.self:GetY()-15,e.self:GetZ(),e.self:GetHeading()):AddToHateList(e.self,500); --enforce
|
||||
else
|
||||
eq.stop_timer("adds");
|
||||
end
|
||||
add_waves=add_waves+1;
|
||||
eq.set_global("rog_epic_wave",tostring(add_waves),3,"H2");
|
||||
end
|
||||
end
|
||||
|
||||
function event_signal(e)
|
||||
if e.signal==1 then
|
||||
e.self:Say("Oh no . . . I'd recognize the echo of those footfalls anywhere. That sounds like Krill . . .'");
|
||||
eq.spawn2(224436,0,0,e.self:GetX()-15,e.self:GetY()-15,e.self:GetZ(),e.self:GetHeading()):AddToHateList(e.self,500);
|
||||
else
|
||||
e.self:Say("For my own knowledge and to bring some closure to this terror, can you bring me his head? I want to see with my own eyes. I need to know if it was him.");
|
||||
end
|
||||
end
|
||||
|
||||
function event_trade(e)
|
||||
local item_lib = require("items");
|
||||
if(item_lib.check_turn_in(e.trade, {item1 = 58009}) ) then --pouch of dark ice
|
||||
e.self:Say("You did it. I can scarely believe my eyes! This is wonderful. Let me have a closer look. Lairyn unbuckles the leather satchel and pours out the contents then begins arranging the shards in a pattern on the ground. He slides them around like pieces of a complex puzzle, swapping them backwards and forwards faster than your eyes can track. Ah yes, very clever. I am beginning to understand. This is not such a challenge after all, once you know the trick. Enough talk, I would like you to be the first to try it! Lairyn withdraws his journal again and flips through it until he locates a blank page. He scribbles furiously with a quill for several moments, then tears the page form the binding and hands it to you.");
|
||||
e.other:SummonItem(59021); --spell: frozen harpoon
|
||||
elseif(item_lib.check_turn_in(e.trade, {item1 = 52354}) ) then --cloudy potion
|
||||
e.self:SetHP(e.self:GetHP()+1500);
|
||||
elseif(item_lib.check_turn_in(e.trade, {item1 = 52344}) ) then --krill head
|
||||
e.self:Emote("adjusts his spectacles and peers at the head, 'True enough. This is a Wayfarer . . . Errr, was at one time. I imagine he renounced his membership in the Brotherhood sometime before he took up a career of tormenting a poor scholar. They must have been trying to get to Nedaria by coming after me. I am famliar with Krill and he is a follower, not a leader. Someone else is the mastermind behind this - a person with access to magical disguises to hide their identity. Lirprin must know of this at once, ".. e.other:GetName() .. ".");
|
||||
eq.set_global("rogue_epic_lairyn","1",5,"F");
|
||||
eq.depop_with_timer();
|
||||
end
|
||||
item_lib.return_items(e.self, e.other, e.trade);
|
||||
end
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#zone: gunthak NPC: Lairyn_Debeian (224189)
|
||||
#Started by Angelox, finished by Kilelen
|
||||
#Frozen Harpoon
|
||||
|
||||
sub EVENT_SAY {
|
||||
if ($text=~/Hail/i){
|
||||
if ($class eq "Wizard") {
|
||||
quest::emote("peers up from his journal and smiles at you warmly, 'Greetings, friend. I was so involved in my research that I did not hear you approaching.' He closes the leather-bound tome and pats it with one slender hand. 'Please forgive my lack of courtesy. I am Lairyn from the order of the Crimson Hands, and this little book here is my life's work. I am currently unraveling the secret of a [new power] that has emerged on Broken Skull Rock.'");
|
||||
}
|
||||
else{
|
||||
quest::emote("stares at you directly in the eyes. 'Greetings, $name. I suppose you're here like everyone else in search of fame and fortune. Good luck to you, and good day. I have many things to attend to.'");
|
||||
}
|
||||
}
|
||||
if ($text=~/new power/i){
|
||||
quest::say("The strange beasts known as Luggalds that reside on Broken Skull Rock have an amazing power over the dark waters of the deep. They are able to conjure it up in the form of an immense spear of ice. I have seen them do so with my own eyes, though I was watching from afar, of course. I would not dare venture close enough to anger the foul beasts. Their grasp of this magic is simply breathtaking, and from my observations alone, I am very close to unlocking their methods. Unfortunately, I have run into an obstacle, as I cannot complete my research without something more tangible. If only I were brave enough to get closer, or foolish enough. As you can see, I am more intellectual than adventurer.");
|
||||
quest::emote("chuckles and his spectacles slip a little further down his nose.");
|
||||
}
|
||||
if ($text=~/brave enough/i){
|
||||
quest::emote("gasps in apparent surprise, 'What? Are you certain you wish to put yourself in such a perilous position? Well I certainly can't turn down good help, so I'll tell you what I know. The Luggalds often utilize their spells against creatures in the waters of the harbor. Whether this is for practice, or for sport, or to ward off attackers I am not sure. I would suggest investigating the harbor for further evidence. Take this bag and bring me whatever you can find.'");
|
||||
quest::summonitem(17194);#Small Pouch, this is not the proper container, but is the best I can do -Kilelen
|
||||
}
|
||||
}
|
||||
sub EVENT_ITEM {
|
||||
if(plugin::check_handin(\%itemcount, 58009 => 1)) {#Pouch of Dark Ice
|
||||
#All this text is made up
|
||||
quest::emote("looks at you in amazement as you hand the pouch of dark ice him.");
|
||||
quest::say("Well then, let's have a look then. Yes, yes, I see now.");
|
||||
quest::emote("scribles on a piece of parchment and thrusts it at you.");
|
||||
quest::say("This should serve you well");
|
||||
#End of made up text -Kilelen
|
||||
quest::summonitem(59021);#Spell: Frozen Harpoon
|
||||
}
|
||||
plugin::return_items(\%itemcount);
|
||||
}#Done
|
||||
7
gunthak/a_shadowed_assassin.lua
Normal file
7
gunthak/a_shadowed_assassin.lua
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
function event_death_complete(e)
|
||||
local qglobals = eq.get_qglobals(e.self);
|
||||
if(qglobals["rog_epic_wave"] >= "5") then
|
||||
e.self:Say("It's still too late to stop our plans. . .");
|
||||
eq.signal(224122,1,1500);
|
||||
end
|
||||
end
|
||||
|
|
@ -42,6 +42,8 @@ function event_say(e)
|
|||
e.self:Say("When I ascended to this plane and was transformed, Mithaniel gave me a specific purpose. I was graced with the ability to sense others who were like me, others who were tortured and tormented. I have a sensitivity to other poor beings that have been tormented the same way as me. I would like you to find these beings who were being tortured, and perhaps that may shed some light on my past. I have had a few [" .. eq.say_link("visions") .. "] on what may help you find these other tormented beings.");
|
||||
elseif(qglobals["paladin_epic"] == "1" and e.message:findi("visions")) then
|
||||
e.self:Say("I have had visions recently of various beings who have been captured by some foreign minion and tortured. The visions all were similar in nature. Very horrible things were done to these beings, very gruesome things. As the being kept fighting the pain and anguish, more torture was applied to break them...it was a horrible vision. A spell was casted mid-way though this ritual and the tormented being was held in a stasis. I felt a tugging at my soul, and I saw that the being's soul was being pulled from their body. The soul was removed from the being and imprisoned in a crystal of foreign origin. My only guess is that whoever is behind this ploy has been stealing the souls of various races of Norrath for some dark purpose. Help those that are tormented, find the crystals, and this will help you find the minions behind this plot. Go now noble Crusader!");
|
||||
elseif(e.other:HasItem(64031) and e.message:findi("tell me about your master")) then
|
||||
e.self:Say("Yes, this was my final master, the one who rarely taught knights. You have proven yourself to be a powerful and honorable paladin, and you have surpassed anything I could teach you. You have already met my master once, a very long time ago. His name is Inte Ikera, the noblest servant of Prexus. Go to him now with Redemption in hand so that you can begin your training. Good bye and good luck, friend.");
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -49,7 +51,7 @@ function event_trade(e)
|
|||
local qglobals = eq.get_qglobals(e.other);
|
||||
local item_lib = require("items");
|
||||
if(qglobals["paladin_epic"] == "6" and item_lib.check_turn_in(e.trade, {item1 = 69971})) then
|
||||
e.self:Emote("I see you have destroyed the monster responsible for this plot. This sword, this twisted piece of steel and blood that lies in your hands, must be the instrument used by Durunal to twist and corrupt those he tortured. I can feel that this sword has a dark magical power that he used to forcibly and violently siphon the soul of those he tormented. There is only one way to correct Durunal's wrong-doings, as well as lay to rest the souls of those he tortured. You must take the crystals you have gathered and meld them with the sword. . .give those tormented souls a new purpose and a new meaning. After you have joined the souls with this weapon, I will [" .. eq.say_link("tell you about my master") .. "].");
|
||||
e.self:Emote("I see you have destroyed the monster responsible for this plot. This sword, this twisted piece of steel and blood that lies in your hands, must be the instrument used by Durunal to twist and corrupt those he tortured. I can feel that this sword has a dark magical power that he used to forcibly and violently siphon the soul of those he tormented. There is only one way to correct Durunal's wrong-doings, as well as lay to rest the souls of those he tortured. You must take the crystals you have gathered and meld them with the sword. . .give those tormented souls a new purpose and a new meaning. After you have joined the souls with this weapon, I will [" .. eq.say_link("tell me about your master",false,"tell you about my master") .. "].");
|
||||
eq.set_global("paladin_epic","7",5,"F");
|
||||
e.other:SummonItem(69972);
|
||||
end
|
||||
|
|
|
|||
27
iceclad/#Polar_Kraken.lua
Normal file
27
iceclad/#Polar_Kraken.lua
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
function event_spawn(e)
|
||||
eq.set_timer("depop",30*60*1000);
|
||||
end
|
||||
|
||||
function event_combat(e)
|
||||
if e.joined==true then
|
||||
eq.set_timer("adds",45*1000);
|
||||
eq.set_timer("blind",12*1000);
|
||||
eq.set_next_hp_event(50);
|
||||
else
|
||||
eq.stop_timer("adds");
|
||||
end
|
||||
end
|
||||
|
||||
function event_timer(e)
|
||||
if e.timer=="depop" then
|
||||
eq.depop_all(110132);
|
||||
eq.depop();
|
||||
elseif e.timer=="blind" then
|
||||
e.self:CastSpell(5597,e.self:GetHateRandom():GetID());
|
||||
elseif e.timer=="adds" then
|
||||
eq.spawn2(110132, 0, 0, e.self:GetX()-30, e.self:GetY(), e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
eq.spawn2(110132, 0, 0, e.self:GetX()+30, e.self:GetY(), e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
eq.spawn2(110132, 0, 0, e.self:GetX()-30, e.self:GetY()-30, e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
eq.spawn2(110132, 0, 0, e.self:GetX()-30, e.self:GetY()+30, e.self:GetZ(), e.self:GetHeading()):AddToHateList(e.self:GetHateRandom(),1);
|
||||
end
|
||||
end
|
||||
25
iceclad/Lookout_Larithim.lua
Normal file
25
iceclad/Lookout_Larithim.lua
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
function event_say(e)
|
||||
local qglobals = eq.get_qglobals(e.other);
|
||||
if(e.message:findi("lirprin sent me") and qglobals["Fatestealer"] == "3") then
|
||||
e.self:Say("Lirprin sent ye, did he mate? I was beginnin' ta wonder when the perils of me dastardly mutiny would catch up with me. Tis my shame, and I'll shoulder the burden 'til the day I rest at the bottom of the ocean. To tell ye the truth Cap'n Lirprin treated us alright, but te be away from ship n' sail was murder. I'd rather be scrapin' barnacles for all eternity than spend another moment in yon Discord Plane. Only, well, it seems that me ship and sail are gone again.' Larithim sighs dramatically, and waits for the effect to sink in before continuing. 'Would ye like ta [" .. eq.say_link("hear the tale") .. "], landlubber? Tis guaranteed to bring a tear ta the eye o' even the saltiest sea dog. Arrrr.");
|
||||
elseif(e.message:findi("hear the tale") and qglobals["Fatestealer"] == "3") then
|
||||
e.self:Say("Allow me te paint ye the picture, Sanam, of a story so strange and frightenin'! Twasn't more than a fortnight followin' my glorious return to plunderin'. I was bringin' me ship, Glaciersmash, into the coast ye see before ya now. The weather was cruel and unrelentin'. Waves they were crashin' up against the port bow.' He motions with his arms to indicate large waves, and makes a shrill blowing sound to imitate the wind. 'Hoist the main sail, tug the riggin's and man the longboats men, says I. That's when a twisting tentacle as thick as yer leg stretched out from the waters and latched ahold of the main mast! Guess ye [" .. eq.say_link("what happened then") .. "]?");
|
||||
elseif(e.message:findi("what happened then") and qglobals["Fatestealer"] == "3") then
|
||||
e.self:Say("Arrr. The boat she tipped and groaned, wood bucklin' and rope snappin'. My precious cargo of metal alloy spilled overboard. Before we knew it, she capsized like a maiden's . . . Wait, is that . . .? Well I'll be a crusty barnacle. Ye see that there, Sanam!? NO, not the tower. There it is again - the scurvy squid has returned. IT BE THE POLAR KRAKEN! Get out there and harpoon its backside, Sanam. I'll keep a sharp lookout here and we'll split the booty. The alloy will oxidize right quick if ye expose it to the air - stash it in here and bring it back te me.");
|
||||
e.other:SummonItem(52339); --Air-Tight Strongbox
|
||||
eq.depop_all(110131); --polar kraken
|
||||
eq.depop_all(110132); --krakling
|
||||
eq.spawn2(110131,0,0,752,2876,-85,0);
|
||||
end
|
||||
end
|
||||
|
||||
function event_trade(e)
|
||||
local item_lib = require("items");
|
||||
if(item_lib.check_turn_in(e.trade, {item1 = 52341}) ) then
|
||||
e.self:Say("Yar! Heres ye half matey"); --made up, cant find any info
|
||||
e.other:SummonItem(52342); --Strongbox Half Full of Velixite
|
||||
eq.set_global("rogue_epic_larithim","1",5,"F");
|
||||
e.other:Message(15,"You have confirmed Larithim's innocence.");
|
||||
end
|
||||
item_lib.return_items(e.self, e.other, e.trade);
|
||||
end
|
||||
15
iceclad/player.lua
Normal file
15
iceclad/player.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
function event_loot(e)
|
||||
if(e.self:Class() == "Rogue" and e.item:GetID() == 52340) then
|
||||
local qglobals = eq.get_qglobals(e.self);
|
||||
if (qglobals["Fatestealer"] == "3") then
|
||||
if (qglobals["rogue_chest_ice"] == nil) then
|
||||
eq.spawn2(893, 0, 0, e.self:GetX(), e.self:GetY(), e.self:GetZ(), e.self:GetHeading()); -- a chest (epic 2.0)
|
||||
eq.set_global("rogue_chest_ice", "1", 5, "F");
|
||||
end
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
|
@ -43,7 +43,7 @@ sub EVENT_SAY {
|
|||
quest::spawn2(237797, 0, 0, 216.00, 397.00, -9.75, 128.00); #spawn Laskuth the Colossus
|
||||
$Laskuth_spawned = 1;
|
||||
} else {
|
||||
quest::say("Greetings adventurer, and welcome to this horrid nightmare. In order to fully understand Miragul and escape this horrid place, I ask that you aid me in some [tasks].");
|
||||
quest::say("Greetings adventurer, and welcome to this horrid nightmare. In order to fully understand Miragul and escape this horrid place, I ask that you aid me in some [" . quest::saylink("tasks") . "].");
|
||||
if ($task1 == 1) {
|
||||
quest::say("The sludge no longer blocks the passage ahead.");
|
||||
}
|
||||
|
|
@ -59,17 +59,33 @@ sub EVENT_SAY {
|
|||
}
|
||||
}
|
||||
if ($text=~/tasks/i) {
|
||||
quest::say("The first task is to dispatch the slime just beyond here. Once completed, proceed to the [second] task.");
|
||||
quest::say("The first task is to dispatch the slime just beyond here. Once completed, proceed to the [" . quest::saylink("second") . "] task.");
|
||||
}
|
||||
if ($text=~/second/i) {
|
||||
quest::say("Some animated skeletons haunt these caverns. The heat of battle is their weakness, but their strength lies in numbers. Destroy all four together so they may not aid each other in their ethereal forms. When this terror is gone, prepare for the [third] task.");
|
||||
quest::say("Some animated skeletons haunt these caverns. The heat of battle is their weakness, but their strength lies in numbers. Destroy all four together so they may not aid each other in their ethereal forms. When this terror is gone, prepare for the [" . quest::saylink("third") . "] task.");
|
||||
}
|
||||
if ($text=~/third/i) {
|
||||
quest::say("An abomination named Marrow the Broken spreads dismay throughout these cold regions. Destroy the vile beast, then I will have one [final] task.");
|
||||
quest::say("An abomination named Marrow the Broken spreads dismay throughout these cold regions. Destroy the vile beast, then I will have one [" . quest::saylink("final") . "] task.");
|
||||
}
|
||||
if ($text=~/final/i) {
|
||||
quest::say("My dear, Sharalla, passed on within these caves. I ask that you only protect her form from the beasts until the nightmare ends.");
|
||||
}
|
||||
|
||||
if ($text=~/Lirprin sent me/i) {
|
||||
my $event_status = $qglobals{$instid.'_mirb_event'};
|
||||
if(($event_status==2 || $event_status==1) && $qglobals{Fatestealer} == 3) {
|
||||
quest::say("There's no need to mince words $name. I have no quarrel with Lirprin, but unfortunately the reverse is not also true. The man is undoubtedly angry with me. He will never forgive me for courting Sharalla and does not realize that it was her choice. She loved me, and not him. His paranoia and overbearing attitude, and eventually the outright abuse of his leadership position merely pushed her away. Now that she has fallen in the valiant service of the Brotherhood there is no further need for his insecurity.");
|
||||
quest::setglobal("rogue_epic_durgin", 1, 5, "F");
|
||||
$client->Message(13, "You have confirmed Durgin's innocence.");
|
||||
if(!defined($qglobals{rogue_chest_mira})) {
|
||||
quest::setglobal("rogue_chest_mira", "1", 5, "F");
|
||||
$x = $client->GetX();
|
||||
$y = $client->GetY();
|
||||
$z = $client->GetZ();
|
||||
quest::spawn2(893,0,0,$x,$y,$z,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub EVENT_SIGNAL {
|
||||
|
|
|
|||
|
|
@ -4,6 +4,47 @@ function event_say(e)
|
|||
e.self:Say("I suppose the bad publicity surrounding your organization has subsided to the point where we can speak freely.' He clears his throat, 'Word is that you are looking for someone to forge a blade or two specifically for you for a specific purpose. I'll go on faith that you intend to use this weapon to catch a criminal and not become one yourself. We have the ability. My assistant, Dandi, is the best smith I know. And . . . As luck would have it I owe your friends a [" .. eq.say_link("favor") .. "]. The only thing we lack is the knowledge of how to imbue the weapon with dark energy. I thought this secret lied in the hands of the Teir`dal, but if they will not acquiesce perhaps there is another way. Did you ever stop to think that the directions may have been written down somewhere?");
|
||||
elseif(e.message:findi("favor")) then
|
||||
e.self:Say("Let's get one thing straight, right now, " .. e.other:GetName() .. ". I do NOT work for Stanos, and I do NOT work for you. It's a simple matter of repaying a favor, and I'd suggest you not press the issue lest I change my mind.");
|
||||
elseif(e.other:HasItem(52347)) then
|
||||
if(e.message:findi("hail")) then
|
||||
e.self:Say("I'm sure Stanos has already briefed you on his concern: An assassin is planning to start a war between the Dragorn and the Wayfarer's by offing a well-respected member of their society and making it look like it was us. This is true. I've verified the information myself. What Stanos doesn't know, and I'm embarrassed to admit . . . It's one of my people that's behind it all.' He fumes, and smashes his left fist into his opposite palm. 'Bah. If I ever get my hands on the scoundrel! If I even knew WHICH one it was! We've had a disturbing number of our rank go 'deserter' since my group's last visit to the Realms of Discord. Haven't heard from some of my members in days, weeks, or months. It's one of those scumbags.");
|
||||
e.self:Say("I'd bet my [" .. eq.say_link("bronze breastplate") .. "] that it's either [" .. eq.say_link("Lairyn Debeian").."], ["..eq.say_link("Wren Simsy").."], ["..eq.say_link("Longarm Larithim") .."], [" .. eq.say_link("Durgin Skell") .. "] or [" .. eq.say_link("Keetra the Lost") .. "]. If you can prove without a shadow of a doubt, please tell me you [" .. eq.say_link("know who is guilty") .. "].");
|
||||
eq.set_global("Fatestealer","3",5,"F");
|
||||
elseif(e.message:findi("Lairyn")) then
|
||||
e.self:Say("Yes, Lairyn Debeian. Does his name sound familiar to you? It should - that's Nedaria's brother. He left my side long ago to research new magics, and for the better part of the years he kept in touch. We had been corresponding by mail. The last letter I received from him was written in a desperate scrawl. His tone was fearful and angry, which isn't like him at all. He spoke of shadows and hearing voices in his head. I'm afraid he may have done something rash. Something horrible. Don't let his frail appearance fool you, Fyredragn. He's from the same blood as Nedaria and very powerful. If you find him, drop my name. Let him know Lirprin sent you and see if he can explain his odd behavior.");
|
||||
elseif(e.message:findi("Wren")) then
|
||||
e.self:Say("Ah, Wren. Mistress of disguise and as deadly as they come. She always obeyed orders and was ruthlessly efficient in her tasks, but I've got this feeling that what she did for the Brotherhood was done begrudgingly. That is to say, I think she was biding her time waiting for an opportunity to leave. And leave she did. She and some of the impressionable members of my group disappeared a few weeks ago. In typical rogue-like fashion, they made off with most of our supplies, too. The more unsavory Wayfarer pledges were quite taken with her striking beauty and her skill with a blade. I imagine they'd follow her anywhere. If you find her, drop my name. Let her know Lirprin sent you and see if she can explain her disappearance and theft.");
|
||||
elseif(e.message:findi("Longarm")) then
|
||||
e.self:Say("Bah, just hearing his name is like hearing the screech of a harpy. The little twerp didn't care for the dangerous environment of Kuaa and deserted us without so much as a goodbye. This is the kind of behavior I have to deal with on a daily basis, and what's going to be the death of me. I swear I'll throw shackles on the next walking panic attack that whimpers about wanting to go back to their home. It goes without saying that Larithim was a roguish type and I wouldn't put it past him to do something rash and stupid. Someone overheard him saying he'd do anything to send us packing back to Norrath, for good. Starting a war with the Dragorn would fit that bill. Who knows what hole Larithim's cowering in now. There are a lot of hiding spots for a fainthearted three-foot tall gnome. If you find him, drop my name. Let him know Lirprin sent you and see if he can explain his desertion.");
|
||||
elseif(e.message:findi("Durgin")) then
|
||||
e.self:Say("I've had the pleasure of serving with a beastlord named Sharalla for quite awhile. For years, she was a reliable friend and companion. At one point I nearly asked her to become my betrothed - we were that close. However, things changed the moment she met that scoundrel Durgin Skell. Her dedication to the Wayfarer's cause wavered noticably whenever he was about. Last time I saw them, Durgin and Sharalla were preparing for [some foolish expedition]. They took a cadre of my best people, ventured off in search a 'great threat' to Norrath and haven't been seen since. I trust Durgin about as far as I can pitch an orc. There's a good chance he's used his silver tongue and charismatic appearance to misguide his group into doing something foolish. If you find him, drop my name. Let him know Lirprin sent you and see if he can explain what he's been up to.");
|
||||
elseif(e.message:findi("foolish")) then
|
||||
e.self:Say("Yes, foolish indeed. He kept mentioning something about a frozen underground cavern below Everfrost and the nightmarish creatures that resided within. We had heard rumors of such a place, but I wouldn't give them much credibility. They're only rumors, after all.");
|
||||
local instance_requests = require("instance_requests");
|
||||
local lockout_globals = {{'mirb_50_lockout', "LDoN Raid: Miragul'S Menagerie: Frozen Nightmare"}};
|
||||
local request = instance_requests.ValidateRequest('raid', "mirb", 50, 2, 36, 61, {any = {41000, 40999}}, nil, e.other, lockout_globals);
|
||||
if (request.valid and request.flags == 1) then
|
||||
instance_requests.DisplayLockouts(e.other, e.other, lockout_globals)
|
||||
elseif (request.valid and request.flags == 0) then
|
||||
local raid = e.other:GetRaid();
|
||||
local instance_id = eq.create_instance("mirb", 50, 10800);
|
||||
eq.set_global(instance_id.."_mirb_status",tostring(request.flags),7,"H3");
|
||||
eq.set_global(instance_id.."_mirb_event",tostring(request.flags),7,"H3");
|
||||
if (raid.valid) then
|
||||
eq.assign_raid_to_instance(instance_id);
|
||||
e.other:Message(15,"Miragul''s Menagerie: Frozen Nightmare is now available to you.");
|
||||
end
|
||||
end
|
||||
elseif(e.message:findi("Keetra")) then
|
||||
e.self:Say("'Keetra the Lost' is right. She was simply 'Keetra' until we discovered her uncanny knack for straying off the beaten path. We couldn't travel half a mile without having to double back to find Keetra. You don't want to know how many times we sent a search team to locate her sorry hide. What I need to know is, was this simply absent-minded disorientation or was she feigning ignorance, trying to escape? I'm inclined to say it was the former, but with this war on the horizon we can't be too careful. Having another thief slip out of sight is not something we can afford to ignore. If you find her, drop my name. Let her know Lirprin sent you and see if she can explain where she's been.");
|
||||
elseif(e.message:findi("bronze breastplate")) then
|
||||
e.self:Emote("sighs, I'm not really wearing a bronze breastplate, " .. e.other:GetName() .. ". That's what we like to call a 'figure of speech'.");
|
||||
elseif(e.message:findi("know")) then
|
||||
if(qglobals["Fatestealer_lairyn"]) then
|
||||
e.self:Say("placeholder");
|
||||
else
|
||||
e.self:Emote("taps his foot impatiently. There's no time to tarry, " .. e.other:GetName() .. ". So far, your research has turned up nothing at all. Keep looking for [" .. eq.say_link("Lairyn Debeian").."], ["..eq.say_link("Wren Simsy").."], ["..eq.say_link("Longarm Larithim") .."], [" .. eq.say_link("Durgin Skell") .. "] and [" .. eq.say_link("Keetra the Lost") .. "].. Come back and speak with me when you know more.");
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -19,6 +60,23 @@ function event_trade(e)
|
|||
e.other:Message(15,'You have gained 5 ability points!');
|
||||
eq.set_global("Fatestealer","2",5,"F");
|
||||
end
|
||||
|
||||
if( qglobals["Fatestealer"] == "3" and item_lib.check_turn_in(e.trade, {item1 = 47100,item2 = 52342,item3 = 21346,item4 = 52347}) ) then
|
||||
e.other:QuestReward(e.self,{itemid=52348, exp=50000}); --Nightshade, Blade of Entropy
|
||||
e.other:AddAAPoints(10);
|
||||
e.other:Message(15,'You have gained 10 ability points!');
|
||||
eq.set_global("Fatestealer","4",5,"F");
|
||||
eq.delete_global("Fatestealer_bard");
|
||||
eq.delete_global("Fatestealer_page");
|
||||
eq.delete_global("Fatestealer_forge");
|
||||
eq.delete_global("Fatestealer_nk");
|
||||
eq.delete_global("Fatestealer_sv");
|
||||
eq.delete_global("Fatestealer_hl");
|
||||
eq.delete_global("Fatestealer_pl");
|
||||
eq.delete_global("Fatestealer_rv");
|
||||
eq.delete_global("rogue_epic_keetra");
|
||||
eq.delete_global("rogue_epic_lairyn");
|
||||
eq.delete_global("rogue_epic_durgin");
|
||||
eq.delete_global("rogue_epic_larithim");
|
||||
end
|
||||
item_lib.return_items(e.self, e.other, e.trade);
|
||||
end
|
||||
|
|
|
|||
|
|
@ -49,6 +49,27 @@ function event_say(e)
|
|||
e.self:Say("Hmm, you're still missing a few things. Keep at it, " .. e.other:GetName() .. ".");
|
||||
end
|
||||
end
|
||||
if( qglobals["Fatestealer"] == "3" and e.message:findi("hail")) then
|
||||
e.self:Emote("wipes her sooty hands on her apron and smiles at you. 'So, it looks as if you'll need the services of Smith Dandi once again. I was hoping you'd stop by soon so we could talk. Fantastic work clearing the names of those innocent Wayfarers. I knew them all personally and they weren't bad folk. It's a shame Lirprin can be so quick to judge. Now, something tells me you're looking to get that blade of yours improved. Let's see if you have what we need. . .");
|
||||
if (e.other:HasItem(47100)) then
|
||||
e.other:Message(15,"From the deadly realm of Mata Muram himself, you have recovered a source of discordant energy.");
|
||||
else
|
||||
e.other:Message(13,"Smith Dandi is unable to duplicate the enchantments on Wren's weapon without a source of discordant energy.");
|
||||
end
|
||||
if (e.other:HasItem(52342)) then
|
||||
e.other:Message(15,"From the freezing depths of Iceclad, you have recovered a lump of Velixite alloy.");
|
||||
else
|
||||
e.other:Message(13,"Smith Dandi is unable to craft the blade without a special alloy.");
|
||||
end
|
||||
if (e.other:HasItem(21346)) then
|
||||
e.other:Message(15,"You have slain Wren Simsy and recovered her blade, which courses with discordant energy. ");
|
||||
else
|
||||
e.other:Message(13,"Smith Dandi requires a blade touched by discordant energy.");
|
||||
end
|
||||
if (e.other:HasItem(47100) and e.other:HasItem(52342) and e.other:HasItem(21346)) then
|
||||
e.self:Say("Seems you're all ready to craft the blade. We'll need the Velixite alloy, the weapon I crafted for you last time, an example of someone else's weapon that I can use for a reference, and a source of pure discordant energy. Show those items to Lirprin and we'll get started!");
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function event_trade(e)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue