summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
authorWushin <pasekei@gmail.com>2015-01-24 13:34:41 -0600
committerWushin <pasekei@gmail.com>2015-01-24 13:34:41 -0600
commit730c240a2adcd30056069d81ac4ebce2231001c3 (patch)
tree00eee652283490760e6c0e0f6775baacdeef1cff /world/map/npc
parent52b798d0f00026cc3d0e7b65be586d629690981a (diff)
parentb2e65cc19b9c7d01569468cb10615d50d91c4b01 (diff)
downloadclassic-serverdata-730c240a2adcd30056069d81ac4ebce2231001c3.tar.gz
classic-serverdata-730c240a2adcd30056069d81ac4ebce2231001c3.tar.bz2
classic-serverdata-730c240a2adcd30056069d81ac4ebce2231001c3.tar.xz
classic-serverdata-730c240a2adcd30056069d81ac4ebce2231001c3.zip
Merge pull request #256 from wushin/fur-quest-lora-tay
Fix Furquest to use a callfunc
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/010-2/loratay.txt56
-rw-r--r--world/map/npc/020-2/furquest.txt58
2 files changed, 100 insertions, 14 deletions
diff --git a/world/map/npc/010-2/loratay.txt b/world/map/npc/010-2/loratay.txt
index f10395a2..b8a00c28 100644
--- a/world/map/npc/010-2/loratay.txt
+++ b/world/map/npc/010-2/loratay.txt
@@ -1,3 +1,39 @@
+010-2.gat,83,85,0|script|Lora Tay Debug|151
+{
+ mes "[Lora Tay Debug]";
+ mes "What do you want to do?";
+ menu
+ "Show Quest State", L_ShowState,
+ "Set Quest State", L_SetState,
+ "Reset", L_Reset,
+ "Nothing.", L_Close;
+
+L_ShowState:
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
+ mes "Current State is " + @wg_state;
+ goto L_Close;
+
+L_SetState:
+ mes "What state do you want?";
+ input @wg_state;
+ callfunc "setWGState";
+ mes "Set to " + @wg_state;
+ goto L_Close;
+
+L_Reset:
+ set @wg_state, 0;
+ callfunc "setWGState";
+ mes "Reset!";
+ goto L_Close;
+
+L_Close:
+ close;
+
+OnInit:
+ if (!debug)
+ disablenpc "Lora Tay Debug";
+ end;
+}
010-2.gat,85,85,0|script|Lora Tay|151
{
set @ROBE_COCOONS_NR, 150; // must be multiple of ten
@@ -111,7 +147,7 @@ L_agostine_1:
L_Next13:
set @wg_state, 10;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_agostine_menu:
@@ -215,7 +251,7 @@ L_give_water:
goto L_no_water;
delitem "BottleOfWater", 1;
set @wg_state, 11;
- callsub S_Update;
+ callfunc "setWGState";
set @xpval, 50000;
@@ -302,7 +338,7 @@ L_Next2:
mes "Go see Agostine, ask him what he's planning and I will think about it.\"";
set @wg_state, 13;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_intro:
@@ -353,7 +389,7 @@ L_proposal_search_items:
L_Next5:
set @wg_state, 15;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_not_enough_items:
@@ -366,7 +402,7 @@ L_proposal_give_items:
goto L_proposal_not_enough_items;
delitem "SilkCocoon", @FINEDRESS_COCOONS;
set @wg_state, 16;
- callsub S_Update;
+ callfunc "setWGState";
mes "[Lora Tay the Seamstress]";
mes "\"Great, now I can spin the silk threading and fix this mess made of these fine materials.";
@@ -396,7 +432,7 @@ L_Next6:
mes "I am done with the threading but I will now need to sew these materials together into the design.\"";
next;
set @wg_state, 18;
- callsub S_Update;
+ callfunc "setWGState";
goto L_proposal_wait_dress_finished;
L_proposal_wait_dress_finished:
@@ -412,7 +448,7 @@ L_proposal_wait_dress_finished:
L_proposal_dress_finished:
set @wg_state, 19;
- callsub S_Update;
+ callfunc "setWGState";
mes "[Lora Tay the Seamstress]";
mes "\"Well it was difficult seaming with such fragile materials.";
mes "But I have done it. The design is finished except for one part of it.\"";
@@ -436,7 +472,7 @@ L_Next7:
L_Next8:
set @wg_state, 20;
- callsub S_Update;
+ callfunc "setWGState";
goto L_Close;
L_proposal_deliver_dress:
@@ -1141,10 +1177,6 @@ L_CleanSorcererRobe:
set @cotton_cloth_id, 0;
goto L_Close;
-S_Update:
- set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
- return;
-
L_Close:
set @wg_state, 0;
close;
diff --git a/world/map/npc/020-2/furquest.txt b/world/map/npc/020-2/furquest.txt
index 9e45b87e..d20e00c7 100644
--- a/world/map/npc/020-2/furquest.txt
+++ b/world/map/npc/020-2/furquest.txt
@@ -2,7 +2,42 @@
// Script by Shaili and QOAL
//#################################################################################
-// Tulimshar Crafting Workshop - Agostine, The Legendary Tailor
+020-2.gat,24,26,0|script|Agostine Debug|137
+{
+ mes "[Agostine Debug]";
+ mes "What do you want to do?";
+ menu
+ "Show Quest State", L_ShowState,
+ "Set Quest State", L_SetState,
+ "Reset", L_Reset,
+ "Nothing.", L_Close;
+
+L_ShowState:
+ set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT);
+ mes "Current State is " + @wg_state;
+ goto L_Close;
+
+L_SetState:
+ mes "What state do you want?";
+ input @wg_state;
+ callfunc "setWGState";
+ mes "Set to " + @wg_state;
+ goto L_Close;
+
+L_Reset:
+ set @wg_state, 0;
+ callfunc "setWGState";
+ mes "Reset!";
+ goto L_Close;
+
+L_Close:
+ close;
+
+OnInit:
+ if (!debug)
+ disablenpc "Agostine Debug";
+ end;
+}
020-2.gat,27,26,0|script|Agostine|137
{
set @CUTFUR_EXP, 10;
@@ -69,6 +104,7 @@ L_State_Accept:
mes "[Agostine, The Legendary Tailor]";
mes "\"Thanks so much.\"";
set @wg_state, 1;
+ callfunc "setWGState";
goto L_Close;
L_State_0_3:
@@ -134,6 +170,7 @@ L_State_0_9:
mes "[Agostine, The Legendary Tailor]";
mes "\"This is a little reward for your help. Take 500 GP, my friend!\"";
set @wg_state, 2;
+ callfunc "setWGState";
goto L_Close;
L_State_neg:
@@ -163,6 +200,7 @@ L_State_2:
mes "Only the best furs can be used for these gloves!";
mes "But, as you see, I am a tailor, not a hunter! So, why don't you bring me the best fluffy's fur you can find?\"";
set @wg_state, 3;
+ callfunc "setWGState";
next;
menu
"You are crazy! I won't kill any animal for this!", L_Close,
@@ -172,6 +210,7 @@ L_State_3:
mes "[Agostine, The Legendary Tailor]";
mes "\"Remember, I want the best of fur!\"";
set @wg_state, 4;
+ callfunc "setWGState";
goto L_Close;
L_State_4:
@@ -210,6 +249,7 @@ L_State_4_success:
mes "\"It's perfect! Perfect! Good job, my friend! I will prepare your gloves right now!\"";
next;
set @wg_state, 5;
+ callfunc "setWGState";
goto L_State_5;
L_State_5:
@@ -227,6 +267,7 @@ L_State_5_pay:
set Zeny, Zeny - 15000;
getitem "WinterGloves", 1;
set @wg_state, 6;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Here they are. You will have the most fashionable hands in the world!\"";
goto L_Close;
@@ -254,6 +295,7 @@ L_State_10:
mes "and a pair of Boots, like those you can find in the mines.";
mes "They will make you lovely, my friend!\"";
set @wg_state, 7;
+ callfunc "setWGState";
goto L_Close;
L_State_11:
@@ -292,6 +334,7 @@ L_State_11_success:
mes "[Agostine, The Legendary Tailor]";
mes "\"This one is good enough, my friend. Good job.\"";
set @wg_state, 8;
+ callfunc "setWGState";
goto L_State_12;
L_State_12:
@@ -311,6 +354,7 @@ L_State_12_pay:
delitem "Boots", 1;
getitem "FurBoots", 1;
set @wg_state, 9;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Enjoy your new boots, my friend!\"";
goto L_Close;
@@ -381,6 +425,7 @@ L_Next2:
L_State_14_Accept:
set @wg_state, 12;
+ callfunc "setWGState";
goto L_Close;
L_State_14_AlreadyAccepted:
@@ -421,6 +466,7 @@ L_Next4:
mes "\"Hurry back my friend!\"";
set @wg_state, 14;
+ callfunc "setWGState";
goto L_Close;
@@ -463,6 +509,7 @@ L_Next6:
L_Next7:
set @wg_state, 17;
+ callfunc "setWGState";
message strcharinfo(0), "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
mes "Agostine gives you a folio containing his designs, that you put in a hidden compartment in your backpack.";
@@ -504,6 +551,7 @@ L_State_17_AskItems:
L_Next9:
set @wg_state, 21;
+ callfunc "setWGState";
goto L_Close;
L_State_17_NotEnoughItems:
@@ -517,6 +565,7 @@ L_State_17_GiveItems:
goto L_State_17_NotEnoughItems;
delitem "CottonCloth", @FINEDRESS_COTTON_CLOTHS;
set @wg_state, 22;
+ callfunc "setWGState";
mes "[Agostine, The Legendary Tailor]";
mes "\"Great now just a little cloth here........\"";
@@ -574,6 +623,7 @@ L_Next11:
set Zeny, Zeny - @FINEDRESS_GP;
getitem "FineDress", 1;
set @wg_state, 23;
+ callfunc "setWGState";
goto L_Close;
L_State_17_NoMoney:
@@ -595,7 +645,11 @@ L_State_18:
goto L_Close;
L_Close:
- set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
set @wg_state, 0;
close;
}
+function|script|setWGState
+{
+ set QUEST_WG_state, (QUEST_WG_state & ~(BYTE_0_MASK) | (@wg_state << BYTE_0_SHIFT));
+ return;
+}