wikipedia
JUNK: wikipedia - After you get a new tech you have 7 seconds to study before a quiz, 4 research if you aces the quiz. this code for this works 80% of the time every time renamed propagator->Verlet integration it's now a skin tech 1.6->3x damage slightly increased the time skip amount on some skins the feet will hang lower while player is in the air on some skins the upper legs are skinnier mouse over on orbs for tech, field, and gun has a tooltip with text added keyword CSS style for "bot" added an aura around powerUpBoss so you can kinda see it inside walls quenching just gives max health from over healing instead of damaging you first depolarization does 0.5->0.4x damage when on cooldown many-worlds spawns a tech and also 3 coupling at the start of each new level dynamic equilibrium does 1.15x more damage and only stacks to 9->3 orbital bots collide with a 1.2x larger range Zectron no longer drains energy when balls hit you, but the balls still stop supply chain just gives a gun and a flat 10 ammo polyurethane foam will only trigger up to 55 total foam per harpoon to prevent a huge number of foam bubbles causing lag no cap for super balls for now fixed bug with planned obsolescence + instant tech fixed bug with ice crystal nucleation applied science gives each gunTech with a short delay this helps with sorting and maybe other rare bugs fixed bug with delivery drones and path integration you can no longer deflect snakeBoss, but it moves a bit slower
This commit is contained in:
260
js/level.js
260
js/level.js
@@ -28,7 +28,7 @@ const level = {
|
||||
// tech.tech[297].frequency = 100
|
||||
// tech.addJunkTechToPool(0.5)
|
||||
// m.couplingChange(10)
|
||||
// m.setField("plasma torch") //1 standing wave 2 perfect diamagnetism 3 negative mass 4 molecular assembler 5 plasma torch 6 time dilation 7 metamaterial cloaking 8 pilot wave 9 wormhole 10 grappling hook
|
||||
// m.setField("grappling hook") //1 standing wave 2 perfect diamagnetism 3 negative mass 4 molecular assembler 5 plasma torch 6 time dilation 7 metamaterial cloaking 8 pilot wave 9 wormhole 10 grappling hook
|
||||
// m.energy = 0
|
||||
// powerUps.research.count = 3
|
||||
// tech.isHookWire = true
|
||||
@@ -37,34 +37,29 @@ const level = {
|
||||
// m.damage(0.1);
|
||||
// b.giveGuns("super balls") //0 nail gun 1 shotgun 2 super balls 3 wave 4 missiles 5 grenades 6 spores 7 drones 8 foam 9 harpoon 10 mine 11 laser
|
||||
// b.giveGuns("shotgun") //0 nail gun 1 shotgun 2 super balls 3 wave 4 missiles 5 grenades 6 spores 7 drones 8 foam 9 harpoon 10 mine 11 laser
|
||||
// b.giveGuns("wave") //0 nail gun 1 shotgun 2 super balls 3 wave 4 missiles 5 grenades 6 spores 7 drones 8 foam 9 harpoon 10 mine 11 laser
|
||||
// b.giveGuns("wave") //0 nail gun 1 shotgun 2 super balls 3 wave 4 missiles 5 grenades 6 spores 7 drones 8 foam 9 harpoon 10 mine 11 laser
|
||||
// b.giveGuns("laser") //0 nail gun 1 shotgun 2 super balls 3 wave 4 missiles 5 grenades 6 spores 7 drones 8 foam 9 harpoon 10 mine 11 laser
|
||||
// tech.laserColor = "#fff"
|
||||
// tech.laserColorAlpha = "rgba(255, 255, 255, 0.5)"
|
||||
|
||||
// b.guns[8].ammo = 100000000
|
||||
// requestAnimationFrame(() => { tech.giveTech("stimulated emission") });
|
||||
// tech.giveTech("1st ionization energy")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("booby trap")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("obsolescence")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("brainstorming")
|
||||
// requestAnimationFrame(() => { for (let i = 0; i < 3; i++) tech.giveTech("mechatronics") });
|
||||
// requestAnimationFrame(() => { for (let i = 0; i < 1; i++) tech.giveTech("eternalism") });
|
||||
// for (let i = 0; i < 2; i++) tech.giveTech("technical debt")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("emergence")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("foam-bot")
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("Bitter electromagnet")
|
||||
// requestAnimationFrame(() => { for (let i = 0; i < 1; i++) tech.giveTech("wikipedia") });
|
||||
// requestAnimationFrame(() => { for (let i = 0; i < 1; i++) tech.giveTech("field coupling") });
|
||||
// for (let i = 0; i < 1; i++) tech.giveTech("Verlet integration")
|
||||
// m.lastKillCycle = m.cycle
|
||||
// for (let i = 0; i < 1; ++i) tech.giveTech("determinism")
|
||||
// for (let i = 0; i < 3; i++) powerUps.directSpawn(450, -50, "tech");
|
||||
// for (let i = 0; i < 1; i++) powerUps.directSpawn(450, -50, "tech");
|
||||
// for (let i = 0; i < 1; i++) powerUps.directSpawn(m.pos.x, m.pos.y - 50, "difficulty", false);
|
||||
// spawn.mapRect(575, -700, 25, 425); //block mob line of site on testing
|
||||
// level.flocculation();
|
||||
// level.testing();
|
||||
|
||||
level[simulation.isTraining ? "walk" : "initial"]() //normal starting level **************************************************
|
||||
|
||||
// for (let i = 0; i < 1; ++i) spawn.snakeBoss(1900, -500)
|
||||
// for (let i = 0; i < 2; i++) spawn.ghoster(level.exit.x, level.exit.y) //ghosters need to spawn after the map loads
|
||||
// simulation.isAutoZoom = false; //look in close
|
||||
// simulation.zoomScale *= 0.5;
|
||||
// simulation.setZoom();
|
||||
// for (let i = 0; i < 1; ++i) spawn.powerUpBoss(1900, -500)
|
||||
// for (let i = 0; i < 3; i++) spawn.starter(1900, -500) //ghosters need to spawn after the map loads
|
||||
|
||||
// for (let i = 0; i < 1; ++i) powerUps.directSpawn(m.pos.x + 50 * Math.random(), m.pos.y + 50 * Math.random(), "entanglement");
|
||||
// for (let i = 0; i < 2; ++i) powerUps.directSpawn(m.pos.x + 450, m.pos.y + 50 * Math.random(), "boost");
|
||||
@@ -103,7 +98,7 @@ const level = {
|
||||
}
|
||||
if (!simulation.isTraining) {
|
||||
document.title = "n-gon: " + level.levelAnnounce();
|
||||
simulation.makeTextLog(`<span class='color-var'>level</span>.onLevel <span class='color-symbol'>=</span> "<span class='color-text'>${level.levels[level.onLevel]}</span>"`);
|
||||
simulation.inGameConsole(`<span class='color-var'>level</span>.onLevel <span class='color-symbol'>=</span> "<span class='color-text'>${level.levels[level.onLevel]}</span>"`);
|
||||
}
|
||||
simulation.setupCamera(player.position);
|
||||
simulation.setZoom();
|
||||
@@ -151,13 +146,14 @@ const level = {
|
||||
}
|
||||
if (tech.isGunChoice && Number.isInteger(tech.buffedGun) && b.inventory.length) {
|
||||
var gun = b.guns[b.inventory[tech.buffedGun]].name
|
||||
simulation.makeTextLog(`pigeonhole principle: <strong>${(1.3 * Math.max(0, b.inventory.length)).toFixed(2)}x</strong> <strong class='color-d'>damage</strong> for <strong class="highlight">${gun}</strong>`, 600);
|
||||
simulation.inGameConsole(`pigeonhole principle: <strong>${(1.3 * Math.max(0, b.inventory.length)).toFixed(2)}x</strong> <strong class='color-d'>damage</strong> for <strong class="highlight">${gun}</strong>`, 600);
|
||||
}
|
||||
if (tech.isSwitchReality && level.levelsCleared !== 0) {
|
||||
simulation.makeTextLog(`simulation.amplitude <span class='color-symbol'>=</span> ${Math.random()}`);
|
||||
simulation.inGameConsole(`simulation.amplitude <span class='color-symbol'>=</span> ${Math.random()}`);
|
||||
m.switchWorlds()
|
||||
simulation.trails()
|
||||
powerUps.spawn(player.position.x + Math.random() * 50, player.position.y - Math.random() * 50, "tech", false);
|
||||
powerUps.spawn(player.position.x + 50, player.position.y - Math.random() * 50, "tech", false);
|
||||
powerUps.spawnDelay("coupling", 3);
|
||||
}
|
||||
if (tech.isHealLowHealth) {
|
||||
const len = tech.isEnergyHealth ? 5 * Math.max(0, m.maxEnergy - m.energy) : 5 * Math.max(0, m.maxHealth - m.health)
|
||||
@@ -169,22 +165,22 @@ const level = {
|
||||
const ammoPerOrb = b.guns[b.activeGun].ammoPack
|
||||
const a = Math.ceil(rate * b.guns[b.activeGun].ammo / ammoPerOrb)
|
||||
powerUps.spawnDelay("ammo", a, 4);
|
||||
simulation.makeTextLog(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-g'>ammo</span> <span class='color-symbol'>=</span> ${a > 20 ? a + powerUps.orb.ammo(1) : powerUps.orb.ammo(a)}`)
|
||||
simulation.inGameConsole(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-g'>ammo</span> <span class='color-symbol'>=</span> ${a > 20 ? a + powerUps.orb.ammo(1) : powerUps.orb.ammo(a)}`)
|
||||
}
|
||||
if (powerUps.research.count > 0) {
|
||||
const r = Math.ceil(rate * powerUps.research.count)
|
||||
simulation.makeTextLog(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-r'>research</span> <span class='color-symbol'>=</span> ${r > 20 ? r + powerUps.orb.research(1) : powerUps.orb.research(r)}`)
|
||||
simulation.inGameConsole(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-r'>research</span> <span class='color-symbol'>=</span> ${r > 20 ? r + powerUps.orb.research(1) : powerUps.orb.research(r)}`)
|
||||
powerUps.spawnDelay("research", r, 4);
|
||||
}
|
||||
if (m.coupling > 0) {
|
||||
const c = Math.ceil(rate * m.coupling)
|
||||
powerUps.spawnDelay("coupling", c, 4);
|
||||
simulation.makeTextLog(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-coupling'>coupling</span> <span class='color-symbol'>=</span> ${c > 20 ? c + powerUps.orb.coupling(1) : powerUps.orb.coupling(c)}`)
|
||||
simulation.inGameConsole(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-coupling'>coupling</span> <span class='color-symbol'>=</span> ${c > 20 ? c + powerUps.orb.coupling(1) : powerUps.orb.coupling(c)}`)
|
||||
}
|
||||
const healPerOrb = (powerUps.heal.size() / 40 / (simulation.healScale ** 0.25)) ** 2
|
||||
const h = Math.ceil(rate * m.health / healPerOrb)
|
||||
powerUps.spawnDelay("heal", h, 4);
|
||||
simulation.makeTextLog(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-h'>health</span> <span class='color-symbol'>=</span> ${h > 20 ? h + powerUps.orb.heal(1) : powerUps.orb.heal(h)}`)
|
||||
simulation.inGameConsole(`${(rate * 100).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-h'>health</span> <span class='color-symbol'>=</span> ${h > 20 ? h + powerUps.orb.heal(1) : powerUps.orb.heal(h)}`)
|
||||
|
||||
// trying to spawn smaller heals
|
||||
// const healPerOrb = (powerUps.heal.size() / 40 / (simulation.healScale ** 0.25)) ** 2
|
||||
@@ -194,18 +190,20 @@ const level = {
|
||||
// const overHeal = h - Math.floor(h)
|
||||
// powerUps.spawn(m.pos.x, m.pos.y, "heal", true, null, Math.max(0.25, overHeal) * 40 * (simulation.healScale ** 0.25))
|
||||
// if (h > healPerOrb) powerUps.spawnDelay("heal", h);
|
||||
// simulation.makeTextLog(`${(Math.ceil(tech.interestRate * 100)).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-h'>health</span> <span class='color-symbol'>=</span> ${h > 20 ? h + powerUps.orb.heal(1) : powerUps.orb.heal(h)}`)
|
||||
// simulation.inGameConsole(`${(Math.ceil(tech.interestRate * 100)).toFixed(0)}<span class='color-symbol'>%</span> <span class='color-m'>interest</span> on <span class='color-h'>health</span> <span class='color-symbol'>=</span> ${h > 20 ? h + powerUps.orb.heal(1) : powerUps.orb.heal(h)}`)
|
||||
}
|
||||
if (tech.ejectOld > 0) {
|
||||
if (tech.isEjectOld) {
|
||||
let index = null //find oldest tech that you have
|
||||
for (let i = 0; i < tech.tech.length; i++) {
|
||||
if (tech.tech[i].count > 0) index = i
|
||||
if (tech.tech[i].count > 0 && !tech.tech[i].isInstant) {
|
||||
index = i
|
||||
}
|
||||
}
|
||||
console.log(index)
|
||||
if (index) { //eject it
|
||||
const effect = Math.pow(1.1, tech.tech[index].count)
|
||||
simulation.makeTextLog(`<strong>${(effect).toFixed(2)}x</strong> <strong class='color-d'>damage</strong> <em>//from obsolescence</em>`, 360)
|
||||
simulation.inGameConsole(`<strong>${(effect).toFixed(2)}x</strong> <strong class='color-d'>damage</strong> <em>//from obsolescence</em>`, 360)
|
||||
tech.damage *= effect
|
||||
tech.ejectOld *= effect
|
||||
powerUps.ejectTech(index)
|
||||
}
|
||||
}
|
||||
@@ -213,7 +211,7 @@ const level = {
|
||||
trainingText(say) {
|
||||
simulation.lastLogTime = 0; //clear previous messages
|
||||
simulation.isTextLogOpen = true
|
||||
simulation.makeTextLog(`<span style="font-size: 120%;line-height: 120%;"><span style="color:#51f;">supervised.learning</span>(<span style="color:#777; font-size: 80%;">${(Date.now() / 1000).toFixed(0)} s</span>)<span class='color-symbol'>:</span><br>${say}</span>`, Infinity)
|
||||
simulation.inGameConsole(`<span style="font-size: 120%;line-height: 120%;"><span style="color:#51f;">supervised.learning</span>(<span style="color:#777; font-size: 80%;">${(Date.now() / 1000).toFixed(0)} s</span>)<span class='color-symbol'>:</span><br>${say}</span>`, Infinity)
|
||||
simulation.isTextLogOpen = false
|
||||
},
|
||||
trainingBackgroundColor: "#e1e1e1",
|
||||
@@ -279,8 +277,8 @@ const level = {
|
||||
}
|
||||
},
|
||||
announceMobTypes() {
|
||||
simulation.makeTextLog(`spawn<span class='color-symbol'>.</span>${spawn.pickList[0]}<span class='color-symbol'>(</span>x<span class='color-symbol'>,</span>y<span class='color-symbol'>)</span>`)
|
||||
simulation.makeTextLog(`spawn<span class='color-symbol'>.</span>${spawn.pickList[1]}<span class='color-symbol'>(</span>x<span class='color-symbol'>,</span>y<span class='color-symbol'>)</span>`)
|
||||
simulation.inGameConsole(`spawn<span class='color-symbol'>.</span>${spawn.pickList[0]}<span class='color-symbol'>(</span>x<span class='color-symbol'>,</span>y<span class='color-symbol'>)</span>`)
|
||||
simulation.inGameConsole(`spawn<span class='color-symbol'>.</span>${spawn.pickList[1]}<span class='color-symbol'>(</span>x<span class='color-symbol'>,</span>y<span class='color-symbol'>)</span>`)
|
||||
},
|
||||
disableExit: false,
|
||||
nextLevel() {
|
||||
@@ -443,7 +441,7 @@ const level = {
|
||||
if (index !== -1) {
|
||||
level.communityLevels.splice(index, 1);
|
||||
// console.log('removed level:', remove[i])
|
||||
requestAnimationFrame(() => { simulation.makeTextLog(`banned level: <strong style="color: '#f00';">${remove[i]}</strong>`); });
|
||||
requestAnimationFrame(() => { simulation.inGameConsole(`banned level: <strong style="color: '#f00';">${remove[i]}</strong>`); });
|
||||
}
|
||||
}
|
||||
// console.log('community levels after', level.communityLevels)
|
||||
@@ -454,7 +452,7 @@ const level = {
|
||||
if (index !== -1) {
|
||||
level.playableLevels.splice(index, 1);
|
||||
// console.log('removed level:', remove[i])
|
||||
requestAnimationFrame(() => { simulation.makeTextLog(`banned level: <strong style="color: '#f00';">${remove[i]}</strong>`); });
|
||||
requestAnimationFrame(() => { simulation.inGameConsole(`banned level: <strong style="color: '#f00';">${remove[i]}</strong>`); });
|
||||
}
|
||||
}
|
||||
// console.log('Landgreen levels after', level.playableLevels)
|
||||
@@ -628,7 +626,7 @@ const level = {
|
||||
let text = `
|
||||
<div class="choose-grid-module" id = "choose-training" style = "font-size: 1em; padding:10px;color:#333;">
|
||||
<h2 style="text-align: center;letter-spacing: 5px;">training</h2>
|
||||
Begin the <strong>guided tutorial</strong> that shows you how to use your ${powerUps.field.gun()} and ${powerUps.orb.gun()}.
|
||||
Begin the <strong>guided tutorial</strong> that shows you how to use your ${powerUps.field()} and ${powerUps.orb.gun()}.
|
||||
</div>
|
||||
<div class="choose-grid-module" id = "choose-unPause" style = "font-size: 1em; padding:10px;color:#333;">
|
||||
<h2 style="text-align: center; letter-spacing: 7px;">play</h2>
|
||||
@@ -2531,8 +2529,8 @@ const level = {
|
||||
//bonus power ups for clearing runs in the last game
|
||||
if (!simulation.isCheating && localSettings.levelsClearedLastGame > 1) {
|
||||
for (let i = 0; i < localSettings.levelsClearedLastGame / 3; i++) powerUps.spawn(2095 + 2 * Math.random(), -1270 - 50 * i, "tech", false); //spawn a tech for levels cleared in last game
|
||||
simulation.makeTextLog(`for (let i <span class='color-symbol'>=</span> 0; i <span class='color-symbol'><</span> localSettings.levelsClearedLastGame <span class='color-symbol'>/</span> 3; i<span class='color-symbol'>++</span>)`);
|
||||
simulation.makeTextLog(`{ powerUps.spawn(m.pos.x, m.pos.y, "tech") <em>//simulation superposition</em>}`);
|
||||
simulation.inGameConsole(`for (let i <span class='color-symbol'>=</span> 0; i <span class='color-symbol'><</span> localSettings.levelsClearedLastGame <span class='color-symbol'>/</span> 3; i<span class='color-symbol'>++</span>)`);
|
||||
simulation.inGameConsole(`{ powerUps.spawn(m.pos.x, m.pos.y, "tech") <em>//simulation superposition</em>}`);
|
||||
localSettings.levelsClearedLastGame = 0 //after getting bonus power ups reset run history
|
||||
if (localSettings.isAllowed) localStorage.setItem("localSettings", JSON.stringify(localSettings)); //update local storage
|
||||
}
|
||||
@@ -2981,7 +2979,7 @@ const level = {
|
||||
if (gateButton.isUp) {
|
||||
gateButton.query();
|
||||
if (!gateButton.isUp) {
|
||||
simulation.makeTextLog(`station gate opened`, 360);
|
||||
simulation.inGameConsole(`station gate opened`, 360);
|
||||
if (stationNumber > 0) {
|
||||
if (!isExitOpen && gatesOpenRight < stationNumber) level.newLevelOrPhase() //run some new level tech effects
|
||||
gatesOpenRight = stationNumber
|
||||
@@ -2993,7 +2991,7 @@ const level = {
|
||||
gatesOpenRight = stationNumber
|
||||
}
|
||||
if (Math.abs(stationNumber) > 0 && ((Math.abs(stationNumber) + 1) % stationList.length) === 0) {
|
||||
simulation.makeTextLog(`level exit opened`, 360);
|
||||
simulation.inGameConsole(`level exit opened`, 360);
|
||||
isExitOpen = true;
|
||||
}
|
||||
}
|
||||
@@ -8574,7 +8572,7 @@ const level = {
|
||||
|
||||
},
|
||||
stronghold() { // player made level by Francois 👑 from discord
|
||||
simulation.makeTextLog(`<strong>stronghold</strong> by <span class='color-var'>Francois</span>`);
|
||||
simulation.inGameConsole(`<strong>stronghold</strong> by <span class='color-var'>Francois</span>`);
|
||||
|
||||
const boost1 = level.boost(1470, -250, 1080)
|
||||
const boost2 = level.boost(-370, 0, 800)
|
||||
@@ -8744,7 +8742,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
basement() { // player made level by Francois 👑 from discord
|
||||
simulation.makeTextLog(`<strong>basement</strong> by <span class='color-var'>Francois</span>`);
|
||||
simulation.inGameConsole(`<strong>basement</strong> by <span class='color-var'>Francois</span>`);
|
||||
let button, door, buttonDoor, buttonPlateformEnd, doorPlateform
|
||||
let isLevelReversed = Math.random();
|
||||
if (isLevelReversed < 0.7) {
|
||||
@@ -9028,7 +9026,7 @@ const level = {
|
||||
powerUps.chooseRandomPowerUp(3100, 1630);
|
||||
},
|
||||
// detours() { //by Francois from discord
|
||||
// simulation.makeTextLog(`<strong>detours</strong> by <span class='color-var'>Francois</span>`);
|
||||
// simulation.inGameConsole(`<strong>detours</strong> by <span class='color-var'>Francois</span>`);
|
||||
// level.setPosToSpawn(0, 0); //lower start
|
||||
// level.exit.y = 150;
|
||||
// spawn.mapRect(level.enter.x, 45, 100, 20);
|
||||
@@ -9341,7 +9339,7 @@ const level = {
|
||||
// }
|
||||
// },
|
||||
house() { //by Francois from discord
|
||||
simulation.makeTextLog(`<strong>house</strong> by <span class='color-var'>Francois</span>`);
|
||||
simulation.inGameConsole(`<strong>house</strong> by <span class='color-var'>Francois</span>`);
|
||||
const rotor = level.rotor(4251, -325, 120, 20, 200, 0, 0.01, 0, -0.0001);
|
||||
const hazard = level.hazard(4350, -1000, 300, 110);
|
||||
const doorBedroom = level.door(1152, -1150, 25, 250, 250);
|
||||
@@ -9817,7 +9815,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
perplex() { //by Oranger from discord
|
||||
simulation.makeTextLog(`<strong>perplex</strong> by <span class='color-var'>Oranger</span>`);
|
||||
simulation.inGameConsole(`<strong>perplex</strong> by <span class='color-var'>Oranger</span>`);
|
||||
document.body.style.backgroundColor = "#dcdcde";
|
||||
level.setPosToSpawn(-600, 400);
|
||||
spawn.mapRect(level.enter.x, level.enter.y + 20, 100, 20);
|
||||
@@ -10003,7 +10001,7 @@ const level = {
|
||||
spawn.secondaryBossChance(7725, 2275)
|
||||
},
|
||||
coliseum() {
|
||||
simulation.makeTextLog(`<strong>coliseum</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
simulation.inGameConsole(`<strong>coliseum</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
level.custom = () => {
|
||||
level.exit.drawAndCheck();
|
||||
|
||||
@@ -10154,7 +10152,7 @@ const level = {
|
||||
spawn.secondaryBossChance(6600, 600)
|
||||
},
|
||||
crossfire() {
|
||||
simulation.makeTextLog(`<strong>crossfire</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
simulation.inGameConsole(`<strong>crossfire</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
|
||||
//*1.5
|
||||
//Level Setup
|
||||
@@ -10319,7 +10317,7 @@ const level = {
|
||||
spawn.debris(9300, -900, 400, debrisCount);
|
||||
},
|
||||
vats() { // Made by Dablux#6610 on Discord
|
||||
simulation.makeTextLog(`<strong>vats</strong> by <span class='color-var'>Dablux</span>`);
|
||||
simulation.inGameConsole(`<strong>vats</strong> by <span class='color-var'>Dablux</span>`);
|
||||
|
||||
simulation.zoomScale = 1500;
|
||||
level.setPosToSpawn(4400, -1060)
|
||||
@@ -10761,7 +10759,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
ngon() { //make by Oranger
|
||||
simulation.makeTextLog(`<strong>"ngon"</strong> by <span class='color-var'>Oranger</span>`);
|
||||
simulation.inGameConsole(`<strong>"ngon"</strong> by <span class='color-var'>Oranger</span>`);
|
||||
|
||||
document.body.style.backgroundColor = "#dcdcde";
|
||||
let needGravity = [];
|
||||
@@ -11166,7 +11164,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
tunnel() { // by Scarlettt
|
||||
simulation.makeTextLog(`<strong>tunnel</strong> by <span class='color-var'>Scarlettt</span>`);
|
||||
simulation.inGameConsole(`<strong>tunnel</strong> by <span class='color-var'>Scarlettt</span>`);
|
||||
|
||||
level.custom = () => {
|
||||
level.exit.drawAndCheck();
|
||||
@@ -11640,7 +11638,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
run() {
|
||||
simulation.makeTextLog(`<strong>run</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
simulation.inGameConsole(`<strong>run</strong> by <span class='color-var'>iNoobBoi</span>`);
|
||||
|
||||
addPartToMap = (len) => { //adds new map elements to the level while the level is already running //don't forget to run simulation.draw.setPaths() after you all the the elements so they show up visually
|
||||
map[len].collisionFilter.category = cat.map;
|
||||
@@ -11689,14 +11687,14 @@ const level = {
|
||||
addPartToMap(map.length - 1);
|
||||
simulation.draw.setPaths();
|
||||
|
||||
simulation.makeTextLog(`<strong>UNKNOWN</strong>: "Well done. Now climb."`, 600);
|
||||
simulation.makeTextLog(`<strong>UNKNOWN</strong>: "I left a gift at the top."`, 600);
|
||||
simulation.inGameConsole(`<strong>UNKNOWN</strong>: "Well done. Now climb."`, 600);
|
||||
simulation.inGameConsole(`<strong>UNKNOWN</strong>: "I left a gift at the top."`, 600);
|
||||
|
||||
climbTime = true;
|
||||
} //toggles on a mapRect when player passes a certain area
|
||||
|
||||
if (m.pos.x > 9000 && endTime === false) {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"Good luck. I hope you get out of here.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"Good luck. I hope you get out of here.\"", 600);
|
||||
endTime = true;
|
||||
}
|
||||
|
||||
@@ -11877,11 +11875,11 @@ const level = {
|
||||
|
||||
//Mob Spawning
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"You cannot kill them.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"You cannot kill them.\"", 600);
|
||||
}, 2000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"But I have slowed them down for you.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"But I have slowed them down for you.\"", 600);
|
||||
}, 6000);
|
||||
|
||||
|
||||
@@ -11897,7 +11895,7 @@ const level = {
|
||||
spawn[runMobList[Math.floor(Math.random() * runMobList.length)]](6600, -1000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"Run.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"Run.\"", 600);
|
||||
}, 10000);
|
||||
} //some of the mobs
|
||||
if (simulation.difficulty > 20) {
|
||||
@@ -11907,7 +11905,7 @@ const level = {
|
||||
spawn[runMobList[Math.floor(Math.random() * runMobList.length)]](7400, -800);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"RUN!\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"RUN!\"", 600);
|
||||
}, 11000);
|
||||
} //most of the mobs
|
||||
if (simulation.difficulty > 30) {
|
||||
@@ -11917,7 +11915,7 @@ const level = {
|
||||
spawn[runMobList[Math.floor(Math.random() * runMobList.length)]](7500, -300);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"GET OUT OF HERE.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"GET OUT OF HERE.\"", 600);
|
||||
}, 12000);
|
||||
} //all the mobs
|
||||
|
||||
@@ -11926,7 +11924,7 @@ const level = {
|
||||
spawn.randomLevelBoss(-2200, -700, ["powerUpBossBaby", "blockBoss", "revolutionBoss"]);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<strong>UNKNOWN</strong>: \"They are coming for you.\"", 600);
|
||||
simulation.inGameConsole("<strong>UNKNOWN</strong>: \"They are coming for you.\"", 600);
|
||||
}, 14000);
|
||||
}
|
||||
anotherBoss(-1800, -700); //custom second boss spawn
|
||||
@@ -11982,7 +11980,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
islands() {
|
||||
simulation.makeTextLog(`<strong>islands</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>islands</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
|
||||
const boost1 = level.boost(58500, -18264, 1300);
|
||||
let portal2, portal3;
|
||||
@@ -12327,7 +12325,7 @@ const level = {
|
||||
powerUps.spawn(3000, -230, "heal");
|
||||
},
|
||||
temple() {
|
||||
simulation.makeTextLog(`<strong>temple</strong> by <span class='color-var'>Scar1337</span>`);
|
||||
simulation.inGameConsole(`<strong>temple</strong> by <span class='color-var'>Scar1337</span>`);
|
||||
|
||||
const V = Vector;
|
||||
const Equation = (function () {
|
||||
@@ -13489,7 +13487,7 @@ const level = {
|
||||
if (!isInBounds) {
|
||||
m.damage(0.1 * simulation.difficultyMode);
|
||||
trapPlayer(level.enter.x, level.enter.y);
|
||||
simulation.makeTextLog("<span style='color: #f00'>" + name + "</span>: You thought I could let you get away with that?");
|
||||
simulation.inGameConsole("<span style='color: #f00'>" + name + "</span>: You thought I could let you get away with that?");
|
||||
}
|
||||
},
|
||||
room0() {
|
||||
@@ -13895,7 +13893,7 @@ const level = {
|
||||
setPos(a, b);
|
||||
freeze(a);
|
||||
};
|
||||
const makeLore = (x, t) => simulation.makeTextLog(`<h2 style='color: #f00; display: inline-block'>${name}:</h2> <h3 style='display: inline-block'>${x}</h3>`, t);
|
||||
const makeLore = (x, t) => simulation.inGameConsole(`<h2 style='color: #f00; display: inline-block'>${name}:</h2> <h3 style='display: inline-block'>${x}</h3>`, t);
|
||||
level.custom = () => {
|
||||
// All the logic gets handled here. How nice!
|
||||
for (const i in LogicHandler) {
|
||||
@@ -13924,7 +13922,7 @@ const level = {
|
||||
};
|
||||
},
|
||||
dripp() {
|
||||
simulation.makeTextLog(`<strong>dripp</strong> by <span class='color-var'>M. B.</span>`);
|
||||
simulation.inGameConsole(`<strong>dripp</strong> by <span class='color-var'>M. B.</span>`);
|
||||
|
||||
const door = level.door(780, -350, 15, 400, 265);
|
||||
const buttonDoor = level.button(420, -10);
|
||||
@@ -14119,7 +14117,7 @@ const level = {
|
||||
},
|
||||
biohazard() {
|
||||
// MAP BY INOOBBOI AND THESHWARMA
|
||||
simulation.makeTextLog(`<strong>biohazard</strong> by <span class='color-var'>INOOBBOI</span> and <span class='color-var'>THESHWARMA</span>`);
|
||||
simulation.inGameConsole(`<strong>biohazard</strong> by <span class='color-var'>INOOBBOI</span> and <span class='color-var'>THESHWARMA</span>`);
|
||||
|
||||
// set here for the cutscene later
|
||||
level.setPosToSpawn(-2800, -150)
|
||||
@@ -15266,7 +15264,7 @@ const level = {
|
||||
anotherBoss(0, 0) //will only spawn historyBoss if there is an additional boss
|
||||
},
|
||||
stereoMadness() {
|
||||
simulation.makeTextLog(`<strong>stereoMadness</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>stereoMadness</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
let totalCoin = 0;
|
||||
const hunter = function (x, y, radius = 30) { //doesn't stop chasing until past 105000
|
||||
mobs.spawn(x, y, 6, radius, "black");
|
||||
@@ -15280,7 +15278,7 @@ const level = {
|
||||
me.memory = Infinity;
|
||||
me.seeAtDistance2 = Infinity;
|
||||
Matter.Body.setDensity(me, 1)
|
||||
simulation.makeTextLog(`<b style="color: #3498DB;">Ω:</b><em style="color: #141414;"><b> Intruder Detected</b></em>`);
|
||||
simulation.inGameConsole(`<b style="color: #3498DB;">Ω:</b><em style="color: #141414;"><b> Intruder Detected</b></em>`);
|
||||
me.boost = 10;
|
||||
me.do = function () {
|
||||
if (me.boost == 1 && m.fieldMode == 3 || m.fieldMode == 9 && me.boost == 1) {
|
||||
@@ -15463,7 +15461,7 @@ const level = {
|
||||
innerBar.style.backgroundColor = m.eyeFillColor;
|
||||
}
|
||||
if (m.pos.x > 25360 && textlogOne == 0) {
|
||||
simulation.makeTextLog(`<div><em>A stong force pushes you forward...</em></div>`)
|
||||
simulation.inGameConsole(`<div><em>A stong force pushes you forward...</em></div>`)
|
||||
textlogOne++;
|
||||
}
|
||||
if (m.pos.x < -3000) {
|
||||
@@ -15473,12 +15471,12 @@ const level = {
|
||||
});
|
||||
|
||||
if (textlogTwo == 0)
|
||||
simulation.makeTextLog(`<div><em>A strong force pushes you away...</em></div>`);
|
||||
simulation.inGameConsole(`<div><em>A strong force pushes you away...</em></div>`);
|
||||
textlogTwo++;
|
||||
}
|
||||
if (m.pos.y > 1055) {
|
||||
Matter.Body.setPosition(player, { x: 0, y: -150 });
|
||||
simulation.makeTextLog(`<div><em>There is nowhere to run...</em></div>`);
|
||||
simulation.inGameConsole(`<div><em>There is nowhere to run...</em></div>`);
|
||||
m.damage(0.1 * simulation.difficultyMode);
|
||||
}
|
||||
if (m.alive == false && barThere == true) {
|
||||
@@ -16080,7 +16078,7 @@ const level = {
|
||||
}
|
||||
document.body.style.transitionDuration = "0ms";
|
||||
document.body.style.backgroundColor = "#696969";
|
||||
simulation.makeTextLog(`<div><em>You have earned: </em><b>` + Math.min(3, totalCoin) + `</b><em> tech</em></div>`)
|
||||
simulation.inGameConsole(`<div><em>You have earned: </em><b>` + Math.min(3, totalCoin) + `</b><em> tech</em></div>`)
|
||||
if (barThere == true) { //only runs once
|
||||
document.body.removeChild(bar);
|
||||
for (let i = 0, len = Math.min(3, totalCoin); i < len; i++) powerUps.directSpawn(player.position.x, player.position.y, "tech");
|
||||
@@ -16846,7 +16844,7 @@ const level = {
|
||||
hunter(0, -1000)
|
||||
},
|
||||
yingYang() {
|
||||
simulation.makeTextLog(`<strong>yingYang</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>yingYang</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
|
||||
let destroyed = false;
|
||||
const lock = level.door(425, -1400, 50, 300, 300);
|
||||
@@ -17198,7 +17196,7 @@ const level = {
|
||||
powerUps.addResearchToLevel()
|
||||
},
|
||||
staircase() {
|
||||
simulation.makeTextLog(`<strong>staircase</strong> by <span class='color-var'>ryanbear</span>`);
|
||||
simulation.inGameConsole(`<strong>staircase</strong> by <span class='color-var'>ryanbear</span>`);
|
||||
|
||||
level.custom = () => {
|
||||
level.exit.drawAndCheck();
|
||||
@@ -17286,7 +17284,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
fortress() {
|
||||
simulation.makeTextLog(`<strong>fortress</strong> by <span class='color-var'>Desboot</span>`);
|
||||
simulation.inGameConsole(`<strong>fortress</strong> by <span class='color-var'>Desboot</span>`);
|
||||
const boost1 = level.boost(3600, -250, 1000)
|
||||
const boost2 = level.boost(60, -604, 1000)
|
||||
const boost3 = level.boost(2160, -1260, 1000)
|
||||
@@ -17427,7 +17425,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
commandeer() {
|
||||
simulation.makeTextLog(`<strong>commandeer</strong> by <span class='color-var'>Desboot</span>`);
|
||||
simulation.inGameConsole(`<strong>commandeer</strong> by <span class='color-var'>Desboot</span>`);
|
||||
|
||||
let waterFallWidth = 400
|
||||
let waterFallX = 15900
|
||||
@@ -18030,7 +18028,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
clock() {
|
||||
simulation.makeTextLog(`<strong>clock</strong> by <span class='color-var'>Cornbread 2100</span>`);
|
||||
simulation.inGameConsole(`<strong>clock</strong> by <span class='color-var'>Cornbread 2100</span>`);
|
||||
|
||||
function drawBackgroundGear(x, y, r1, r2, rot, color, speed, numTeeth = 5, toothWidth = 75, linew = 2) {
|
||||
var vertices = getGearVertices(x, y, r1, r2, numTeeth, simulation.cycle * speed + rot, toothWidth / 100);
|
||||
@@ -19768,7 +19766,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
buttonbutton() {
|
||||
simulation.makeTextLog(`<strong>buttonbutton</strong> by <span class='color-var'>||Destabilized E||</span>`);
|
||||
simulation.inGameConsole(`<strong>buttonbutton</strong> by <span class='color-var'>||Destabilized E||</span>`);
|
||||
const mover = level.mover(1425, -1949, 600, 25); //x,y,width.height,VxGoal,force
|
||||
|
||||
let portal
|
||||
@@ -19875,7 +19873,7 @@ const level = {
|
||||
spawn.randomLevelBoss(1840, 675)
|
||||
},
|
||||
movers() {
|
||||
simulation.makeTextLog(`<strong>movers</strong> by <span class='color-var'>ryanbear</span>`);
|
||||
simulation.inGameConsole(`<strong>movers</strong> by <span class='color-var'>ryanbear</span>`);
|
||||
level.custom = () => {
|
||||
level.exit.drawAndCheck();
|
||||
level.enter.draw();
|
||||
@@ -20028,7 +20026,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
downpour() {
|
||||
simulation.makeTextLog(`<strong>Downpour</strong> by <span class='color-var'>DesBoot</span>`);
|
||||
simulation.inGameConsole(`<strong>Downpour</strong> by <span class='color-var'>DesBoot</span>`);
|
||||
let mobsspawned = 0
|
||||
const laser = level.hazard(7492, -2612, 10, 500, 0.3) //laserintro
|
||||
|
||||
@@ -20063,7 +20061,7 @@ const level = {
|
||||
// color.map = "#444" //custom map color
|
||||
|
||||
|
||||
//simulation.makeTextLog(stopcycle)
|
||||
//simulation.inGameConsole(stopcycle)
|
||||
level.custom = () => {
|
||||
do {
|
||||
|
||||
@@ -20090,17 +20088,17 @@ const level = {
|
||||
// }
|
||||
// if (rainCount > 12) {
|
||||
// rainCount = 1
|
||||
// simulation.makeTextLog(rainCount)
|
||||
// simulation.inGameConsole(rainCount)
|
||||
|
||||
// } else {
|
||||
// rainCount = rainCount + 1
|
||||
// simulation.makeTextLog(rainCount)
|
||||
// simulation.inGameConsole(rainCount)
|
||||
// }
|
||||
} while (Math.random() < 0.8);
|
||||
//simulation.makeTextLog(stopcycle)
|
||||
//simulation.makeTextLog(m.cycle)
|
||||
//simulation.inGameConsole(stopcycle)
|
||||
//simulation.inGameConsole(m.cycle)
|
||||
// ctx.fillStyle = "rgba(228,255,0,0.8)"
|
||||
// //simulation.makeTextLog(stopcycle)
|
||||
// //simulation.inGameConsole(stopcycle)
|
||||
// ctx.fillRect(50.4, -1210.0, 100, 100)
|
||||
// stopcycle = m.cycle + Math.random * 600;
|
||||
//stopcycle = m.cycles + Math.random * 600
|
||||
@@ -22895,7 +22893,7 @@ const level = {
|
||||
Object.assign(spawn, obj); //ez
|
||||
},
|
||||
superNgonBros() {
|
||||
simulation.makeTextLog(`<strong>Super N-gon Bros</strong> by <span class='color-var'>DesBoot</span>`);
|
||||
simulation.inGameConsole(`<strong>Super N-gon Bros</strong> by <span class='color-var'>DesBoot</span>`);
|
||||
|
||||
let bowserKilled = 0
|
||||
let flagY = -750
|
||||
@@ -23019,19 +23017,19 @@ const level = {
|
||||
me.onDeath = function () {
|
||||
if (Math.random() < 0.1) {
|
||||
spawn.randomSmallMob(me.position.x, me.position.y - 75);
|
||||
simulation.makeTextLog('mob')
|
||||
simulation.inGameConsole('mob')
|
||||
} else {
|
||||
if (Math.random() < 0.07) {
|
||||
powerUps.spawn(me.position.x, me.position.y + (75 * (player.velocity.y / Math.abs(player.velocity.y))), "tech", true);
|
||||
simulation.makeTextLog('tech')
|
||||
simulation.inGameConsole('tech')
|
||||
} else {
|
||||
if (Math.random() < 0.4) {
|
||||
powerUps.spawn(me.position.x, me.position.y + (75 * (player.velocity.y / Math.abs(player.velocity.y))), "heal", true);
|
||||
simulation.makeTextLog('heal')
|
||||
simulation.inGameConsole('heal')
|
||||
} else {
|
||||
//if (Math.random() < 0.8){
|
||||
powerUps.spawn(me.position.x, me.position.y + (75 * (player.velocity.y / Math.abs(player.velocity.y))), "ammo", true);
|
||||
simulation.makeTextLog('ammo')
|
||||
simulation.inGameConsole('ammo')
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -23079,7 +23077,7 @@ const level = {
|
||||
firstElevatorY -= 5
|
||||
}
|
||||
|
||||
//simulation.makeTextLog(firstElevatorY)
|
||||
//simulation.inGameConsole(firstElevatorY)
|
||||
elevator1.move();
|
||||
elevator2.move();
|
||||
if (player.position.x > 0 && player.position.y < -9000 && player.position.y > -10000) {
|
||||
@@ -23095,7 +23093,7 @@ const level = {
|
||||
portal[3].query()
|
||||
portal2[2].query()
|
||||
portal2[3].query()
|
||||
//simulation.makeTextLog(firstBlockBroken)
|
||||
//simulation.inGameConsole(firstBlockBroken)
|
||||
level.exit.drawAndCheck();
|
||||
if (player.position.x > 4100 && secondMobsReached == 0) {
|
||||
secondMobsSpawned = 1
|
||||
@@ -23138,7 +23136,7 @@ const level = {
|
||||
level.enter.draw();
|
||||
if (finalRoomReached == 0 && player.position.x > 21150) {
|
||||
finalRoomReached = 1
|
||||
simulation.makeTextLog('Thank you M, but our techs are in another castle!')
|
||||
simulation.inGameConsole('Thank you M, but our techs are in another castle!')
|
||||
}
|
||||
//mobs
|
||||
if (firstMobsSpawned == 1 && firstMobsReached == 0) {
|
||||
@@ -23414,7 +23412,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
underpass() {
|
||||
simulation.makeTextLog(`<strong>underpass</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>underpass</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
|
||||
let key = false;
|
||||
const door = level.door(2650, -825, 50, 250, 250, 10);
|
||||
@@ -26295,7 +26293,7 @@ const level = {
|
||||
},
|
||||
cantilever() { // made by Eclipse#7932 on discord, (TheSpudguy)(@PurpleSunsetGames on github)
|
||||
// simulation.enableConstructMode();
|
||||
simulation.makeTextLog(`<strong>underpass</strong> by <span class='color-var'>Eclipse#7932</span>`);
|
||||
simulation.inGameConsole(`<strong>underpass</strong> by <span class='color-var'>Eclipse#7932</span>`);
|
||||
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
level.exit.x = 5500;
|
||||
@@ -26358,7 +26356,7 @@ const level = {
|
||||
powerUps.addResearchToLevel(); //needs to run after mobs are spawned
|
||||
},
|
||||
tlinat() { // _Destined_ formerly Richard0820#2652
|
||||
simulation.makeTextLog(`<strong>tlinat</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>tlinat</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.fallHeight = 1 / 0, level.setPosToSpawn(0, -1e3), level.exit.x = 5100, level.exit.y = 3770, spawn.mapRect(level.enter.x, level.enter.y + 20, 100, 20), spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 20), level.defaultZoom = 3000, simulation.zoomTransition(level.defaultZoom), document.body.style.backgroundColor = "#d8dadf";
|
||||
let e = 0,
|
||||
t = 0;
|
||||
@@ -26498,7 +26496,7 @@ const level = {
|
||||
n(o[l], e + 250 * l - Math.abs(1.5 * e), t)
|
||||
}
|
||||
}
|
||||
simulation.makeTextLog(`<img src="https://raw.githubusercontent.com/Whyisthisnotavalable/image-yy/main/Hotpot-removed.png" width="100" height="100" style="background-image: radial-gradient(circle, gray, black, transparent)"><br>Look up<br><em>Walk right to tp to maze</em><br><b>Exit is at the bottom left</b>`), Matter.Body.scale(player.parts[3], 2, 2), level.custom = () => {
|
||||
simulation.inGameConsole(`<img src="https://raw.githubusercontent.com/Whyisthisnotavalable/image-yy/main/Hotpot-removed.png" width="100" height="100" style="background-image: radial-gradient(circle, gray, black, transparent)"><br>Look up<br><em>Walk right to tp to maze</em><br><b>Exit is at the bottom left</b>`), Matter.Body.scale(player.parts[3], 2, 2), level.custom = () => {
|
||||
if (level.exit.drawAndCheck(), level.enter.draw(), player.position.y > 1e5 && Matter.Body.setPosition(player, {
|
||||
x: 5100,
|
||||
y: -5925
|
||||
@@ -26508,7 +26506,7 @@ const level = {
|
||||
y: -5925
|
||||
}), e++;
|
||||
for (let e = 0; e < map.length; e++) Math.random() < .75 && ghoster(map[e].position.x, map[e].position.y);
|
||||
simulation.makeTextLog("Watch out for <b>ghosters</b><br>Peace ✌️")
|
||||
simulation.inGameConsole("Watch out for <b>ghosters</b><br>Peace ✌️")
|
||||
}
|
||||
player.position.x > level.exit.x && player.position.x < level.exit.x + 100 && player.position.y > level.exit.y - 150 && player.position.y < level.exit.y - 0 && player.velocity.y < .15 && 0 == t && (t++, Matter.Body.scale(player.parts[3], .5, .5))
|
||||
}, level.customTopLayer = () => {
|
||||
@@ -26581,7 +26579,7 @@ const level = {
|
||||
},
|
||||
ruins() { // by SiddhUPe
|
||||
// simulation.enableConstructMode()
|
||||
simulation.makeTextLog(`<strong>ruins</strong> by <span class='color-var'>SiddhUPe</span>`);
|
||||
simulation.inGameConsole(`<strong>ruins</strong> by <span class='color-var'>SiddhUPe</span>`);
|
||||
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
level.exit.x = 19531;
|
||||
@@ -27662,7 +27660,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
ace() {
|
||||
simulation.makeTextLog(`<strong>ace</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>ace</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
let isDestroyed = false;
|
||||
const ace = {
|
||||
spawnOrbitals(who, radius, chance = Math.min(0.25 + simulation.difficulty * 0.005)) {
|
||||
@@ -28935,7 +28933,7 @@ const level = {
|
||||
}
|
||||
},
|
||||
crimsonTowers() {
|
||||
simulation.makeTextLog(`crimsonTowers by Richard0820. Thank you desboot for the video: <a href="https://www.youtube.com/watch?v=hkdY0mDF2SY&feature=youtu.be&ab_channel=DesBoot">Source</a>`)
|
||||
simulation.inGameConsole(`crimsonTowers by Richard0820. Thank you desboot for the video: <a href="https://www.youtube.com/watch?v=hkdY0mDF2SY&feature=youtu.be&ab_channel=DesBoot">Source</a>`)
|
||||
const ace = {
|
||||
spawnOrbitals(who, radius, chance = Math.min(0.25 + simulation.difficulty * 0.005)) {
|
||||
if (Math.random() < chance) {
|
||||
@@ -30070,8 +30068,8 @@ const level = {
|
||||
level.exit.x = map[272].position.x;
|
||||
},
|
||||
LaunchSite() {
|
||||
simulation.makeTextLog(`<strong>Launch Site</strong> by <span class='color-var'>Des Boot</span>`);
|
||||
simulation.makeTextLog(`The rain stopped...`);
|
||||
simulation.inGameConsole(`<strong>Launch Site</strong> by <span class='color-var'>Des Boot</span>`);
|
||||
simulation.inGameConsole(`The rain stopped...`);
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
const elevatortoggle = level.toggle(13650, 3000)
|
||||
let newMobsSpawned = false;
|
||||
@@ -30486,7 +30484,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
shipwreck() {
|
||||
simulation.makeTextLog(`<strong>shipwreck</strong> by <span class='color-var'>3xionDev</span>`);
|
||||
simulation.inGameConsole(`<strong>shipwreck</strong> by <span class='color-var'>3xionDev</span>`);
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
level.exit.x = 1500;
|
||||
level.exit.y = -1875;
|
||||
@@ -30800,7 +30798,7 @@ const level = {
|
||||
level.customTopLayer = () => { };
|
||||
},
|
||||
unchartedCave() {
|
||||
simulation.makeTextLog(`<strong>unchartedCave</strong> by <span class='color-var'>3xionDev</span>`);
|
||||
simulation.inGameConsole(`<strong>unchartedCave</strong> by <span class='color-var'>3xionDev</span>`);
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
level.exit.x = 20985;
|
||||
level.exit.y = 2816;
|
||||
@@ -31211,7 +31209,7 @@ const level = {
|
||||
level.customTopLayer = () => { };
|
||||
},
|
||||
dojo() { // By weird_pusheen
|
||||
simulation.makeTextLog(`<strong>dojo</strong> by <span class='color-var'>werid_pusheen</span>, fixed by <span class='color-var'>Cornbread 2100</span>`)
|
||||
simulation.inGameConsole(`<strong>dojo</strong> by <span class='color-var'>werid_pusheen</span>, fixed by <span class='color-var'>Cornbread 2100</span>`)
|
||||
const vanishes = [];
|
||||
const smoofes = [];
|
||||
const leftRotor = level.rotor(-550, 900, 950, 25);
|
||||
@@ -31661,7 +31659,7 @@ const level = {
|
||||
powerUps.addResearchToLevel() //needs to run after mobs are spawned
|
||||
},
|
||||
arena() {
|
||||
simulation.makeTextLog(`<strong>arena</strong> by <span class='color-var'>Whyisthisnotavalable</span>`)
|
||||
simulation.inGameConsole(`<strong>arena</strong> by <span class='color-var'>Whyisthisnotavalable</span>`)
|
||||
let genisis, genisisJumpSensor, genisisBody, genisisHead, genisisHeadSensor, genisisBodySensor;
|
||||
let control = { left: false, right: false, up: false, down: false };
|
||||
const g = {
|
||||
@@ -32235,7 +32233,7 @@ const level = {
|
||||
if (tech.isCollisionRealitySwitch && g.alive) {
|
||||
g.switchWorlds()
|
||||
simulation.trails()
|
||||
simulation.makeTextLog(`simulation.amplitude <span class='color-symbol'>=</span> ${Math.random()}`);
|
||||
simulation.inGameConsole(`simulation.amplitude <span class='color-symbol'>=</span> ${Math.random()}`);
|
||||
}
|
||||
if (tech.isPiezo) g.energy += 20.48;
|
||||
if (tech.isCouplingNoHit && g.coupling > 0) {
|
||||
@@ -32706,10 +32704,10 @@ const level = {
|
||||
);
|
||||
b.guns = gunArray;
|
||||
} else {
|
||||
simulation.makeTextLog(`Thank you for using my sword mod<br>I'll save you the trouble of killing genisis<br><div style="font-family: monospace;">g.<span style="color: crimson;">damage</span>(Infinity)</div>`);
|
||||
simulation.inGameConsole(`Thank you for using my sword mod<br>I'll save you the trouble of killing genisis<br><div style="font-family: monospace;">g.<span style="color: crimson;">damage</span>(Infinity)</div>`);
|
||||
g.damage(Infinity);
|
||||
}
|
||||
simulation.makeTextLog(`<strong>arena</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole(`<strong>arena</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
let index = 0;
|
||||
let index2 = 0;
|
||||
let { sword: sword, bladeSegments: bladeSegments } = createSword();
|
||||
@@ -32898,7 +32896,7 @@ const level = {
|
||||
}
|
||||
}
|
||||
index2++;
|
||||
setTimeout(() => { simulation.makeTextLog(`If you want to keep this sword, visit <a href="https://github.com/Whyisthisnotavalable/n-scythe">https://github.com/Whyisthisnotavalable/n-scythe</a>. The sword is there.`) }, 1000)
|
||||
setTimeout(() => { simulation.inGameConsole(`If you want to keep this sword, visit <a href="https://github.com/Whyisthisnotavalable/n-scythe">https://github.com/Whyisthisnotavalable/n-scythe</a>. The sword is there.`) }, 1000)
|
||||
}
|
||||
for (let i = 0; i < bladeSegments.length; i++) {
|
||||
const blade = bladeSegments[i];
|
||||
@@ -33464,9 +33462,9 @@ const level = {
|
||||
}
|
||||
},
|
||||
soft() {
|
||||
simulation.makeTextLog(`<img src="https://raw.githubusercontent.com/Whyisthisnotavalable/image-yy/main/Hotpot-removed.png" width="100" height="100" style="background-image: radial-gradient(circle, gray, black, transparent)">`);
|
||||
simulation.makeTextLog(`<strong>soft</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.makeTextLog("<em>The lasers deal less damage the higher level you are</em>")
|
||||
simulation.inGameConsole(`<img src="https://raw.githubusercontent.com/Whyisthisnotavalable/image-yy/main/Hotpot-removed.png" width="100" height="100" style="background-image: radial-gradient(circle, gray, black, transparent)">`);
|
||||
simulation.inGameConsole(`<strong>soft</strong> by <span class='color-var'>Richard0820</span>`);
|
||||
simulation.inGameConsole("<em>The lasers deal less damage the higher level you are</em>")
|
||||
const portals = [];
|
||||
portals.push(level.portal({
|
||||
x: -1525,
|
||||
@@ -33943,7 +33941,7 @@ const level = {
|
||||
soft.annihilate(clothArray[0]);
|
||||
clothArray.splice(0, 1);
|
||||
}, 1000); //prevents bugs
|
||||
simulation.makeTextLog("Couldn't be so simple, could it?", 2000 * Math.random());
|
||||
simulation.inGameConsole("Couldn't be so simple, could it?", 2000 * Math.random());
|
||||
index1++;
|
||||
}
|
||||
};
|
||||
@@ -34021,10 +34019,10 @@ const level = {
|
||||
},
|
||||
flappyGon() { //community map by digin
|
||||
level.announceMobTypes();
|
||||
simulation.makeTextLog(`<strong>flappy n-gon</strong> by <span style="font-weight: bold;color: purple;">Digin</span>`);
|
||||
setTimeout(() => { simulation.makeTextLog("<b>gravity</b> is a <b>choice</b>"); }, 1000);
|
||||
setTimeout(() => { simulation.makeTextLog("everyone will fly"); }, 2000);
|
||||
setTimeout(() => { simulation.makeTextLog("<b>jump from the post and find out</b>"); }, 3000);
|
||||
simulation.inGameConsole(`<strong>flappy n-gon</strong> by <span style="font-weight: bold;color: purple;">Digin</span>`);
|
||||
setTimeout(() => { simulation.inGameConsole("<b>gravity</b> is a <b>choice</b>"); }, 1000);
|
||||
setTimeout(() => { simulation.inGameConsole("everyone will fly"); }, 2000);
|
||||
setTimeout(() => { simulation.inGameConsole("<b>jump from the post and find out</b>"); }, 3000);
|
||||
level.setPosToSpawn(0, -50); //normal spawn
|
||||
level.exit.x = 8600;
|
||||
level.exit.y = -1100;
|
||||
@@ -34100,9 +34098,9 @@ const level = {
|
||||
},
|
||||
rings() {
|
||||
level.announceMobTypes();
|
||||
simulation.makeTextLog(`<strong>rings</strong> by <span style="font-weight: bold;color: purple;">ThatLittleFrog</span>`);
|
||||
simulation.inGameConsole(`<strong>rings</strong> by <span style="font-weight: bold;color: purple;">ThatLittleFrog</span>`);
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog("<b>go up</b>");
|
||||
simulation.inGameConsole("<b>go up</b>");
|
||||
}, 2000);
|
||||
level.setPosToSpawn(0, -2000); // spawn high up so you can go to the bottom of the lowest ring without tripping the too-low reset
|
||||
level.exit.x = 0;
|
||||
@@ -34213,7 +34211,7 @@ const level = {
|
||||
powerUps.addResearchToLevel();
|
||||
},
|
||||
trial() { // trial, collab between Cirryn and Tarantula Hawk
|
||||
simulation.makeTextLog(`<strong>trial</strong> by <span class='color-var'>Cirryn and Tarantula Hawk</span>`);
|
||||
simulation.inGameConsole(`<strong>trial</strong> by <span class='color-var'>Cirryn and Tarantula Hawk</span>`);
|
||||
level.setPosToSpawn(0, -50);
|
||||
level.exit.x = 4150;
|
||||
level.exit.y = -30;
|
||||
@@ -34324,40 +34322,40 @@ const level = {
|
||||
door.draw();
|
||||
if (!button.isUp && !didTrialBegin) {
|
||||
didTrialBegin = true;
|
||||
simulation.makeTextLog('<strong>The Trial has begun.</strong>');
|
||||
simulation.inGameConsole('<strong>The Trial has begun.</strong>');
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">first wave (domitable)</span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">first wave (domitable)</span>');
|
||||
wave(randomWave(2 + simulation.difficulty * 0.1, spawn.fullPickList));
|
||||
}, 3000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">second wave (domitable)</span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">second wave (domitable)</span>');
|
||||
wave(randomWave(2 + simulation.difficulty * 0.1, spawn.fullPickList));
|
||||
}, 13000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">third wave <strong>(indomitable)</strong></span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">third wave <strong>(indomitable)</strong></span>');
|
||||
wave(randomWave(4, ["assassin"]));
|
||||
}, 23000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">fourth wave (domitable)</span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">fourth wave (domitable)</span>');
|
||||
wave(randomWave(4 + simulation.difficulty / 2, spawn.fullPickList));
|
||||
}, 39000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">fifth wave (domitable)</span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">fifth wave (domitable)</span>');
|
||||
wave(randomWave(4 + simulation.difficulty / 2, spawn.fullPickList));
|
||||
}, 49000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: purple;">sixth wave <strong>(indomitable)</strong></span>');
|
||||
simulation.inGameConsole('<span style="color: purple;">sixth wave <strong>(indomitable)</strong></span>');
|
||||
wave(randomWave(7, ["mercenary"]));
|
||||
}, 59000);
|
||||
|
||||
setTimeout(() => {
|
||||
simulation.makeTextLog('<span style="color: red;">seventh wave <strong>(boss)</strong></span>');
|
||||
simulation.inGameConsole('<span style="color: red;">seventh wave <strong>(boss)</strong></span>');
|
||||
spawn.randomLevelBoss(700, -1000);
|
||||
var mainBoss = mob[mob.length - 1];
|
||||
mainBoss.oldOnDeath = mainBoss.onDeath;
|
||||
|
||||
Reference in New Issue
Block a user