summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorZuzanna K. Filutowska <platyna@users.sourceforge.net>2006-02-21 22:15:05 +0000
committerZuzanna K. Filutowska <platyna@users.sourceforge.net>2006-02-21 22:15:05 +0000
commit5b8d1b4f20a117e071e4ab57bd16be3215c20a06 (patch)
tree3f30e2ac87f1d8ba29c690a3f1f375d399d94362 /npc
parent951d8a7523e75a90996c4bf6bf30796cd1142135 (diff)
downloadserverdata-5b8d1b4f20a117e071e4ab57bd16be3215c20a06.tar.gz
serverdata-5b8d1b4f20a117e071e4ab57bd16be3215c20a06.tar.bz2
serverdata-5b8d1b4f20a117e071e4ab57bd16be3215c20a06.tar.xz
serverdata-5b8d1b4f20a117e071e4ab57bd16be3215c20a06.zip
Initial revision
Diffstat (limited to 'npc')
-rw-r--r--npc/cave-small/hermit.txt14
-rw-r--r--npc/cave-small/monsters.txt1
-rw-r--r--npc/cave1/miners.txt41
-rw-r--r--npc/cave1/monsters.txt26
-rw-r--r--npc/cave1/passages.txt4
-rw-r--r--npc/cave2/chest.txt28
-rw-r--r--npc/cave2/monsters.txt25
-rw-r--r--npc/cave2/passages.txt4
-rw-r--r--npc/eastern-desert/monsters.txt2
-rw-r--r--npc/eastern-desert/passages.txt4
-rw-r--r--npc/tulimshar-casino/casino.txt360
-rw-r--r--npc/tulimshar/banker.txt1
-rw-r--r--npc/tulimshar/elanore.txt132
-rw-r--r--npc/tulimshar/guide.txt87
-rw-r--r--npc/tulimshar/man.txt18
-rw-r--r--npc/tulimshar/merchant.txt1
-rw-r--r--npc/tulimshar/passages.txt2
-rw-r--r--npc/tulimshar/rewards_master.txt185
-rw-r--r--npc/tulimshar/sandra.txt81
-rw-r--r--npc/tulimshar/vincent.txt90
-rw-r--r--npc/western-desert/dark_mage.txt37
-rw-r--r--npc/western-desert/merchant.txt1
-rw-r--r--npc/western-desert/monsters.txt3
-rw-r--r--npc/western-desert/nomads.txt23
-rw-r--r--npc/western-desert/passages.txt4
-rw-r--r--npc/woodland/alchemist.txt39
-rw-r--r--npc/woodland/monsters.txt2
-rw-r--r--npc/woodland/passages.txt54
-rw-r--r--npc/xmas/monsters.txt2
-rw-r--r--npc/xmas/santa.txt50
-rw-r--r--npc/xmas/snowman.txt44
-rw-r--r--npc/xmas/taro.txt13
32 files changed, 1378 insertions, 0 deletions
diff --git a/npc/cave-small/hermit.txt b/npc/cave-small/hermit.txt
new file mode 100644
index 00000000..671c2eea
--- /dev/null
+++ b/npc/cave-small/hermit.txt
@@ -0,0 +1,14 @@
+new_4-1.gat,30,30,0 script Hermit 116,{
+ mes "[Hermit]";
+ mes "Do you want to go back outside?";
+ next;
+ menu
+ "Yes please",yes,
+ "Not yet",notyet;
+yes:
+ warp "new_9-1.gat",60,95;
+ close;
+notyet:
+ close;
+
+} \ No newline at end of file
diff --git a/npc/cave-small/monsters.txt b/npc/cave-small/monsters.txt
new file mode 100644
index 00000000..feeb5ea9
--- /dev/null
+++ b/npc/cave-small/monsters.txt
@@ -0,0 +1 @@
+new_4-1.gat,0,0,0,0 monster Bat 1017,20,0,0,0 \ No newline at end of file
diff --git a/npc/cave1/miners.txt b/npc/cave1/miners.txt
new file mode 100644
index 00000000..0e6ed68d
--- /dev/null
+++ b/npc/cave1/miners.txt
@@ -0,0 +1,41 @@
+new_2-1.gat,35,35,6 script Miner 109,{
+ mes "[Miner]";
+ mes "It's very dangerous in here";
+ mes "Be careful";
+ close;
+}
+
+new_1-1.gat,19,99,0 shop CaveShop 109,525:800,531:3000,530:8000,1199:2
+
+new_5-1.gat,32,94,6 script Lift 109,{
+ mes "[Miner]";
+ mes "Do you want me to lift you to the upper level?";
+ next;
+ menu
+ "Sure",sure,
+ "Not yet!",notyet;
+
+sure:
+ warp "new_2-1.gat",87,99;
+ close;
+
+notyet:
+ close;
+}
+
+new_2-1.gat,85,97,6 script LiftDown 109,{
+ mes "[Miner]";
+ mes "We discovered an underground palace";
+ mes "Do you want me to let you in?";
+ next;
+ menu
+ "Sure",sure,
+ "Not yet!",notyet;
+
+sure:
+ warp "new_5-1.gat",34,92;
+ close;
+
+notyet:
+ close;
+}
diff --git a/npc/cave1/monsters.txt b/npc/cave1/monsters.txt
new file mode 100644
index 00000000..302bfb1b
--- /dev/null
+++ b/npc/cave1/monsters.txt
@@ -0,0 +1,26 @@
+// Map: new_2-1
+// This is the cave below Tulimshar entrance -- lv1
+//
+// ALWAYS keep a backup file before edit (experience :)
+// The last param is the Event on Mobdeath
+//
+
+new_2-1.gat,0,0,0,0 monster RedSlime 1008,30,2500,0,ConquestMob2::OnRedSlime
+new_2-1.gat,0,0,0,0 monster ScorpionB 1009,15,2500,0,ConquestMob2::OnScorpB
+
+
+new_2-1.gat,0,0,0 script ConquestMob2 -1,{
+// id 1008 = Red Slime
+OnRedSlime:
+ if (MPQUEST == 1) set Mobpt,Mobpt+18;
+ break;
+
+// id 1009 == Black Scorpion
+OnScorpB:
+ if (MPQUEST == 1) set Mobpt,Mobpt+45;
+ break;
+end;
+}
+
+
+
diff --git a/npc/cave1/passages.txt b/npc/cave1/passages.txt
new file mode 100644
index 00000000..ec363db0
--- /dev/null
+++ b/npc/cave1/passages.txt
@@ -0,0 +1,4 @@
+new_2-1.gat,36,30 warp caveexit 3,0,new_1-1.gat,25,95
+new_1-1.gat,19,94 warp caveentrance 1,1,new_2-1.gat,37,31
+new_1-1.gat,111,79 warp eastdesert 2,2,new_7-1.gat,23,40
+new_7-1.gat,18,39 warp westdesert 3,4,new_1-1.gat,106,78 \ No newline at end of file
diff --git a/npc/cave2/chest.txt b/npc/cave2/chest.txt
new file mode 100644
index 00000000..4da805f2
--- /dev/null
+++ b/npc/cave2/chest.txt
@@ -0,0 +1,28 @@
+new_5-1.gat,93,37,0 script Treasure 111,{
+ if( ChestQuest == 1) goto done;
+ mes "[Chest]";
+ mes "Would you try to open it?";
+ next;
+ menu "Yup",L_1,"Nope",L_2;
+
+L_1:
+ if(countitem(537)<3)goto L_3;
+ delitem 537,3;
+ getitem 536,1;
+ mes "[Chest]";
+ mes "You opened it and found a short sword!";
+ set ChestQuest,1;
+ close;
+
+L_2:
+ close;
+
+L_3:
+ mes "It seems that this is not the right key...";
+ close;
+ done:
+ mes "[Chest]";
+ mes "You already opened this chest.";
+ close;
+
+}
diff --git a/npc/cave2/monsters.txt b/npc/cave2/monsters.txt
new file mode 100644
index 00000000..c1d5e28b
--- /dev/null
+++ b/npc/cave2/monsters.txt
@@ -0,0 +1,25 @@
+// Map: new_5-1
+// This is the cave below Tulimshar second level aka "Underground Palace"
+//
+// ALWAYS keep a backup file before edit (experience :)
+// The last param is the Event on Mobdeath
+//
+
+new_5-1.gat,0,0,0,0 monster Spider 1012,10,2500,0,ConquestMob5::OnSpider
+new_5-1.gat,0,0,0,0 monster SlimeY 1007,25,2500,0,ConquestMob5::OnSlimeY
+
+new_5-1.gat,0,0,0 script ConquestMob5 -1,{
+// id 1012 = Spider
+OnSpider:
+ if (MPQUEST == 1) set Mobpt,Mobpt+56;
+ break;
+
+// id 1007 == Yellow Slime
+OnSlimeY:
+ if (MPQUEST == 1) set Mobpt,Mobpt+9;
+ break;
+end;
+}
+
+
+
diff --git a/npc/cave2/passages.txt b/npc/cave2/passages.txt
new file mode 100644
index 00000000..ec363db0
--- /dev/null
+++ b/npc/cave2/passages.txt
@@ -0,0 +1,4 @@
+new_2-1.gat,36,30 warp caveexit 3,0,new_1-1.gat,25,95
+new_1-1.gat,19,94 warp caveentrance 1,1,new_2-1.gat,37,31
+new_1-1.gat,111,79 warp eastdesert 2,2,new_7-1.gat,23,40
+new_7-1.gat,18,39 warp westdesert 3,4,new_1-1.gat,106,78 \ No newline at end of file
diff --git a/npc/eastern-desert/monsters.txt b/npc/eastern-desert/monsters.txt
new file mode 100644
index 00000000..54999fd9
--- /dev/null
+++ b/npc/eastern-desert/monsters.txt
@@ -0,0 +1,2 @@
+new_7-1.gat,0,0,0,0 monster Maggot 1002,20,0,0,0
+new_7-1.gat,0,0,0,0 monster Snake 1010,20,0,0,0 \ No newline at end of file
diff --git a/npc/eastern-desert/passages.txt b/npc/eastern-desert/passages.txt
new file mode 100644
index 00000000..ec363db0
--- /dev/null
+++ b/npc/eastern-desert/passages.txt
@@ -0,0 +1,4 @@
+new_2-1.gat,36,30 warp caveexit 3,0,new_1-1.gat,25,95
+new_1-1.gat,19,94 warp caveentrance 1,1,new_2-1.gat,37,31
+new_1-1.gat,111,79 warp eastdesert 2,2,new_7-1.gat,23,40
+new_7-1.gat,18,39 warp westdesert 3,4,new_1-1.gat,106,78 \ No newline at end of file
diff --git a/npc/tulimshar-casino/casino.txt b/npc/tulimshar-casino/casino.txt
new file mode 100644
index 00000000..dae9324f
--- /dev/null
+++ b/npc/tulimshar-casino/casino.txt
@@ -0,0 +1,360 @@
+// Warps room 1
+new_8-1.gat,45,24 warp upstairs 0,2,new_8-1.gat,65,25
+new_8-1.gat,25,36 warp outside 0,2,new_3-1.gat,33,73
+new_3-1.gat,32,72 warp inside 1,0,new_8-1.gat,25,34
+// Warps room 2
+new_8-1.gat,65,25 warp downstairs 0,1,new_8-1.gat,42,25
+new_8-1.gat,68,22 warp tocasino 2,0,new_8-1.gat,32,72
+new_8-1.gat,67,31 warp tobedroom1 1,1,new_8-1.gat,102,23
+new_8-1.gat,76,31 warp tobedroom2 1,1,new_8-1.gat,130,23
+// Warps room 3
+new_8-1.gat,102,22 warp bedroom1tohall 2,0,new_8-1.gat,67,29
+// Warps room 4
+new_8-1.gat,130,22 warp bedroom2tohall 2,0,new_8-1.gat,76,29
+// Warps room 5
+new_8-1.gat,32,74 warp tohall 1,0,new_8-1.gat,68,23
+
+new_8-1.gat,26,26,0 shop InnKeeper 112,539:175,513:20,519
+
+new_8-1.gat,103,26,0 script Waitress 118,{
+ mes "[Rebecca]";
+ mes "Would you like to rest? It's only 100 gp.";
+ next;
+
+ menu "Yes",-,"No",L_No;
+ mes "Sleep well!";
+ next;
+
+ if (zeny < 100) goto L_NoMoney;
+ set zeny,zeny-100;
+ heal 10000,10000;
+ close;
+
+L_No:
+ mes "See you.";
+ close;
+
+L_NoMoney:
+ mes "Hey! You don't have enough money!";
+ close;
+}
+
+new_8-1.gat,134,23,0 script Worker 117,{
+ mes "[Valdo]";
+ mes "Please let me work, I'm really in a hurry!";
+ close;
+}
+
+new_8-1.gat,37,65,0 script Slot1 127,{
+ mes "Pull the lever...";
+ next;
+
+ if(countitem(503) < 1) goto L_NoCoin;
+ delitem 503,1;
+ set @Temp1,rand(7);
+ set @Temp2,rand(7);
+ set @Temp3,rand(7);
+ mes "Numbers: "+ @Temp1 +"/"+ @Temp2 +"/"+ @Temp3 +"";
+ next;
+
+ if(@Temp1 != @Temp2) goto L_Lost;
+ if(@Temp2 != @Temp3) goto L_Lost;
+ if(@Temp1 != @Temp3) goto L_Lost;
+ mes "Congratulations! You won!";
+ mes "You get 10 casino coins";
+ getitem 503,10;
+ close;
+
+L_Lost:
+ mes "You lost!";
+ close;
+
+L_NoCoin:
+ mes "Insert coin";
+ close;
+}
+
+new_8-1.gat,39,65,0 script Slot2 127,{
+ mes "Pull the lever...";
+ next;
+
+ if(countitem(503) < 1) goto L_NoCoin;
+ delitem 503,1;
+ set @Temp1,rand(7);
+ set @Temp2,rand(7);
+ set @Temp3,rand(7);
+ mes "Numbers: "+ @Temp1 +"/"+ @Temp2 +"/"+ @Temp3 +"";
+ next;
+
+ if(@Temp1 != @Temp2) goto L_Lost;
+ if(@Temp2 != @Temp3) goto L_Lost;
+ if(@Temp1 != @Temp3) goto L_Lost;
+ mes "Congratulations! You won!";
+ mes "You get 10 casino coins";
+ getitem 503,10;
+ close;
+
+L_Lost:
+ mes "You lost!";
+ close;
+
+L_NoCoin:
+ mes "Insert coin";
+ close;
+}
+
+new_8-1.gat,41,65,0 script Slot3 127,{
+ mes "Pull the lever...";
+ next;
+
+ if(countitem(503) < 1) goto L_NoCoin;
+ delitem 503,1;
+ set @Temp1,rand(7);
+ set @Temp2,rand(7);
+ set @Temp3,rand(7);
+ mes "Numbers: "+ @Temp1 +"/"+ @Temp2 +"/"+ @Temp3 +"";
+ next;
+
+ if(@Temp1 != @Temp2) goto L_Lost;
+ if(@Temp2 != @Temp3) goto L_Lost;
+ if(@Temp1 != @Temp3) goto L_Lost;
+ mes "Congratulations! You won!";
+ mes "You get 10 casino coins";
+ getitem 503,10;
+ close;
+
+L_Lost:
+ mes "You lost!";
+ close;
+
+L_NoCoin:
+ mes "Insert coin";
+ close;
+}
+
+new_8-1.gat,32,67,0 shop MoneyChanger 124,503:10
+
+new_8-1.gat,28,63,0 script BlackJack 107,{
+ mes "[Croupier]";
+ mes "Would you like to play Black Jack?";
+ mes "You will need 15 casino coins";
+ next;
+
+ menu "Yes",-,"No",L_No;
+ if(countitem(503) < 15) goto L_NoCoin;
+ delitem 503,15;
+ set @croupier,rand(0, 4);
+ set @croupier,@croupier + 17;
+ set @player,rand(4, 20);
+ mes "You got " + @player + " with your cards.";
+ mes "Do you want another card?";
+ next;
+
+ menu "Yes",L_Another,"No",L_End;
+
+L_Another:
+ set @player,@player+rand(2, 11);
+ if (@player > 21) goto L_Lost;
+ mes "You got " + @player + " with your cards.";
+ mes "Do you want another card?";
+ next;
+
+ menu "Yes",L_Another,"No",L_End;
+L_End:
+ if (@player < @croupier) goto L_Lost;
+ mes "Congratulations, you won!";
+ mes "I had " + @croupier + "";
+ mes "You get 50 casino coins";
+ getitem 503,50;
+ close;
+
+L_No:
+ mes "As you wish";
+ close;
+
+L_NoCoin:
+ mes "You need at least 15 coins";
+ close;
+
+L_Lost:
+ mes "I'm sorry but you lost";
+ mes "You got " + @player + " with your cards.";
+ mes "I had " + @croupier + "";
+ close;
+}
+
+new_8-1.gat,22,69,0 script Roulette 107,{
+ mes "Good evening monsieur...";
+ mes "How much would you like to bet?";
+ next;
+
+ menu "Maybe I'll play later",L_Later,"1 coin",-,"5 coins",L_b5,"10 coins",L_b10,"50 coins",L_b50,"100 coins",L_b100;
+ set @bet,1;
+ goto L_Check;
+L_b5:
+ set @bet,5;
+ goto L_Check;
+L_b10:
+ set @bet,10;
+ goto L_Check;
+L_b50:
+ set @bet,50;
+ goto L_Check;
+L_b100:
+ set @bet,100;
+ goto L_Check;
+
+L_Check:
+ if(countitem(503) < @bet) goto L_NoCoin;
+ delitem 503,@bet;
+ menu "Choose a color",-,"Choose a number",L_Number;
+ menu "Black",-,"Red",-;
+ set @color,rand(2);
+ if(@color == 1) goto L_Lost;
+ mes "You won!";
+ getitem 503,@bet * 2;
+ close;
+
+L_Number:
+ menu "0",-,"00",L00,"1",L1,"2",L2,"3",L3,"4",L4,"5",L5,"6",L6,"7",L7,
+ "8",L8,"9",L9,"10",L10,"11",L11,"12",L12,"13",L13,"14",L14,"15",L15,
+ "16",L16,"17",L17,"18",L18,"19",L19,"20",L20,"21",L21,"22",L22,
+ "23",L23,"24",L24,"25",L25,"26",L26,"27",L27,"28",L28,"29",L29,
+ "30",L30,"31",L31,"32",L32,"33",L33,"34",L34,"35",L35,"36",L36;
+ set @number,0;
+ goto L_CheckNumber;
+L00:
+ set @number,37;
+ goto L_CheckNumber;
+L1:
+ set @number,1;
+ goto L_CheckNumber;
+L2:
+ set @number,2;
+ goto L_CheckNumber;
+L3:
+ set @number,3;
+ goto L_CheckNumber;
+L4:
+ set @number,4;
+ goto L_CheckNumber;
+L5:
+ set @number,5;
+ goto L_CheckNumber;
+L6:
+ set @number,6;
+ goto L_CheckNumber;
+L7:
+ set @number,7;
+ goto L_CheckNumber;
+L8:
+ set @number,8;
+ goto L_CheckNumber;
+L9:
+ set @number,9;
+ goto L_CheckNumber;
+L10:
+ set @number,10;
+ goto L_CheckNumber;
+L11:
+ set @number,11;
+ goto L_CheckNumber;
+L12:
+ set @number,12;
+ goto L_CheckNumber;
+L13:
+ set @number,13;
+ goto L_CheckNumber;
+L14:
+ set @number,14;
+ goto L_CheckNumber;
+L15:
+ set @number,15;
+ goto L_CheckNumber;
+L16:
+ set @number,16;
+ goto L_CheckNumber;
+L17:
+ set @number,17;
+ goto L_CheckNumber;
+L18:
+ set @number,18;
+ goto L_CheckNumber;
+L19:
+ set @number,19;
+ goto L_CheckNumber;
+L20:
+ set @number,20;
+ goto L_CheckNumber;
+L21:
+ set @number,21;
+ goto L_CheckNumber;
+L22:
+ set @number,22;
+ goto L_CheckNumber;
+L23:
+ set @number,23;
+ goto L_CheckNumber;
+L24:
+ set @number,24;
+ goto L_CheckNumber;
+L25:
+ set @number,25;
+ goto L_CheckNumber;
+L26:
+ set @number,26;
+ goto L_CheckNumber;
+L27:
+ set @number,27;
+ goto L_CheckNumber;
+L28:
+ set @number,28;
+ goto L_CheckNumber;
+L29:
+ set @number,29;
+ goto L_CheckNumber;
+L30:
+ set @number,30;
+ goto L_CheckNumber;
+L31:
+ set @number,31;
+ goto L_CheckNumber;
+L32:
+ set @number,32;
+ goto L_CheckNumber;
+L33:
+ set @number,33;
+ goto L_CheckNumber;
+L34:
+ set @number,34;
+ goto L_CheckNumber;
+L35:
+ set @number,35;
+ goto L_CheckNumber;
+L36:
+ set @number,36;
+ goto L_CheckNumber;
+
+L_CheckNumber:
+ set @roulette,rand(38);
+ if (@roulette == 37) mes "We got a 00";
+ if (@roulette < 37) mes "We got a " + @roulette;
+ if (@number != @roulette) goto L_Lost;
+ mes "You won!";
+ getitem 503,@bet * 10;
+ close;
+
+L_Later:
+ mes "Rien ne va plus...";
+ close;
+
+L_NoCoin:
+ mes "You don't have enough coins";
+ close;
+
+L_Lost:
+ mes "I'm sorry, you lost";
+ close;
+}
+
+
diff --git a/npc/tulimshar/banker.txt b/npc/tulimshar/banker.txt
new file mode 100644
index 00000000..7cd4a2b3
--- /dev/null
+++ b/npc/tulimshar/banker.txt
@@ -0,0 +1 @@
+new_3-1.gat,27,73,0 script Banker 107,{mes "[Banker]";mes "Welcome to the bank!";mes "How can I help you?";next;menu "Deposite",L_Dep,"Withdraw",L_With,"Nevermind that",L_Nev;L_Dep: mes "Sorry, but we're still moving inventory!"; close;L_With: mes "Sorry, but we're still moving inventory!"; close;L_Nev: mes "Goodbye then"; close;} \ No newline at end of file
diff --git a/npc/tulimshar/elanore.txt b/npc/tulimshar/elanore.txt
new file mode 100644
index 00000000..6348dd6c
--- /dev/null
+++ b/npc/tulimshar/elanore.txt
@@ -0,0 +1,132 @@
+//Heal NPC costs 100 money
+
+new_3-1.gat,40,66,0 script Elanore 108,{
+
+ if (baselevel > 10) goto L_NoHeal;
+
+ set @TEMP,rand(3);
+
+ if(@TEMP == 0) goto Heal1;
+
+ if(@TEMP == 1) goto Heal2;
+
+ if(@TEMP == 2) goto Heal3;
+
+ if(@TEMP == 3) goto Heal4;
+
+Heal1:
+
+ mes "[Elanore]";
+
+ mes "You don't look too well, let me treat your wounds.";
+
+ next;
+
+ goto Heal_L;
+
+
+
+Heal2:
+
+ mes "[Elanore]";
+
+ mes "I will make quick work of your wounds.";
+
+ next;
+
+ goto Heal_L;
+
+
+
+Heal3:
+
+ mes "[Elanore]";
+
+ mes "Need a healing?.";
+
+ next;
+
+ goto Heal_L;
+
+
+
+Heal4:
+
+ mes "[Elanore]";
+
+ mes "Sometimes you just need to run from battle.";
+
+ next;
+
+ goto Heal_L;
+
+
+
+Heal_L:
+
+ if(@TEMP == 0) goto Heal_1;
+
+ if(@TEMP == 1) goto Heal_2;
+
+ if(@TEMP == 2) goto Heal_3;
+
+ if(@TEMP == 3) goto Heal_4;
+
+Heal_1:
+
+ mes "[Elanore]";
+
+ mes "Here you go!";
+
+ heal 10000,10000;
+
+ close;
+
+
+
+Heal_2:
+
+ mes "[Elanore]";
+
+ mes "Painless wasnt it?";
+
+ mes "Here you go!";
+
+ heal 10000,10000;
+
+ close;
+
+Heal_3:
+
+ mes "[Elanore]";
+
+ mes "You should be more careful.";
+
+ heal 10000,10000;
+
+ close;
+
+Heal_4:
+
+ mes "[Elanore]";
+
+ mes "Much better right?!";
+
+ heal 10000,10000;
+
+ close;
+
+L_NoHeal:
+
+ mes "[Elanore]";
+
+ mes "I'm sorry but I'm here only to help young people.";
+
+ mes "Your level is already higher than 10.";
+
+ mes "You can get some rest in the inn near here.";
+
+ close;
+
+}
+
diff --git a/npc/tulimshar/guide.txt b/npc/tulimshar/guide.txt
new file mode 100644
index 00000000..33f380ad
--- /dev/null
+++ b/npc/tulimshar/guide.txt
@@ -0,0 +1,87 @@
+new_3-1.gat,33,30,0 script Guide 102,{
+ mes "[Guide]";
+ mes "Would you like to know about something?";
+ next;
+ menua:
+ menu "Fighting",L_Fight,"Items",L_Items,"Monsters",L_Monster,"Stylist",L_Style,"Quests",L_Quests,"NPCs",L_NPC,"Commands",L_Comm,"Quick Keys",L_Key,"I know everything!",L_Know;
+L_Fight:
+ mes "[Guide]";
+ mes "People live in this world by living off of monsters";
+ mes "You can fight monsters and even players by hitting the [CTRL] key, or left mouse click.";
+ next;
+ mes "[Guide]";
+ mes "If you get tired of pressing the key too much, you can also type shift+ctrl";
+ mes "This will make your character attack continuously for the time you are inactive.";
+ next;
+ goto menua;
+L_Items:
+ mes "[Guide]";
+ mes "There are three types of items.";
+ mes "They can be Consumables, Equipment, or Miscellaneous";
+ next;
+ mes "[Guide]";
+ mes "Consumable items such as Potions, can be used only once";
+ mes "after use, they will dissapear from your inventory.";
+ next;
+ mes "[Guide]";
+ mes "Equipment items like Armors, Weapons, Accessories";
+ mes "can be equipped for fashionable purposes or to raise your status";
+ next;
+ mes "[Guide]";
+ mes "Miscellaneous items such as maggot slime, are used";
+ mes "in creating other items, or just to trade and sell.";
+ next;
+ goto menua;
+L_Monster:
+ mes "[Guide]";
+ mes "In every world, there are beasts. Monsters can be found almost anywhere!~";
+ mes "To fight them, please read [Fighting] if you do not know how";
+ next;
+ mes "There a several types of monsters, Aggressive, Neutral, Assistants";
+ next;
+ mes "[Guide]";
+ mes "Agressive monsters know that they are always in danger";
+ mes "so therefore they always keep their guard up";
+ mes "Making them attack anybody in sight";
+ next;
+ mes "[Guide]";
+ mes "Neutral monsters tend to just lounge around until attacked";
+ mes "They will leave everything alone unless they are threatened";
+ next;
+ mes "[Guide]";
+ mes "Assistants are monsters who help eachother, there havent been any yet";
+ mes "But there soon will be, These monsters attack in groups if they are threatened";
+ next;
+ goto menua;
+L_Style:
+ mes "[Guide]";
+ mes "The stylist NPC will cut and perm your hair!";
+ mes "they are known for their hair growth formula";
+ next;
+ goto menua;
+L_Quests:
+ mes "[Guide]";
+ mes "There are people in the world in need of help!";
+ mes "Most of these people aren't afraid to give rewards to those who help them";
+ mes "So be nice and help people along the way!";
+ next;
+ goto menua;
+L_NPC:
+ mes "[Guide]";
+ mes "NPC[Non Playable Characters] are people who are always in the game";
+ mes "Tending to many variatys of services from just chatting to helping others.";
+ next;
+ goto menua;
+L_Comm:
+ mes "[Guide]";
+ mes "There are no /Commands available currently";
+ next;
+ goto menua;
+L_Key:
+ mes "[Guide]";
+ mes "There are many key combinations, press F1 for a short list of them!";
+ next;
+ goto menua;
+L_Know:
+ close;
+}
diff --git a/npc/tulimshar/man.txt b/npc/tulimshar/man.txt
new file mode 100644
index 00000000..6fb28fb4
--- /dev/null
+++ b/npc/tulimshar/man.txt
@@ -0,0 +1,18 @@
+new_3-1.gat,114,43,0 script Guard 102,{
+ mes "[Man]";
+ mes "Ouch! It hurts, this wound I got from battle.";
+ next;
+ menu "Tell me about it",L_Exp,"Nevermind",L_Nev;
+
+L_Exp:
+ mes "I was fighting scorpions for experience and I bumped into a RED one. I had NEVER seen it before!";
+ next;
+ mes "Luckily i had a camera with me! Here's a picture of it... Let me find it, I put it in my pocket somewhere...";
+ next;
+ mes "Oh man! My pockets have been ripped clean off!";
+ close;
+
+L_Nev:
+ mes "Hmpf!";
+ close;
+}
diff --git a/npc/tulimshar/merchant.txt b/npc/tulimshar/merchant.txt
new file mode 100644
index 00000000..75070c7d
--- /dev/null
+++ b/npc/tulimshar/merchant.txt
@@ -0,0 +1 @@
+new_3-1.gat,54,45,0 shop Neko 101,501:50,502:60,1201:100,1202:1000,522:300,521:1000,523:8000
diff --git a/npc/tulimshar/passages.txt b/npc/tulimshar/passages.txt
new file mode 100644
index 00000000..afecf42e
--- /dev/null
+++ b/npc/tulimshar/passages.txt
@@ -0,0 +1,2 @@
+new_1-1.gat,56,12 warp totown 5,1,new_3-1.gat,44,80
+new_3-1.gat,42,88 warp tofield 5,2,new_1-1.gat,58,17
diff --git a/npc/tulimshar/rewards_master.txt b/npc/tulimshar/rewards_master.txt
new file mode 100644
index 00000000..7f0c07e0
--- /dev/null
+++ b/npc/tulimshar/rewards_master.txt
@@ -0,0 +1,185 @@
+new_3-1.gat,55,51,0 script Rewards 106,{
+ if (MPQUEST == 0) goto Register;
+
+ mes "[Rewards Master]";
+ mes "Welcome! Would you like to exchange some points for items?";
+ next;
+ menu "Yes",Y1,"No Thanks",LEAVE;
+ next;
+
+Register:
+ mes "[Rewards Master]";
+ mes "Hey, it seems like you didn't register as a quest participant yet! You can sign up at the gate below.";
+ close;
+
+Y1:
+ mes "[Rewards Master]";
+ mes "Ok lets check those points.";
+ if (tvis == 0) set tvis,1;
+ if (Mobpt < tvis) goto NotEnough;
+ set Mobpt,Mobpt-tvis;
+ set tvis,tvis+1;
+ next;
+ set @TEMP,rand(1);
+ if(@TEMP ==0) goto R_1;
+ if(@TEMP ==1) goto R_2;
+R_1:
+ set @TEMP,rand(19);
+ if(@TEMP ==0) goto R1_1;
+ if(@TEMP ==1) goto R1_2;
+ if(@TEMP ==2) goto R1_3;
+ if(@TEMP ==3) goto R1_4;
+ if(@TEMP ==4) goto R1_5;
+ if(@TEMP ==5) goto R1_6;
+ if(@TEMP ==6) goto R1_7;
+ if(@TEMP ==7) goto R1_8;
+ if(@TEMP ==8) goto R1_9;
+ if(@TEMP ==9) goto R1_10;
+ if(@TEMP ==10) goto R1_11;
+ if(@TEMP ==11) goto R1_12;
+ if(@TEMP ==12) goto R1_13;
+ if(@TEMP ==13) goto R1_14;
+ if(@TEMP ==14) goto R1_15;
+ if(@TEMP ==15) goto R1_16;
+ if(@TEMP ==16) goto R1_17;
+ if(@TEMP ==17) goto R1_18;
+ if(@TEMP ==18) goto R1_19;
+ if(@TEMP ==19) goto R1_20;
+
+R1_1:
+ mes "[Rewards Master]";
+ mes "You got Cactus Drink.";
+ getitem 501,1;
+ goto Q;
+R1_2:
+ mes "[Rewards Master]";
+ mes "You got Cactus Potion.";
+ getitem 502,1;
+ goto Q;
+R1_3:
+ mes "[Rewards Master]";
+ mes "You got Casino Coins.";
+ getitem 503,1;
+ goto Q;
+R1_4:
+ mes "[Rewards Master]";
+ mes "You got Decor Candy Cane.";
+ getitem 504,1;
+ goto Q;
+R1_5:
+ mes "[Rewards Master]";
+ mes "You got Maggot Slime.";
+ getitem 505,1;
+ goto Q;
+R1_6:
+ mes "[Rewards Master]";
+ mes "You got Candy Cane.";
+ getitem 506,1;
+ goto Q;
+R1_7:
+ mes "[Rewards Master]";
+ mes "You got Scorpion Stinger.";
+ getitem 507,1;
+ goto Q;
+R1_8:
+ mes "[Rewards Master]";
+ mes "You got Xmas Cake.";
+ getitem 508,1;
+ goto Q;
+R1_9:
+ mes "[Rewards Master]";
+ mes "You got Chocolate Bar.";
+ getitem 509,1;
+ goto Q;
+R1_10:
+ mes "[Rewards Master]";
+ mes "You got Candy.";
+ getitem 510,1;
+ goto Q;
+R1_11:
+ mes "[Rewards Master]";
+ mes "You got Santa Hat.";
+ getitem 511,1;
+ goto Q;
+R1_12:
+ mes "[Rewards Master]";
+ mes "You got Ginger Bread Man.";
+ getitem 512,1;
+ goto Q;
+R1_13:
+ mes "[Rewards Master]";
+ mes "You got Cake.";
+ getitem 513,1;
+ goto Q;
+R1_14:
+ mes "[Rewards Master]";
+ mes "You got Candy Cane.";
+ getitem 514,1;
+ goto Q;
+R1_15:
+ mes "[Rewards Master]";
+ mes "You got Purple Present.";
+ getitem 515,1;
+ goto Q;
+R1_16:
+ mes "[Rewards Master]";
+ mes "You got Blue Present.";
+ getitem 516,1;
+ goto Q;
+R1_17:
+ mes "[Rewards Master]";
+ mes "You got Red Scorpion Stinger.";
+ getitem 517,1;
+ goto Q;
+R1_18:
+ mes "[Rewards Master]";
+ mes "You got Bug Leg.";
+ getitem 518,1;
+ goto Q;
+R1_19:
+ mes "[Rewards Master]";
+ mes "You got Cherry Cake.";
+ getitem 519,1;
+ goto Q;
+R1_20:
+ mes "[Rewards Master]";
+ mes "You got Easter Egg.";
+ getitem 520,1;
+ goto Q;
+
+R_2:
+ set @TEMP,rand(3);
+ if(@TEMP ==0) goto R2_1;
+ if(@TEMP ==1) goto R2_2;
+ if(@TEMP ==2) goto R2_3;
+ if(@TEMP ==3) goto R2_4;
+
+R2_1:
+ mes "[Rewards Master]";
+ mes "You got an Arrow.";
+ getitem 1199,1;
+ goto Q;
+R2_2:
+ mes "[Rewards Master]";
+ mes "You got a Bow.";
+ getitem 1200,1;
+ goto Q;
+R2_3:
+ mes "[Rewards Master]";
+ mes "You got a Knife.";
+ getitem 1201,1;
+ goto Q;
+R2_4:
+ mes "[Rewards Master]";
+ mes "You got an Cotton Shirt.";
+ getitem 1202,1;
+ goto Q;
+
+NotEnough:
+ next;
+ mes "[Rewards Master]";
+ mes "Kill some more monsters first.";
+ close;
+LEAVE:
+ close;
+}
diff --git a/npc/tulimshar/sandra.txt b/npc/tulimshar/sandra.txt
new file mode 100644
index 00000000..6a19ffa7
--- /dev/null
+++ b/npc/tulimshar/sandra.txt
@@ -0,0 +1,81 @@
+new_3-1.gat,72,61,0 script Sandra 114,{
+ if(Scorp == 2) goto done;
+ if(Scorp == 1) goto reas;
+ 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:
+ mes "[Sandra]";
+ mes "In the outskirts of Tulimshar, there wanders a red scorpion. I need a favor, please help me.";
+ next;
+ goto red;
+L_2:
+ 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:
+ mes "[Sandra]";
+ mes "The red scorpion stinger carries many properties used in potions.";
+ next;
+ goto red;
+L_4:
+ 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:
+ 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:
+ 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:
+ mes "[Sandra]";
+ mes "Bring me 5 [Red Stingers] and i will reward you greatly";
+ next;
+ goto set1;
+set1:
+ set Scorp,1;
+ mes "[Sandra]";
+ mes "Please bring me them!";
+ close;
+reas:
+ if(countitem(517) >= 5) goto have;
+ mes "[Sandra]";
+ mes "Please hurry and bring me 5 [Red Stingers]";
+ close;
+have:
+ mes "[Sandra]";
+ mes "Excelent!";
+ 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;
+ close;
+done:
+ mes "[Sandra]";
+ mes "Thank you for all your help!";
+ close;
+L_N:
+ close;
+}
diff --git a/npc/tulimshar/vincent.txt b/npc/tulimshar/vincent.txt
new file mode 100644
index 00000000..c485db32
--- /dev/null
+++ b/npc/tulimshar/vincent.txt
@@ -0,0 +1,90 @@
+new_3-1.gat,137,34,0 script Vincent 113,{
+ if(Bugleg == 1) goto reas;
+ if(Bugleg == 2) goto done;
+ 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:
+ mes "[Vincent]";
+ mes "I just need 30 more [Bug Legs] to finish my action figure!";
+ next;
+ goto main1;
+L_2:
+ mes "[Vincent]";
+ mes "This maggot action figure is awesome! I just need to attach [30 Part A{Bug Leg}]";
+ next;
+ goto main1;
+L_3:
+ mes "[Vincent]";
+ mes "This is a great action figure! A must have! All i need is a few parts...";
+ goto main1;
+L_4:
+ mes "[Vincent]";
+ mes "Can you get me 30 [Bug Legs]? I need them to replace the action figure parts.";
+ next;
+ goto main1;
+
+main1:
+ mes "[Vincent]";
+ mes "Will you help me find 30 [Bug Legs]?";
+ next;
+ menu "Yes",B_1,"No",B_2;
+B_1:
+ set Bugleg,1;
+ set @TEMP,rand(3);
+ if(@TEMP == 1) goto J_1;
+ if(@TEMP == 2) goto J_2;
+ if(@TEMP == 3) goto J_3;
+ if(@TEMP == 0) goto J_4;
+J_1:
+ mes "[Vincent]";
+ mes "Thank you!";
+ next;
+ goto main2;
+J_2:
+ mes "[Vincent]";
+ mes "I don't know how to thank you enough!";
+ next;
+ goto main2;
+J_3:
+ mes "[Vincent]";
+ mes "I will thank you when I get them!";
+ next;
+ goto main2;
+J_4:
+ mes "[Vincent]";
+ mes "I'm sure I will give a small reward. :D";
+ next;
+ goto main2;
+main2:
+ mes "[Vincent]";
+ mes "Now please go get me 30 [Bug Legs]";
+ close;
+reas:
+ if(countitem(518) >= 30) goto have;
+ mes "[Vincent]";
+ mes "Please help me collect 30 [Bug Legs]!";
+ close;
+have:
+ mes "[Vincent]";
+ mes "Excellent! Finally I can complete the model!!";
+ delitem 518,30;
+ next;
+ mes "[Vincent]";
+ mes "Here you go, a little of my appreciation!";
+ next;
+ mes "Got 1000 GP";
+ set zeny,zeny+1000;
+ set Bugleg,2;
+ close;
+done:
+ mes "[Vincent]";
+ mes "Thanks for your help!";
+ close;
+B_2:
+ close;
+}
+
diff --git a/npc/western-desert/dark_mage.txt b/npc/western-desert/dark_mage.txt
new file mode 100644
index 00000000..06d9b35b
--- /dev/null
+++ b/npc/western-desert/dark_mage.txt
@@ -0,0 +1,37 @@
+new_1-1.gat,24,24,0 script SoulThief 103,{
+
+ if (class == 1) goto L_Soul;
+ mes "[Dark Mage]";
+ mes "Psss hey would you like to have more power?";
+ next;
+
+ menu "You fool, that's not possible",-,"I'm listening...",L_Go;
+ close;
+
+L_Go:
+ mes "I can give you ancient powers that will let you become the greatest warrior in The Mana World, or the best merchant.";
+ mes "But everything has got his price...";
+ next;
+
+ mes "Oh nothing important nor expensive.";
+ mes "Just your soul!";
+ next;
+
+ menu "My soul? Here it is",L_Soul,"I need a better explanation!",-;
+
+ mes "Well there's a very small possibility that your player will be translated into the new server.";
+ mes "I said a very, very small possibility.";
+ mes "Players without a soul instead will be lost forever...";
+ mes "Come on, you won't loose that much!";
+ next;
+
+ menu "Hmmm ok, I guess you can take it.",L_Soul,"Maybe I'll think about it a bit more",-;
+ mes "I know you'll come here again when you'll get killed by a maggot, begging me to help you";
+ close;
+
+L_Soul:
+ mes "[Dark Mage]";
+ mes "Hrhrhr, your soul is finally mine!";
+ jobchange 1;
+ close;
+} \ No newline at end of file
diff --git a/npc/western-desert/merchant.txt b/npc/western-desert/merchant.txt
new file mode 100644
index 00000000..77f63d49
--- /dev/null
+++ b/npc/western-desert/merchant.txt
@@ -0,0 +1 @@
+new_1-1.gat,19,99,0 shop CaveShop 109,525:800,531:3000,530:8000,1199:5
diff --git a/npc/western-desert/monsters.txt b/npc/western-desert/monsters.txt
new file mode 100644
index 00000000..2b159894
--- /dev/null
+++ b/npc/western-desert/monsters.txt
@@ -0,0 +1,3 @@
+new_1-1.gat,0,0,0,0 monster GreenSlime 1005,50,0,0,0
+new_1-1.gat,0,0,0,0 monster GiantMaggot 1006,30,0,0,0
+new_1-1.gat,0,0,0,0 monster RedScorpion 1004,1,0,0,0
diff --git a/npc/western-desert/nomads.txt b/npc/western-desert/nomads.txt
new file mode 100644
index 00000000..1c747c5f
--- /dev/null
+++ b/npc/western-desert/nomads.txt
@@ -0,0 +1,23 @@
+new_1-1.gat,15,67,0 script Nomad1 132,{
+ mes "[Nomad]";
+ mes "This is really a nice place.";
+
+ mes "Don't you think so?";
+ close;
+}
+
+new_1-1.gat,18,68,0 script Nomad2 128,{
+ mes "[Nomad]";
+ mes "I found a passage to a green land through the mountains west of here";
+
+ mes "Do you want me to show you the way?";
+ next;
+ menu
+ "Sure",sure,
+ "No thank you",no;
+sure:
+ warp "new_9-1.gat",38,95; mes "I'll be awaiting you here."; mes "Tell me when you want to go back.";
+ close;
+no:
+ close;
+} \ No newline at end of file
diff --git a/npc/western-desert/passages.txt b/npc/western-desert/passages.txt
new file mode 100644
index 00000000..ec363db0
--- /dev/null
+++ b/npc/western-desert/passages.txt
@@ -0,0 +1,4 @@
+new_2-1.gat,36,30 warp caveexit 3,0,new_1-1.gat,25,95
+new_1-1.gat,19,94 warp caveentrance 1,1,new_2-1.gat,37,31
+new_1-1.gat,111,79 warp eastdesert 2,2,new_7-1.gat,23,40
+new_7-1.gat,18,39 warp westdesert 3,4,new_1-1.gat,106,78 \ No newline at end of file
diff --git a/npc/woodland/alchemist.txt b/npc/woodland/alchemist.txt
new file mode 100644
index 00000000..e065af34
--- /dev/null
+++ b/npc/woodland/alchemist.txt
@@ -0,0 +1,39 @@
+new_9-1.gat,117,77,0 script Alchemist 103,{
+ mes "[Alchemist]";
+ mes "I'm learning the ancient science of the alchemy.";
+ mes "I already know how to create a couple of potions!!";
+ next;
+
+ mes "[Alchemist]";
+ mes "Do you want me to create one for you?";
+ next;
+
+ menu "Iron potion",L_iron,"Concentration potion",L_concentration,"No thanks.",L_no;
+L_iron:
+ if(countitem(566) < 20) goto L_no_iron;
+ mes "[Alchemist]";
+ mes "Great! You brought me exactly what I need!";
+ mes "Here it is your Iron potion.";
+ delitem 566,20;
+ getitem 567,1;
+ close;
+
+L_concentration:
+ if(countitem(565) < 20) goto L_no_concentration;
+ mes "[Alchemist]";
+ mes "Great! You brought me exactly what I need!";
+ mes "Here it is your Concentration potion.";
+ delitem 565,20;
+ getitem 568,1;
+ close;
+
+L_no_iron:
+ mes "[Alchemist]";
+ mes "You have to bring me 20 small mushrooms.";
+ close;
+
+L_no_concentration:
+ mes "[Alchemist]";
+ mes "You have to bring me 20 petals.";
+ close;
+} \ No newline at end of file
diff --git a/npc/woodland/monsters.txt b/npc/woodland/monsters.txt
new file mode 100644
index 00000000..a25b251b
--- /dev/null
+++ b/npc/woodland/monsters.txt
@@ -0,0 +1,2 @@
+new_9-1.gat,0,0,0,0 monster EvilMushroom 1013,25,0,0,0
+new_9-1.gat,0,0,0,0 monster SleepFlower 1014,40,0,0,0
diff --git a/npc/woodland/passages.txt b/npc/woodland/passages.txt
new file mode 100644
index 00000000..ae94482f
--- /dev/null
+++ b/npc/woodland/passages.txt
@@ -0,0 +1,54 @@
+new_9-1.gat,58,91 warp tofield 1,1,new_4-1.gat,15,15
+new_9-1.gat,41,92,0 script Nomad3 131,{
+
+ mes "[Nomad]";
+
+ mes "Do you want to go back?";
+
+ next;
+
+ menu
+
+ "Yes please",yes,
+
+ "Not yet",notyet;
+
+yes:
+
+ warp "new_1-1.gat",18,70;
+
+ close;
+
+notyet:
+
+ close;
+
+}
+
+new_9-1.gat,73,29,0 script Child 114,{
+
+ mes "[Taro]";
+
+ mes "I saw Santa Claus going up this road.";
+
+ mes "Will you help me following him?";
+
+ next;
+
+ menu
+
+ "Of course, I'll help you!",yes,
+
+ "No, it's probably dangerous out there.",no;
+
+yes:
+
+ warp "new_10-1.gat",56,61;
+
+ close;
+
+no:
+
+ close;
+
+} \ No newline at end of file
diff --git a/npc/xmas/monsters.txt b/npc/xmas/monsters.txt
new file mode 100644
index 00000000..df7ad8a9
--- /dev/null
+++ b/npc/xmas/monsters.txt
@@ -0,0 +1,2 @@
+new_10-1.gat,0,0,0,0 monster SantaSlime 1015,10,0,0,0
+new_10-1.gat,0,0,0,0 monster RudolphSlime 1016,25,0,0,0 \ No newline at end of file
diff --git a/npc/xmas/santa.txt b/npc/xmas/santa.txt
new file mode 100644
index 00000000..a69afd81
--- /dev/null
+++ b/npc/xmas/santa.txt
@@ -0,0 +1,50 @@
+new_10-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;
+set ChristmasQuest2,1;
+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;
+ 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/xmas/snowman.txt b/npc/xmas/snowman.txt
new file mode 100644
index 00000000..23404c9f
--- /dev/null
+++ b/npc/xmas/snowman.txt
@@ -0,0 +1,44 @@
+new_10-1.gat,77,44,0 script Santa 129,{
+if( ChristmasQuest == 1) goto done;
+mes "[Snowman]";
+mes "Hello there young man.";
+mes "Would you like a Christmas hat?";
+next;
+L_M:
+menu "Yes",L_Y,"No",L_N,"What do you need?",L_R;
+ L_Y:
+ mes "[Snowman]";
+ mes "Hmm, let me see what you have.";
+ next;
+ if(countitem(510)<15) goto NoItem;
+ if(countitem(509)<20) goto NoItem;
+ if(countitem(502)<5) goto NoItem;
+ mes "Here you go, enjoy your new hat!";
+ delitem 510,15;
+ delitem 509,10;
+ delitem 502,5;
+ getitem 511,1;
+ set ChristmasQuest,1;
+ close;
+ L_R:
+ mes "[Snowman]";
+ mes "For this special hat, I need a pint of magic and a little help.";
+ mes "Just kidding. I would like to get some food;";
+ mes "15 Candies";
+ mes "10 Chocolate bars";
+ mes "5 Cactus potions";
+ next;
+ goto L_M;
+ L_N:
+ mes "[Snowman]";
+ mes "Well, thats too bad, but make sure to have the holiday spirit!";
+ close;
+ NoItem:
+ mes "[Snowman]";
+ mes "Well, I am interested in some food and you don't have enought to get a hat.";
+ close;
+ done:
+ mes "[Snowman]";
+ mes "Thank you for help!";
+ close;
+} \ No newline at end of file
diff --git a/npc/xmas/taro.txt b/npc/xmas/taro.txt
new file mode 100644
index 00000000..6950d957
--- /dev/null
+++ b/npc/xmas/taro.txt
@@ -0,0 +1,13 @@
+new_10-1.gat,57,61,0 script Child 114,{
+ mes "[Taro]";
+ mes "I'm scared!!!";
+ mes "Bring me back, pleeeease!!!";
+ next;
+ menu
+ "Ok",yes,
+ "Just give me one more minute.",no;
+yes:
+ warp "new_9-1.gat",73,31; close;
+no:
+ close;
+} \ No newline at end of file