diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/Changelog.txt | 11 | ||||
-rw-r--r-- | npc/events/custom/uneasy_cemetery.txt (renamed from npc/quests/custom/uneasy_cemetery.txt) | 0 | ||||
-rw-r--r-- | npc/events/easter.txt | 196 | ||||
-rw-r--r-- | npc/events/valentinesday.txt (renamed from npc/events/valentines_day.txt) | 0 | ||||
-rw-r--r-- | npc/events/xmas.txt | 251 | ||||
-rw-r--r-- | npc/jobs/2-1/knight.txt | 10 | ||||
-rw-r--r-- | npc/merchants/custom/2-2shop.txt (renamed from npc/merchants/2-2shop.txt) | 0 | ||||
-rw-r--r-- | npc/other/blackjack.txt | 349 |
8 files changed, 809 insertions, 8 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt index 9dcf48606..2e389a0a2 100644 --- a/npc/Changelog.txt +++ b/npc/Changelog.txt @@ -30,6 +30,8 @@ Other Ppl Date Added
======
+11/05
+ * Added easter and xmas event npcs. Added custom blackjack npc.
11/02
* Added unofficial nguild castles. Updated stats for Stone Shooter, Wooden Golem, Hyegun,
Civil Servant, Dancing Dragon, Baby Garm, and Increase Soil mobs in mob db. Drops are still
@@ -38,8 +40,8 @@ Date Added * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria]
10/31
* Fixed Dev NPCs giving off errors... [Aria]
- * Fixed prob. with duplicating mobs in wizard.txt. Corrected some item names in sage.txt. Corrected mode values
- for hornet, wolf, baby desert wolf, and peco peco in mob db.[kobra_k88]
+ * Fixed prob. with duplicating mobs in wizard.txt. Corrected some item names in sage.txt.
+ Corrected mode values for hornet, wolf, baby desert wolf, and peco peco in mob db.[kobra_k88]
10/30
* Commented out unfinished Dev NPCs and added npc line to map_athena.conf [Aria]
10/29
@@ -48,9 +50,8 @@ Date Added * Re-organized mob scripts.[kobra_k88]
* Updated mob placements with info from emperium.org.[Lupus]
* Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus]
- * assassin.txt, rogue.txt: added clothes dye reset before job change since
- thiefs with custom dyes were getting errors upon job change.
- updated towns.txt and nopenatly.txt mapflags.[kobra_k88]
+ * assassin.txt, rogue.txt: added clothes dye reset before job change since thiefs with custom dyes
+ were getting errors upon job change. Updated towns.txt and nopenatly.txt mapflags.[kobra_k88]
10/26
* Added more quotes -_- [Aria]
* Fixed Mouse's devnpc only saying his quotes once per server reset [Aria]
diff --git a/npc/quests/custom/uneasy_cemetery.txt b/npc/events/custom/uneasy_cemetery.txt index e8bf9cf86..e8bf9cf86 100644 --- a/npc/quests/custom/uneasy_cemetery.txt +++ b/npc/events/custom/uneasy_cemetery.txt diff --git a/npc/events/easter.txt b/npc/events/easter.txt new file mode 100644 index 000000000..fa7bc790d --- /dev/null +++ b/npc/events/easter.txt @@ -0,0 +1,196 @@ +//===== eAthena Script =======================================
+//= Easter Egg Event
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//=
+//===== Description: =========================================
+//= Break easter eggs in towns an cities to find chocolates.
+//= Exchange the chocolates for prizes.
+//= Includes Easter egg and Easter bunny mobs.
+//===== Additional Comments: =================================
+//= Not sure about "Gold coin" as being one of the prizes.
+//============================================================
+
+
+geffen.gat,95,201,3 script Shilo 50,
+{
+ mes "[Shilo]";
+ if(easter_Q == 1) goto L_Check;
+ mes "*Sigh*...... Where is my sister!?";
+ next;
+ mes "[Shilo]";
+ mes "Oh.... Hi there! I'm extremely excited! You know why?";
+ next;
+ mes "[Shilo]";
+ mes "My favorite holiday is here...... ^D2A200Easter^000000!!";
+ next;
+ mes "[Shilo]";
+ mes "I can't wait to go find some easter eggs......";
+ next;
+ if(@talked == 1) menu "I want to look for these eggs.",sM_0, "... Eggs? Why?",M_0, "You seriously bore me...*yawn*..",M_End;
+ menu "... Eggs? Why?",M_0, "You seriously bore me...*yawn*..",M_End;
+
+ M_0:
+ mes "[Shilo]";
+ mes "You mean you've never been on an ^5533FFEaster Egg Hunt^000000 before?";
+ next;
+ mes "[Shilo]";
+ mes "They're the best! See every year, people from all over hide ^5533FFEaster eggs^000000 through out Rune Midgard.";
+ mes "And it's our job to go find as many as possible and collect all of the goodies inside of them.";
+ next;
+ mes "[Shilo]";
+ mes "See, along time ago, the Peco Peco roamed the land free of any hostilities...........";
+ mes "All over Rune Midgard, they did as the pleased, and they reproduced without any fears.";
+ next;
+ mes "[Shilo]";
+ mes "The Peco Peco population thrived and kept growing...... Eventually their numbers got out of hand.";
+ mes "The people of Rune Midgard decided that they needed to do something about the overwhelming population of Peco Pecos.";
+ next;
+ mes "[Shilo]";
+ mes "So they set out to destroy as many of the Peco Peco eggs they could find!!";
+ next;
+ mes "[Shilo]";
+ mes "Many children found the destruction of helpless Peco Peco eggs to be unbearable.";
+ mes "They were very sad about this and pleaded with their parents to stop.";
+ next;
+ mes "[Shilo]";
+ mes "Unfortunately they could not stop.";
+ mes "If they did nothing the fertile lands of Rune Midard would be destoryed by the Peco Pecos.";
+ next;
+ mes "[Shilo]";
+ mes "So they decided to try to convince the children that destroying the eggs was a good thing.";
+ mes "The parents starting making fake peco peco eggs that had treats in them.";
+ next;
+ mes "[Shilo]";
+ mes "They hid them all over town and had the children search for them.";
+ mes "Once found, the children would break the eggs and find the treats. They would then feel happy about breaking Peco Peco eggs.";
+ next;
+ mes "[Shilo]";
+ mes "Now the Peco Peco has natural enemies, like desert wolves, which keep the Peco Peco population in check.";
+ mes "Therefore the people of Rune Midgard no longer have to destroy defenseless Peco Peco eggs.";
+ next;
+ mes "[Shilo]";
+ mes "But we still carry on the tradition of hiding fake eggs all over Rune Midgard every year.";
+ mes "And that is the story behind Easter in Rune Midgard.";
+ next;
+ mes "[Shilo]";
+ mes "You know..... it looks like I'm going to be here for alonge while. I'll tell you what........";
+ next;
+ mes "[Shilo]";
+ mes "If you go out and find some ^5533FFEaster eggs^000000 and bring me back their special 'treats', I will give you something for them....";
+ mes "What do you say?";
+ set @talked, 1;
+ next;
+ menu "What do I have to do?",sM_0, "Nah, I'm to busy.",sM_End;
+
+ sM_0:
+ mes "[Shilo]";
+ mes "All you have to do is go hunt for some Easter eggs which can be found in the towns and cities all over Rune Midgard.";
+ next;
+ mes "[Shilo]";
+ mes "When you find them, break em. If you're lucky, there will be delicious ^D2A200'Chocolates'^000000 inside of them.";
+ mes "Find at least ^00950010^000000, and bring them to me and I will give you a ^FF5533prize^000000.";
+ next;
+ mes "[Shilo]";
+ mes "The more you bring to me, the better my gift to you will be.";
+ next;
+ mes "[Shilo]";
+ mes "I'll will give you something for:";
+ mes "^00950010 ^D2A200Chocolates"; // 1 gold coin ?
+ mes "^5533FF50 ^D2A200Chocolates^000000"; // 1 old blue box
+ mes "and ^FF3355150 ^D2A200Chocolates^000000"; // 1 old purple box
+ next;
+ mes "[Shilo]";
+ mes "So what do you say?";
+ next;
+ menu "Sounds fun, I'll do it!",ssM_0, "I have better things to do",ssM_End;
+
+ ssM_0:
+ mes "[Shilo]";
+ mes "Great! But I must warn you............";
+ next;
+ mes "[Shilo]";
+ mes "During your hunt, you may come across the protectors of these eggs.......";
+ next;
+ mes "[Shilo]";
+ mes "They have a bright, light blue color and are very 'fluffy'..........";
+ mes "Though I have never seen one, I've heard many stories about them.";
+ next;
+ mes "[Shilo]";
+ mes "The have come to be know as....... '^FF3355Easter Bunnies^000000'!!";
+ mes "Be safe and good luck. I'll be waiting here.";
+ set easter_Q, 1;
+ close;
+
+ ssM_End:
+ mes "[Shilo]";
+ mes "Well it's your loss.........";
+ emotion 9;
+ close;
+ sM_End:
+ mes "[Shilo]";
+ mes "Ahh, I understand. Farewell.";
+ close;
+ M_End:
+ mes "[Shilo]";
+ mes "........... Well, you're not all that exciting to talk with either..........";
+ emotion 9;
+ close;
+
+
+//---------------------
+L_Check:
+//----------
+ mes "Find any ^D2A200Chocolate^000000 yet?";
+ next;
+ mes "[Shilo]";
+ if(countitem(558)<10) goto L_NotEnuf;
+ mes "Great. You have " + countitem(558) +" ^D2A200Chocolates^000000. Here is your prize.....";
+ if(countitem(558)>=150) goto L_150;
+ if(countitem(558)>=50) goto L_50;
+
+ L_10:
+ getitem 671,1;
+ goto L_Cont;
+ L_50:
+ getitem 603,1;
+ goto L_Cont;
+ L_150:
+ getitem 617,1;
+
+ L_Cont:
+ mes "Have fun and happy Easter!";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have enough ^D2A200Chocolate^000000 for a prize.";
+ close;
+}
+
+
+// Easter Eggs
+//=====================================================
+alberta.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+aldebaran.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+amatsu.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+comodo.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+geffen.gat,0,0,0,0 monster Easter Egg 1920,120,0,0,0
+gonryun.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+izlude.gat,0,0,0,0 monster Easter Egg 1920,80,0,0,0
+louyang.gat,0,0,0,0 monster Easter Egg 1920,200,0,0,0
+morocc.gat,0,0,0,0 monster Easter Egg 1920,250,0,0,0
+payon.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+prontera.gat,0,0,0,0 monster Easter Egg 1920,250,0,0,0
+umbala.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+yuno.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+
+// Easter Bunny
+//======================================================
+alberta.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+geffen.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+morocc.gat,0,0,0,0 monster Easter Bunny 1921,2,1200000,900000,0
+payon.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+prontera.gat,0,0,0,0 monster Easter Bunny 1921,2,840000,420000,0
diff --git a/npc/events/valentines_day.txt b/npc/events/valentinesday.txt index 1669c1b22..1669c1b22 100644 --- a/npc/events/valentines_day.txt +++ b/npc/events/valentinesday.txt diff --git a/npc/events/xmas.txt b/npc/events/xmas.txt new file mode 100644 index 000000000..57b1e9c63 --- /dev/null +++ b/npc/events/xmas.txt @@ -0,0 +1,251 @@ +//===== eAthena Script =======================================
+//= X-mas Event
+//===== By: ==================================================
+//=
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//=
+//===== Description: =========================================
+//= Beat up Antonios and grab his socks. Get at least 3 and
+//= give them to Santa Claus Claus in exchange for a present.
+//= Includes X-mas mobs.
+//= This npc will disable, the current Santa Claus Claus npc.
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+xmas_in.gat,100,96,4 script Father Christmas::Santa2 718,{
+ mes "[Santa Claus]";
+ mes "I'm having a bit of a problem...";
+ mes "Do you care to listen?";
+ next;
+ menu "Listen to Santa Claus.",M_0, "Give Santa Claus Proof.",M_1, "Cancel.",M_End;
+
+ M_0:
+ mes "[Santa Claus]";
+ mes "My problem is this.";
+ mes "There seems to be a man out there";
+ mes "that is impersonating me and spreading";
+ mes "terror throughout the land.";
+ next;
+ mes "[Santa Claus]";
+ mes "Like the Grinch of legend, he's taking";
+ mes "all the children's toys and keeping them";
+ mes "for himself.";
+ next;
+ mes "[Santa Claus]";
+ mes "I'm too busy here creating my batch of ";
+ mes "toys for next year, so I can't go";
+ mes "out and find him myself.";
+ mes "So I would like you to go out and";
+ mes "Destroy this man for me.";
+ next;
+ mes "[Santa Claus]";
+ mes "He has in his posession one of my";
+ mes "magic sacks, however, so he will";
+ mes "escape into it into another place when";
+ mes "you attack him each time.";
+ next;
+ mes "[Santa Claus]";
+ mes "However,";
+ mes "In his haste, he tends to drop things.";
+ mes "If by chance he drops one of his stockings";
+ mes "with holes that he uses to steal the";
+ mes "poor children's toys, pick it up.";
+ next;
+ mes "[Santa Claus]";
+ mes "If you collect 3 of these, I will give";
+ mes "you a prototype mystery box that";
+ mes "I've been keeping around the";
+ mes "lab. It spits out random presents";
+ mes "and saves me a ton of work.";
+ close;
+ M_1:
+ mes "[Santa Claus]";
+ if(countitem(7034) < 3) goto L_NotEnuf;
+ mes "Seems you've been doing a";
+ mes "good job of taking down those";
+ mes "fake Santas. Keep it up!";
+ next;
+ delitem 7034,3;
+ getitem 644,1;
+ mes "[Santa Claus]";
+ mes "There's your reward.";
+ mes "If you get 3 more, I'll give you another.";
+ mes "Hope you get a good item.";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have enough socks as proof.";
+ mes "Go take down those evil Santas";
+ mes "and get more for me and I'll";
+ mes "reward you.";
+ close;
+ M_End:
+ mes "[Santa Claus]";
+ mes "I see. Well, at the very least";
+ mes "we shall meet again on Chirstmas morning.";
+ close;
+
+OnInit:
+ disablenpc "Santa1";
+ end;
+}
+
+
+//========================================================
+// X-mas Mobs
+//========================================================
+gef_fild00.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild00.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild02.gat,0,0,0,0 monster Gobline Xmas 1245,5,0,0,0
+gef_fild02.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild03.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild04.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild05.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild07.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild09.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild10.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild10.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild11.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild11.gat,0,0,0,0 monster Gobline Xmas 1245,5,0,0,0
+gef_fild11.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+
+glast_01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+glast_01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+
+mjolnir_01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+
+moc_fild01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild02.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild03.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild04.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild05.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild06.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild07.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild10.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild10.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild11.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild11.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild12.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild12.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild13.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild13.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild14.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild14.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild15.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild15.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild16.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild16.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild17.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild17.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+moc_fild18.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+
+pay_fild01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild02.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild03.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild04.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild05.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild06.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild06.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild07.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild09.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild10.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild10.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+pay_fild11.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+pay_fild11.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+
+prt_fild00.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild00.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild01.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild02.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild03.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild04.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild05.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild06.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild06.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild07.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild08.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild09.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild10.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild10.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+prt_fild11.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+prt_fild11.gat,0,0,0,0 monster Santa Poring 1062,35,0,0,0
+gef_fild12.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild13.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+gef_fild14.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+
+cmd_fild01.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild07.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild08.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Antonio 1062,5,0,0,0
diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt index 60a86da6a..2eba470d5 100644 --- a/npc/jobs/2-1/knight.txt +++ b/npc/jobs/2-1/knight.txt @@ -875,7 +875,10 @@ OnStart: if($@KntUsers > 0) end;
if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room;
- killmonsterall "job_knt.gat"; //kills off any left over monsters from other testers
+ //kills off any left over monsters from other testers
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
warpwaitingpc "job_knt.gat",43,146;
donpcevent "KntLvl1";
end;
@@ -884,7 +887,6 @@ OnStart: // First Level ---------------------------------------------------------
job_knt.gat,1,1,1 script KntLvl1 -1,
{
- disablenpc "Warp1";
set $@KntRm, 1;
set $@KntMob,12;
monster "job_knt.gat",39,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
@@ -1015,7 +1017,9 @@ OnTimer184000: if($@KntRm==2) areawarp "job_knt.gat", 24, 32, 63, 71, "prt_in.gat",77,96;
if($@KntRm==3) areawarp "job_knt.gat", 124, 132, 163, 171, "prt_in.gat",77,96;
areaannounce "job_knt.gat", 82, 98, 97, 113, "[Sir Windsor]: The testing rooms are now open.....",8;
- killmonsterall "job_knt.gat";
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
donpcevent "SW2::OnStart";
end;
diff --git a/npc/merchants/2-2shop.txt b/npc/merchants/custom/2-2shop.txt index c8d9edc9b..c8d9edc9b 100644 --- a/npc/merchants/2-2shop.txt +++ b/npc/merchants/custom/2-2shop.txt diff --git a/npc/other/blackjack.txt b/npc/other/blackjack.txt new file mode 100644 index 000000000..0f8aa4e2a --- /dev/null +++ b/npc/other/blackjack.txt @@ -0,0 +1,349 @@ +//===== eAthena Script =======================================
+//= Black Jack
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//=
+//===== Description: =========================================
+//= Black Jack card game. Gameplay based off standard casino
+//= black jack rules. Dealer must have at least 17 to stay and will
+//= automatically stay at 17 and up. Player must have at least
+//= 13 to stay. Aces counted as 11 or 1. Option to "Double Down".
+//= Currently does not allow for "insurance", or "splitting"
+//= of pairs.
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+cmd_in02.gat,188,89,1 script Black Jack Dealer 57,{
+
+ mes "[Dealer]";
+ mes "Hello there! Would you like to play a game of Black Jack?";
+ M_Menu:
+ next;
+ menu "What are the rules?",M_0, "I want to play.",L_Play, "No thanks.",M_End;
+
+ M_0:
+ mes "[Dealer]";
+ mes "What would you like to know?";
+ sM_Menu0:
+ next;
+ menu "The basics.",sM_0a, "Winning and loosing.",sM_0b, "'Double Down'.",sM_0c,
+ "Ace value.",sM_0d, "Nothing.",M_Menu;
+
+ sM_0a:
+ mes "[Dealer]";
+ mes "Black Jack is a card game in which the goal is to get 21, or as";
+ mes "close to 21 points as possible, without going over 21.";
+ next;
+ mes "[Dealer]";
+ mes "Before the game starts, the player must make a bet. Once the bet";
+ mes "has been made, both the dealer and the player are dealt 2 cards";
+ mes "each. Depending on what cards you have, you can choose to ^5533FF'stay'^000000,";
+ mes "or you can choose to ^5533FF'pull'^000000.";
+ next;
+ mes "[Dealer]";
+ mes "When you choose to 'stay', you are telling the dealer that you don't";
+ mes "need anymore cards. This allows the dealer to pull if he/she";
+ mes "wants to. In order to stay, you must have ^FF3355at least 13 points^000000. The";
+ mes "dealer can only stay when he/she has^FF3355 17 points or more^000000.";
+ next;
+ mes "[Dealer]";
+ mes "When you choose to 'pull', you are telling the dealer that you want";
+ mes "another card. By pulling more cards you can increase your point";
+ mes "total. As long has you have ^FF3355less than 21^000000 points you can pull a";
+ mes "card from the deck.";
+ goto sM_Menu0;
+ sM_0b:
+ mes "[Dealer]";
+ mes "There are 3 ways to win and loose at Black Jack.";
+ next;
+ mes "[Dealer]";
+ mes "1.) At the end of a Black Jack round, if you have more points";
+ mes "than the dealer you will win the round. Conversely if you have";
+ mes "less points than the dealer you will loose.";
+ next;
+ mes "[Dealer]";
+ mes "2.) If you pull a card that makes your point total go over 21 you";
+ mes "will automatically loose the round. This is called a ^5533FF'bust'^000000. If";
+ mes "the dealer busts then you will win the round.";
+ next;
+ mes "[Dealer]";
+ mes "3.) If you have a point total of 21 with the first 2 cards, you";
+ mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000";
+ mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
+ mes "dealer gets a Black Jack he/she will automatically win the round.";
+ next;
+ mes "[Dealer]";
+ mes "4.) Besides winning and loosing, you can tie with the dealer. If";
+ mes "both you and the dealer have the same point total at the end of a";
+ mes "round, this will result in a tie with no winner and no loss or gain";
+ mes "in money.";
+ next;
+ mes "[Dealer]";
+ mes "This is called a ^5533FF'push'^000000 with the dealer. This also";
+ mes "applies to both you and the dealer having Black Jack at the same";
+ mes "time.";
+ goto sM_Menu0;
+ sM_0c:
+ mes "[Dealer]";
+ mes "The 'Double Down' option allows you to double your current bet,";
+ mes "but with the drawback that you will only be able to pull one";
+ mes "additional card. This option is only available at the beggining of";
+ mes "each round.";
+ next;
+ mes "[Dealer]";
+ mes "An example of when doubling down is usefull, is when";
+ mes "your first 2 cards give you a point total of 11. You have a good";
+ mes "chance of getting 21 or 20 with the next card that you draw. This";
+ mes "would be a good hand to double down on.";
+ goto sM_Menu0;
+ sM_0d:
+ mes "[Dealer]";
+ mes "The 'Ace' card is a unique card in the game of Black Jack because";
+ mes "it can have 2 values. An Ace can be counted as either 11 points,";
+ mes "or just 1 point. For example if you had an Ace and a 4, that would";
+ mes "give you either 15 or 5 points.";
+ next;
+ mes "[Dealer]";
+ mes "If you decided to stay, the Ace would automatically be counted as";
+ mes "11 points to give you 15 points total.";
+ next;
+ mes "[Dealer]";
+ mes "If you had decided to pull and recieved a 9, the ace would";
+ mes "automatically be counted as 1 point to give you a total of 14";
+ mes "points. If the Ace was counted as 11 points, you would have a";
+ mes "point total over 21 and would have lost.";
+ next;
+ mes "[Dealer]";
+ mes "It is because of the flexibilty you have with the 'Ace' that makes";
+ mes "it the most powerfull card in the game.";
+ goto sM_Menu0;
+ M_End:
+ mes "[Dealer]";
+ mes "Feel free to come back anytime";
+ close;
+
+//================
+L_Play:
+ mes "[Dealer]";
+ mes "Please place your bets...";
+ next;
+ menu "2z",M_1a, "10z",M_1b, "20z",M_1c, "100z",M_1d, "Too rich for my blood....",M_End;
+
+ M_1a:
+ if(Zeny < 2) goto sL_NotEnuf;
+ set @bet, 2;
+ goto L_Cont0;
+ M_1b:
+ if(Zeny < 10) goto sL_NotEnuf;
+ set @bet, 10;
+ goto L_Cont0;
+ M_1c:
+ if(Zeny < 20) goto sL_NotEnuf;
+ set @bet, 20;
+ goto L_Cont0;
+ M_1d:
+ if(Zeny < 100) goto sL_NotEnuf;
+ set @bet, 100;
+ goto L_Cont0;
+
+ sL_NotEnuf:
+ mes "[Dealer]";
+ mes "I'm sorry but you don't have enough zeny to make that bet.";
+ close;
+
+ L_Cont0:
+ mes "(the cards are being dealt)";
+ next;
+ deletearray $@card[0],13;
+ set @dealerTurn, 0;
+ set @numP, 0;
+ set @numD, 0;
+ set @pAce, 0;
+ set @dAce, 0;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+
+//==============
+L_Start:
+ callsub sF_GetTot;
+
+ mes "- Here are the ^FF5533DEALER'S^000000 cards:";
+ if (@numD==2) callsub sF_D2cards;
+ if (@numD==3) callsub sF_D3cards;
+ if (@numD==4) callsub sF_D4cards;
+ if (@numD==5) callsub sF_D5cards;
+ mes " The DEALER has: ^FF5533"+@dealTot+"^000000";
+ mes " ";
+ mes "- Here are ^5533FFYOUR^000000 cards:";
+ if (@numP==2) callsub sF_P2cards;
+ if (@numP==3) callsub sF_P3cards;
+ if (@numP==4) callsub sF_P4cards;
+ if (@numP==5) callsub sF_P5cards;
+ if(@pAce != 1 || @playTot == 21) mes " YOU have: ^5533FF" +@playTot+ "^000000";
+ if(@pAce == 1 && @playTot != 21) mes " You have: ^5533FF" +@playTot+ "^000000, or ^5533FF" +(@playTot-10)+ "^000000";
+ next;
+ if(@playTot==21 && @dealTot==21) goto sL_Push;
+ if(@numP==2 && @playTot == 21) goto sL_Win;
+ if(@numD==2 && @dealTot == 21) goto sL_Lose;
+ if(@playTot > 21) goto sL_Lose;
+ if(@dealTot > 21) goto sL_Win;
+ if(@numP==2 && @dealerTurn==0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay, "Double Down",M_Double;
+ if(@dealerTurn == 0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay;
+
+ M_Stay:
+ mes "[Dealer]";
+ if(@playTot < 13) goto sL_PlayToLow;
+ if(@dealTot > 16) mes "The Dealer stays.";
+ if(@dealTot > 16 || @numD == 5) goto L_Check;
+ mes "The Dealer is going to pull";
+ next;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+ set @dealerTurn, 1;
+ goto L_Start;
+
+ sL_PlayToLow:
+ mes "I'm sorry but you do not have a high enough total to stay. You must pull.";
+ next;
+ goto M_Hit;
+
+ M_Hit:
+ if(@numP == 5) goto M_Stay;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ goto L_Start;
+ M_Double:
+ mes "[Dealer]";
+ mes "Player has chosen to Double Down. You're current bet will be";
+ mes "doubled, and you will only be able to pull 1 extra card.";
+ next;
+ set @dealerTurn, 1;
+ set @bet, @bet*2;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ goto L_Start;
+
+//=============
+L_Check:
+ next;
+ if(@playTot < @dealTot) goto sL_Lose;
+ if(@playTot == @dealTot) goto sL_Push;
+
+ sL_Win:
+ mes "[Dealer]";
+ mes "Congratulations, you've won!";
+ next;
+ set Zeny, Zeny + @bet;
+ goto L_Play;
+ sL_Lose:
+ mes "[Dealer]";
+ mes "I'm sorry but you've lost.";
+ set Zeny, Zeny - @bet;
+ next;
+ goto L_Play;
+ sL_Push:
+ mes "[Dealer]";
+ mes "Its a push. You tied with the Dealer.";
+ next;
+ goto L_Play;
+
+
+//==================================
+// Sub function for dealing/pulling the cards
+sF_GetCards:
+ set @rnd, rand(1,13);
+ if($@card[@rnd] == 4) goto sF_GetCards;
+ set $@card[@rnd], $@card[@rnd] + 1;
+ set getarg(1), @rnd;
+ if(getarg(1) > 10) set getarg(1), 10;
+ if(getarg(1) == 1 && getarg(3) < 1) set getarg(1), 11;
+ if(getarg(1) == 11) set getarg(3), 1;
+ set getarg(2), " " + getarg(1) + " ";
+ if(@rnd == 10) set getarg(2), getarg(1);
+ if(@rnd == 1) set getarg(2), " A ";
+ if(@rnd == 11) set getarg(2), " J ";
+ if(@rnd == 12) set getarg(2), " Q ";
+ if(@rnd == 13) set getarg(2), " K ";
+ set getarg(0), getarg(0) + 1;
+ return;
+
+//==================================
+// Sub function for getting the total score for each hand
+sF_GetTot:
+ set @i, 0;
+ set @dealTot, 0;
+ set @playTot, 0;
+
+ GetDealTot:
+ set @dealTot, @dealTot + @dealCard[@i];
+ set @i, @i + 1;
+ if(@i < @numD) goto GetDealTot;
+ if(@dAce == 1 && @dealTot > 21) set @dealTot, @dealTot - 10;
+ set @i, 0;
+ GetPlayTot:
+ set @playTot, @playTot + @playCard[@i];
+ set @i, @i + 1;
+ if(@i < @numP) goto GetPlayTot;
+ if(@pAce == 1 && @playTot > 21) set @pAce, 2;
+ if(@pAce > 0 && @playTot > 21) set @playTot, @playTot - 10;
+ return;
+
+//=======================================
+// Sub function for displaying the Cards
+sF_D2cards:
+ mes " .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_P2cards:
+ mes " .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_D3cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ return;
+sF_P3cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ return;
+sF_D4cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. ";
+ mes " | "+@dealCard$[3]+" |";
+ mes " '-----' ";
+ return;
+sF_P4cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" |";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. ";
+ mes " | "+@playCard$[3]+" |";
+ mes " '-----' ";
+ return;
+sF_D5cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. .-----. ";
+ mes " | "+@dealCard$[3]+" | | "+@dealCard$[4]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_P5cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. .-----. ";
+ mes " | "+@playCard$[3]+" | | "+@playCard$[4]+" | ";
+ mes " '-----' '-----' ";
+ return;
+}
|