예제 #1
0
    public async Task <HookResult> TarlachBeforeKeywords(NpcScript npc, params object[] args)
    {
        var keyword = args[0] as string;

        if (keyword == "g1_bone_of_glasgavelen" && npc.HasKeyword("g1_28"))
        {
            if (!npc.QuestActive(NextQuestId))
            {
                npc.StartQuest(NextQuestId);                 // Obtain the Magic Powder of Preservation
                npc.GiveWarpScroll(63009, "Fiodth_Dungeon");

                npc.Msg(L("...!<p/>That's it! In order to revive Glas Ghaibhleann,<br/>his bones must be exacavated and re-assembled.<br/>Any missing bones must be replaced with Adamantium."));
                npc.Msg(L("But Adamantium is difficult to shape. It must<br/>be melted at very high temperatures first. And<br/>there's a special ingredient that must be applied to the bone."));
                npc.Msg(L("It won't be enough to simply destroy the bones before it's<br/>completed. Once the Adamantium hardens, you can't destroy it. I have no<br/>doubt the Formors have already gathered all the bones<br/>and prepared their magical reagents, too."));
                npc.Msg(L("It's only a matter of time before the Fomors invade Erinn..."));
                npc.Msg(L("How do I know all this? I learned it<br/>in the land of Fomors, Tir Na Nog.<br/>Tir Na Nog is a reflection of Erinn...or perhaps it's the other way around?<br/>At any rate, the worlds are quite similar."));
                npc.Msg(L("Perhaps it would be better for you to see it first hand.<br/>Can you do me a favor?"));
                npc.Msg(L("These glasses carry the memories of my time there."), npc.Image("g1_ch25_glasses"));
                npc.Msg(L("I can't say for certain if the memories<br/>are intact, but if you wish to see what I saw through<br/>these glasses, you'll need them.<br/>Please find me some Magic Powder of Preservation."), npc.Image("g1_ch25_glasses"));
                npc.Msg(L("The powder will prevent the glasses from breaking further.<br/>This will also sustain the memories contained within,<br/>If you get me the powder, I'll preserve the glasses."));
                npc.Msg(L("You can find Magic Powder of Preservation<br/>deep inside Fiodh Dungeon."));
            }
            else
            {
                npc.Msg(L("You can find Magic Powder of Preservation<br/>deep inside Fiodh Dungeon.<br/>If you get me the powder, I'll preserve the glasses."));
            }

            return(HookResult.Break);
        }

        return(HookResult.Continue);
    }
예제 #2
0
    public async Task <HookResult> KristellBeforeKeywords(NpcScript npc, params object[] args)
    {
        var keyword = args[0] as string;

        if (keyword == "g1_memo_of_lost_thing")
        {
            if (npc.HasKeyword("g1_20"))
            {
                npc.RemoveKeyword("g1_20");
                npc.GiveKeyword("g1_21");

                npc.GiveWarpScroll(63009, "Math_Dungeon");

                npc.Msg(L("You're back. I knew you would be back.<br/>Here's the item you're looking for."));
                npc.Msg(L("I only remembered it later on too.<br/>I figured the person who wrote that can<br/>find the lost item at the Town Office."), npc.Image("g1_ch18_torque01"));
                npc.Msg(L("Broken Torque.<br/>It looks like a memorial item. Try using it in Math Dungeon.<br/>I gave you the Red Wing of the Goddess too, just in case you need it."), npc.Image("g1_ch18_torque01"));
            }
            else if (npc.HasKeyword("g1_21"))
            {
                npc.Msg(L("Try using the Broken Torque in Math Dungeon."));
            }

            if (!npc.HasItem(Torque))
            {
                npc.GiveItem(Torque);
            }

            return(HookResult.Break);
        }

        return(HookResult.Continue);
    }
예제 #3
0
    public async Task <HookResult> StewartBeforeKeywords(NpcScript npc, params object[] args)
    {
        var keyword = args[0] as string;

        if (keyword == null || keyword != "g1_tarlach2")
        {
            return(HookResult.Continue);
        }

        if (npc.HasKeyword("g1_02"))
        {
            npc.RemoveKeyword("g1_02");
            npc.GiveKeyword("g1_03");

            npc.GiveItem(TarlachsLocket);
            npc.GiveWarpScroll(63009, "Alby_Dungeon");

            npc.Msg(L("The three missing Warriors? The ones who are said to have gone to Tir Na Nog?"));
            npc.Msg(L("I see...<br/>There was a time when scholars debated back and forth regarding the validity of that legend."));
            npc.Msg(L("From what I remember, there were stories of Tir Na Nog circulating via word of mouth<br/>but there weren't any written records of it.<br/>In the end, it was concluded that it was only a rumor."));
            npc.Msg(L("So it's just a legend..."));
            npc.Msg(L("...What do I think...?<br/>I believe in the legend of three missing Warriors. Haha...<br/>I'm no fool though..."));
            npc.Msg(L("I'm not sure if what I just gave you will be of any help.<br/>It's a locket. You know, an accessory that you put pictures in."), npc.Image("G1_Ch04_locket01"));
            npc.Msg(L("...Don't be surprised...<br/>This is actually a memento that belonged to<br/>Tarlach, the mighty Wizard, one of the<br/>three missing Warriors."), npc.Image("G1_Ch04_locket02"));
            npc.Msg(L("Yes, the picture of the boy in the locket is Tarlach.<br/>This was probably from when he was young.<br/>Judging from how old she is, the pretty girl next to him is probably his sister."), npc.Image("G1_Ch04_locket02"));
            npc.Msg(L("That's not all, though...<br/>This locket...it's a type of a Memorial item that allows you<br/>to experience the life of the person who used to own it."));
            npc.Msg(L("Tarlach spent his entire life trying to rescue the goddess<br/>who holds the secrets of Tir Na Nog.<br/>His desires and memories remain in this locket."));
            npc.Msg(L("Try placing this on the altar to the goddess inside Alby Dungeon."));
            npc.Msg(L("Drop the locket on the Alby Dungeon altar.<br/>And get two more friends to go with you."));

            return(HookResult.Break);
        }
        else if (npc.HasKeyword("g1_03"))
        {
            // Give locket again if lost
            if (!npc.HasItem(TarlachsLocket))
            {
                npc.GiveItem(TarlachsLocket);
            }

            npc.Msg(L("Drop the locket on the Alby Dungeon altar.<br/>And get two more friends to go with you."));

            return(HookResult.Break);
        }
        else
        {
            return(HookResult.Continue);
        }
    }
	public async Task<HookResult> StewartBeforeKeywords(NpcScript npc, params object[] args)
	{
		var keyword = args[0] as string;
		if (keyword == null || keyword != "g1_tarlach2")
			return HookResult.Continue;

		if (npc.HasKeyword("g1_02"))
		{
			npc.RemoveKeyword("g1_02");
			npc.GiveKeyword("g1_03");

			npc.GiveItem(TarlachsLocket);
			npc.GiveWarpScroll(63009, "Alby_Dungeon");

			npc.Msg(L("The three missing Warriors? The ones who are said to have gone to Tir Na Nog?"));
			npc.Msg(L("I see...<br/>There was a time when scholars debated back and forth regarding the validity of that legend."));
			npc.Msg(L("From what I remember, there were stories of Tir Na Nog circulating via word of mouth<br/>but there weren't any written records of it.<br/>In the end, it was concluded that it was only a rumor."));
			npc.Msg(L("So it's just a legend..."));
			npc.Msg(L("...What do I think...?<br/>I believe in the legend of three missing Warriors. Haha...<br/>I'm no fool though..."));
			npc.Msg(L("I'm not sure if what I just gave you will be of any help.<br/>It's a locket. You know, an accessory that you put pictures in."), npc.Image("G1_Ch04_locket01"));
			npc.Msg(L("...Don't be surprised...<br/>This is actually a memento that belonged to<br/>Tarlach, the mighty Wizard, one of the<br/>three missing Warriors."), npc.Image("G1_Ch04_locket02"));
			npc.Msg(L("Yes, the picture of the boy in the locket is Tarlach.<br/>This was probably from when he was young.<br/>Judging from how old she is, the pretty girl next to him is probably his sister."), npc.Image("G1_Ch04_locket02"));
			npc.Msg(L("That's not all, though...<br/>This locket...it's a type of a Memorial item that allows you<br/>to experience the life of the person who used to own it."));
			npc.Msg(L("Tarlach spent his entire life trying to rescue the goddess<br/>who holds the secrets of Tir Na Nog.<br/>His desires and memories remain in this locket."));
			npc.Msg(L("Try placing this on the altar to the goddess inside Alby Dungeon."));
			npc.Msg(L("Drop the locket on the Alby Dungeon altar.<br/>And get two more friends to go with you."));

			return HookResult.Break;
		}
		else if (npc.HasKeyword("g1_03"))
		{
			// Give locket again if lost
			if (!npc.HasItem(TarlachsLocket))
				npc.GiveItem(TarlachsLocket);

			npc.Msg(L("Drop the locket on the Alby Dungeon altar.<br/>And get two more friends to go with you."));

			return HookResult.Break;
		}
		else
		{
			return HookResult.Continue;
		}
	}
예제 #5
0
    public async Task <HookResult> AeiraAfterIntro(NpcScript npc, params object[] args)
    {
        if (npc.QuestActive(this.Id, "talk_aeira"))
        {
            npc.CompleteQuest(this.Id);

            npc.RemoveKeyword("g1_24");
            npc.GiveKeyword("g1_25");
            npc.GiveKeyword("g1_memo_of_parcelman");

            npc.GiveWarpScroll(63009, "Ciar_Dungeon");

            npc.Msg(L("Ah! <username/>! Welcome. Do you remember the book I gave you before, 'Land of Eternity, Tir Na Nog?'<br/>The author of that book, Leslie, called.<br/>You see, Leslie is a famous historian and an avide explorer."));
            npc.Msg(L("She sent me this note.<br/>It says that she once found 'The Book of Revenge' inside Ciar dungeon, written in Fomor language.<br/>She said if you offer this note on the Altar of Ciar Dungeon, you'll be transported to where you can find the book.<br/>...Apparently this note has some kind of magic on it or something..."), npc.Image("g1_ch21_memo"));
            npc.Msg(L("And...here, this is Aeira's special gift to you, The Red Wing of the Goddess!<br/>I will give you the note and the Red Wing of the Goddess!<br/>I wish you the best of luck."));

            return(HookResult.Break);
        }

        return(HookResult.Continue);
    }
예제 #6
0
    public async Task <HookResult> TarlachBeforeKeywords(NpcScript npc, params object[] args)
    {
        var keyword = args[0] as string;

        if (keyword != "g1_paradise")
        {
            return(HookResult.Continue);
        }

        if (npc.HasKeyword("g1_09"))
        {
            npc.RemoveKeyword("g1_09");
            npc.GiveKeyword("g1_10");

            npc.GiveItem(BrownFomorPass);
            npc.GiveWarpScroll(63009, "Barri_Dungeon");

            npc.Msg(L("...Did you actually read the book?<br/>You still want to go...?<br/>Just as I'd thought...<br/>..."));
            npc.Msg(L("...Honestly, I was hoping that<br/>reading the book would be enough to satisfy your curiosity and that you would forget all about it...<br/>But, you can't help that you're an adventurer..."));
            npc.Msg(L("...<p/>...<br/>Tir Na Nog... is not paradise.<br/>What's in that book is actually a lie.<br/>...Tir Na Nog is a real place, but it's not anything like paradise."));
            npc.Msg(L("...<p/>Listen carefully... Tir Na Nog is the land of the Fomors.<br/>And... the Goddess,<br/>who seems so loving, draws zealous adventurers like yourself to manipulate and use you."));
            npc.Msg(L("...<p/>...You don't believe me, do you...? Hah...<br/>The pass I just gave you is what the Fomors use to enter dungeons...<br/>It's an item they use to avoid the barriers set up by the Goddess."), npc.Image("g1_ch09_brownpass"));
            npc.Msg(L("If you offer that to the statue of the Goddess in Barri dungeon,<br/>you will witness everything I just told you with your own eyes.<br/>Here's a Red Wing of the Goddess, so use it if you need it...<br/>You can go there alone, but taking one or two friends with you is probably a better idea."));
            npc.Msg(L("...The best thing to do would be to forget<br/>trying to go to Tir Na Nog.<p/>...Heed my warning..."));
        }
        else if (npc.HasKeyword("g1_10") || npc.HasKeyword("g1_11"))
        {
            if (!npc.HasItem(BrownFomorPass))
            {
                npc.GiveItem(BrownFomorPass);
            }

            npc.Msg(L("...The best thing to do would be to forget<br/>trying to go to Tir Na Nog.<p/>...Heed my warning..."));
        }

        return(HookResult.Break);
    }
예제 #7
0
    public async Task <HookResult> KristellBeforeKeywords(NpcScript npc, params object[] args)
    {
        var keyword = args[0] as string;

        if (keyword == "g1_dulbrau2")
        {
            if (npc.HasKeyword("g1_14"))
            {
                npc.RemoveKeyword("g1_14");
                npc.GiveKeyword("g1_15");

                npc.GiveItem(TarlachsGlassesPouch);
                npc.GiveWarpScroll(63009, "Rabbie_Dungeon");

                npc.Msg(L("...How... how did you interpret...it...<br/>It means that the Goddess is sending Fomors here?<br/>Where did you hear that...?<br/>What...? The wizard...you heard from a Druid?"));
                npc.Msg(L("...Named Tarlach...?"));
                npc.Msg(L("Ahh, I see...<br/>I understand... So Tarlach is still alive after all."));
                npc.Msg(Hide.Name, L("(Kristell closes her eyes and smiles.)"));
                npc.Msg(L("Dul Brau Dairam Shanon.<br/>Truth is, I was the<br/>one who taught Tarlach the meaning of those words."));
                npc.Msg(L("Yes...I am Bondi Gordisse.<br/>I'm what you people call Fomor. A monster..."));
                npc.Msg(L("I don't look it, eh?<br/>I have become a human with the blessings of the gods..."));
                npc.Msg(L("Ah... But I've rambled on too much...<br/>I apologize."));
                npc.Msg(L("The words on that medal...<br/>It's true that it means to seek out the power of Morrighan."));
                npc.Msg(L("But...the the goddess isn't the one sending the Fomors.<br/>I can swear on my honor as a priestess.<br/>Tarlach misunderstood that part.<br/>The Goddess has always been looking after mankind, even as a statue."));
                npc.Msg(L("That's only an amulet for Fomors<br/>There's no meaning behind those words anymore..."));
                npc.Msg(L("...<br/>Can you tell me where Tarlach is...?"));
                npc.Msg(L("...You don't seem to trust me either.<br/>Is this because I told you I was a Fomor?"));
                npc.Msg(L("I see...<br/>Well, then..."));
                npc.Msg(L("What I just gave you is the only item I've ever received from Tarlach...<br/>It's an item that holds his memory."), npc.Image("g1_ch14_glassespocket"));
                npc.Msg(L("If you go to Rabbi dungeon alone and offer this on the altar of the Goddess...<br/>You will be able to trust me.<br/>I'll give you a Red Wing of the Goddess<br/>so you can get to Rabbie Dungeon easily."), npc.Image("g1_ch14_glassespocket"));
                npc.Msg(Hide.None, L("(You receive Tarlach's Spectacle Pouch from Kristell.)"));
            }
            else if (npc.HasKeyword("g1_15"))
            {
                if (!npc.HasItem(TarlachsGlassesPouch))
                {
                    npc.GiveItem(TarlachsGlassesPouch);
                }

                npc.Msg(L("If you go to Rabbi dungeon alone and offer the pouch on the altar of the Goddess...<br/>You will be able to trust me."));
            }

            return(HookResult.Break);
        }
        else if (keyword == "g1_succubus")
        {
            npc.RemoveKeyword("g1_16");
            npc.GiveKeyword("g1_17");
            npc.RemoveKeyword("g1_succubus");
            npc.GiveKeyword("g1_message_of_kristell");

            npc.Msg(L("...<p/>Hello, I see you're back...<br/>Do you believe me now...?"));
            npc.Msg(L("I'm not trying to hurt Tarlach or anything.<br/>I only want to know how he's doing."));
            npc.Msg(L("You still seem reluctant...<br/>Well then...I have a favor to ask."));
            npc.Msg(L("Tell Tarlach how I am doing<br/>and let him know that I really want to meet him...<br/>That I have something I want to tell him...<br/>...that should be okay...right?"));
            npc.Msg(L("...If you understand how hard it is for a woman to<br/>reveal her true intentions and her past..."));
            npc.Msg(L("...Please do this favor for me..."));

            return(HookResult.Break);
        }
        else if (keyword == "g1_message_of_kristell")
        {
            npc.Msg(L("Tell Tarlach how I am doing<br/>...Please do this favor for me..."));

            return(HookResult.Break);
        }

        return(HookResult.Continue);
    }
예제 #8
0
	public async Task<HookResult> AeiraAfterIntro(NpcScript npc, params object[] args)
	{
		if (npc.QuestActive(this.Id, "talk_aeira"))
		{
			npc.CompleteQuest(this.Id);

			npc.RemoveKeyword("g1_24");
			npc.GiveKeyword("g1_25");
			npc.GiveKeyword("g1_memo_of_parcelman");

			npc.GiveWarpScroll(63009, "Ciar_Dungeon");

			npc.Msg(L("Ah! <username/>! Welcome. Do you remember the book I gave you before, 'Land of Eternity, Tir Na Nog?'<br/>The author of that book, Leslie, called.<br/>You see, Leslie is a famous historian and an avide explorer."));
			npc.Msg(L("She sent me this note.<br/>It says that she once found 'The Book of Revenge' inside Ciar dungeon, written in Fomor language.<br/>She said if you offer this note on the Altar of Ciar Dungeon, you'll be transported to where you can find the book.<br/>...Apparently this note has some kind of magic on it or something..."), npc.Image("g1_ch21_memo"));
			npc.Msg(L("And...here, this is Aeira's special gift to you, The Red Wing of the Goddess!<br/>I will give you the note and the Red Wing of the Goddess!<br/>I wish you the best of luck."));

			return HookResult.Break;
		}

		return HookResult.Continue;
	}
예제 #9
0
	public async Task<HookResult> KristellBeforeKeywords(NpcScript npc, params object[] args)
	{
		var keyword = args[0] as string;

		if (keyword == "g1_dulbrau2")
		{
			if (npc.HasKeyword("g1_14"))
			{
				npc.RemoveKeyword("g1_14");
				npc.GiveKeyword("g1_15");

				npc.GiveItem(TarlachsGlassesPouch);
				npc.GiveWarpScroll(63009, "Rabbie_Dungeon");

				npc.Msg(L("...How... how did you interpret...it...<br/>It means that the Goddess is sending Fomors here?<br/>Where did you hear that...?<br/>What...? The wizard...you heard from a Druid?"));
				npc.Msg(L("...Named Tarlach...?"));
				npc.Msg(L("Ahh, I see...<br/>I understand... So Tarlach is still alive after all."));
				npc.Msg(Hide.Name, L("(Kristell closes her eyes and smiles.)"));
				npc.Msg(L("Dul Brau Dairam Shanon.<br/>Truth is, I was the<br/>one who taught Tarlach the meaning of those words."));
				npc.Msg(L("Yes...I am Bondi Gordisse.<br/>I'm what you people call Fomor. A monster..."));
				npc.Msg(L("I don't look it, eh?<br/>I have become a human with the blessings of the gods..."));
				npc.Msg(L("Ah... But I've rambled on too much...<br/>I apologize."));
				npc.Msg(L("The words on that medal...<br/>It's true that it means to seek out the power of Morrighan."));
				npc.Msg(L("But...the the goddess isn't the one sending the Fomors.<br/>I can swear on my honor as a priestess.<br/>Tarlach misunderstood that part.<br/>The Goddess has always been looking after mankind, even as a statue."));
				npc.Msg(L("That's only an amulet for Fomors<br/>There's no meaning behind those words anymore..."));
				npc.Msg(L("...<br/>Can you tell me where Tarlach is...?"));
				npc.Msg(L("...You don't seem to trust me either.<br/>Is this because I told you I was a Fomor?"));
				npc.Msg(L("I see...<br/>Well, then..."));
				npc.Msg(L("What I just gave you is the only item I've ever received from Tarlach...<br/>It's an item that holds his memory."), npc.Image("g1_ch14_glassespocket"));
				npc.Msg(L("If you go to Rabbi dungeon alone and offer this on the altar of the Goddess...<br/>You will be able to trust me.<br/>I'll give you a Red Wing of the Goddess<br/>so you can get to Rabbie Dungeon easily."), npc.Image("g1_ch14_glassespocket"));
				npc.Msg(Hide.None, L("(You receive Tarlach's Spectacle Pouch from Kristell.)"));
			}
			else if (npc.HasKeyword("g1_15"))
			{
				if (!npc.HasItem(TarlachsGlassesPouch))
					npc.GiveItem(TarlachsGlassesPouch);

				npc.Msg(L("If you go to Rabbi dungeon alone and offer the pouch on the altar of the Goddess...<br/>You will be able to trust me."));
			}

			return HookResult.Break;
		}
		else if (keyword == "g1_succubus")
		{
			npc.RemoveKeyword("g1_16");
			npc.GiveKeyword("g1_17");
			npc.RemoveKeyword("g1_succubus");
			npc.GiveKeyword("g1_message_of_kristell");

			npc.Msg(L("...<p/>Hello, I see you're back...<br/>Do you believe me now...?"));
			npc.Msg(L("I'm not trying to hurt Tarlach or anything.<br/>I only want to know how he's doing."));
			npc.Msg(L("You still seem reluctant...<br/>Well then...I have a favor to ask."));
			npc.Msg(L("Tell Tarlach how I am doing<br/>and let him know that I really want to meet him...<br/>That I have something I want to tell him...<br/>...that should be okay...right?"));
			npc.Msg(L("...If you understand how hard it is for a woman to<br/>reveal her true intentions and her past..."));
			npc.Msg(L("...Please do this favor for me..."));

			return HookResult.Break;
		}
		else if (keyword == "g1_message_of_kristell")
		{
			npc.Msg(L("Tell Tarlach how I am doing<br/>...Please do this favor for me..."));

			return HookResult.Break;
		}

		return HookResult.Continue;
	}
예제 #10
0
	public async Task<HookResult> TarlachBeforeKeywords(NpcScript npc, params object[] args)
	{
		var keyword = args[0] as string;
		if (keyword != "g1_paradise")
			return HookResult.Continue;

		if (npc.HasKeyword("g1_09"))
		{
			npc.RemoveKeyword("g1_09");
			npc.GiveKeyword("g1_10");

			npc.GiveItem(BrownFomorPass);
			npc.GiveWarpScroll(63009, "Barri_Dungeon");

			npc.Msg(L("...Did you actually read the book?<br/>You still want to go...?<br/>Just as I'd thought...<br/>..."));
			npc.Msg(L("...Honestly, I was hoping that<br/>reading the book would be enough to satisfy your curiosity and that you would forget all about it...<br/>But, you can't help that you're an adventurer..."));
			npc.Msg(L("...<p/>...<br/>Tir Na Nog... is not paradise.<br/>What's in that book is actually a lie.<br/>...Tir Na Nog is a real place, but it's not anything like paradise."));
			npc.Msg(L("...<p/>Listen carefully... Tir Na Nog is the land of the Fomors.<br/>And... the Goddess,<br/>who seems so loving, draws zealous adventurers like yourself to manipulate and use you."));
			npc.Msg(L("...<p/>...You don't believe me, do you...? Hah...<br/>The pass I just gave you is what the Fomors use to enter dungeons...<br/>It's an item they use to avoid the barriers set up by the Goddess."), npc.Image("g1_ch09_brownpass"));
			npc.Msg(L("If you offer that to the statue of the Goddess in Barri dungeon,<br/>you will witness everything I just told you with your own eyes.<br/>Here's a Red Wing of the Goddess, so use it if you need it...<br/>You can go there alone, but taking one or two friends with you is probably a better idea."));
			npc.Msg(L("...The best thing to do would be to forget<br/>trying to go to Tir Na Nog.<p/>...Heed my warning..."));
		}
		else if (npc.HasKeyword("g1_10") || npc.HasKeyword("g1_11"))
		{
			if (!npc.HasItem(BrownFomorPass))
				npc.GiveItem(BrownFomorPass);

			npc.Msg(L("...The best thing to do would be to forget<br/>trying to go to Tir Na Nog.<p/>...Heed my warning..."));
		}

		return HookResult.Break;
	}