Occam's razor

tech: Occam's razor - remove 50% of your tech and guns; `for each removed get 36% damage

tech dormancy removed
tech: predator - if you have killed a mob in the last 5 seconds increase damage by 50% and disable energy regen
tech: torpor - gives the opposite of it's previous effect
  if you have NOT killed a mob in the last 5 seconds reduce harm by 72%, else increase it by 10%

relativistic momentum - pushes blocks in addition to mobs
  not much benefit, but it's fun
supply chain:  still doubles ammo, but now also adds 5% JUNK (yay)
  it no longer has any tech requirements
inductive coupling: 600% -> 700% regen while crouched

JUNK tech: density - blocks are 100x times less dense

tech descriptions can change their text dynamically now
  only a few tech are using this option so far
This commit is contained in:
landgreen
2021-11-20 09:05:21 -08:00
parent 9e7e88c28d
commit d68ca63695
10 changed files with 594 additions and 416 deletions

View File

@@ -325,7 +325,9 @@ const m = {
!tech.tech[i].isNonRefundable &&
tech.tech[i].name !== "many-worlds" &&
tech.tech[i].name !== "Ψ(t) collapse" &&
tech.tech[i].name !== "non-unitary operator"
tech.tech[i].name !== "non-unitary operator" &&
tech.tech[i].name !== "-quantum leap-"
) {
totalTech += tech.tech[i].count
tech.tech[i].remove();
@@ -504,7 +506,7 @@ const m = {
if (tech.isFieldHarmReduction) dmg *= 0.5
if (tech.isHarmMACHO) dmg *= 0.33
if (tech.isImmortal) dmg *= 0.66
if (tech.isHarmReduceAfterKill) dmg *= (m.lastKillCycle + 300 > m.cycle) ? 0.33 : 1.15
if (tech.isHarmReduceNoKill) dmg *= (m.lastKillCycle + 300 < m.cycle) ? 0.28 : 1.1
if (tech.healthDrain) dmg *= 1 + 3.33 * tech.healthDrain //tech.healthDrain = 0.03 at one stack //cause more damage
if (tech.squirrelFx !== 1) dmg *= 1 + (tech.squirrelFx - 1) / 5 //cause more damage
if (tech.isAddBlockMass && m.isHolding) dmg *= 0.15
@@ -2819,7 +2821,7 @@ const m = {
// body[i].force.y -= body[i].mass * simulation.g; //remove gravity effects
//blocks drift towards center of pilot wave
const sub = Vector.sub(m.fieldPosition, body[i].position)
const push = Vector.mult(Vector.normalise(sub), 0.0007 * body[i].mass * Vector.magnitude(sub))
const push = Vector.mult(Vector.normalise(sub), 0.0001 * body[i].mass * Vector.magnitude(sub))
body[i].force.x += push.x
body[i].force.y += push.y - body[i].mass * simulation.g //remove gravity effects
// if (body[i].collisionFilter.category !== cat.bullet) {