Update LimesAdditions.js
I updated the volcano and the cat's movement system. No longer crashes browser.
This commit is contained in:
parent
fc606442fd
commit
09a8a69653
|
|
@ -1,3 +1,23 @@
|
|||
function sendAlert() {
|
||||
alert("This mod can be weird with TPS. It won't crash, but not everything will work perfectly. Thank you for your understanding. :)")
|
||||
}
|
||||
sendAlert()
|
||||
function coolArea(centerPixel, radius = 3, amount = 10) {
|
||||
for (let dx = -radius; dx <= radius; dx++) {
|
||||
for (let dy = -radius; dy <= radius; dy++) {
|
||||
let x = centerPixel.x + dx;
|
||||
let y = centerPixel.y + dy;
|
||||
let target = pixelMap[x]?.[y];
|
||||
|
||||
if (target && typeof target.temp === "number") {
|
||||
target.temp -= amount;
|
||||
pixelTempCheck(target); // ensures proper state update
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
elements.EXPLODE = {
|
||||
color: "#FF5555",
|
||||
behavior: [
|
||||
|
|
@ -95,30 +115,162 @@ elements.right_powder = {
|
|||
}
|
||||
|
||||
elements.volcano = {
|
||||
color: "#4f4848",
|
||||
color: "#2e2e2e",
|
||||
category: "weapons",
|
||||
cooldown: defaultCooldown,
|
||||
maxSize: 1,
|
||||
temp: 0,
|
||||
//insulate: true,
|
||||
tick: function(pixel) {
|
||||
let isPlaced = false
|
||||
if (!tryMove(pixel,pixel.x,pixel.y+1)) {
|
||||
if (!pixel.isPlaced) {
|
||||
pixel.y -= 5
|
||||
if (!pixelMap[pixel.x]?.[pixel.y]) {return}
|
||||
|
||||
if (!pixel.isPlaced) {
|
||||
if (!tryMove(pixel,pixel.x,pixel.y+1)) {
|
||||
movePixel(pixel, pixel.x, pixel.y - 5)
|
||||
pixel.isPlaced = true
|
||||
}
|
||||
let height = 5; // number of pyramid layers
|
||||
while (!isEmpty(pixel.x-4,pixel.y+4)) {
|
||||
for (let row = 2; row < height; row++) {
|
||||
let width = row + 2; // pyramid gets wider each row
|
||||
for (let col = 0; col < width; col++) {
|
||||
let xOffset = col - row; // center the row
|
||||
let x = pixel.x + xOffset;
|
||||
let y = pixel.y + row;
|
||||
|
||||
createPixel("basalt", x, y);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
} }
|
||||
if (!pixel.hasRun && pixel.isPlaced) {
|
||||
createPixel("basalt", pixel.x, pixel.y+4)
|
||||
createPixel("basalt", pixel.x, pixel.y+3)
|
||||
createPixel("basalt", pixel.x, pixel.y+2)
|
||||
createPixel("basalt", pixel.x-1, pixel.y+1)
|
||||
createPixel("basalt", pixel.x, pixel.y+1)
|
||||
createPixel("basalt", pixel.x+1, pixel.y+1)
|
||||
createPixel("basalt", pixel.x+1, pixel.y+2)
|
||||
createPixel("basalt", pixel.x-1, pixel.y+2)
|
||||
createPixel("basalt", pixel.x-2, pixel.y+2)
|
||||
createPixel("basalt", pixel.x+2, pixel.y+2)
|
||||
createPixel("basalt", pixel.x, pixel.y+2)
|
||||
createPixel("basalt", pixel.x, pixel.y+3)
|
||||
createPixel("basalt", pixel.x+1, pixel.y+3)
|
||||
createPixel("basalt", pixel.x+2, pixel.y+3)
|
||||
createPixel("basalt", pixel.x+3, pixel.y+3)
|
||||
createPixel("basalt", pixel.x-1, pixel.y+3)
|
||||
createPixel("basalt", pixel.x-2, pixel.y+3)
|
||||
createPixel("basalt", pixel.x-3, pixel.y+3)
|
||||
createPixel("basalt", pixel.x, pixel.y+4)
|
||||
createPixel("basalt", pixel.x+1, pixel.y+4)
|
||||
createPixel("basalt", pixel.x+2, pixel.y+4)
|
||||
createPixel("basalt", pixel.x+3, pixel.y+4)
|
||||
createPixel("basalt", pixel.x+4, pixel.y+4)
|
||||
createPixel("basalt", pixel.x-1, pixel.y+4)
|
||||
createPixel("basalt", pixel.x-2, pixel.y+4)
|
||||
createPixel("basalt", pixel.x-3, pixel.y+4)
|
||||
createPixel("basalt", pixel.x-4, pixel.y+4)
|
||||
createPixel("basalt", pixel.x, pixel.y+5)
|
||||
createPixel("basalt", pixel.x+1, pixel.y+5)
|
||||
createPixel("basalt", pixel.x+2, pixel.y+5)
|
||||
createPixel("basalt", pixel.x+3, pixel.y+5)
|
||||
createPixel("basalt", pixel.x+4, pixel.y+5)
|
||||
createPixel("basalt", pixel.x+5, pixel.y+5)
|
||||
createPixel("basalt", pixel.x-1, pixel.y+5)
|
||||
createPixel("basalt", pixel.x-2, pixel.y+5)
|
||||
createPixel("basalt", pixel.x-3, pixel.y+5)
|
||||
createPixel("basalt", pixel.x-4, pixel.y+5)
|
||||
createPixel("basalt", pixel.x-5, pixel.y+5)
|
||||
pixel.hasRun = true
|
||||
}
|
||||
if (pixel.hasRun && pixel.isPlaced) {
|
||||
let left = pixelMap[pixel.x - 1]?.[pixel.y];
|
||||
let right = pixelMap[pixel.x + 1]?.[pixel.y];
|
||||
if (
|
||||
(left?.element === "basalt" || left?.element === "rock") &&
|
||||
(right?.element === "basalt" || right?.element === "rock")
|
||||
){
|
||||
if (typeof pixel.height !== "number") {
|
||||
pixel.height = 0
|
||||
}
|
||||
let oldY = pixel.y;
|
||||
deletePixel(pixel.x, oldY - 1);
|
||||
movePixel(pixel, pixel.x, oldY - 1);
|
||||
createPixel("basalt", pixel.x, oldY + 1);
|
||||
pixel.height ++
|
||||
|
||||
|
||||
}
|
||||
if (pixel.height >= 7) {
|
||||
deletePixel(pixel.x, pixel.y)
|
||||
let select = pixelMap[pixel.x]?.[pixel.y+5]
|
||||
coolArea(pixel, 20, 150)
|
||||
/*if (select) {
|
||||
select.temp = -273
|
||||
pixelTempCheck(select)
|
||||
togglePause();
|
||||
console.log("x: "+pixel.x+" y: "+(pixel.y+5))
|
||||
}
|
||||
return
|
||||
*/
|
||||
}
|
||||
let target = pixelMap[pixel.x]?.[pixel.y]
|
||||
if (typeof pixel.cool !== "number") {
|
||||
pixel.cool = 0
|
||||
}
|
||||
pixel.cool += 0.25
|
||||
//console.log(Math.round(pixel.cool))
|
||||
if (target && Number.isInteger(pixel.cool)) {
|
||||
target.temp -= Math.round(pixel.cool)
|
||||
}
|
||||
/*let target2 = pixelMap[pixel.x-2]?.[pixel.y+3]
|
||||
if (target2) {
|
||||
target2.temp -= 40
|
||||
}
|
||||
let target3 = pixelMap[pixel.x+2]?.[pixel.y+3]
|
||||
if (target3) {
|
||||
target3.temp -= 40
|
||||
}
|
||||
let target4 = pixelMap[pixel.x-1]?.[pixel.y]
|
||||
if (target4) {
|
||||
target4.temp -= 40
|
||||
}
|
||||
let target5 = pixelMap[pixel.x+1]?.[pixel.y]
|
||||
if (target5) {
|
||||
target5.temp -= 40
|
||||
}
|
||||
*/
|
||||
pixel.spread = 1
|
||||
if (!pixelMap[pixel.x]?.[pixel.y-1]) {
|
||||
createPixel("magma", pixel.x, pixel.y-1)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x-(pixel.spread*-1)]?.[pixel.y-1]) {
|
||||
createPixel("magma", pixel.x-(pixel.spread*-1), pixel.y-1)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x+(pixel.spread*1)]?.[pixel.y-1]) {
|
||||
createPixel("magma", pixel.x+(pixel.spread*1), pixel.y-1)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x-(pixel.spread*-1)]?.[pixel.y-2]) {
|
||||
createPixel("magma", pixel.x+(pixel.spread*1), pixel.y-2)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x+(pixel.spread*1)]?.[pixel.y-2]) {
|
||||
createPixel("magma", pixel.x+(pixel.spread*1), pixel.y-2)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x]?.[pixel.y-2]) {
|
||||
createPixel("magma", pixel.x, pixel.y-2)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x]?.[pixel.y-3]) {
|
||||
createPixel("magma", pixel.x, pixel.y-3)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x-(pixel.spread*-1)]?.[pixel.y-3]) {
|
||||
createPixel("magma", pixel.x-(pixel.spread*-1), pixel.y-3)
|
||||
|
||||
}
|
||||
if (!pixelMap[pixel.x+(pixel.spread*1)]?.[pixel.y-3]) {
|
||||
createPixel("magma", pixel.x+(pixel.spread*1), pixel.y-3)
|
||||
|
||||
}
|
||||
pixel.spread++
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
elements.cat = {
|
||||
|
|
@ -143,11 +295,14 @@ elements.cat = {
|
|||
if (!tryMove(pixel, pixel.x + lr + lr, pixel.y)) {
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y - 1)) {
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y + 1)) {
|
||||
lr = 1
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y - 1)) {
|
||||
lr = 1
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
@ -157,10 +312,14 @@ elements.cat = {
|
|||
if (!tryMove(pixel, pixel.x + lr + lr, pixel.y)) {
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y - 1)) {
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y + 1)) {
|
||||
lr = -1
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (!tryMove(pixel, pixel.x + lr, pixel.y - 1)) {
|
||||
lr = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -229,7 +388,9 @@ elements.hairball = {
|
|||
],
|
||||
tempHigh: 250,
|
||||
stateHigh: "ash",
|
||||
hidden: true
|
||||
hidden: true,
|
||||
burn: 50,
|
||||
burnTime: 600,
|
||||
}
|
||||
|
||||
elements.hot_stuff = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue