diff options
Diffstat (limited to 'npc/functions/event.txt')
-rw-r--r-- | npc/functions/event.txt | 679 |
1 files changed, 0 insertions, 679 deletions
diff --git a/npc/functions/event.txt b/npc/functions/event.txt index 89190c3..eb83bb2 100644 --- a/npc/functions/event.txt +++ b/npc/functions/event.txt @@ -11,59 +11,6 @@ - script sPatrick NPC_HIDDEN,{ OnInit: - setarray .maps$, - "005-1", - "013-1", - "014-1", - "014-2", - "014-3", - "014-4", - "014-5", - "017-1", - "018-2", - "018-4", - "018-5", - "soren"; - end; -OnMyMobDeath: - end; -OnClock0000: -OnClock6000: -OnClock1200: -OnClock1500: -OnClock1800: -OnClock2100: - .@d=gettime(GETTIME_DAYOFMONTH); - // Patrick Day should work only in 2 luck days according to Saulc - // If this is required use $PATRICK_DAYCTRL so the days before $@PATRICK_DAYMAX - // act with 100% chances (determinism). - // As it is being spawn 4 times at a day (like TMW-BR events), because it is - // flatly and outright IMPOSSIBLE to add a permanent spawn, that is not required. - if ($EVENT$ == "Patrick" && .@d <= $@PATRICK_DAYMAX) { - for (.@i=0; .@i < getarraysize(.maps$); .@i++) { - .@m$=.maps$[.@i]; - .@x=getmapinfo(MAPINFO_SIZE_X, .@m$)-20; - .@y=getmapinfo(MAPINFO_SIZE_Y, .@m$)-20; - - // Remove previously spawned clovers - killmonster(.@m$, "sPatrick::OnMyMobDeath"); - // It is one clover for each 225 tiles (about a 25x25 square) - .@maparea=(.@x-20)*(.@y-20); - .@mobs=max(1, .@maparea/225); - areamonster .@m$, 20, 20, .@x, .@y, strmobinfo(1, StPatricksClover), StPatricksClover, .@mobs, "sPatrick::OnMyMobDeath"; - } - } - end; - -// Remove previously spawned clovers for event end -// And then disables the NPC -OnCleanUp: - for (.@i=0; .@i < getarraysize(.maps$); .@i++) { - .@m$=.maps$[.@i]; - killmonster(.@m$, "sPatrick::OnMyMobDeath"); - } - disablenpc "sPatrick"; - donpcevent "Aurora::OnRestore"; end; } @@ -132,208 +79,7 @@ OnBossDie: end; } -- script sThankAeros NPC_HIDDEN,{ -OnInit: - .users=getusers(1); - .score=0; - .event=0; - .quota=300; -OnTimer90000: - // Abort event and reset score - if (.event && .event < gettimetick(2)) { - .event=0; - .score=0; - $@GM_EVENT=0; - $@MK_SCENE=MK_NONE; - killmonsterall("001-1"); - mapwarp("001-1", "000-1", 22, 22, 0); - announce ("The event is over!"), bc_all|bc_npc; - } - - // Skip processment until current event ends - if (.event) { - initnpctimer; - end; - } - - // Stop counting or update scores - if ($EVENT$ != "Thanksgiving") - end; - .users=getusers(1); - .score+=.users; - .quota = limit(300, 500 - (.users * 25), 500); - - // Do event (lasts 45 minutes) - if (!.event && !$@MK_SCENE && !$@GM_EVENT && .score > .quota && (.users >= 4 || $@GM_OVERRIDE)) { - /* Reserve Aeros */ - $@MK_SCENE=MK_LOCKED; - /* Setup the event */ - $@AEROS_SPWN=(.users > 6 ? 2 : any(0, 1)); - $@AEROS_AUTOSPAWN=.users+rand2(1, .users); - donpcevent("Mana Being#001-1::OnAutoSched"); - /* Open the event */ - $@GM_EVENT = 2; - .event = gettimetick(2) + 2700; - announce ("The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!"), bc_all|bc_npc; - announce ("##1THANKSGIVING SPECIAL. TIME LIMIT: ##B45 MINUTES.##b##0"), bc_all|bc_npc; - channelmes("#world", "An event is happening on Aeros! Hurry up!"); - } - - initnpctimer; - end; - -OnForceInit: - .score+=9999; - goto OnTimer90000; -} - function script sThanksgiving { - // Variables: - // #THANKS_DAY - // #THANKS_STREAK - // @thanks_card - - // Already spinned - if (#THANKS_DAY == gettime(5) || $EVENT$ != "Thanksgiving") - return; - - // Not spinned yet - showavatar 1102; - mes l(".:: Thanksgiving ::."); - mesc l("Spin daily the card to get prizes!"); - - select - l("SPIN!"), - l("Later"); - mes ""; - if (@menu == 2) { - setskin ""; - closeclientdialog; - return; - } - // Spin it - // Your prize is saved in .@luck. Rigged against fruits - .@luck=rand2(0,11); - .@luck=(.@luck == 10 ? rand2(0,11) : .@luck); - // A fruit before 10 days: rig to Arcmage or to blueprint - if (.@luck == 10 && #THANKS_STREAK < 10) - .@luck+=any(-1,1); - // A fruit before 20 days: Lower chances from 4% to 2% - if (.@luck == 10 && #THANKS_STREAK < 20) - .@luck=rand2(0,11); - // Extra spins - .@extra=rand2(1,3); - .@spins=.@extra*11+.@luck; - //.@extra=0; - - // Show the spins - for (.@i=0;.@i<=.@spins;.@i++) { - .@cur=(.@i%11); - showavatar 1103+.@cur; - sleep2(60); - } - mes l(".:: Congratulations ::."); - #THANKS_DAY = gettime(5); - #THANKS_STREAK+=1; - if (debug || $@GM_OVERRIDE) { - mes l("You got a %d", .@luck); - mesf "Spins: %d/%d (cur %d extra %d)", .@i, .@spins, .@cur, .@extra; - mes ""; - //.@luck=$@GM_OVERRIDE; - } - - // Switch the reward - .@blv = BaseLevel + TOP3AVERAGELVL() / 2; - switch (.@luck) { - case 0: // EXP - .@p=.@blv*#THANKS_STREAK; - .@p*=3; - getexp .@p, 0; - mes l("You got %d EXP!", .@p); - break; - case 1: // JEXP - .@p=.@blv*#THANKS_STREAK; - .@p=.@p*15/10; - getexp 0, .@p; - mes l("You got %d JEXP!", .@p); - break; - case 2: // GP - .@p=.@blv*#THANKS_STREAK; - Zeny+=.@p; - mes l("You got %d GP!", .@p); - break; - case 3: // MOBPT - .@p=.@blv*#THANKS_STREAK; - Mobpt+=.@p; - mes l("You got %d Monster Points!", .@p); - break; - case 4: // RES - .@p=.@blv*#THANKS_STREAK; - .@p*=3; - REAL_ESTATE_CREDITS+=.@p; - mes l("You got %d Real Estate Credits!", .@p); - break; - case 5: // GIFT - .@p=BronzeGift; - .@p=(#THANKS_STREAK > 7 ? SilverGift : .@p); - .@p=(#THANKS_STREAK > 15 ? GoldenGift : .@p); - .@p=(#THANKS_STREAK > 22 ? PrismGift : .@p); - .@p=(#THANKS_STREAK > 27 ? SupremeGift : .@p); - mes l("You got a(n) %s gift!", getitemlink(.@p)); - getitem .@p, 1; - break; - case 6: // STR C - .@p=#THANKS_STREAK; - getitem StrangeCoin, .@p; - mes l("You got %d %s!", .@p, getitemlink(StrangeCoin)); - break; - case 7: // HERO C - .@p=#THANKS_STREAK; - .@p+=getq2(LoFQuest_HH)*max(1,#THANKS_STREAK/10); - getitem HeroCoin, .@p; - mes l("You got %d %s!", .@p, getitemlink(HeroCoin)); - break; - case 8: // MERC - .@p=any(MercCard_GonzoDark, MercCard_Rosa, MercCard_Soren, MercCard_Apane); - .@p=(#THANKS_STREAK > 7 ? any(MercCard_EarthWitch, MercCard_Demure, MercCard_Jesusalva, MercCard_Pookie) : .@p); - .@p=(#THANKS_STREAK > 14 ? any(MercCard_Arthur, MercCard_LawnCable, MercCard_Crazyfefe, MercCard_Saulc) : .@p); - .@p=(#THANKS_STREAK > 21 ? any(MercCard_Swezanne, MercCard_DragonStar, MercCard_Msawis, MercCard_Aisen) : .@p); - .@p=(#THANKS_STREAK > 27 ? any(MercCard_Xanthem, MercCard_Woody, MercCard_Lilanna) : .@p); - getitem .@p, 1; - mes l("You got a %s!", getitemlink(.@p)); - break; - case 9: // CARD - .@p=any(NatureCard, NinjaCard, MageCard, DruidCard, ClericCard, KnightCard, HeroCard, NecromancerCard); - .@p=(#THANKS_STREAK > 24 ? any(SpeedCard, ReflectCard, PowerCard, WallCard) : .@p); - getitem .@p, 1; - mes l("You got a %s!", getitemlink(.@p)); - break; - case 10: // FRUIT - .@p=MysteriousFruit; - getitem .@p, 1; - mes l("You got a %s!", getitemlink(.@p)); - break; - case 11: // BLUE - .@p=any(EquipmentBlueprintA, EquipmentBlueprintA, AlchemyBlueprintA); - .@p=(#THANKS_STREAK > 7 ? any(EquipmentBlueprintB, EquipmentBlueprintB, AlchemyBlueprintB) : .@p); - .@p=(#THANKS_STREAK > 14 ? any(EquipmentBlueprintC, EquipmentBlueprintC, AlchemyBlueprintC) : .@p); - .@p=(#THANKS_STREAK > 21 ? any(EquipmentBlueprintD, EquipmentBlueprintD, AlchemyBlueprintD) : .@p); - .@p=(#THANKS_STREAK > 27 ? any(EquipmentBlueprintE, EquipmentBlueprintE, AlchemyBlueprintE) : .@p); - getitem .@p, 1; - mes l("You got a %s!", getitemlink(.@p)); - break; - } - - // Special bonus - if (#THANKS_STREAK % 7 == 0) { - getitem StrangeCoin, 10; - mesc l("%d day streak! Gained %d bonus %s!", #THANKS_STREAK, 10, getitemlink(StrangeCoin)); - } - - // Close - next; - setskin ""; - closeclientdialog; return; } @@ -388,112 +134,11 @@ function script CoffeeDay { // FSFDay() function script FSFDay { - if (!playerattached()) - return; - - // Date check - if (gettime(6) != SEPTEMBER) - return; - if (gettime(5) != 9) - return; - - // Max. 0.16% chances, 0.008% per monster level - .@lv=min(200, getmonsterinfo(killedrid, MOB_LV)); - if (rand(1000000) < (.@lv*8)) { - getmapxy(.@m$, .@x, .@y, 0); - .@x+=rand2(-1,1); - .@y+=rand2(-1,1); - // Ancient 50%, Equipment 25%, Alchemy 25% - .@bp = any(AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, - AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, - EquipmentBlueprintA, EquipmentBlueprintB, EquipmentBlueprintC, EquipmentBlueprintD, EquipmentBlueprintE, - AlchemyBlueprintA, AlchemyBlueprintB, AlchemyBlueprintC, AlchemyBlueprintD, AlchemyBlueprintE); - makeitem(.@bp, 1, .@m$, .@x, .@y); - } return; } // CraftmasterDay() function script CraftmasterDay { - if (!playerattached()) - return; - - // Date check - if (!$BETASERVER) - return; - if (gettime(7) != 2021) - return; - if (gettime(6) != JUNE) - return; - if (gettime(5) != 21) - return; - if (getmap() != "018-3") - return; - - // Scored a Blue Print (2.5%) - if (rand2(10000) < 250) { - if (BaseLevel > 80 && REBIRTH) - getitem any(EquipmentBlueprintE, AlchemyBlueprintE, - EquipmentBlueprintD, AlchemyBlueprintD, - EquipmentBlueprintC, AlchemyBlueprintC, - EquipmentBlueprintB, AlchemyBlueprintB, - EquipmentBlueprintA, AlchemyBlueprintA), 1; - else if (BaseLevel > 70) - getitem any(EquipmentBlueprintD, AlchemyBlueprintD, - EquipmentBlueprintC, AlchemyBlueprintC, - EquipmentBlueprintB, AlchemyBlueprintB, - EquipmentBlueprintA, AlchemyBlueprintA), 1; - else if (BaseLevel > 45) - getitem any(EquipmentBlueprintC, AlchemyBlueprintC, - EquipmentBlueprintB, AlchemyBlueprintB, - EquipmentBlueprintA, AlchemyBlueprintA), 1; - else if (BaseLevel > 20) - getitem any(EquipmentBlueprintB, AlchemyBlueprintB, - EquipmentBlueprintA, AlchemyBlueprintA), 1; - else - getitem any(EquipmentBlueprintA, AlchemyBlueprintA), 1; - return; - } - - // Scored Monster Points (9%) - if (rand2(10000) < 900) { - .@mpt=rand2(BaseLevel*10, BaseLevel*100); // 600~6000 usually - Mobpt+=.@mpt; - dispbottom l("Acquired: %s Monster Points", fnum(.@mpt)); - return; - } - - // Autocraft (1%) - if (rand2(10000) < 100) { - .@rc=any(rand2(51, 62), 65, 66, rand2(72, 76), rand2(77, 81), 82, 98, - 99, 100, rand2(93, 97), rand2(88, 91), rand(83, 87), 92, 101, - rand2(102,117), any(122, 112), rand2(125, 134), rand2(135, 143)); - // Retrieve ID - .@it=getcraftcode(.@rc); - if (.@it <= 0) - return; - // Mark the crafting in your score variable - CRAFTING_SCORE_COMPLETE+=getiteminfo(.@it, ITEMINFO_ELV); - // Update your score book - CRAFTING_SCORE=(CRAFTING_SCORE_COMPLETE/40); - // Receive item - getitembound(.@it, 1, 1); - // Apply options if possible - if (getskilllv(TMW2_CRAFT)) { - delinventorylist(); // Needed, because we'll rely on rfind() - getinventorylist(); - .@index=array_rfind(@inventorylist_id, .@it); - - // Just to be sure, if this have an option, get something else - if (getitemoptionparambyindex(.@index, 0)) { - .@index=array_find(@inventorylist_id, .@it); - } - - callfunc("csys_Apply", .@index); - } - dispbottom l("Successfully Crafted: %s", getitemname(.@it)); - return; - } return; } @@ -510,327 +155,3 @@ function script CraftmasterDay { - -000-0,0,0,0 script #EventCore NPC_HIDDEN,{ - end; - -// confEvent(event ID, stday, stmon, endday, endmon) -function confEvent { - setd("."+getarg(0)+"_stday", getarg(1)); - setd("."+getarg(0)+"_stmon", getarg(2)); - setd("."+getarg(0)+"_endday", getarg(3)); - setd("."+getarg(0)+"_endmon", getarg(4)); - // Save the event key? - //.@confname=".conf_"+getarg(2)+"$"; - //setd(.@confname+"["+getarraysize(.@confname)+"]", getarg(0)); - // Save only the day? (And use if statement) - .@confname$=".conf_"+getarg(2); - .@size=getarraysize(getd(.@confname$)); - setd(.@confname$+"["+.@size+"]", getarg(1)); - //debugmes "CONFIGURE EVENT, %s[%d] = %d", .@confname$, .@size, getarg(1); - //debugmes "CNAME: %s", getarg(0); - return; -} - -// Event Schedule (all dates are inclusive) -// NEVER, ever, include the last day of the month. -OnInit: - /* - confEvent("valentine", - 13, FEBRUARY, - 16, FEBRUARY); - - confEvent("tmw2day", - 1, MARCH, - 7, MARCH); - - confEvent("patrick", - 15, MARCH, - 19, MARCH); - - confEvent("easter", - 17, APRIL, - 24, APRIL); - - confEvent("worker", - 27, APRIL, - 3, MAY); - - confEvent("thanks", - 1, NOVEMBER, - 29, NOVEMBER); // NEVER use the last day of the month here - - confEvent("xmas", - 19, DECEMBER, - 2, JANUARY); - */ - - // Some setup - .@isinit=true; - disablenpc "sPatrick"; - FYE_Normalize(); - -// Check for events every midnight -OnClock0000: - // No events on test server - if (debug && !$@GM_OVERRIDE) - end; - - // Prepare variables - .@d=gettime(GETTIME_DAYOFMONTH); - .@m=gettime(GETTIME_MONTH); - .@o=gettime(GETTIME_WEEKDAY); // Resets at 0 (sunday) - debugmes "A new day begins! Today is %02d/%02d", .@d, .@m; - - // Override the server-wide randomness - resetrng(); - - // Initialize the event core - if ($@DEBUG_OD) - .@d=$@DEBUG_OD; - if ($@DEBUG_OM) - .@m=$@DEBUG_OM; - consoleinfo "EVENT CORE, the %02d/%02d", .@d, .@m; - - // Is there another event this week? - if (!$HARDCORE && .@o == MONDAY && !.@isinit) { - .@dofy=true; - .@confname$=".conf_"+.@m; - - // NOTE: Maybe make a single .annuals array and cycle it - // Gather the ST variable from interest...? - for (.@i=0;.@i < getarraysize(getd(.@confname$)); .@i++) { - .@val=getd(.@confname$+"["+.@i+"]"); - //debugmes "Looping, %d = %d", .@i, .@val; - - // Erm. - if (.@val == 0) - continue; - - // This script has a weakness: It cannot predict events starting - // at the start or the end of the month. - // So they might still overlap. - // A possible solution is to, eventually, record start and end date. - // And only inhibit FY event if the MONDAY is within the event...? - // XXX: Now it inhibits by itself; But it should NOT begin a FYE if - // another (annual) event is scheduled for the same week. - // Namely: TMW2 Day and Thanksgiving - debugmes "%d >= %d && %d <= %d", .@val, .@d-6, .@val, .@d+6; - // In this case there's already an event! - // .@d == .@val <= .@d+6 AND - if ( .@val >= .@d-6 && .@val <= .@d+6 ) { - .@dofy=false; - break; - } - // continue... - } - - // Stop previous event - FYStopEvent(); - - // Trigger event framework - if (.@dofy && $EVENT$ == "") - FYNewEvent(); - else - debugmes "\033[1mAnother event is scheduled!"; - } - - // Handle Valentine Day - if (.@m >=.valentine_stmon && .@m <= .valentine_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .valentine_stday - 1) { - kamibroadcast("Valentine Day will start tomorrow!"); - } - // Last Day: Send out an announcement - if (.@d == .valentine_endday) { - kamibroadcast("It's the last day for Valentine Event! Hurry up!"); - } - // Begin the event - if (.@d == .valentine_stday) { - kamibroadcast("Valentine Day begun!"); - if ($EVENT$ != "") - FYStopEvent(); - $EVENT$="Valentine"; - $@VALENTINE_LOVELETTER = htnew(); - $@VALENTINE_GIFTSTACKS = htnew(); - } - // End the event the day after - if (.@d == .valentine_endday+1) { - kamibroadcast("Valentine Day ended!"); - sClear(); - $EVENT$=""; - } - } - - - - // Handle TMW2 Day - if (.@m >=.tmw2day_stmon && .@m <= .tmw2day_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .tmw2day_stday - 1) { - kamibroadcast("Moubootaur Legends Anniversary will start tomorrow!"); - } - // Last Day: Send out an announcement - if (.@d == .tmw2day_endday) { - kamibroadcast("It's the last day of our Anniversary Event! Hurry up!"); - } - // Begin the event - if (.@d == .tmw2day_stday) { - kamibroadcast("Moubootaur Legends Anniversary Event begun!"); - if ($EVENT$ != "Anniversary") - $BCONFB_EXPR+=50; - $EVENT$="Anniversary"; - } - // End the event the day after - if (.@d == .tmw2day_endday+1) { - kamibroadcast("Our Special Anniversary Event ended! Thanks!"); - sClear(); - $EVENT$=""; - } - } - - - // Handle St. Patrick Day - // During this day, a special four leaf clover is spawned daily, at 4 times in the day - // in all forests: 6:00, 12:00, 18:00 and 00:00. - // $PATRICK_DAYMAX - if (.@m >=.patrick_stmon && .@m <= .patrick_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .patrick_stday - 1) { - kamibroadcast("St. Patrick Day will start tomorrow!"); - } - // Last Day: Send out an announcement - else if (.@d == .patrick_endday) { - kamibroadcast("It's the last day for St. Patrick Event! Hurry up!"); - } - // Begin the event - else if (.@d == .patrick_stday) { - kamibroadcast("St. Patrick Day begun!"); - if ($EVENT$ != "") - FYStopEvent(); - $EVENT$="Patrick"; - $@PATRICK_DAYMAX=.patrick_endday; - enablenpc "sPatrick"; - setnpcdisplay("Aurora", "Patrick Saulc", NPC_WEIRDGREEN); - enablenpc "St. Patrick Gold Pot"; - donpcevent "St. Patrick Gold Pot::OnForcedMove"; - } - // End the event the day after - else if (.@d == .patrick_endday+1) { - kamibroadcast("St. Patrick Day ended!"); - sClear(); - $EVENT$=""; - donpcevent "sPatrick::OnCleanUp"; - } - } - - - // Handle Easter - if (.@m >=.easter_stmon && .@m <= .easter_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .easter_stday - 1 && .@m == .easter_stmon) { - kamibroadcast("Easter will start tomorrow!"); - } - // Last Day: Send out an announcement - else if (.@d == .easter_endday && .@m == .easter_endmon) { - kamibroadcast("It's the last day for Easter Event! Hurry up!"); - } - // Begin the event - else if (.@d == .easter_stday && .@m == .easter_stmon) { - kamibroadcast("Easter begun!"); - if ($EVENT$ != "") - FYStopEvent(); - sEaster(); - } - // End the event the day after - else if (.@d == .easter_endday+1 && .@m == .easter_endmon) { - kamibroadcast("Easter ended!"); - sClear(); - $EVENT$=""; - } - } - - - // Handle Worker Day - if (.@m >=.worker_stmon && .@m <= .worker_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .worker_stday - 1 && .@m == .worker_stmon) { - kamibroadcast("Worker Day will start tomorrow!"); - } - // Last Day: Send out an announcement - else if (.@d == .worker_endday && .@m == .worker_endmon) { - kamibroadcast("It's the last day for Worker Day Event! Hurry up!"); - } - // Begin the event - else if (.@d == .worker_stday && .@m == .worker_stmon) { - kamibroadcast("Worker Day begun!"); - if ($EVENT$ != "") - FYStopEvent(); - $EVENT$="Worker"; - } - // End the event the day after - else if (.@d == .worker_endday+1 && .@m == .worker_endmon) { - kamibroadcast("Worker Day ended!"); - sClear(); - $EVENT$=""; - } - } - - - // Handle Thanksgiving Day - if (.@m >=.thanks_stmon && .@m <= .thanks_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .thanks_stday - 1 && .@m == .thanks_stmon) { - kamibroadcast("Thanksgiving will start tomorrow!"); - } - // Last Day: Send out an announcement - else if (.@d == .thanks_endday && .@m == .thanks_endmon) { - kamibroadcast("It's the last day for Thanksgiving Event! Hurry up!"); - } - // Begin the event - else if (.@d == .thanks_stday && .@m == .thanks_stmon) { - kamibroadcast("Thanksgiving begun!"); - if ($EVENT$ != "") - FYStopEvent(); - $EVENT$="Thanksgiving"; - donpcevent("sThankAeros::OnTimer90000"); - } - // End the event the day after - else if (.@d == .thanks_endday+1 && .@m == .thanks_endmon) { - kamibroadcast("Thanksgiving ended!"); - sClear(); - $EVENT$=""; - } - } - - - // Handle Christmas. It goes past the year so the rule is different, BEWARE - if (.@m == .xmas_stmon || .@m == .xmas_endmon) { - // It's tomorrow: Send out an announcement - if (.@d == .xmas_stday - 1 && .@m == .xmas_stmon) { - kamibroadcast("Christmas will start tomorrow!"); - } - // Last Day: Send out an announcement - else if (.@d == .xmas_endday && .@m == .xmas_endmon) { - kamibroadcast("It's the last day for Christmas Event! Hurry up!"); - } - // Begin the event - else if (.@d == .xmas_stday && .@m == .xmas_stmon) { - kamibroadcast("Christmas begun!"); - if ($EVENT$ != "") - FYStopEvent(); - $EVENT$="Christmas"; - DelQuestFromEveryPlayer(SQuest_Christmas); - sChristmas(); - } - // End the event the day after - else if (.@d == .xmas_endday+1 && .@m == .xmas_endmon) { - kamibroadcast("Christmas ended!"); - sClear(); - $EVENT$=""; - } - } - debugmes "EVENT CORE has finished"; - end; -} - |