User:RiceEmpress: Difference between revisions

From NOISZ Wiki
mNo edit summary
mNo edit summary
Line 67: Line 67:


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. corn chip
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. corn chip
<div align="center" class="meowfly">[[File:What the cat.png|alt=“What” the cat|center|“What” the cat|link=]][[“What” the Cat|“What” the cat]]</div>

Revision as of 07:34, 9 June 2025

Song of the Wolf Enemy.png
Character by Eula Baek


Beyond The NOISZ Enemy.jpeg
Character by Angelina Chiong


04 Jul 2026 01:21 +0000
GODHAND 1.53 is now available! One of the bugfixes created a bigger bug... it's also gone now though...

Scores that were affected by a bug have been fixed on the leaderboards, and will correct themselves on your local save on updating to 1.53. #PK_GODHAND

03 Jul 2026 00:06 +0000
As promised, we're excited to present a preview crossfade of winning tracks from the PROJEKT GODHAND inferno music contest! Check out the variety of incredible tunes here...!!

The day when they arrive to demolish your keyboard gradually approaches... #PK_GODHAND

02 Jul 2026 13:56 +0000
GODHAND 1.52 is now available! This version fixes some rare and/or minor issues such as "notes disappear" and "timing window doesn't disappear". #PK_GODHAND

30 Jun 2026 22:54 +0000
GODHAND 1.51 is now available! This version fixes some minor bugs and issues, most notably one where you can get blown up twice at the same time. #PK_GODHAND

30 Jun 2026 03:54 +0000
PROJEKT GODHAND 1.5 is now available, along with the DEIFIED LINEAGE pack! And we said DLC is 20% off during Steam Summer Sale, so..... uhhh 20% launch discount i guess

This version also adds TIPS to Story Mode, Rivals (set from friends leaderboard), and more! #PK_GODHAND

29 Jun 2026 03:57 +0000
DEIFIED LINEAGE will bring the fan favorite(???) CoURSE CHALLENGE mode back to PROJEKT GODHAND! But this time, there's some explosive new surprises...

also maybe some fluffy new surprises... some other surprises too... who knows #PK_GODHAND

27 Jun 2026 02:48 +0000
GODHAND 1.5 will also introduce a "Rivals" feature! Set a rival by opening the Friends leaderboard and clicking their name! This enables the new "RIVAL SCORE" and "RIVAL GP" sort options for efficient friendly competition 👍 #PK_GODHAND

24 Jun 2026 02:22 +0000
PROJEKT GODHAND and NOISZ are in the Steam Summer Sale! If you picked up NOISZ in the June 2unes Humble Bundle (you can still do this!!) and like what you see, it's a great chance to pick up DLC or check out our latest title...! #NOISZ #PK_GODHAND

🎨 @/buwakuda @/mochi070823

23 Jun 2026 22:24 +0000
Once again, thank you to all participants of the PROJEKT GODHAND music contest, and congratulations to the winners! All of the tracks were amazing...

In addition to the main prizes, we'll be giving Steam codes for the game or Act 2 DLC to SPECIAL MENTION artists! #PK_GODHAND

22 Jun 2026 19:11 +0000
Soon(ish)... in 2027, an epic battle will shake the world. Reveal your true power and challenge PROJEKT GODHAND's official tournament! The path to glory awaits the ultimate GODS of HAND. #PK_GODHAND

06 Jun 2026 03:29 +0000
GODHAND 1.5 will contain the classic VN staple, "TIPS"! You'll unlock these lore bits by playing through the story. If you wanted to dive a bit deeper into the setting, you'll get your chance soon!

All TIPS from Act 1 will also unlock retroactively on starting Act 2. #PK_GODHAND

24 May 2026 04:00 +0000
PROJEKT GODHAND act 2 "purgatorio"

  1. PK_GODHAND



10 May 2026 17:17 +0000
happy mothers day!! DEIFIED LINEAGE is coming june 2026

securely store cleaning supplies ㅇㅅㅇ #NOISZ_SL #PK_GODHAND

[contains quote post or other embedded content]

01 May 2026 16:14 +0000
PROJEKT GODHAND and NOISZ are discounted until 5/8 in our (oops! we're slightly late to) GOLDEN WEEK SALE! Let's enjoy some weird rhythm games!! #NOISZ #PK_GODHAND


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}}
755565


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. corn chip