mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-24 13:47:33 +01:00
Merge pull request #314 from Neerti/11/23/2015_holidays
Refactors holidays slightly
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//Uncommenting ALLOW_HOLIDAYS in config.txt will enable Holidays
|
||||
var/global/Holiday = null
|
||||
var/global/list/Holiday = list() //Holidays are lists now, so we can have more than one holiday at the same time (hey, you never know).
|
||||
|
||||
//Just thinking ahead! Here's the foundations to a more robust Holiday event system.
|
||||
//It's easy as hell to add stuff. Just set Holiday to something using the switch (or something else)
|
||||
@@ -20,115 +20,192 @@ var/global/Holiday = null
|
||||
/proc/Get_Holiday()
|
||||
if(!Holiday) return // Holiday stuff was not enabled in the config!
|
||||
|
||||
Holiday = null // reset our switch now so we can recycle it as our Holiday name
|
||||
Holiday = list() // reset our switch now so we can recycle it as our Holiday name
|
||||
|
||||
var/YY = text2num(time2text(world.timeofday, "YY")) // get the current year
|
||||
var/MM = text2num(time2text(world.timeofday, "MM")) // get the current month
|
||||
var/DD = text2num(time2text(world.timeofday, "DD")) // get the current day
|
||||
|
||||
//Main switch. If any of these are too dumb/inappropriate, or you have better ones, feel free to change whatever
|
||||
//Holidays are now associate lists. You should write holidays like this.
|
||||
//Holiday["Holiday Name Here"] = "Blurb about the holiday here."
|
||||
switch(MM)
|
||||
if(1) //Jan
|
||||
switch(DD)
|
||||
if(1) Holiday = "New Year's Day"
|
||||
if(1)
|
||||
Holiday["New Years's Day"] = "The day of the new solar year on Sol."
|
||||
if(10)
|
||||
Holiday["Messa's Day"] = "A Tajaran holiday. It takes place on the shortest day of the year on \
|
||||
Ahdomai, and is named after Messa, the Tajaran deity of Change."
|
||||
if(12)
|
||||
Holiday["Vertalliq-Qerr"] = "Vertalliq-Qerr, translated to mean 'Festival of the Royals', is a \
|
||||
Skrell holiday that celebrates the Qerr-Katish and all they have provided for the rest of Skrell society, \
|
||||
it often features colourful displays and skilled performers take this time to show off some of their more \
|
||||
fancy displays."
|
||||
|
||||
if(2) //Feb
|
||||
switch(DD)
|
||||
if(2) Holiday = "Groundhog Day"
|
||||
if(14) Holiday = "Valentine's Day"
|
||||
if(17) Holiday = "Random Acts of Kindness Day"
|
||||
if(2)
|
||||
Holiday["Groundhog Day"] = "An unoffical holiday based on ancient folklore that originated on Earth, \
|
||||
that involves the worship of an almighty groundhog, that could control the weather based on if it casted a shadow."
|
||||
if(14)
|
||||
Holiday["Valentine's Day"] = "An old holiday that revolves around romance and love."
|
||||
if(17)
|
||||
Holiday["Random Acts of Kindness Day"] = "An unoffical holiday that challenges everyone to perform \
|
||||
acts of kindness to their friends, co-workers, and strangers, for no reason."
|
||||
|
||||
if(3) //Mar
|
||||
switch(DD)
|
||||
if(14) Holiday = "Pi Day"
|
||||
if(17) Holiday = "St. Patrick's Day"
|
||||
if(3)
|
||||
Holiday["Qixm-tes"] = "Qixm-tes, or 'Day of mourning', is a Skrell holiday where Skrell gather at places \
|
||||
of worship and sing a song of mourning for all those who have died in service to their empire."
|
||||
if(14)
|
||||
Holiday["Pi Day"] = "An unoffical holiday celebrating the mathematical constant Pi. It is celebrated on \
|
||||
March 14th, as the digits form 3 14, the first three significant digits of Pi. Observance of Pi Day generally \
|
||||
imvolve eating (or throwing) pie, due to a pun. Pies also tend to be round, and thus relatable to Pi."
|
||||
if(17)
|
||||
Holiday["St. Patrick's Day"] = "An old holiday originating from Earth, Sol, celebrating the color green, \
|
||||
shamrocks, attending parades, and drinking alcohol."
|
||||
if(27)
|
||||
if(YY == 16)
|
||||
Holiday = "Easter"
|
||||
Holiday["Easter"]
|
||||
if(31)
|
||||
if(YY == 13)
|
||||
Holiday = "Easter"
|
||||
Holiday["Easter"]
|
||||
|
||||
if(4) //Apr
|
||||
switch(DD)
|
||||
if(1)
|
||||
Holiday = "April Fool's Day"
|
||||
if(YY == 18 && prob(50)) Holiday = "Easter"
|
||||
if(5)
|
||||
if(YY == 15) Holiday = "Easter"
|
||||
Holiday["April Fool's Day"] = "An old holiday that endevours one to pull pranks and spread hoaxes on their friends."
|
||||
if(YY == 18)
|
||||
Holiday["Easter"]
|
||||
if(7)
|
||||
Holiday["Tajaran Independence Day"] = "A Tajaran holiday celebrating their independence by winning the \
|
||||
war against the Slavemasters, the former ruling elite that went known as 'The Overseers'."
|
||||
if(8)
|
||||
if(YY == 15)
|
||||
Holiday["Easter"]
|
||||
if(16)
|
||||
if(YY == 17) Holiday = "Easter"
|
||||
if(YY == 17) //Easter can go die for all of this copypasta.
|
||||
Holiday["Easter"]
|
||||
|
||||
if(20)
|
||||
Holiday = "Four-Twenty"
|
||||
if(YY == 14 && prob(50)) Holiday = "Easter"
|
||||
if(22) Holiday = "Earth Day"
|
||||
if(YY == 14)
|
||||
Holiday["Easter"]
|
||||
if(22)
|
||||
Holiday["Earth Day"] = "A holiday of enviromentalism, that originated on it's namesake, Earth."
|
||||
|
||||
if(5) //May
|
||||
switch(DD)
|
||||
if(1) Holiday = "Labour Day"
|
||||
if(4) Holiday = "FireFighter's Day"
|
||||
if(12) Holiday = "Owl and Pussycat Day" //what a dumb day of observence...but we -do- have costumes already :3
|
||||
if(1)
|
||||
Holiday["Interstellar Workers' Day"] = "This holiday celebrates the work of laborers and the working class."
|
||||
if(28)
|
||||
Holiday["Jiql-tes"] = "A Skrellian holiday that translates to 'Day of Celebration', Skrell communities \
|
||||
gather for a grand feast and give gifts to friends and close relatives."
|
||||
|
||||
if(6) //Jun
|
||||
switch(DD)
|
||||
if(6)
|
||||
Holiday["Sapient Rights Day"] = "This holiday celebrates the passing of the Declaration of Sapient Rights by SolGov, which guarantees the \
|
||||
same protections humans are granted to all sapient, living species."
|
||||
if(14)
|
||||
Holiday["Blood Donor Day"] = "This holiday was created to raise awareness of the need for safe blood and blood products, \
|
||||
and to thank blood donors for their voluntary, life-saving gifts of blood."
|
||||
|
||||
if(7) //Jul
|
||||
switch(DD)
|
||||
if(1) Holiday = "Doctor's Day"
|
||||
if(2) Holiday = "UFO Day"
|
||||
if(8) Holiday = "Writer's Day"
|
||||
if(30) Holiday = "Friendship Day"
|
||||
if(1)
|
||||
Holiday["Doctors' Day"] = "A holiday that recognizes the services of physicians, commonly celebrated \
|
||||
in healthcare organizations and facilities."
|
||||
if(30)
|
||||
Holiday["Friendship Day"] = "An unoffical holiday that recognizes the value of friends and companionship. Indeed, not having someone watch \
|
||||
your back while in space can be dangerous, and the cold, isolating nature of space makes friends all the more important."
|
||||
|
||||
if(8) //Aug
|
||||
switch(DD)
|
||||
if(5) Holiday = "Beer Day"
|
||||
if(10)
|
||||
Holiday["S'randarr's Day"] = "A Tajaran holiday that occurs on the longest day of the year in summer, \
|
||||
on Ahdomai. It is named after the Tajaran deity of Light, and huge celebrations are common."
|
||||
|
||||
if(9) //Sep
|
||||
switch(DD)
|
||||
if(19) Holiday = "Talk-Like-a-Pirate Day"
|
||||
if(28) Holiday = "Stupid-Questions Day"
|
||||
if(17)
|
||||
Holiday["Qill-xamr"] = "Translated to 'Night of the dead', it is a Skrell holiday where Skrell \
|
||||
communities hold parties in order to remember loved ones who passed, unlike Qixm-tes, this applies to everyone \
|
||||
and is a joyful celebration."
|
||||
if(19)
|
||||
Holiday["Talk-Like-a-Pirate Day"] = "Ahoy, matey! Tis unoffical holiday be celebratin' the jolly \
|
||||
good humor of speakin' like the pirates of old."
|
||||
if(28)
|
||||
Holiday["Stupid-Questions Day"] = "Known as Ask A Stupid Question Day, it is an unoffical holiday \
|
||||
created by teachers in Sol, very long ago, to encourage students to ask more questions in the classroom."
|
||||
|
||||
if(10) //Oct
|
||||
switch(DD)
|
||||
if(4) Holiday = "Animal's Day"
|
||||
if(7) Holiday = "Smiling Day"
|
||||
if(16) Holiday = "Boss' Day"
|
||||
if(31) Holiday = "Halloween"
|
||||
if(16)
|
||||
Holiday["Boss' Day"] = "Boss' Day has traditionally been a day for employees to thank their bosses for the difficult work that they do \
|
||||
throughout the year. This day was created for the purpose of strengthening the bond between employer and employee."
|
||||
if(31)
|
||||
Holiday["Halloween"] = "Originating from Earth, Halloween is also known as All Saints' Eve, and \
|
||||
is celebrated by some by attending costume parties, trick-or-treating, carving faces in pumpkins, or visiting \
|
||||
'haunted' locations. Some people make it a goal to scare other people."
|
||||
|
||||
if(11) //Nov
|
||||
switch(DD)
|
||||
if(1) Holiday = "Vegan Day"
|
||||
if(13) Holiday = "Kindness Day"
|
||||
if(19) Holiday = "Flowers Day"
|
||||
if(21) Holiday = "Saying-'Hello' Day"
|
||||
if(13)
|
||||
Holiday["Kindness Day"] = "Kindness Day is an unofficial holiday to highlight good deeds in the \
|
||||
community, focusing on the positive power and the common thread of kindness which binds humanity and \
|
||||
friends together."
|
||||
if(28) //Space thanksgiving.
|
||||
Holiday["Appreciation Day"] = "Originally an old holiday from Earth, Appreciation Day follows many of the \
|
||||
traditions that its predecessor did, such as having a large feast (turkey often included), gathering with family, and being thankful \
|
||||
for what one has in life."
|
||||
|
||||
if(12) //Dec
|
||||
switch(DD)
|
||||
if(10) Holiday = "Human-Rights Day"
|
||||
if(14) Holiday = "Monkey Day"
|
||||
if(21) if(YY==12) Holiday = "End of the World"
|
||||
if(22) Holiday = "Orgasming Day" //lol. These all actually exist
|
||||
if(24) Holiday = "Christmas Eve"
|
||||
if(25) Holiday = "Christmas"
|
||||
if(26) Holiday = "Boxing Day"
|
||||
if(31) Holiday = "New Year's Eve"
|
||||
if(10)
|
||||
Holiday["Human-Rights Day"] = "An old holiday created by an intergovernmental organization known back than as the United Nations, \
|
||||
human rights were not recognized globally at the time, and the holiday was made in honor of the Universal Declaration of Human Rights. \
|
||||
These days, SolGov ensures that past efforts were not in vein, and continues to honor this holiday across the galaxy."
|
||||
if(22)
|
||||
Holiday["Vertalliq-qixim"] = "A Skrellian holiday that celebrates the Skrell's first landing on one of \
|
||||
their moons. It's often celebrated with grand festivals."
|
||||
if(24)
|
||||
Holiday["Christmas Eve"] = "The eve of Christmas, an old holiday from Earth that mainly involves gift \
|
||||
giving, decorating, family reunions, and a fat red human breaking into people's homes to steal milk and cookies."
|
||||
if(25)
|
||||
Holiday["Christmas"] = "Christmas is a very old holiday that originated in Earth, Sol. It was a \
|
||||
religious holiday for the Christian religion, which would later form Unitarianism. Nowdays, the holiday is celebrated \
|
||||
generally by giving gifts, symbolic decoration, and reuniting with one's family. It also features a mythical fat \
|
||||
red human, known as Santa, who broke into people's homes to loot cookies and milk."
|
||||
if(31)
|
||||
Holiday["New Year's Eve"] = "The eve of the New Year for Sol. It is traditionally celebrated by counting down to midnight, as that is \
|
||||
when the new year begins. Other activities include planning for self-improvement over the new year, attending New Year's parties, or \
|
||||
watching a timer count to zero, a large object descending, and fireworks exploding in the sky, in person or on broadcast."
|
||||
|
||||
if(!Holiday)
|
||||
//Friday the 13th
|
||||
if(DD == 13)
|
||||
if(time2text(world.timeofday, "DDD") == "Fri")
|
||||
Holiday = "Friday the 13th"
|
||||
Holiday["Friday the 13th"] = "Friday the 13th is a superstitious day, associated with bad luck and misfortune."
|
||||
spawn(100)
|
||||
world << Holiday.len
|
||||
|
||||
//Allows GA and GM to set the Holiday variable
|
||||
/client/proc/Set_Holiday(T as text|null)
|
||||
/client/proc/Set_Holiday()
|
||||
set name = ".Set Holiday"
|
||||
set category = "Fun"
|
||||
set desc = "Force-set the Holiday variable to make the game think it's a certain day."
|
||||
if(!check_rights(R_SERVER)) return
|
||||
|
||||
Holiday = T
|
||||
//get a new station name
|
||||
station_name = null
|
||||
station_name()
|
||||
Holiday = list()
|
||||
|
||||
var/H = input(src,"What holiday is it today?","Set Holiday") as text
|
||||
var/B = input(src,"Now explain what the holiday is about","Set Holiday") as message
|
||||
|
||||
|
||||
Holiday[H] = B
|
||||
|
||||
//update our hub status
|
||||
world.update_status()
|
||||
Holiday_Game_Start()
|
||||
@@ -139,9 +216,20 @@ var/global/Holiday = null
|
||||
|
||||
//Run at the start of a round
|
||||
/proc/Holiday_Game_Start()
|
||||
if(Holiday)
|
||||
world << Holiday
|
||||
if(Holiday.len != 0)
|
||||
var/list/holidays = list()
|
||||
var/list/holiday_blurbs = list()
|
||||
for(var/p in Holiday)
|
||||
holidays.Add(p)
|
||||
holiday_blurbs.Add("[Holiday[p]]")
|
||||
world << "[p] = [Holiday[p]]"
|
||||
var/holidays_string = english_list(holidays, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" )
|
||||
world << "<font color='blue'>and...</font>"
|
||||
world << "<h4>Happy [Holiday] Everybody!</h4>"
|
||||
world << "<h4>Happy [holidays_string] Everybody!</h4>"
|
||||
if(holiday_blurbs.len != 0)
|
||||
for(var/blurb in holiday_blurbs)
|
||||
world << "<div align='center'><font color='blue'>[blurb]</font></div>"
|
||||
switch(Holiday) //special holidays
|
||||
if("Easter")
|
||||
//do easter stuff
|
||||
@@ -152,11 +240,9 @@ var/global/Holiday = null
|
||||
|
||||
//Nested in the random events loop. Will be triggered every 2 minutes
|
||||
/proc/Holiday_Random_Event()
|
||||
if(isemptylist(Holiday))
|
||||
return 0
|
||||
switch(Holiday) //special holidays
|
||||
|
||||
if("",null) //no Holiday today! Back to work!
|
||||
return
|
||||
|
||||
if("Easter") //I'll make this into some helper procs at some point
|
||||
/* var/list/turf/simulated/floor/Floorlist = list()
|
||||
for(var/turf/simulated/floor/T)
|
||||
|
||||
Reference in New Issue
Block a user