diff options
-rw-r--r-- | db/constants.conf | 21 | ||||
-rw-r--r-- | db/quest_db.conf | 4 | ||||
-rw-r--r-- | npc/017-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/017-1/fairy_collector.txt | 169 |
4 files changed, 195 insertions, 0 deletions
diff --git a/db/constants.conf b/db/constants.conf index c0703dfee..7455a42f2 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4190,6 +4190,27 @@ constants_db: { TP_ESPER: 64 TP_BOSSR: 128 + comment__: "Grand Collector Quest enum" + 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 + // Maximum 32 collectibles, currently used: 19 + comment__: "Being actions" ACTION_STAND: 0 ACTION_MOVE: 1 diff --git a/db/quest_db.conf b/db/quest_db.conf index 47c3fab7a..cb2055088 100644 --- a/db/quest_db.conf +++ b/db/quest_db.conf @@ -89,6 +89,10 @@ quest_db: ( Id: 16 Name: "General_Auldsbel" }, +{ + Id: 17 + Name: "General_Collector" +}, // ID 31 to 50: Candor Quests { diff --git a/npc/017-1/_import.txt b/npc/017-1/_import.txt index b257632a4..04083c2fc 100644 --- a/npc/017-1/_import.txt +++ b/npc/017-1/_import.txt @@ -3,6 +3,7 @@ "npc/017-1/017-1_stranger_blackbox.txt", "npc/017-1/_mobs.txt", "npc/017-1/_warps.txt", +"npc/017-1/fairy_collector.txt", "npc/017-1/guards.txt", "npc/017-1/mapflags.txt", "npc/017-1/misc.txt", diff --git a/npc/017-1/fairy_collector.txt b/npc/017-1/fairy_collector.txt new file mode 100644 index 000000000..e89ff817a --- /dev/null +++ b/npc/017-1/fairy_collector.txt @@ -0,0 +1,169 @@ +// TMW-2 Script +// Author: +// 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: + /* + 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(!(.@q & COLLECT_CHESTPLATE), l("Chestplates")), + rif(!(.@q & COLLECT_HEADGEAR), l("Headgear")), + rif(!(.@q & COLLECT_PANTS), l("Pants")), + rif(!(.@q & COLLECT_SHOES), l("Shoes")), + rif(!(.@q & COLLECT_NECKLACES), l("Necklaces")), + rif(!(.@q & COLLECT_RINGS), l("Rings")), + rif(!(.@q & COLLECT_ACESSORIES), l("Accessories")), + rif(!(.@q & COLLECT_SCARFS), l("Scarfs")), + rif(!(.@q & COLLECT_GLOVES), l("Gloves")), + rif(!(.@q & COLLECT_SHIELDS), l("Shields")), + rif(!(.@q & COLLECT_1HSWORDS), l("1 Hand Swords")), + rif(!(.@q & COLLECT_2HSWORDS), l("2 Hand Swords")), + rif(!(.@q & COLLECT_BOWS), l("Bows")), + rif(!(.@q & COLLECT_FIREGUNS), l("Fire Staves")), + rif(!(.@q & COLLECT_WANDS), l("Wands")), + rif(!(.@q & COLLECT_QUIVERS), l("Quivers")), + rif(!(.@q & COLLECT_MOUNTS), l("Mounts")), + rif(!(.@q & COLLECT_PETS), l("Pets")), + 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(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Bows + case 13: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Firearms + case 14: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Wands + case 15: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Quivers + case 16: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Mounts + case 17: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + // Pets + case 18: + msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt)); + next; + break; + + } + + } while (@menu != 0); + close; +} |