number adjuster rework
This commit is contained in:
parent
57192f1dac
commit
dff965bb99
232
mods/prop.js
232
mods/prop.js
|
|
@ -9,6 +9,8 @@ if(enabledMods.includes(variablesMod)) {
|
||||||
numberAdjusterValue = 1;
|
numberAdjusterValue = 1;
|
||||||
numberAdjusterMode = "add";
|
numberAdjusterMode = "add";
|
||||||
numberAdjusterVerb = "adding";
|
numberAdjusterVerb = "adding";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = false;
|
||||||
|
|
||||||
function rgbStringToUnvalidatedObject(string) {
|
function rgbStringToUnvalidatedObject(string) {
|
||||||
string = string.split(",");
|
string = string.split(",");
|
||||||
|
|
@ -37,7 +39,6 @@ if(enabledMods.includes(variablesMod)) {
|
||||||
function propPrompt() {
|
function propPrompt() {
|
||||||
propProperty = prompt("Enter the property you want to set");
|
propProperty = prompt("Enter the property you want to set");
|
||||||
|
|
||||||
|
|
||||||
propValue = prompt("Enter the value you want to set to");
|
propValue = prompt("Enter the value you want to set to");
|
||||||
|
|
||||||
//special check: element
|
//special check: element
|
||||||
|
|
@ -220,24 +221,26 @@ if(enabledMods.includes(variablesMod)) {
|
||||||
};
|
};
|
||||||
|
|
||||||
function numberAdjusterPrompt() {
|
function numberAdjusterPrompt() {
|
||||||
|
var oldProperty = numberAdjusterProperty;
|
||||||
|
if(oldProperty === null) {
|
||||||
|
oldProperty = "temp";
|
||||||
|
};
|
||||||
numberAdjusterProperty = prompt("Enter the property you want to change");
|
numberAdjusterProperty = prompt("Enter the property you want to change");
|
||||||
|
if(numberAdjusterProperty === null) {
|
||||||
|
numberAdjusterProperty = oldProperty;
|
||||||
|
return false;
|
||||||
|
};
|
||||||
numberAdjusterValue = prompt("Enter the value you want to use");
|
numberAdjusterValue = prompt("Enter the value you want to use");
|
||||||
numberAdjusterMode = prompt("Enter \"set\" to set the property to the value,\nor \"add\" to add the value to the property.");
|
numberAdjusterMode = prompt("Enter the operation you want to use");
|
||||||
|
|
||||||
//property check
|
//property check
|
||||||
//console.log("Null property path");
|
if(numberAdjusterProperty === "") {
|
||||||
if(numberAdjusterProperty === "" || numberAdjusterProperty === null) {
|
|
||||||
alert("No property was specified! Defaulting to temp.");
|
alert("No property was specified! Defaulting to temp.");
|
||||||
numberAdjusterProperty = "temp";
|
numberAdjusterProperty = "temp";
|
||||||
//console.log(numberAdjusterProperty);
|
|
||||||
};
|
};
|
||||||
//console.log("Property: " + numberAdjusterProperty);
|
|
||||||
|
|
||||||
//value check
|
//value check
|
||||||
if(isNaN(parseFloat(numberAdjusterValue))) {
|
if(isNaN(parseFloat(numberAdjusterValue))) {
|
||||||
//console.log("Invalid value path");
|
|
||||||
//console.log(numberAdjusterValue);
|
|
||||||
//empty string
|
|
||||||
if(numberAdjusterValue === "" || numberAdjusterValue === null) {
|
if(numberAdjusterValue === "" || numberAdjusterValue === null) {
|
||||||
//console.log("Null value path");
|
//console.log("Null value path");
|
||||||
alert("No value was specified! Defaulting to 1");
|
alert("No value was specified! Defaulting to 1");
|
||||||
|
|
@ -254,32 +257,113 @@ if(enabledMods.includes(variablesMod)) {
|
||||||
//console.log("Value: " + numberAdjusterValue);
|
//console.log("Value: " + numberAdjusterValue);
|
||||||
|
|
||||||
//mode check
|
//mode check
|
||||||
if(!["set","add"].includes(numberAdjusterMode.toLowerCase())) {
|
|
||||||
//console.log("Invalid mode path");
|
|
||||||
//console.log(numberAdjusterMode);
|
|
||||||
//empty string
|
|
||||||
if(numberAdjusterMode === "" || numberAdjusterMode === null) {
|
|
||||||
//console.log("Null mode path");
|
|
||||||
alert("No mode was specified! Defaulting to \"add\".");
|
|
||||||
numberAdjusterMode = "add";
|
|
||||||
//console.log(numberAdjusterMode);
|
|
||||||
} else {
|
|
||||||
//console.log("Unknown mode path");
|
|
||||||
alert("Invalid mode! Only the values \"set\" or \"add\" are accepted (defaulting to \"add\").");
|
|
||||||
numberAdjusterMode = "add";
|
|
||||||
//console.log(numberAdjusterMode);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
numberAdjusterMode = numberAdjusterMode.toLowerCase();
|
|
||||||
//console.log("Mode: " + numberAdjusterMode);
|
|
||||||
|
|
||||||
if(numberAdjusterMode === "set") {
|
if(numberAdjusterMode === null) {
|
||||||
numberAdjusterVerb = "assigning";
|
alert("No operation was specified! Defaulting to add.");
|
||||||
} else if(numberAdjusterMode === "add") {
|
numberAdjusterMode = "add";
|
||||||
|
};
|
||||||
|
|
||||||
|
numberAdjusterMode = numberAdjusterMode.toLowerCase();
|
||||||
|
|
||||||
|
var opNames = ["+", "add", "addition", "plus", "increase", "increment", "-", "subtract", "subtraction", "minus", "take away", "takeaway", "decrease", "decrement", "*", "x", "×", "multiply", "multiplication", "times", "by", "/", "÷", "divide", "division", "divided by", "%", "mod", "modulo", "modulus", "modulo by", "=", "set", "equals", "assign", "assignment", ">", ">=", "min", "minimum", "<", "<=", "max", "maximum", "^", "**", "exp", "exponent", "exponentiate", "raise", "raise to", "raised to"];
|
||||||
|
|
||||||
|
switch(numberAdjusterMode) {
|
||||||
|
case "+":
|
||||||
|
case "add":
|
||||||
|
case "addition":
|
||||||
|
case "plus":
|
||||||
|
case "increase":
|
||||||
|
case "increment":
|
||||||
numberAdjusterVerb = "adding";
|
numberAdjusterVerb = "adding";
|
||||||
} else {
|
numberAdjusterPreposition = "to";
|
||||||
numberAdjusterVerb = "doing something probably invalid with";
|
numberAdjusterReverseOrder = false;
|
||||||
}
|
break;
|
||||||
|
case "-":
|
||||||
|
case "subtract":
|
||||||
|
case "subtraction":
|
||||||
|
case "minus":
|
||||||
|
case "take away":
|
||||||
|
case "takeaway":
|
||||||
|
case "decrease":
|
||||||
|
case "decrement":
|
||||||
|
numberAdjusterVerb = "subtracting";
|
||||||
|
numberAdjusterPreposition = "from";
|
||||||
|
numberAdjusterReverseOrder = false;
|
||||||
|
break;
|
||||||
|
case "*":
|
||||||
|
case "x":
|
||||||
|
case "×":
|
||||||
|
case "multiply":
|
||||||
|
case "multiplication":
|
||||||
|
case "times":
|
||||||
|
case "by":
|
||||||
|
numberAdjusterVerb = "multiplying";
|
||||||
|
numberAdjusterPreposition = "by";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case "/":
|
||||||
|
case "÷":
|
||||||
|
case "divide":
|
||||||
|
case "division":
|
||||||
|
case "divided by":
|
||||||
|
numberAdjusterVerb = "dividing";
|
||||||
|
numberAdjusterPreposition = "by";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case "%":
|
||||||
|
case "mod":
|
||||||
|
case "modulo":
|
||||||
|
case "modulus":
|
||||||
|
case "modulo by":
|
||||||
|
numberAdjusterVerb = "reducing";
|
||||||
|
numberAdjusterPreposition = "modulo";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case "=":
|
||||||
|
case "set":
|
||||||
|
case "equals":
|
||||||
|
case "assign":
|
||||||
|
case "assignment":
|
||||||
|
numberAdjusterVerb = "setting";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case ">": //lower-bounds the color
|
||||||
|
case ">=":
|
||||||
|
case "min":
|
||||||
|
case "minimum":
|
||||||
|
numberAdjusterVerb = "lower-bounding";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case "<":
|
||||||
|
case "<=":
|
||||||
|
case "max": //upper-bounds the color
|
||||||
|
case "maximum":
|
||||||
|
numberAdjusterVerb = "limiting";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
case "^":
|
||||||
|
case "**":
|
||||||
|
case "exp":
|
||||||
|
case "exponent":
|
||||||
|
case "exponentiate":
|
||||||
|
case "raise":
|
||||||
|
case "raise to":
|
||||||
|
case "raised to":
|
||||||
|
numberAdjusterVerb = "raising";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = true;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
alert(`Invalid operation (defaulting to "add")!`);
|
||||||
|
numberAdjusterMode = "add";
|
||||||
|
numberAdjusterVerb = "adding";
|
||||||
|
numberAdjusterPreposition = "to";
|
||||||
|
numberAdjusterReverseOrder = false;
|
||||||
|
break;
|
||||||
|
};
|
||||||
updateNumberAdjusterDescription();
|
updateNumberAdjusterDescription();
|
||||||
currentElement = "number_adjuster";
|
currentElement = "number_adjuster";
|
||||||
};
|
};
|
||||||
|
|
@ -287,25 +371,93 @@ if(enabledMods.includes(variablesMod)) {
|
||||||
elements.number_adjuster = {
|
elements.number_adjuster = {
|
||||||
color: "#7fff00",
|
color: "#7fff00",
|
||||||
tool: function(pixel) {
|
tool: function(pixel) {
|
||||||
if(numberAdjusterProperty !== "element") {
|
|
||||||
//console.log(numberAdjusterValue);
|
|
||||||
if(numberAdjusterMode === "set") {
|
|
||||||
pixel[numberAdjusterProperty] = numberAdjusterValue;
|
|
||||||
} else if(numberAdjusterMode === "add") {
|
|
||||||
if(typeof(pixel[numberAdjusterProperty]) === "undefined") {
|
if(typeof(pixel[numberAdjusterProperty]) === "undefined") {
|
||||||
pixel[numberAdjusterProperty] = 0;
|
pixel[numberAdjusterProperty] = 0;
|
||||||
};
|
};
|
||||||
|
if(typeof(pixel[numberAdjusterProperty]) === "number") {
|
||||||
|
switch(numberAdjusterMode.toLowerCase()) {
|
||||||
|
case "+":
|
||||||
|
case "add":
|
||||||
|
case "addition":
|
||||||
|
case "plus":
|
||||||
|
case "increase":
|
||||||
|
case "increment":
|
||||||
|
pixel[numberAdjusterProperty] += numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case "-":
|
||||||
|
case "subtract":
|
||||||
|
case "subtraction":
|
||||||
|
case "minus":
|
||||||
|
case "take away":
|
||||||
|
case "takeaway":
|
||||||
|
case "decrease":
|
||||||
|
case "decrement":
|
||||||
|
pixel[numberAdjusterProperty] -= numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case "*":
|
||||||
|
case "x":
|
||||||
|
case "×":
|
||||||
|
case "multiply":
|
||||||
|
case "multiplication":
|
||||||
|
case "times":
|
||||||
|
case "by":
|
||||||
|
pixel[numberAdjusterProperty] *= numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case "/":
|
||||||
|
case "÷":
|
||||||
|
case "divide":
|
||||||
|
case "division":
|
||||||
|
case "divided by":
|
||||||
|
pixel[numberAdjusterProperty] /= numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case "%":
|
||||||
|
case "mod":
|
||||||
|
case "modulo":
|
||||||
|
case "modulus":
|
||||||
|
case "modulo by":
|
||||||
|
pixel[numberAdjusterProperty] %= numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case "=":
|
||||||
|
case "set":
|
||||||
|
case "equals":
|
||||||
|
case "assign":
|
||||||
|
case "assignment":
|
||||||
|
pixel[numberAdjusterProperty] = numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
case ">": //lower-bounds the color
|
||||||
|
case ">=":
|
||||||
|
case "min":
|
||||||
|
case "minimum":
|
||||||
|
pixel[numberAdjusterProperty] = Math.max(numberAdjusterValue,pixel[numberAdjusterProperty]);
|
||||||
|
break;
|
||||||
|
case "<":
|
||||||
|
case "<=":
|
||||||
|
case "max": //upper-bounds the color
|
||||||
|
case "maximum":
|
||||||
|
pixel[numberAdjusterProperty] = Math.min(numberAdjusterValue,pixel[numberAdjusterProperty]);
|
||||||
|
break;
|
||||||
|
case "^":
|
||||||
|
case "**":
|
||||||
|
case "exp":
|
||||||
|
case "exponent":
|
||||||
|
case "exponentiate":
|
||||||
|
case "raise":
|
||||||
|
case "raise to":
|
||||||
|
case "raised to":
|
||||||
|
pixel[numberAdjusterProperty] = pixel[numberAdjusterProperty] ** numberAdjusterValue;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
pixel[numberAdjusterProperty] += numberAdjusterValue;
|
pixel[numberAdjusterProperty] += numberAdjusterValue;
|
||||||
};
|
};
|
||||||
pixelTempCheck(pixel);
|
pixelTempCheck(pixel);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
category: "tools",
|
category: "tools",
|
||||||
desc: `Sets or adds to numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} to ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`,
|
desc: `Changes properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} ${numberAdjusterPreposition} ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`,
|
||||||
};
|
};
|
||||||
|
|
||||||
function updateNumberAdjusterDescription() {
|
function updateNumberAdjusterDescription() {
|
||||||
elements.number_adjuster.desc = `Sets or adds to numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} to ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`;
|
elements.number_adjuster.desc = numberAdjusterReverseOrder ? `Changes numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterProperty} ${numberAdjusterPreposition} ${numberAdjusterValue}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.` : `Changes numeric properties of pixels.<br/>Currently ${numberAdjusterVerb} ${numberAdjusterValue} ${numberAdjusterPreposition} ${numberAdjusterProperty}.<br/><span onclick=numberAdjusterPrompt() style=\"color: #ff00ff;\";>Press [Shift+,] or click here</span> to open the adjuster tool prompt.`;
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
alert(`The ${variablesMod} mod is required and has been automatically inserted (reload for this to take effect).`)
|
alert(`The ${variablesMod} mod is required and has been automatically inserted (reload for this to take effect).`)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue