From 0be2180294b8a8962585fb48fcd40f7ac62620d9 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Thu, 2 Jun 2022 09:04:26 -0300 Subject: Put Royal Fairy to work and stock her with pure awesomeness. ...Not really. --- db/re/item_db.conf | 10 ++-- npc/017-1/fairy_collector.txt | 113 ++++++++++++++++++++++++++++++------------ 2 files changed, 85 insertions(+), 38 deletions(-) diff --git a/db/re/item_db.conf b/db/re/item_db.conf index 39ff1c95a..9fa46ff5d 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -1583,7 +1583,7 @@ item_db: ( noauction: true } Script: <" - setarray .@r, StrangeCoin, StrangeCoin, CasinoCoins, IronIngot, SaxsoKey, GoldenApple, GoldenRing, GoldOre, PoisonAmmoBox, CursedAmmoBox, MercBoxA, AncientBlueprint, SilverGift; + setarray .@r, StrangeCoin, StrangeCoin, CasinoCoins, IronIngot, SaxsoKey, GoldenApple, GoldenRing, GoldOre, Graphene, PoisonAmmoBox, CursedAmmoBox, MercBoxA, AncientBlueprint, HeadHood, SilverGift; .@n=rand(getarraysize(.@r)); if (.@n > 2) @@ -1637,13 +1637,13 @@ item_db: ( noauction: true } Script: <" - setarray .@r, StrangeCoin, StrangeCoin, Googles, BlueManaPearl, Bloodstone, LavaManaPearl, DivineApple, BowlerHat, Butterfly, BoneAmmoBox, CrystallizedMaggot, MercBoxDD, MercBoxE, MysteriousFruit, PrismGift; + setarray .@r, StrangeCoin, StrangeCoin, StrangeCoin, Googles, BlueManaPearl, BlackPearl, Bloodstone, LavaManaPearl, SaviorBlueprint, DivineApple, BowlerHat, Butterfly, BoneAmmoBox, CrystallizedMaggot, MylarinDust, MercBoxDD, MercBoxE, MysteriousFruit, PrismGift; .@n=rand(getarraysize(.@r)); - if (.@n > 1) + if (.@n > 2) getitem .@r[.@n], 1; else - getitem .@r[.@n], rand(60,80); + getitem .@r[.@n], rand(67,88); "> }, { @@ -17772,7 +17772,7 @@ item_db: ( { Id: 7467 AegisName: "SaviorBlueprint" - Name: "Ssavior Blueprint" + Name: "Savior Blueprint" Type: "IT_USABLE" Buy: 10000 Sell: 3000 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; + } -- cgit v1.2.3-70-g09d2