summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/017-1/fairy_collector.txt113
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;
+
}