Created
March 21, 2018 19:39
-
-
Save dancodan/82254f6287d043f564a576c49f6ad9f2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Calendar for Mundana | |
Created by Kirsty (https://app.roll20.net/users/1165285/kirsty) | |
and sabotaged to an extreme extent by dancodan, also cramed in some swedish here and there.. | |
Many thanks to Aaron (https://app.roll20.net/users/104025/the-aaron) for his NoteLog script, parts of which I "borrowed" | |
API Commands: | |
!cal (as Player) - Shows world, date, time, moon, weather and counted days | |
!cal (as GM) - Same as player but includes options to advance the date/time, alter the weather, add a note or view the settings menu. | |
!calSet (GM only) - Allows the GM to change the world, date, time display, show/hide days until full moon, adjust day counter or set the start date | |
Red Colour: #7E2D40 | |
*/ | |
var Calendar = Calendar || (function() { | |
'use strict'; | |
var version = '1.0', | |
handoutName = 'Events Log', | |
setDefaults = function() { | |
state.Calendar = { | |
now: { | |
version: '1.0', | |
ordinal: 1, | |
year: 2945, | |
weather: "It is a cool but sunny day.", | |
startdate: "1,Mörkerviste,2945", | |
events: "" | |
}, | |
}; | |
}, | |
checkDefaults = function() { | |
if( state.Calendar.now.version != version ){ | |
state.Calendar.now.version = version; | |
} | |
if( ! state.Calendar.now.ordinal){state.Calendar.now.ordinal = 1}; | |
if( ! state.Calendar.now.year){state.Calendar.now.year = 2945}; | |
if( ! state.Calendar.now.weather){state.Calendar.now.weather = "It is a cool but sunny day."}; | |
if( ! state.Calendar.now.timetype){state.Calendar.now.timetype = "OFF"}; | |
if( ! state.Calendar.now.startdate){state.Calendar.now.startdate = "1,Mörkerviste,2945"}; | |
if( ! state.Calendar.now.startdate){state.Calendar.now.events = ""}; | |
}, | |
handleInput = function(msg) { | |
var args = msg.content.split(","); | |
if (msg.type !== "api") {return;} | |
if(playerIsGM(msg.playerid)){ | |
switch(args[0]) { | |
case '!cal': | |
calmain(); | |
break; | |
case '!settings': | |
calmenu(); | |
break; | |
case '!setworld': | |
state.Calendar.now.world=args[1]; | |
calmenu(); | |
break; | |
case '!startdate': | |
state.Calendar.now.startdate=args[1]+','+args[2]+','+args[3]; | |
calmenu(); | |
break; | |
case '!setday': | |
getOrdinal(msg); | |
weather(); | |
calmenu(); | |
break; | |
case '!setmonth': | |
getOrdinal(msg); | |
weather(); | |
calmenu(); | |
break; | |
case '!setyear': | |
state.Calendar.now.year=args[1]; | |
calmenu(); | |
break; | |
case '!setordinal': | |
state.Calendar.now.ordinal=args[1]; | |
calmenu(); | |
break; | |
case '!addday': | |
addday(args[1]); | |
checkWeather(); | |
calmain(); | |
break; | |
case '!weather': | |
if(args[1]=='Roll}'){ | |
checkWeather(); | |
}else{ | |
var string = args[1]; | |
for (var i = 2; i < args.length; i++) { | |
string = string + ", " + args[i]; | |
} | |
state.Calendar.now.weather = string; | |
} | |
calmain(); | |
break; | |
case '!log': | |
log(msg); | |
break; | |
case '!playercal': | |
showcal(msg); | |
break; | |
} | |
}else if(args[0]=='!cal'){ | |
showcal(msg); | |
} | |
}, | |
calstyle = function() { | |
var colour = '#7E2D40'; | |
var divstyle = 'style="width: 189px; border: 1px solid black; background-color: #ffffff; padding: 5px; font-size: 12px;"' | |
var astyle1 = 'style="text-align:center; border: 1px solid black; margin: 1px; padding: 2px; background-color: ' + colour + '; border-radius: 4px; box-shadow: 1px 1px 1px #707070; width: 100px;'; | |
var astyle2 = 'style="text-align:center; border: 1px solid black; margin: 1px; padding: 2px; background-color: ' + colour + '; border-radius: 4px; box-shadow: 1px 1px 1px #707070; width: 150px;'; | |
var tablestyle = ''; | |
var arrowstyle = 'style="border: none; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-left: 195px solid ' + colour + '; margin-bottom: 2px; margin-top: 2px;"'; | |
var headstyle = 'style="color: ' + colour + '; font-size: 18px; text-align: left; font-variant: small-caps; font-family: Times, serif;"'; | |
var substyle = 'style="font-size: 11px; line-height: 13px; margin-top: -3px; font-style: italic;"'; | |
var styles = colour + '|' + divstyle + '|' + astyle1 + '|' + astyle2 + '|' + tablestyle + '|' + arrowstyle + '|' + headstyle + '|' + substyle; | |
return styles; | |
}, | |
calmain = function() { | |
var styles = calstyle().split("|"); | |
var colour = styles[0]; | |
var divstyle = styles[1]; | |
var astyle1 = styles[2]; | |
var astyle2 = styles[3]; | |
var tablestyle = styles[4]; | |
var arrowstyle = styles[5]; | |
var headstyle = styles[6]; | |
var substyle = styles[7]; | |
var world = "Mundana"; | |
var moMenu = getMoMenu(); | |
var ordinal = state.Calendar.now.ordinal; | |
var nowdate = getDate(ordinal).split(','); | |
var month = nowdate[0]; | |
var day = nowdate[1]; | |
var moon = getMundanaMoon(); | |
var start = state.Calendar.now.startdate.split(','); | |
var startdate = start[1]+' '+start[0]+', '+start[2]; | |
sendChat('Kalender', '/w gm <div ' + divstyle + '>' + //-- | |
'<div ' + headstyle + '>Kalender</div>' + //-- | |
'<div ' + substyle + '>Menu (v.' + state.Calendar.now.version + ')</div>' + //-- | |
'<div ' + arrowstyle + '></div>' + //-- | |
'<table ' + tablestyle + '>' + //-- | |
'<tr><td>World: </td><td>' + world + '</td></tr>' + //-- | |
'<tr><td>Date: </td><td>'+ month + ' ' + day + ', ' + state.Calendar.now.year + '</td></tr>' + //-- | |
moon + //-- | |
'</table>' + //-- | |
'<br>Weather: ' + state.Calendar.now.weather + //-- | |
'<br><br><div style="text-align:center;"><a ' + astyle2 + '" href="!addday,?{Days to add?|1}">Advance the Date</a></div>' + //-- | |
'<div style="text-align:center;"><a ' + astyle2 + '" href="!weather,?{Weather|Roll|Edit,?{Edit Weather}}">Change Weather</a></div>' + //-- | |
'<div style="text-align:center;"><a ' + astyle2 + '" href="!log,?{Notes}">Log Day</a></div>' + //-- | |
'<div style="text-align:center;"><a ' + astyle2 + '" href="!playercal">Show to Players</a></div>' + //-- | |
'<div style="text-align:center;"><a ' + astyle2 + '" href="!settings">Settings</a></div>' + //-- | |
'</div>' | |
); | |
}, | |
calmenu = function() { | |
var styles = calstyle().split("|"); | |
var colour = styles[0]; | |
var divstyle = styles[1]; | |
var astyle1 = styles[2]; | |
var astyle2 = styles[3]; | |
var tablestyle = styles[4]; | |
var arrowstyle = styles[5]; | |
var headstyle = styles[6]; | |
var substyle = styles[7]; | |
var world = "Mundana"; | |
var moMenu = getMoMenu(); | |
var ordinal = state.Calendar.now.ordinal; | |
var nowdate = getDate(ordinal).split(','); | |
var month = nowdate[0]; | |
var day = nowdate[1]; | |
var start = state.Calendar.now.startdate.split(','); | |
var startdate = start[1]+' '+start[0]+', '+start[2]; | |
sendChat('Kalender', '/w gm <div ' + divstyle + '>' + //-- | |
'<div ' + headstyle + '>Kalender</div>' + //-- | |
'<div ' + substyle + '>Menu (v.' + state.Calendar.now.version + ')</div>' + //-- | |
'<div ' + arrowstyle + '></div>' + //-- | |
'<table>' + //-- | |
'<tr><td>World: </td><td>' + world + '</a></td></tr>' + //-- | |
'<tr><td>Start Date: </td><td><a ' + astyle1 + '" href="!startdate,?{Day},?{Month},?{Year}">' + startdate + '</a></td></tr>' + //-- | |
'<tr><td>Day: </td><td><a ' + astyle1 + '" href="!setday,?{Day?|1},' + month +'">' + day + '</a></td></tr>' + //-- | |
'<tr><td>Month: </td><td><a ' + astyle1 + '" href="!setmonth,' + day + moMenu + month + '</a></td></tr>' + //-- | |
'<tr><td>Year: </td><td><a ' + astyle1 + '" href="!setyear,?{Year?|2945}">' + state.Calendar.now.year + '</a></td></tr>' + //-- | |
//'<tr><td>Ordinal: </td><td><a ' + astyle1 + '" href="!setordinal,?{Ordinal?|1}">' + ordinal + '</a></td></tr>' + //- | |
'</table>' + //-- | |
'<div style="text-align:center;"><a ' + astyle2 + '" href="!cal">Main Menu</a></div>' + //-- | |
'</div>' | |
); | |
}, | |
showcal = function(msg) { | |
var ordinal = state.Calendar.now.ordinal; | |
var nowdate = getDate(ordinal).split(','); | |
var month = nowdate[0]; | |
var day = nowdate[1]; | |
var world = "Mundana"; | |
var colour = '#7E2D40'; | |
var divstyle = 'style="width: 189px; border: 1px solid black; background-color: #ffffff; padding: 5px;"' | |
var tablestyle = 'style="text-align:center; table-layout: auto; width: 170px;"'; | |
var arrowstyle = 'style="border: none; border-top: 3px solid transparent; border-bottom: 3px solid transparent; border-left: 195px solid ' + colour + '; margin-bottom: 2px; margin-top: 2px;"'; | |
var headstyle = 'style="color: ' + colour + '; font-size: 18px; text-align: left; font-variant: small-caps; font-family: Times, serif;"'; | |
var substyle = 'style="font-size: 11px; line-height: 13px; margin-top: -3px; font-style: italic;"'; | |
var moon = '<table '+tablestyle+'>'+getMundanaMoon()+'</table>'; | |
sendChat(msg.who, '<div ' + divstyle + '>' + //-- | |
'<div ' + headstyle + '>Kalender</div>' + //-- | |
'<div ' + substyle + '>' + world + '</div>' + //-- | |
'<div ' + arrowstyle + '></div>' + //-- | |
month + ' ' + day + ', ' + state.Calendar.now.year + //-- | |
moon + //-- | |
'<br>Today\'s weather:<br>' + state.Calendar.now.weather | |
); | |
}, | |
getMoMenu = function() { | |
var moMenu = ',?{Month|Mörkerviste|Långsnö|Frostfall|Vårkomstdagen|Vattensvall|Blomsterkomst|Gröngräs|Midsommardagen|Högsol|Skördevärv|Sommaränd|Lövfäll|Bittervind|Vinterkomstdagen|Midvinter}">'; | |
return moMenu; | |
}, | |
getDate = function(options){ | |
var day = Number(options); | |
var date; | |
var month; | |
if(day>0 && day<=31){ | |
month="Mörkerviste"; | |
date=day; | |
}else if(day>31 && day<=59){ | |
month="Långsnö"; | |
date=day-31; | |
}else if(day>59 && day<=90){ | |
month="Frostfall"; | |
date=day-59; | |
}else if(day==91){ | |
month="Vårkomstdagen"; | |
date='festival'; | |
}else if(day>91 && day<=121){ | |
month="Vattensvall"; | |
date=day-91; | |
}else if(day>121 && day<=152){ | |
month="Blomsterkomst"; | |
date=day-121; | |
}else if(day>152 && day<=182){ | |
month="Gröngräs"; | |
date=day-152; | |
}else if(day==183){ | |
month="Midsommardagen"; | |
date='festival'; | |
}else if(day>183 && day<=214){ | |
month="Högsol" | |
date=day-183; | |
}else if(day>214 && day<=245){ | |
month="Skördevärv"; | |
date=day-214; | |
}else if(day>245 && day<=275){ | |
month="Sommaränd"; | |
date=day-245; | |
}else if(day>275 && day<=306){ | |
month="Lövfäll"; | |
date=day-275; | |
}else if(day>306 && day<=336){ | |
month="Bittervind"; | |
date=day-306; | |
}else if(day==337){ | |
month="Vinterkomstdagen"; | |
date='festival'; | |
}else if(day>337 && day<=368){ | |
month="Midvinter"; | |
date=day-337; | |
}else{ | |
month="Mörkerviste"; | |
date='1'; | |
} | |
var array=month+','+String(date); | |
return array; | |
}, | |
getOrdinal = function(options){ | |
var args = options.content.split(","); | |
var date = args[1]; | |
var month = args[2]; | |
var ordinal = state.Calendar.now.ordinal; | |
if(date == 'festival'){ | |
date = 1; | |
}else{ | |
date = Number(args[1]); | |
} | |
switch(month) { | |
case 'Mörkerviste': | |
ordinal = date; | |
break; | |
case 'Långsnö': | |
ordinal = 31+date; | |
break; | |
case 'Frostfall': | |
ordinal = 59+date; | |
break; | |
case 'Vårkomstdagen': | |
ordinal = 91; | |
break; | |
case 'Vattensvall': | |
ordinal = 91+date; | |
break; | |
case 'Blomsterkomst': | |
ordinal = 121+date; | |
break; | |
case 'Gröngräs': | |
ordinal = 152+date; | |
break; | |
case 'Midsommardagen': | |
ordinal = 183; | |
break; | |
case 'Högsol': | |
ordinal = 183+date; | |
break; | |
case 'Skördevärv': | |
ordinal = 214+date; | |
break; | |
case 'Sommaränd': | |
ordinal = 245+date; | |
break; | |
case 'Lövfäll': | |
ordinal = 275+date; | |
break; | |
case 'Bittervind': | |
ordinal = 306+date; | |
break; | |
case 'Vinterkomstdagen': | |
ordinal = 337; | |
break; | |
case 'Midvinter': | |
ordinal = 337+date; | |
break; | |
} | |
state.Calendar.now.ordinal = ordinal; | |
}, | |
addday = function(no){ | |
var days = Number(no); | |
var ordinal = Number(state.Calendar.now.ordinal); | |
var newordinal = ordinal+days; | |
if(newordinal>368){ | |
state.Calendar.now.ordinal=newordinal-368; | |
state.Calendar.now.year = Number(state.Calendar.now.year)+1; | |
}else{ | |
state.Calendar.now.ordinal = newordinal; | |
} | |
}, | |
getsuffix = function(day) { | |
var date = day; | |
var suffix; | |
if (date == 'festival'){ | |
suffix = ''; | |
}else if (date == 1 || date == 2 || date == 21 || date == 22 || date == 31 ){ | |
suffix = ':a'; | |
}else{ | |
suffix = ':e'; | |
} | |
return suffix; | |
}, | |
checkWeather = function() { | |
let forecast = WeatherRoller.weather(); | |
state.Calendar.now.weather = forecast; | |
}, | |
getMundanaMoon = function() { | |
var ordinal = Number(state.Calendar.now.ordinal); | |
var tristianaArray = '0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16'; | |
var izagardArray = '0,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16,1,2,3,3,4,5,5,6,7,7,8,9,10,11,11,12,13,13,14,15,15,16,16'; | |
var tristianaNO = tristianaArray.split(","); | |
var tristianaImg = tristianaNO[ordinal]; | |
var tristiana = getMoon(tristianaImg); | |
var izagardNO = izagardArray.split(","); | |
var izagardImg = izagardNO[ordinal]; | |
var izagard = getMoon(izagardImg); | |
var moon = '<tr><td><img src="'+tristiana+'" style="width:40px;height:40px;"></td><td><img src="'+izagard+'" style="width:30px;height:30px;"></td></tr><tr><td>Tristiana</td><td>Izagard</td></tr>'; | |
return moon; | |
}, | |
getMoon = function(moonNo) { | |
var args = moonNo; | |
var moon; | |
switch(args) { | |
case '1': | |
// moon = 'Full Moon'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/7/78/Twemoji_1f315.svg/512px-Twemoji_1f315.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/7/79/Moon-waning-100.svg'; | |
break; | |
case '2': | |
// moon = 'Waning Gibbous'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Twemoji_1f316.svg/512px-Twemoji_1f316.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/d/df/Moon-waning-086.svg'; | |
break; | |
case '3': | |
// moon = 'Waning Gibbous'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Twemoji_1f316.svg/512px-Twemoji_1f316.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/b/b3/Moon-waning-075.svg'; | |
break; | |
case '4': | |
// moon = 'Waning Gibbous'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Twemoji_1f316.svg/512px-Twemoji_1f316.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/1/14/Moon-waning-062.svg'; | |
break; | |
case '5': | |
// moon = 'Last Quarter'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Twemoji_1f317.svg/512px-Twemoji_1f317.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/c/c1/Moon-waning-050.svg'; | |
break; | |
case '6': | |
// moon = 'Waning Crescent'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Twemoji_1f318.svg/512px-Twemoji_1f318.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/a/ab/Moon-waning-038.svg'; | |
break; | |
case '7': | |
// moon = 'Waning Crescent'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Twemoji_1f318.svg/512px-Twemoji_1f318.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/4/40/Moon-waning-022.svg'; | |
break; | |
case '8': | |
// moon = 'Waning Crescent'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/Twemoji_1f318.svg/512px-Twemoji_1f318.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/a/ad/Moon-waning-014.svg'; | |
break; | |
case '9': | |
// moon = 'New Moon'; | |
//moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Twemoji_1f311.svg/512px-Twemoji_1f311.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/e/e3/Moon-waning-000.svg'; | |
break; | |
case '10': | |
// moon = 'Waxing Crescent'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Twemoji_1f312.svg/512px-Twemoji_1f312.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/2/27/Moon-waxing-014.svg'; | |
break; | |
case '11': | |
// moon = 'Waxing Crescent'; | |
// moon = 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Twemoji_1f312.svg/512px-Twemoji_1f312.svg.png'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/e/e9/Moon-waxing-022.svg'; | |
break; | |
case '12': | |
// moon = 'Waxing Crescent'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/b/b8/Moon-waxing-038.svg'; | |
break; | |
case '13': | |
// moon = 'First Quarter'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/f/ff/Moon-waxing-050.svg'; | |
break; | |
case '14': | |
// moon = 'Waxing Gibbous'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/4/4d/Moon-waxing-062.svg'; | |
break; | |
case '15': | |
// moon = 'Waxing Gibbous'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/7/74/Moon-waxing-075.svg'; | |
break; | |
case '16': | |
// moon = 'Waxing Gibbous'; | |
moon = 'https://upload.wikimedia.org/wikipedia/commons/0/0c/Moon-waxing-086.svg'; | |
break; | |
} | |
return moon; | |
}, | |
createHandout = function() { | |
var handout = createObj('handout',{ | |
name: handoutName | |
}); | |
return handout; | |
}, | |
getHandout = function() { | |
var handout = filterObjs(function(o){ | |
return ( 'handout' === o.get('type') && handoutName === o.get('name') && false === o.get('archived')); | |
})[0]; | |
if(handout) { | |
return handout; | |
} | |
return createHandout(); | |
}, | |
log = function(msg) { | |
var args = msg.content.split(","); | |
var text = args[1]; | |
var handout = getHandout(); | |
var ordinal = state.Calendar.now.ordinal; | |
var nowdate = getDate(ordinal).split(','); | |
var month = nowdate[0]; | |
var day = nowdate[1]; | |
var suffix = getsuffix(day); | |
var year = state.Calendar.now.year; | |
var date = day + suffix + " " + month + ", " + year; | |
handout.get('notes', function(nts) { | |
if(!_.isNull(nts)){ | |
setTimeout(function(){ | |
var newtext = nts + "<br>" + date + " - " + text; | |
handout.set('notes', newtext); | |
},0); | |
} | |
setTimeout(function(){},0); | |
}); | |
sendChat('Calendar','/w gm A new note has been added to the Events Log handout.'); | |
}, | |
checkInstall = function() { | |
if(typeof state.Calendar == "undefined"){ | |
setDefaults(); | |
} | |
if ( state.Calendar.now.version != version ){ | |
checkDefaults(); | |
} | |
}, | |
registerEventHandlers = function() { | |
on('chat:message', handleInput); | |
}; | |
return { | |
CheckInstall: checkInstall, | |
RegisterEventHandlers: registerEventHandlers | |
}; | |
}()); | |
on("ready",function(){ | |
'use strict'; | |
Calendar.CheckInstall(); | |
Calendar.RegisterEventHandlers(); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment