// 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);
.@q=getq(General_Collector);
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;
}
/*
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 "";
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")),
l("Trade stamps");
mes "";
switch (@menu+1) {
// Chestplate
case 1:
msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
next;
break;
// Headgear
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));
//msObjective(countitem(ElvishBow), "* "+getitemlink(ElvishBow));
msObjective(false, l("* More equipment coming soon..."));
next;
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)) {
setq1 General_Collector, .@q|COLLECT_FIREGUNS;
.@q=getq(General_Collector);
}
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(LegendaryWand), "* "+getitemlink(LegendaryWand));
next;
if (countitem(TrainingWand) &&
countitem(NoviceWand) &&
countitem(ReinbooWand) &&
countitem(ApprenticeWand) &&
countitem(LeaderWand) &&
countitem(LegendaryWand)) {
setq1 General_Collector, .@q|COLLECT_WANDS;
.@q=getq(General_Collector);
}
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)) {
setq1 General_Collector, .@q|COLLECT_QUIVERS;
.@q=getq(General_Collector);
}
next;
break;
// Mounts
case 17:
msObjective(countitem(LegendaryTortuga), "* "+getitemlink(LegendaryTortuga));
next;
break;
// Pets
case 18:
msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
next;
break;
case 19:
mesn;
mesq l("Sorry! Not yet implemented!");
next;
break;
}
} while (@menu != 0);
close;
}