diff options
Diffstat (limited to 'npc/003-5')
-rw-r--r-- | npc/003-5/jeweler.txt | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/npc/003-5/jeweler.txt b/npc/003-5/jeweler.txt index 3b362b60e..15eb9dc08 100644 --- a/npc/003-5/jeweler.txt +++ b/npc/003-5/jeweler.txt @@ -126,13 +126,17 @@ L_Clear: mesq l("Oh... Of course! I'll even do this for free!"); next; mesn l("Inya, the Jeweler"); - mesq l("But be warned, if you have multiple rings, I can pick the wrong one..."); - mesq l("...so if you have multiple rings, better put the others on the storage!"); + mesq l("Just be really, REALLY sure you want to do it. I mean, the gemstone will break."); + mesq l("It's not warranted you'll be able to get the powder back, either."); next; mes "##B" + l("Drag and drop an item from your inventory.") + "##b"; - .@item = requestitem(); + .@item_index = requestitemindex(); // Check if we received an item + getinventorylist; + .@item=@inventorylist_id[.@item_index]; + + // Is it the one we're looking for? if (.@item != GoldenRing && .@item != SilverRing) { mesn; mesq l("Well, that's not a ring."); @@ -140,13 +144,17 @@ L_Clear: goto L_Menu; } - // The easiest way to get rid is not the best one. - // failedremovecardsindex() is the right approach + // Retrieve the gemstone ID. Must be on slot 1 (aka. 0)! + .@gem=getcardbyindex .@item_index, 0; + // Skip bound rings. It would be stupid '-' if (!checkbound(.@item)) { - delitem .@item, 1; - getitem .@item, 1; + failedremovecardsindex .@item_index, 1; + // No inventoryplace check here + // DiamondPowder = 858. PolishedDiamond = 5031 + if (.@gem > 5000) + getitem .@gem-4173, 1; mesn; - mesq l("Well... Here you go! Uh... Warn me if the gem is still there %%a"); + mesq l("Well... Here you go!"); next; } else { mesn; |