diff --git a/public/assets/creeps/basic/0.png b/public/assets/creeps/basic/0.png deleted file mode 100644 index 05b90b7..0000000 Binary files a/public/assets/creeps/basic/0.png and /dev/null differ diff --git a/public/assets/creeps/basic/1.png b/public/assets/creeps/basic/1.png deleted file mode 100644 index d978a9a..0000000 Binary files a/public/assets/creeps/basic/1.png and /dev/null differ diff --git a/public/assets/creeps/basic/10.png b/public/assets/creeps/basic/10.png deleted file mode 100644 index 48b4f7d..0000000 Binary files a/public/assets/creeps/basic/10.png and /dev/null differ diff --git a/public/assets/creeps/basic/11.png b/public/assets/creeps/basic/11.png deleted file mode 100644 index d978a9a..0000000 Binary files a/public/assets/creeps/basic/11.png and /dev/null differ diff --git a/public/assets/creeps/basic/2.png b/public/assets/creeps/basic/2.png deleted file mode 100644 index 48b4f7d..0000000 Binary files a/public/assets/creeps/basic/2.png and /dev/null differ diff --git a/public/assets/creeps/basic/3.png b/public/assets/creeps/basic/3.png deleted file mode 100644 index 06a46df..0000000 Binary files a/public/assets/creeps/basic/3.png and /dev/null differ diff --git a/public/assets/creeps/basic/4.png b/public/assets/creeps/basic/4.png deleted file mode 100644 index 139737c..0000000 Binary files a/public/assets/creeps/basic/4.png and /dev/null differ diff --git a/public/assets/creeps/basic/5.png b/public/assets/creeps/basic/5.png deleted file mode 100644 index fac6dd7..0000000 Binary files a/public/assets/creeps/basic/5.png and /dev/null differ diff --git a/public/assets/creeps/basic/6.png b/public/assets/creeps/basic/6.png deleted file mode 100644 index db9bc87..0000000 Binary files a/public/assets/creeps/basic/6.png and /dev/null differ diff --git a/public/assets/creeps/basic/7.png b/public/assets/creeps/basic/7.png deleted file mode 100644 index fac6dd7..0000000 Binary files a/public/assets/creeps/basic/7.png and /dev/null differ diff --git a/public/assets/creeps/basic/8.png b/public/assets/creeps/basic/8.png deleted file mode 100644 index 139737c..0000000 Binary files a/public/assets/creeps/basic/8.png and /dev/null differ diff --git a/public/assets/creeps/basic/9.png b/public/assets/creeps/basic/9.png deleted file mode 100644 index 06a46df..0000000 Binary files a/public/assets/creeps/basic/9.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/0.png b/public/assets/creeps/cloaker/0.png deleted file mode 100644 index bcbc3af..0000000 Binary files a/public/assets/creeps/cloaker/0.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/1.png b/public/assets/creeps/cloaker/1.png deleted file mode 100644 index 200bc9e..0000000 Binary files a/public/assets/creeps/cloaker/1.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/10.png b/public/assets/creeps/cloaker/10.png deleted file mode 100644 index 3df93f8..0000000 Binary files a/public/assets/creeps/cloaker/10.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/11.png b/public/assets/creeps/cloaker/11.png deleted file mode 100644 index 2512c1c..0000000 Binary files a/public/assets/creeps/cloaker/11.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/2.png b/public/assets/creeps/cloaker/2.png deleted file mode 100644 index 5e0d41c..0000000 Binary files a/public/assets/creeps/cloaker/2.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/3.png b/public/assets/creeps/cloaker/3.png deleted file mode 100644 index 779efea..0000000 Binary files a/public/assets/creeps/cloaker/3.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/4.png b/public/assets/creeps/cloaker/4.png deleted file mode 100644 index 95924e0..0000000 Binary files a/public/assets/creeps/cloaker/4.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/5.png b/public/assets/creeps/cloaker/5.png deleted file mode 100644 index 56ce34e..0000000 Binary files a/public/assets/creeps/cloaker/5.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/6.png b/public/assets/creeps/cloaker/6.png deleted file mode 100644 index da52a20..0000000 Binary files a/public/assets/creeps/cloaker/6.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/7.png b/public/assets/creeps/cloaker/7.png deleted file mode 100644 index 4baad15..0000000 Binary files a/public/assets/creeps/cloaker/7.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/8.png b/public/assets/creeps/cloaker/8.png deleted file mode 100644 index 5030dca..0000000 Binary files a/public/assets/creeps/cloaker/8.png and /dev/null differ diff --git a/public/assets/creeps/cloaker/9.png b/public/assets/creeps/cloaker/9.png deleted file mode 100644 index 4ac8690..0000000 Binary files a/public/assets/creeps/cloaker/9.png and /dev/null differ diff --git a/public/assets/creeps/demon/0.png b/public/assets/creeps/demon/0.png deleted file mode 100644 index 4981186..0000000 Binary files a/public/assets/creeps/demon/0.png and /dev/null differ diff --git a/public/assets/creeps/demon/1.png b/public/assets/creeps/demon/1.png deleted file mode 100644 index c082f4d..0000000 Binary files a/public/assets/creeps/demon/1.png and /dev/null differ diff --git a/public/assets/creeps/demon/2.png b/public/assets/creeps/demon/2.png deleted file mode 100644 index 284d170..0000000 Binary files a/public/assets/creeps/demon/2.png and /dev/null differ diff --git a/public/assets/creeps/demon/3.png b/public/assets/creeps/demon/3.png deleted file mode 100644 index 22e9cc8..0000000 Binary files a/public/assets/creeps/demon/3.png and /dev/null differ diff --git a/public/assets/creeps/demon/4.png b/public/assets/creeps/demon/4.png deleted file mode 100644 index 14e592a..0000000 Binary files a/public/assets/creeps/demon/4.png and /dev/null differ diff --git a/public/assets/creeps/demon/5.png b/public/assets/creeps/demon/5.png deleted file mode 100644 index 0590e06..0000000 Binary files a/public/assets/creeps/demon/5.png and /dev/null differ diff --git a/public/assets/creeps/demon/6.png b/public/assets/creeps/demon/6.png deleted file mode 100644 index d59ee3e..0000000 Binary files a/public/assets/creeps/demon/6.png and /dev/null differ diff --git a/public/assets/creeps/demon/7.png b/public/assets/creeps/demon/7.png deleted file mode 100644 index f40d8ab..0000000 Binary files a/public/assets/creeps/demon/7.png and /dev/null differ diff --git a/public/assets/creeps/demon/spritesheet.png b/public/assets/creeps/demon/spritesheet.png new file mode 100644 index 0000000..7e85eeb Binary files /dev/null and b/public/assets/creeps/demon/spritesheet.png differ diff --git a/public/assets/creeps/hood/spritesheet.png b/public/assets/creeps/hood/spritesheet.png new file mode 100644 index 0000000..0ed174f Binary files /dev/null and b/public/assets/creeps/hood/spritesheet.png differ diff --git a/public/assets/creeps/maker/0.png b/public/assets/creeps/maker/0.png deleted file mode 100644 index 042a582..0000000 Binary files a/public/assets/creeps/maker/0.png and /dev/null differ diff --git a/public/assets/creeps/maker/1.png b/public/assets/creeps/maker/1.png deleted file mode 100644 index 042a582..0000000 Binary files a/public/assets/creeps/maker/1.png and /dev/null differ diff --git a/public/assets/creeps/maker/10.png b/public/assets/creeps/maker/10.png deleted file mode 100644 index 55fa573..0000000 Binary files a/public/assets/creeps/maker/10.png and /dev/null differ diff --git a/public/assets/creeps/maker/2.png b/public/assets/creeps/maker/2.png deleted file mode 100644 index 55fa573..0000000 Binary files a/public/assets/creeps/maker/2.png and /dev/null differ diff --git a/public/assets/creeps/maker/3.png b/public/assets/creeps/maker/3.png deleted file mode 100644 index 59275bc..0000000 Binary files a/public/assets/creeps/maker/3.png and /dev/null differ diff --git a/public/assets/creeps/maker/4.png b/public/assets/creeps/maker/4.png deleted file mode 100644 index e120c5c..0000000 Binary files a/public/assets/creeps/maker/4.png and /dev/null differ diff --git a/public/assets/creeps/maker/5.png b/public/assets/creeps/maker/5.png deleted file mode 100644 index 510cbc1..0000000 Binary files a/public/assets/creeps/maker/5.png and /dev/null differ diff --git a/public/assets/creeps/maker/6.png b/public/assets/creeps/maker/6.png deleted file mode 100644 index 3ded504..0000000 Binary files a/public/assets/creeps/maker/6.png and /dev/null differ diff --git a/public/assets/creeps/maker/7.png b/public/assets/creeps/maker/7.png deleted file mode 100644 index 510cbc1..0000000 Binary files a/public/assets/creeps/maker/7.png and /dev/null differ diff --git a/public/assets/creeps/maker/8.png b/public/assets/creeps/maker/8.png deleted file mode 100644 index e120c5c..0000000 Binary files a/public/assets/creeps/maker/8.png and /dev/null differ diff --git a/public/assets/creeps/maker/9.png b/public/assets/creeps/maker/9.png deleted file mode 100644 index 59275bc..0000000 Binary files a/public/assets/creeps/maker/9.png and /dev/null differ diff --git a/public/assets/creeps/optimize.cjs b/public/assets/creeps/optimize.cjs index 110dbf5..cea9e1c 100644 --- a/public/assets/creeps/optimize.cjs +++ b/public/assets/creeps/optimize.cjs @@ -1,18 +1,20 @@ + const fs = require('fs'); const { exec, execSync } = require('child_process'); let dir = fs.readdirSync('.'); -dir.forEach((item) => { - const itemPath = `./${item}`; - if (fs.lstatSync(itemPath).isDirectory()) { - let subDir = fs.readdirSync(itemPath); - subDir.forEach(async (subItem) => { - const subItemPath = `${itemPath}/${subItem}`; - if (fs.lstatSync(subItemPath).isFile() && subItem.endsWith('.png')) { - const outputFilePath = `${itemPath}/${subItem.replace('.png', 's.png')}`; - await execSync(`convert -resize 128x128 -quality 80 ${subItemPath} ${outputFilePath}`); - fs.unlinkSync(subItemPath); - fs.renameSync(outputFilePath, subItemPath); - } - }); - } -}); +// dir.forEach((item) => { +// const itemPath = `./${item}`; +// if (fs.lstatSync(itemPath).isDirectory()) { +// let subDir = fs.readdirSync(itemPath); +// subDir.forEach(async (subItem) => { +// const subItemPath = `${itemPath}/${subItem}`; +// if (fs.lstatSync(subItemPath).isFile() && subItem.endsWith('.png')) { +// const outputFilePath = `${itemPath}/${subItem.replace('.png', 's.png')}`; +// await execSync(`convert -resize 128x128 -quality 80 ${subItemPath} ${outputFilePath}`); +// fs.unlinkSync(subItemPath); +// fs.renameSync(outputFilePath, subItemPath); +// } +// }); +// } +// }); +// Disabled for now, dont need to optimize assets. diff --git a/public/assets/creeps/pumpkin/spritesheet.png b/public/assets/creeps/pumpkin/spritesheet.png new file mode 100644 index 0000000..1e0a57f Binary files /dev/null and b/public/assets/creeps/pumpkin/spritesheet.png differ diff --git a/public/assets/creeps/quick/0.png b/public/assets/creeps/quick/0.png deleted file mode 100644 index 516c3c1..0000000 Binary files a/public/assets/creeps/quick/0.png and /dev/null differ diff --git a/public/assets/creeps/quick/1.png b/public/assets/creeps/quick/1.png deleted file mode 100644 index 409cd58..0000000 Binary files a/public/assets/creeps/quick/1.png and /dev/null differ diff --git a/public/assets/creeps/quick/2.png b/public/assets/creeps/quick/2.png deleted file mode 100644 index 90d2e95..0000000 Binary files a/public/assets/creeps/quick/2.png and /dev/null differ diff --git a/public/assets/creeps/quick/3.png b/public/assets/creeps/quick/3.png deleted file mode 100644 index 83250d4..0000000 Binary files a/public/assets/creeps/quick/3.png and /dev/null differ diff --git a/public/assets/creeps/quick/4.png b/public/assets/creeps/quick/4.png deleted file mode 100644 index f3f6d65..0000000 Binary files a/public/assets/creeps/quick/4.png and /dev/null differ diff --git a/public/assets/creeps/quick/5.png b/public/assets/creeps/quick/5.png deleted file mode 100644 index 046d3a4..0000000 Binary files a/public/assets/creeps/quick/5.png and /dev/null differ diff --git a/public/assets/creeps/quick/6.png b/public/assets/creeps/quick/6.png deleted file mode 100644 index 8038456..0000000 Binary files a/public/assets/creeps/quick/6.png and /dev/null differ diff --git a/public/assets/creeps/quick/7.png b/public/assets/creeps/quick/7.png deleted file mode 100644 index 65f4bbe..0000000 Binary files a/public/assets/creeps/quick/7.png and /dev/null differ diff --git a/public/assets/creeps/skeleton/spritesheet.png b/public/assets/creeps/skeleton/spritesheet.png new file mode 100644 index 0000000..f011c85 Binary files /dev/null and b/public/assets/creeps/skeleton/spritesheet.png differ diff --git a/public/assets/creeps/tank/0.png b/public/assets/creeps/tank/0.png deleted file mode 100644 index f409430..0000000 Binary files a/public/assets/creeps/tank/0.png and /dev/null differ diff --git a/public/assets/creeps/tank/1.png b/public/assets/creeps/tank/1.png deleted file mode 100644 index 469e13d..0000000 Binary files a/public/assets/creeps/tank/1.png and /dev/null differ diff --git a/public/assets/creeps/tank/10.png b/public/assets/creeps/tank/10.png deleted file mode 100644 index c67f03f..0000000 Binary files a/public/assets/creeps/tank/10.png and /dev/null differ diff --git a/public/assets/creeps/tank/11.png b/public/assets/creeps/tank/11.png deleted file mode 100644 index 469e13d..0000000 Binary files a/public/assets/creeps/tank/11.png and /dev/null differ diff --git a/public/assets/creeps/tank/2.png b/public/assets/creeps/tank/2.png deleted file mode 100644 index c67f03f..0000000 Binary files a/public/assets/creeps/tank/2.png and /dev/null differ diff --git a/public/assets/creeps/tank/3.png b/public/assets/creeps/tank/3.png deleted file mode 100644 index ea50556..0000000 Binary files a/public/assets/creeps/tank/3.png and /dev/null differ diff --git a/public/assets/creeps/tank/4.png b/public/assets/creeps/tank/4.png deleted file mode 100644 index ee42532..0000000 Binary files a/public/assets/creeps/tank/4.png and /dev/null differ diff --git a/public/assets/creeps/tank/5.png b/public/assets/creeps/tank/5.png deleted file mode 100644 index 88404b0..0000000 Binary files a/public/assets/creeps/tank/5.png and /dev/null differ diff --git a/public/assets/creeps/tank/6.png b/public/assets/creeps/tank/6.png deleted file mode 100644 index 1e04a28..0000000 Binary files a/public/assets/creeps/tank/6.png and /dev/null differ diff --git a/public/assets/creeps/tank/7.png b/public/assets/creeps/tank/7.png deleted file mode 100644 index 88404b0..0000000 Binary files a/public/assets/creeps/tank/7.png and /dev/null differ diff --git a/public/assets/creeps/tank/8.png b/public/assets/creeps/tank/8.png deleted file mode 100644 index ee42532..0000000 Binary files a/public/assets/creeps/tank/8.png and /dev/null differ diff --git a/public/assets/creeps/tank/9.png b/public/assets/creeps/tank/9.png deleted file mode 100644 index 6531367..0000000 Binary files a/public/assets/creeps/tank/9.png and /dev/null differ diff --git a/public/assets/creeps/wood/spritesheet.png b/public/assets/creeps/wood/spritesheet.png new file mode 100644 index 0000000..d9e183a Binary files /dev/null and b/public/assets/creeps/wood/spritesheet.png differ diff --git a/public/assets/creeps/zombie/spritesheet.png b/public/assets/creeps/zombie/spritesheet.png new file mode 100644 index 0000000..35e6d09 Binary files /dev/null and b/public/assets/creeps/zombie/spritesheet.png differ diff --git a/public/assets/json/Creeps.json b/public/assets/json/Creeps.json index 90b9153..d1ad5fc 100644 --- a/public/assets/json/Creeps.json +++ b/public/assets/json/Creeps.json @@ -1,6 +1,7 @@ [ { "name": "basic", + "sprite": "wood", "textures": [], "textureArrayLength": 12, "stats": { @@ -18,6 +19,7 @@ }, { "name": "quick", + "sprite": "zombie", "textures": [], "textureArrayLength": 8, "stats": { @@ -35,6 +37,7 @@ }, { "name": "tank", + "sprite": "skeleton", "textures": [], "textureArrayLength": 12, "stats": { @@ -52,6 +55,7 @@ }, { "name": "cloaker", + "sprite": "hood", "textures": [], "textureArrayLength": 12, "stats": { @@ -69,6 +73,7 @@ }, { "name": "demon", + "sprite": "demon", "textures": [], "textureArrayLength": 8, "stats": { @@ -86,6 +91,7 @@ }, { "name": "maker", + "sprite": "pumpkin", "textures": [], "textureArrayLength": 11, "stats": { diff --git a/public/assets/json/Gems.json b/public/assets/json/Gems.json index 61a20af..1ee5897 100644 --- a/public/assets/json/Gems.json +++ b/public/assets/json/Gems.json @@ -1,21 +1,21 @@ [ { "name": "Fire Gem", - "description": "Forged from molten lava, the Fire Gem imbues your tower's attacks and adds 50% extra fire damage. It can be merged with any gem and is common.", + "description": "Forged from molten lava, the Fire Gem imbues your tower's attacks and add extra fire damage. It can be merged with any gem and is common.", "color": "red", "type": "Fire", "totalLevels": 9, "textures": [], "cantCombineWith": [], "specialCombine": [], - "initialGemValue": 100, + "initialGemValue": 50, "genericImprovements": [ { - "damageUp": 2, + "damageUp": 1, "attackSpeedUp": 0, "rangeUp": 0, "timeToLiveUp": 0, - "pierceUp": 1, + "pierceUp": 0, "gemValueUp": 50 }, { @@ -548,7 +548,7 @@ "textures": [], "cantCombineWith": [], "specialCombine": [], - "initialGemValue": 200, + "initialGemValue": 250, "genericImprovements": [ { "damageUp": 0, diff --git a/public/assets/json/Towers.json b/public/assets/json/Towers.json index e69c100..08ea5c7 100644 --- a/public/assets/json/Towers.json +++ b/public/assets/json/Towers.json @@ -64,7 +64,7 @@ "projectile": "blue", "projectileTextures": [], "projectileTexturesArrayLength": 4, - "description": "", + "description": "Doesn't shoot, instead buffs other towers with 50% of its power.", "stats": { "damage": 4, "cooldown": 1000, @@ -83,7 +83,7 @@ "projectile": "white", "projectileTextures": [], "projectileTexturesArrayLength": 5, - "description": "", + "description": "Like a regular tower, just slows down creeps.", "stats": { "damage": 2, "cooldown": 2000, @@ -102,7 +102,7 @@ "projectile": "red", "projectileTextures": [], "projectileTexturesArrayLength": 4, - "description": "If you feel a little circular.", + "description": "Shoots a quick, high pierce rail projectile at creeps.", "stats": { "damage": 2, "cooldown": 2000, @@ -121,7 +121,7 @@ "projectile": "stone", "projectileTextures": [], "projectileTexturesArrayLength": 1, - "description": "If you feel a little circular.", + "description": "Randomly places traps on the track, instead of attacking creeps.", "stats": { "damage": 2, "cooldown": 2000, @@ -140,7 +140,7 @@ "projectile": "red", "projectileTextures": [], "projectileTexturesArrayLength": 4, - "description": "If you feel a little circular.", + "description": "On top of a regular attack, this tower gives creeps a debuff, making them take more damage.", "stats": { "damage": 2, "cooldown": 2000, diff --git a/src/classes/Assets.ts b/src/classes/Assets.ts index 3eede0d..9b708b8 100644 --- a/src/classes/Assets.ts +++ b/src/classes/Assets.ts @@ -165,8 +165,27 @@ export default class GameAssets { for (let idx = 0; idx < this.Creeps.length; idx++) { const creep = this.Creeps[idx]; for (let i = 0; i < creep.textureArrayLength; i++) { - const texture = await this.Load(`./assets/creeps/${creep.name}/${i}.png`); - creep.textures[i] = texture; + const texture = await this.Load(`./assets/creeps/${creep.sprite}/spritesheet.png`); + const spritesheet = new PIXI.Spritesheet(texture, { + frames: { + [`${creep.sprite}_${i}.png`]: { + frame: { x: i * 128, y: 0, w: 128, h: 128 }, + rotated: false, + trimmed: false, + spriteSourceSize: { x: 0, y: 0, w: 128, h: 128 }, + sourceSize: { w: 128, h: 128 }, + }, + }, + meta: { + image: `./assets/creeps/${creep.sprite}/spritesheet.png`, + format: 'RGBA8888', + size: { w: 128 * creep.textureArrayLength, h: 128 }, + scale: '1', + }, + }); + await spritesheet.parse(); + creep.textures[i] = spritesheet.textures[`${creep.sprite}_${i}.png`]; + // creep.textures[i] = texture; } } } diff --git a/src/classes/Definitions.ts b/src/classes/Definitions.ts index 7e64e71..b411dcb 100644 --- a/src/classes/Definitions.ts +++ b/src/classes/Definitions.ts @@ -31,6 +31,7 @@ export type WaveDefinition = { export type CreepDefinition = { name: string; + sprite: string; textures: PIXI.Texture[]; textureArrayLength: number; stats: CreepStatsDefinition; diff --git a/src/scenes/Game.ts b/src/scenes/Game.ts index eba63bb..b208ccf 100644 --- a/src/scenes/Game.ts +++ b/src/scenes/Game.ts @@ -116,13 +116,12 @@ export class GameScene extends Scene { } return; } - if (this.isGameOver) return Engine.NotificationManager.Notify('No more waves.', 'danger'); if (this.roundMode == RoundMode.Misc) return; this.setRoundMode(RoundMode.Combat); this.changeRoundButton.buttonIcon.texture = GameAssets.FastForwardIconTexture; this.events.emit(WaveManagerEvents.NewWave, `${this.currentRound + 1}`); }; - this.MissionStats = new MissionStats(125, 450); + this.MissionStats = new MissionStats(100, 250); this.events.on(GemEvents.TowerPanelSelectGem, (gem, index, tower) => { if (gem == null) { if (!this.MissionStats.checkIfPlayerHasAnyGems())