sandboxels/mods/controllable_pixel_test.js

87 lines
2.4 KiB
JavaScript
Raw Normal View History

sussyKey = null,
document.addEventListener("keyup", function(sussyListener) {
switch (sussyListener.keyCode) {
case 87:
sussyKey = "W";
break;
case 65:
sussyKey = "A";
break;
case 83:
sussyKey = "S";
break;
case 68:
sussyKey = "D";
break;
case 81:
sussyKey = "Q";
break;
case 88:
sussyKey = "X";
break;
case 90:
sussyKey = "Z";
break;
};
});
elements.controllable_pixel = {
color: "#FFFFFF",
colorOn: "#FFFF00",
behavior: behaviors.WALL,
state: "solid",
density: 2000,
conduct: 1,
hardness: 1,
tick: function(pixel) {
var xx = pixel.x
var yy = pixel.y
if(sussyKey !== null) {
switch (sussyKey) {
case "W":
tryMove(pixel,xx,yy-1)
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "A":
tryMove(pixel,xx-1,yy)
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "S":
tryMove(pixel,xx,yy+1)
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "D":
tryMove(pixel,xx+1,yy)
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "X":
explodeAt(xx,yy,4)
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "Z":
if (!pixel.charge && !pixel.chargeCD && !isEmpty(pixel.x,pixel.y,true)) {
pixel.charge = 1;
}
if(shiftDown === 0) {
sussyKey = null;
}
break;
case "Q":
sussyKey = null;
break;
}
}
},
}