From 0088f8b3c7522a06b77b21b1fe7e6d8fc73c63fb Mon Sep 17 00:00:00 2001 From: Jessica Tölke Date: Wed, 9 Jan 2013 16:45:12 +0100 Subject: Katze quest: remove player variable KatzeBeenOutside Use temporary player variable @KatzeNeedsAlone instead with inverted logic. Add nosaveflag to Katze's cave, so when the variable is reset, you're actually outside of the cave. Add KatzeBeenOutside to clear_vars. --- world/map/npc/015-1/barrier.txt | 4 ++-- world/map/npc/015-3/_import.txt | 1 + world/map/npc/015-3/katze.txt | 10 +++++----- world/map/npc/015-3/mapflags.txt | 1 + world/map/npc/015-3/pot.txt | 14 +++++++------- world/map/npc/functions/clear_vars.txt | 2 ++ 6 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 world/map/npc/015-3/mapflags.txt diff --git a/world/map/npc/015-1/barrier.txt b/world/map/npc/015-1/barrier.txt index f17a19fb..0e52125a 100644 --- a/world/map/npc/015-1/barrier.txt +++ b/world/map/npc/015-1/barrier.txt @@ -2,6 +2,6 @@ // progressing with the cat quest. 015-1.gat,59,32,0|script|#CatOutsideBarrier|0,1,1,{ - set KatzeBeenOutside, 1; - // No close here, as this doesn't open any client windows + set @KatzeNeedsAlone, 0; + end; } diff --git a/world/map/npc/015-3/_import.txt b/world/map/npc/015-3/_import.txt index 2a17ad03..cfb67b52 100644 --- a/world/map/npc/015-3/_import.txt +++ b/world/map/npc/015-3/_import.txt @@ -6,3 +6,4 @@ npc: npc/015-3/_warps.txt npc: npc/015-3/barrier.txt npc: npc/015-3/katze.txt npc: npc/015-3/pot.txt +npc: npc/015-3/mapflags.txt diff --git a/world/map/npc/015-3/katze.txt b/world/map/npc/015-3/katze.txt index 02d74359..8b258a8e 100644 --- a/world/map/npc/015-3/katze.txt +++ b/world/map/npc/015-3/katze.txt @@ -18,15 +18,15 @@ 015-3.gat,32,25,0|script|Katze|172,{ - if (Katze == 1 && KatzeBeenOutside == 1) goto L_NeedsFood; + if (Katze == 1 && @KatzeNeedsAlone == 0) goto L_NeedsFood; if (Katze == 1) goto L_PreNeedsFood; - if (Katze == 2 && KatzeBeenOutside == 1) goto L_NeedsFur; + if (Katze == 2 && @KatzeNeedsAlone == 0) goto L_NeedsFur; if (Katze == 2) goto L_PreNeedsFur; if (Katze == 3) goto L_NeedsWood; - if (Katze == 4 && KatzeBeenOutside == 1) goto L_NeedsStuff; + if (Katze == 4 && @KatzeNeedsAlone == 0) goto L_NeedsStuff; if (Katze == 4) goto L_PreNeedsStuff; if (Katze == 5) goto L_NeedsStuff2; - if (Katze == 6 && KatzeBeenOutside == 1) goto L_GainEars; + if (Katze == 6 && @KatzeNeedsAlone == 0) goto L_GainEars; if (Katze == 6) goto L_PreGainEars; if (Katze == 7) goto L_Finished; @@ -163,7 +163,7 @@ L_GiveStuff: delitem "HardSpike", 2; delitem "TinyHealingPotion", 2; set Katze, 6; - set KatzeBeenOutside, 0; + set @KatzeNeedsAlone, 1; mes "[Katze]"; mes "\"Nicely done! Now leave me alone for a while, I need some time to prepare your present.\""; close; diff --git a/world/map/npc/015-3/mapflags.txt b/world/map/npc/015-3/mapflags.txt new file mode 100644 index 00000000..2a8247fe --- /dev/null +++ b/world/map/npc/015-3/mapflags.txt @@ -0,0 +1 @@ +015-3.gat mapflag nosave 015-1,59,32; diff --git a/world/map/npc/015-3/pot.txt b/world/map/npc/015-3/pot.txt index 47f85587..926d5830 100644 --- a/world/map/npc/015-3/pot.txt +++ b/world/map/npc/015-3/pot.txt @@ -8,17 +8,17 @@ mes "It's a pot."; next; - if (Katze == 1 && KatzeBeenOutside == 1) + if (Katze == 1 && @KatzeNeedsAlone == 0) goto L_NeedsFood; if (Katze == 1) goto L_HasMilk; - if (Katze == 2 && KatzeBeenOutside == 1) + if (Katze == 2 && @KatzeNeedsAlone == 0) goto L_NeedsFur; if (Katze == 2) goto L_HasFood; if (Katze == 3) goto L_NeedsWood; - if (Katze == 4 && KatzeBeenOutside == 0) + if (Katze == 4 && @KatzeNeedsAlone == 1) goto L_HasWood; if (Katze >= 4) goto L_Finished; @@ -33,7 +33,7 @@ L_NeedsMilk: L_GiveMilk: delitem "Milk", 1; set Katze, 1; - set KatzeBeenOutside, 0; + set @KatzeNeedsAlone, 1; close; L_HasMilk: @@ -62,13 +62,13 @@ L_NeedsFood: L_GiveChicken: delitem "ChickenLeg", 1; set Katze, 2; - set KatzeBeenOutside, 0; + set @KatzeNeedsAlone, 1; close; L_GiveSteak: delitem "Steak", 1; set Katze, 2; - set KatzeBeenOutside, 0; + set @KatzeNeedsAlone, 1; close; L_HasFood: @@ -99,7 +99,7 @@ L_NeedsWood: L_GiveWood: delitem "RawLog", 1; set Katze, 4; - set KatzeBeenOutside, 0; + set @KatzeNeedsAlone, 1; mes "You put the wooden log next to the pot. The cat eyes it suspiciously, but remains on her spot."; close; diff --git a/world/map/npc/functions/clear_vars.txt b/world/map/npc/functions/clear_vars.txt index 08ecfed7..71d81fcb 100644 --- a/world/map/npc/functions/clear_vars.txt +++ b/world/map/npc/functions/clear_vars.txt @@ -99,6 +99,8 @@ function|script|ClearVariables|{ set Bugleg, 0; // variable isn't used set QUEST_clothdyer_state, 0; + // variable was moved to a temporary player variable + set KatzeBeenOutside, 0; //These lines are needed to migrate stuff from variables to flags if (Open_Underground_Palace_Barrier) -- cgit v1.2.3-60-g2f50