highrise
some changes to highrise level boost bug fix MACHO bug fix
This commit is contained in:
52
js/bullet.js
52
js/bullet.js
@@ -2544,19 +2544,21 @@ const b = {
|
||||
}
|
||||
})
|
||||
for (let i = 0; i < q.length; i++) {
|
||||
Matter.Body.setAngularVelocity(this, this.spin)
|
||||
// mobs.statusStun(q[i], 180)
|
||||
// const dmg = 0.5 * b.dmgScale * (this.isUpgraded ? 2.5 : 1)
|
||||
const dmg = 0.5 * b.dmgScale
|
||||
q[i].damage(dmg);
|
||||
q[i].foundPlayer();
|
||||
simulation.drawList.push({ //add dmg to draw queue
|
||||
x: this.position.x,
|
||||
y: this.position.y,
|
||||
radius: Math.log(2 * dmg + 1.1) * 40,
|
||||
color: 'rgba(0,0,0,0.4)',
|
||||
time: simulation.drawTime
|
||||
});
|
||||
if (!q[i].isShielded) {
|
||||
Matter.Body.setAngularVelocity(this, this.spin)
|
||||
// mobs.statusStun(q[i], 180)
|
||||
// const dmg = 0.5 * b.dmgScale * (this.isUpgraded ? 2.5 : 1)
|
||||
const dmg = 0.5 * b.dmgScale
|
||||
q[i].damage(dmg);
|
||||
q[i].foundPlayer();
|
||||
simulation.drawList.push({ //add dmg to draw queue
|
||||
x: this.position.x,
|
||||
y: this.position.y,
|
||||
radius: Math.log(2 * dmg + 1.1) * 40,
|
||||
color: 'rgba(0,0,0,0.4)',
|
||||
time: simulation.drawTime
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
let history = m.history[(m.cycle - this.followDelay) % 600]
|
||||
@@ -3142,17 +3144,19 @@ const b = {
|
||||
}
|
||||
})
|
||||
for (let i = 0; i < q.length; i++) {
|
||||
mobs.statusStun(q[i], 180)
|
||||
const dmg = 0.5 * b.dmgScale * (this.isUpgraded ? 3 : 1) * (tech.isCrit ? 4 : 1)
|
||||
q[i].damage(dmg);
|
||||
q[i].foundPlayer();
|
||||
simulation.drawList.push({ //add dmg to draw queue
|
||||
x: this.position.x,
|
||||
y: this.position.y,
|
||||
radius: Math.log(2 * dmg + 1.1) * 40,
|
||||
color: 'rgba(0,0,0,0.4)',
|
||||
time: simulation.drawTime
|
||||
});
|
||||
if (!q[i].isShielded) {
|
||||
mobs.statusStun(q[i], 180)
|
||||
const dmg = 0.5 * b.dmgScale * (this.isUpgraded ? 3 : 1) * (tech.isCrit ? 4 : 1)
|
||||
q[i].damage(dmg);
|
||||
q[i].foundPlayer();
|
||||
simulation.drawList.push({ //add dmg to draw queue
|
||||
x: this.position.x,
|
||||
y: this.position.y,
|
||||
radius: Math.log(2 * dmg + 1.1) * 40,
|
||||
color: 'rgba(0,0,0,0.4)',
|
||||
time: simulation.drawTime
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
//orbit player
|
||||
|
||||
125
js/level.js
125
js/level.js
@@ -53,29 +53,12 @@ const level = {
|
||||
// level.crossfire() //community level
|
||||
// level.vats() //community level
|
||||
// level["n-gon"]() //community level
|
||||
|
||||
// powerUps.directSpawn(simulation.mouseInGame.x, simulation.mouseInGame.y, "tech");
|
||||
// tech.giveTech("undefined")
|
||||
// lore.techCount = 6
|
||||
// localSettings.loreCount = 1;
|
||||
// localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
||||
// simulation.isCheating = false //true;
|
||||
// level.null()
|
||||
// let text = ''
|
||||
// if (level.fillBG) {
|
||||
// for (let i = 0; i < level.fillBG.length; i++) {
|
||||
// text += `ctx.fillStyle = "${level.fillBG[i].color}"; ctx.fillRect(${level.fillBG[i].x}, ${level.fillBG[i].y}, ${level.fillBG[i].width}, ${level.fillBG[i].height});`
|
||||
// }
|
||||
// console.log(text)
|
||||
// }
|
||||
// text = ''
|
||||
// if (level.fill) {
|
||||
// for (let i = 0; i < level.fill.length; i++) {
|
||||
// text += `ctx.fillStyle = "${level.fill[i].color}"; ctx.fillRect(${level.fill[i].x}, ${level.fill[i].y}, ${level.fill[i].width}, ${level.fill[i].height});`
|
||||
// }
|
||||
// console.log(text)
|
||||
// }
|
||||
|
||||
} else {
|
||||
spawn.setSpawnList(); //picks a couple mobs types for a themed random mob spawns
|
||||
// spawn.pickList = ["focuser", "focuser"]
|
||||
@@ -329,7 +312,7 @@ const level = {
|
||||
},
|
||||
max: {
|
||||
x: x + 100,
|
||||
y: y - 20 + height
|
||||
y: y
|
||||
}
|
||||
},
|
||||
yVelocity: -1.21 * Math.sqrt(Math.abs(height)),
|
||||
@@ -672,6 +655,9 @@ const level = {
|
||||
Matter.Body.setStatic(doorBlock, true); //make static
|
||||
return doorBlock
|
||||
},
|
||||
|
||||
|
||||
|
||||
portal(centerA, angleA, centerB, angleB) {
|
||||
const width = 50
|
||||
const height = 150
|
||||
@@ -1223,7 +1209,7 @@ const level = {
|
||||
// spawn.randomMob(2650, -975, 0.8);
|
||||
// spawn.randomGroup(1700, -900, 0.4);
|
||||
// if (simulation.difficulty > 3) spawn.randomLevelBoss(2200, -1300);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
// if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(4800, -500);
|
||||
},
|
||||
final() {
|
||||
@@ -1343,7 +1329,7 @@ const level = {
|
||||
if (simulation.difficulty * Math.random() > 10 * i) spawn.randomGroup(3500 + 500 * (Math.random() - 0.5), -800 + 200 * (Math.random() - 0.5), Infinity);
|
||||
if (simulation.difficulty * Math.random() > 7 * i) spawn.randomGroup(5000 + 500 * (Math.random() - 0.5), -800 + 200 * (Math.random() - 0.5), Infinity);
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(4125, -350);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -1758,7 +1744,7 @@ const level = {
|
||||
spawn.randomLevelBoss(675, -2775, ["shooterBoss", "launcherBoss", "laserTargetingBoss", "streamBoss", "shieldingBoss", "pulsarBoss"]);
|
||||
}
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(1925, -1250);
|
||||
|
||||
|
||||
@@ -1963,7 +1949,7 @@ const level = {
|
||||
spawn.randomMob(4100, 1225, 0.9);
|
||||
spawn.randomMob(2825, 400, 0.9);
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(6000, 2300, ["spiderBoss", "launcherBoss", "laserTargetingBoss", "streamBoss", "historyBoss", "orbitalBoss", "shieldingBoss"]);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(7725, 2275);
|
||||
|
||||
|
||||
@@ -2013,7 +1999,7 @@ const level = {
|
||||
},
|
||||
satellite() {
|
||||
const boost1 = level.boost(5825, 235, 1400)
|
||||
const elevator = level.elevator(4210, -1285, 380, 70, -3450) //, 0.003, { up: 0.01, down: 0.2 }
|
||||
const elevator = level.elevator(4210, -1265, 380, 50, -3450) //, 0.003, { up: 0.01, down: 0.2 }
|
||||
level.custom = () => {
|
||||
boost1.query();
|
||||
|
||||
@@ -2048,7 +2034,7 @@ const level = {
|
||||
level.defaultZoom = 1700 // 4500 // 1400
|
||||
simulation.zoomTransition(level.defaultZoom)
|
||||
|
||||
powerUps.spawnStartingPowerUps(4900, -500);
|
||||
powerUps.spawnStartingPowerUps(4900, -500); //1 per level
|
||||
spawn.debris(1000, 20, 1800, 3); //16 debris per level //but less here because a few mobs die from laser
|
||||
spawn.debris(4830, -1330, 850, 3); //16 debris per level
|
||||
spawn.debris(3035, -3900, 1500, 3); //16 debris per level
|
||||
@@ -2105,8 +2091,9 @@ const level = {
|
||||
spawn.mapRect(5300, -1075, 350, 1220);
|
||||
|
||||
//structure bellow tall stairs
|
||||
spawn.mapRect(3925, -300, 425, 50);
|
||||
spawn.mapRect(4700, -375, 425, 50);
|
||||
spawn.mapRect(3900, -300, 450, 50);
|
||||
spawn.mapRect(4675, -375, 450, 50);
|
||||
|
||||
// spawn.mapRect(4000, -1300, 1050, 100);
|
||||
spawn.mapRect(4000, -1300, 200, 100);
|
||||
spawn.mapRect(4600, -1300, 450, 100);
|
||||
@@ -2151,7 +2138,7 @@ const level = {
|
||||
spawn.laserBoss(600 + 200 * Math.random(), -2150 + 250 * Math.random());
|
||||
}
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(3950, -850);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -2322,7 +2309,7 @@ const level = {
|
||||
spawn.randomGroup(2225, -1325, 0.4);
|
||||
spawn.randomGroup(4900, -1200, 0);
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(3200, -1900);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(2175, -2425);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -2539,7 +2526,7 @@ const level = {
|
||||
spawn.suckerBoss(4500, -400);
|
||||
}
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(5350, -325);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -2707,7 +2694,7 @@ const level = {
|
||||
spawn.randomGroup(3700, -1500, 0.4);
|
||||
spawn.randomGroup(1700, -900, 0.4);
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(2600, -2300);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(3075, -2050);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -2749,15 +2736,15 @@ const level = {
|
||||
const elevator1 = level.elevator(-790, -190, 180, 25, -1150) //, 0.007
|
||||
elevator1.addConstraint();
|
||||
const button1 = level.button(-500, -200)
|
||||
const elevator2 = level.elevator(-3630, -1315, 180, 25, -2190) //, 0.007
|
||||
const elevator2 = level.elevator(-3630, -1000, 180, 25, -1740) //, 0.007
|
||||
elevator2.addConstraint();
|
||||
const button2 = level.button(-3100, -1330)
|
||||
|
||||
level.custom = () => {
|
||||
ctx.fillStyle = "#d0d0d2"
|
||||
ctx.fillRect(-2475, -2450, 25, 750)
|
||||
ctx.fillRect(-2975, -2750, 25, 600)
|
||||
ctx.fillRect(-3375, -2875, 25, 725)
|
||||
// ctx.fillStyle = "#d0d0d2"
|
||||
// ctx.fillRect(-2475, -2450, 25, 750)
|
||||
// ctx.fillRect(-2975, -2750, 25, 600)
|
||||
// ctx.fillRect(-3375, -2875, 25, 725)
|
||||
ctx.fillStyle = "#cff" //exit
|
||||
ctx.fillRect(-4425, -3050, 425, 275)
|
||||
level.playerExitCheck();
|
||||
@@ -2806,19 +2793,20 @@ const level = {
|
||||
if (elevator2.isOn) {
|
||||
elevator2.move();
|
||||
ctx.fillStyle = "#444"
|
||||
ctx.fillRect(-3540, -2170, 1, 870)
|
||||
ctx.fillRect(-3540, -1720, 1, 740)
|
||||
} else {
|
||||
ctx.fillStyle = "#aaa"
|
||||
ctx.fillRect(-3540, -2170, 1, 870)
|
||||
ctx.fillRect(-3540, -1720, 1, 740)
|
||||
}
|
||||
|
||||
ctx.fillStyle = "rgba(64,64,64,0.97)" //hidden section
|
||||
ctx.fillRect(-4450, -750, 800, 200)
|
||||
ctx.fillStyle = "rgba(0,0,0,0.12)"
|
||||
ctx.fillRect(-2500, -1975, 150, 300);
|
||||
ctx.fillRect(-1830, -1150, 2030, 1150)
|
||||
ctx.fillRect(-3410, -2150, 495, 1550)
|
||||
ctx.fillRect(-2585, -1675, 420, 1125)
|
||||
ctx.fillRect(-1740, -1575, 840, 425)
|
||||
ctx.fillRect(-1650, -1575, 750, 450)
|
||||
};
|
||||
|
||||
level.setPosToSpawn(-300, -700); //normal spawn
|
||||
@@ -2837,12 +2825,12 @@ const level = {
|
||||
spawn.debris(-2000, -60, 1200, 5); //16 debris per level
|
||||
|
||||
//3 platforms that lead to exit
|
||||
spawn.mapRect(-3440, -2875, 155, 25);
|
||||
spawn.mapRect(-3025, -2775, 125, 25);
|
||||
spawn.mapRect(-2525, -2475, 125, 25);
|
||||
spawn.bodyRect(-2600, -2500, 225, 20, 0.7);
|
||||
spawn.bodyRect(-3350, -2900, 25, 25, 0.5);
|
||||
spawn.bodyRect(-3400, -2950, 50, 75, 0.5);
|
||||
// spawn.mapRect(-3440, -2875, 155, 25);
|
||||
// spawn.mapRect(-3025, -2775, 125, 25);
|
||||
// spawn.mapRect(-2525, -2475, 125, 25);
|
||||
// spawn.bodyRect(-2600, -2500, 225, 20, 0.7);
|
||||
// spawn.bodyRect(-3350, -2900, 25, 25, 0.5);
|
||||
// spawn.bodyRect(-3400, -2950, 50, 75, 0.5);
|
||||
|
||||
powerUps.spawn(-4300, -700, "heal");
|
||||
powerUps.spawn(-4200, -700, "ammo");
|
||||
@@ -2868,7 +2856,7 @@ const level = {
|
||||
|
||||
// spawn.mapRect(-1650, -1575, 600, 50);
|
||||
// spawn.mapRect(-1875, -1575, 850, 50);
|
||||
spawn.mapRect(-1750, -1575, 725, 50);
|
||||
spawn.mapRect(-1675, -1575, 650, 50);
|
||||
spawn.mapRect(-600, -1150, 850, 175);
|
||||
spawn.mapRect(-1850, -1150, 1050, 175);
|
||||
spawn.bodyRect(-1907, -1600, 550, 25);
|
||||
@@ -2888,14 +2876,20 @@ const level = {
|
||||
spawn.mapRect(-2600, -1700, 450, 50);
|
||||
// spawn.mapRect(-2600, -2450, 450, 50);
|
||||
spawn.bodyRect(-2275, -2700, 50, 60);
|
||||
spawn.bodyRect(-2600, -1925, 250, 225);
|
||||
|
||||
// spawn.bodyRect(-2560, -1925, 250, 225);
|
||||
// spawn.mapRect(-2525, -2025, 125, 25);
|
||||
// spawn.mapRect(-2525, -1900, 125, 225);
|
||||
// spawn.mapRect(-2600, -1975, 250, 25);
|
||||
spawn.mapRect(-2515, -2000, 180, 50);
|
||||
|
||||
spawn.bodyRect(-3410, -1425, 100, 100);
|
||||
spawn.bodyRect(-3390, -1525, 100, 100);
|
||||
spawn.bodyRect(-3245, -1425, 100, 100);
|
||||
//building 3
|
||||
spawn.mapRect(-4450, -1700, 800, 1000);
|
||||
spawn.mapRect(-3850, -2000, 125, 400);
|
||||
spawn.mapRect(-4000, -2350, 200, 800);
|
||||
spawn.mapRect(-4450, -1750, 800, 1050);
|
||||
// spawn.mapRect(-3850, -2000, 125, 400);
|
||||
spawn.mapRect(-4000, -2390, 200, 800);
|
||||
// spawn.mapRect(-4450, -2650, 475, 1000);
|
||||
spawn.mapRect(-4450, -2775, 475, 1125);
|
||||
spawn.bodyRect(-3715, -2050, 50, 50);
|
||||
@@ -2937,8 +2931,8 @@ const level = {
|
||||
spawn.randomGroup(-3250, -2700, 0.2);
|
||||
spawn.randomGroup(-2450, -1100, 0);
|
||||
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(-2400, -3000);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(-2400, -2650);
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(-1825, -1975);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -2959,10 +2953,6 @@ const level = {
|
||||
button2.max.x = -button2.max.x + 126 // flip the button horizontally
|
||||
|
||||
level.custom = () => {
|
||||
ctx.fillStyle = "#d0d0d2"
|
||||
ctx.fillRect(2475 - 25, -2450, 25, 750)
|
||||
ctx.fillRect(2975 - 25, -2750, 25, 600)
|
||||
ctx.fillRect(3375 - 25, -2875, 25, 725)
|
||||
ctx.fillStyle = "#cff" //exit
|
||||
ctx.fillRect(4425 - 425, -3050, 425, 275)
|
||||
level.playerExitCheck();
|
||||
@@ -3011,19 +3001,20 @@ const level = {
|
||||
if (elevator2.isOn) {
|
||||
elevator2.move();
|
||||
ctx.fillStyle = "#444"
|
||||
ctx.fillRect(3540 - 1, -2170, 1, 870)
|
||||
ctx.fillRect(3540 - 1, -1720, 1, 740)
|
||||
} else {
|
||||
ctx.fillStyle = "#aaa"
|
||||
ctx.fillRect(3540 - 1, -2170, 1, 870)
|
||||
ctx.fillRect(3540 - 1, -1720, 1, 740)
|
||||
}
|
||||
|
||||
ctx.fillStyle = "rgba(64,64,64,0.97)" //hidden section
|
||||
ctx.fillRect(4450 - 800, -750, 800, 200)
|
||||
ctx.fillStyle = "rgba(0,0,0,0.12)"
|
||||
ctx.fillRect(2500 - 150, -1975, 150, 300);
|
||||
ctx.fillRect(1830 - 2030, -1150, 2030, 1150)
|
||||
ctx.fillRect(3410 - 495, -2150, 495, 1550)
|
||||
ctx.fillRect(2585 - 420, -1675, 420, 1125)
|
||||
ctx.fillRect(1740 - 840, -1575, 840, 425)
|
||||
ctx.fillRect(1650 - 750, -1575, 750, 450)
|
||||
};
|
||||
}
|
||||
},
|
||||
@@ -3246,7 +3237,7 @@ const level = {
|
||||
}
|
||||
}
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(300, -800);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
level.flipHorizontal(); //only flips map,body,mob,powerUp,cons,consBB, exit
|
||||
@@ -3476,7 +3467,7 @@ const level = {
|
||||
spawn.randomLevelBoss(2200, -450)
|
||||
}
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(1875, -675);
|
||||
|
||||
if (simulation.isHorizontalFlipped) { //flip the map horizontally
|
||||
@@ -3689,7 +3680,7 @@ const level = {
|
||||
spawn.randomGroup(100, -450, 0.9);
|
||||
|
||||
if (simulation.difficulty > 3) spawn.randomLevelBoss(1850, -1400);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
basement() { // player made level by Francois 👑 from discord
|
||||
let button, door, buttonDoor, buttonPlateformEnd, doorPlateform
|
||||
@@ -3960,7 +3951,7 @@ const level = {
|
||||
spawn.randomGroup(2980, -400, 0.3);
|
||||
spawn.randomGroup(5750, -3860, 0.4);
|
||||
spawn.randomGroup(1130, 1300, 0.1);
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
powerUps.spawn(1900, -940, "heal");
|
||||
powerUps.spawn(3000, -230, "heal");
|
||||
powerUps.spawn(5450, -3675, "ammo");
|
||||
@@ -4959,7 +4950,7 @@ const level = {
|
||||
spawn.randomLevelBoss(-300, -3200, ["shooterBoss", "launcherBoss", "laserTargetingBoss", "streamBoss", "shieldingBoss", "pulsarBoss", "laserBoss"]);
|
||||
}
|
||||
}
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(7725, 2275);
|
||||
},
|
||||
coliseum() {
|
||||
@@ -5109,7 +5100,7 @@ const level = {
|
||||
powerUps.spawn(200, 50, "ammo");
|
||||
powerUps.spawn(200, 50, "ammo");
|
||||
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
|
||||
if (tech.isDuplicateBoss && Math.random() < 2 * tech.duplicationChance()) spawn.randomLevelBoss(6600, 600, ["historyBoss", "powerUpBoss", "pulsarBoss", "orbitalBoss"]);
|
||||
},
|
||||
@@ -5256,7 +5247,7 @@ const level = {
|
||||
powerUps.chooseRandomPowerUp(4006, 400);
|
||||
powerUps.chooseRandomPowerUp(4407, 400);
|
||||
powerUps.chooseRandomPowerUp(4409, 400);
|
||||
powerUps.addRerollToLevel(); //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel(); //needs to run after mobs are spawned
|
||||
|
||||
//Block Spawning
|
||||
// spawn.bodyRect(-100, 200, 100, 400); //spawn door
|
||||
@@ -5457,7 +5448,7 @@ const level = {
|
||||
spawn.randomGroup(3000, -450, 0.3)
|
||||
spawn.randomGroup(6000, -2700, 0)
|
||||
spawn.randomGroup(-1200, -1300, -0.3)
|
||||
powerUps.addRerollToLevel()
|
||||
powerUps.addResearchToLevel()
|
||||
|
||||
if (simulation.difficulty > 3) {
|
||||
spawn.randomLevelBoss(1900, 400, ["shieldingBoss", "shooterBoss", "launcherBoss", "streamBoss"])
|
||||
@@ -5961,7 +5952,7 @@ const level = {
|
||||
//top right
|
||||
spawn.randomGroup(2000, -5700, 0.6);
|
||||
|
||||
powerUps.addRerollToLevel() //needs to run after mobs are spawned
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
let bosses = ["shooterBoss", "launcherBoss", "laserTargetingBoss", "streamBoss", "pulsarBoss", "spawnerBossCulture", "laserBoss"];
|
||||
let abc = Math.random();
|
||||
if (simulation.difficulty > 3) {
|
||||
|
||||
@@ -706,7 +706,7 @@ const powerUps = {
|
||||
powerUps.spawn(x, y, "ammo", false);
|
||||
}
|
||||
},
|
||||
addRerollToLevel() { //add a random power up to a location that has a mob, mostly used to give each level one randomly placed research
|
||||
addResearchToLevel() { //add a random power up to a location that has a mob, mostly used to give each level one randomly placed research
|
||||
if (mob.length && Math.random() < 0.8) { // 80% chance
|
||||
const index = Math.floor(Math.random() * mob.length)
|
||||
powerUps.spawn(mob[index].position.x, mob[index].position.y, "research");
|
||||
|
||||
@@ -511,7 +511,7 @@ const simulation = {
|
||||
}
|
||||
m.look = m.lookDefault
|
||||
|
||||
simulation.isHorizontalFlipped = Math.random() < 0.5 ? true : false //if true, some maps are flipped horizontally
|
||||
simulation.isHorizontalFlipped = (Math.random() < 0.5) ? true : false //if true, some maps are flipped horizontally
|
||||
level.levels = level.playableLevels.slice(0) //copy array, not by just by assignment
|
||||
if (simulation.isCommunityMaps) {
|
||||
level.levels.push("stronghold");
|
||||
@@ -1183,6 +1183,7 @@ const simulation = {
|
||||
},
|
||||
enableConstructMode() {
|
||||
simulation.isConstructionMode = true;
|
||||
simulation.isHorizontalFlipped = false;
|
||||
simulation.isAutoZoom = false;
|
||||
simulation.zoomScale = 2600;
|
||||
simulation.setZoom();
|
||||
|
||||
36
js/spawn.js
36
js/spawn.js
@@ -2,25 +2,25 @@
|
||||
const spawn = {
|
||||
pickList: ["starter", "starter"],
|
||||
fullPickList: [
|
||||
// "hopper", "hopper", "hopper",
|
||||
// "shooter", "shooter",
|
||||
// "striker", "striker",
|
||||
// "laser", "laser",
|
||||
// "exploder", "exploder",
|
||||
// "stabber", "stabber",
|
||||
// "launcher", "launcher",
|
||||
"hopper", "hopper", "hopper",
|
||||
"shooter", "shooter",
|
||||
"striker", "striker",
|
||||
"laser", "laser",
|
||||
"exploder", "exploder",
|
||||
"stabber", "stabber",
|
||||
"launcher", "launcher",
|
||||
"springer", "springer",
|
||||
// "pulsar", "pulsar",
|
||||
// "sucker",
|
||||
// "chaser",
|
||||
// "sniper",
|
||||
// "spinner",
|
||||
// "grower",
|
||||
// "beamer",
|
||||
// "focuser",
|
||||
// "spawner",
|
||||
// "ghoster",
|
||||
// "sneaker",
|
||||
"pulsar", "pulsar",
|
||||
"sucker",
|
||||
"chaser",
|
||||
"sniper",
|
||||
"spinner",
|
||||
"grower",
|
||||
"beamer",
|
||||
"focuser",
|
||||
"spawner",
|
||||
"ghoster",
|
||||
"sneaker",
|
||||
],
|
||||
allowedGroupList: ["chaser", "spinner", "striker", "springer", "laser", "focuser", "beamer", "exploder", "spawner", "shooter", "launcher", "stabber", "sniper", "pulsar"],
|
||||
setSpawnList() { //this is run at the start of each new level to determine the possible mobs for the level
|
||||
|
||||
14
todo.txt
14
todo.txt
@@ -1,20 +1,14 @@
|
||||
******************************************************** NEXT PATCH ********************************************************
|
||||
|
||||
levels are now randomly flipped horizontally
|
||||
some changes to highrise level
|
||||
|
||||
removed spawn.boost( from n-gon
|
||||
make boosts with these commands:
|
||||
const boost1 = level.boost(2550, 1500, 1700) //x,y, boost height
|
||||
const boost2 = level.boost(-3400, -2050, 3000)
|
||||
level.custom = () => {
|
||||
boost1.query();
|
||||
boost2.query();
|
||||
also you don't have to draw the boosts any more, the query command does it for you
|
||||
boost bug fix
|
||||
MACHO bug fix
|
||||
|
||||
******************************************************** BUGS ********************************************************
|
||||
|
||||
figure out how to undo ship mode
|
||||
if you die in ship mode it respawns with m.look set to non ship methods
|
||||
if you die in ship mode it spawns with m.look set to non ship methods
|
||||
look is set in many tech and in startGame
|
||||
|
||||
Why does micro-extruder lag so much
|
||||
|
||||
Reference in New Issue
Block a user