diff options
author | Fate <fate-tmw@googlemail.com> | 2008-12-24 21:24:57 -0700 |
---|---|---|
committer | Fate <fate-tmw@googlemail.com> | 2008-12-24 21:24:57 -0700 |
commit | 562a0fdbaa002a49f4763bd07442e2ed32726ab9 (patch) | |
tree | 0e997cd03f8a03e8bf839890318efd15a0242dc2 /npc | |
parent | 63006fa540fe6fbddd132be33b39fd28f02a2e0f (diff) | |
parent | e896b785935c661319ade424f473f4442e1878eb (diff) | |
download | serverdata-562a0fdbaa002a49f4763bd07442e2ed32726ab9.tar.gz serverdata-562a0fdbaa002a49f4763bd07442e2ed32726ab9.tar.bz2 serverdata-562a0fdbaa002a49f4763bd07442e2ed32726ab9.tar.xz serverdata-562a0fdbaa002a49f4763bd07442e2ed32726ab9.zip |
Merge branch 'master' into magicv2008.12.25
Diffstat (limited to 'npc')
54 files changed, 539 insertions, 258 deletions
diff --git a/npc/001-1_Tulimshar/guide.txt b/npc/001-1_Tulimshar/guide.txt index 1efc79fe..d4367616 100644 --- a/npc/001-1_Tulimshar/guide.txt +++ b/npc/001-1_Tulimshar/guide.txt @@ -140,12 +140,7 @@ L_Key: L_Laws: mes "[Ian the Guide]"; - mes "\"Lady Platyna, the Overseer, has decreed the following rules:"; - mes "1. Do not abuse others (insult, swear etc.)"; - mes "2. No bots."; - mes "3. No spamming/flooding."; - mes "4. No begging."; - mes "5. Speak English."; + mes "\"The constable can help you with them.\""; next; goto L_Menu_A; @@ -153,12 +148,20 @@ L_Know: close; S_Grad: + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; mes "[Ian the Guide]"; mes "\"Hey, you've been doing good, let me give you this.\""; - next; getitem 675, 1; set TUT_var, TUT_var | 2; + next; + + return; +L_TooMany: + mes "[Ian the Guide]"; + mes "\"I wanted to give you something, but you don't have room for it.\""; + next; return; } diff --git a/npc/001-1_Tulimshar/sandra.txt b/npc/001-1_Tulimshar/sandra.txt index eb1ebdf0..048bfa19 100644 --- a/npc/001-1_Tulimshar/sandra.txt +++ b/npc/001-1_Tulimshar/sandra.txt @@ -1,83 +1,102 @@ // 001-1.gat,110,71,0 script Sandra 114,{ - if(Scorp == 2) goto done; - if(Scorp == 1) goto reas; + if(Scorp == 2) goto L_Done; + if(Scorp == 1) goto L_Progress; + set @TEMP,rand(3); - if(@TEMP == 1) goto L_1; - if(@TEMP == 2) goto L_2; - if(@TEMP == 3) goto L_3; - if(@TEMP == 0) goto L_4; -L_1: + if(@TEMP == 1) goto L_Opening1; + if(@TEMP == 2) goto L_Opening2; + if(@TEMP == 3) goto L_Opening3; + if(@TEMP == 0) goto L_Opening4; + +L_Opening1: mes "[Sandra]"; - mes "\"In the outskirts of Tulimshar, there wanders a red scorpion. I need a favor, please help me.\""; + mes "\"In the outskirts of Tulimshar, there wanders a red scorpion. I need a favor, please help me. Will you?\""; next; - goto red; -L_2: + goto L_Ask; + +L_Opening2: mes "[Sandra]"; mes "\"When you venture in the outskirts of Tulimshar, you can spot a red scorpion. Will you help me kill one?\""; next; - goto red; -L_3: + goto L_Ask; + +L_Opening3: mes "[Sandra]"; - mes "\"The red scorpion stinger carries many properties used in potions.\""; + mes "\"The red scorpion stinger carries many properties used in potions. Will you get some for me?\""; next; - goto red; -L_4: + goto L_Ask; + +L_Opening4: mes "[Sandra]"; mes "\"You look sturdy enough, will you help me get something?\""; next; - goto red; -red: - menu "Yes",L_kl,"No",L_N; -L_kl: - if(@TEMP == 1) goto K_1; - if(@TEMP == 2) goto K_2; - if(@TEMP == 3) goto K_3; - if(@TEMP == 0) goto K_1; -K_1: + goto L_Ask; + +L_Ask: + menu + "Yes", L_Yes, + "No", L_No; + +L_Yes: + if(@TEMP == 1) goto L_Req1; + if(@TEMP == 2) goto L_Req2; + if(@TEMP == 3) goto L_Req3; + if(@TEMP == 0) goto L_Req1; + +L_Req1: mes "[Sandra]"; mes "\"I need you to slaughter the red scorpion found outside of Tulimshar and bring me 5 [Red Stingers].\""; next; - goto set1; -K_2: + goto L_Set; + +L_Req2: mes "[Sandra]"; mes "\"I heard a while ago that the stinger of a red scorpion can be used for medical purposes. I need you to help me get 5 [Red Stingers].\""; next; - goto set1; -K_3: + goto L_Set; + +L_Req3: mes "[Sandra]"; mes "\"Bring me 5 [Red Stingers] and i will reward you greatly.\""; next; - goto set1; -set1: + goto L_Set; + +L_Set: set Scorp,1; mes "[Sandra]"; mes "\"Please bring me them!\""; close; -reas: - if(countitem(517) >= 5) goto have; + +L_Progress: + if (countitem(517) >= 5) goto L_Have; mes "[Sandra]"; mes "\"Please hurry and bring me 5 [Red Stingers].\""; close; -have: + +L_Have: mes "[Sandra]"; mes "\"Excellent!"; mes "You brought me 5 [Red Stingers]!\""; - delitem 517,5; - next; - mes "[Sandra]"; - mes "\"Here you go, your reward!\""; - mes "+Got Bow"; - mes "+Got Arrows 100"; - getitem 1200,1; - getitem 1199,100; - set Scorp,2; + getinventorylist; + if (@inventorylist_count == 100 && countitem(517) > 5) goto L_TooMany; + delitem 517, 5; + getitem 1200, 1; + getitem 1199, 100; + set Scorp, 2; close; -done: + +L_Done: mes "[Sandra]"; mes "\"Thank you for all your help!\""; close; -L_N: + +L_No: close; + +L_TooMany: + next; + mes "[Sandra]"; + mes "\"You don't have room for my reward. I'll wait until you do.\""; } diff --git a/npc/001-1_Tulimshar/vincent.txt b/npc/001-1_Tulimshar/vincent.txt index ef17ba18..b0412517 100644 --- a/npc/001-1_Tulimshar/vincent.txt +++ b/npc/001-1_Tulimshar/vincent.txt @@ -1,32 +1,33 @@ // 001-1.gat,135,42,0 script Vincent 113,{ - if(Bugleg == 1) goto L_Reas; if(Bugleg == 2) goto L_Done; + if(Bugleg == 1) goto L_Progress; + set @TEMP, rand(4); - if(@TEMP == 0) goto L_1; - if(@TEMP == 1) goto L_2; - if(@TEMP == 2) goto L_3; - if(@TEMP == 3) goto L_4; + if(@TEMP == 0) goto L_Opening1; + if(@TEMP == 1) goto L_Opening2; + if(@TEMP == 2) goto L_Opening3; + if(@TEMP == 3) goto L_Opening4; -L_1: +L_Opening1: mes "[Vincent]"; mes "\"I just need 30 more [Bug Legs] to finish my action figure!\""; next; goto L_Ask; -L_2: +L_Opening2: mes "[Vincent]"; mes "\"This maggot action figure is awesome! I just need to attach [30 Part A{Bug Leg}]\""; next; goto L_Ask; -L_3: +L_Opening3: mes "[Vincent]"; mes "\"This is a great action figure! A must have! All I need is a few parts...\""; goto L_Ask; -L_4: +L_Opening4: mes "[Vincent]"; mes "\"Can you get me 30 [Bug Legs]? I need them to replace the action figure parts.\""; next; @@ -44,30 +45,30 @@ L_Ask: L_Sure: set Bugleg, 1; set @TEMP,rand(4); - if(@TEMP == 0) goto J_1; - if(@TEMP == 1) goto J_2; - if(@TEMP == 2) goto J_3; - if(@TEMP == 3) goto J_4; + if(@TEMP == 0) goto L_Req1; + if(@TEMP == 1) goto L_Req2; + if(@TEMP == 2) goto L_Req3; + if(@TEMP == 3) goto L_Req4; -J_1: +L_Req1: mes "[Vincent]"; mes "\"Thank you!\""; next; goto L_Wait; -J_2: +L_Req2: mes "[Vincent]"; mes "\"I don't know how to thank you enough!\""; next; goto L_Wait; -J_3: +L_Req3: mes "[Vincent]"; mes "\"I will thank you when I get them!\""; next; goto L_Wait; -J_4: +L_Req4: mes "[Vincent]"; mes "\"I'm sure I will give a small reward. :D\""; next; @@ -78,7 +79,7 @@ L_Wait: mes "\"Now please go get me 30 [Bug Legs]\""; close; -L_Reas: +L_Progress: if(countitem(518) >= 30) goto L_Have; mes "[Vincent]"; mes "\"Please help me collect 30 [Bug Legs]!\""; diff --git a/npc/001-2_Tulimshar/troupe_leader.txt b/npc/001-2_Tulimshar/troupe_leader.txt index 1114de56..d5c8bbfd 100644 --- a/npc/001-2_Tulimshar/troupe_leader.txt +++ b/npc/001-2_Tulimshar/troupe_leader.txt @@ -32,12 +32,19 @@ L_NohMask_Accuse: L_NohMask_Found: mes "[Troupe Leader]"; mes "\"Thank you for finding the mask. You did such a good job, you should keep it.\""; + getinventorylist; + if (@inventorylist_count == 100) goto L_NohMask_TooMany; mes "[1500 experience points]"; getexp 1500, 0; - next; set Inspector, 14; getitem 678, 1; + next; mes "[Troupe Leader]"; mes "\"We don't need it anymore. We're doing different shows here.\""; close; + +L_NohMask_TooMany: + next; + mes "[Troupe Leader]"; + mes "\"Except, you don't seem to have any room for it. I'll hold onto it for you until you do have room.\""; } diff --git a/npc/002-4_Desert_mines/chest.txt b/npc/002-4_Desert_mines/chest.txt index c3e2c188..e76332fd 100644 --- a/npc/002-4_Desert_mines/chest.txt +++ b/npc/002-4_Desert_mines/chest.txt @@ -13,14 +13,17 @@ L_Yes: if(countitem(537) < 3) goto L_Not_Enough; - delitem 537, 3; - getitem 536, 1; + getinventorylist; + if (@inventorylist_count == 100 && countitem(537) > 3) goto L_TooMany; mes "[Chest]"; mes "You opened it and found a short sword!"; + delitem 537, 3; + getitem 536, 1; set ChestQuest, ChestQuest | 1; close; L_Not_Enough: + mes "[Chest]"; mes "It seems that this is not the right key..."; close; @@ -28,4 +31,9 @@ L_Finished: mes "[Chest]"; mes "You already opened this chest."; close; + +L_TooMany: + mes "[Chest]"; + mes "You don't have room for what ever is inside. Maybe you should try again later."; + close; } diff --git a/npc/004-1_Beach/_import.txt b/npc/004-1_Beach/_import.txt index 0b1dba07..7bd39a8b 100644 --- a/npc/004-1_Beach/_import.txt +++ b/npc/004-1_Beach/_import.txt @@ -1,4 +1,3 @@ map: 004-1.gat npc: npc/004-1_Beach/_mobs.txt npc: npc/004-1_Beach/_warps.txt -npc: npc/004-1_Beach/monsters.txt diff --git a/npc/004-1_Beach/_warps.txt b/npc/004-1_Beach/_warps.txt index b6ccc7d0..97af769d 100644 --- a/npc/004-1_Beach/_warps.txt +++ b/npc/004-1_Beach/_warps.txt @@ -2,3 +2,5 @@ 004-1.gat,84,113 warp ToSandstorm 1,-1,002-1.gat,29,15 004-1.gat,37,111 warp ToBeach 1,-1,003-1.gat,141,21 +004-1.gat,80,31 warp ToHouse -1,-1,004-2.gat,21,28 +004-1.gat,86,27 warp To2ndFloor -1,-1,004-2.gat,57,65 diff --git a/npc/004-1_Beach/monsters.txt b/npc/004-1_Beach/monsters.txt deleted file mode 100644 index 8056eead..00000000 --- a/npc/004-1_Beach/monsters.txt +++ /dev/null @@ -1,26 +0,0 @@ -// Map: 004-1 -// This is the Beach west of Tulimshar. -// - -004-1.gat,0,0,0,0 monster SeaSlime 1033,30,0,0,Mob34::OnSeaSlime -004-1.gat,0,0,0,0 monster GiantMaggot 1006,10,0,0,Mob34::OnGiantMaggot -004-1.gat,0,0,0,0 monster RedScorpion 1004,12,0,0,Mob34::OnRedScorpion - -004-1.gat,0,0,0 script Mob34 -1,{ -OnSeaSlime: - set @mobID, 1033; - callfunc "MobPoints"; - break; - -OnGiantMaggot: - set @mobID, 1006; - callfunc "MobPoints"; - break; - -OnRedScorpion: - set @mobID, 1004; - callfunc "MobPoints"; - break; - - end; -} diff --git a/npc/004-2_Beach_House/_import.txt b/npc/004-2_Beach_House/_import.txt new file mode 100644 index 00000000..32725dc8 --- /dev/null +++ b/npc/004-2_Beach_House/_import.txt @@ -0,0 +1,3 @@ +map: 004-2.gat +npc: npc/004-2_Beach_House/_mobs.txt +npc: npc/004-2_Beach_House/_warps.txt diff --git a/npc/004-2_Beach_House/_mobs.txt b/npc/004-2_Beach_House/_mobs.txt new file mode 100644 index 00000000..fada1e0d --- /dev/null +++ b/npc/004-2_Beach_House/_mobs.txt @@ -0,0 +1,7 @@ +// 004-2 Beach House mobs + + + +004-2.gat,0,0,0 script Mob004-2 -1,{ + end; +} diff --git a/npc/004-2_Beach_House/_warps.txt b/npc/004-2_Beach_House/_warps.txt new file mode 100644 index 00000000..8a1e4047 --- /dev/null +++ b/npc/004-2_Beach_House/_warps.txt @@ -0,0 +1,10 @@ +// 004-2 Beach House warps + +004-2.gat,39,20 warp ToRoom 0,-1,004-2.gat,75,29 +004-2.gat,75,30 warp ToRoom 0,-1,004-2.gat,38,21 +004-2.gat,21,29 warp ToOutside -1,-1,004-1.gat,80,32 +004-2.gat,62,28 warp ToBasement -1,-1,004-2.gat,21,62 +004-2.gat,20,62 warp To1stFloor -1,-1,004-2.gat,63,28 +004-2.gat,68,66 warp To1stFloor 0,-1,004-2.gat,35,21 +004-2.gat,36,20 warp To2ndFloor 0,-1,004-2.gat,68,65 +004-2.gat,57,66 warp ToOutside -1,-1,004-1.gat,86,28 diff --git a/npc/006-1_Desert_mountains/pachua.txt b/npc/006-1_Desert_mountains/pachua.txt index 15d1610c..51c2d3b2 100644 --- a/npc/006-1_Desert_mountains/pachua.txt +++ b/npc/006-1_Desert_mountains/pachua.txt @@ -134,11 +134,13 @@ L_leather_patch: next; menu "Here you are.", -, - "OK, I'll be back later.", L_end, + "OK, I'll be back later.", L_End, "That's too expensive!.", L_NoDeal; if (countitem(@SNAKE_SKIN) < 1) goto L_NoSkins; if (zeny < @LEATHER_PATCH_PRICE) goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@SNAKE_SKIN) > 1) goto L_TooMany; set zeny, zeny - @LEATHER_PATCH_PRICE; delitem @SNAKE_SKIN, 1; @@ -189,6 +191,10 @@ L_WearingChaps: next; goto L_Check_Shops; -L_end: +L_End: close; + +L_TooMany: + mes "[Chief Pachua]"; + mes "\"You don't have room for a leather patch. Come back later.\""; } diff --git a/npc/008-1_Hurnscald_outskirts/hinnak.txt b/npc/008-1_Hurnscald_outskirts/hinnak.txt index 27dcd677..ce0af655 100644 --- a/npc/008-1_Hurnscald_outskirts/hinnak.txt +++ b/npc/008-1_Hurnscald_outskirts/hinnak.txt @@ -53,7 +53,7 @@ L_Reward: L_Exchange: mes "[Farmer Hinnak]"; - mes "Have you got the 10 antennae?"; + mes "\"Have you got the 10 antennae?\""; next; if (countitem(614) < 10) goto L_Exchange_Notenough; @@ -64,6 +64,9 @@ L_Exchange: close; L_Exchange_Exchange: + if (countitem(614) < 10) goto L_Exchange_Notenough; + getinventorylist; + if (@inventorylist_count == 100) goto L_Exchange_TooMany; delitem 614, 10; getitem 623, 1; set QUEST_Scythe_state, 2; @@ -72,13 +75,18 @@ L_Exchange_Exchange: close; L_Exchange_Notenough: - menu - "Not yet, but I am working on it.", -; + mes "[Farmer Hinnak]"; + mes "\"It doesn't look like you do.\""; + close; + +L_Exchange_TooMany: + mes "[Farmer Hinnak]"; + mes "\"Looks like you don't have room for this. Come back later to receive your reward. Hold on to the antennea until then.\""; close; L_ThanksAgain: mes "[Farmer Hinnak]"; - mes "Thanks again for helping me with the pinkies."; + mes "\"Thanks again for helping me with the pinkies.\""; close; L_NohMask: @@ -97,4 +105,4 @@ L_NohMask_Satchel: mes "[Farmer Hinnak]"; mes "\"Yes, I saw someone with a large sack on their back go to the minning camp.\""; close; -}
\ No newline at end of file +} diff --git a/npc/009-1_Hurnscald/jack.txt b/npc/009-1_Hurnscald/jack.txt index ed90135a..84dc15d9 100644 --- a/npc/009-1_Hurnscald/jack.txt +++ b/npc/009-1_Hurnscald/jack.txt @@ -110,7 +110,7 @@ L_Bow_state_2: if (@Q_Forestbow > 3) goto L_Bow_state_4; mes "\"Good luck hunting those tree monsters - you will need it.\""; - if (Inspector == 1) goto L_NohMask_Ask; + if (Inspector == 1) callsub S_NohMask_Ask; close; L_Bow_state_4: @@ -183,6 +183,8 @@ L_Shield_state_2: if (countitem(@RAWLOG) < @RAWLOGS_AMOUNT) goto L_Not_enough_logs; if (zeny < @SHIELD_COST) goto L_Not_enough_money; + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; delitem @RAWLOG, @RAWLOGS_AMOUNT; set zeny, zeny - @SHIELD_COST; @@ -223,16 +225,24 @@ L_Not_enough_money: mes "\"You don't have enough gold, I'm afraid. I need " + @SHIELD_COST + " GP to finish your shield.\""; close; +L_TooMany: + mes "[Jack Lumber]"; + mes "\"You don't have enough room for the shield. Come back when you do.\""; + close; + L_Shield_state_3: mes "[Jack Lumber]"; mes "\"I hope that my shield will serve you well!\""; + next; + if (Inspector == 1) menu "Me too.", -, "Have you seen anything that might be connected to the recent robberies in town?", L_NohMask_Answer; close; -L_NohMask_Ask: +S_NohMask_Ask: + next; menu "I'll keep that in mind.", -, "Have you seen anything that might be connected to the recent robberies in town?", L_NohMask_Answer; diff --git a/npc/009-1_Hurnscald/old_woman.txt b/npc/009-1_Hurnscald/old_woman.txt index 5198f8ab..9f3d26ec 100644 --- a/npc/009-1_Hurnscald/old_woman.txt +++ b/npc/009-1_Hurnscald/old_woman.txt @@ -36,7 +36,7 @@ L_NohMask_Alibi: L_NohMask_Fake: if (Inspector == 9) goto L_NohMask_Fake_Satchel; - if (Inspector >= 3 && Inspector <= 6) got L_NohMask_Filler; + if (Inspector >= 3 && Inspector <= 6) goto L_NohMask_Filler; mes "[Old Woman]"; mes "\"I saw someone sneaking around town wearing a theater mask. It looked like one of the masks used by the troupe that was in town recently.\""; diff --git a/npc/009-2_Hurnscald/alan.txt b/npc/009-2_Hurnscald/alan.txt index 0235ad33..6d8a1770 100644 --- a/npc/009-2_Hurnscald/alan.txt +++ b/npc/009-2_Hurnscald/alan.txt @@ -174,6 +174,8 @@ L_State_4: L_State_4_pay: if (zeny < 10000) goto L_State_4_nocash; + getinventorylist; + if (@inventorylist_count == 100) goto L_State_4_TooMany; set zeny, zeny - 10000; getitem 545, 1; set @Q_status, 5; @@ -187,6 +189,11 @@ L_State_4_nocash: mes "\"Seems like you are out of cash.\""; close; +L_State_4_TooMany: + mes "[Alan]"; + mes "\"Seems like you don't have room for this bow. Come back later.\""; + close; + L_State_5: mes "[Alan]"; mes "\"I hope you are statisfied with your forest bow. It is one of my best works.\""; diff --git a/npc/009-2_Hurnscald/kfahr.txt b/npc/009-2_Hurnscald/kfahr.txt index cd5bc3b7..f24d2071 100644 --- a/npc/009-2_Hurnscald/kfahr.txt +++ b/npc/009-2_Hurnscald/kfahr.txt @@ -810,12 +810,19 @@ L_knife_quest_completecheck: mes "I had the nomads make me a few of them, and I hardly use them nowadays, so I think I can part with this one."; next; + if (countitem(@BLACK_STINGER) < @BLACK_STINGERS_NR) + goto L_knife_quest_missing_stingers_2; + + if (countitem(@MUSHROOM) < @MUSHROOMS_NR) + goto L_knife_quest_missing_mushrooms_2; + getinventorylist; + if (@inventorylist_count == 100) goto L_Knife_TooMany; + mes "[Kfahr the Warrior]"; mes "He hands you the knife."; mes "\"Oh, and I think I'll keep those in return; I know someone who will trade them for antidote potions.\""; mes "He pockets the stingers and mushrooms."; mes "[" + @KNIFE_QUEST_XP + " experience points]"; - next; set @Q_status, @QS_KNIFE_QUEST_DONE; callsub L_Update_Var; @@ -824,10 +831,15 @@ L_knife_quest_completecheck: delitem @MUSHROOM, @MUSHROOMS_NR; getexp @KNIFE_QUEST_XP, 0; getitem @BONE_KNIFE, 1; - + next; goto L_main_menu; +L_Knife_TooMany: + mes "[Kfahr the Warrior]"; + mes "\"You don't have room for this. Come back when you do.\""; + close; + L_knife_quest_missing_stingers: mes "[Kfahr the Warrior]"; mes "\"No, no... I said " + @BLACK_STINGERS_NR + " black scorpion stingers."; @@ -838,6 +850,16 @@ L_knife_quest_missing_stingers: next; close; +L_knife_quest_missing_stingers_2: + mes "[Kfahr the Warrior]"; + mes "\"You just had " + @BLACK_STINGERS_NR + " black scorpion stingers. What happened to them?"; + if (countitem(@BLACK_STINGER)) + mes "You will need " + (@BLACK_STINGERS_NR - (countitem (@BLACK_STINGER))) + " more of those.\""; + if (countitem(@BLACK_STINGER) == 0) + mes "You didn't bring even a single one!\""; + next; + close; + L_knife_quest_missing_mushrooms: mes "[Kfahr the Warrior]"; mes "\"No, no... I said " + @MUSHROOMS_NR + " small mushrooms."; @@ -848,6 +870,16 @@ L_knife_quest_missing_mushrooms: next; close; +L_knife_quest_missing_mushrooms_2: + mes "[Kfahr the Warrior]"; + mes "\"You just had " + @MUSHROOMS_NR + " small mushrooms. What happened to them?"; + if (countitem(@MUSHROOM)) + mes "You will need " + (@MUSHROOMS_NR - (countitem (@MUSHROOM))) + " more of those.\""; + if (countitem(@MUSHROOM) == 0) + mes "You didn't bring me even a single little mushroom!\""; + next; + close; + L_stinger_quest_check: mes "[Kfahr the Warrior]"; mes "Kfahr grins at you."; @@ -863,6 +895,8 @@ L_stinger_quest_check: L_snakeskins_completecheck: if (countitem(@SNAKE_SKIN) < @SNAKE_SKINS_NR) goto L_snakeskins_missing; + getinventorylist; + if (@inventorylist_count == 100) goto L_SnakeSkins_TooMany; delitem @SNAKE_SKIN, @SNAKE_SKINS_NR; getitem @GOLDEN_STINGER, 1; @@ -890,6 +924,10 @@ L_snakeskins_missing: next; close; +L_SnakeSkins_TooMany: + mes "[Kfahr the Warrior]"; + mes "\"YOu don't have room for this. Come back when you do.\""; + close; L_give_beer: if (countitem(@BEER) < 1) diff --git a/npc/009-2_Hurnscald/nicholas.txt b/npc/009-2_Hurnscald/nicholas.txt index 30d48594..349593db 100644 --- a/npc/009-2_Hurnscald/nicholas.txt +++ b/npc/009-2_Hurnscald/nicholas.txt @@ -189,13 +189,17 @@ L_NoMoney: L_YesKnight: if (zeny < 10000) goto L_NoMoney; - set zeny, zeny-10000; - delitem @IRON_ORE,5; - getitem 637,1; + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; + set zeny, zeny - 10000; + delitem @IRON_ORE, 5; + getitem 637, 1; goto L_Done; L_YesCrusade: if (zeny < 10000) goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny-10000; delitem @IRON_ORE,10; getitem 639,1; @@ -203,6 +207,8 @@ L_YesCrusade: L_YesWarlord: if (zeny < 10000) goto L_NoMoney; + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny-10000; delitem @IRON_ORE,15; getitem 636,1; @@ -238,6 +244,7 @@ L_YesShield: if (countitem(@INFANTRY) < 2) goto L_ShieldNoInfantry; if (countitem(@IRON_ORE) < 10) goto L_ShieldNoOre; if (countitem(@LEATHER_PATCH) < 1) goto L_ShieldNoLeatherPatch; + // No inventory check needed, as infantry helms are removed, opening two slots mes "[Nicholas]"; mes "\"Yes, it looks as if you have all that is needed!\""; @@ -326,6 +333,7 @@ L_SetzerQuest: if (countitem(@IRON_ORE) < 5) goto L_SetzerNoOre; if (countitem(@MONSTER_OIL) < 1) goto L_SetzerNoMonsterOil; if (countitem(@SHORT_SWORD) < 1) goto L_SetzerNoSword; + // No inventory check needed, as the short sword is removed, opening a slot mes "[Nicholas]"; mes "Nicholas takes the items, heats up your sword and pounds it with a heavy hammer. Before your eyes it turns thinner and flatter. Finally he pours the monster oil over it, heats it up again and douses it in water."; @@ -401,4 +409,8 @@ L_Update_Var: | (@Q_SHIELD_status << @Q_SHIELD_SHIFT) | (@Q_SETZER_status << @Q_SETZER_SHIFT)); return; + +L_TooMany: + mes "[Nicholas]"; + mes "\"You don't have room for it. Come back later when you do.\""; } diff --git a/npc/009-2_Hurnscald/waitress.txt b/npc/009-2_Hurnscald/waitress.txt index cf2778fd..bcf2f434 100644 --- a/npc/009-2_Hurnscald/waitress.txt +++ b/npc/009-2_Hurnscald/waitress.txt @@ -2,6 +2,10 @@ 009-2.gat,60,52,0 script Melinda 140,{ if (zeny < 180) goto L_NoMoney; + getinventorylist; + set @beerCount, countitem(539); + if (@inventorylist_count == 100 && beerCount < 0) goto L_TooMany; + mes "[Melinda]"; mes "\"Hi sweety! Want a fresh beer for 170gp?\""; next; @@ -46,6 +50,12 @@ L_No: close; L_NoMoney: + mes "[Melinda]"; mes "\"You look broke. Don't think that you can dine and dash here!\""; close; + +L_TooMany: + mes "[Melinda]"; + mes "\"You don't have room for a beer!\""; + close; } diff --git a/npc/010-2_Dimonds_Cove/loratay.txt b/npc/010-2_Dimonds_Cove/loratay.txt index 559ba578..77336fb6 100644 --- a/npc/010-2_Dimonds_Cove/loratay.txt +++ b/npc/010-2_Dimonds_Cove/loratay.txt @@ -429,6 +429,8 @@ L_tanktop_menu: L_tanktop_short: if (countitem (@COTTON) < 5) goto L_tanktop_insufficient_cloth; if (zeny < 1000) goto L_tanktop_insufficient_zeny; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@COTTON) > 5) goto L_TooMany; set zeny, zeny - 1000; delitem @COTTON, 5; getitem 689, 1; @@ -443,6 +445,8 @@ L_tanktop_short: L_tanktop_long: if (countitem (@COTTON) < 6) goto L_tanktop_insufficient_cloth; if (zeny < 1000) goto L_tanktop_insufficient_zeny; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@COTTON) > 6) goto L_TooMany; set zeny, zeny - 1000; delitem @COTTON, 6; getitem 688, 1; @@ -519,6 +523,9 @@ L_robe_menu: if (zeny < @ROBE_ZENY) goto L_robe_missing_zeny; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@SILK_COCOON) > @ROBE_COCOONS_NR) goto L_TooMany; + set zeny, zeny - @ROBE_ZENY; delitem @SILK_COCOON, @ROBE_COCOONS_NR; getitem @SILK_ROBE, 1; @@ -688,5 +695,9 @@ L_SUB_choice_join: if (@menu >= @c) set @item, 0; return; -} +L_TooMany: + mes "[Lora Tay the Seamstress]"; + mes "\"You don't have anywhere to put this. Come back when you have more room.\""; + close; +} diff --git a/npc/011-1_Woodland/alchemist.txt b/npc/011-1_Woodland/alchemist.txt index 08ba6e41..6329a5d6 100644 --- a/npc/011-1_Woodland/alchemist.txt +++ b/npc/011-1_Woodland/alchemist.txt @@ -107,6 +107,8 @@ L_main_menu: L_iron: if(countitem(566) < 20) goto L_no_iron; + getinventorylist; + if (@inventorylist_count == 100 && countitem(566) > 20) goto L_TooMany; mes "[Rauk the Alchemist]"; mes "\"Great! You brought me exactly what I need!"; mes "Here is your Iron potion.\""; @@ -116,6 +118,8 @@ L_iron: L_concentration: if(countitem(565) < 20) goto L_no_concentration; + getinventorylist; + if (@inventorylist_count == 100 && countitem(565) > 20) goto L_TooMany; mes "[Rauk the Alchemist]"; mes "\"Great! You brought me exactly what I need!"; mes "Here is your Concentration potion.\""; @@ -259,6 +263,8 @@ L_ok: L_red: if (countitem(@RED) < 10) goto L_red_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@RED) > 10) goto L_TooMany; delitem @RED, 10; getitem 690, 1; goto L_ok; @@ -277,6 +283,8 @@ L_d_red: L_yellow: if (countitem(@YELLOW) < 10) goto L_yellow_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@YELLOW) > 10) goto L_TooMany; delitem @YELLOW, 10; getitem 693, 1; goto L_ok; @@ -295,6 +303,8 @@ L_d_yellow: L_light_blue: if (countitem(@BLUE) < 10) goto L_light_blue_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 10) goto L_TooMany; delitem @BLUE, 10; getitem 694, 1; goto L_ok; @@ -314,6 +324,8 @@ L_d_light_blue: L_green: if (countitem(@BLUE) < 20) goto L_green_fail; if (countitem(@YELLOW) < 20) goto L_green_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 20 && countitem(@YELLOW) > 20) goto L_TooMany; if (zeny < 1000) goto L_green_fail; delitem @BLUE, 20; delitem @YELLOW, 20; @@ -342,6 +354,8 @@ L_orange: if (countitem(@RED) < 10) goto L_orange_fail; if (countitem(@YELLOW) < 10) goto L_orange_fail; if (countitem(@ORE) < 2) goto L_orange_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@RED) > 10 && countitem(@YELLOW) > 10 && countitem(@ORE) > 2) goto L_TooMany; if (zeny < 1000) goto L_orange_fail; delitem @RED, 10; delitem @YELLOW, 10; @@ -367,6 +381,8 @@ L_pink: if (countitem(@RED) < 10) goto L_pink_fail; if (countitem(@PETAL) < 6) goto L_pink_fail; if (zeny < 1000) goto L_pink_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@RED) > 10 && countitem(@PETAL) > 6) goto L_TooMany; delitem @RED, 10; delitem @PETAL, 6; set zeny, zeny - 1000; @@ -391,6 +407,8 @@ L_dark_blue: if (countitem(@MAUVE) < 50) goto L_dark_blue_fail; if (countitem(@PEARL) < 1) goto L_dark_blue_fail; if (zeny < 10000) goto L_dark_blue_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 100 && countitem(@MAUVE) > 50 && countitem(@PEARL) > 1) goto L_TooMany; delitem @BLUE, 100; delitem @MAUVE, 50; delitem @PEARL, 1; @@ -417,6 +435,8 @@ L_purple: if (countitem(@RED) < 100) goto L_purple_fail; if (countitem(@MAUVE) < 20) goto L_purple_fail; if (countitem(@PEARL) < 1) goto L_purple_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 100 && countitem(@RED) > 100 && countitem(@MAUVE) > 20 && countitem(@PEARL) > 1) goto L_TooMany; if (zeny < 40000) goto L_purple_fail; delitem @BLUE, 100; delitem @RED, 100; @@ -448,6 +468,8 @@ L_black: if (countitem(@RED) < 40) goto L_black_fail; if (countitem(@YELLOW) < 40) goto L_black_fail; if (countitem(@MAUVE) < 40) goto L_black_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 40 && countitem(@RED) > 40 && countitem(@YELLOW) > 40 && countitem(@MAUVE) > 40) goto L_TooMany; if (zeny < 20000) goto L_black_fail; delitem @BLUE, 40; delitem @RED, 40; @@ -481,6 +503,8 @@ L_dark_green: if (countitem(@MAUVE) < 10) goto L_dark_green_fail; if (countitem(@MAGGOTSLIME) < 1) goto L_dark_green_fail; if (zeny < 1000) goto L_dark_green_fail; + getinventorylist; + if (@inventorylist_count == 100 && countitem(@BLUE) > 10 && countitem(@YELLOW) > 10 && countitem(@MAUVE) > 10 && countitem(@MAGGOTSLIME) > 1) goto L_TooMany; delitem @BLUE, 10; delitem @MAUVE, 10; delitem @YELLOW, 10; @@ -714,4 +738,8 @@ L_Update_Var: (QUEST_Forestbow_state & ~(@Q_MASK) | (@Q_status << @Q_SHIFT)); return; + +L_TooMany: + mes "[Rauk the Alchemist]"; + mes "You don't have room for this."; } diff --git a/npc/013-2_Magic_house/apprentice.txt b/npc/013-2_Magic_house/apprentice.txt index ce3db4ad..abb96e6b 100644 --- a/npc/013-2_Magic_house/apprentice.txt +++ b/npc/013-2_Magic_house/apprentice.txt @@ -1,58 +1,92 @@ 013-2.gat,25,37,0 script Fabius 115,{ - mes "\"Hey! Wanna have a drink or something? High quality, low cost. A poor fella like me needs a bit of extra cash, ye know.\""; - next; - menu - "Yes please!",yes, - "No thanks.",no, - "No way, I thought it was for free!",not_free; -yes: - mes "\"So what would ya like, then?\""; - next; - menu - "A beer",beer, - "A milk",milk; -no: - mes "\"Suit yourself.\""; - next; - goto at_end; -not_free: - mes "\"Oh, you stupid git! ... But hey, let me tell ya something...\""; - next; - mes "\"There's notes flying around in the room up there. Did ya try reading some?\""; - close; -beer: - mes "\"That'll be 175 GP.\""; - next; - menu "Here you are",beer_yes, - "No thanks",beer_no; -milk: - mes "\"That'll be 300 GP.\""; - next; - menu "Here you are",milk_yes, - "No thanks",milk_no; -beer_yes: - if (zeny < 175) goto low_money; - getitem 539, 1; - set zeny, zeny - 175; - goto at_end; -beer_no: - mes "\"No beer, no civilization!\""; - next; - goto at_end; -milk_yes: - if (zeny < 300) goto low_money; - getitem 527, 1; - set zeny, zeny - 300; - goto at_end; -milk_no: - mes "\"Oh alright. Milk is a deadly poison anyway...\""; - next; - goto at_end; -low_money: - mes "\"Aw, you don't have enough gold on you!\""; - next; -at_end: - mes "\"By the way, have you seen those flying notes and the mirror in the room next door? They're WAY COOL! Try reading some of the notes!\""; - close; -} + mes "[Fabius]"; + mes "\"Hey! Wanna have a drink or something? High quality, low cost. A poor fella like me needs a bit of extra cash, ye know.\""; + next; + menu + "Yes please!", L_Yes, + "No thanks.", L_No, + "No way, I thought it was for free!", L_Not_Free; + +L_Yes: + mes "[Fabius]"; + mes "\"So what would ya like, then?\""; + next; + menu + "A beer", L_Beer, + "A milk", L_Milk, + "Nevermind", -; + +L_No: + mes "[Fabius]"; + mes "\"Suit yourself.\""; + next; + goto L_Finish; + +L_Not_Free: + mes "[Fabius]"; + mes "\"Oh, you stupid git! ... But hey, let me tell ya something...\""; + next; + mes "[Fabius]"; + mes "\"There's notes flying around in the room up there. Did ya try reading some?\""; + close; + +L_Beer: + mes "[Fabius]"; + mes "\"That'll be 175 GP.\""; + next; + menu + "Here you are", L_Beer_yes, + "No thanks", L_Beer_no; + +L_Beer_yes: + if (zeny < 175) goto L_Low_money; + getinventorylist; + if (@inventorylist_count == 100 && countitem(539) == 0) goto L_TooMany; + + getitem 539, 1; + set zeny, zeny - 175; + goto L_Finish; +L_Beer_no: + mes "[Fabius]"; + mes "\"No beer, no civilization!\""; + next; + goto L_Finish; + +L_Milk: + mes "[Fabius]"; + mes "\"That'll be 300 GP.\""; + next; + menu + "Here you are", L_Milk_yes, + "No thanks", L_Milk_no; + +L_Milk_yes: + if (zeny < 300) goto L_Low_money; + getinventorylist; + if (@inventorylist_count == 100 && countitem(527) == 0) goto L_TooMany; + getitem 527, 1; + set zeny, zeny - 300; + goto L_Finish; + +L_Milk_no: + mes "[Fabius]"; + mes "\"Oh alright. Milk is a deadly poison anyway...\""; + next; + goto L_Finish; + +L_Low_money: + mes "[Fabius]"; + mes "\"Aw, you don't have enough gold on you!\""; + next; + goto L_Finish; + +L_Finish: + mes "[Fabius]"; + mes "\"By the way, have you seen those flying notes and the mirror in the room next door? They're WAY COOL! Try reading some of the notes!\""; + close; + +L_TooMany: + mes "[Fabius]"; + mes "\"You don't have room for it.\""; +} diff --git a/npc/013-3_Cave/mask_chest.txt b/npc/013-3_Cave/mask_chest.txt index dd0bc949..0da8bab9 100644 --- a/npc/013-3_Cave/mask_chest.txt +++ b/npc/013-3_Cave/mask_chest.txt @@ -30,30 +30,49 @@ if (countitem(541) == 0) goto L_No_water; + getinventorylist; + if (@inventorylist_count == 100 && countitem(505) > 1 && countitem(518) > 1 && countitem(718) > 1 + && countitem(566) > 1 && countitem(565) > 1 && countitem(700) > 1 + && countitem(613) > 1 && countitem(569) > 1 && countitem(614) > 1 + && countitem(631) > 1 && countitem(640) > 1 && countitem(507) > 1 + && countitem(517) > 1 && countitem(709) > 1 && countitem(710) > 1 + && countitem(711) > 1 && countitem(712) > 1 && countitem(713) > 1 + && countitem(680) > 1 && countitem(681) > 1 && countitem(682) > 1 + && countitem(683) > 1 && countitem(537) > 1 && countitem(612) > 1 + && countitem(701) > 1 && countitem(541) > 1) goto L_TooMany; + delitem 505, 1; delitem 518, 1; delitem 718, 1; + delitem 566, 1; delitem 565, 1; delitem 700, 1; + delitem 613, 1; delitem 569, 1; delitem 614, 1; + delitem 631, 1; delitem 640, 1; delitem 507, 1; + delitem 517, 1; delitem 709, 1; delitem 710, 1; + delitem 711, 1; delitem 712, 1; delitem 713, 1; + delitem 680, 1; delitem 681, 1; delitem 682, 1; + delitem 683, 1; delitem 537, 1; delitem 612, 1; + delitem 701, 1; delitem 541, 1; @@ -148,4 +167,9 @@ L_Finished: mes "[Chest]"; mes "You already opened this chest."; close; + +L_TooMany: + mes "[Chest]"; + mes "You don't have room for what ever is inside. Maybe you should try again later."; + close; } diff --git a/npc/013-3_Cave/sword_chest.txt b/npc/013-3_Cave/sword_chest.txt index 1cac4879..c570bfcd 100644 --- a/npc/013-3_Cave/sword_chest.txt +++ b/npc/013-3_Cave/sword_chest.txt @@ -13,6 +13,8 @@ L_Yes: if(countitem(537) < 10) goto L_Not_Enough; + getinventorylist; + if (@inventorylist_count == 100 && countitem(537) > 10) goto L_TooMany; delitem 537, 10; getitem 536, 1; mes "[Chest]"; @@ -28,4 +30,9 @@ L_Finished: mes "[Chest]"; mes "You already opened this chest."; close; + +L_TooMany: + mes "[Chest]"; + mes "You don't have room for what ever is inside. Maybe you should try again later."; + close; } diff --git a/npc/014-1_Woodland/wedding-officiator.txt b/npc/014-1_Woodland/wedding-officiator.txt index 7a6e606b..26f2fc56 100644 --- a/npc/014-1_Woodland/wedding-officiator.txt +++ b/npc/014-1_Woodland/wedding-officiator.txt @@ -95,6 +95,8 @@ L_get_married: goto L_too_poor; if (BaseLevel < @WEDDING_MIN_LEVEL) goto L_too_young; + getinventorylist; + if (@inventorylist_count > 98) goto L_No_Room_For_Rings; set zeny, zeny - @WEDDING_FEE; getitem 702, 1; @@ -243,4 +245,8 @@ L_do_divorce: mes "\"You are divorced now. Thank you for your business.\""; next; close; + +L_No_Room_For_Rings: + mes "[Wedding Officiator]"; + mes "\"You don't have room to carry the rings.\""; } diff --git a/npc/018-3_Cave/bookcase.txt b/npc/018-3_Cave/bookcase.txt index b2e14e41..d176caa3 100644 --- a/npc/018-3_Cave/bookcase.txt +++ b/npc/018-3_Cave/bookcase.txt @@ -12,12 +12,12 @@ close; L_Search: - mes "After searching the bookcase, you were able to find a few pasages that you can read."; + mes "After searching the bookcase, you were able to find a few passages that you can read."; next; mes "One of the describes an ancient barrier that guards a great treasure."; mes ""; - mes "To get trough it, you need to consume the soul of a great pumpkin ghost."; + mes "To get through it, you need to consume the soul of a great pumpkin ghost."; next; mes "Another passage describes a ritual needed to open a certain cursed chest."; diff --git a/npc/019-1_Snow_field/_import.txt b/npc/019-1_Snow_field/_import.txt index 855671ad..e389a836 100644 --- a/npc/019-1_Snow_field/_import.txt +++ b/npc/019-1_Snow_field/_import.txt @@ -2,6 +2,6 @@ map: 019-1.gat npc: npc/019-1_Snow_field/_mobs.txt npc: npc/019-1_Snow_field/_warps.txt npc: npc/019-1_Snow_field/monsters.txt -npc: npc/019-1_Snow_field/santa.txt +npc: npc/019-1_Snow_field/santa_helper.txt npc: npc/019-1_Snow_field/snowman.txt npc: npc/019-1_Snow_field/taro.txt diff --git a/npc/019-1_Snow_field/santa.txt b/npc/019-1_Snow_field/santa.txt deleted file mode 100644 index 01481d67..00000000 --- a/npc/019-1_Snow_field/santa.txt +++ /dev/null @@ -1,50 +0,0 @@ -019-1.gat,74,75,0 script Santa 105,{ -if (ChristmasQuest2 == 1) goto done; -mes "[Santa]"; -mes "Ho ho ho."; -mes "Hello my young friend."; -mes "Would you like to help me?"; -next; -mes "Those monsters stolen my presents."; -mes "If you help me, I'll give you something very nice"; -next; -L_M: -menu "I have some present boxes",L_Y,"Hmm, see you later",L_N,"What you need exactly?",L_R; - L_Y: - mes "[Santa]"; - mes "Hmm, let me check what you have."; - next; - if(countitem(515)<25) goto NoItem; - if(countitem(516)<20) goto NoItem; - if(countitem(538)<5) goto NoItem; - mes "Great! Here is something for you"; - delitem 515,25; - delitem 516,20; - delitem 538,5; - getitem 563+rand(2),1; - set ChristmasQuest2,1; - close; - L_R: - mes "[Santa]"; - mes "I need:"; - mes "25 purple present boxes"; - mes "20 blue present boxes"; - mes "5 green present boxes"; - next; - goto L_M; - L_N: - mes "[Santa]"; - mes "Enjoy your holidays and I wish you an happy Christmas!"; - close; - NoItem: - mes "[Santa]"; - mes "You dont seem to have enough presents."; - close; - done: - mes "[Santa]"; - mes "All the children got their Christmas presents."; - mes "Thank you for your help."; - close; - -} - diff --git a/npc/019-1_Snow_field/santa_helper.txt b/npc/019-1_Snow_field/santa_helper.txt new file mode 100644 index 00000000..a8a86af6 --- /dev/null +++ b/npc/019-1_Snow_field/santa_helper.txt @@ -0,0 +1,65 @@ +019-1.gat,74,75,0 script Santa's Helper 105,{ + if (ChristmasQuest2 == 1) goto L_Done; + mes "[Santa's Helper]"; + mes "\"Hello my young friend."; + mes "Would you like to help me?\""; + next; + mes "[Santa's Helper]"; + mes "\"Those monsters stole Santa's presents."; + mes "If you help me, I'll give you something very nice\""; + next; + +L_M: + menu + "I have some present boxes", L_Y, + "Hmm, see you later", L_N, + "What you need exactly?", L_R; + +L_Y: + mes "[Santa's Helper]"; + mes "\"Hmm, let me check what you have.\""; + next; + if (countitem(515) < 25) goto L_NoItem; + if (countitem(516) < 20) goto L_NoItem; + if (countitem(538) < 5) goto L_NoItem; + getinventorylist; + if (@inventorylist_count > 99) goto L_TooMany; + mes "[Santa's Helper]"; + mes "\"Great! Here is something for you\""; + delitem 515, 25; + delitem 516, 20; + delitem 538, 5; + getitem 564, 1; + set ChristmasQuest2,1; + close; + +L_R: + mes "[Santa's Helper]"; + mes "\"I need:"; + mes "25 purple present boxes"; + mes "20 blue present boxes"; + mes "5 green present boxes\""; + next; + goto L_M; + +L_N: + mes "[Santa's Helper]"; + mes "\"Enjoy your holidays and I wish you an happy Christmas!\""; + close; + +L_NoItem: + mes "[Santa's Helper]"; + mes "\"You dont seem to have enough presents.\""; + close; + +L_Done: + mes "[Santa's Helper]"; + mes "\"All the children got their Christmas presents."; + mes "Thank you for your help.\""; + close; + +L_TooMany: + mes "[Santa's Helper]"; + mes "\"It doesn't look like you have room for this. Come back later.\""; + close; +} diff --git a/npc/019-1_Snow_field/snowman.txt b/npc/019-1_Snow_field/snowman.txt index 1f56e4f2..ca8c1f09 100644 --- a/npc/019-1_Snow_field/snowman.txt +++ b/npc/019-1_Snow_field/snowman.txt @@ -24,6 +24,8 @@ L_Sure: if(countitem(510) < 15) goto L_NoItem; if(countitem(509) < 10) goto L_NoItem; if(countitem(502) < 5) goto L_NoItem; + getinventorylist; + if (@inventorylist_count > 99) goto L_TooMany; delitem 510, 15; delitem 509, 10; delitem 502, 5; @@ -51,4 +53,9 @@ L_Done: mes "[Snowman]"; mes "\"Thank you for help!\""; close; + +L_TooMany: + mes "[Snowman]"; + mes "\"It doesn't look like you have room for this. Come back later.\""; + close; } diff --git a/npc/020-1/_import.txt b/npc/020-1/_import.txt deleted file mode 100644 index 2565ac9d..00000000 --- a/npc/020-1/_import.txt +++ /dev/null @@ -1,8 +0,0 @@ -map: 020-1.gat -npc: npc/020-1/_mobs.txt -npc: npc/020-1/_warps.txt -npc: npc/020-1/amrak.txt -npc: npc/020-1/monsters.txt -npc: npc/020-1/sexchanger.txt -npc: npc/020-1/soul-menhir.txt -npc: npc/020-1/startrek.txt diff --git a/npc/020-1/monsters.txt b/npc/020-1/monsters.txt deleted file mode 100644 index fc33da8c..00000000 --- a/npc/020-1/monsters.txt +++ /dev/null @@ -1,14 +0,0 @@ -// Map: 020-1 -// This is Snow Town. -// - -020-1.gat,56,63,1,1 monster Maggot 1002,2,0,0,Mob11::OnMaggot - -020-1.gat,0,0,0 script Mob11 -1,{ -OnMaggot: - set @mobID, 1002; - callfunc "MobPoints"; - break; - - end; -} diff --git a/npc/020-1_Nivalis/_import.txt b/npc/020-1_Nivalis/_import.txt new file mode 100644 index 00000000..0e18f3ac --- /dev/null +++ b/npc/020-1_Nivalis/_import.txt @@ -0,0 +1,7 @@ +map: 020-1.gat +npc: npc/020-1_Nivalis/_mobs.txt +npc: npc/020-1_Nivalis/_warps.txt +npc: npc/020-1_Nivalis/amrak.txt +npc: npc/020-1_Nivalis/sexchanger.txt +npc: npc/020-1_Nivalis/soul-menhir.txt +npc: npc/020-1_Nivalis/startrek.txt diff --git a/npc/020-1/_mobs.txt b/npc/020-1_Nivalis/_mobs.txt index fa94c232..64a7e46c 100644 --- a/npc/020-1/_mobs.txt +++ b/npc/020-1_Nivalis/_mobs.txt @@ -1,4 +1,4 @@ -// 020-1 mobs +// 020-1 Nivalis mobs diff --git a/npc/020-1/_warps.txt b/npc/020-1_Nivalis/_warps.txt index 36e0449a..c9578dfc 100644 --- a/npc/020-1/_warps.txt +++ b/npc/020-1_Nivalis/_warps.txt @@ -1,4 +1,4 @@ -// 020-1 warps +// 020-1 Nivalis warps 020-1.gat,76,38 warp ToIceCave 1,-1,020-3.gat,31,28 020-1.gat,47,48 warp ToClothesShop -1,-1,020-2.gat,25,33 diff --git a/npc/020-1/amrak.txt b/npc/020-1_Nivalis/amrak.txt index 19979ca0..19979ca0 100644 --- a/npc/020-1/amrak.txt +++ b/npc/020-1_Nivalis/amrak.txt diff --git a/npc/020-1/sexchanger.txt b/npc/020-1_Nivalis/sexchanger.txt index 168f47a3..168f47a3 100644 --- a/npc/020-1/sexchanger.txt +++ b/npc/020-1_Nivalis/sexchanger.txt diff --git a/npc/020-1/soul-menhir.txt b/npc/020-1_Nivalis/soul-menhir.txt index 3d0bc82a..3d0bc82a 100644 --- a/npc/020-1/soul-menhir.txt +++ b/npc/020-1_Nivalis/soul-menhir.txt diff --git a/npc/020-1/startrek.txt b/npc/020-1_Nivalis/startrek.txt index 5c8847ad..5c8847ad 100644 --- a/npc/020-1/startrek.txt +++ b/npc/020-1_Nivalis/startrek.txt diff --git a/npc/020-2/_import.txt b/npc/020-2/_import.txt deleted file mode 100644 index f71241f7..00000000 --- a/npc/020-2/_import.txt +++ /dev/null @@ -1,5 +0,0 @@ -map: 020-2.gat -npc: npc/020-2/_mobs.txt -npc: npc/020-2/_warps.txt -npc: npc/020-2/furquest.txt -npc: npc/020-2/shops.txt diff --git a/npc/020-2_Nivalis/_import.txt b/npc/020-2_Nivalis/_import.txt new file mode 100644 index 00000000..159d1e61 --- /dev/null +++ b/npc/020-2_Nivalis/_import.txt @@ -0,0 +1,5 @@ +map: 020-2.gat +npc: npc/020-2_Nivalis/_mobs.txt +npc: npc/020-2_Nivalis/_warps.txt +npc: npc/020-2_Nivalis/furquest.txt +npc: npc/020-2_Nivalis/shops.txt diff --git a/npc/020-2/_mobs.txt b/npc/020-2_Nivalis/_mobs.txt index 4289bb7e..1b1c6e2b 100644 --- a/npc/020-2/_mobs.txt +++ b/npc/020-2_Nivalis/_mobs.txt @@ -1,4 +1,4 @@ -// 020-2 mobs +// 020-2 Nivalis mobs diff --git a/npc/020-2/_warps.txt b/npc/020-2_Nivalis/_warps.txt index 2306316d..47f71d27 100644 --- a/npc/020-2/_warps.txt +++ b/npc/020-2_Nivalis/_warps.txt @@ -1,4 +1,4 @@ -// 020-2 warps +// 020-2 Nivalis warps 020-2.gat,25,35 warp ToOutside -1,-1,020-1.gat,47,50 020-2.gat,64,25 warp ToOutside -1,-1,020-1.gat,55,90 diff --git a/npc/020-2/furquest.txt b/npc/020-2_Nivalis/furquest.txt index 4d67f8c4..67a6eb10 100644 --- a/npc/020-2/furquest.txt +++ b/npc/020-2_Nivalis/furquest.txt @@ -222,6 +222,8 @@ L_State_5: L_State_5_pay: if (zeny < 15000) goto L_State_5_nocash; + getinventorylist; + if (@inventorylist_count == 100) goto L_TooMany; set zeny, zeny-15000; getitem 563, 1; set QUEST_WG_state, 6; @@ -307,6 +309,7 @@ L_State_12: L_State_12_pay: if (zeny < 15000) goto L_State_12_missing; if (countitem(528) < 1) goto L_State_12_missing; + // No inventory check needed, as boots are removed, opening a slot set zeny, zeny-15000; delitem 528, 1; getitem 655, 1; @@ -326,4 +329,8 @@ L_State_13: mes "\"You are so glamourous, my dear friend!"; mes "I have done a very good job on your clothes!\""; close; + +L_TooMany: + mes "[Agostine, The Legendary Tailor]"; + mes "\"You don't have anywhere to put them. Come back when you do."; } diff --git a/npc/020-2/shops.txt b/npc/020-2_Nivalis/shops.txt index f3d9dedc..f3d9dedc 100644 --- a/npc/020-2/shops.txt +++ b/npc/020-2_Nivalis/shops.txt diff --git a/npc/021-1_Tulimshar/_import.txt b/npc/021-1_Tulimshar/_import.txt index 27ebcad7..81e7f2df 100644 --- a/npc/021-1_Tulimshar/_import.txt +++ b/npc/021-1_Tulimshar/_import.txt @@ -1,3 +1,3 @@ map: 021-1.gat -npc: npc/021-1_Tulimshar/_warps.txt npc: npc/021-1_Tulimshar/_mobs.txt +npc: npc/021-1_Tulimshar/_warps.txt diff --git a/npc/021-2_Tulimshar/_import.txt b/npc/021-2_Tulimshar/_import.txt new file mode 100644 index 00000000..b098b11d --- /dev/null +++ b/npc/021-2_Tulimshar/_import.txt @@ -0,0 +1,3 @@ +map: 021-2.gat +npc: npc/021-2_Tulimshar/_mobs.txt +npc: npc/021-2_Tulimshar/_warps.txt diff --git a/npc/021-2_Tulimshar/_mobs.txt b/npc/021-2_Tulimshar/_mobs.txt new file mode 100644 index 00000000..140d3395 --- /dev/null +++ b/npc/021-2_Tulimshar/_mobs.txt @@ -0,0 +1,7 @@ +// 021-2 Tulimshar mobs + + + +021-2.gat,0,0,0 script Mob021-2 -1,{ + end; +} diff --git a/npc/021-2_Tulimshar/_warps.txt b/npc/021-2_Tulimshar/_warps.txt new file mode 100644 index 00000000..982c026b --- /dev/null +++ b/npc/021-2_Tulimshar/_warps.txt @@ -0,0 +1,2 @@ +// 021-2 Tulimshar warps + diff --git a/npc/022-1_Beach_Cliffs/_import.txt b/npc/022-1_Beach_Cliffs/_import.txt new file mode 100644 index 00000000..6dab9d52 --- /dev/null +++ b/npc/022-1_Beach_Cliffs/_import.txt @@ -0,0 +1,3 @@ +map: 022-1.gat +npc: npc/022-1_Beach_Cliffs/_mobs.txt +npc: npc/022-1_Beach_Cliffs/_warps.txt diff --git a/npc/022-1_Beach_Cliffs/_mobs.txt b/npc/022-1_Beach_Cliffs/_mobs.txt new file mode 100644 index 00000000..7dfedcec --- /dev/null +++ b/npc/022-1_Beach_Cliffs/_mobs.txt @@ -0,0 +1,7 @@ +// 022-1 Beach Cliffs mobs + + + +022-1.gat,0,0,0 script Mob022-1 -1,{ + end; +} diff --git a/npc/022-1_Beach_Cliffs/_warps.txt b/npc/022-1_Beach_Cliffs/_warps.txt new file mode 100644 index 00000000..c856a583 --- /dev/null +++ b/npc/022-1_Beach_Cliffs/_warps.txt @@ -0,0 +1,4 @@ +// 022-1 Beach Cliffs warps + +022-1.gat,84,113 warp ToSandstorm 1,-1,002-1.gat,29,15 +022-1.gat,37,111 warp ToBeach 1,-1,003-1.gat,141,21 diff --git a/npc/_import.txt b/npc/_import.txt index df218035..74464305 100644 --- a/npc/_import.txt +++ b/npc/_import.txt @@ -6,6 +6,7 @@ import: npc/002-3_Desert_mines/_import.txt import: npc/002-4_Desert_mines/_import.txt import: npc/003-1_Beach/_import.txt import: npc/004-1_Beach/_import.txt +import: npc/004-2_Beach_House/_import.txt import: npc/005-1_Snake_desert/_import.txt import: npc/005-3_Snake_pit/_import.txt import: npc/006-1_Desert_mountains/_import.txt @@ -34,7 +35,10 @@ import: npc/018-1_Woodland_mining_camp/_import.txt import: npc/018-2_Woodland_minning_camp/_import.txt import: npc/018-3_Cave/_import.txt import: npc/019-1_Snow_field/_import.txt -import: npc/020-1/_import.txt -import: npc/020-2/_import.txt +import: npc/020-1_Nivalis/_import.txt +import: npc/020-2_Nivalis/_import.txt import: npc/020-3_Ice_cave/_import.txt import: npc/020-4_Ice_cave/_import.txt +import: npc/021-1_Tulimshar/_import.txt +import: npc/021-2_Tulimshar/_import.txt +import: npc/022-1_Beach_Cliffs/_import.txt diff --git a/npc/functions/game_rules.txt b/npc/functions/game_rules.txt index 83e69d73..d486e6f9 100644 --- a/npc/functions/game_rules.txt +++ b/npc/functions/game_rules.txt @@ -1,6 +1,8 @@ // function script GameRules { + set @read, 0; + menu "English", L_English, "Deutsch (German)", L_German, @@ -132,6 +134,7 @@ L_Polish: goto L_End; L_End: + set @read, 1; set TUT_var, TUT_var | 1; return; } |