Module:BassaridianCalendar: Difference between revisions
From MicrasWiki
Jump to navigationJump to search
NewZimiaGov (talk | contribs) No edit summary |
NewZimiaGov (talk | contribs) No edit summary |
||
| Line 141: | Line 141: | ||
["Atosiel,61"] = "Bebekarion [Akróstadium] – Shared meals honoring Host Star, Bebeakaus .", | ["Atosiel,61"] = "Bebekarion [Akróstadium] – Shared meals honoring Host Star, Bebeakaus .", | ||
["Thalassiel,1"] = "Cicada Song Festival [[Alperkin]] – Alperkin festival celebrating first day of Summer.", | ["Thalassiel,1"] = "Cicada Song Festival [[Alperkin]] – Alperkin festival celebrating first day of Summer.", | ||
["Thalassiel,2"] = "Amaäzakar [Delphica] – Lantern festival honoring Host Star, Amaäz .", | |||
["Thalassiel,6"] = "Panegyris Chrysou (Golden Gathering) [Aurelia] – Trade fair for Chrysos.", | ["Thalassiel,6"] = "Panegyris Chrysou (Golden Gathering) [Aurelia] – Trade fair for Chrysos.", | ||
["Thalassiel,17"] = " | ["Thalassiel,10"] = "Dilëtazorium [Sufriya] – Day of reflection honoring Host Star, Dilëtaz.", | ||
["Thalassiel,16"] = "Amazärum [Acheron] – Symbolic dances honoring Host Star, Amazä .", | |||
["Thalassiel,17"] = " Tävrosion [Thermosalem] – Meditations and cultural gatherings honoring Host Star, Tä.", | |||
["Thalassiel,18"] = " Bulhanum [Luminaria] – Ancestral worship ceremonies honoring Host Star, Bulhanu.", | |||
["Thalassiel,19"] = "Mehtap Dalgası (Moonlit Tide) [Vaeringheim] – Lunar rites of Thalassa.", | ["Thalassiel,19"] = "Mehtap Dalgası (Moonlit Tide) [Vaeringheim] – Lunar rites of Thalassa.", | ||
["Thalassiel,30"] = "Amáenarion [Vaeringheim] – Storytelling festival honoring Host Stars, Amáenu and Pythe.", | |||
["Thalassiel,31"] = "Oneiro Foteino (Dream of Illumination) [Somniumpolis] – Nephele’s dream festival.", | ["Thalassiel,31"] = "Oneiro Foteino (Dream of Illumination) [Somniumpolis] – Nephele’s dream festival.", | ||
["Thalassiel,39"] = "Anniversary of victory in the New South Jangsong Campaign [Nexa]", | ["Thalassiel,39"] = "Anniversary of victory in the New South Jangsong Campaign [Nexa]", | ||
["Thalassiel,44"] = "Erev Galgal (Eve of Cycles) [Nexa] – Glinos cycle rites.", | ["Thalassiel,44"] = "Erev Galgal (Eve of Cycles) [Nexa] – Glinos cycle rites.", | ||
["Thalassiel,45"] = "Bassaridia Festival [Somniumpolis] – Celebrating Alperkin roots.", | ["Thalassiel,45"] = "Bassaridia Festival [Somniumpolis] – Celebrating Alperkin roots.", | ||
["Thalassiel,46"] = "Osirionos [Diamandis] – Ritual celebrations honoring Host Star, Osiríos.", | |||
["Thalassiel,48"] = "Anniversary of victory in the Southern Lake Morovia Campaign [Somniumpolis]", | ["Thalassiel,48"] = "Anniversary of victory in the Southern Lake Morovia Campaign [Somniumpolis]", | ||
["Thalassiel,50"] = "Amaprion [Serena] – Processions honoring Host Star, Amap.", | |||
["Thalassiel,52"] = "Atämiorium [Catonis Atrium] – Ascension rituals honoring Host Star, Atämios.", | |||
["Thalassiel,54"] = "Leilat al-Kamar (Night of the Moon) [Lunalis Sancta] – Noctis vigil.", | ["Thalassiel,54"] = "Leilat al-Kamar (Night of the Moon) [Lunalis Sancta] – Noctis vigil.", | ||
["Thalassiel,56"] = "Dranamorium [Lykopolis] – Day of silence honoring Host Star, Dranamos.", | |||
["Thalassiel,58"] = "Aprobellium [Thermosalem] – Festival of red lights honoring Host Star, Aprobelle.", | |||
["Thalassiel,59"] = "Azorion [Pyralis] – Grand festival and carnival honoring Host Star, Azos.", | |||
["Thalassiel,60"] = "Ocanarion [Tel-Amin] – Water-based rituals honoring Host Star, Ocananus.", | |||
["Thalassiel,61"] = "Taşrakah (Reverence of the Stone) [Luminaria] – Honors Eos & Tarsica.", | ["Thalassiel,61"] = "Taşrakah (Reverence of the Stone) [Luminaria] – Honors Eos & Tarsica.", | ||
["Opsitheiel,1"] = "Cricket Fall Festival [[Alperkin]] – Celebrating first day of Winter.", | ["Opsitheiel,1"] = "Cricket Fall Festival [[Alperkin]] – Celebrating first day of Winter.", | ||
["Opsitheiel,6"] = "Chag Tvuah (Festival of Harvest) [Sylvapolis] – Celebrating Opsithe.", | ["Opsitheiel,6"] = "Chag Tvuah (Festival of Harvest) [Sylvapolis] – Celebrating Opsithe.", | ||
["Opsitheiel,7"] = "Nyarion [Delphica] – Meditations and festivities honoring Host Star, Nyama.", | |||
["Opsitheiel,13"] = "Danassion [Diamandis] – Cemetary feasts honoring Host Star, Danaß.", | |||
["Opsitheiel,18"] = "Anagenesis Eirmos (Procession of Rebirth) [Acheron] – Styx transformations.", | ["Opsitheiel,18"] = "Anagenesis Eirmos (Procession of Rebirth) [Acheron] – Styx transformations.", | ||
["Opsitheiel,23"] = "Hazamorium [Sufriya] – Skyward meditations honoring Host Star, Hazaméos.", | |||
["Opsitheiel,28"] = "Panagia Therizis (Holy Day of the Reaper) [Sylvapolis] – Double-festival for Faun/Opsithe.", | ["Opsitheiel,28"] = "Panagia Therizis (Holy Day of the Reaper) [Sylvapolis] – Double-festival for Faun/Opsithe.", | ||
["Opsitheiel,30"] = "The Silence [[[Alperkin]] – Celebrates the mid-point of Winter.", | ["Opsitheiel,30"] = "The Silence [[[Alperkin]] – Celebrates the mid-point of Winter.", | ||
["Opsitheiel,35"] = "Häparion [[[Vaeringheim]] – Art festivals honoring the Host Star, Häpi.", | |||
["Opsitheiel,37"] = "Anniversary of victory in the Morovian Frontier Campaign [Acheron]", | ["Opsitheiel,37"] = "Anniversary of victory in the Morovian Frontier Campaign [Acheron]", | ||
["Opsitheiel,43"] = "Karnavali Thysias (Carnival of Celebration) [Erythros] – Silenus merriment.", | ["Opsitheiel,43"] = "Karnavali Thysias (Carnival of Celebration) [Erythros] – Silenus merriment.", | ||
Revision as of 04:11, 9 January 2025
Documentation for this module may be created at Module:BassaridianCalendar/doc
local p = {}
function p.getCurrentDate()
local startDate = os.time({year = 1999, month = 8, day = 6})
local secondsInDay = 86400
local daysPerYear = 183
local currentDate = os.time()
local totalDaysElapsed = math.floor((currentDate - startDate) / secondsInDay)
local yearFraction = totalDaysElapsed / daysPerYear
local psscYear = math.floor(yearFraction)
local dayOfYear = math.floor((yearFraction - psscYear) * daysPerYear) + 1
-- DEBUG/LOG: if you'd like to see the dayOfYear for troubleshooting
-- mw.log("DEBUG: dayOfYear = " .. tostring(dayOfYear))
----------------------------------------------------------------------------
-- 1) SAFETY CHECK: Ensure dayOfYear is between 1 and 183 (inclusive)
----------------------------------------------------------------------------
if dayOfYear < 1 then
-- Option A: Wrap around by adding daysPerYear until we're back in range
dayOfYear = dayOfYear + daysPerYear
while dayOfYear < 1 do
dayOfYear = dayOfYear + daysPerYear
end
-- Option B (alternative) could be a modulo approach:
-- dayOfYear = ((dayOfYear - 1) % daysPerYear) + 1
elseif dayOfYear > daysPerYear then
-- If for some reason it exceeds 183, wrap around or clamp
dayOfYear = ((dayOfYear - 1) % daysPerYear) + 1
end
----------------------------------------------------------------------------
-- 2) ZODIAC PROVERBS
----------------------------------------------------------------------------
local zodiacProverbs = {
Atosien = "The first light reveals the sacred cycle of renewal.",
Eosena = "The dawn whispers: every step is a rebirth.",
Micrasha = "Wisdom is the balance of shadow and flame.",
Pyreska = "Creation ignites in the fires of transformation.",
Indomin = "Two paths intertwine: strength in unity, clarity in duality.",
Chrysen = "Gold is the soul's test: will you hoard or share?",
Thalassian= "The tides of Thalassiel teach patience and purpose.",
Nephelia = "Dreams are stars, fleeting yet eternal in the night sky.",
Glinaeus = "The frost preserves what must endure.",
Noctien = "Night guides those who seek the unseen truths.",
Opsithia = "The harvest feeds not just the body, but the spirit.",
Stygian = "Through the Styx flows the essence of transformation.",
Faunian = "The forests sing of life and the balance it brings.",
Silenian = "Celebration is the nectar of divine abundance.",
Catosien = "Order shapes greatness; the straight path ascends."
}
----------------------------------------------------------------------------
-- 3) DETERMINE MONTH, DAY-IN-MONTH, AND ZODIAC
----------------------------------------------------------------------------
local month, dayInMonth, zodiac
-- Day ranges: 1..61 => Atosiel, 62..122 => Thalassiel, 123..183 => Opsitheiel
if dayOfYear <= 61 then
month = "Atosiel"
dayInMonth = dayOfYear
-- ZODIAC
if dayInMonth <= 12 then
zodiac = "Atosien"
elseif dayInMonth <= 24 then
zodiac = "Eosena"
elseif dayInMonth <= 36 then
zodiac = "Micrasha"
elseif dayInMonth <= 48 then
zodiac = "Pyreska"
else
zodiac = "Indomin"
end
elseif dayOfYear <= 122 then
month = "Thalassiel"
dayInMonth = dayOfYear - 61
-- ZODIAC
if dayInMonth <= 12 then
zodiac = "Chrysen"
elseif dayInMonth <= 24 then
zodiac = "Thalassian"
elseif dayInMonth <= 36 then
zodiac = "Nephelia"
elseif dayInMonth <= 48 then
zodiac = "Glinaeus"
else
zodiac = "Noctien"
end
else
month = "Opsitheiel"
dayInMonth = dayOfYear - 122
-- ZODIAC
if dayInMonth <= 12 then
zodiac = "Opsithia"
elseif dayInMonth <= 24 then
zodiac = "Stygian"
elseif dayInMonth <= 36 then
zodiac = "Faunian"
elseif dayInMonth <= 48 then
zodiac = "Silenian"
else
zodiac = "Catosien"
end
end
----------------------------------------------------------------------------
-- 4) SAFETY NET: If somehow dayInMonth is still nil, handle gracefully
----------------------------------------------------------------------------
if not dayInMonth then
-- Provide a fallback, e.g., default to day 1 in Atosiel
dayInMonth = 1
month = "Atosiel"
zodiac = "Atosien"
end
----------------------------------------------------------------------------
-- 5) DEFINE EVENTS WITH CORRECTED DAY ALIGNMENT AND SHORT DESCRIPTIONS
----------------------------------------------------------------------------
local events = {
["Atosiel,1"] = "Cricket Rise Festival [[Alperkin]] – Alperkin festival celebrating first day of Spring.",
["Atosiel,6"] = "Bayram al-Nur (Festival of Light) [Vaeringheim] – Celebrates Atos’s dominion over creation.",
["Atosiel,18"] = "Chag Or Hadash (Festival of New Light) [Luminaria] – Honoring the Lady Divine Eos.",
["Atosiel,30"] = "Symposion Eirinis (Symposium of Harmony) [Serena] – Wisdom gatherings for Micrasha.",
["Atosiel,34"] = "Crösakarion [Luminaria] – Street dances honoring Host Star Crösacío.",
["Atosiel,36"] = " Liléigostros [Somniumpolis] – Public feasts honoring Host Star Liléigos.",
["Atosiel,43"] = "Alev Günü (Day of Flame) [Pyralis] – Ignis Aeternum rites for Pyros.",
["Atosiel,44"] = "Orebellion [Thermosalem] – Market festivals honoring Host Star Orebele.",
["Atosiel,48"] = "Day of Abandonment [Vaeringheim] – Reflects on exile by Old Gods.",
["Atosiel,54"] = "Sanashalros [Keybir-Aviv] – Rituals marking Sanashalo's peak.",
["Atosiel,55"] = "Tikkun Tzel (Repair of Shadows) [Symphonara] – Healing strife for Indigo and Momiji.",
["Atosiel,58"] = "Gahtarion [Vaeringheim] – Canal processions honoring Host Star, Gaht.",
["Atosiel,59"] = "Agavronos [Aurelia] – Tree planting in honor of Host Star, Agave.",
["Atosiel,61"] = "Bebekarion [Akróstadium] – Shared meals honoring Host Star, Bebeakaus .",
["Thalassiel,1"] = "Cicada Song Festival [[Alperkin]] – Alperkin festival celebrating first day of Summer.",
["Thalassiel,2"] = "Amaäzakar [Delphica] – Lantern festival honoring Host Star, Amaäz .",
["Thalassiel,6"] = "Panegyris Chrysou (Golden Gathering) [Aurelia] – Trade fair for Chrysos.",
["Thalassiel,10"] = "Dilëtazorium [Sufriya] – Day of reflection honoring Host Star, Dilëtaz.",
["Thalassiel,16"] = "Amazärum [Acheron] – Symbolic dances honoring Host Star, Amazä .",
["Thalassiel,17"] = " Tävrosion [Thermosalem] – Meditations and cultural gatherings honoring Host Star, Tä.",
["Thalassiel,18"] = " Bulhanum [Luminaria] – Ancestral worship ceremonies honoring Host Star, Bulhanu.",
["Thalassiel,19"] = "Mehtap Dalgası (Moonlit Tide) [Vaeringheim] – Lunar rites of Thalassa.",
["Thalassiel,30"] = "Amáenarion [Vaeringheim] – Storytelling festival honoring Host Stars, Amáenu and Pythe.",
["Thalassiel,31"] = "Oneiro Foteino (Dream of Illumination) [Somniumpolis] – Nephele’s dream festival.",
["Thalassiel,39"] = "Anniversary of victory in the New South Jangsong Campaign [Nexa]",
["Thalassiel,44"] = "Erev Galgal (Eve of Cycles) [Nexa] – Glinos cycle rites.",
["Thalassiel,45"] = "Bassaridia Festival [Somniumpolis] – Celebrating Alperkin roots.",
["Thalassiel,46"] = "Osirionos [Diamandis] – Ritual celebrations honoring Host Star, Osiríos.",
["Thalassiel,48"] = "Anniversary of victory in the Southern Lake Morovia Campaign [Somniumpolis]",
["Thalassiel,50"] = "Amaprion [Serena] – Processions honoring Host Star, Amap.",
["Thalassiel,52"] = "Atämiorium [Catonis Atrium] – Ascension rituals honoring Host Star, Atämios.",
["Thalassiel,54"] = "Leilat al-Kamar (Night of the Moon) [Lunalis Sancta] – Noctis vigil.",
["Thalassiel,56"] = "Dranamorium [Lykopolis] – Day of silence honoring Host Star, Dranamos.",
["Thalassiel,58"] = "Aprobellium [Thermosalem] – Festival of red lights honoring Host Star, Aprobelle.",
["Thalassiel,59"] = "Azorion [Pyralis] – Grand festival and carnival honoring Host Star, Azos.",
["Thalassiel,60"] = "Ocanarion [Tel-Amin] – Water-based rituals honoring Host Star, Ocananus.",
["Thalassiel,61"] = "Taşrakah (Reverence of the Stone) [Luminaria] – Honors Eos & Tarsica.",
["Opsitheiel,1"] = "Cricket Fall Festival [[Alperkin]] – Celebrating first day of Winter.",
["Opsitheiel,6"] = "Chag Tvuah (Festival of Harvest) [Sylvapolis] – Celebrating Opsithe.",
["Opsitheiel,7"] = "Nyarion [Delphica] – Meditations and festivities honoring Host Star, Nyama.",
["Opsitheiel,13"] = "Danassion [Diamandis] – Cemetary feasts honoring Host Star, Danaß.",
["Opsitheiel,18"] = "Anagenesis Eirmos (Procession of Rebirth) [Acheron] – Styx transformations.",
["Opsitheiel,23"] = "Hazamorium [Sufriya] – Skyward meditations honoring Host Star, Hazaméos.",
["Opsitheiel,28"] = "Panagia Therizis (Holy Day of the Reaper) [Sylvapolis] – Double-festival for Faun/Opsithe.",
["Opsitheiel,30"] = "The Silence [[[Alperkin]] – Celebrates the mid-point of Winter.",
["Opsitheiel,35"] = "Häparion [[[Vaeringheim]] – Art festivals honoring the Host Star, Häpi.",
["Opsitheiel,37"] = "Anniversary of victory in the Morovian Frontier Campaign [Acheron]",
["Opsitheiel,43"] = "Karnavali Thysias (Carnival of Celebration) [Erythros] – Silenus merriment.",
["Opsitheiel,53"] = "Sefar Yashar (Straight Path Celebration) [Catonis Atrium] – Devotions to Cato."
}
----------------------------------------------------------------------------
-- 6) EVENT LOOKUP
----------------------------------------------------------------------------
local eventKey = month .. "," .. dayInMonth
local event = events[eventKey] or "No significant events today."
----------------------------------------------------------------------------
-- 7) LOOK UP PROVERB
----------------------------------------------------------------------------
local dailyProverb = zodiacProverbs[zodiac] or "No proverb found."
----------------------------------------------------------------------------
-- 8) RETURN THE RESULT
----------------------------------------------------------------------------
return dayOfYear .. ", " .. month .. " (" .. zodiac .. "), " .. psscYear
.. " PSSC – " .. event .. " – Proverb: " .. dailyProverb
end
return p