From b307a50a72d3dc82d6fb758c0d994d739241b423 Mon Sep 17 00:00:00 2001 From: landgreen Date: Fri, 4 Jun 2021 06:38:17 -0700 Subject: [PATCH] tungsten carbide removed tech: supersaturation - 50 max health tech: tungsten carbide - gain 100 max health, but take falling damage supercapacitor renamed Maxwell's demon energy above your max decays 92% slower. add 16 junk tech (was 70% with no junk tech) mine synthesis renamed booby trap spawns a mine when ever you pick up a power up, add 9 junk tech --- .DS_Store | Bin 6148 -> 6148 bytes js/engine.js | 5 +++++ js/level.js | 2 +- js/player.js | 18 +---------------- js/tech.js | 55 +++++++++++++++++++++++++++++++++++++-------------- todo.txt | 55 ++++++++++++--------------------------------------- 6 files changed, 60 insertions(+), 75 deletions(-) diff --git a/.DS_Store b/.DS_Store index 685e3a573267d14b823ae472405c373f5d3fc103..a86b967894a17010214f7c20b9110a939bdcddfb 100644 GIT binary patch delta 22 dcmZoMXffEJ#mpqRY_blsFOzt|=4$3n5dcgG25kTU delta 22 dcmZoMXffEJ#mpqqF= 15) ctx.fillText("PROCEDURE ACTIVATED", 1560, -3750); + if (tech.totalCount >= 10) ctx.fillText("PROCEDURE ACTIVATED", 1560, -3750); ctx.strokeStyle = "#00ff00" + Math.floor((secretAnimTrans2 - 40) * 6).toString(16); ctx.beginPath(); ctx.arc(1950, -3730, 60, 0, 2 * Math.PI); diff --git a/js/player.js b/js/player.js index 878a832..46be17a 100644 --- a/js/player.js +++ b/js/player.js @@ -207,27 +207,11 @@ const m = { m.crouch = true; m.yOffGoal = m.yOffWhen.crouch; if ((playerHead.position.y - player.position.y) < 0) { - Matter.Body.setPosition(playerHead, { x: player.position.x, y: player.position.y + 9.1740767 }) - - - // Matter.Body.translate(playerHead, { - // x: 0, - // y: 40 - // }); } - // playerHead.collisionFilter.group = -1 - // playerHead.collisionFilter.category = 0 - // playerHead.collisionFilter.mask = -1 - // playerHead.isSensor = true; //works, but has a 2 second lag... - // collisionFilter: { - // group: 0, - // category: cat.player, - // mask: cat.body | cat.map | cat.mob | cat.mobBullet | cat.mobShield - // }, } }, undoCrouch() { @@ -502,7 +486,7 @@ const m = { }, baseHealth: 1, setMaxHealth() { - m.maxHealth = m.baseHealth + tech.bonusHealth + tech.armorFromPowerUps + m.maxHealth = m.baseHealth + tech.armorFromPowerUps + tech.isFallingDamage //+ tech.bonusHealth document.getElementById("health-bg").style.width = `${Math.floor(300*m.maxHealth)}px` simulation.makeTextLog(`m.maxHealth = ${m.maxHealth.toFixed(2)}`) if (m.health > m.maxHealth) m.health = m.maxHealth; diff --git a/js/tech.js b/js/tech.js index 978d1aa..39027aa 100644 --- a/js/tech.js +++ b/js/tech.js @@ -2203,20 +2203,22 @@ } }, { - name: "supercapacitor", - description: "energy above your max decays 60% slower", + name: "Maxwell's demon", + description: "energy above your max decays 92% slower
add 17 JUNK tech to the potential pool", maxCount: 1, count: 0, frequency: 2, allowed() { - return tech.isEnergyRecovery || tech.isPiezo || tech.energySiphon > 0 || tech.isRailEnergyGain || tech.isWormholeEnergy || tech.iceEnergy > 0 + return tech.isEnergyRecovery || tech.isPiezo || tech.energySiphon > 0 || tech.isRailEnergyGain || tech.isWormholeEnergy || tech.iceEnergy > 0 || tech.isMassEnergy }, requires: "a source of overfilled energy", effect() { - tech.overfillDrain = 0.85 + tech.overfillDrain = 0.87 //70% = 1-(1-0.75)/(1-0.15) //92% = 1-(1-0.75)/(1-0.87) + tech.addJunkTechToPool(17) }, remove() { tech.overfillDrain = 0.75 + if (this.count > 0) tech.removeJunkTechFromPool(17) } }, { @@ -2377,10 +2379,31 @@ tech.isAcidDmg = false; } }, + // { + // name: "supersaturation", + // description: "increase your maximum health by 50", + // maxCount: 9, + // count: 0, + // frequency: 1, + // frequencyDefault: 1, + // allowed() { + // return !tech.isEnergyHealth && !tech.isNoHeals + // }, + // requires: "not mass-energy equivalence, ergodicity", + // effect() { + // tech.bonusHealth += 0.5 + // m.setMaxHealth(); + // m.addHealth(0.50) + // }, + // remove() { + // tech.bonusHealth = 0 + // m.setMaxHealth(); + // } + // }, { - name: "supersaturation", - description: "increase your maximum health by 50", - maxCount: 9, + name: "tungsten carbide", + description: "increase your maximum health by 100
landings that force you to crouch cause harm", + maxCount: 1, count: 0, frequency: 1, frequencyDefault: 1, @@ -2389,14 +2412,13 @@ }, requires: "not mass-energy equivalence, ergodicity", effect() { - tech.bonusHealth += 0.5 - m.addHealth(0.50) + tech.isFallingDamage = true; m.setMaxHealth(); + m.addHealth(1) }, remove() { - tech.bonusHealth = 0 + tech.isFallingDamage = false; m.setMaxHealth(); - } }, { @@ -3042,8 +3064,8 @@ remove() {} }, { - name: "mine synthesis", - description: "drop a mine after picking up a power up", + name: "booby trap", + description: "drop a mine after picking up a power up
add 9 JUNK tech to the potential pool", maxCount: 1, count: 0, frequency: 1, @@ -3055,9 +3077,11 @@ effect() { tech.isMineDrop = true; if (tech.isMineDrop) b.mine(m.pos, { x: 0, y: 0 }, 0, tech.isMineAmmoBack) + tech.addJunkTechToPool(13) }, remove() { tech.isMineDrop = false; + if (this.count > 0) tech.removeJunkTechFromPool(13) } }, { @@ -6724,7 +6748,7 @@ isSmallExplosion: null, isExplosionHarm: null, armorFromPowerUps: null, - bonusHealth: null, + // bonusHealth: null, isIntangible: null, isCloakStun: null, bonusEnergy: null, @@ -6828,5 +6852,6 @@ isAddBlockMass: null, isMACHO: null, isHarmMACHO: null, - isSneakAttack: null + isSneakAttack: null, + isFallingDamage: null } \ No newline at end of file diff --git a/todo.txt b/todo.txt index d587623..f6659e0 100644 --- a/todo.txt +++ b/todo.txt @@ -26,11 +26,21 @@ is there a way to check if the player is stuck inside the map or block ******************************************************** TODO ******************************************************** +tech: picking up heal power ups when at full health does harm equal to the heal values + benefit on pick up: get 1% damage + +draw a rotating ring, like a 3-D spinning ring effect + an ellipse the has sine function on one of it's parameters + buttons can now on/off boosts -Weak Anthropic Principle: you get a second chance at life, but now the game has falling damage! -tech: supersaturation is buffed but add falling damage -tech: increase health and remove air control +energy conservation 6% damage recovered as energy + add a negative effect: + junk tech + +Weak Anthropic Principle: you get a second chance at life, but .... + +negative effect: remove air control mob: molecule shapes - 2 separate mobs joined by a bond use constraints: just spawn 2x or 3x groupings @@ -48,13 +58,6 @@ tech: wormhole through walls? pause should show the last in game console message -tech: picking up heal power ups when at full health does harm equal to the heal values - benefit on pick up: - get ammo - get 1% duplication - get 1% damage permanent - turned into drones - nail-gun, or .... 1s after being fired your bullets turn: towards the nearest mob @@ -123,18 +126,6 @@ mobile requirements: limit items to ones that don't require aiming? tap screen regions to move (WASD) reduce font size - -decrease healing effects by 50% -decrease level scaling healing reduction - net effect: healing at difficulty 40 (level 10 hard) should be 25% higher then current levels - -bosses should have 2x health, but only do about 50 health damage - options: - cap all damage at 50 health - this makes high health/energy/harm reduction build much better - make boss flag cut damage done to player by 10x - boss flag cut damage done to boss by 20x <---- - make bosses not have extra density lore: a tutorial / lore intro needs to be optional so it doesn't slow experienced players @@ -147,42 +138,22 @@ add back in gamepad support rename intro level to something lore related -give undefined tech different effects at different localSettings.loreCount values - or just random effects - 1. 10/10: send more tech into the pool - 2. 3/3: lose 3 tech each time, and send more tech into the pool - 2. 3/3: increase game difficulty, and send more tech into the pool - 3. 1/1: reduce max energy and take more harm - 4. 1/1: add 5? more levels - rename ? health -> integrity, unity heal -> also integrity, unity -bot: ice blast, long CD AOE freeze - RPG default or tech: grenades detonate on your cursor / where your cursor was when they were fired -in game console - set highlighting rules - m, tech, level are all highlighted - maybe the first term in each variable should get a highlight - tech: time dilation - when you exit time dilation rewind to the state you entered position, velocity, and health no energy cost -mechanic - Your energy regen is only active when field and gun have not been used for 5 seconds. - be able to open up custom mode in the normal game might need to be rebuilt from scratch while in through testing mode? have a way to make limited changes as allowed by tech you pick up in game disable the in custom setting flag -tech power up magnetism - power ups drift towards player - where would this code go? - super balls start at 3, not 4 have to balance damage