diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-03-19 11:16:02 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-03-19 11:16:02 -0300 |
commit | 4886a23a484b9d3e1bf7deb783eb05c79474c1c1 (patch) | |
tree | 6f78cbb9994409ca78d9bc87f87df8f6954112ad /npc | |
parent | 4781bead3cc775414f20e90baabefad6bb2ef0aa (diff) | |
download | serverdata-4886a23a484b9d3e1bf7deb783eb05c79474c1c1.tar.gz serverdata-4886a23a484b9d3e1bf7deb783eb05c79474c1c1.tar.bz2 serverdata-4886a23a484b9d3e1bf7deb783eb05c79474c1c1.tar.xz serverdata-4886a23a484b9d3e1bf7deb783eb05c79474c1c1.zip |
Leona, the only Fairy at Lilit currently.
Part of a TBD quest. She lets you sell snake's skin based items for 20% more.
Diffstat (limited to 'npc')
-rw-r--r-- | npc/018-5-2/_import.txt | 1 | ||||
-rw-r--r-- | npc/018-5-2/leona.txt | 106 | ||||
-rw-r--r-- | npc/functions/mobhunter.txt | 6 |
3 files changed, 113 insertions, 0 deletions
diff --git a/npc/018-5-2/_import.txt b/npc/018-5-2/_import.txt index 9835e17fe..ef18d80a9 100644 --- a/npc/018-5-2/_import.txt +++ b/npc/018-5-2/_import.txt @@ -1,3 +1,4 @@ // Map 018-5-2: Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/018-5-2/_warps.txt", +"npc/018-5-2/leona.txt", diff --git a/npc/018-5-2/leona.txt b/npc/018-5-2/leona.txt new file mode 100644 index 000000000..ffb866ae1 --- /dev/null +++ b/npc/018-5-2/leona.txt @@ -0,0 +1,106 @@ +// TMW2/LoF scripts. +// Authors: +// TMW BR Team +// Jesusalva +// Description: +// Exchanges Mountain Snake Plate (TBD) for a Nymph Necklace (TBD) +// Grand Hunter Quest + +018-5-2,33,36,0 script Leona NPC_FAIRY_B,{ + function leona_exchange; + mesn; + mesq l("Hello, @@!", get_race()); + next; + mesn; + mesq l("Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?"); + next; + select + l("I've brought something to exchange."), + l("I'm interested in Grand Hunter Quest."), + l("Ops, sorry. I was going to the Soul Menhir and entered your house by accident."); + mes ""; + switch (@menu) { + case 3: + mesn; + mesq l("It happens."); + close; + case 2: + GHQ_Assign(MountainSnake, "Lilit"); + close; + case 1: + mesn; + mesq l("The most famous nymphs, are those who wear stuff made of Snake Skin."); + next; + mesn; + mesq l("Perhaps you have something like that?"); + next; + do + { + mesc l("What to exchange with Leona?"); + mes "##B" + l("Drag and drop an item from your inventory.") + "##b"; + + .@id = requestitem(); + + // If ID is invalid, there's not enough items or if it is bound + if (.@id < 1) close; + if (countitem(.@id) < 1) close; + if (checkbound(.@id)) + { + mesc l("You cannot part with this item!"); + continue; + } + + // TODO: Check if item is OK + switch (.@id) { + + // Generic Exchange + case LeatherShirt: + case LeatherBoots: + case LeatherGloves: + case JeansChaps: + case LeatherTrousers: + case SnakeSkin: + case MountainSnakeSkin: + case CaveSnakeSkin: + case BlackMambaSkin: + leona_exchange(.@id, 0); + default: + mesn; + mesq l("I have no interest on this item."); + next; + break; + } + + } while (true); + } + close; + + // leona_exchange ( give, receive ) + // Receive should be item ID. If it is 0, you will get 1.2× the sell price + function leona_exchange { + .@what=getarg(0); + .@reward=getarg(1); + if (!.@reward) + .@gp=getiteminfo(.@what, ITEMINFO_SELLPRICE)*12/10; + mesn; + if (.@reward) + mesq l("For this @@, I offer you a(n) @@.", getitemlink(.@what), getitemlink(.@reward)); + else + mesq l("For this @@, I offer you @@ GP.", getitemlink(.@what), format_number(.@gp)); + next; + mesc l("Exchange the item with Leona?"); + if (askyesno() == ASK_YES) + { + delitem .@what, 1; + if (.@reward) + getitem .@reward, 1; + else + Zeny+=.@gp; + mesn; + mesq l("Many thanks! I'll be sooooo fashionable now!"); + next; + } + return; + } + +} diff --git a/npc/functions/mobhunter.txt b/npc/functions/mobhunter.txt index 21bb55516..e08ac4429 100644 --- a/npc/functions/mobhunter.txt +++ b/npc/functions/mobhunter.txt @@ -26,6 +26,9 @@ function script GHQ_GetQuestIDByMonsterID { case Fluffy: return 7; break; + case MountainSnake: + return 8; + break; default: debugmes "Invalid mob ID: " + getarg(0); dispbottom l("ERROR, Please report: GHQ GQID: Invalid ID: @@", getarg(0)); @@ -59,6 +62,9 @@ function script GHQ_GetMonsterIDByQuestID { case 7: return Fluffy; break; + case 8: + return MountainSnake; + break; default: debugmes "Invalid quest ID: " + getarg(0); dispbottom l("ERROR, Please report: GHQ GMID: Invalid ID: @@", getarg(0)); |