new gun harpoon
tech: filament - harpoon rope gets 1% longer for every harpoon ammo in your inventory
tech: unaaq - harpoon gets 1% longer for every harpoon ammo in your inventory
  harpoon is pretty unbalanced, but I'm pushing it out so ya'll can let me know how I should balance it
  more harpoon tech to come
    2+ harpoons out at once
    hold fire to extend rope longer
    improved targeting: so it can hit the same target a few times

tech: controlled explosion - explosions shrink to prevent them from hitting you,  cost 3 research

JUNK tech: true colors - set all power ups to their real world colors (just makes random colors)
This commit is contained in:
landgreen
2021-09-11 08:02:09 -07:00
parent 7f3fb1c214
commit f7cd48c3ff
6 changed files with 456 additions and 47 deletions

View File

@@ -1,7 +1,7 @@
//main object for spawning things in a level
const spawn = {
nonCollideBossList: ["cellBossCulture", "bomberBoss", "powerUpBoss", "orbitalBoss", "spawnerBossCulture", "growBossCulture"],
randomLevelBoss(x, y, options = ["shieldingBoss", "orbitalBoss", "historyBoss", "shooterBoss", "cellBossCulture", "bomberBoss", "spiderBoss", "launcherBoss", "laserTargetingBoss", "powerUpBoss", "snakeBoss", "streamBoss", "pulsarBoss", "spawnerBossCulture", "grenadierBoss", "growBossCulture", "blinkBoss", "snakeSpitBoss", "laserBombingBoss", "blockBoss", "blockBoss"]) {
randomLevelBoss(x, y, options = ["shieldingBoss", "orbitalBoss", "historyBoss", "shooterBoss", "cellBossCulture", "bomberBoss", "spiderBoss", "launcherBoss", "laserTargetingBoss", "powerUpBoss", "snakeBoss", "streamBoss", "pulsarBoss", "spawnerBossCulture", "grenadierBoss", "growBossCulture", "blinkBoss", "snakeSpitBoss", "laserBombingBoss", "blockBoss"]) {
// other bosses: suckerBoss, laserBoss, tetherBoss, //these need a particular level to work so they are not included in the random pool
spawn[options[Math.floor(Math.random() * options.length)]](x, y)
},
@@ -696,11 +696,13 @@ const spawn = {
me.groupingStrength = 0.0005
me.memory = 200;
me.isGrouper = true;
me.seeAtDistance2 = 600 * 600
me.seePlayerFreq = Math.floor(50 + 50 * Math.random())
me.do = function() {
this.gravity();
this.checkStatus();
this.seePlayerCheck();
if (this.seePlayer.recall) {
this.seePlayerCheck();
this.attraction();
//tether to other blocks
ctx.beginPath();