summaryrefslogtreecommitdiff
path: root/world/map/npc
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc')
-rw-r--r--world/map/npc/004-5/_import.txt1
-rw-r--r--world/map/npc/004-5/chest.txt31
-rw-r--r--world/map/npc/011-6/crastur.txt9
-rw-r--r--world/map/npc/068-2/hetchel.txt10
4 files changed, 41 insertions, 10 deletions
diff --git a/world/map/npc/004-5/_import.txt b/world/map/npc/004-5/_import.txt
index 4d0d3afb..a96bcd25 100644
--- a/world/map/npc/004-5/_import.txt
+++ b/world/map/npc/004-5/_import.txt
@@ -3,4 +3,5 @@
map: 004-5.gat
npc: npc/004-5/_mobs.txt
npc: npc/004-5/_warps.txt
+npc: npc/004-5/chest.txt
npc: npc/004-5/mapflags.txt
diff --git a/world/map/npc/004-5/chest.txt b/world/map/npc/004-5/chest.txt
new file mode 100644
index 00000000..823ad1ca
--- /dev/null
+++ b/world/map/npc/004-5/chest.txt
@@ -0,0 +1,31 @@
+004-5.gat,89,67,0|script|Old Chest#crastur|111,
+{
+ setarray @npc_loc, 89, 67, 1;
+ callfunc "PCtoNPCRange";
+ if(@npc_check == 1) goto L_Closer;
+ set @spants_state, ((QUEST_WG_state & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
+ if(@spants_state > 5) goto L_Looted;
+ if(@spants_state != 5) goto L_Unknown;
+ set @spants_state, 6;
+ getitem "Bandana", 1;
+ set Zeny, (Zeny + rand(8000,20000)); // give some random loot
+ mes "This must be the treasure that Crastur was talking about.";
+ mes "You see a pile of gold and a Bandana on top.";
+ set QUEST_WG_state, (QUEST_WG_state & ~(NIBBLE_2_MASK) | (@spants_state << NIBBLE_2_SHIFT));
+ goto L_Close;
+
+ L_Looted:
+ mes "You have already looted this chest.";
+ goto L_Close;
+
+ L_Unknown:
+ mes "You have no idea how to open this chest.";
+ goto L_Close;
+
+ L_Closer:
+ mes "You need to move closer to open the chest.";
+ goto L_Close;
+
+ L_Close:
+ close;
+}
diff --git a/world/map/npc/011-6/crastur.txt b/world/map/npc/011-6/crastur.txt
index 429a4852..ae8ca3f5 100644
--- a/world/map/npc/011-6/crastur.txt
+++ b/world/map/npc/011-6/crastur.txt
@@ -1,10 +1,9 @@
011-6.gat,172,250,0|script|Crastur the Ugly|418,
{
set @spants_state, ((QUEST_WG_state & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
- set @spants_chest, ((QUEST_WG_state & 4096 ) >> 12);
if @spants_state < 3 goto L_Regular;
if @spants_state == 3 goto L_Ask;
- if (@spants_state == 4 || @spants_state == 5) goto L_Ask_Again;
+ if (@spants_state == 4 || @spants_state == 5 || @spants_state == 6) goto L_Ask_Again;
goto L_Main;
@@ -100,7 +99,7 @@ L_Pirate_Proof:
L_Bandana:
getinventorylist;
if (countitem("Bandana") < 1) goto L_No_Item;
- if (@spants_chest_open == 0) goto L_Wrong_Item;
+ if (@spants_state != 6) goto L_Wrong_Item;
mes "Crasturs gazes at the bandana in your hand. He scratches his right arm, then he nods";
mes "[Crastur]";
mes "";
@@ -113,7 +112,7 @@ L_Bandana:
mes "\"Crastur hands you a page ripped out of his Almanach that has dotted lines in green and red Ink all over it";
next;
mes "You put the plans into a hidden pocket";
- set @spants_state, 6;
+ set @spants_state, 7;
callsub S_Update_Spants;
goto L_Close;
@@ -127,7 +126,7 @@ L_Wrong_Item:
mes "Crastur takes a look at the bandana.";
next;
mes "[Crastur]";
- mes "THIS IS NOT FROM THE PIRATES FROM HURNSCALD, it is a cheap scam.";
+ mes "THIS IS NOT FROM THE PIRATES FROM TULIMSHAR, it is a cheap scam.";
emotion EMOTE_PERTURBED;
mes "As far as you can tell through his mask he seems very mad";
goto L_Insult;
diff --git a/world/map/npc/068-2/hetchel.txt b/world/map/npc/068-2/hetchel.txt
index f814616e..0700598f 100644
--- a/world/map/npc/068-2/hetchel.txt
+++ b/world/map/npc/068-2/hetchel.txt
@@ -37,8 +37,8 @@
if ( BaseLevel > @spants_minlvl && @spants_state < 1 ) goto L_Spants_Cry;
if ( @spants_state == 1 ) goto L_Spants_Cry_2;
if ( @spants_state == 2 ) goto L_Spants_Start;
- if ( @spants_state > 2 && @spants_state < 7 ) goto L_Spants_Steal;
- if ( @spants_state == 7 ) goto L_Spants_Make;
+ if ( @spants_state > 2 && @spants_state < 8 ) goto L_Spants_Steal;
+ if ( @spants_state == 8 ) goto L_Spants_Make;
mes "[Hetchel the weaver]";
mes "";
@@ -216,8 +216,8 @@ L_Spants_Steal_Cont:
"No, not yet", L_Close;
L_Spants_Steal_Cont2:
- if @spants_state < 6 goto L_Spants_No_Item;
- set @spants_state, 7;
+ if @spants_state < 7 goto L_Spants_No_Item;
+ set @spants_state, 8;
callsub S_Update_Spants;
mes "[Hetchel the weaver]";
mes "";
@@ -268,7 +268,7 @@ L_Spants_Pay:
delitem @spants_req$[1], @spants_req_amt[1];
delitem @spants_req$[2], @spants_req_amt[2];
getitem "SilkPants", 1;
- set @spants_state, 8;
+ set @spants_state, 9;
callsub S_Update_Spants;
next;
mes "[Hetchel the weaver]";