diff options
Diffstat (limited to 'npc/017-1/fairy_collector.txt')
-rw-r--r-- | npc/017-1/fairy_collector.txt | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/npc/017-1/fairy_collector.txt b/npc/017-1/fairy_collector.txt index fd6afe6d4..90fb2c19f 100644 --- a/npc/017-1/fairy_collector.txt +++ b/npc/017-1/fairy_collector.txt @@ -67,6 +67,7 @@ L_Main: */ do { + deletearray .@items; 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."); @@ -82,7 +83,7 @@ L_Main: 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(true && !(#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")), @@ -94,9 +95,26 @@ L_Main: l("Trade stamps"); mes ""; switch (@menu+1) { - // Chestplate + // Chestplate (2x bells) case 1: - msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + // FIXME: several unreleased + setarray .@items, CreasedShirt, YetiTankTop, MoonshroomRobe, GoldenChainmail, LazuriteRobe, CandorShirt, ArtisTankTop, ShortTankTop, TneckSweater, ValentineDress, CottonShirt, SilkRobe, LeatherShirt, SailorShirt, MinerTankTop, LieutenantArmor, CrusadeArmor, VneckSweater, DesertShirt, UglyChristmasSweater, Chainmail, VneckJumper, ForestArmor, Bathrobe, CopperArmor, SorcererRobe, LightPlatemail, GoldenLightPlatemail, WarlordPlate, BromenalChest, GoldenWarlordPlate, GraduationRobe, TerraniteArmor, RedknightArmor, AssassinChest, SaviorArmor; + .@power = 0; + .@total = getarraysize(.@items); + freeloop(true); + for (.@i=0; .@i < .@total; .@i++) { + msObjective(countitem(.@items[.@i]), "* "+getitemlink(.@items[.@i])); + if (countitem(.@items[.@i])) + .@power += 1; + } + freeloop(false); + next; + if (.@power == .@total) { + //#COLLECTOR = #COLLECTOR|COLLECT_CHESTPLATE; + //getitembound SilverBell, 1, 1; + mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; + } + break; next; break; // Headgear (2x bells) @@ -141,7 +159,34 @@ L_Main: break; // Shields case 10: - msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + setarray .@items, EnchantedHerbBag, Barrel, RoundLeatherShirt, LeatherShield, WoodenShield, BladeShield, BraknarShield, BritShield, BromenalShield, AncientShield, BlueKnightShield, SteelShield, DragonShield, SaviorShield; + .@power = 0; + .@total = getarraysize(.@items); + freeloop(true); + for (.@i=0; .@i < .@total; .@i++) { + msObjective(countitem(.@items[.@i]), "* "+getitemlink(.@items[.@i])); + if (countitem(.@items[.@i])) + .@power += 1; + } + freeloop(false); + // Shield only: Intervene a Boia + .@total += 1; + .@shield = min(1, (countitem(KidBola)+ + countitem(CandorBola)+ + countitem(PurpleBola)+ + countitem(TulimsharBola)+ + countitem(SnakeBola)+ + countitem(PiouBola)+ + countitem(MasterBola))); + .@power += .@shield; + msObjective(.@shield, "* "+l("A [@@2717|Buoy@@] of any type")); + // End Shield only code + next; + if (.@power == .@total) { + #COLLECTOR = #COLLECTOR|COLLECT_SHIELDS; + getitembound SilverBell, 1, 1; + mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3; + } next; break; // 1H Swords |