diff --git a/js/bullets.js b/js/bullets.js index f64b3b4..0c4ac09 100644 --- a/js/bullets.js +++ b/js/bullets.js @@ -24,7 +24,7 @@ const b = { modMoreDrops: null, isModLowHealthDmg: null, isModFarAwayDmg: null, - isModMonogamy: null, + isModEntanglement: null, isModMassEnergy: null, setModDefaults() { b.modCount = 0; @@ -47,7 +47,7 @@ const b = { b.modMoreDrops = 0; b.isModLowHealthDmg = false; b.isModFarAwayDmg = false; - b.isModMonogamy = false; + b.isModEntanglement = false; b.isModMassEnergy = false; mech.Fx = 0.015; mech.jumpForce = 0.38; @@ -162,7 +162,7 @@ const b = { description: "using your first gun reduces harm
scales by 7% for each gun in your inventory", have: false, //13 effect: () => { // good with laser-bots - b.isModMonogamy = true + b.isModEntanglement = true } }, { @@ -1792,8 +1792,8 @@ const b = { }); } } else { //normal fire mode - const FIELD_DRAIN = 0.002 //laser drains energy as well as bullets - const damage = 0.045 + const FIELD_DRAIN = 0.0018 //laser drains energy as well as bullets + const damage = 0.05 if (mech.fieldMeter < FIELD_DRAIN) { mech.fireCDcycle = mech.cycle + 100; // cool down if out of energy } else { diff --git a/js/game.js b/js/game.js index 4301ff1..02173f5 100644 --- a/js/game.js +++ b/js/game.js @@ -79,7 +79,7 @@ const game = { buttonCD: 0, isBodyDamage: true, levelsCleared: 0, - difficultyMode: null, + difficultyMode: 1, difficulty: 1, dmgScale: null, //set in levels.setDifficulty healScale: 1, diff --git a/js/index.js b/js/index.js index 8def363..d017488 100644 --- a/js/index.js +++ b/js/index.js @@ -2,6 +2,8 @@ /* TODO: ******************************************* ***************************************************** +use cookies to remember settings + field: catch mobs in your field and make them into guardian bullets negative mod effect ideas @@ -90,6 +92,34 @@ game mechanics */ +// local storage +let localSettings = JSON.parse(localStorage.getItem("localSettings")); + +if (localSettings) { + game.isBodyDamage = localSettings.isBodyDamage + document.getElementById("body-damage").checked = localSettings.isBodyDamage + + game.difficultyMode = localSettings.difficultyMode + document.getElementById("difficulty-select").value = localSettings.difficultyMode + + game.fpsCapDefault = localSettings.fpsCapDefault + document.getElementById("fps-select").value = localSettings.fpsCapDefault + +} else { + localSettings = { + isBodyDamage: true, + difficultyMode: '1', + fpsCapDefault: '72', + }; + localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage +} + + + + + + + //collision groups // cat.player | cat.map | cat.body | cat.bullet | cat.powerUp | cat.mob | cat.mobBullet | cat.mobShield const cat = { @@ -286,10 +316,20 @@ document.getElementById("fps-select").addEventListener("input", () => { } else if (value === '15') { game.fpsCapDefault = 15 } + localSettings.fpsCapDefault = game.fpsCapDefault + localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage }); document.getElementById("body-damage").addEventListener("input", () => { game.isBodyDamage = document.getElementById("body-damage").checked + localSettings.isBodyDamage = game.isBodyDamage + localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage +}); + +document.getElementById("difficulty-select").addEventListener("input", () => { + game.difficultyMode = Number(document.getElementById("difficulty-select").value) + localSettings.difficultyMode = game.difficultyMode + localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage }); // function playSound(id) { diff --git a/js/player.js b/js/player.js index 65ee93c..d5eb707 100644 --- a/js/player.js +++ b/js/player.js @@ -439,7 +439,7 @@ const mech = { }, defaultFPSCycle: 0, //tracks when to return to normal fps damage(dmg) { - if (b.isModMonogamy && b.inventory[0] === b.activeGun) { + if (b.isModEntanglement && b.inventory[0] === b.activeGun) { for (let i = 0, len = b.inventory.length; i < len; i++) { dmg *= 0.93 } @@ -735,16 +735,16 @@ const mech = { } }, holding() { - // if (mech.holdingTarget) { - mech.fieldMeter -= mech.fieldRegen; - if (mech.fieldMeter < 0) mech.fieldMeter = 0; - Matter.Body.setPosition(mech.holdingTarget, { - x: mech.pos.x + 70 * Math.cos(mech.angle), - y: mech.pos.y + 70 * Math.sin(mech.angle) - }); - Matter.Body.setVelocity(mech.holdingTarget, player.velocity); - Matter.Body.rotate(mech.holdingTarget, 0.01 / mech.holdingTarget.mass); //gently spin the block - // } + if (mech.holdingTarget) { + mech.fieldMeter -= mech.fieldRegen; + if (mech.fieldMeter < 0) mech.fieldMeter = 0; + Matter.Body.setPosition(mech.holdingTarget, { + x: mech.pos.x + 70 * Math.cos(mech.angle), + y: mech.pos.y + 70 * Math.sin(mech.angle) + }); + Matter.Body.setVelocity(mech.holdingTarget, player.velocity); + Matter.Body.rotate(mech.holdingTarget, 0.01 / mech.holdingTarget.mass); //gently spin the block + } }, throw () { if ((keys[32] || game.mouseDownRight)) {