Skip to content

Instantly share code, notes, and snippets.

View towerofnix's full-sized avatar
🏳️‍⚧️
𝄞‍ — keeping busy's more fun in good company

(quasar) nebula towerofnix

🏳️‍⚧️
𝄞‍ — keeping busy's more fun in good company
View GitHub Profile
@towerofnix
towerofnix / damage-formulas.txt
Last active July 2, 2018 19:46
Grandia III posts
I've been poking around with Grandia III's debug mode a bit, looking for damage formulas. (Formulae?) So far I've only focused on spells, and through testing, I've found this to be the general magic formula (tested on Burn!, Crackle, and Hellburner):
'''Damage = (Spell-specific base quantity) + 4.5 * (Caster's MAG) - 3.0 * (Target's RES)'''
You also have to apply the damage ratio multiplier and the general randomness modifier. The damage ratio is that "X%" you see beside the orb. It's significant in spells like Crackle and Galactic Bang, where damage is dealt to the target multiple times, increasing their chain multiplier each time. The game also has some RNG; I'm not totally sure what the rules are on this (probably something like +/- 5%), but it's worth noting, because it means the formula won't yield the exact amount of damage dealt.
The spell-specific base quantity is a value unique to each spell. Generally, if the spell's description says it has a higher power (more stars), you can expect the base qua
@towerofnix
towerofnix / scratch-comment-redactor.js
Created May 7, 2018 21:48
Anonymizes Scratch comments
// ==UserScript==
// @name Scratch Comment Redactor
// @namespace https://towerofnix.github.io
// @match *://scratch.mit.edu/*
// @grant none
// ==/UserScript==
const usersSymbol = Symbol()
const replaceText = function(el, newText) {
@towerofnix
towerofnix / guide.txt
Created March 26, 2018 21:49
Dragon Quest IX vocation trait guide
- Vocation Trait Guide -
(Pro-tip: try :set cursorline in Vim!)
Vocation | +STR & +AGI & +RES & +DFT & +CHR & +MND & +MGT & +MHP & +MMP | LAKM
Warrior | +40 . . +60 . . . . . +60 . | ****
Priest | . . . . . +180 . . . +30 | ****
Mage | . . . . . . +180 . . +30 | ****
Martial Artist | +10 . +100 . . . . . . +30 . | ****
Thief | . +60 . . +60 . . . . +20 . | ****

Everything just.. works, in Horizon. This entire list will probably be rather opinionated, and, as background, I've played very few games, so I probably won't have particularly good opinions either. But here they are:

  • The camera. It's so fluid! - At this point, the cameras in other games frustrate me, so maybe what I've found wrong with other games is more helpful. In other games, the camera is glued to the player. If your player moves left a foot, so does the camera, at the very same speed. Those games always keep the character in the absolute center of the screen. Worse, they often force the camera to sort of chase the player, making the camera always rotate towards the direction your character is facing. This is really, really disorienting - I'd expect it in a car racing game, but in one where I'm just trying to look around, maybe towards an enemy to my side or maybe to appreciate the scenery, automatically rotating the camera this way is a huge frustration. Sort of dizzying, especially on a b
@towerofnix
towerofnix / gogs-dark.css
Last active October 20, 2017 21:58
A simple and probably incomplete dark theme stylesheet for https://gogs.io sites
:root {
--fg-color: #EEE;
--bold-color: #FFF;
--attached-border-color: #2A2A2A;
--focus-color: #778;
}
body {
background-color: #222 !important;
color: var(--fg-color) !important;
@towerofnix
towerofnix / playlist.json
Created September 18, 2017 20:22
An example http-music playlist which starts "Chasing the void" from 1:30 minutes through.
{
"options": ["--converter", "ffmpeg"],
"items": [
{
"name": "Chasing the void",
"downloaderArg": "glitched puppet/glitch(ed)/17 Chasing the void.mp3",
"converterOptions": ["-i", "$in", "-ss", "00:01:30", "$out"]
}
]
}
@towerofnix
towerofnix / gems.md
Last active September 16, 2017 21:26
Particularly amazing gemstones in the virtual field of Scratch suggestions

Index: https://gist.github.com/towerofnix/ca9010add7d91bdbfd828ca829ee38e1

Particularly amazing gemstones in the virtual field of Scratch suggestions. Click on a link to get started! Each link brings you to a thread on the Scratch suggestion forums. These threads explain their suggestions better than most of the other suggestions on Scratch (of which half are duplicates!) so I figured I'd compile a list of the best suggestions here. I'm not saying I particularly like these suggestions but they generally are explained well and have pretty interesting suggestions. (At least, when not flooded by (no) "support"s!)

@towerofnix
towerofnix / circle.json
Created July 27, 2017 03:04
Example http-music playlist, featuring "apply" — source album (name your price): https://c418.bandcamp.com/album/circle
{"apply": {"downloader": "youtube-dl"}, "items": [
{"name": "sleepless", "downloaderArg": "https://c418.bandcamp.com/track/sleepless"},
{"name": "deldee", "downloaderArg": "https://c418.bandcamp.com/track/deldee"},
{"name": "minimal", "downloaderArg": "https://c418.bandcamp.com/track/minimal"},
{"name": "love", "downloaderArg": "https://c418.bandcamp.com/track/love"},
{"name": "subtle cupcake rhythms", "downloaderArg": "https://c418.bandcamp.com/track/subtle-cupcake-rhythms"},
{"name": "depado", "downloaderArg": "https://c418.bandcamp.com/track/depado"}
]}
@towerofnix
towerofnix / init.mcfunction
Created June 9, 2017 12:56
A basic entity loop demo using Minecraft 1.12's new mcfunction code — see http://minecraft.gamepedia.com/Functions
# Basic loop demo.
# The very first thing we need to do is all of our target entities as
# uncounted. Note that the loop iteration code will remove this tag as it
# runs.
scoreboard players tag @e[type=zombie] add zombie_loop_not_counted
# Now we'll start the iteration loop, but only if there's at least one
# uncounted entity. There's no sense in iterating over an empty list!
function test:zombie_loop/loop if @e[tag=zombie_loop_not_counted]
@towerofnix
towerofnix / sploder-test.js
Last active May 7, 2017 01:11
Sticks an image onto a sploder creation.
const fetch = require('node-fetch')
const FormData = require('form-data')
const fixWS = require('fix-whitespace') // my cool library :SUNGLASSES:
const { Writable } = require('stream')
// const SPLODER = 'http://www.sploder.com'
// const SPHP = SPLODER + '/php'
// const SESSION_ID = 'IDK IF THIS IS IMPORTANT. IF THIS VARIABLE IS USED, STICK YOUR SESSION ID HERE.'
// const CONFIG = `?PHPSESSID=${SESSION_ID}&version=2`