QuestsCalendar.js: Difference between revisions
No edit summary |
No edit summary |
||
(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
var QuestCalendarDict = {1: {"Gold rush": {'name': 'Gold rush', | |||
function getMonthName(month) { | |||
var monthNames = [ | |||
"January", "February", "March", "April", "May", "June", | |||
"July", "August", "September", "October", "November", "December" | |||
]; | |||
return monthNames[month - 1]; | |||
} | |||
// Get the quests for the current month and next month from the questCalendarDict | |||
var currentMonthQuests = QuestCalendarDict[currentMonth]; | |||
var nextMonthQuests = QuestCalendarDict[currentMonth + 1]; | |||
if (currentMonthQuests) { | |||
loadQuests(currentMonthQuests, "#current-month-quests"); | |||
} | |||
if (nextMonthQuests) { | |||
loadQuests(nextMonthQuests, "#next-month-quests"); | |||
} | |||
function loadQuests(quests, container) { | |||
var html = ''; | |||
$.each(quests, function(questName, quest) { | |||
var questGiver = quest.questgiver; | |||
switch (questGiver) { | |||
case "Barkeeper Henry Walker": | |||
questGiver = "https://wiki.the-west.net/images/2/2d/Barkeeper.png"; | |||
break; | |||
case "Maya Roalstad": | |||
questGiver = "https://wiki.the-west.net/images/c/c6/Lady.png"; | |||
break; | |||
case "Sheriff John Fitzburn": | |||
questGiver = "https://wiki.the-west.net/images/d/d2/Sheriffnpc.png"; | |||
break; | |||
case "Waupee": | |||
questGiver = "https://wiki.the-west.net/images/1/19/Indian.png"; | |||
break; | |||
case "Tasks": | |||
questGiver = "https://wiki.the-west.net/images/1/19/Indian.png"; | |||
break; | |||
// | default: | ||
questGiver = "https://wiki.the-west.net/images/2/2d/Barkeeper.png"; | |||
} | |||
var questStartTime = new Date(quest.time_start_raw * 1000); | |||
var questEndTime = new Date(quest.time_end_raw * 1000); | |||
var now = new Date(); | |||
var isActive = now >= questStartTime && now <= questEndTime; | |||
var popupClass = isActive ? "popup_txtgreen" : "popup_txtred"; | |||
// Simple way to fix that long quest name ... | |||
var displayName = questName.replace("(repeatable)", ""); | |||
html += '<div class="questline_frame" bis_skin_checked="1">'; | |||
html += '<div class="questline_name" bis_skin_checked="1"><b>'; | |||
html += '<a href="/wiki/' + questName + '" title="' + questName + '" bis_skin_checked="1">' + displayName + '</a>'; | |||
html += '</b></div>'; | |||
html += '<div class="questgiver" bis_skin_checked="1">'; | |||
html += '<img alt="' + quest.questgiver + '" src="' + questGiver + '" decoding="async" width="200" height="200">'; | |||
html += '</div>'; | |||
html += '<div class="questgiver_overlay" bis_skin_checked="1"></div>'; | |||
if (questName.includes("(repeatable)")) { | |||
html += '<div class="info" style="top: 50px;!important" bis_skin_checked="1">'; | |||
html += '<b style="color: #900;">(Repeatable)</b><br>'; | |||
} else { | |||
html += '<div class="info" bis_skin_checked="1">'; | |||
} | |||
html += 'Required level: <b><span>' + quest.level + '</span></b><br>'; | |||
html += '<span class="popup_txt ' + popupClass + '">From: ' + quest.time_start + ' <br>Until: ' + quest.time_end + ' </span></div>'; | |||
html += '</div>'; | |||
}); | |||
$(container).html(html); | |||
} | |||
}); | |||
})(jQuery); |
Latest revision as of 01:01, 29 June 2024
var QuestCalendarDict = {1: {"Gold rush": {'name': 'Gold rush', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '16/01 at 09:00', 'time_end': '29/01 at 22:59', 'time_start_raw': 1705395600, 'time_end_raw': 1706569140},"Gold rush (repeatable)": {'name': 'Gold rush (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '16/01 at 09:00', 'time_end': '29/01 at 22:59', 'time_start_raw': 1705395600, 'time_end_raw': 1706569140},"The provincial doctor": {'name': 'The provincial doctor', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"The provincial doctor (repeatable)": {'name': 'The provincial doctor (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"First winter": {'name': 'First winter', 'level': 40, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"The snowstorm": {'name': 'The snowstorm', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Unusual winter sport": {'name': 'Unusual winter sport', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Winter Competitions": {'name': 'Winter Competitions', 'level': 40, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Winter Festival": {'name': 'Winter Festival', 'level': 25, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800}},2: {"The provincial doctor": {'name': 'The provincial doctor', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"The provincial doctor (repeatable)": {'name': 'The provincial doctor (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"First winter": {'name': 'First winter', 'level': 40, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"The snowstorm": {'name': 'The snowstorm', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Unusual winter sport": {'name': 'Unusual winter sport', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Winter Competitions": {'name': 'Winter Competitions', 'level': 40, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Winter Festival": {'name': 'Winter Festival', 'level': 25, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/01 at 11:00', 'time_end': '15/02 at 11:00', 'time_start_raw': 1706094000, 'time_end_raw': 1707994800},"Angus' love": {'name': "Angus' love", 'level': 40, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Gone with the Valentine's Day": {'name': "Gone with the Valentine's Day", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Gone with the Valentine's Day (repeatable)": {'name': "Gone with the Valentine's Day (repeatable)", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love for life": {'name': 'Love for life', 'level': 35, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love is in the air": {'name': 'Love is in the air', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love is in the air (repeatable)": {'name': 'Love is in the air (repeatable)', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Maya's fiancé": {'name': "Maya's fiancé", 'level': 30, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Secret Love": {'name': 'Secret Love', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"The ties that bind": {'name': 'The ties that bind', 'level': 119, 'questgiver': 'Waupee', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Together 'til the end!": {'name': "Together 'til the end!", 'level': 45, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Tombstone love story": {'name': 'Tombstone love story', 'level': 80, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Valentine's Day": {'name': "Valentine's Day", 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 23:00', 'time_end': '17/02 at 22:59', 'time_start_raw': 1707260400, 'time_end_raw': 1708210740},"Valentine's Day (repeatable)": {'name': "Valentine's Day (repeatable)", 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 23:00', 'time_end': '17/02 at 22:59', 'time_start_raw': 1707260400, 'time_end_raw': 1708210740},"One foolish Romeo (repeatable)": {'name': 'One foolish Romeo (repeatable)', 'level': 10, 'questgiver': 'Waupee', 'time_start': '07/02 at 09:00', 'time_end': '02/03 at 22:59', 'time_start_raw': 1707296400, 'time_end_raw': 1709420340},"One foolish Romeo": {'name': 'One foolish Romeo', 'level': 10, 'questgiver': 'Waupee', 'time_start': '07/02 at 09:00', 'time_end': '03/03 at 22:59', 'time_start_raw': 1707296400, 'time_end_raw': 1709506740},"Carnival in the Wild West": {'name': 'Carnival in the Wild West', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '28/02 at 10:00', 'time_end': '20/03 at 22:59', 'time_start_raw': 1709114400, 'time_end_raw': 1710975540}},3: {"The provincial doctor": {'name': 'The provincial doctor', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"The provincial doctor (repeatable)": {'name': 'The provincial doctor (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/01 at 09:00', 'time_end': '05/03 at 22:59', 'time_start_raw': 1706086800, 'time_end_raw': 1709679540},"Angus' love": {'name': "Angus' love", 'level': 40, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Gone with the Valentine's Day": {'name': "Gone with the Valentine's Day", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Gone with the Valentine's Day (repeatable)": {'name': "Gone with the Valentine's Day (repeatable)", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love for life": {'name': 'Love for life', 'level': 35, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love is in the air": {'name': 'Love is in the air', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Love is in the air (repeatable)": {'name': 'Love is in the air (repeatable)', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Maya's fiancé": {'name': "Maya's fiancé", 'level': 30, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Secret Love": {'name': 'Secret Love', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"The ties that bind": {'name': 'The ties that bind', 'level': 119, 'questgiver': 'Waupee', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Together 'til the end!": {'name': "Together 'til the end!", 'level': 45, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"Tombstone love story": {'name': 'Tombstone love story', 'level': 80, 'questgiver': 'Maya Roalstad', 'time_start': '06/02 at 11:00', 'time_end': '05/03 at 11:00', 'time_start_raw': 1707217200, 'time_end_raw': 1709636400},"One foolish Romeo (repeatable)": {'name': 'One foolish Romeo (repeatable)', 'level': 10, 'questgiver': 'Waupee', 'time_start': '07/02 at 09:00', 'time_end': '02/03 at 22:59', 'time_start_raw': 1707296400, 'time_end_raw': 1709420340},"One foolish Romeo": {'name': 'One foolish Romeo', 'level': 10, 'questgiver': 'Waupee', 'time_start': '07/02 at 09:00', 'time_end': '03/03 at 22:59', 'time_start_raw': 1707296400, 'time_end_raw': 1709506740},"Carnival in the Wild West": {'name': 'Carnival in the Wild West', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '28/02 at 10:00', 'time_end': '20/03 at 22:59', 'time_start_raw': 1709114400, 'time_end_raw': 1710975540},"Burning spirits of the past!": {'name': 'Burning spirits of the past!', 'level': 66, 'questgiver': 'Waupee', 'time_start': '04/03 at 23:00', 'time_end': '10/04 at 21:59', 'time_start_raw': 1709593200, 'time_end_raw': 1712786340},"Gold coins": {'name': 'Gold coins', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '04/03 at 23:01', 'time_end': '02/04 at 21:59', 'time_start_raw': 1709593260, 'time_end_raw': 1712095140},"New Éire items": {'name': 'New Éire items', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '08/03 at 11:00', 'time_end': '29/03 at 11:00', 'time_start_raw': 1709895600, 'time_end_raw': 1711710000},"St. Patrick 2021": {'name': 'St. Patrick 2021', 'level': 35, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '08/03 at 11:00', 'time_end': '29/03 at 11:00', 'time_start_raw': 1709895600, 'time_end_raw': 1711710000},"Where is the map?": {'name': 'Where is the map?', 'level': 30, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '09/03 at 11:00', 'time_end': '29/03 at 11:00', 'time_start_raw': 1709982000, 'time_end_raw': 1711710000},"Brewing Bad": {'name': 'Brewing Bad', 'level': 35, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '10/03 at 09:00', 'time_end': '23/03 at 22:59', 'time_start_raw': 1710061200, 'time_end_raw': 1711234740},"Brewing Bad (repeatable)": {'name': 'Brewing Bad (repeatable)', 'level': 35, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '10/03 at 09:00', 'time_end': '09/04 at 21:59', 'time_start_raw': 1710061200, 'time_end_raw': 1712699940},"A new egg-hunting tradition": {'name': 'A new egg-hunting tradition', 'level': 30, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter basket": {'name': 'Easter basket', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter basket (repeatable)": {'name': 'Easter basket (repeatable)', 'level': 1, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter breakfast": {'name': 'Easter breakfast', 'level': 33, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter Egg Hunt": {'name': 'Easter Egg Hunt', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Ringo is in the Town": {'name': 'Ringo is in the Town', 'level': 110, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"The new train station": {'name': 'The new train station', 'level': 75, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Water splashing tradition": {'name': 'Water splashing tradition', 'level': 35, 'questgiver': 'Maya Roalstad', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"The easter egg": {'name': 'The easter egg', 'level': 8, 'questgiver': 'Waupee', 'time_start': '20/03 at 23:00', 'time_end': '14/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713131940},"Easter": {'name': 'Easter', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/03 at 23:00', 'time_end': '17/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713391140},"Easter (repeatable)": {'name': 'Easter (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/03 at 23:00', 'time_end': '17/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713391140},"Finding Mr. Easter Bunny": {'name': 'Finding Mr. Easter Bunny', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/03 at 23:00', 'time_end': '13/04 at 21:59', 'time_start_raw': 1711234800, 'time_end_raw': 1713045540},"A strange animal": {'name': 'A strange animal', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/03 at 22:00', 'time_end': '04/04 at 21:59', 'time_start_raw': 1711317600, 'time_end_raw': 1712267940}},4: {"Burning spirits of the past!": {'name': 'Burning spirits of the past!', 'level': 66, 'questgiver': 'Waupee', 'time_start': '04/03 at 23:00', 'time_end': '10/04 at 21:59', 'time_start_raw': 1709593200, 'time_end_raw': 1712786340},"Gold coins": {'name': 'Gold coins', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '04/03 at 23:01', 'time_end': '02/04 at 21:59', 'time_start_raw': 1709593260, 'time_end_raw': 1712095140},"Brewing Bad (repeatable)": {'name': 'Brewing Bad (repeatable)', 'level': 35, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '10/03 at 09:00', 'time_end': '09/04 at 21:59', 'time_start_raw': 1710061200, 'time_end_raw': 1712699940},"A new egg-hunting tradition": {'name': 'A new egg-hunting tradition', 'level': 30, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter basket": {'name': 'Easter basket', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter basket (repeatable)": {'name': 'Easter basket (repeatable)', 'level': 1, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter breakfast": {'name': 'Easter breakfast', 'level': 33, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Easter Egg Hunt": {'name': 'Easter Egg Hunt', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Ringo is in the Town": {'name': 'Ringo is in the Town', 'level': 110, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"The new train station": {'name': 'The new train station', 'level': 75, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"Water splashing tradition": {'name': 'Water splashing tradition', 'level': 35, 'questgiver': 'Maya Roalstad', 'time_start': '12/03 at 11:00', 'time_end': '11/04 at 10:00', 'time_start_raw': 1710241200, 'time_end_raw': 1712829600},"The easter egg": {'name': 'The easter egg', 'level': 8, 'questgiver': 'Waupee', 'time_start': '20/03 at 23:00', 'time_end': '14/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713131940},"Easter": {'name': 'Easter', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/03 at 23:00', 'time_end': '17/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713391140},"Easter (repeatable)": {'name': 'Easter (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/03 at 23:00', 'time_end': '17/04 at 21:59', 'time_start_raw': 1710975600, 'time_end_raw': 1713391140},"Finding Mr. Easter Bunny": {'name': 'Finding Mr. Easter Bunny', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/03 at 23:00', 'time_end': '13/04 at 21:59', 'time_start_raw': 1711234800, 'time_end_raw': 1713045540},"A strange animal": {'name': 'A strange animal', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '24/03 at 22:00', 'time_end': '04/04 at 21:59', 'time_start_raw': 1711317600, 'time_end_raw': 1712267940},"Crafting mini-event": {'name': 'Crafting mini-event', 'level': 20, 'questgiver': 'Maya Roalstad', 'time_start': '22/04 at 10:00', 'time_end': '20/05 at 10:00', 'time_start_raw': 1713780000, 'time_end_raw': 1716199200},"The cake baking event": {'name': 'The cake baking event', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 10:00', 'time_end': '20/05 at 10:00', 'time_start_raw': 1713780000, 'time_end_raw': 1716199200},"The history of The West": {'name': 'The history of The West', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 22:00', 'time_end': '20/05 at 21:59', 'time_start_raw': 1713823200, 'time_end_raw': 1716242340},"The West 12 anniversary": {'name': 'The West 12 anniversary', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 22:00', 'time_end': '23/05 at 21:59', 'time_start_raw': 1713823200, 'time_end_raw': 1716501540},"The West has a birthday!": {'name': 'The West has a birthday!', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/04 at 08:00', 'time_end': '10/05 at 21:59', 'time_start_raw': 1713859200, 'time_end_raw': 1715378340},"The West has a birthday! (repeatable)": {'name': 'The West has a birthday! (repeatable)', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/04 at 08:00', 'time_end': '10/05 at 21:59', 'time_start_raw': 1713859200, 'time_end_raw': 1715378340},"Anti diet week": {'name': 'Anti diet week', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/04 at 08:00', 'time_end': '11/05 at 21:59', 'time_start_raw': 1714377600, 'time_end_raw': 1715464740},"Anti diet week (repeatable)": {'name': 'Anti diet week (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/04 at 08:00', 'time_end': '11/05 at 21:59', 'time_start_raw': 1714377600, 'time_end_raw': 1715464740}},5: {"Crafting mini-event": {'name': 'Crafting mini-event', 'level': 20, 'questgiver': 'Maya Roalstad', 'time_start': '22/04 at 10:00', 'time_end': '20/05 at 10:00', 'time_start_raw': 1713780000, 'time_end_raw': 1716199200},"The cake baking event": {'name': 'The cake baking event', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 10:00', 'time_end': '20/05 at 10:00', 'time_start_raw': 1713780000, 'time_end_raw': 1716199200},"The history of The West": {'name': 'The history of The West', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 22:00', 'time_end': '20/05 at 21:59', 'time_start_raw': 1713823200, 'time_end_raw': 1716242340},"The West 12 anniversary": {'name': 'The West 12 anniversary', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/04 at 22:00', 'time_end': '23/05 at 21:59', 'time_start_raw': 1713823200, 'time_end_raw': 1716501540},"The West has a birthday!": {'name': 'The West has a birthday!', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/04 at 08:00', 'time_end': '10/05 at 21:59', 'time_start_raw': 1713859200, 'time_end_raw': 1715378340},"The West has a birthday! (repeatable)": {'name': 'The West has a birthday! (repeatable)', 'level': 10, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/04 at 08:00', 'time_end': '10/05 at 21:59', 'time_start_raw': 1713859200, 'time_end_raw': 1715378340},"Anti diet week": {'name': 'Anti diet week', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/04 at 08:00', 'time_end': '11/05 at 21:59', 'time_start_raw': 1714377600, 'time_end_raw': 1715464740},"Anti diet week (repeatable)": {'name': 'Anti diet week (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/04 at 08:00', 'time_end': '11/05 at 21:59', 'time_start_raw': 1714377600, 'time_end_raw': 1715464740},"6th Birthday": {'name': '6th Birthday', 'level': 40, 'questgiver': 'Waupee', 'time_start': '07/05 at 10:00', 'time_end': '30/05 at 10:00', 'time_start_raw': 1715076000, 'time_end_raw': 1717063200},"Birthday cake": {'name': 'Birthday cake', 'level': 30, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '07/05 at 10:00', 'time_end': '30/05 at 10:00', 'time_start_raw': 1715076000, 'time_end_raw': 1717063200},"Special drink": {'name': 'Special drink', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '07/05 at 10:00', 'time_end': '30/05 at 10:00', 'time_start_raw': 1715076000, 'time_end_raw': 1717063200},"The best craftsman": {'name': 'The best craftsman', 'level': 40, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '07/05 at 10:00', 'time_end': '30/05 at 10:00', 'time_start_raw': 1715076000, 'time_end_raw': 1717063200},"The best memory": {'name': 'The best memory', 'level': 35, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '07/05 at 10:00', 'time_end': '30/05 at 10:00', 'time_start_raw': 1715076000, 'time_end_raw': 1717063200},"Contest for an innovative dessert": {'name': 'Contest for an innovative dessert', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '13/05 at 10:00', 'time_end': '08/06 at 10:00', 'time_start_raw': 1715594400, 'time_end_raw': 1717840800},"Cooperation pays off": {'name': 'Cooperation pays off', 'level': 40, 'questgiver': 'Waupee', 'time_start': '13/05 at 10:00', 'time_end': '08/06 at 10:00', 'time_start_raw': 1715594400, 'time_end_raw': 1717840800},"Attack of the Wogons": {'name': 'Attack of the Wogons', 'level': 10, 'questgiver': 'Waupee', 'time_start': '18/05 at 08:00', 'time_end': '31/05 at 21:59', 'time_start_raw': 1716019200, 'time_end_raw': 1717192740},"Fort's story": {'name': "Fort's story", 'level': 40, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '31/05 at 10:00', 'time_end': '21/06 at 10:00', 'time_start_raw': 1717149600, 'time_end_raw': 1718964000}},6: {"Contest for an innovative dessert": {'name': 'Contest for an innovative dessert', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '13/05 at 10:00', 'time_end': '08/06 at 10:00', 'time_start_raw': 1715594400, 'time_end_raw': 1717840800},"Cooperation pays off": {'name': 'Cooperation pays off', 'level': 40, 'questgiver': 'Waupee', 'time_start': '13/05 at 10:00', 'time_end': '08/06 at 10:00', 'time_start_raw': 1715594400, 'time_end_raw': 1717840800},"Fort's story": {'name': "Fort's story", 'level': 40, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '31/05 at 10:00', 'time_end': '21/06 at 10:00', 'time_start_raw': 1717149600, 'time_end_raw': 1718964000},"Became a referee": {'name': 'Became a referee', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '04/06 at 10:00', 'time_end': '26/06 at 10:00', 'time_start_raw': 1717495200, 'time_end_raw': 1719396000},"Maya's unusual hobby": {'name': "Maya's unusual hobby", 'level': 50, 'questgiver': 'Maya Roalstad', 'time_start': '04/06 at 10:00', 'time_end': '26/06 at 10:00', 'time_start_raw': 1717495200, 'time_end_raw': 1719396000},"Soccer event - repeatable quests": {'name': 'Soccer event - repeatable quests', 'level': 20, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '04/06 at 10:00', 'time_end': '26/06 at 10:00', 'time_start_raw': 1717495200, 'time_end_raw': 1719396000},"Christopher's parade": {'name': "Christopher's parade", 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '15/06 at 08:00', 'time_end': '28/06 at 21:59', 'time_start_raw': 1718438400, 'time_end_raw': 1719611940},"Christopher's parade (repeatable)": {'name': "Christopher's parade (repeatable)", 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '15/06 at 08:00', 'time_end': '28/06 at 21:59', 'time_start_raw': 1718438400, 'time_end_raw': 1719611940},"Independence Day": {'name': 'Independence Day', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"Independence Day (repeatable)": {'name': 'Independence Day (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"West Point": {'name': 'West Point', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"A dream about the war": {'name': 'A dream about the war', 'level': 8, 'questgiver': 'Tasks', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Danish tradition": {'name': 'Danish tradition', 'level': 30, 'questgiver': 'Waupee', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Everyone is ill": {'name': 'Everyone is ill', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Independence Day preparations": {'name': 'Independence Day preparations', 'level': 20, 'questgiver': 'Maya Roalstad', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Indian celebrations": {'name': 'Indian celebrations', 'level': 35, 'questgiver': 'Waupee', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"The Independence Day parade": {'name': 'The Independence Day parade', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Time for tea": {'name': 'Time for tea', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800}},7: {"Independence Day": {'name': 'Independence Day', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"Independence Day (repeatable)": {'name': 'Independence Day (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"West Point": {'name': 'West Point', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '23/06 at 22:00', 'time_end': '14/07 at 21:59', 'time_start_raw': 1719180000, 'time_end_raw': 1720994340},"A dream about the war": {'name': 'A dream about the war', 'level': 8, 'questgiver': 'Tasks', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Danish tradition": {'name': 'Danish tradition', 'level': 30, 'questgiver': 'Waupee', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Everyone is ill": {'name': 'Everyone is ill', 'level': 20, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Independence Day preparations": {'name': 'Independence Day preparations', 'level': 20, 'questgiver': 'Maya Roalstad', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Indian celebrations": {'name': 'Indian celebrations', 'level': 35, 'questgiver': 'Waupee', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"The Independence Day parade": {'name': 'The Independence Day parade', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Time for tea": {'name': 'Time for tea', 'level': 25, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '25/06 at 10:00', 'time_end': '23/07 at 10:00', 'time_start_raw': 1719309600, 'time_end_raw': 1721728800},"Paul The Great Paladin": {'name': 'Paul The Great Paladin', 'level': 35, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '10/07 at 06:00', 'time_end': '30/07 at 21:59', 'time_start_raw': 1720591200, 'time_end_raw': 1722376740},"Friendship week": {'name': 'Friendship week', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '22/07 at 08:00', 'time_end': '09/08 at 21:59', 'time_start_raw': 1721635200, 'time_end_raw': 1723240740},"Friendship week (repeatable)": {'name': 'Friendship week (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '22/07 at 08:00', 'time_end': '09/08 at 21:59', 'time_start_raw': 1721635200, 'time_end_raw': 1723240740}},8: {"Friendship week": {'name': 'Friendship week', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '22/07 at 08:00', 'time_end': '09/08 at 21:59', 'time_start_raw': 1721635200, 'time_end_raw': 1723240740},"Friendship week (repeatable)": {'name': 'Friendship week (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '22/07 at 08:00', 'time_end': '09/08 at 21:59', 'time_start_raw': 1721635200, 'time_end_raw': 1723240740},"A pawful of kittens": {'name': 'A pawful of kittens', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '01/08 at 08:00', 'time_end': '14/08 at 21:59', 'time_start_raw': 1722499200, 'time_end_raw': 1723672740},"A pawful of kittens (repeatable)": {'name': 'A pawful of kittens (repeatable)', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '01/08 at 08:00', 'time_end': '14/08 at 21:59', 'time_start_raw': 1722499200, 'time_end_raw': 1723672740},"The Colcord story": {'name': 'The Colcord story', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '04/08 at 09:00', 'time_end': '30/09 at 21:59', 'time_start_raw': 1722762000, 'time_end_raw': 1727733540},"Henry on vacation": {'name': 'Henry on vacation', 'level': 51, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '08/08 at 08:00', 'time_end': '31/08 at 21:59', 'time_start_raw': 1723104000, 'time_end_raw': 1725141540},"Labor Day": {'name': 'Labor Day', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 08:00', 'time_end': '02/09 at 21:59', 'time_start_raw': 1724140800, 'time_end_raw': 1725314340},"Labor Day (repeatable)": {'name': 'Labor Day (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 08:00', 'time_end': '02/09 at 21:59', 'time_start_raw': 1724140800, 'time_end_raw': 1725314340},"Henry's garden": {'name': "Henry's garden", 'level': 170, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 22:00', 'time_end': '31/10 at 22:59', 'time_start_raw': 1724191200, 'time_end_raw': 1730415540}},9: {"The Colcord story": {'name': 'The Colcord story', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '04/08 at 09:00', 'time_end': '30/09 at 21:59', 'time_start_raw': 1722762000, 'time_end_raw': 1727733540},"Labor Day": {'name': 'Labor Day', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 08:00', 'time_end': '02/09 at 21:59', 'time_start_raw': 1724140800, 'time_end_raw': 1725314340},"Labor Day (repeatable)": {'name': 'Labor Day (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 08:00', 'time_end': '02/09 at 21:59', 'time_start_raw': 1724140800, 'time_end_raw': 1725314340},"Henry's garden": {'name': "Henry's garden", 'level': 170, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 22:00', 'time_end': '31/10 at 22:59', 'time_start_raw': 1724191200, 'time_end_raw': 1730415540},"The Mountain Farmer and the Shepherdess": {'name': 'The Mountain Farmer and the Shepherdess', 'level': 48, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '05/09 at 09:00', 'time_end': '06/10 at 21:59', 'time_start_raw': 1725526800, 'time_end_raw': 1728251940},"Oktoberfest 2021": {'name': 'Oktoberfest 2021', 'level': 50, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '09/09 at 10:00', 'time_end': '13/10 at 10:00', 'time_start_raw': 1725876000, 'time_end_raw': 1728813600}},10: {"Henry's garden": {'name': "Henry's garden", 'level': 170, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '20/08 at 22:00', 'time_end': '31/10 at 22:59', 'time_start_raw': 1724191200, 'time_end_raw': 1730415540},"The Mountain Farmer and the Shepherdess": {'name': 'The Mountain Farmer and the Shepherdess', 'level': 48, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '05/09 at 09:00', 'time_end': '06/10 at 21:59', 'time_start_raw': 1725526800, 'time_end_raw': 1728251940},"Oktoberfest 2021": {'name': 'Oktoberfest 2021', 'level': 50, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '09/09 at 10:00', 'time_end': '13/10 at 10:00', 'time_start_raw': 1725876000, 'time_end_raw': 1728813600},"The Wright brothers": {'name': 'The Wright brothers', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '05/10 at 09:00', 'time_end': '30/11 at 22:59', 'time_start_raw': 1728118800, 'time_end_raw': 1733007540},"Giant of the land": {'name': 'Giant of the land', 'level': 58, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/10 at 22:00', 'time_end': '14/11 at 22:59', 'time_start_raw': 1728252000, 'time_end_raw': 1731625140},"Giant of the ocean": {'name': 'Giant of the ocean', 'level': 105, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/10 at 22:00', 'time_end': '14/11 at 22:59', 'time_start_raw': 1728252000, 'time_end_raw': 1731625140},"The first cowgirl": {'name': 'The first cowgirl', 'level': 32, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '08/10 at 22:00', 'time_end': '18/11 at 22:59', 'time_start_raw': 1728424800, 'time_end_raw': 1731970740},"The Headless Horseman": {'name': 'The Headless Horseman', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '18/10 at 08:00', 'time_end': '29/11 at 22:59', 'time_start_raw': 1729238400, 'time_end_raw': 1732921140},"A Western Nightmare (repeatable)": {'name': 'A Western Nightmare (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '21/10 at 09:00', 'time_end': '20/11 at 22:59', 'time_start_raw': 1729501200, 'time_end_raw': 1732143540},"A Western Nightmare": {'name': 'A Western Nightmare', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '21/10 at 09:00', 'time_end': '21/11 at 22:59', 'time_start_raw': 1729501200, 'time_end_raw': 1732229940},"Ron's visit": {'name': "Ron's visit", 'level': 40, 'questgiver': 'Waupee', 'time_start': '21/10 at 11:00', 'time_end': '16/11 at 11:00', 'time_start_raw': 1729508400, 'time_end_raw': 1731754800},"Halloween": {'name': 'Halloween', 'level': 12, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/10 at 23:00', 'time_end': '04/11 at 22:59', 'time_start_raw': 1729638000, 'time_end_raw': 1730761140},"Halloween (repeatable)": {'name': 'Halloween (repeatable)', 'level': 12, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/10 at 23:00', 'time_end': '07/11 at 22:59', 'time_start_raw': 1729638000, 'time_end_raw': 1731020340},"Something strange is happening": {'name': 'Something strange is happening', 'level': 27, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/10 at 11:00', 'time_end': '23/11 at 11:00', 'time_start_raw': 1730199600, 'time_end_raw': 1732359600}},11: {"The Wright brothers": {'name': 'The Wright brothers', 'level': 8, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '05/10 at 09:00', 'time_end': '30/11 at 22:59', 'time_start_raw': 1728118800, 'time_end_raw': 1733007540},"Giant of the land": {'name': 'Giant of the land', 'level': 58, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/10 at 22:00', 'time_end': '14/11 at 22:59', 'time_start_raw': 1728252000, 'time_end_raw': 1731625140},"Giant of the ocean": {'name': 'Giant of the ocean', 'level': 105, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '06/10 at 22:00', 'time_end': '14/11 at 22:59', 'time_start_raw': 1728252000, 'time_end_raw': 1731625140},"The first cowgirl": {'name': 'The first cowgirl', 'level': 32, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '08/10 at 22:00', 'time_end': '18/11 at 22:59', 'time_start_raw': 1728424800, 'time_end_raw': 1731970740},"The Headless Horseman": {'name': 'The Headless Horseman', 'level': 8, 'questgiver': 'Sheriff John Fitzburn', 'time_start': '18/10 at 08:00', 'time_end': '29/11 at 22:59', 'time_start_raw': 1729238400, 'time_end_raw': 1732921140},"A Western Nightmare (repeatable)": {'name': 'A Western Nightmare (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '21/10 at 09:00', 'time_end': '20/11 at 22:59', 'time_start_raw': 1729501200, 'time_end_raw': 1732143540},"A Western Nightmare": {'name': 'A Western Nightmare', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '21/10 at 09:00', 'time_end': '21/11 at 22:59', 'time_start_raw': 1729501200, 'time_end_raw': 1732229940},"Ron's visit": {'name': "Ron's visit", 'level': 40, 'questgiver': 'Waupee', 'time_start': '21/10 at 11:00', 'time_end': '16/11 at 11:00', 'time_start_raw': 1729508400, 'time_end_raw': 1731754800},"Halloween": {'name': 'Halloween', 'level': 12, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/10 at 23:00', 'time_end': '04/11 at 22:59', 'time_start_raw': 1729638000, 'time_end_raw': 1730761140},"Halloween (repeatable)": {'name': 'Halloween (repeatable)', 'level': 12, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '22/10 at 23:00', 'time_end': '07/11 at 22:59', 'time_start_raw': 1729638000, 'time_end_raw': 1731020340},"Something strange is happening": {'name': 'Something strange is happening', 'level': 27, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '29/10 at 11:00', 'time_end': '23/11 at 11:00', 'time_start_raw': 1730199600, 'time_end_raw': 1732359600},"The perfect heist": {'name': 'The perfect heist', 'level': 50, 'questgiver': 'Maya Roalstad', 'time_start': '04/11 at 09:00', 'time_end': '02/12 at 22:59', 'time_start_raw': 1730710800, 'time_end_raw': 1733180340},"The perfect heist (repeatable)": {'name': 'The perfect heist (repeatable)', 'level': 50, 'questgiver': 'Maya Roalstad', 'time_start': '04/11 at 09:00', 'time_end': '02/12 at 22:59', 'time_start_raw': 1730710800, 'time_end_raw': 1733180340},"Thanksgiving": {'name': 'Thanksgiving', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '15/11 at 23:00', 'time_end': '30/11 at 22:59', 'time_start_raw': 1731711600, 'time_end_raw': 1733007540},"Thanksgiving (repeatable)": {'name': 'Thanksgiving (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '15/11 at 23:00', 'time_end': '30/11 at 22:59', 'time_start_raw': 1731711600, 'time_end_raw': 1733007540},"Western Friday": {'name': 'Western Friday', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '16/11 at 23:00', 'time_end': '05/12 at 22:59', 'time_start_raw': 1731798000, 'time_end_raw': 1733439540},"The Last Frontier": {'name': 'The Last Frontier', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '21/11 at 10:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732183200, 'time_end_raw': 1735685940},"Magic World": {'name': 'Magic World', 'level': 38, 'questgiver': 'Waupee', 'time_start': '23/11 at 23:01', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732402860, 'time_end_raw': 1735685940},"A holiday spook": {'name': 'A holiday spook', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"A holiday spook (repeatable)": {'name': 'A holiday spook (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas spirit": {'name': 'Christmas spirit', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas spirit (repeatable)": {'name': 'Christmas spirit (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas": {'name': 'Christmas', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '28/11 at 23:00', 'time_end': '26/12 at 22:59', 'time_start_raw': 1732834800, 'time_end_raw': 1735253940}},12: {"The perfect heist": {'name': 'The perfect heist', 'level': 50, 'questgiver': 'Maya Roalstad', 'time_start': '04/11 at 09:00', 'time_end': '02/12 at 22:59', 'time_start_raw': 1730710800, 'time_end_raw': 1733180340},"The perfect heist (repeatable)": {'name': 'The perfect heist (repeatable)', 'level': 50, 'questgiver': 'Maya Roalstad', 'time_start': '04/11 at 09:00', 'time_end': '02/12 at 22:59', 'time_start_raw': 1730710800, 'time_end_raw': 1733180340},"Western Friday": {'name': 'Western Friday', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '16/11 at 23:00', 'time_end': '05/12 at 22:59', 'time_start_raw': 1731798000, 'time_end_raw': 1733439540},"The Last Frontier": {'name': 'The Last Frontier', 'level': 8, 'questgiver': 'Maya Roalstad', 'time_start': '21/11 at 10:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732183200, 'time_end_raw': 1735685940},"Magic World": {'name': 'Magic World', 'level': 38, 'questgiver': 'Waupee', 'time_start': '23/11 at 23:01', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732402860, 'time_end_raw': 1735685940},"A holiday spook": {'name': 'A holiday spook', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"A holiday spook (repeatable)": {'name': 'A holiday spook (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas spirit": {'name': 'Christmas spirit', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas spirit (repeatable)": {'name': 'Christmas spirit (repeatable)', 'level': 10, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '24/11 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1732489200, 'time_end_raw': 1735685940},"Christmas": {'name': 'Christmas', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '28/11 at 23:00', 'time_end': '26/12 at 22:59', 'time_start_raw': 1732834800, 'time_end_raw': 1735253940},"Christmas (repeatable)": {'name': 'Christmas (repeatable)', 'level': 15, 'questgiver': 'Barkeeper Henry Walker', 'time_start': '05/12 at 23:00', 'time_end': '26/12 at 22:59', 'time_start_raw': 1733439600, 'time_end_raw': 1735253940},"Christmas sale": {'name': 'Christmas sale', 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '10/12 at 23:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1733871600, 'time_end_raw': 1735685940},"Santa's companions": {'name': "Santa's companions", 'level': 70, 'questgiver': 'Tasks', 'time_start': '11/12 at 10:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1733911200, 'time_end_raw': 1735685940},"New Year's Eve": {'name': "New Year's Eve", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/12 at 09:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1735030800, 'time_end_raw': 1735685940},"New Year's Eve (repeatable)": {'name': "New Year's Eve (repeatable)", 'level': 10, 'questgiver': 'Maya Roalstad', 'time_start': '24/12 at 09:00', 'time_end': '31/12 at 22:59', 'time_start_raw': 1735030800, 'time_end_raw': 1735685940}}};
(function($) {
$(document).ready(function() { var now = new Date(); var currentMonth = now.getMonth() + 1; var currentYear = now.getFullYear();
var currentMonthDiv = document.getElementById("current-month"); var nextMonthDiv = document.getElementById("next-month");
if (currentMonthDiv && nextMonthDiv) { currentMonthDiv.innerHTML = getMonthName(currentMonth);
var nextMonth = currentMonth + 1; var nextMonthYear = currentYear; if (nextMonth > 12) { nextMonth = 1; nextMonthYear++; } nextMonthDiv.innerHTML = getMonthName(nextMonth); }
function getMonthName(month) { var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; return monthNames[month - 1]; }
// Get the quests for the current month and next month from the questCalendarDict var currentMonthQuests = QuestCalendarDict[currentMonth]; var nextMonthQuests = QuestCalendarDict[currentMonth + 1];
if (currentMonthQuests) { loadQuests(currentMonthQuests, "#current-month-quests"); } if (nextMonthQuests) { loadQuests(nextMonthQuests, "#next-month-quests"); }
function loadQuests(quests, container) { var html = ; $.each(quests, function(questName, quest) {
var questGiver = quest.questgiver; switch (questGiver) { case "Barkeeper Henry Walker": questGiver = "https://wiki.the-west.net/images/2/2d/Barkeeper.png"; break; case "Maya Roalstad": questGiver = "https://wiki.the-west.net/images/c/c6/Lady.png"; break; case "Sheriff John Fitzburn": questGiver = "https://wiki.the-west.net/images/d/d2/Sheriffnpc.png"; break; case "Waupee": questGiver = "https://wiki.the-west.net/images/1/19/Indian.png"; break; case "Tasks": questGiver = "https://wiki.the-west.net/images/1/19/Indian.png"; break; default: questGiver = "https://wiki.the-west.net/images/2/2d/Barkeeper.png"; }
var questStartTime = new Date(quest.time_start_raw * 1000); var questEndTime = new Date(quest.time_end_raw * 1000); var now = new Date(); var isActive = now >= questStartTime && now <= questEndTime; var popupClass = isActive ? "popup_txtgreen" : "popup_txtred";
// Simple way to fix that long quest name ... var displayName = questName.replace("(repeatable)", "");
html += '
html += '<a href="/wiki/' + questName + '" title="' + questName + '" bis_skin_checked="1">' + displayName + '</a>';html += '
html += '<img alt="' + quest.questgiver + '" src="' + questGiver + '" decoding="async" width="200" height="200">';html += '
if (questName.includes("(repeatable)")) {
html += ' html += '(Repeatable)
';
} else {
}
html += 'Required level: ' + quest.level + 'html += 'From: ' + quest.time_start + '
';
Until: ' + quest.time_end + '
}); $(container).html(html); } });
})(jQuery);