// TMW2/LoF scripts. // Authors: // TMW-LoF Team // Jesusalva // Description: // Collect every piece of equipment ingame for no real reason // Cannot be completed yet, because not every piece of equipment is available ingame 017-1,135,106,0 script Royal Fairy NPC_FAIRY_B,{ .@n=getq(LoFQuest_Fairy); mesn; if (.@n == 0) goto L_Busy; if (.@n < 3) goto L_Incomplete; if (.@n >= 3) goto L_Main; L_Busy: mesq l("Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand."); close; L_Incomplete: mesq l("Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen."); close; L_Main: if (!(TELEPORTERS & TP_LILIT) && rand2(3) == 2) { mesn; mesq l("Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...", get_race()); next; mesc l("Do you want a tip? \"It's not suicide if you know how to swim.\""); next; } if (#COLLECTOR == (COLLECT_ALL-1)) { mesn; mesc l("OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends."), 1; next; inventoryplace NPCEyes, 5; mesn; mesc l("Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!"), 1; #COLLECTOR = #COLLECTOR | COLLECT_ALL; getitembound DEVCap, 1, 1; getitembound ContributorSweater, 1, 1; getitembound CommunityShirt, 1, 1; getitembound RiceHat, 1, 1; getitembound AlchemistArmor, 1, 1; // Should we give them a NPCEyes? Or better not (would break checks)? } /* COLLECT_CHESTPLATE: 1 COLLECT_HEADGEAR: 2 COLLECT_PANTS: 4 COLLECT_SHOES: 8 COLLECT_NECKLACES: 16 COLLECT_RINGS: 32 COLLECT_ACESSORIES: 64 COLLECT_SCARFS: 128 COLLECT_GLOVES: 256 COLLECT_SHIELDS: 512 COLLECT_1HSWORDS: 1024 COLLECT_2HSWORDS: 2048 COLLECT_BOWS: 4096 COLLECT_FIREGUNS: 8192 COLLECT_WANDS: 16384 COLLECT_QUIVERS: 32768 COLLECT_MOUNTS: 65536 COLLECT_PETS: 131072 */ do { mesn; 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 ""; select l("Good bye!"), 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(true && !(#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) { // Chestplate case 1: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Headgear (2x bells) case 2: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Pants case 3: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Shoes case 4: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Necklaces case 5: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Rings case 6: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Accessories case 7: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Scarfs case 8: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Gloves case 9: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // Shields case 10: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // 1H Swords case 11: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; // 2H Swords case 12: msObjective(countitem(Scythe), "* "+getitemlink(Scythe)); msObjective(countitem(ThunderStaff), "* "+getitemlink(ThunderStaff)); msObjective(countitem(MiereCleaver), "* "+getitemlink(MiereCleaver)); msObjective(countitem(Broadsword), "* "+getitemlink(Broadsword)); msObjective(countitem(Kanabo), "* "+getitemlink(Kanabo)); msObjective(countitem(BlacksmithAxe), "* "+getitemlink(BlacksmithAxe)); msObjective(countitem(CentaurSpear), "* "+getitemlink(CentaurSpear)); msObjective(false, l("* More equipment coming soon...")); next; break; // Bows case 13: msObjective(countitem(TrainingBow), "* "+getitemlink(TrainingBow)); msObjective(countitem(WoodenBow), "* "+getitemlink(WoodenBow)); msObjective(countitem(ShortBow), "* "+getitemlink(ShortBow)); msObjective(countitem(ForestBow), "* "+getitemlink(ForestBow)); msObjective(countitem(ElficBow), "* "+getitemlink(ElficBow)); msObjective(countitem(ChampionshipBow), "* "+getitemlink(ChampionshipBow)); msObjective(countitem(BansheeBow), "* "+getitemlink(BansheeBow)); next; if (countitem(PynRifle) && countitem(PynGatling) && countitem(PynShotgun) && countitem(PynRevolver) && countitem(Dustynator)) { #COLLECTOR = #COLLECTOR|COLLECT_BOWS; getitembound SilverBell, 1, 1; mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; } break; // Firearms case 14: msObjective(countitem(PynRifle), "* "+getitemlink(PynRifle)); msObjective(countitem(PynGatling), "* "+getitemlink(PynGatling)); msObjective(countitem(PynShotgun), "* "+getitemlink(PynShotgun)); msObjective(countitem(PynRevolver), "* "+getitemlink(PynRevolver)); msObjective(countitem(Dustynator), "* "+getitemlink(Dustynator)); next; if (countitem(PynRifle) && countitem(PynGatling) && countitem(PynShotgun) && countitem(PynRevolver) && countitem(Dustynator)) { #COLLECTOR = #COLLECTOR|COLLECT_FIREGUNS; getitembound SilverBell, 1, 1; mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; next; } break; // Wands case 15: msObjective(countitem(TrainingWand), "* "+getitemlink(TrainingWand)); msObjective(countitem(NoviceWand), "* "+getitemlink(NoviceWand)); msObjective(countitem(ReinbooWand), "* "+getitemlink(ReinbooWand)); msObjective(countitem(ApprenticeWand), "* "+getitemlink(ApprenticeWand)); msObjective(countitem(LeaderWand), "* "+getitemlink(LeaderWand)); msObjective(countitem(MysticWand), "* "+getitemlink(MysticWand)); next; if (countitem(TrainingWand) && countitem(NoviceWand) && countitem(ReinbooWand) && countitem(ApprenticeWand) && countitem(LeaderWand) && countitem(MysticWand)) { #COLLECTOR = #COLLECTOR|COLLECT_WANDS; getitembound SilverBell, 1, 1; mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; next; } break; // Quivers case 16: msObjective(countitem(LeatherQuiver), "* "+getitemlink(LeatherQuiver)); msObjective(countitem(IronQuiver), "* "+getitemlink(IronQuiver)); msObjective(countitem(BronzeQuiver), "* "+getitemlink(BronzeQuiver)); msObjective(countitem(PlatinumQuiver), "* "+getitemlink(PlatinumQuiver)); next; if (countitem(LeatherQuiver) && countitem(IronQuiver) && countitem(BronzeQuiver) && countitem(PlatinumQuiver)) { #COLLECTOR = #COLLECTOR|COLLECT_QUIVERS; getitembound SilverBell, 1, 1; mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; next; } break; // Mounts case 17: msObjective(countitem(LegendaryTortuga), "* "+getitemlink(LegendaryTortuga)); msObjective(countitem(LegendaryMouboo), "* "+getitemlink(LegendaryMouboo)); next; if (countitem(LegendaryTortuga) && countitem(LegendaryMouboo)) { #COLLECTOR = #COLLECTOR|COLLECT_MOUNTS; getitembound SilverBell, 1, 1; mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; next; } break; // Pets (2x bells) case 18: msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); next; break; case 19: 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 LegendaryMouboo, 11; sellitem LegendaryTortuga, 10; 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; }