summaryrefslogblamecommitdiff
path: root/npc/017-1/fairy_collector.txt
blob: c85fa4011c59b32eb6da49a6fcf5e07ba43bf502 (plain) (tree)
1
2
3


                    






















                                                                                                                                                                






                                                                                                               



























                                                                                                                                      

















                                                                    
                          


























































                                                                             






                                                                               
                                                                 



                



                                                                           
                                                                     


                                                                                   
                                                                 



                   













                                                                           



                















                                                                                 



                  











                                                                                 



                 
                                                                                     






                                                                             




                                              





                         
// 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 (.@q == 0) goto L_Busy;
    if (.@q < 3) goto L_Incomplete;
    if (.@q >= 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 "";
    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(true  && !(.@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) {
        // 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;
}