Added ProEdge Entrance, lock and key. Polished.

This commit is contained in:
Brian Fertig 2025-08-01 18:42:57 -06:00
parent 74f1ac53bb
commit e4c77806ce
15 changed files with 297 additions and 340 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@ -599,10 +599,10 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 66, 67, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 66, 67, 0, 0, 0, 3221225535, 3221225534, 3221225535, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@ -621,10 +621,10 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3221225535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0,

BIN
assets/proedge-enemies.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
assets/proedge-tiles.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 KiB

BIN
assets/sounds/crumple.mp3 Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/sounds/swoosh.mp3 Normal file

Binary file not shown.

Binary file not shown.

View File

@ -15,14 +15,15 @@
},
"NNDungeon.tmx": {
"expandedObjectLayers": [
5,
3
3,
4,
5
],
"scale": 0.5,
"selectedLayer": 3,
"selectedLayer": 1,
"viewCenter": {
"x": 2689,
"y": 2916
"x": 6159,
"y": 644
}
},
"NNDungeon.tmx#99boy-tiles": {
@ -38,19 +39,19 @@
"scale": 0.5,
"selectedLayer": 1,
"viewCenter": {
"x": 1600,
"y": 3201
"x": 1601,
"y": 3202
}
},
"gluch.tmx#gulch-tiles": {
"scaleInDock": 1
},
"gulch.tmx": {
"scale": 0.5,
"selectedLayer": 3,
"scale": 0.25,
"selectedLayer": 1,
"viewCenter": {
"x": 4191,
"y": 920
"x": 4146,
"y": 4180
}
},
"gulch.tmx#99boy-tiles": {
@ -73,14 +74,15 @@
"map.width": 16,
"openFiles": [
"NNDungeon.tmx",
"gulch.tmx"
"gulch.tmx",
"gluch.tmx"
],
"project": "Tile-Project-Legends.tiled-project",
"property.type": "bool",
"recentFiles": [
"NNDungeon.tmx",
"gulch.tmx",
"gluch.tmx"
"gluch.tmx",
"gulch.tmx"
],
"tileset.embedInMap": true,
"tileset.tileSize": {

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
raw/proedge-enemies.psd Normal file

Binary file not shown.

BIN
raw/proedge-tiles.psd Normal file

Binary file not shown.

View File

@ -218,12 +218,16 @@ export class NNBoy extends Phaser.GameObjects.Sprite {
const angle = Phaser.Math.Angle.Between(this.x, this.y, player.x, player.y);
bottle.setVelocity(Math.cos(angle) * this.bottleSpeed, Math.sin(angle) * this.bottleSpeed);
this.scene.physics.world.enable(bottle);
this.scene.sound.play('swoosh');
this.scene.tweens.add({
targets: bottle,
angle: 720,
duration: 2000,
ease: 'Power1',
onComplete: () => {
if (this.scene) {
this.scene.sound.play('glass-break');
}
bottle.destroy();
}
});
@ -244,6 +248,7 @@ export class NNBoy extends Phaser.GameObjects.Sprite {
// Create and fire garbage at 0.5 radians more than the base angle
this.createGarbageProjectile(baseAngle + 0.5);
this.scene.sound.play('crumple');
}
createGarbageProjectile(angle) {

View File

@ -31,15 +31,25 @@ export class Gulch extends Phaser.Scene {
frameWidth: 100,
frameHeight: 100
});
this.load.spritesheet('gulchMap-tiles', 'assets/gulch-tiles.png', {
frameWidth: 100,
frameHeight: 100
});
// Level Music
this.load.audio('gulchMusic', 'assets/music/gulch.mp3');
// Player Sounds
this.load.audio('gunShot', 'assets/sounds/gun-shot.mp3');
this.load.audio('axeThrow', 'assets/sounds/axe.mp3');
this.load.audio('health-pickup', 'assets/sounds/health-pickup.mp3');
this.load.audio('player-damage', 'assets/sounds/player-damage.mp3');
// 99 Boy Sounds
this.load.audio('99boy-defeat-0', 'assets/sounds/zombie-death-1.mp3');
this.load.audio('99boy-defeat-1', 'assets/sounds/zombie-death-2.mp3');
this.load.audio('99boy-defeat-2', 'assets/sounds/zombie-death-3.mp3');
this.load.audio('health-pickup', 'assets/sounds/health-pickup.mp3');
this.load.audio('player-damage', 'assets/sounds/player-damage.mp3');
this.load.audio('crumple', 'assets/sounds/crumple.mp3');
this.load.audio('glass-break', 'assets/sounds/glass-break.mp3');
this.load.audio('swoosh', 'assets/sounds/swoosh.mp3');
}
create() {
@ -140,7 +150,7 @@ export class Gulch extends Phaser.Scene {
enemy.takeDamage(1); // Assuming your NNBoy class has a takeDamage function
});
this.physics.add.collider(this.axes, this.enemies, (axe, enemy) => {
this.physics.add.overlap(this.axes, this.enemies, (axe, enemy) => {
// Handle collision here (e.g., damage the enemy or destroy the bullet)
axe.destroy();
enemy.takeDamage(1); // Assuming your NNBoy class has a takeDamage function
@ -170,6 +180,18 @@ export class Gulch extends Phaser.Scene {
});
}
// Add Protech Lock
if (this.game.globalState.hasInventory('proEdgeLock') === 0) {
this.proEdgeLock = this.physics.add.sprite(4450, 4250, 'gulchMap-tiles', 60);
this.proEdgeLock.setImmovable(true);
this.physics.add.collider(this.player, this.proEdgeLock, (player, lock) => {
if (this.game.globalState.hasInventory('proEdgeKey') > 0) {
this.game.globalState.addToInventory('proEdgeLock', 1);
this.proEdgeLock.destroy();
}
});
}
//this.cameras.main.setScroll(800, 1100);
this.cameras.main.setBounds(0, 3600, 1600, 900);