diff options
author | Jesusaves <cpntb1@ymail.com> | 2021-04-09 11:00:49 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2021-04-09 11:00:49 -0300 |
commit | 8a4bf716002a017de77fe7df301ef8e4aaf00a2e (patch) | |
tree | 4947d0b015baad639fa07133369e9a09c8a468bc /npc/functions/quest-debug | |
download | serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.gz serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.bz2 serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.tar.xz serverdata-8a4bf716002a017de77fe7df301ef8e4aaf00a2e.zip |
Initial commit
Diffstat (limited to 'npc/functions/quest-debug')
46 files changed, 1536 insertions, 0 deletions
diff --git a/npc/functions/quest-debug/000-ShipQuests_Julia.txt b/npc/functions/quest-debug/000-ShipQuests_Julia.txt new file mode 100644 index 00000000..e4e0ec2c --- /dev/null +++ b/npc/functions/quest-debug/000-ShipQuests_Julia.txt @@ -0,0 +1,37 @@ +// Julia quest debug +// Author: +// gumi + +function script QuestDebug0 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Julia"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Julia)); + mes "---"; + mes l("Related quests:"); + mes "ShipQuests_Nard: " + getq(ShipQuests_Nard); + mes "ShipQuests_ChefGado: " + getq(ShipQuests_ChefGado); + mes "General_Narrator: " + getq(General_Narrator); + next; + + GenericQuestDebug ShipQuests_Julia, + menuimage("actions/manage", l("Debug Nard quest")), -1, + menuimage("actions/manage", l("Debug Gado quest")), -2, + menuimage("actions/manage", l("Debug Narrator")), -3, + l("Does not have the quest"), 0, + l("Got the quest"), 1, + l("Completed"), 2; + + switch (@menuret) + { + case -1: callfunc "QuestDebug4"; break; + case -2: callfunc "QuestDebug17"; break; + case -3: callfunc "QuestDebug28"; break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/001-ShipQuests_Arpan.txt b/npc/functions/quest-debug/001-ShipQuests_Arpan.txt new file mode 100644 index 00000000..26c49646 --- /dev/null +++ b/npc/functions/quest-debug/001-ShipQuests_Arpan.txt @@ -0,0 +1,27 @@ +// Arpan quest debug +// Author: +// gumi + +function script QuestDebug1 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Arpan"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Arpan)); + next; + + GenericQuestDebug ShipQuests_Arpan, + l("Arpan is waiting for you"), 0, + l("Arpan told you to open the chest"), 1, + l("You opened the chest"), 2, + l("Completed"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/002-ShipQuests_Alige.txt b/npc/functions/quest-debug/002-ShipQuests_Alige.txt new file mode 100644 index 00000000..36d0ce23 --- /dev/null +++ b/npc/functions/quest-debug/002-ShipQuests_Alige.txt @@ -0,0 +1,27 @@ +// Alige quest debug +// Author: +// gumi + +function script QuestDebug2 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Alige"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Alige)); + next; + + GenericQuestDebug ShipQuests_Alige, + l("Does not have the quest"), 0, + l("First encounter"), 1, + l("Alige asks for food"), 2, + l("Completed"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/003-ShipQuests_Peter.txt b/npc/functions/quest-debug/003-ShipQuests_Peter.txt new file mode 100644 index 00000000..4732d238 --- /dev/null +++ b/npc/functions/quest-debug/003-ShipQuests_Peter.txt @@ -0,0 +1,36 @@ +// Peter quest debug +// Author: +// gumi +// jesusalva +// Notes: +// Using l() usually is not a good idea (translating debug text? What?) + +function script QuestDebug3 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Peter"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Peter)); + mes l("Killed mob bitmask: @@", getq2(ShipQuests_Peter)); + mes l("Instance ID: @@", getq3(ShipQuests_Peter)); + next; + + .@q=getq(ShipQuests_Peter); + + GenericQuestDebug ShipQuests_Peter, + l("Does not have the quest"), 0, + l("Peter needs help"), 1, + l("Toggle Tortuga Bounty"), .@q^2, + l("Toggle Ratto Bounty"), .@q^4, + l("Toggle Croc Bounty"), .@q^8, + l("Quest complete"), 15; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/004-ShipQuests_Nard.txt b/npc/functions/quest-debug/004-ShipQuests_Nard.txt new file mode 100644 index 00000000..9ec51cd8 --- /dev/null +++ b/npc/functions/quest-debug/004-ShipQuests_Nard.txt @@ -0,0 +1,38 @@ +// Nard quest debug +// Author: +// gumi + +function script QuestDebug4 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Nard"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Nard)); + mes "---"; + mes l("Subquests:"); + mes "ShipQuests_Gugli: " + getq(ShipQuests_Gugli); + mes "ShipQuests_ChefGado: " + getq(ShipQuests_ChefGado); + next; + + GenericQuestDebug ShipQuests_Nard, + l("Does not have the quest"), 0, + l("Nard asks to help crew"), 1, + menuimage("actions/manage", l("Debug Gugli quest")), -1, + l("Completed Gugli's task"), 2, + l("Nard asks to solve conflict"), 3, + menuimage("actions/manage", l("Debug Gado quest")), -2, + l("Solved conflict"), 4, + l("Official crew member"), 5, + l("Talked to narrator"), 6; + + switch (@menuret) + { + case -1: callfunc "QuestDebug16"; break; + case -2: callfunc "QuestDebug17"; break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/005-ShipQuests_Knife.txt b/npc/functions/quest-debug/005-ShipQuests_Knife.txt new file mode 100644 index 00000000..a5ec1ae8 --- /dev/null +++ b/npc/functions/quest-debug/005-ShipQuests_Knife.txt @@ -0,0 +1,25 @@ +// Knife quest debug +// Author: +// gumi + +function script QuestDebug5 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Knife"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Knife)); + next; + + GenericQuestDebug ShipQuests_Knife, + l("Does not have the quest"), 0, + l("Got the knife"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/006-ShipQuests_ArpanMoney.txt b/npc/functions/quest-debug/006-ShipQuests_ArpanMoney.txt new file mode 100644 index 00000000..0f77c1b9 --- /dev/null +++ b/npc/functions/quest-debug/006-ShipQuests_ArpanMoney.txt @@ -0,0 +1,27 @@ +// Money quest debug +// Author: +// gumi + +function script QuestDebug6 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_ArpanMoney"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_ArpanMoney)); + next; + + GenericQuestDebug ShipQuests_ArpanMoney, + l("Does not have the quest"), 0, + l("Elmo told about money"), 1, + l("Arpan gave money"), 2, + l("Arpan gave clothes"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/007-ShipQuests_Door.txt b/npc/functions/quest-debug/007-ShipQuests_Door.txt new file mode 100644 index 00000000..88aa00ab --- /dev/null +++ b/npc/functions/quest-debug/007-ShipQuests_Door.txt @@ -0,0 +1,25 @@ +// Door quest debug +// Author: +// gumi + +function script QuestDebug7 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Door"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Door)); + next; + + GenericQuestDebug ShipQuests_Door, + l("Does not have the quest"), 0, + l("Heard conversation"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/008-ShipQuests_Couwan.txt b/npc/functions/quest-debug/008-ShipQuests_Couwan.txt new file mode 100644 index 00000000..3df0cdbf --- /dev/null +++ b/npc/functions/quest-debug/008-ShipQuests_Couwan.txt @@ -0,0 +1,26 @@ +// Couwan quest debug +// Author: +// gumi + +function script QuestDebug8 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Couwan"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Couwan)); + next; + + GenericQuestDebug ShipQuests_Couwan, + l("Does not have the quest"), 0, + l("Couwan asks to deliver box"), 1, + l("Delivered box, got reward"), 2; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/009-ShipQuests_TreasureChest.txt b/npc/functions/quest-debug/009-ShipQuests_TreasureChest.txt new file mode 100644 index 00000000..97adef46 --- /dev/null +++ b/npc/functions/quest-debug/009-ShipQuests_TreasureChest.txt @@ -0,0 +1,25 @@ +// Treasure chest quest debug +// Author: +// gumi + +function script QuestDebug9 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_TreasureChest"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_TreasureChest)); + next; + + GenericQuestDebug ShipQuests_TreasureChest, + l("Does not have the quest"), 0, + l("Opened treasure chest"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/010-ShipQuests_Ale.txt b/npc/functions/quest-debug/010-ShipQuests_Ale.txt new file mode 100644 index 00000000..e5422122 --- /dev/null +++ b/npc/functions/quest-debug/010-ShipQuests_Ale.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug10 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Ale"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Ale)); + next; + + GenericQuestDebug ShipQuests_Ale, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/011-ShipQuests_Astapolos.txt b/npc/functions/quest-debug/011-ShipQuests_Astapolos.txt new file mode 100644 index 00000000..aca065ed --- /dev/null +++ b/npc/functions/quest-debug/011-ShipQuests_Astapolos.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug11 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Astapolos"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Astapolos)); + next; + + GenericQuestDebug ShipQuests_Astapolos, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/012-ShipQuests_Gulukan.txt b/npc/functions/quest-debug/012-ShipQuests_Gulukan.txt new file mode 100644 index 00000000..fac7ccde --- /dev/null +++ b/npc/functions/quest-debug/012-ShipQuests_Gulukan.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug12 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Gulukan"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Gulukan)); + next; + + GenericQuestDebug ShipQuests_Gulukan, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/013-ShipQuests_Jalad.txt b/npc/functions/quest-debug/013-ShipQuests_Jalad.txt new file mode 100644 index 00000000..9ae6ed2a --- /dev/null +++ b/npc/functions/quest-debug/013-ShipQuests_Jalad.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug13 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Jalad"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Jalad)); + next; + + GenericQuestDebug ShipQuests_Jalad, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/014-ShipQuests_QMuller.txt b/npc/functions/quest-debug/014-ShipQuests_QMuller.txt new file mode 100644 index 00000000..8a25ee65 --- /dev/null +++ b/npc/functions/quest-debug/014-ShipQuests_QMuller.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug14 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_QMuller"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_QMuller)); + next; + + GenericQuestDebug ShipQuests_QMuller, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/015-ShipQuests_Tibbo.txt b/npc/functions/quest-debug/015-ShipQuests_Tibbo.txt new file mode 100644 index 00000000..84280ebf --- /dev/null +++ b/npc/functions/quest-debug/015-ShipQuests_Tibbo.txt @@ -0,0 +1,25 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug15 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Tibbo"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Tibbo)); + next; + + GenericQuestDebug ShipQuests_Tibbo, + l("Does not have the quest"), 0, + l("Got the package"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/016-ShipQuests_Gugli.txt b/npc/functions/quest-debug/016-ShipQuests_Gugli.txt new file mode 100644 index 00000000..e4868ff4 --- /dev/null +++ b/npc/functions/quest-debug/016-ShipQuests_Gugli.txt @@ -0,0 +1,48 @@ +// Part of Gugli quest debug +// Author: +// gumi + +function script QuestDebug16 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_Gugli"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_Gugli)); + mes "---"; + mes l("Subquests:"); + mes "ShipQuests_Ale: " + getq(ShipQuests_Ale); + mes "ShipQuests_Astapolos: " + getq(ShipQuests_Astapolos); + mes "ShipQuests_Gulukan: " + getq(ShipQuests_Gulukan); + mes "ShipQuests_Jalad: " + getq(ShipQuests_Jalad); + mes "ShipQuests_QMuller: " + getq(ShipQuests_QMuller); + mes "ShipQuests_Tibbo: " + getq(ShipQuests_Tibbo); + next; + + GenericQuestDebug ShipQuests_Gugli, + l("Does not have the quest"), 0, + l("Gugli asks to collect packages"), 1, + menuimage("actions/manage", l("Reset subquests")), -1, + menuimage("actions/manage", l("Set subquests as completed")), -2, + l("Got reward from gugli"), 2; + + switch (@menuret) + { + case 0: + case 2: + case -1: + case -2: + .@v = (@menuret == -2 || @menuret == 2); + setq ShipQuests_Ale, .@v; + setq ShipQuests_Astapolos, .@v; + setq ShipQuests_Gulukan, .@v; + setq ShipQuests_Jalad, .@v; + setq ShipQuests_QMuller, .@v; + setq ShipQuests_Tibbo, .@v; + break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/017-ShipQuests_ChefGado.txt b/npc/functions/quest-debug/017-ShipQuests_ChefGado.txt new file mode 100644 index 00000000..05e8cdb0 --- /dev/null +++ b/npc/functions/quest-debug/017-ShipQuests_ChefGado.txt @@ -0,0 +1,30 @@ +// Gado quest debug +// Author: +// gumi + +function script QuestDebug17 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ShipQuests_ChefGado"; + mes "---"; + mes l("Quest state: @@", getq(ShipQuests_ChefGado)); + next; + + GenericQuestDebug ShipQuests_ChefGado, + l("Does not have the quest"), 0, + l("Nard asks to solve conflict"), 1, + l("Got poison from Gado"), 2, + l("Poisoned Julia"), 3, + l("Completed, Gado wins"), 4, + l("Completed, Julia wins (returned poison)"), 5, + l("Completed, Julia wins"), 6; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/018-General_Cookies.txt b/npc/functions/quest-debug/018-General_Cookies.txt new file mode 100644 index 00000000..16c7bcd7 --- /dev/null +++ b/npc/functions/quest-debug/018-General_Cookies.txt @@ -0,0 +1,25 @@ +// Cookie quest debug +// Author: +// gumi + +function script QuestDebug18 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Cookies"; + mes "---"; + mes l("Quest state: @@", getq(General_Cookies)); + next; + + GenericQuestDebug General_Cookies, + l("Does not have the quest"), 0, + l("Got a cookie"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/020-ArtisQuests_LazyBrother.txt b/npc/functions/quest-debug/020-ArtisQuests_LazyBrother.txt new file mode 100644 index 00000000..11cf3a44 --- /dev/null +++ b/npc/functions/quest-debug/020-ArtisQuests_LazyBrother.txt @@ -0,0 +1,28 @@ +// Lazy brother quest debug +// Author: +// gumi + +function script QuestDebug20 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_LazyBrother"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_LazyBrother)); + next; + + GenericQuestDebug ArtisQuests_LazyBrother, + l("Does not have the quest"), 0, + l("Katja asked for help"), 1, + l("Found bobo, didn't tell Katja"), 2, + l("Told bobo to go home"), 3, + l("Katja gave reward"), 4; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/021-ArtisQuests_Urchin.txt b/npc/functions/quest-debug/021-ArtisQuests_Urchin.txt new file mode 100644 index 00000000..486cae18 --- /dev/null +++ b/npc/functions/quest-debug/021-ArtisQuests_Urchin.txt @@ -0,0 +1,26 @@ +// Urchin quest debug +// Author: +// gumi + +function script QuestDebug21 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_Urchin"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_Urchin)); + next; + + GenericQuestDebug ArtisQuests_Urchin, + l("Does not have the quest"), 0, + l("Moon needs @@", l("Croc Claw")), 1, + l("Found @@, got exp", l("Croc Claw")), 2; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/022-ArtisQuests_CatchPiou.txt b/npc/functions/quest-debug/022-ArtisQuests_CatchPiou.txt new file mode 100644 index 00000000..9d5afc1c --- /dev/null +++ b/npc/functions/quest-debug/022-ArtisQuests_CatchPiou.txt @@ -0,0 +1,26 @@ +// Piou quest debug +// Author: +// gumi + +function script QuestDebug22 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_CatchPiou"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_CatchPiou)); + next; + + GenericQuestDebug ArtisQuests_CatchPiou, + l("Does not have the quest"), 0, + l("Salem asks to catch piou"), 1, + l("Returned piou to Salem"), 2; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/023-ArtisQuests_Fishman.txt b/npc/functions/quest-debug/023-ArtisQuests_Fishman.txt new file mode 100644 index 00000000..e3b5ac2e --- /dev/null +++ b/npc/functions/quest-debug/023-ArtisQuests_Fishman.txt @@ -0,0 +1,26 @@ +// Eugene quest debug +// Author: +// gumi + +function script QuestDebug23 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_Fishman"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_Fishman)); + next; + + GenericQuestDebug ArtisQuests_Fishman, + l("Does not have the quest"), 0, + l("Eugene needs tentacles"), 1, + l("Gave tentacles, got reward"), 2; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/024-ArtisQuests_QOnan.txt b/npc/functions/quest-debug/024-ArtisQuests_QOnan.txt new file mode 100644 index 00000000..702ef9be --- /dev/null +++ b/npc/functions/quest-debug/024-ArtisQuests_QOnan.txt @@ -0,0 +1,27 @@ +// Q'Onan quest debug +// Author: +// gumi + +function script QuestDebug24 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_QOnan"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_QOnan)); + next; + + GenericQuestDebug ArtisQuests_QOnan, + l("Does not have the quest"), 0, + l("Q'Onan asks to find chest"), 1, + l("Found the chest"), 2, + l("Gave to Q'Onan, got reward"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/026-General_Rumly.txt b/npc/functions/quest-debug/026-General_Rumly.txt new file mode 100644 index 00000000..c533c27a --- /dev/null +++ b/npc/functions/quest-debug/026-General_Rumly.txt @@ -0,0 +1,27 @@ +// Rumly quest debug +// Author: +// gumi + +function script QuestDebug26 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Rumly"; + mes "---"; + mes l("Quest state: @@", getq(General_Rumly)); + next; + + GenericQuestDebug General_Rumly, + l("Does not have the quest"), 0, + l("Rumly needs your help"), 1, + l("Rumly wants @@", l("Plushroom")), 2, + l("Gave @@ to Rumly", l("Plushroom")), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/027-ArtisQuests_Enora.txt b/npc/functions/quest-debug/027-ArtisQuests_Enora.txt new file mode 100644 index 00000000..9121ceb3 --- /dev/null +++ b/npc/functions/quest-debug/027-ArtisQuests_Enora.txt @@ -0,0 +1,49 @@ +// Newbie quest debug +// Author: +// gumi + +function script QuestDebug27 { + do + { + clear(); + setnpcdialogtitle(l("Quest debug")); + mes("ArtisQuests_Enora"); + mes("---"); + mes(l("Quest state: @@, @@", + getq(ArtisQuests_Enora), + getq2(ArtisQuests_Enora))); + next(); + + GenericQuestDebug(ArtisQuests_Enora, + l("Does not have the quest"), 0, + l("Enora asks to visit Chelios"), 1, + l("Chelios asks to visit Lloyd"), 2, + l("Lloyd gave package"), 3, + l("Chelios made sword"), 4, + l("Enora asks to visit Resa"), 5, + l("Resa gave package"), 6, + l("Enora asks to visit Q'Pid"), 7, + l("Lost the riddle"), 8, + l("Ivan gave package"), 9, + l("Enora asks to kill fluffies"), 10, + l("Completed, got reward"), 11); + + switch (@menuret) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: setq(ArtisQuests_Enora, getq(ArtisQuests_Enora), 0); break; + case 11: setq(ArtisQuests_Enora, getq(ArtisQuests_Enora), 10); break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/029-ArtisQuests_Fexil.txt b/npc/functions/quest-debug/029-ArtisQuests_Fexil.txt new file mode 100644 index 00000000..9c0d7945 --- /dev/null +++ b/npc/functions/quest-debug/029-ArtisQuests_Fexil.txt @@ -0,0 +1,27 @@ +// Fexil quest debug +// Author: +// gumi + +function script QuestDebug29 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_Fexil"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_Fexil)); + next; + + GenericQuestDebug ArtisQuests_Fexil, + l("Does not have the quest"), 0, + l("Lloyd gave pass"), 1, + l("Fexil needs help"), 2, + l("Fexil wants to buy fur"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/030-ArtisQuests_Lloyd.txt b/npc/functions/quest-debug/030-ArtisQuests_Lloyd.txt new file mode 100644 index 00000000..0afb019c --- /dev/null +++ b/npc/functions/quest-debug/030-ArtisQuests_Lloyd.txt @@ -0,0 +1,25 @@ +// Lloyd quest debug +// Author: +// gumi + +function script QuestDebug30 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_Lloyd"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_Lloyd)); + next; + + GenericQuestDebug ArtisQuests_Lloyd, + l("Does not have the quest"), 0, + l("Registered"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/031-General_Janus.txt b/npc/functions/quest-debug/031-General_Janus.txt new file mode 100644 index 00000000..f97b4fbe --- /dev/null +++ b/npc/functions/quest-debug/031-General_Janus.txt @@ -0,0 +1,31 @@ +// Janus quest debug +// Author: +// gumi + +function script QuestDebug31 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Janus"; + mes "---"; + mes l("Quest state: @@", getq(General_Janus)); + next; + + GenericQuestDebug General_Janus, + l("Does not have the quest"), 0, + l("Talked to Janus"), 1, + l("Can create party"), 2, + l("Can create guild"), 3; + + switch (@menuret) + { + case 0: + case 1: skill NV_BASIC, min(6, getskilllv(NV_BASIC)), 0; break; + case 2: + case 3: skill NV_BASIC, max(7, getskilllv(NV_BASIC)), 0; break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/032-ArtisQuests_MonaDad.txt b/npc/functions/quest-debug/032-ArtisQuests_MonaDad.txt new file mode 100644 index 00000000..bda45b90 --- /dev/null +++ b/npc/functions/quest-debug/032-ArtisQuests_MonaDad.txt @@ -0,0 +1,26 @@ +// Mona quest debug +// Author: +// gumi + +function script QuestDebug32 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_MonaDad"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_MonaDad)); + next; + + GenericQuestDebug ArtisQuests_MonaDad, + l("Does not have the quest"), 0, + l("Mona's dad is missing"), 1, + l("Mona's dad was rescued"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/033-Artis_Legion_Progress.txt b/npc/functions/quest-debug/033-Artis_Legion_Progress.txt new file mode 100644 index 00000000..ff6f1d16 --- /dev/null +++ b/npc/functions/quest-debug/033-Artis_Legion_Progress.txt @@ -0,0 +1,31 @@ +// Mona quest debug +// Authors: +// gumi +// monwarez + +function script QuestDebug33 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "Artis_Legion_Progress"; + mes "---"; + mes l("Quest state: @@", getq(Artis_Legion_Progress)); + next; + + GenericQuestDebug Artis_Legion_Progress, + l("Does not have the quest"), 0, + l("Sent to training"), 1, + l("Finished training"), 2, + l("Sent to battle"), 3, + l("Finished battle"), 4, + l("Sent to Q'Anon"), 5, + l("Indefinite Traning"), 6; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/034-ArtisQuests_TrainingLegion.txt b/npc/functions/quest-debug/034-ArtisQuests_TrainingLegion.txt new file mode 100644 index 00000000..ba72fd07 --- /dev/null +++ b/npc/functions/quest-debug/034-ArtisQuests_TrainingLegion.txt @@ -0,0 +1,28 @@ +// Training Legion quest +// Authors: +// omatt + +function script QuestDebug34 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArtisQuests_TrainingLegion"; + mes "---"; + mes l("Quest state: @@", getq(ArtisQuests_TrainingLegion)); + next; + + GenericQuestDebug ArtisQuests_TrainingLegion, + l("Does not have the quest"), 0, + l("Finished sword training"), 1, + l("Finished bow training"), 2, + l("Both sword and bow training are finished"), 3, + l("Skill training finished, end of quest"), 4; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/035-ThiefQuests_Artis.txt b/npc/functions/quest-debug/035-ThiefQuests_Artis.txt new file mode 100644 index 00000000..83f9fb9c --- /dev/null +++ b/npc/functions/quest-debug/035-ThiefQuests_Artis.txt @@ -0,0 +1,38 @@ +// Artis Thieves quest debug +// Author: +// Jesusalva +// Field 2: Internal use (gearwheels - odd: collected; even: used) +// Field 3: Internal use (Archive where the file is) + +function script QuestDebug35 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ThiefQuests_Artis"; + mes "---"; + mes l("Quest state: @@", getq(ThiefQuests_Artis)); + .@q2=getq2(ThiefQuests_Artis); + mesf ("Gearwheels: %d (%s)", .@q2/2, (.@q2 % 2 ? "found" : "not found")); + mesf ("Henry's file: %d", getq3(ThiefQuests_Artis)); + next; + + GenericQuestDebug ThiefQuests_Artis, + ("Does not have the quest"), 0, + ("Accepted Townhall Quest"), 1, + ("Townhall arc complete"), 2, + ("Reward taken"), 3, + ("Accepted Legion Quest"), 4, + ("Legion arc comlete"), 5, + ("Reward taken (2)"), 6, + ("Nunia Quest Accepted"), 7, + ("Nunia arc comlete"), 8, + ("Reward taken (3)"), 9; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/050-HurnscaldQuests_Hinnak.txt b/npc/functions/quest-debug/050-HurnscaldQuests_Hinnak.txt new file mode 100644 index 00000000..31183eb8 --- /dev/null +++ b/npc/functions/quest-debug/050-HurnscaldQuests_Hinnak.txt @@ -0,0 +1,32 @@ +// Hinnak quest debug +// Author: +// gumi + +function script QuestDebug50 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_Hinnak"; + mes "---"; + mes l("Quest state: @@, @@", + getq(HurnscaldQuests_Hinnak), + getq2(HurnscaldQuests_Hinnak)); + next; + + GenericQuestDebug HurnscaldQuests_Hinnak, + l("Cannot do the quest"), 0, + l("Can do the quest"), 1, + l("Hinnak asked for help"), 2, + l("Helped Hinnak"), 3; + + switch (@menuret) + { + case 0: + case 1: + case 2: setq HurnscaldQuests_Hinnak, getq(HurnscaldQuests_Hinnak), 0; break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/051-HurnscaldQuests_Soup.txt b/npc/functions/quest-debug/051-HurnscaldQuests_Soup.txt new file mode 100644 index 00000000..44694f06 --- /dev/null +++ b/npc/functions/quest-debug/051-HurnscaldQuests_Soup.txt @@ -0,0 +1,32 @@ +// Mikhail & Bernard quest debug +// Author: +// gumi + +function script QuestDebug51 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_Soup"; + mes "---"; + mes l("Quest state: @@", + getq(HurnscaldQuests_Soup)); + next; + + GenericQuestDebug HurnscaldQuests_Soup, + l("Cannot do the quest"), 0, + l("Can do the quest"), 1, + l("Bernard wants roasted maggot"), 2, + l("brought maggot"), 3, + l("Bernard wants maggot slime"), 4, + l("brought maggot slime"), 5, + l("Mikhail needs maggot slime"), 6, + l("brought maggot slime"), 7; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/052-HurnscaldQuests_Inspector.txt b/npc/functions/quest-debug/052-HurnscaldQuests_Inspector.txt new file mode 100644 index 00000000..72d99242 --- /dev/null +++ b/npc/functions/quest-debug/052-HurnscaldQuests_Inspector.txt @@ -0,0 +1,41 @@ +// Inspector quest debug +// Author: +// gumi + +function script QuestDebug52 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_Inspector"; + mes "---"; + mes l("Quest state: @@", + getq(HurnscaldQuests_Inspector)); + next; + + GenericQuestDebug HurnscaldQuests_Inspector, + l("Cannot do the quest"), 0, + l("Can do the quest"), 1, + l("Talked to Inspector (1)"), 2, + l("Talked to Old Woman (1)"), 3, + l("Talked to Old Woman (2)"), 4, + l("Talked to Inspector (2)"), 5, + l("Talked to Troupe Leader (1)"), 6, + l("Talked to Inspector (3)"), 7, + l("Talked to Old Man"), 8, + l("Talked to Old Woman (3)"), 9, + l("Talked to Inspector (4)"), 10, + l("Talked to Old Woman (4)"), 11, + l("Talked to Malek"), 12, + l("Searched the bookcase"), 13, + l("Talked to Inspector (5)"), 14, + l("Talked to Troupe Leader (2)"), 15, + l("Talked to Inspector (6)"), 16; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/053-HurnscaldQuests_ForestBow.txt b/npc/functions/quest-debug/053-HurnscaldQuests_ForestBow.txt new file mode 100644 index 00000000..2a0993e3 --- /dev/null +++ b/npc/functions/quest-debug/053-HurnscaldQuests_ForestBow.txt @@ -0,0 +1,42 @@ +// Jack Lumber quest debug +// Author: +// gumi + +function script QuestDebug53 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_ForestBow"; + mes "---"; + mes l("Quest state: @@", getq(HurnscaldQuests_ForestBow)); + mes "---"; + mes l("Related quests:"); + mes "HurnscaldQuests_WoodenShield: " + getq(HurnscaldQuests_WoodenShield); + next; + + GenericQuestDebug HurnscaldQuests_ForestBow, + menuimage("actions/manage", l("Debug Wooden Shield")), -1, + l("Cannot do the quest"), 0, + l("Can do the quest"), 1, + l("Alan wants to ask Jack"), 2, + l("Jack explained problem"), 3, + l("Alan asks to find wood"), 4, + l("Found perfect wood"), 5, + l("Got the bow"), 6; + + switch (@menuret) + { + case -1: callfunc "QuestDebug40"; break; + case 0: + case 1: + case 2: + case 3: + case 4: setq(HurnscaldQuests_WoodenShield, 0); break; + case 5: + case 6: setq(HurnscaldQuests_WoodenShield, max(1, getq(HurnscaldQuests_WoodenShield))); break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/054-HurnscaldQuests_WoodenShield.txt b/npc/functions/quest-debug/054-HurnscaldQuests_WoodenShield.txt new file mode 100644 index 00000000..0cb3ee9d --- /dev/null +++ b/npc/functions/quest-debug/054-HurnscaldQuests_WoodenShield.txt @@ -0,0 +1,37 @@ +// Jack Lumber quest debug +// Author: +// gumi + +function script QuestDebug54 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_WoodenShield"; + mes "---"; + mes l("Quest state: @@", getq(HurnscaldQuests_WoodenShield)); + mes "---"; + mes l("Related quests:"); + mes "HurnscaldQuests_ForestBow: " + getq(HurnscaldQuests_ForestBow); + next; + + GenericQuestDebug HurnscaldQuests_WoodenShield, + menuimage("actions/manage", l("Debug Forest Bow")), -1, + l("Cannot do the quest"), 0, + l("Can do the quest"), 1, + l("Jack proposes shield"), 2, + l("Accepted the quest"), 3, + l("Got the shield"), 4; + + switch (@menuret) + { + case -1: callfunc "QuestDebug39"; break; + case 1: + case 2: + case 3: + case 4: setq(HurnscaldQuests_ForestBow, max(5, getq(HurnscaldQuests_ForestBow))); break; + default: if (@menuret < 0) return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/055-General_Cooking.txt b/npc/functions/quest-debug/055-General_Cooking.txt new file mode 100644 index 00000000..ec725364 --- /dev/null +++ b/npc/functions/quest-debug/055-General_Cooking.txt @@ -0,0 +1,92 @@ +// Cooking quest debug +// Author: +// Jesusalva + +function script QuestDebug55 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Cooking"; + mes "---"; + mes l("Quest state: @@", getq(General_Cooking)); + mes l("Route choosen: %s", (getq2(General_Cooking) == VEGAN ? l("Vegan") : l("Carnivorous"))); + mes l("Known Recipes: @@", array_entries(RECIPES)); + next; + + menuint + l("Return"), -1, + l("Reset Quest"), 0, + "[2] Completed Yannika's Quest", 2, + "[3] Accepted Yannika's Request for Seafood Plate", 3, + "[4] Delivered fish to Dimond's Inn", 4, + "[5] Accepted task to talk to Reid's Inn", 5, + "[6] Got request for Piou/Manana Sandwhich", 6, + "[7] Got sent to Candor Inn", 7, + "[8] Tiki asked for new idea", 8, + "[9] Tiki approved new idea", 9, + "[10] Reid's Chef gave you epic recipe", 10, + "[11] Sent to tulimshar bakery", 11, + "[12] Sent to bakery apprentice", 12, + "[13] Killed all rattos", 13, + "[14] Learned Donut recipe", 14, + "[15] Sent to search for Salad", 15, + "[16] Offered to bring stuff to Hocus", 16, + "[17] Received Hocus' Salad", 17, + "[18] Salad Delivered", 18, + "[19] Quest Completed", 19, + l("Get a Recipe Book"), -2, + l("Learn all recipes"), -3, + l("Reset all recipes"), -4; + + switch (@menuret) + { + case -1: + break; + case -2: + getitem RecipeBook, 1; + break; + case -3: + RECIPES[CraftCarpSandwich]=true; + RECIPES[CraftMananaSandwich]=true; + RECIPES[CraftPioulegSandwich]=true; + + RECIPES[CraftSailorStew]=true; + RECIPES[CraftSquirrelStew]=true; + RECIPES[CraftMoubooStew]=true; + + RECIPES[CraftSeafoodPlate]=true; + RECIPES[CraftBarbecuePlate]=true; + RECIPES[CraftVeggiePlate]=true; + + RECIPES[CraftDonut]=true; + RECIPES[CraftBlueberryCake]=true; + RECIPES[CraftCarrotCake]=true; + break; + case -4: + RECIPES[CraftCarpSandwich]=false; + RECIPES[CraftMananaSandwich]=false; + RECIPES[CraftPioulegSandwich]=false; + + RECIPES[CraftSailorStew]=false; + RECIPES[CraftSquirrelStew]=false; + RECIPES[CraftMoubooStew]=false; + + RECIPES[CraftSeafoodPlate]=false; + RECIPES[CraftBarbecuePlate]=false; + RECIPES[CraftVeggiePlate]=false; + + RECIPES[CraftDonut]=false; + RECIPES[CraftBlueberryCake]=false; + RECIPES[CraftCarrotCake]=false; + break; + default: + setq1 General_Cooking, @menuret; + break; + + } + + return; + + } while (@menu != 1); +} diff --git a/npc/functions/quest-debug/056-General_Brotherhood.txt b/npc/functions/quest-debug/056-General_Brotherhood.txt new file mode 100644 index 00000000..07fe568f --- /dev/null +++ b/npc/functions/quest-debug/056-General_Brotherhood.txt @@ -0,0 +1,27 @@ +// Mona quest debug +// Authors: +// gumi +// monwarez +// jesusalva + +function script QuestDebug56 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Brotherhood"; + mes "---"; + mes l("Quest state: @@", getq(General_Brotherhood)); + next; + + GenericQuestDebug General_Brotherhood, + l("Does not have the quest"), 0, + l("Contacted by Sopiahalla"), 1; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/057-HurnscaldQuests_Kfahr.txt b/npc/functions/quest-debug/057-HurnscaldQuests_Kfahr.txt new file mode 100644 index 00000000..4ee0b36e --- /dev/null +++ b/npc/functions/quest-debug/057-HurnscaldQuests_Kfahr.txt @@ -0,0 +1,31 @@ +// Kfahr quest debug +// Author: +// Toams + +function script QuestDebug57 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_Kfahr"; + mes "---"; + mes l("Quest state: @@", getq(HurnscaldQuests_Kfahr)); + //mes "---"; + //mes l("Related quests:"); + //mes "HurnscaldQuests_Setzer: " + getq(HurnscaldQuests_Setzer); + next; + + GenericQuestDebug HurnscaldQuests_Kfahr, + menuimage("actions/manage", l("Debug Kfahr")), -1, + l("Didn't speak with Kfahr yet"), 0, + l("Already met Kfahr, No quests started"), 1, + l("Bone knife quest started"), 2, + l("Bone knife quest finished"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/058-ArgaesQuest_Galimatia.txt b/npc/functions/quest-debug/058-ArgaesQuest_Galimatia.txt new file mode 100644 index 00000000..01a058e7 --- /dev/null +++ b/npc/functions/quest-debug/058-ArgaesQuest_Galimatia.txt @@ -0,0 +1,32 @@ +// Galimatia quest debug +// Author: +// Livio +// Someone else I've forgot the name + +function script QuestDebug58 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "ArgaesQuest_Galimatia"; + mes "---"; + mes l("Quest state: @@", getq(ArgaesQuest_Galimatia)); + next; + + GenericQuestDebug ArgaesQuest_Galimatia, + l("[RESET QUEST] Does not have the quest"), 0, + l("PC have to pour chemicals on dirt"), 1, + l("Galimatia needs Fertility Potion ingredients"), 2, + l("PC have to pour Fertility Potion on the same spot"), 3, + l("Something grows or it should be"), 4, + l("Galimatia offers a reward"), 5, + l("Galimatia offers to exchange flower things"), 6; + + if (@menuret < 0) + { + return; + } + + } while (1); + return; +}
\ No newline at end of file diff --git a/npc/functions/quest-debug/059-HurnscaldQuests_Rossy.txt b/npc/functions/quest-debug/059-HurnscaldQuests_Rossy.txt new file mode 100644 index 00000000..85c2006b --- /dev/null +++ b/npc/functions/quest-debug/059-HurnscaldQuests_Rossy.txt @@ -0,0 +1,43 @@ +// Rossy quest debug +// Authors: +// jesusalva + +function script QuestDebug59 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "HurnscaldQuests_Rossy"; + mes "---"; + mes l("Quest state: @@", getq(HurnscaldQuests_Rossy)); + if (getq(HurnscaldQuests_Rossy) == 16) + mes l("Clauquer's Cave Mask: %d", getq2(HurnscaldQuests_Rossy)); + next; + + GenericQuestDebug HurnscaldQuests_Rossy, + l("Does not have the quest"), 0, + l("Requested to find Rossy"), 1, + l("Found Rossy"), 2, + l("Informed Olana about Rossy"), 3, + l("Requested to deliver the berries"), 4, + l("Berries delivered"), 5, + l("Requested to tell Rossy about exam"), 6, + l("Accepted to help Rossy"), 7, + l("Requested to deliver potion to David"), 8, + l("Delivered potion to David"), 9, + l("Inform Olana about success"), 10, + l("Bring roses to Rossy"), 11, + l("Talk to Olana about allergy"), 12, + l("Bring tulips to Rossy"), 13, + l("Say Olana is a good mother"), 14, + l("Get status on Juliet with Rossy"), 15, + l("Dispatched to Clauquer Cave"), 16, + l("Juliet has been rescued"), 17; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/061-General_Hal.txt b/npc/functions/quest-debug/061-General_Hal.txt new file mode 100644 index 00000000..172108f4 --- /dev/null +++ b/npc/functions/quest-debug/061-General_Hal.txt @@ -0,0 +1,30 @@ +// Hal quest debug +// Author: +// Livio + +function script QuestDebug61 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_CptHal"; + mes "---"; + mes l("Quest state: @@", getq(General_CptHal)); + next; + + GenericQuestDebug General_CptHal, + l("[RESET QUEST] Does not have the quest"), 0, + l("Bothered to talk to Thamas"), 1, + l("Accepted to resupply Hal's Legion troop"), 2, + l("Looking for Sergeant Ryan"), 3, + l("Found Sergeant Ryan, looking for items"), 4, + l("Healed Sergeant Ryan"), 5; + + if (@menuret < 0) + { + return; + } + + } while (1); + return; +}
\ No newline at end of file diff --git a/npc/functions/quest-debug/100-General_Narrator.txt b/npc/functions/quest-debug/100-General_Narrator.txt new file mode 100644 index 00000000..a88f5d6a --- /dev/null +++ b/npc/functions/quest-debug/100-General_Narrator.txt @@ -0,0 +1,27 @@ +// Narrator debug +// Author: +// gumi + +function script QuestDebug100 { + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes "General_Narrator"; + mes "---"; + mes l("Quest state: @@", getq(General_Narrator)); + next; + + GenericQuestDebug General_Narrator, + l("Game introduction"), 0, + l("Arrived in Artis"), 1, + l("Arrived in Argaes"), 2, + l("Sent to Airlia"), 3; + + if (@menuret < 0) + { + return; + } + + } while (1); +} diff --git a/npc/functions/quest-debug/functions.txt b/npc/functions/quest-debug/functions.txt new file mode 100644 index 00000000..e45cb427 --- /dev/null +++ b/npc/functions/quest-debug/functions.txt @@ -0,0 +1,109 @@ +// Evol functions. +// Author: +// gumi +// Description: +// generic quest debug functions + + + +// GenericQuestDebug +// makes a generic quest debug menu for the given quest when the server +// is in debug mode. + +function script GenericQuestDebug { + if (!debug && !is_admin()) + { + select + menuimage("actions/back", l("Go back")); + + @menuret = -0x7FFFFFFF; + return 1; + } + + mes l("Choose desired quest state:"); + + deletearray .@vals; + .@menustr$ = menuimage("actions/abort", l("Do nothing")) + ":"; + .@vals[0] = -0x7FFFFFFF; + .@cnt = 1; + + for (.@f = 1; .@f < getargcount(); .@f += 2) + { + if (getarg(.@f) != "") + { + .@qv = getarg(.@f + 1); + .@s$ = menuimage("actions/" + (.@qv ? "edit" : "reset"), "[" + .@qv + "] " + getarg(.@f)); + .@menustr$ += (.@qv < 0 ? getarg(.@f) : .@s$) + ":"; + .@vals[.@cnt] = .@qv; + ++.@cnt; + } + } + + if (is_admin()) + { + .@menustr$ += menuimage("actions/nuke", l("Set state manually")); + .@vals[.@cnt] = -0x7FFFFFFE; + } + + + @menu = 255; + @menuret = -1; + select(.@menustr$); + if (@menu == 255) + return -1; + + --@menu; + if (@menu < 0 || @menu >= getarraysize(.@vals)) + return -1; + + @menuret = .@vals[@menu]; + + switch (@menuret) + { + case -0x7FFFFFFE: input @menuret; setq getarg(0,0), @menuret; + case -0x7FFFFFFF: return 1; + } + + if (@menuret >= 0) + { + setq getarg(0,0), @menuret; + } + return; +} + + + +// selectd +// like a normal select() but gives access to quest debug +// +// quest id can either be passed as first argument +// or as the .quest_debug npc variable + +function script selectd { + .@menustr$ = rif(debug, menuaction(l("debug"))); + .@count = getargcount(); + .@f = 0; + .@questID = getvariableofnpc(.quest_debug, strnpcinfo(0)); + + if (.@count > 1 && !isstr(getarg(0))) + { + ++.@f; + .@questID = getarg(0); + } + + for (; .@f < .@count; ++.@f) + { + .@menustr$ += ":" + getarg(.@f); + } + + @menu = 255; + select .@menustr$; + + switch (@menu) + { + case -1: + case 255: return -1; + default: @menu -= 1; return @menu; // FIXME: here I would have done `return --@menu;` but hercules prevents this + case 1: callfunc "QuestDebug" + .@questID; closeclientdialog; end; + } +} |