Added easter, xmas event npcs. Added custom blackjack npc. [kobra_k88]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/athena@13 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
(no author) 2004-11-05 09:43:07 +00:00
parent c1ff19f393
commit 34c9cc4beb
11 changed files with 867 additions and 68 deletions

View File

@ -103,9 +103,8 @@ npc: npc/sample/PCLoginEvent.txt
// ---------------- Your Own Npcs -----------------------
//Add Them Here ;)
//---------------------- Global Scripts Functions -------------------------------
npc: npc/other/Global_Functions.txt
//------------------------------ Cities -----------------------------------------
//------------------------ Cities ----------------------------
npc: npc/cities/alberta.txt
npc: npc/cities/aldebaran.txt
npc: npc/cities/amatsu.txt
@ -121,7 +120,8 @@ npc: npc/cities/gonryun.txt
npc: npc/cities/umbala.txt
npc: npc/cities/niflheim.txt
//------------------------------ Jobs --------------------------------------
//-------------------------- Jobs -------------------------------
//Novice
npc: npc/jobs/novice/novice.txt
npc: npc/jobs/novice/supernovice.txt
@ -169,14 +169,9 @@ npc: npc/jobs/2-2-1/Paladin.txt
npc: npc/jobs/2-2-1/Professor.txt
npc: npc/jobs/2-2-1/Stalker.txt
//---------------------- Merchants --------------------------
//Shops
//------------------------- Merchants ----------------------------
npc: npc/merchants/shops.txt
//towns have good shops for 2-2 now
//npc: npc/merchants/2-2shop.txt
// Other sellers
npc: npc/merchants/refine.txt
npc: npc/merchants/dye_maker.txt
npc: npc/merchants/clothes_dyer.txt
@ -187,12 +182,14 @@ npc: npc/merchants/milk_trader.txt
npc: npc/merchants/renters.txt
npc: npc/merchants/alchemist.txt
// Custom
//npc: npc/merchants/custom/2-2shop.txt
// Free Falcon & Peco breeder, Free Carts
//npc: npc/merchants/custom/breeder.txt
//------------------------------- Quests ------------------------------------
// Cities Quests
//--------------------------- Quests ------------------------------
// Item Quests
npc: npc/quests/quests_alberta.txt
npc: npc/quests/quests_aldebaran.txt
npc: npc/quests/quests_comodo.txt
@ -213,7 +210,6 @@ npc: npc/quests/doomed_swords.txt
npc: npc/quests/bongun.txt
npc: npc/quests/munak.txt
npc: npc/quests/bongunsword.txt
// Monster Taming
npc: npc/quests/monstertamers.txt
// Custom Quests, might be balance breaking (Enable if you want)
@ -229,12 +225,11 @@ npc: npc/quests/custom/new_hats.txt
// Above Npcs are better ^_^
//npc: npc/quests/custom/event_32_new_hats.txt
npc: npc/quests/custom/valhallen.txt
npc: npc/quests/custom/uneasy_cemetery.txt
//both Lord Kaho, but different and quest.txt has balmung to:
//npc: npc/quests/custom/kaho_balmung.txt
//npc: npc/quests/custom/kahohorn.txt
//-------------------------- Skill Quests ---------------------------------
//----------------------- Skill Quests -----------------------------
npc: npc/quests/skills/acolyte_skills.txt
npc: npc/quests/skills/archer_skills.txt
npc: npc/quests/skills/mage_skills.txt
@ -243,9 +238,9 @@ npc: npc/quests/skills/novice_skills.txt
npc: npc/quests/skills/swordsman_skills.txt
npc: npc/quests/skills/thief_skills.txt
// Extra Skills NPC (Not required anymore since skill quests are done)
//npc: npc/other/platinum_skills.txt
// -------------------------- Guides -------------------------------
npc: npc/guides/guides_alb.txt
npc: npc/guides/guides_alde.txt
@ -260,7 +255,8 @@ npc: npc/guides/guides_umb.txt
npc: npc/guides/guides_nif.txt
//more to come
// -------------------------- Kafras -------------------------------------
// -------------------------- Kafras --------------------------------
npc: npc/kafras/functions_kafras.txt
npc: npc/kafras/kafras_alb.txt
npc: npc/kafras/kafras_alde.txt
@ -275,14 +271,22 @@ npc: npc/kafras/kafras_yun.txt
npc: npc/kafras/kafras_new.txt
//more to come
//---------------------------- Others -----------------------------------
//---------------------------- Events --------------------------------
npc: ncp/events/easter.txt
//npc: npc/events/valentinesday.txt
//npc: npc/events/alchemist.txt
//npc: npc/events/twintowers.txt
npc: npc/events/custom/uneasy_cemetery.txt
//npc: npc/events/custom/draculax.txt
//---------------------------- Others --------------------------------
npc: npc/other/books.txt
npc: npc/other/msg_boards.txt
npc: npc/other/pvp.txt
npc: npc/other/IceCream.txt
npc: npc/other/card_remover.txt
//npc: npc/other/wedding.txt
//npc: npc/other/Valkyrie.txt
//npc: npc/other/gefenia.txt
@ -290,18 +294,18 @@ npc: npc/other/card_remover.txt
//npc: npc/other/tougijou.txt
//npc: npc/other/arena_mvp.txt
//---------------------------- Events -----------------------------------
// jRO/kRO/mRO/tRO/etc NPC: Valentine's Day (Sells Chocolates)
//npc: npc/events/valentinesday.txt
// ?RO NPC: Alchemist (Allows trading of elemental stones)
//npc: npc/events/alchemist.txt
// mRO NPC: Twin Towers (Free Warp to several dungeons)
//npc: npc/events/twintowers.txt
// Global Scripts Functions ------------------
npc: npc/other/Global_Functions.txt
//-------------------------- Unofficial NPCs ------------------------------
// Bank Npc
//------------------------- Unofficial NPCs --------------------------
npc: npc/other/kafra_bank.txt
//npc: npc/other/bank.txt
//npc: npc/jobs/custom/reset.txt
//npc: npc/jobs/custom/jobchange.txt
//npc: npc/other/heal.txt
//npc: npc/other/heal_payment.txt
npc: npc/other/blackjack.txt
// Warper NPC (Enable for free warp service)
// 1st is Warper with only option for cities and dungeons
@ -309,26 +313,17 @@ npc: npc/other/kafra_bank.txt
// 2nd you can choose which lvl of the dungeon (you have to disabled 1 if you use 2!)
//npc: npc/other/warper2.txt
// Reset NPC (Enable for special reset events)
//npc: npc/jobs/custom/reset.txt
//Multi-Jobchanger
//npc: npc/jobs/custom/jobchange.txt
// Free Stylist NPC - Cloths/Hair Dye - (Requires 77 dye palletes)
//npc: npc/merchants/custom/dye.txt
// Free healing
//npc: npc/other/heal.txt
// Payment healings
//npc: npc/other/heal_payment.txt
// Dracula X Script to display usage of npcskilleffect command
//npc: npc/events/custom/draculax.txt
// Dev NPCs
npc: npc/other/devnpc.txt
//--------------------------- Guild Wars ------------------------------------
//= MC Cameri's Bank NPC
//npc: npc/other/mc_cameri/bank.txt
//-------------------------- Guild Wars ---------------------------------
//Guild Wars: General
npc: npc/guild/gldfunc_manager.txt
npc: npc/guild/gldfunc_dunsw.txt
@ -384,7 +379,7 @@ npc: npc/guild/nguild/nguild_treas.txt
npc: npc/guild/nguild/nguild_guardians.txt
//----------------------- Guild Wars(Non-optimized) -------------------------
//------------------ Guild Wars(Non-optimized) -----------------------
//Guild Wars: General
//npc: npc/guild/old/ev_agit_event.txt
@ -466,7 +461,7 @@ npc: npc/guild/nguild/nguild_guardians.txt
//--------------------- Warps ---------------------------
//= Cities ==============================================
//= Cities ============================
npc: npc/warps/cities/alberta.txt
npc: npc/warps/cities/aldebaran.txt
npc: npc/warps/cities/amatsu.txt
@ -483,7 +478,7 @@ npc: npc/warps/cities/prontera.txt
npc: npc/warps/cities/umbala.txt
npc: npc/warps/cities/yggdrasil.txt
npc: npc/warps/cities/yuno.txt
//= Dungeons ===========================================
//= Dungeons =============================
npc: npc/warps/dungeons/alberta_duns.txt
npc: npc/warps/dungeons/alde_ct.txt
npc: npc/warps/dungeons/amatsu_dun.txt
@ -501,7 +496,7 @@ npc: npc/warps/dungeons/payon_dun.txt
npc: npc/warps/dungeons/prt_dun.txt
npc: npc/warps/dungeons/umbala_dun.txt
npc: npc/warps/dungeons/yuno_dun.txt
//= Fields =============================================
//= Fields ===============================
npc: npc/warps/fields/amatsu_fild.txt
npc: npc/warps/fields/com_fild.txt
npc: npc/warps/fields/gefenia.txt
@ -515,16 +510,15 @@ npc: npc/warps/fields/payon_fild.txt
npc: npc/warps/fields/prontera_fild.txt
npc: npc/warps/fields/umbala_fild.txt
npc: npc/warps/fields/yuno_fild.txt
//= Guilds =============================================
//= Guilds ==============================
npc: npc/warps/guild/guildcastles.txt
//= Other ==============================================
//= Other ================================
npc: npc/warps/other/jobquests.txt
npc: npc/warps/other/other.txt
//= MC Cameri's Bank NPC ===============================
//npc: npc/warps/other/mc_cameri/bank.txt
//= PVP ================================================
//= PVP ==================================
npc: npc/warps/pvp/pvp.txt
//--------------------- Mobs ---------------------------
npc: npc/mobs/pvp.txt
npc: npc/mobs/fields/amatsu.txt
@ -1048,11 +1042,11 @@ map: louyang.gat
//Requires kRO Sakray 04-07 or newer
//(Akaru's SuperGRF required version: 1.53)
//map: siege_test.gat
//map: n_castle.gat
//map: nguild_gef.gat
//map: nguild_prt.gat
//map: nguild_pay.gat
//map: nguild_alde.gat
map: n_castle.gat
map: nguild_gef.gat
map: nguild_prt.gat
map: nguild_pay.gat
map: nguild_alde.gat
//--- Ep6.7 - Jawaii ---
//Requires kRO Sakray 06-22 or newer

View File

@ -523,8 +523,8 @@
//ID,Name,JName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,ADelay,aMotion,dMotion,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per
1900,VALARIS,Valaris,99,668000,0,107250,37895,1,440,510,35,45,1,152,96,85,120,95,10,10,0,7,67,181,100,676,1152,768,1466,200,2256,200,2607,800,714,500,617,3000,984,4300,985,5600,4147,1,13000,0,608,1000,750,400,923,3800
1901,VALARIS_WORSHIPPER,Valaris's Worshipper,50,8578,0,2706,1480,1,260,310,15,25,1,75,55,1,93,45,10,12,0,7,27,149,100,868,480,120,923,500,984,63,1464,2,607,50,610,100,503,300,2405,50,4129,1,0,0,0,0,0,0,0,0
1920,EASTER_EGG,Easter Egg,3,300,0,4,4,0,1,2,20,20,1,1,1,0,1,20,10,12,0,0,60,128,1000,1001,1,1,1010,250,935,500,558,300,501,200,501,200,713,800,558,300,558,300,0,0,0,0,0,0,0,0
1921,EASTER_BUNNY,Easter Bunny,6,1800,0,60,55,1,20,26,0,40,1,36,6,0,11,80,10,10,0,2,60,181,200,1456,456,336,2250,200,515,8000,727,1200,746,1500,706,30,622,50,534,5000,4006,70,0,0,0,0,0,0,0,0
1920,EASTER_EGG,Easter Egg,3,300,0,4,4,0,1,2,20,20,1,1,1,0,1,20,10,12,0,0,60,128,1000,1001,1,1,1010,250,935,700,558,1200,501,200,713,800,0,0,0,0,0,0,0,0,0,0,0,0,0,0
1921,EASTER_BUNNY,Easter Bunny,6,1800,0,60,55,1,20,26,0,40,1,36,6,0,11,80,10,10,0,2,60,181,200,1456,456,336,2250,200,558,5000,727,1200,746,1500,706,30,622,50,534,5000,4006,70,0,0,0,0,0,0,0,0
// eAthena Custom Equipped Mobs,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1970,PORING_,Poring,1,50,0,2,1,1,7,10,0,5,1,1,1,0,6,30,10,12,1,3,21,131,400,1872,672,480,909,7000,1202,100,938,400,512,1000,713,1500,741,5,619,20,4001,20,0,0,0,0,0,0,0,0
1971,CHONCHON__,ChonChon,4,67,0,5,4,1,10,13,10,0,1,10,4,5,12,2,10,12,0,4,24,129,200,1076,576,480,998,50,935,6500,909,1500,1205,55,601,100,742,5,1002,150,4009,5,0,0,0,0,0,0,0,0

View File

@ -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]

196
npc/events/easter.txt Normal file
View File

@ -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

251
npc/events/xmas.txt Normal file
View File

@ -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

View File

@ -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;

349
npc/other/blackjack.txt Normal file
View File

@ -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;
}

View File

@ -18,3 +18,7 @@
17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0