Skip to content

Instantly share code, notes, and snippets.

@alexjlockwood
alexjlockwood / detach-color-styles.ts
Last active September 12, 2023 12:49
This plugin recurses every layer in every page of the current figma file, and detaches color styles that are backed by a single bound color variable.
// This plugin recurses every layer in every page of the current figma file, and detaches
// color styles that are backed by a single bound color variable.
(function main() {
recurseLayerHierarchy(figma.root, false);
figma.closePlugin();
})();
function recurseLayerHierarchy(node: BaseNode, isChildOfInstanceNode: boolean) {
if (node.type === 'INSTANCE') {
using System;
using System.Collections.Generic;
using System.Linq;
using FG.Common;
using SRF;
using UnityEngine;
namespace Levels.CrownMaze
{
// Token: 0x020004C1 RID: 1217
using System;
using System.Collections.Generic;
using System.Linq;
using FG.Common;
using Levels.ProceduralGeneration;
using MPG.Utility;
using UnityEngine;
namespace Levels.CrownMaze
{
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- This module was also published with a richer model, Gradle metadata, -->
<!-- which should be used instead. Do not delete the following line which -->
<!-- is to indicate to Gradle or any Gradle module metadata file consumer -->
<!-- that they should prefer consuming it instead. -->
<!-- do_not_remove: published-with-gradle-metadata -->
<modelVersion>4.0.0</modelVersion>
<groupId>androidx.compose.foundation</groupId>
<artifactId>foundation</artifactId>
{
"formatVersion": "1.1",
"component": {
"group": "androidx.compose.foundation",
"module": "foundation",
"version": "1.5.0-beta01",
"attributes": {
"org.gradle.status": "release"
}
},
@alexjlockwood
alexjlockwood / ClosedOpenOpenClosed.md
Last active August 16, 2022 20:45
How to Timeout Closed-Open + Open-Closed

Closed-Open + Open-Closed

Closed-Open + Open-Closed is considered the 4th hardest Roll Off variation to timeout. The first 8 laps are very easy, with 3 easy jumps to start on blue and 3 easy jumps to end on orange. However, the variation becomes very difficult to execute on laps 9-12 when the slime has reached it's maximum height.

Paths

There are 2 possible paths to take on laps 9-12 of the timeout:

Alex's Path

@alexjlockwood
alexjlockwood / 5WallerOpenClosed.md
Last active August 16, 2022 20:45
How to Timeout 5 Waller + Open-Closed

5 Waller + Open-Closed

5 Waller + Open-Closed is considered the hardest of all 20 variations to timeout due how difficult it is to execute as well as the complex pathing decisions that need to be made in order to avoid collisions with other players.

Paths

Laps 7-8

While the paths themselves are not difficult, laps 7-8 are particularly dangerous due to the possibility of desync.

@alexjlockwood
alexjlockwood / ClosedOpenGrandCanyon.md
Last active August 16, 2022 17:51
How to Timeout Closed-Open + Grand Canyon

Closed-Open + Grand Canyon

Overview

Also known as the "2nd Hardest Variation", Closed-Open + Grand Canyon is notorious for being extremely difficult to timeout.

This variation becomes very difficult starting on the 9th lap at around 3:30 into the timeout. This is because it becomes very tricky to get past the first wall on orange due to the presence of the large grand canyon gap on blue. Once you do get past the first wall on orange, the remainder of the lap is straightforward, with 3 easy jumps in the middle of blue and 3 easy jumps at the end of orange.

Paths

@alexjlockwood
alexjlockwood / 5WallerGrandCanyon.md
Last active August 16, 2022 17:51
How to Timeout 5 Waller + Grand Canyon

5 Waller + Grand Canyon

Overview

Also known as the "3rd Hardest Variation", Closed-Open + Grand Canyon is in the top tier of most difficult Roll Off variations to timeout.

Paths

There are 3 possible paths to take on laps 9-12 of the timeout:

How a path is generated

Step 1

Place two 4x1 vertical stack of tiles and three 3x1 vertical stack of tiles on the grid. The order in which you place the tiles is random (so for example there would be a 2 / 5 = 40% chance that the path could end with a 4x1 line to the finish). The stacks are placed such that the top of one stack will align to the bottom of the next stack. The tips of the stacks are not allowed to intersect.

For example, after step 1 it could look like this:

|x| | | | | | | | | |