User:RiceEmpress: Difference between revisions
RiceEmpress (talk | contribs) No edit summary |
RiceEmpress (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
{{Bluesky RSS Feed}} | {{Bluesky RSS Feed}} | ||
{| class="wikitable" | |||
! pubData | |||
! description | |||
! link | |||
{{#display_external_table: | |||
source = https://bsky.app/profile/did:plc:ve2p3lz33ivtyikqztvsgtx3/rss | |||
| format = XML | |||
| data = pubDate=pubDate, description=description,link=link | |||
| template = Bluesky RSS Feed Row}} | |||
|} | |||
there is only rice | there is only rice | ||
Revision as of 15:50, 5 June 2025
Lua error in ...ribunto/includes/engines/LuaCommon/lualib/mwInit.lua at line 23: bad argument #1 to 'old_ipairs' (table expected, got nil).
| pubData | description | link
18 Mar 2026 02:22 +0000 17 Mar 2026 20:47 +0000 14 Mar 2026 05:29 +0000 13 Mar 2026 01:28 +0000 Scan the QR code for 24 hours of DIA folder cake mode (bonus EXP/drops)! ♦️ #NOISZ_SL 🎨 @/lilpalette.bsky.social
10 Mar 2026 19:27 +0000 Alongside some other new content, it'll make its spooky debut in GODHAND 1.10! #PK_GODHAND
10 Mar 2026 00:18 +0000 You may have noticed we've been rapidly fixing things and working on QoL features since launch. We'll be slowing down here to develop meatier content updates like DEIFIED LINEAGE, so look forward to these! #PK_GODHAND
08 Mar 2026 02:25 +0000 06 Mar 2026 08:33 +0000 01 Mar 2026 01:19 +0000 05 Mar 2026 03:35 +0000 It's time to experience The Most Everything rhythm game. #PK_GODHAND https://store.steampowered.com/app/2978440/PROJEKT_GODHAND/
02 Mar 2026 23:13 +0000 02 Mar 2026 00:43 +0000 Some miscellaneous bugfixes were also added, as usual. #PK_GODHAND
01 Mar 2026 17:00 +0000 01 Mar 2026 05:12 +0000 01 Mar 2026 01:19 +0000 One notable issue is that the Kelvins reward at the end of Act 1 wasn't actually granted: they'll be obtained retroactively on updating, so don't worry! #PK_GODHAND
27 Feb 2026 18:29 +0000 It's time to experience The Most Everything rhythm game. #PK_GODHAND https://store.steampowered.com/app/2978440/PROJEKT_GODHAND/
26 Feb 2026 03:40 +0000 Despite this: there are still more than 50 playable songs at launch. #PK_GODHAND
22 Feb 2026 00:49 +0000 instead you get the most human story i've ever written, with all the messiness that entails. or put another way, i wrote an actual yuri VN this time, instead of "a VN with yuri in it"
21 Feb 2026 03:03 +0000 If it has at least 3 buttons per side (maybe even 2 if you get really creative) you can play GODHAND with it! #PK_GODHAND
10 Feb 2026 17:01 +0000 To enter, reply with your best D1AB0LiC MAXIMUM score [score contest] and/or like and RT this [random draw] by 2/21! Score contest for demo players only, random open to all 🙏 #PK_GODHAND
20 Feb 2026 02:21 +0000 That's an even better idea here, thanks to Anmitsu Buff™! #PK_GODHAND
11 Feb 2026 22:39 +0000 13 Feb 2026 17:24 +0000 Actually, it's possibly the least arbitrary rating system ever made! We're aggregating everyone's play data to evaluate charts' difficulty relative to each other on 17 metrics! #PK_GODHAND
13 Feb 2026 00:17 +0000 But is increasing it a good or bad thing? Yes! Let's take a look! #PK_GODHAND
11 Feb 2026 22:39 +0000 11 Feb 2026 06:11 +0000 11 Feb 2026 04:49 +0000 '
|
|---|
there is only rice
HI i'm ruby! this is my testbed
Event Cycle
The countdown timers are all based on the countdown clock extension for Fandom. A typical template for the countdowns looks something like:
{{NOISZ SL Recursive Events|cyclestart=2023-03-15 04:00 +0000}}
Where cyclestart is a variable determining the beginning of an 8-week cycle. The widgets use this 8-week cycle to determine what events are currently running - or rather, how far it is into an 8-week cycle. Synthetic and Recursive events currently run on the same clock. If you look at the NOISZ SL Recursive Events, it may look daunting, but a lot of it is just text operations; the only variable here is the currenly running, event, seen in things such as {{CurrentNoiszSLEvent|cyclestart={{{cyclestart|}}}}}, {{EventCountdown|eventstyle=Nuclear Drip|cyclestart={{{cyclestart|}}}|countdown=True}} and {{EventTimeLeft|cyclestart={{{cyclestart|}}}}}. Note that {{{cyclestart|}}} sets a variable within the template, and whatever goes after the pipe at the end is set as the default for that variable if nothing is entered.
CurrentNoiszSLEvent uses that 8-week cycle to determine what events are running. EventCountdown uses the Countdown widget until a certain mark in that 8-week timer, and EventTimeLeft does the same, but for a mark 2 weeks after that.
If you look at CurrentNoiszSLEvent, it uses a case/switch statement depending on EventCycleTime, which returns how many seconds we are into an 8-week cycle.
EventCycleTime is simply: {{#expr:({{#time:U|now}} -{{#time:U|{{{cyclestart|2023-04-01 04:00 +0000}}}}})mod4838400}} ie, it looks at the time between now and any past date set as the beginning of a cycle, which is defined as the moment Recursive Event 01 goes live. It uses mod4838400 to divide that time elapsed by the total number of seconds in an 8-week cycle, and returns the remainder, which is how many seconds we are.
To recap, it does that, and CurrentNoiszSLEvent uses that time to determine where in an 8-week cycle we are in seconds; if we are less than 1209600 seconds into a cycle, which is two weeks, it determines the currently running Recursive Event is Attitude Mint. If it's more than that, the case switch moves onto the next statement, and so, if we're more than 1209600 seconds but less than 2419200 (4 weeks) in, then the current event is Blue Moon, and so on.
Countdown Clocks
EventTimeLeft
EventTimeLeftUnix: {{#expr:1209600 - {{EventCycleTime|cyclestart={{{cyclestart|}}}}}mod1209600}}
469229
The countdown clocks for EventTimeLeft and EventCountdown use markers to count down to. EventTimeLeftUnix looks at how many seconds we are into a cycle and divides it by 1209600, and returns a remainder. It subtracts that from 1209600, the amount of seconds in two weeks; this returns the amount of seconds left in this mini 2-week cycle within the greater 8-week cycle.
EventTimeLeft is the countdown clock itself, and is:
<includeonly><span class="countdown" data-end="stop" data-callback="myFunction" data-options="short-format" style="display:none;">Ends: <span class="countdowndate">{{#time:r|@{{#expr:{{EventTimeLeftUnix|cyclestart={{{cyclestart}}}}} + {{#time:U|now}}}}}}</span></span>
The time it's counting down to is {{#time:r|@{{#expr:{{EventTimeLeftUnix|cyclestart={{{cyclestart}}}}} + {{#time:U|now}}}}}}, which adds the seconds left in the 2-week cycle that is a single event to the current time, and then counts down to it.
EventCountdown
EventTimeCountdownUnix looks at where we are in the 8-week cycle and accordingly counts down to the next 2-week marker using a case/switch. The "if time > 0" condition in there is to deal with the possibility that a date in the future was set to determine the 8-week cycle.
EventCountdown is the clock itself: {{#if: {{{countdown|}}} | <span class="countdown" data-options="short-format" style="display:none;" data-end="stop" data-callback="console.log('countdown ended!')">Starts: <span class="countdowndate">{{#time:F d, Y H:i T|@{{#expr:{{EventTimeCountdownUnix|cyclestart={{{cyclestart|}}}|eventstyle={{{eventstyle|Attitude Mint}}}}} + {{#time:U|now}}}}}}</span></span> | Starts: {{#time:F d, Y H:i T|@{{#expr:{{EventTimeCountdownUnix|cyclestart={{{cyclestart|}}}|eventstyle={{{eventstyle|Attitude Mint}}}}} + {{#time:U|now}}}}}}
}}
Where the time it counts down to is: {{#time:F d, Y H:i T|@{{#expr:{{EventTimeCountdownUnix|cyclestart={{{cyclestart|}}}|eventstyle={{{eventstyle|Attitude Mint}}}}} + {{#time:U|now}}}}}}
This adds the time left until the next two-week marker to now, and tells the clock to count down to it. If nothing is defined, it decides the next style will be Attitude Mint.
Countdown clock end
If you look at the dev.fandom.com link above, you can see that a countdown clock ends many ways. One problem with the clocks currently is that the wiki does not update its own internal clock until something forces it to wake up, usually in the form of an edit or a null edit. Once an event ends, the event cycle doesn't update until null edits are made to the relevant pages, forcing it to recalculate everything.
If you look at the clocks' codes, you can see the "data-callback"; this calls the relevant Javascript function defined by this variable. The function is defined in MediaWiki/Common.js. EventCountdown is where it's properly used; you can see it uses the "selfNullEdit" defined in common.js, where the function finds the element with id "ca-null-edit" - the Null Edit Button - and clicks it using jQuery.