// TMW-2 Script // Author: // Jesusalva // Description: // These statues are of great honor to whoever have their name written in them! 003-0-1,63,30,0 script Fortune Statue NPC_STATUE_BANKER,{ if (.rate_limit >= gettimetick(2)) end; .rate_limit=gettimetick(2); HallOfFortune(); close; OnInit: .sex = G_OTHER; .distance = 4; .rate_limit=0; end; } 003-0-1,53,30,0 script Strength Statue NPC_STATUE_GUARD,{ if (.rate_limit >= gettimetick(2)) end; .rate_limit=gettimetick(2); HallOfLevel(); next; HallOfJob(); close; OnInit: .sex = G_OTHER; .distance = 4; .rate_limit=0; end; } 003-0-1,56,26,0 script Hero Statue NPC_STATUE_ANDREI,{ mes l("This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen."); mes l("For defending Hurnscald alone and saving all its inhabitants."); mes l("For fighting against the Monster King once and getting out alive to tell the story."); mes l("For all his great deeds, and thousands of lives he saved, this statue is in his honor."); if ($MOST_HEROIC$ == "") goto L_Fame; next; mes l("Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!", $MOST_HEROIC$); // TODO: Must find a better place for this next; mes l("And in honor of all brave LoF players, to be known to all, the fluffly hunters."); mes "BunnyBear (239) - 2017-11-07 10:04:29"; mes "Scorpius (190) - 2017-01-09 21:33:00"; mes "Billr (177) - 2016-05-21 23:53:22"; mes "Naburudanga (153) - 2017-07-28 22:14:07"; mes "Axzell (150) - 2017-01-09 22:23:00"; L_Fame: next; mesq l("All hail the ones who proven their worth before the whole Alliance!"); HallOfHonor(); HallOfGuild(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,60,26,0 script Worker Statue NPC_STATUE_CONTRIBUTOR,{ HallOfSponsor(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,68,28,0 script #Statue2018 NPC_STATUE_2018,{ HallOf2018(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,67,27,0 script #Statue2019 NPC_STATUE_2019,{ HallOf2019(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,68,26,0 script #Statue2020 NPC_STATUE_2020,{ HallOf2020(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,67,25,0 script #Statue2021 NPC_STATUE_2021,{ HallOf2021(); close; OnInit: .sex = G_OTHER; .distance = 4; end; } 003-0-1,68,24,0 script #Statue2022 NPC_STATUE_EMPTY,{ mes l("After the Great Fire, the annual scoreboards were no longer inscribed in stone."); mes l("However, the events kept happening:"); mes ""; mesc l("TMW2 Project Anniversary: January 13"); mes l("Valentine's Day: February 13 - 16"); mes l("TMW2 Day: March 1 - 7"); mesc l("TMW2 Server Anniversary: March 2"); mes l("St. Patrick Day: March 15 - 19"); mesc l("Spring starts on March 20"), 3; mes l("Easter: April 17 - 24"); mes l("Worker Day: April 27 - May 3"); mesc l("Summer starts on June 21"), 3; mesc l("Jesusalva's Anniversary: June 21"); mesc l("International Chocolate Day: July 7"); mesc l("Gambling Day: August 1 and 10"); mesc l("Free Software Day: September 9"); mesc l("Autumn starts on September 22"), 3; mesc l("International Coffee Day: October 1"); if ($GAME_STORYLINE < 5) mes l("Thanksgiving: November 1 - 29"); mes l("Christmas: December 19 - January 2"); mesc l("Winter starts on December 21"), 3; next; mes l("The following Aurora Events happen when no annual event is happening:"); mesc l("Annual events will take precedence, postponing this schedule."), 1; // Magic to emulate a calendar .@wkd = (gettime(GETTIME_WEEKDAY) - 1) % 7; .@day = gettime(GETTIME_DAYOFMONTH) - .@wkd; .@mon = gettime(GETTIME_MONTH); .@year= gettime(GETTIME_YEAR); .@evi = 0; // The current event do { // Total days in this month switch (.@mon) { case JANUARY: case MARCH: case MAY: case JULY: case AUGUST: case OCTOBER: case DECEMBER: .@mdy = 31; break; case APRIL: case JUNE: case SEPTEMBER: case NOVEMBER: .@mdy = 30; break; case FEBRUARY: .@mdy = ((.@year % 100 && !(.@year % 400)) ? 28 : (gettime(GETTIME_YEAR) % 4 ? 28 : 29)); break; default: .@mdy = 0; } // Advance the month? if (.@day > .@mdy) { .@day -= .@mdy; .@mon += 1; } // Advance the year? if (.@mon > 12) { .@mon -= 12; .@year += 1; //break; } // Print current/next event mes l("%04d-%02d-%02d: %s", .@year, .@mon, .@day, FYEventName(.@evi)); // Advance the dayschedule .@evi += 1; .@day += 7; // Loop until 12 events were shown } while (.@evi < 12); mesc l("* Aurora Event calendar are tentative dates."); close; OnInit: .sex = G_OTHER; .distance = 4; end; }