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/018-5-2/leona.txt | |
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/018-5-2/leona.txt')
-rw-r--r-- | npc/018-5-2/leona.txt | 106 |
1 files changed, 106 insertions, 0 deletions
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; + } + +} |