Skip to content

Instantly share code, notes, and snippets.

@NoelDavies
NoelDavies / machine.js
Last active January 27, 2023 16:27
Generated by XState Viz: https://xstate.js.org/viz
const states = {
IDLE: 'IDLE',
GENERATING_MANIFEST: 'GENERATING_MANIFEST',
ISSUEING_MANIFEST: 'ISSUEING_MANIFEST',
MANIFEST_ISSUED: 'MANIFEST_ISSUED',
FAILED_DURING_SETUP: 'FAILED_DURING_SETUP',
POWERING_ON_DEVICE: 'POWERING_ON_DEVICE',
IPXE_BOOT_IN_PROGRESS: 'IPXE_BOOT_IN_PROGRESS',
BOOTSTRAPPING: 'BOOTSTRAPPING',
OS_FETCHING: 'OS_FETCHING',
@NoelDavies
NoelDavies / machine.js
Created January 27, 2023 13:01
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
[
{
"id": "128",
"sprite": "https://www.makio.it/pokemon/src/pokemon/home/10251.webp",
"name": {
"english": "Tauros"
},
"type": [
"Fighting"
],
Setup
- on nuz specified
- prompt if re randomisation should be enabled
- if toggled on, ask for vanilla Rom instead of randomized
(Checksum?)
- If no UPR previously defined
- request UPR executable path
- if UPR path is invalid, warn
- request UPR executable path
import * as features from './featureList'
const featureDescriptions = {
[features.AUTO_BADGE_TRACKING]: 'Automatic badge tracking',
[features.AUTO_PARTY_TRACKING]: 'Automatic tracking of Pokémon in your party',
[features.AUTO_PARTY_TRACKING_FIELD_SHINY]: 'Automatic party tracking - Shiny detection',
[features.AUTO_PARTY_TRACKING_FIELD_LEVEL_MET]: 'Automatic party tracking - Level at which the Pokémon was caught',
[features.AUTO_PARTY_TRACKING_FIELD_TYPES]: 'Automatic party tracking - Detecting the Pokémon types from the ROM instead of a generic Pokédex ',
[features.AUTO_PARTY_TRACKING_FIELD_FRIENDSHIP]: 'Automatic party tracking - Pokémon friendship',
[features.AUTO_PARTY_TRACKING_FIELD_ABILITY]: 'Automatic party tracking - Pokémon ability',
@NoelDavies
NoelDavies / pokemon-swsh-dlc.txt
Created June 25, 2020 22:36
Data mine from SwSh after the DLC dropped
This file has been truncated, but you can view the full file.
======
001 - Bulbasaur (Stage: 1)
======
Galar Dex: Foreign
Base Stats: 45.49.49.65.65.45 (BST: 318)
EV Yield: 0.0.0.1.0.0
Gender Ratio: 31
Catch Rate: 45
Abilities: Overgrow (1) | Overgrow (2) | Chlorophyll (H)
Type: Grass / Poison
@NoelDavies
NoelDavies / app-build.yml
Created December 1, 2019 14:03
.github/workflow/app-build.yml
name: Electron Build
on: [push]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
@NoelDavies
NoelDavies / capRecorder.js
Created November 29, 2019 21:45
cap card capture js
navigator.mediaDevices.enumerateDevices().then(devices => {
navigator.mediaDevices.getUserMedia({
video: {
deviceId: devices.filter(device => device.kind === 'videoinput' && device.label.match(/AVerMedia Live/))[0].deviceId
}
}).then((stream) => {
const video = document.querySelector('video')
video.srcObject = stream
video.onloadedmetadata = (e) => video.play()
})
@NoelDavies
NoelDavies / swsh_v1.json
Created November 23, 2019 22:50
SwSh_v1.json
[{
"localDexId": "Galar Dex: Foreign",
"nationalDexId": "001",
"name": "Bulbasaur",
"stats": {
"hp": 0,
"atk": 0,
"def": 0,
"spa": 0,
"spd": 0,
@NoelDavies
NoelDavies / crapsTableExample.js
Created September 15, 2019 17:07
Refactor example - just to see what youthink
balanceAdjustmentTimer()
{
this.balanceAdjustmentCounter++;
if ( this.balanceAdjustmentCounter <= config.balanceCheckInterval ) return;
this.balanceAdjustmentCounter = 0;
this.playerBalances.map((currentBalance, username) => {
let currentBalance = this.getBalance(username)
if (currentBalance >= config.minimumBalance * 100) return currentBalance