bug fix on final boss kill
This commit is contained in:
@@ -561,7 +561,8 @@
|
|||||||
<script src="js/mob.js"></script>
|
<script src="js/mob.js"></script>
|
||||||
<script src="js/spawn.js"></script>
|
<script src="js/spawn.js"></script>
|
||||||
<script src="js/level.js"></script>
|
<script src="js/level.js"></script>
|
||||||
<script src="js/visibility.js"></script>
|
<!-- <script src="js/visibility.js"></script> -->
|
||||||
|
<script src="js/lore.js"></script>
|
||||||
<script src="js/engine.js"></script>
|
<script src="js/engine.js"></script>
|
||||||
<script src="js/index.js"></script>
|
<script src="js/index.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -3221,6 +3221,8 @@ const b = {
|
|||||||
bullet[bullet.length - 1].force.y += push.y * (i - (tech.missileCount - 1) / 2);
|
bullet[bullet.length - 1].force.y += push.y * (i - (tech.missileCount - 1) / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// if (tech.missileCount) {
|
// if (tech.missileCount) {
|
||||||
// if (mech.crouch) {
|
// if (mech.crouch) {
|
||||||
// for (let i = 0; i < 3; i++) {
|
// for (let i = 0; i < 3; i++) {
|
||||||
|
|||||||
50
js/level.js
50
js/level.js
@@ -17,7 +17,7 @@ const level = {
|
|||||||
// simulation.zoomScale = 1000;
|
// simulation.zoomScale = 1000;
|
||||||
// simulation.setZoom();
|
// simulation.setZoom();
|
||||||
// mech.setField("plasma torch")
|
// mech.setField("plasma torch")
|
||||||
// b.giveGuns("foam")
|
// b.giveGuns("missiles")
|
||||||
// tech.isMineSentry = true
|
// tech.isMineSentry = true
|
||||||
// tech.giveTech("foam fractionation")
|
// tech.giveTech("foam fractionation")
|
||||||
// tech.giveTech("missile-bot")
|
// tech.giveTech("missile-bot")
|
||||||
@@ -99,15 +99,21 @@ const level = {
|
|||||||
//******************************************************************************************************************
|
//******************************************************************************************************************
|
||||||
//******************************************************************************************************************
|
//******************************************************************************************************************
|
||||||
escape() {
|
escape() {
|
||||||
const hazard = level.hazard(-1775, 150, 3575, 650, 0.01, "hsla(160, 100%, 35%,0.75)")
|
const hazardSlime = level.hazard(-1775, 150, 3575, 650, 0.01, "hsla(160, 100%, 35%,0.75)")
|
||||||
// level.bossKilled = false; // if a boss needs to be killed
|
// const hazardLaser1 = level.hazard(-475, -800, 1, 800, 0.4, "#50f", true) //laser
|
||||||
|
// const hazardLaser2 = level.hazard(475, -800, 1, 800, 0.4, "#50f", true) //laser
|
||||||
|
|
||||||
level.custom = () => {
|
level.custom = () => {
|
||||||
// level.playerExitCheck();
|
// level.playerExitCheck();
|
||||||
hazard.query();
|
hazardSlime.query();
|
||||||
|
// hazardLaser1.query();
|
||||||
|
// hazardLaser2.query();
|
||||||
// hazard.level(true)
|
// hazard.level(true)
|
||||||
};
|
};
|
||||||
level.customTopLayer = () => {
|
level.customTopLayer = () => {
|
||||||
hazard.draw();
|
hazardSlime.drawTides();
|
||||||
|
// hazardLaser1.draw();
|
||||||
|
// hazardLaser2.draw();
|
||||||
|
|
||||||
};
|
};
|
||||||
level.setPosToSpawn(0, -50); //normal spawn
|
level.setPosToSpawn(0, -50); //normal spawn
|
||||||
@@ -116,14 +122,16 @@ const level = {
|
|||||||
level.exit.y = 200;
|
level.exit.y = 200;
|
||||||
level.defaultZoom = 1000
|
level.defaultZoom = 1000
|
||||||
simulation.zoomTransition(level.defaultZoom)
|
simulation.zoomTransition(level.defaultZoom)
|
||||||
document.body.style.backgroundColor = "#aaa";
|
// document.body.style.backgroundColor = "#aaa";
|
||||||
// level.fill.push({ //foreground
|
document.body.style.backgroundColor = "#ddd";
|
||||||
// x: 2500,
|
|
||||||
// y: -1100,
|
level.fill.push({ //foreground
|
||||||
// width: 450,
|
x: -1950,
|
||||||
// height: 250,
|
y: -950,
|
||||||
// color: "rgba(0,0,0,0.1)"
|
width: 3900,
|
||||||
// });
|
height: 1900,
|
||||||
|
color: "rgba(0,0,0,0.1)"
|
||||||
|
});
|
||||||
// level.fillBG.push({ //background
|
// level.fillBG.push({ //background
|
||||||
// x: 1300,
|
// x: 1300,
|
||||||
// y: -1800,
|
// y: -1800,
|
||||||
@@ -137,7 +145,16 @@ const level = {
|
|||||||
spawn.mapRect(-2000, -1000, 4000, 200); //ceiling
|
spawn.mapRect(-2000, -1000, 4000, 200); //ceiling
|
||||||
spawn.mapRect(-2000, -1000, 225, 2000); //left
|
spawn.mapRect(-2000, -1000, 225, 2000); //left
|
||||||
spawn.mapRect(1800, -1000, 200, 2000); //right
|
spawn.mapRect(1800, -1000, 200, 2000); //right
|
||||||
|
spawn.mapRect(-500, -5, 25, 50); //edge shelf
|
||||||
|
spawn.mapRect(475, -5, 25, 50); //edge shelf
|
||||||
|
// spawn.mapRect(-500, -820, 50, 25); //edge shelf ceiling
|
||||||
|
// spawn.mapRect(450, -820, 50, 25); //edge shelf ceiling
|
||||||
// spawn.bodyRect(1540, -1110, 300, 25, 0.9);
|
// spawn.bodyRect(1540, -1110, 300, 25, 0.9);
|
||||||
|
|
||||||
|
setTimeout(() => { simulation.makeTextLog(`test`) }, 3000);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
testing() {
|
testing() {
|
||||||
const button = level.button(200, -700)
|
const button = level.button(200, -700)
|
||||||
@@ -4495,6 +4512,13 @@ const level = {
|
|||||||
ctx.fillRect(this.min.x, this.min.y, this.width, this.height)
|
ctx.fillRect(this.min.x, this.min.y, this.width, this.height)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
drawTides() {
|
||||||
|
if (this.isOn) {
|
||||||
|
ctx.fillStyle = color
|
||||||
|
const offset = 10 * Math.sin(simulation.cycle * 0.015)
|
||||||
|
ctx.fillRect(this.min.x, this.min.y + offset, this.width, this.height - offset)
|
||||||
|
}
|
||||||
|
},
|
||||||
level(isFill) {
|
level(isFill) {
|
||||||
if (!mech.isBodiesAsleep) {
|
if (!mech.isBodiesAsleep) {
|
||||||
const growSpeed = 1
|
const growSpeed = 1
|
||||||
|
|||||||
34
js/lore.js
Normal file
34
js/lore.js
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
const lore = {
|
||||||
|
|
||||||
|
dialogue: [
|
||||||
|
``,
|
||||||
|
``,
|
||||||
|
],
|
||||||
|
ending() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* ending outline
|
||||||
|
if no cheats
|
||||||
|
after final boss is cleared, player enters a level with no mobs
|
||||||
|
level maybe has some environmental damage, so player has an option to die at any time
|
||||||
|
player can see text output between two colors of text strings (scientists)
|
||||||
|
audio.ambient(current time and date)<br> "text"
|
||||||
|
player reads a conversation between the two colors of text
|
||||||
|
first time win on east or normal they talk about:
|
||||||
|
how many runs the player has done
|
||||||
|
they guess why
|
||||||
|
player is asked to stand on an in game button to enable the vocoder
|
||||||
|
they reveal the player is running simulations, and it isn't real
|
||||||
|
they ask the player to communicate
|
||||||
|
jump twice if you understand
|
||||||
|
they ask the player to enter console commands
|
||||||
|
give ammo or tech or something
|
||||||
|
They tell the play a console command to permanently enable custom and testing mode (in local storage)
|
||||||
|
players can use this command in the future to enable custom and testing without beating the game even if local storage is wiped
|
||||||
|
they then tell the player the command to increase the difficulty and the command to restart the game.
|
||||||
|
If you win on hard or why:
|
||||||
|
they give the player and option to exit the simulation and entre the real world
|
||||||
|
simulation.exit()
|
||||||
|
This wipes all local storage, and closes the browser tab
|
||||||
|
*/
|
||||||
10
js/spawn.js
10
js/spawn.js
@@ -105,7 +105,15 @@ const spawn = {
|
|||||||
|
|
||||||
//set game to the next highest difficulty level if not on why
|
//set game to the next highest difficulty level if not on why
|
||||||
if (simulation.difficultyMode < 6) {
|
if (simulation.difficultyMode < 6) {
|
||||||
simulation.difficultyMode++
|
if (simulation.difficultyMode === 0) {
|
||||||
|
simulation.difficultyMode = 1
|
||||||
|
} else if (simulation.difficultyMode === 1) {
|
||||||
|
simulation.difficultyMode = 2
|
||||||
|
} else if (simulation.difficultyMode === 2) {
|
||||||
|
simulation.difficultyMode = 4
|
||||||
|
} else {
|
||||||
|
simulation.difficultyMode = 6
|
||||||
|
}
|
||||||
document.getElementById("difficulty-select").value = simulation.difficultyMode
|
document.getElementById("difficulty-select").value = simulation.difficultyMode
|
||||||
localSettings.difficultyMode = simulation.difficultyMode
|
localSettings.difficultyMode = simulation.difficultyMode
|
||||||
localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
||||||
|
|||||||
26
todo.txt
26
todo.txt
@@ -1,8 +1,6 @@
|
|||||||
******************************************************** NEXT PATCH ********************************************************
|
******************************************************** NEXT PATCH ********************************************************
|
||||||
|
|
||||||
beating the final boss automatically increases the difficulty mode for this run and future runs
|
|
||||||
some foam balancing, mostly buffs
|
|
||||||
standing wave harmonics gets 15% harm reduction again
|
|
||||||
|
|
||||||
******************************************************** BUGS ********************************************************
|
******************************************************** BUGS ********************************************************
|
||||||
|
|
||||||
@@ -23,6 +21,17 @@ CPT check for crouch after rewind
|
|||||||
|
|
||||||
******************************************************** TODO ********************************************************
|
******************************************************** TODO ********************************************************
|
||||||
|
|
||||||
|
bot that follows the players history
|
||||||
|
could have the same shape as the mech circle head
|
||||||
|
1st bot is at 5s, 2nd is at 4.5s, ...
|
||||||
|
bots don't get too close to player
|
||||||
|
run smoothing on position update, don't update if close to player, based on ordering
|
||||||
|
effect: (one of these can be the upgrade effect)
|
||||||
|
give player energy overfill
|
||||||
|
AOE damage to mobs
|
||||||
|
push away mobs
|
||||||
|
wen close to player: damage bonus damage reduction
|
||||||
|
|
||||||
tech: dodge chance for cloaking, harmonic fields, also pilot wave
|
tech: dodge chance for cloaking, harmonic fields, also pilot wave
|
||||||
20% chance up to 3 stacks, not additive
|
20% chance up to 3 stacks, not additive
|
||||||
0.8^count
|
0.8^count
|
||||||
@@ -33,7 +42,7 @@ rename
|
|||||||
health > integrity, unity
|
health > integrity, unity
|
||||||
heal > also integrity, unity
|
heal > also integrity, unity
|
||||||
level > world?
|
level > world?
|
||||||
reroll > resample, reset, retry, remeasure
|
reroll > research
|
||||||
|
|
||||||
in game console
|
in game console
|
||||||
set highlighting rules
|
set highlighting rules
|
||||||
@@ -141,15 +150,6 @@ bullet mechanic - a bullet that swims through the air
|
|||||||
in custom make a top bar that is fixed
|
in custom make a top bar that is fixed
|
||||||
use media rules to make the layout look nice
|
use media rules to make the layout look nice
|
||||||
|
|
||||||
bot that follows the players history
|
|
||||||
1st bot is at 5s, 2nd is at 4.5s, ...
|
|
||||||
bots don't get too close to player
|
|
||||||
run smoothing on position update, don't update if close to player, based on ordering
|
|
||||||
effect:
|
|
||||||
give player energy overfill
|
|
||||||
damage mobs on contact
|
|
||||||
damage bonus damage reduction push away mobs
|
|
||||||
|
|
||||||
mob vision: look at player history
|
mob vision: look at player history
|
||||||
build a new type of attraction for mobs
|
build a new type of attraction for mobs
|
||||||
if mobs can't see player, they check to see if they can see where the player was in the history
|
if mobs can't see player, they check to see if they can see where the player was in the history
|
||||||
|
|||||||
Reference in New Issue
Block a user