diff options
Diffstat (limited to 'world/map/npc')
-rw-r--r-- | world/map/npc/004-5/_import.txt | 1 | ||||
-rw-r--r-- | world/map/npc/004-5/chest.txt | 31 | ||||
-rw-r--r-- | world/map/npc/011-6/crastur.txt | 9 | ||||
-rw-r--r-- | world/map/npc/068-2/hetchel.txt | 10 |
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]"; |