Going Postal - Complete (or nearly so)
I've been working on this off and on for a couple of weeks, and I finally have most of the quest working. The notable exceptions are the deliveries from Innothule swamp and West Karana, neither of which seem to have items in the database that actually correspond to them. It would be possible to reuse the same letters for more than one quest, but it seems like a poor idea as the letters are all lore.
So, without further ado, here's the massive list of npc scripts for the bard mail quests.
Tralyn_Marsinger.pl zone: Qeynos
Code:
#############
#Quest Name: Bard Mail Quest
#Author: RealityIncarnate
#NPCs Involved: Tralyn Marsinger, Eve Marsinger, Lislia Goldtune, Felisity Starbright, Jakum Webdancer, Ton Twostring, Idia, Sivina Lutewhisper, Ticar Lorestring, Marton Stringsinger, Drizda Tunesinger, Travis Two Tone, Silna Songsmith, Siltria Marwind, Tacar Tissleplay, Kilam Oresinger, Lyra Lyrestringer
#Items Involved: Bardic letters: 18150-18167
#################
sub EVENT_SAY {
if ($text=~/hail/i) {
quest::say("Hail, $name - If you are interested in helping the League of Antonican Bards by delivering some mail then you should talk to my wife, Eve.");
}
}
sub EVENT_ITEM {
if (plugin::check_handin(\%itemcount, 18150 => 1) || plugin::check_handin(\%itemcount, 18151 => 1)) {
quest::say("Incoming mail - very good! Please take this gold for your troubles.");
quest::givecash(0,0,quest::chooserandom(3,4,5,6),0);
quest::exp(50);
quest::faction(192,10); #league of antonican bards
quest::faction(184,10); #knights of truth
quest::faction(135,10); #guards of qeynos
quest::faction(273,-30); #ring of scale
quest::faction(207,-30); #mayong mistmoore
}
elsif(plugin::check_handin(\%itemcount, 18153 => 1) || plugin::check_handin(\%itemcount, 18154 => 1)) {
quest::say("Incoming mail - very good! Please take this gold for your troubles.");
quest::givecash(0,0,quest::chooserandom(8,9,10,11,12),0);
quest::exp(100);
quest::faction(192,10); #league of antonican bards
quest::faction(184,10); #knights of truth
quest::faction(135,10); #guards of qeynos
quest::faction(273,-30); #ring of scale
quest::faction(207,-30); #mayong mistmoore
}
else {
quest::say("I have no need for that.");
plugin::return_items(\%itemcount);
}
}
# End of File zone: qeynos
Eve_Marsinger.pl zone:Qeynos
Code:
#############
#Quest Name: Bard Mail Quest
#Author: RealityIncarnate
#NPCs Involved: Tralyn Marsinger, Eve Marsinger, Lislia Goldtune, Felisity Starbright, Jakum Webdancer, Ton Twostring, Idia, Sivina Lutewhisper, Ticar Lorestring, Marton Stringsinger, Drizda Tunesinger, Travis Two Tone, Silna Songsmith, Siltria Marwind, Tacar Tissleplay, Kilam Oresinger, Lyra Lyrestringer
#Items Involved: Bardic letters: 18150-18167
#################
sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("Hail, $name - Are you [interested] in helping the League of Antonican Bards by delivering some [mail]?");
}
if($text=~/i am interested/i){
quest::say("I have messages that need to go to Highpass and to Freeport. Will you [deliver] mail to [Highpass] or [Freeport] for me?");
}
if($text=~/deliver to highpass/i){
quest::say("Take this pouch to Lislia Goldtune in Highpass. You can find her at the entrance to HighKeep. I am sure she will compensate you for your troubles.");
quest::summonitem("18152");
}
f($text=~/deliver to Freeport/i){
quest::say("Take this letter to Felisity Starbright in Freeport. You can find her at the bard guild hall. I am sure she will compensate you for your troubles.");
quest::summonitem("18155");
}
if($text=~/what mail/i){
quest::say("The League of Antonican Bards has a courier system made up of travelers and adventurers. We pay good gold to anyone who will take messages from bards such as myself to one of our more distant offices. Are you [interested]?"); }
}
sub EVENT_ITEM {
if (plugin::check_handin(\%itemcount, 18165 => 1)) {
quest::say("More mail - you have done us a noteworthy service! Please take this gold for your troubles. If you are interested in more work, just ask me.");
quest::givecash(0,0,quest::chooserandom(11,12,13,14,15),0);
quest::exp(150);
quest::faction(192,10); #league of antonican bards
quest::faction(184,10); #knights of truth
quest::faction(135,10); #guards of qeynos
quest::faction(273,-30); #ring of scale
quest::faction(207,-30); #mayong mistmoore
}
else {
quest::say("I have no need for that.");
plugin::return_items(\%itemcount);
}
}
#END of FILE Zone:qeynos
Lislia_Goldtune.pl zone:Highkeep
Code:
#############
#Quest Name: Bard Mail Quest
#Author: RealityIncarnate
#NPCs Involved: Tralyn Marsinger, Eve Marsinger, Lislia Goldtune, Felisity Starbright, Jakum Webdancer, Ton Twostring, Idia, Sivina Lutewhisper, Ticar Lorestring, Marton Stringsinger, Drizda Tunesinger, Travis Two Tone, Silna Songsmith, Siltria Marwind, Tacar Tissleplay, Kilam Oresinger, Lyra Lyrestringer
#Items Involved: Bardic letters: 18150-18167
#################
sub EVENT_SAY {
if($text=~/Hail/i){
quest::say("Hail. $name - Are you [interested] in helping the League of Antonican Bards by delivering some [mail]?");
}
if($text=~/I am interested in delivering mail/i){
quest::say("I have messages that need to go to Freeport and to Qeynos. Will you [deliver] mail [to Freeport] or [to Qeynos] for me?");
}
if($text=~/deliver to freeport/i) {
quest::say("Take this pouch of mail to Ton Twostring. You can find him at the bard guild hall. I'm sure he will compensate you for your trouble.");
quest::summonitem("18164");
}
if($text=~/deliver to qeynos/i) {
quest::say("Take this letter to Tralyn Marsinger. You can find him at the bard guild hall. I'm sure she will compensate you for your trouble.");
quest::summonitem("18154");
}
}
sub EVENT_ITEM {
if (plugin::check_handin(\%itemcount, 18152 => 1) || plugin::check_handin(\%itemcount, 18156 => 1)) {
quest::say("More mail - you have done us a noteworthy service! Please take this gold for your troubles. If you are interested in more work, just ask me.");
quest::givecash(0,0,quest::chooserandom(8,9,10,11,12),0);
quest::exp(100);
quest::faction(192,10); #league of antonican bards
quest::faction(184,10); #knights of truth
quest::faction(135,10); #guards of qeynos
quest::faction(273,-30); #ring of scale
quest::faction(207,-30); #mayong mistmoore
}
else {
quest::say("I have no need for that.");
plugin::return_items(\%itemcount);
}
}
#END of FILE Zone:highkeep
|