diff options
Diffstat (limited to 'npc/commands/debug-quest.txt')
-rw-r--r-- | npc/commands/debug-quest.txt | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/npc/commands/debug-quest.txt b/npc/commands/debug-quest.txt new file mode 100644 index 00000000..580173d0 --- /dev/null +++ b/npc/commands/debug-quest.txt @@ -0,0 +1,217 @@ +function script GlobalQuestDebug { + + function qDebugShip { + function qDebugGugli { + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - " + l("Prologue") + " - Gugli"; + mes l("This menu gives access to quest debug menus for @@ quest subquests.", "Gugli"); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + l("Gugli (main quest)"), ShipQuests_Gugli, + "Ale", ShipQuests_Ale, + "Astapolos", ShipQuests_Astapolos, + "Gulukan", ShipQuests_Gulukan, + "Jalad", ShipQuests_Jalad, + "Q'Muller", ShipQuests_QMuller, + "Tibbo", ShipQuests_Tibbo; + + switch (@menuret) + { + case -1: return; + default: callfunc "QuestDebug" + @menuret; + } + } while (1); + } + + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - " + l("Prologue"); + mes l("This menu gives access to quest debug menus for @@ quests.", l("Prologue")); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + "Julia", ShipQuests_Julia, + "Arpan", ShipQuests_Arpan, + "Alige", ShipQuests_Alige, + "Peter", ShipQuests_Peter, + "Nard", ShipQuests_Nard, + l("Knife"), ShipQuests_Knife, + l("Money"), ShipQuests_ArpanMoney, + l("Door"), ShipQuests_Door, + "Couwan", ShipQuests_Couwan, + l("Treasure Chest"), ShipQuests_TreasureChest, + "Gugli", ShipQuests_Gugli, + "Gado", ShipQuests_ChefGado; + + switch (@menuret) + { + case 16: qDebugGugli; break; + case -1: return; + default: callfunc "QuestDebug" + @menuret; + } + } while (1); + } + + function qDebugArtis { + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - " + l("Artis"); + mes l("This menu gives access to quest debug menus for @@ quests.", "Artis"); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + l("Lazy Brother"), ArtisQuests_LazyBrother, + l("Urchin"), ArtisQuests_Urchin, + l("Catching a piou"), ArtisQuests_CatchPiou, + "Eugene (" + l("fisherman") + ")", ArtisQuests_Fishman, + "Q'Onan", ArtisQuests_QOnan, + "Enora", ArtisQuests_Enora, + "Fexil", ArtisQuests_Fexil, + "Lloyd", ArtisQuests_Lloyd, + l("Mona's dad"), ArtisQuests_MonaDad, + l("Artis legion progress"), Artis_Legion_Progress, + l("Legion training"), ArtisQuests_TrainingLegion, + "Henry", ThiefQuests_Artis; + + switch (@menuret) + { + case -1: return; + default: callfunc "QuestDebug" + @menuret; + } + } while (1); + } + + function qDebugHurnscald { + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - Hurnscald"; + mes l("This menu gives access to quest debug menus for @@ quests.", "Hurnscald"); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + "Hinnak", HurnscaldQuests_Hinnak, + l("Maggot soup"), HurnscaldQuests_Soup, + l("Inspector"), HurnscaldQuests_Inspector, + l("Forest bow"), HurnscaldQuests_ForestBow, + l("Wooden shield"), HurnscaldQuests_WoodenShield, + "Kfahr", HurnscaldQuests_Kfahr, + "Galimatia", ArgaesQuest_Galimatia, + "Rossy", HurnscaldQuests_Rossy; + + switch (@menuret) + { + case -1: return; + default: callfunc "QuestDebug" + @menuret; + } + } while (1); + } + + function qDebugGeneral { + do + { + clear; + setnpcdialogtitle l("Quest debug") + " - " + l("Other"); + mes l("This menu gives access to quest debug menus for @@ quests.", strtolower(l("Other"))); + next; + mes l("Please select a quest:"); + + menuint + menuimage("actions/back", l("Go back")), -1, + "Hal", General_CptHal, + l("Cookies"), General_Cookies, + "Rumly", General_Rumly, + l("Narrator"), General_Narrator, + "Janus", General_Janus, + l("Cooking"), General_Cooking, + l("Brotherhood"), General_Brotherhood; + + switch (@menuret) + { + case -1: return; + default: callfunc "QuestDebug" + @menuret; + } + } while (1); + } + + do + { + clear; + setnpcdialogtitle l("Quest debug"); + mes l("This menu gives access to all quest debug menus."); + next; + mes l("Please select a category:"); + + select + l("Prologue"), + "Artis", + "Hurnscald", + l("Other"), + rif(getarg(0,0), menuimage("actions/back", l("Return to Debug menu"))); + + switch (@menu) + { + case 1: qDebugShip; break; + case 2: qDebugArtis; break; + case 3: qDebugHurnscald; break; + case 4: qDebugGeneral; break; + case 5: return; + } + } while (1); +} + + + +- script @qdebug 32767,{ + end; + +OnCall: + if (!debug && !is_trusted()) + { + end; + } + GlobalQuestDebug; + closeclientdialog; + end; + +OnSetq: + if (.@atcmd_numparameters < 2) { + dispbottom "setq called with invalid arguments (min. 2)"; + dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>"; + end; + } + .@q=atoi(.@atcmd_parameters$[0]); + switch (.@atcmd_numparameters) { + case 4: + setq3 .@q, atoi(.@atcmd_parameters$[3]); + case 3: + setq2 .@q, atoi(.@atcmd_parameters$[2]); + case 2: + setq1 .@q, atoi(.@atcmd_parameters$[1]); + dispbottom l("Quest %s modified by GM", getquestlink(.@q)); + specialeffect 54, SELF, playerattached(); + break; + default: + dispbottom "setq called with invalid arguments (max. 4)"; + dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>"; + break; + } + end; + +OnInit: + bindatcmd "qdebug", "@qdebug::OnCall", 0, 99, 0; + bindatcmd "setq", "@qdebug::OnSetq", 99, 99, 1; +} |