Working flashbang mod

Actually makes your screen flash (DO not use if you have epilepsy, mod has proper warnings.)
This commit is contained in:
Nekonico 2024-10-08 20:31:52 -07:00 committed by GitHub
parent a63f0de083
commit 7c34cd30e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 61 additions and 0 deletions

61
mods/true_flashbang.js Normal file
View File

@ -0,0 +1,61 @@
// by nekonico
elements.true_flashbang = {
color: "#65665c",
onSelect: function() {
logMessage("Caution: If you have epilepsy or any similar vision issues, do not place this element for your own safety.");
},
behavior: [
"XX|EX:20>flashbang_flash%1|XX",
"XX|XX|XX",
"M2|M1 AND EX:20>flashbang_flash%1|M2",
],
category: "weapons",
state: "solid",
density: 1300,
tempHigh: 1455.5,
stateHigh: "molten_steel",
excludeRandom: true,
cooldown: defaultCooldown
}
elements.flashbang_flash = {
color: "#ffffff",
properties: {
delay: 100
},
tick: function(pixel) {
settings.bg = pixel.color;
let hex = Math.round(255 * pixel.alpha).toString(16);
pixel.color = `#${hex}${hex}${hex}` // credits to therazzler in the R74n discord for this code :3
var done = true;
if (pixel.delay) {
var delayR = pixel.delay % 1;
var delay = pixel.delay - delayR;
if (!(pixelTicks - pixel.start > (pixel.delay||1) && Math.random() < 1-delayR)) {
done = false;
}
}
if ((Math.random() < 0.75 && done) || pixel.alpha < 0.05) {
deletePixel(pixel.x, pixel.y)
settings.bg = "#000000";
}
if (pixel.delay) {
pixel.alpha = Math.max(0,1-(pixelTicks - pixel.start)/pixel.delay)
}
doHeat(pixel);
},
category: "energy",
temp: 40,
tempLow: -270,
stateLow: ["liquid_light",null],
state: "gas",
category: "energy",
density: 0.00001,
ignoreAir: true,
insulate: true,
hidden: true,
noMix: true,
excludeRandom: true
}