diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/017-1/fairy_collector.txt | 113 |
1 files changed, 80 insertions, 33 deletions
diff --git a/npc/017-1/fairy_collector.txt b/npc/017-1/fairy_collector.txt index 1d1c0d553..aa90e1e85 100644 --- a/npc/017-1/fairy_collector.txt +++ b/npc/017-1/fairy_collector.txt @@ -8,7 +8,6 @@ 017-1,135,106,0 script Royal Fairy NPC_FAIRY_B,{ .@n=getq(LoFQuest_Fairy); - .@q=getq(General_Collector); mesn; if (.@n == 0) goto L_Busy; @@ -57,28 +56,26 @@ L_Main: mesq l("Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!"); mesc l("Not every piece of equipment is ingame yet."); mes ""; - if (!is_staff() && !debug && !$@GM_OVERRIDE) - close; select l("Good bye!"), - rif(false && !(.@q & COLLECT_CHESTPLATE), l("Chestplates")), - rif(false && !(.@q & COLLECT_HEADGEAR), l("Headgear")), - rif(false && !(.@q & COLLECT_PANTS), l("Pants")), - rif(false && !(.@q & COLLECT_SHOES), l("Shoes")), - rif(false && !(.@q & COLLECT_NECKLACES), l("Necklaces")), - rif(false && !(.@q & COLLECT_RINGS), l("Rings")), - rif(false && !(.@q & COLLECT_ACESSORIES), l("Accessories")), - rif(false && !(.@q & COLLECT_SCARFS), l("Scarfs")), - rif(false && !(.@q & COLLECT_GLOVES), l("Gloves")), - rif(false && !(.@q & COLLECT_SHIELDS), l("Shields")), - rif(false && !(.@q & COLLECT_1HSWORDS), l("1 Hand Swords")), - rif(false && !(.@q & COLLECT_2HSWORDS), l("2 Hand Swords")), - rif(true && !(.@q & COLLECT_BOWS), l("Bows")), - rif(true && !(.@q & COLLECT_FIREGUNS), l("Fire Staves")), - rif(true && !(.@q & COLLECT_WANDS), l("Wands")), - rif(true && !(.@q & COLLECT_QUIVERS), l("Quivers")), - rif(false && !(.@q & COLLECT_MOUNTS), l("Mounts")), - rif(false && !(.@q & COLLECT_PETS), l("Pets")), + rif(false && !(#COLLECTOR & COLLECT_CHESTPLATE), l("Chestplates")), + rif(false && !(#COLLECTOR & COLLECT_HEADGEAR), l("Headgear")), + rif(false && !(#COLLECTOR & COLLECT_PANTS), l("Pants")), + rif(false && !(#COLLECTOR & COLLECT_SHOES), l("Shoes")), + rif(false && !(#COLLECTOR & COLLECT_NECKLACES), l("Necklaces")), + rif(false && !(#COLLECTOR & COLLECT_RINGS), l("Rings")), + rif(false && !(#COLLECTOR & COLLECT_ACESSORIES), l("Accessories")), + rif(false && !(#COLLECTOR & COLLECT_SCARFS), l("Scarfs")), + rif(false && !(#COLLECTOR & COLLECT_GLOVES), l("Gloves")), + rif(false && !(#COLLECTOR & COLLECT_SHIELDS), l("Shields")), + rif(false && !(#COLLECTOR & COLLECT_1HSWORDS), l("1 Hand Swords")), + rif(false && !(#COLLECTOR & COLLECT_2HSWORDS), l("2 Hand Swords")), + rif(false && !(#COLLECTOR & COLLECT_BOWS), l("Bows")), + rif(true && !(#COLLECTOR & COLLECT_FIREGUNS), l("Fire Staves")), + rif(true && !(#COLLECTOR & COLLECT_WANDS), l("Wands")), + rif(true && !(#COLLECTOR & COLLECT_QUIVERS), l("Quivers")), + rif(false && !(#COLLECTOR & COLLECT_MOUNTS), l("Mounts")), + rif(false && !(#COLLECTOR & COLLECT_PETS), l("Pets")), l("Trade stamps"); mes ""; switch (@menu+1) { @@ -87,7 +84,7 @@ L_Main: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; - // Headgear + // Headgear (2x bells) case 2: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; @@ -175,8 +172,9 @@ L_Main: countitem(PynShotgun) && countitem(PynRevolver) && countitem(Dustynator)) { - setq1 General_Collector, .@q|COLLECT_FIREGUNS; - .@q=getq(General_Collector); + #COLLECTOR = #COLLECTOR|COLLECT_FIREGUNS; + getitembound SilverBell, 1, 1; + mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; } next; break; @@ -195,8 +193,9 @@ L_Main: countitem(ApprenticeWand) && countitem(LeaderWand) && countitem(MysticWand)) { - setq1 General_Collector, .@q|COLLECT_WANDS; - .@q=getq(General_Collector); + #COLLECTOR = #COLLECTOR|COLLECT_WANDS; + getitembound SilverBell, 1, 1; + mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; } next; break; @@ -211,8 +210,9 @@ L_Main: countitem(IronQuiver) && countitem(BronzeQuiver) && countitem(PlatinumQuiver)) { - setq1 General_Collector, .@q|COLLECT_QUIVERS; - .@q=getq(General_Collector); + #COLLECTOR = #COLLECTOR|COLLECT_QUIVERS; + getitembound SilverBell, 1, 1; + mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; } next; break; @@ -221,19 +221,66 @@ L_Main: msObjective(countitem(LegendaryTortuga), "* "+getitemlink(LegendaryTortuga)); next; break; - // Pets + // Pets (2x bells) case 18: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; case 19: - mesn; - mesq l("Sorry! Not yet implemented!"); - next; + openshop; + closeclientdialog; + close; break; - } } while (@menu != 0); close; + +OnInit: + .distance=5; + tradertype(NST_CUSTOM); + + // Sell: Aethyr Points, Strange Coins, Manapple, Supreme Gift, Housing Letter 3, Blueprints E, SaviorBlueprint, BoxsetEE, Tux/Linarian Soul, SunnyCrystal?, X Cards, + // Pets → Strange Coin + // You can get up to 18 stamps, but pets and hats give 2x + // Plan wisely and accordingly + sellitem SunnyCrystal, 12; + sellitem SupremeGift, 9; + sellitem PrismGift, 8; + sellitem MysteriousFruit, 7; + sellitem LinarianSoul, 6; + sellitem SaviorBlueprint, 5; + sellitem TuxSoul, 4; + sellitem GoldenGift, 3; + sellitem MercBoxEE, 2; + sellitem HousingLetterIII, 2; + sellitem ReflectCardX, 2; + sellitem SpeedCardX, 2; + sellitem PowerCardX, 2; + sellitem WallCardX, 2; + sellitem NecromancerCardX, 1; + sellitem HeroCardX, 1; + sellitem KnightCardX, 1; + sellitem ClericCardX, 1; + sellitem DruidCardX, 1; + sellitem MageCardX, 1; + sellitem NinjaCardX, 1; + sellitem NatureCardX, 1; + sellitem LightGreenDiamond, 1; + end; + +/* set currency to be item 828 */ +OnCountFunds: + setcurrency(countitem(SilverBell)); + end; + +/* @price is total cost. @points is if we accept two items as currency. */ +OnPayFunds: + //dispbottom "Hi: price="+@price+" and points="+@points; + if( countitem(SilverBell) < @price ) + end; + delitem SilverBell, @price; + purchaseok(); + end; + } |