From 4ad4d0d5b4be685a44bbe707d986b639ec874b0c Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> Date: Fri, 5 Nov 2004 09:43:07 +0000 Subject: Added easter, xmas event npcs. Added custom blackjack npc. [kobra_k88] git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@13 54d463be-8e91-2dee-dedb-b68131a5f0ec --- conf-tmpl/map_athena.conf | 110 +++++------ db/mob_db.txt | 4 +- npc/Changelog.txt | 11 +- npc/events/custom/uneasy_cemetery.txt | 135 +++++++++++++ npc/events/easter.txt | 196 +++++++++++++++++++ npc/events/valentines_day.txt | 272 -------------------------- npc/events/valentinesday.txt | 272 ++++++++++++++++++++++++++ npc/events/xmas.txt | 251 ++++++++++++++++++++++++ npc/jobs/2-1/knight.txt | 10 +- npc/merchants/2-2shop.txt | 1 - npc/merchants/custom/2-2shop.txt | 1 + npc/other/blackjack.txt | 349 ++++++++++++++++++++++++++++++++++ npc/quests/custom/uneasy_cemetery.txt | 135 ------------- save/castle.txt | 4 + 14 files changed, 1275 insertions(+), 476 deletions(-) create mode 100644 npc/events/custom/uneasy_cemetery.txt create mode 100644 npc/events/easter.txt delete mode 100644 npc/events/valentines_day.txt create mode 100644 npc/events/valentinesday.txt create mode 100644 npc/events/xmas.txt delete mode 100644 npc/merchants/2-2shop.txt create mode 100644 npc/merchants/custom/2-2shop.txt create mode 100644 npc/other/blackjack.txt delete mode 100644 npc/quests/custom/uneasy_cemetery.txt diff --git a/conf-tmpl/map_athena.conf b/conf-tmpl/map_athena.conf index 22bd8cb65..7e4cabb04 100644 --- a/conf-tmpl/map_athena.conf +++ b/conf-tmpl/map_athena.conf @@ -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 -npc: npc/merchants/shops.txt - -//towns have good shops for 2-2 now -//npc: npc/merchants/2-2shop.txt -// Other sellers +//------------------------- Merchants ---------------------------- +npc: npc/merchants/shops.txt 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 diff --git a/db/mob_db.txt b/db/mob_db.txt index 78cd0c624..efe87817c 100644 --- a/db/mob_db.txt +++ b/db/mob_db.txt @@ -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 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/events/custom/uneasy_cemetery.txt b/npc/events/custom/uneasy_cemetery.txt new file mode 100644 index 000000000..e8bf9cf86 --- /dev/null +++ b/npc/events/custom/uneasy_cemetery.txt @@ -0,0 +1,135 @@ +//===== eAthena Script ======================================= +//= Uneasy Prontera Cemetery Quest (original script!) +//===== By: ================================================== +//= Lupus +//===== Current Version: ===================================== +//= 1.2 (Tested and fully working!) +//===== Compatible With: ===================================== +//= eAthena Version 1.0 +//===== Description: ========================================= +//= A periodical quest of the Uneasy Cemetery (Kill undead / Prevent their appearance) +//= Every day, at the midnight Prontera recieve a wave of Undeads. +//= They come from Uneasy Cemetery of Prontera. To protect the players +//= from the undeads terror you may either kill the enemy. Or supply Mother Mathana +//= with needed amount of Holy Water. Every citizen can take his part in the +//= saving of Prontera city. After some days of quiet life... the Cemetery strikes back. +//===== Additional Comments: ================================= +//= 1.1 More advanced ver. Added some bonus the the one who'd kill the last walking undead +//= 1.2 Added coords to the script to make label OmMobDead working +//============================================================ + + +prontera.gat,3,3,3 script Uneasy_Check -1, +{ + end; + +OnHour00: + set $UNEASY_DL,$UNEASY_DL-1; + set $UNEASY_BL,$UNEASY_BL+30; //add need of HW for 30 bottles per day + if ($UNEASY_BL>666) set $UNEASY_BL,666; //keep needed bottles not <=666 + if ($UNEASY_DL < 0) goto L_Start_Undead; +//The Cemetery is OK yet. + disablenpc "Mother Mathana"; + end; +OnInit: + if ($UNEASY_DL >= 0) disablenpc "Mother Mathana"; + end; + +OnHour06: + killmonsterall "prontera.gat"; //The Sun kills undead in the morning + end; + +OnHour01: + if ($@UNEASY_MOB > 0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin, please finish these roaming undead leftovers!",0; + end; + +OnZombieDead: + set $@UNEASY_MOB,$@UNEASY_MOB-1; + if ($@UNEASY_MOB>0) end; + set $UNEASY_DL,0; + set $UNEASY_H$,strcharinfo(0); + if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; + if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: Lady "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; + set JobExp,JobExp+100; + set BaseExp,BaseExp+50; + end; + +L_Start_Undead: + killmonsterall "prontera.gat"; //kills any left monsters + enablenpc "Mother Mathana"; +//call some monsters in the city + set $@UNEASY_MOB, 65; + monster "prontera.gat",0,0,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; +//in the Cemetery + monster "prontera.gat",268,349,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; + monster "prontera.gat",269,350,"Ghoul",1036,5,"Uneasy_Check::OnZombieDead"; +//announce + mapannounce "prontera.gat","[Mother Mathana]: The cememtery has became restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0; +} + +prontera.gat,257,313,5 script Mother Mathana 79, +{ + mes "[Mother Mathana]"; + if ($UNEASY_DL <= 0) goto L_Undead_Walk; + mes "I'm afraid there's something wrong with our old cemetery..."; + if ($UNEASY_H$==strcharinfo(0)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!"; + if ($UNEASY_H$!=strcharinfo(0)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!"; + emotion 0; + close; + +L_Undead_Walk: + if ($UNEASY_DL == 0) mes "THEY could return tomorrow's night again!"; + if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(0)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!"; + if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(0)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!"; + mes "To calm down the resless cemetery, we should pour all these grave with the Holy Water. But our sisters and broters are run out of it."; + mes "Could you supply us with Holy Water?"; + next; + menu "Yes, have all my Holy Water!",-, "Nope, I need it.",M_NO, "I don't have any.",M_DONT_HAVE; + + if ( countitem("Holy_Water")<1 ) goto M_DONT_HAVE; + set $UNEASY_BL,$UNEASY_BL-countitem("Holy_Water"); + delitem "Holy_Water",countitem("Holy_Water"); + + if ( $UNEASY_BL > 0 ) goto L_NEED_MORE; +//set quiet days!!! no more undead for this period! + set $UNEASY_DL,5+((0-$UNEASY_BL)/30); + set $UNEASY_H$,strcharinfo(0); + mes "[Mother Mathana]"; + mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!"; + next; + mes "[Mother Mathana]"; + mes "On pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!"; + next; + killmonsterall "prontera.gat"; //kills any left monsters + mes "[Mother Mathana]"; + mes "See, "+ $UNEASY_H$ +"? They all are gone now!"; + next; + mes "[Mother Mathana]"; + mes "Our Church is going to thank you personally..."; + next; + if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0; + if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare beautiful "+$UNEASY_H$+" as a Prontera savior!",0; + mes "[Mother Mathana]"; + mes "In the name of Odin we bless you and decently present a modest gift just from Mareusis' wine-cellar."; + getitem "Blue_Potion",1; + set JobExp,JobExp+100; + set BaseExp,BaseExp+50; + close; + +L_NEED_MORE: + mes "[Mother Mathana]"; + mes "Thank you, good "+strcharinfo(0)+", but we still nedd " + $UNEASY_BL + " more Holy Water bottles."; + close; + +M_NO: + mes "[Mother Mathana]"; + mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you could get."; + close; + +M_DONT_HAVE: + mes "[Mother Mathana]"; + mes "Alas! We still need " + $UNEASY_BL + " more bottles of Holy Water... Why don't you go and ask other people for some extra Holy Water."; + mes "The old cemetery is going out of control soon..."; + mes "Please, in the name of Odin, help Prontera city."; + close; +} \ No newline at end of file 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/valentines_day.txt deleted file mode 100644 index 1669c1b22..000000000 --- a/npc/events/valentines_day.txt +++ /dev/null @@ -1,272 +0,0 @@ -//Valentine Script 2004-02-12 -// input exploit fixed [Lupus] - - -alberta.gat,26,243,4 script Trader 58,{ -//男女購入可能 - mes "[Marco Bascinio]"; - mes "A special treat... Not easily found"; - mes "in Rune-Midgard Kingdom!"; - mes "No one can resist the temptation"; - mes "of its wonderful taste!"; - mes "Makes a great gift for a friend, or even for yourself!"; - next; - mes "[Marco Bascinio]"; - mes "A gorgeous fancy looking chocolate for..."; - mes "only 5000z each!"; - next; - menu "I want it!",L1,"Nah, I'll pass",Lend; -Lend: - mes "[Marco Bascinio]"; - mes "ウホ?こ〜んなスペシャルなチョコレー"; - mes "トが欲しくないと……残念ですね!"; - mes "今だけしか買えないスペシャルで特別な"; - mes "お菓子ですよ!考え直して、チョコレー"; - mes "トが欲しくなったら是非是非是非また"; - mes "来てください!お待ちしております!"; - close; -L1: - mes "[Marco Bascinio]"; - mes "No way! The chocolate has the spirit of it's maker!"; - mes "That is why I only sell not more than five to each person"; - mes "If you want more than five, come back again"; - mes "So how many do you want?"; - next; - goto Linput; -Linput: - input @choconum; - if (@choconum > 5) goto LError; - if (@choconum <= 0) goto Lend; - set @chocoprice,@choconum*5000; - if (Zeny < @chocoprice) goto LError2; - set Zeny,Zeny-@chocoprice; - getitem 558,@choconum; - mes "[Marco Bascinio]"; - mes "ありがとうございます!"; - mes "私は、もうしばらくここにいますから"; - mes "チョコレートが欲しくなったら、また"; - mes "どうぞ!お待ちしております!"; - close; -LError: - mes "[Marco Bascinio]"; - mes "ウホホホホホホ、駄目、駄目駄目!"; - mes "一回のお買い上げで5個までと説明しま"; - mes "したよね!私はたくさーんの人に、この"; - mes "チョコレートを味わって欲しいのです!"; - mes "それに、食べすぎると太ります!"; - next; - goto Linput; -LError2: - mes "[Marco Bascinio]"; - mes "ウホ?あれあれ、あれれ……お客さん!"; - mes "お金が足りませんよ。それではチョコ"; - mes "レートを売ることは出来ません!"; - mes "私は、もうしばらくここにいますから"; - mes "お金が出来たらまたどうぞ!"; - close; -} - -alberta.gat,29,243,4 script チョコレート商人の恋人 53,{ - if ((Sex == 0) && (countitem(7182) >= 5) && (countitem(7134) >= 1) && (countitem(519) >= 1) && (countitem(612) >= 1)) goto Lmake; - mes "[エステル=ローズ]"; - mes "こんにちは。実は、私の彼が売っている"; - mes "チョコレートは私が作っているんです。"; - mes "外国で、作る方法を学んできたのです。"; - next; - mes "[エステル=ローズ]"; - mes "外国では、この時期に好きな人にチョコ"; - mes "レートをプレゼントする風習がありま"; - mes "す。甘い気持ちを、甘いチョコレートに"; - mes "託す……すばらしいと思いませんか?"; - next; - mes "[エステル=ローズ]"; - mes "私のチョコレートが少しでもお役に立て"; - mes "ればと、たくさんたくさん、チョコレー"; - mes "トを作ったんです。"; - next; - mes "[エステル=ローズ]"; - mes "彼は、そんな私を見て「自分に出来る"; - mes "ことをするんだ」って頑張ってチョコ"; - mes "レートを売ってくれているんです。"; - mes "その気持ちも嬉しいけど、チョコレー"; - mes "トを買ってくれた方々の笑顔が、何より"; - mes "私を幸せにしてくれるんです。"; - next; - if (Sex == 1) goto LMan; -LWoman: - mes "[エステル=ローズ]"; - mes "先ほども言いましたが、外国ではこの時期"; - mes "好きな人にチョコレートをプレゼント"; - mes "するんです。もし、好きな方がいるなら"; - mes "チョコレートと一緒に気持ちを伝えて"; - mes "みませんか?"; - next; - mes "[エステル=ローズ]"; - mes "材料を持って来てくれれば、チョコレー"; - mes "トを作ります。私の彼が売っているチョ"; - mes "コレートでもいいのですが……"; - mes "お金で買うより、自分で集めた材料で"; - mes "作ったチョコレートのほうが、その……"; - next; - mes "[エステル=ローズ]"; - mes "自分の気持ちが相手に伝わるような気が"; - mes "しませんか?"; - next; - mes "[エステル=ローズ]"; - mes "材料ですが、メモの準備はいいですか?"; - mes "^3355ffカカオ 5個"; - mes "ミルク 1個"; - mes "乳鉢 1個"; - mes "携帯用溶鉱炉 1個^000000"; - next; - mes "[エステル=ローズ]"; - mes "準備ができたら、教えてください。"; - mes "美味しいチョコレートを作らせて"; - mes "いただきます。"; - close; -LMan: - mes "[エステル=ローズ]"; - mes "だから、一個一個大事に大事に作って"; - mes "いるんです。自分でも美味しくできた"; - mes "と思いますし、一度召し上がってみて"; - mes "くださいね。ふう、頑張ってもっと"; - mes "作らなきゃ!"; - close; -Lmake: - mes "[エステル=ローズ]"; - mes "準備が出来たんですね!では、早速腕を"; - mes "奮わせていただきます!"; - mes "あ、隣にいる彼には内緒ですよ。"; - next; - delitem 7182,5; - delitem 7134,1; - delitem 519,1; - delitem 612,1; - getitem 558,1; - mes "[エステル=ローズ]"; - mes "はい、出来上がりました!"; - mes "プレゼントなさるのですか?"; - mes "気持ちが伝わるといいですね。"; - mes "幸せになってください〜。"; - close; -} - -prt_castle.gat,42,35,3 script Dessert Manager 47,{ - if (Sex == 1) goto LStartMan; -LStartWomen: - mes "[Charl Orleang]"; - mes "オゥ、マドモアゼル!"; - mes "貴方がそこにいるだけで、このむさ"; - mes "苦しい場所が天国に等しくなる。"; - next; - mes "[Charl Orleang]"; - mes "天使のように愛くるしい貴方が"; - mes "いったい何用でここにいらしたのかな?"; - mes "ワタクシめでよければ、何でも願いを"; - mes "聞きましょう。"; - next; - menu "チョコレートを作ってくれますか?",L1,"お疲れ様です。",-; - mes "[Charl Orleang]"; - mes "オゥ、その一言……ワタクシの存在を"; - mes "無に帰すような……その氷の刃のような"; - mes "一言が、私の身を削り、魂さえ痩せ衰え"; - mes "させてしまう……"; - next; - mes "[Charl Orleang]"; - mes "オゥ、マドモアゼル!"; - mes "どうすればどうすれば……貴方の心を"; - mes "再びワタクシの虜と出来るのか!?"; - close; -L1: - if (countitem(558) >= 3) goto L2; - mes "[Charl Orleang]"; - mes "オゥ、マドモアゼル!"; - mes "ワタクシは神でも錬金術師でもないので"; - mes "す。変な材料から芸術品を創り出すこと"; - mes "など出来ません!そして、平凡なアイテ"; - mes "ムから平凡な作品を作るなど、偉大な芸"; - mes "術家のワタクシには不可能!!"; - next; - mes "[Charl Orleang]"; - mes "ワタクシが創造する物は、世界中の誰も"; - mes "が感嘆のため息を吐く、誰にも到底真似"; - mes "出来ない芸術品なのです。"; - next; - mes "[Charl Orleang]"; - mes "ワタクシが貴方の苦労に報いる為には"; - mes "^3355ffチョコレート3個^000000が絶対必要なのです。"; - mes "それ以下でも、それ以上でもない。"; - mes "ピッタリ3個……。"; - next; - mes "[Charl Orleang]"; - mes "マドモアゼルの光輝く美貌と華奢な身に"; - mes "隠された強靭な意志なら、きっと手に"; - mes "入れてくることが可能でしょう。"; - next; - mes "[Charl Orleang]"; - mes "いいですか。^3355ffチョコレート3個^000000を持って"; - mes "来てください。出来ることなら火の中"; - mes "水の中、地獄の底へでも、貴方の為に"; - mes "ワタクシが直接手に入れて差し上げたい"; - mes "が、今のワタクシは王宮の業務に終始"; - mes "終われる身……オゥ……"; - next; - mes "[Charl Orleang]"; - mes "オ レヴォワー マドモアゼル……"; - mes "貴方の帰りを心からお待ちして"; - mes "おります……"; - close; -L2: - mes "[Charl Orleang]"; - mes "オゥ、マドモアゼル!"; - mes "ワタクシの持てる全ての感性を持って"; - mes "貴方のチョコレートを美しくすばらしく"; - mes "煌びやかな芸術へと昇華させていただ"; - mes "きましょう!"; - next; - mes "[Charl Orleang]"; - mes "貴方の瞳という宝石が、世界中の誰もを"; - mes "魅了する、透明で神秘的な愛の光を放つ"; - mes "ように……"; - next; - mes "[Charl Orleang]"; - mes "アン ドゥ トロワ クァトル……"; - mes "みにくいアヒルの子が美しい白鳥に変身"; - mes "したように……平凡なチョコレートが美"; - mes "しい芸術に変身するのだ……!!"; - next; - mes "[Charl Orleang]"; - mes "暖かく包み込み……そしてふんわりと"; - mes "変化するがいい!"; - mes "強靭にて、偉大なる時代の名作よ……!"; - next; - delitem 558,3; - getitem 559,1; - mes "[Charl Orleang]"; - mes "オゥ、フェリシタシオン!オゥ〜ララ♪"; - mes "こんな素敵な作品を作り出せるとは……"; - mes "ワタクシはなんと罪深いのだ……!"; - mes "マドモアゼル、この貴方の至極の微笑み"; - mes "とも言える芸術品、気に入っていただけ"; - mes "たかな。"; - next; - mes "[Charl Orleang]"; - mes "では、オ レヴォワ〜。"; - close; -LStartMan: - mes "[Charl Orleang]"; - mes "ボンジュ〜ル_ムッシュー。ワタクシは"; - mes "遥か遠い場所から芸術を生み出すため、"; - mes "このアトリエに舞い降りたところなの"; - mes "です。"; - next; - mes "[Charl Orleang]"; - mes "オゥ、ノンノン!私の清らかな瞳は"; - mes "愛らしい女性のみを映す鏡なのです。"; - next; - mes "[Charl Orleang]"; - mes "オゥ〜、それでなくても忙しいのに"; - mes "このシャルル=オルレアンを煩わせる"; - mes "なんて。オゥ〜、ノンノンノン。"; - close; -} \ No newline at end of file diff --git a/npc/events/valentinesday.txt b/npc/events/valentinesday.txt new file mode 100644 index 000000000..1669c1b22 --- /dev/null +++ b/npc/events/valentinesday.txt @@ -0,0 +1,272 @@ +//Valentine Script 2004-02-12 +// input exploit fixed [Lupus] + + +alberta.gat,26,243,4 script Trader 58,{ +//男女購入可能 + mes "[Marco Bascinio]"; + mes "A special treat... Not easily found"; + mes "in Rune-Midgard Kingdom!"; + mes "No one can resist the temptation"; + mes "of its wonderful taste!"; + mes "Makes a great gift for a friend, or even for yourself!"; + next; + mes "[Marco Bascinio]"; + mes "A gorgeous fancy looking chocolate for..."; + mes "only 5000z each!"; + next; + menu "I want it!",L1,"Nah, I'll pass",Lend; +Lend: + mes "[Marco Bascinio]"; + mes "ウホ?こ〜んなスペシャルなチョコレー"; + mes "トが欲しくないと……残念ですね!"; + mes "今だけしか買えないスペシャルで特別な"; + mes "お菓子ですよ!考え直して、チョコレー"; + mes "トが欲しくなったら是非是非是非また"; + mes "来てください!お待ちしております!"; + close; +L1: + mes "[Marco Bascinio]"; + mes "No way! The chocolate has the spirit of it's maker!"; + mes "That is why I only sell not more than five to each person"; + mes "If you want more than five, come back again"; + mes "So how many do you want?"; + next; + goto Linput; +Linput: + input @choconum; + if (@choconum > 5) goto LError; + if (@choconum <= 0) goto Lend; + set @chocoprice,@choconum*5000; + if (Zeny < @chocoprice) goto LError2; + set Zeny,Zeny-@chocoprice; + getitem 558,@choconum; + mes "[Marco Bascinio]"; + mes "ありがとうございます!"; + mes "私は、もうしばらくここにいますから"; + mes "チョコレートが欲しくなったら、また"; + mes "どうぞ!お待ちしております!"; + close; +LError: + mes "[Marco Bascinio]"; + mes "ウホホホホホホ、駄目、駄目駄目!"; + mes "一回のお買い上げで5個までと説明しま"; + mes "したよね!私はたくさーんの人に、この"; + mes "チョコレートを味わって欲しいのです!"; + mes "それに、食べすぎると太ります!"; + next; + goto Linput; +LError2: + mes "[Marco Bascinio]"; + mes "ウホ?あれあれ、あれれ……お客さん!"; + mes "お金が足りませんよ。それではチョコ"; + mes "レートを売ることは出来ません!"; + mes "私は、もうしばらくここにいますから"; + mes "お金が出来たらまたどうぞ!"; + close; +} + +alberta.gat,29,243,4 script チョコレート商人の恋人 53,{ + if ((Sex == 0) && (countitem(7182) >= 5) && (countitem(7134) >= 1) && (countitem(519) >= 1) && (countitem(612) >= 1)) goto Lmake; + mes "[エステル=ローズ]"; + mes "こんにちは。実は、私の彼が売っている"; + mes "チョコレートは私が作っているんです。"; + mes "外国で、作る方法を学んできたのです。"; + next; + mes "[エステル=ローズ]"; + mes "外国では、この時期に好きな人にチョコ"; + mes "レートをプレゼントする風習がありま"; + mes "す。甘い気持ちを、甘いチョコレートに"; + mes "託す……すばらしいと思いませんか?"; + next; + mes "[エステル=ローズ]"; + mes "私のチョコレートが少しでもお役に立て"; + mes "ればと、たくさんたくさん、チョコレー"; + mes "トを作ったんです。"; + next; + mes "[エステル=ローズ]"; + mes "彼は、そんな私を見て「自分に出来る"; + mes "ことをするんだ」って頑張ってチョコ"; + mes "レートを売ってくれているんです。"; + mes "その気持ちも嬉しいけど、チョコレー"; + mes "トを買ってくれた方々の笑顔が、何より"; + mes "私を幸せにしてくれるんです。"; + next; + if (Sex == 1) goto LMan; +LWoman: + mes "[エステル=ローズ]"; + mes "先ほども言いましたが、外国ではこの時期"; + mes "好きな人にチョコレートをプレゼント"; + mes "するんです。もし、好きな方がいるなら"; + mes "チョコレートと一緒に気持ちを伝えて"; + mes "みませんか?"; + next; + mes "[エステル=ローズ]"; + mes "材料を持って来てくれれば、チョコレー"; + mes "トを作ります。私の彼が売っているチョ"; + mes "コレートでもいいのですが……"; + mes "お金で買うより、自分で集めた材料で"; + mes "作ったチョコレートのほうが、その……"; + next; + mes "[エステル=ローズ]"; + mes "自分の気持ちが相手に伝わるような気が"; + mes "しませんか?"; + next; + mes "[エステル=ローズ]"; + mes "材料ですが、メモの準備はいいですか?"; + mes "^3355ffカカオ 5個"; + mes "ミルク 1個"; + mes "乳鉢 1個"; + mes "携帯用溶鉱炉 1個^000000"; + next; + mes "[エステル=ローズ]"; + mes "準備ができたら、教えてください。"; + mes "美味しいチョコレートを作らせて"; + mes "いただきます。"; + close; +LMan: + mes "[エステル=ローズ]"; + mes "だから、一個一個大事に大事に作って"; + mes "いるんです。自分でも美味しくできた"; + mes "と思いますし、一度召し上がってみて"; + mes "くださいね。ふう、頑張ってもっと"; + mes "作らなきゃ!"; + close; +Lmake: + mes "[エステル=ローズ]"; + mes "準備が出来たんですね!では、早速腕を"; + mes "奮わせていただきます!"; + mes "あ、隣にいる彼には内緒ですよ。"; + next; + delitem 7182,5; + delitem 7134,1; + delitem 519,1; + delitem 612,1; + getitem 558,1; + mes "[エステル=ローズ]"; + mes "はい、出来上がりました!"; + mes "プレゼントなさるのですか?"; + mes "気持ちが伝わるといいですね。"; + mes "幸せになってください〜。"; + close; +} + +prt_castle.gat,42,35,3 script Dessert Manager 47,{ + if (Sex == 1) goto LStartMan; +LStartWomen: + mes "[Charl Orleang]"; + mes "オゥ、マドモアゼル!"; + mes "貴方がそこにいるだけで、このむさ"; + mes "苦しい場所が天国に等しくなる。"; + next; + mes "[Charl Orleang]"; + mes "天使のように愛くるしい貴方が"; + mes "いったい何用でここにいらしたのかな?"; + mes "ワタクシめでよければ、何でも願いを"; + mes "聞きましょう。"; + next; + menu "チョコレートを作ってくれますか?",L1,"お疲れ様です。",-; + mes "[Charl Orleang]"; + mes "オゥ、その一言……ワタクシの存在を"; + mes "無に帰すような……その氷の刃のような"; + mes "一言が、私の身を削り、魂さえ痩せ衰え"; + mes "させてしまう……"; + next; + mes "[Charl Orleang]"; + mes "オゥ、マドモアゼル!"; + mes "どうすればどうすれば……貴方の心を"; + mes "再びワタクシの虜と出来るのか!?"; + close; +L1: + if (countitem(558) >= 3) goto L2; + mes "[Charl Orleang]"; + mes "オゥ、マドモアゼル!"; + mes "ワタクシは神でも錬金術師でもないので"; + mes "す。変な材料から芸術品を創り出すこと"; + mes "など出来ません!そして、平凡なアイテ"; + mes "ムから平凡な作品を作るなど、偉大な芸"; + mes "術家のワタクシには不可能!!"; + next; + mes "[Charl Orleang]"; + mes "ワタクシが創造する物は、世界中の誰も"; + mes "が感嘆のため息を吐く、誰にも到底真似"; + mes "出来ない芸術品なのです。"; + next; + mes "[Charl Orleang]"; + mes "ワタクシが貴方の苦労に報いる為には"; + mes "^3355ffチョコレート3個^000000が絶対必要なのです。"; + mes "それ以下でも、それ以上でもない。"; + mes "ピッタリ3個……。"; + next; + mes "[Charl Orleang]"; + mes "マドモアゼルの光輝く美貌と華奢な身に"; + mes "隠された強靭な意志なら、きっと手に"; + mes "入れてくることが可能でしょう。"; + next; + mes "[Charl Orleang]"; + mes "いいですか。^3355ffチョコレート3個^000000を持って"; + mes "来てください。出来ることなら火の中"; + mes "水の中、地獄の底へでも、貴方の為に"; + mes "ワタクシが直接手に入れて差し上げたい"; + mes "が、今のワタクシは王宮の業務に終始"; + mes "終われる身……オゥ……"; + next; + mes "[Charl Orleang]"; + mes "オ レヴォワー マドモアゼル……"; + mes "貴方の帰りを心からお待ちして"; + mes "おります……"; + close; +L2: + mes "[Charl Orleang]"; + mes "オゥ、マドモアゼル!"; + mes "ワタクシの持てる全ての感性を持って"; + mes "貴方のチョコレートを美しくすばらしく"; + mes "煌びやかな芸術へと昇華させていただ"; + mes "きましょう!"; + next; + mes "[Charl Orleang]"; + mes "貴方の瞳という宝石が、世界中の誰もを"; + mes "魅了する、透明で神秘的な愛の光を放つ"; + mes "ように……"; + next; + mes "[Charl Orleang]"; + mes "アン ドゥ トロワ クァトル……"; + mes "みにくいアヒルの子が美しい白鳥に変身"; + mes "したように……平凡なチョコレートが美"; + mes "しい芸術に変身するのだ……!!"; + next; + mes "[Charl Orleang]"; + mes "暖かく包み込み……そしてふんわりと"; + mes "変化するがいい!"; + mes "強靭にて、偉大なる時代の名作よ……!"; + next; + delitem 558,3; + getitem 559,1; + mes "[Charl Orleang]"; + mes "オゥ、フェリシタシオン!オゥ〜ララ♪"; + mes "こんな素敵な作品を作り出せるとは……"; + mes "ワタクシはなんと罪深いのだ……!"; + mes "マドモアゼル、この貴方の至極の微笑み"; + mes "とも言える芸術品、気に入っていただけ"; + mes "たかな。"; + next; + mes "[Charl Orleang]"; + mes "では、オ レヴォワ〜。"; + close; +LStartMan: + mes "[Charl Orleang]"; + mes "ボンジュ〜ル_ムッシュー。ワタクシは"; + mes "遥か遠い場所から芸術を生み出すため、"; + mes "このアトリエに舞い降りたところなの"; + mes "です。"; + next; + mes "[Charl Orleang]"; + mes "オゥ、ノンノン!私の清らかな瞳は"; + mes "愛らしい女性のみを映す鏡なのです。"; + next; + mes "[Charl Orleang]"; + mes "オゥ〜、それでなくても忙しいのに"; + mes "このシャルル=オルレアンを煩わせる"; + mes "なんて。オゥ〜、ノンノンノン。"; + close; +} \ No newline at end of file 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/2-2shop.txt deleted file mode 100644 index c8d9edc9b..000000000 --- a/npc/merchants/2-2shop.txt +++ /dev/null @@ -1 +0,0 @@ -prontera.gat,155,211,5 shop 2-2 Class Shop 86,1950:-1,1952:-1,1954:-1,1956:-1,1958:-1,1960:-1,1801:-1,1803:-1,1805:-1,1811:-1,1809:-1,1901:-1,1903:-1,1905:-1,1909:-1,1911:-1,1907:-1,1550:-1,1551:-1,1552:-1,1553:-1,1554:-1,1555:-1,1556:-1,1557:-1,1558:-1,2341:-1,2343:-1 \ No newline at end of file diff --git a/npc/merchants/custom/2-2shop.txt b/npc/merchants/custom/2-2shop.txt new file mode 100644 index 000000000..c8d9edc9b --- /dev/null +++ b/npc/merchants/custom/2-2shop.txt @@ -0,0 +1 @@ +prontera.gat,155,211,5 shop 2-2 Class Shop 86,1950:-1,1952:-1,1954:-1,1956:-1,1958:-1,1960:-1,1801:-1,1803:-1,1805:-1,1811:-1,1809:-1,1901:-1,1903:-1,1905:-1,1909:-1,1911:-1,1907:-1,1550:-1,1551:-1,1552:-1,1553:-1,1554:-1,1555:-1,1556:-1,1557:-1,1558:-1,2341:-1,2343:-1 \ No newline at end of file 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; +} diff --git a/npc/quests/custom/uneasy_cemetery.txt b/npc/quests/custom/uneasy_cemetery.txt deleted file mode 100644 index e8bf9cf86..000000000 --- a/npc/quests/custom/uneasy_cemetery.txt +++ /dev/null @@ -1,135 +0,0 @@ -//===== eAthena Script ======================================= -//= Uneasy Prontera Cemetery Quest (original script!) -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.2 (Tested and fully working!) -//===== Compatible With: ===================================== -//= eAthena Version 1.0 -//===== Description: ========================================= -//= A periodical quest of the Uneasy Cemetery (Kill undead / Prevent their appearance) -//= Every day, at the midnight Prontera recieve a wave of Undeads. -//= They come from Uneasy Cemetery of Prontera. To protect the players -//= from the undeads terror you may either kill the enemy. Or supply Mother Mathana -//= with needed amount of Holy Water. Every citizen can take his part in the -//= saving of Prontera city. After some days of quiet life... the Cemetery strikes back. -//===== Additional Comments: ================================= -//= 1.1 More advanced ver. Added some bonus the the one who'd kill the last walking undead -//= 1.2 Added coords to the script to make label OmMobDead working -//============================================================ - - -prontera.gat,3,3,3 script Uneasy_Check -1, -{ - end; - -OnHour00: - set $UNEASY_DL,$UNEASY_DL-1; - set $UNEASY_BL,$UNEASY_BL+30; //add need of HW for 30 bottles per day - if ($UNEASY_BL>666) set $UNEASY_BL,666; //keep needed bottles not <=666 - if ($UNEASY_DL < 0) goto L_Start_Undead; -//The Cemetery is OK yet. - disablenpc "Mother Mathana"; - end; -OnInit: - if ($UNEASY_DL >= 0) disablenpc "Mother Mathana"; - end; - -OnHour06: - killmonsterall "prontera.gat"; //The Sun kills undead in the morning - end; - -OnHour01: - if ($@UNEASY_MOB > 0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin, please finish these roaming undead leftovers!",0; - end; - -OnZombieDead: - set $@UNEASY_MOB,$@UNEASY_MOB-1; - if ($@UNEASY_MOB>0) end; - set $UNEASY_DL,0; - set $UNEASY_H$,strcharinfo(0); - if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; - if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: Lady "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; - set JobExp,JobExp+100; - set BaseExp,BaseExp+50; - end; - -L_Start_Undead: - killmonsterall "prontera.gat"; //kills any left monsters - enablenpc "Mother Mathana"; -//call some monsters in the city - set $@UNEASY_MOB, 65; - monster "prontera.gat",0,0,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; -//in the Cemetery - monster "prontera.gat",268,349,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; - monster "prontera.gat",269,350,"Ghoul",1036,5,"Uneasy_Check::OnZombieDead"; -//announce - mapannounce "prontera.gat","[Mother Mathana]: The cememtery has became restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0; -} - -prontera.gat,257,313,5 script Mother Mathana 79, -{ - mes "[Mother Mathana]"; - if ($UNEASY_DL <= 0) goto L_Undead_Walk; - mes "I'm afraid there's something wrong with our old cemetery..."; - if ($UNEASY_H$==strcharinfo(0)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!"; - if ($UNEASY_H$!=strcharinfo(0)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!"; - emotion 0; - close; - -L_Undead_Walk: - if ($UNEASY_DL == 0) mes "THEY could return tomorrow's night again!"; - if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(0)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!"; - if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(0)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!"; - mes "To calm down the resless cemetery, we should pour all these grave with the Holy Water. But our sisters and broters are run out of it."; - mes "Could you supply us with Holy Water?"; - next; - menu "Yes, have all my Holy Water!",-, "Nope, I need it.",M_NO, "I don't have any.",M_DONT_HAVE; - - if ( countitem("Holy_Water")<1 ) goto M_DONT_HAVE; - set $UNEASY_BL,$UNEASY_BL-countitem("Holy_Water"); - delitem "Holy_Water",countitem("Holy_Water"); - - if ( $UNEASY_BL > 0 ) goto L_NEED_MORE; -//set quiet days!!! no more undead for this period! - set $UNEASY_DL,5+((0-$UNEASY_BL)/30); - set $UNEASY_H$,strcharinfo(0); - mes "[Mother Mathana]"; - mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!"; - next; - mes "[Mother Mathana]"; - mes "On pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!"; - next; - killmonsterall "prontera.gat"; //kills any left monsters - mes "[Mother Mathana]"; - mes "See, "+ $UNEASY_H$ +"? They all are gone now!"; - next; - mes "[Mother Mathana]"; - mes "Our Church is going to thank you personally..."; - next; - if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0; - if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare beautiful "+$UNEASY_H$+" as a Prontera savior!",0; - mes "[Mother Mathana]"; - mes "In the name of Odin we bless you and decently present a modest gift just from Mareusis' wine-cellar."; - getitem "Blue_Potion",1; - set JobExp,JobExp+100; - set BaseExp,BaseExp+50; - close; - -L_NEED_MORE: - mes "[Mother Mathana]"; - mes "Thank you, good "+strcharinfo(0)+", but we still nedd " + $UNEASY_BL + " more Holy Water bottles."; - close; - -M_NO: - mes "[Mother Mathana]"; - mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you could get."; - close; - -M_DONT_HAVE: - mes "[Mother Mathana]"; - mes "Alas! We still need " + $UNEASY_BL + " more bottles of Holy Water... Why don't you go and ask other people for some extra Holy Water."; - mes "The old cemetery is going out of control soon..."; - mes "Please, in the name of Odin, help Prontera city."; - close; -} \ No newline at end of file diff --git a/save/castle.txt b/save/castle.txt index 06b1101e9..98cdd36fa 100644 --- a/save/castle.txt +++ b/save/castle.txt @@ -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 -- cgit v1.2.3-70-g09d2