diff --git a/resources/sprites/nyeve/conquest.png b/resources/sprites/nyeve/conquest.png new file mode 100644 index 000000000..666e55ea2 Binary files /dev/null and b/resources/sprites/nyeve/conquest.png differ diff --git a/resources/sprites/nyeve/firework.png b/resources/sprites/nyeve/firework.png new file mode 100644 index 000000000..7d3a4db53 Binary files /dev/null and b/resources/sprites/nyeve/firework.png differ diff --git a/resources/sprites/nyeve/firework_cyan.png b/resources/sprites/nyeve/firework_cyan.png new file mode 100644 index 000000000..c51990206 Binary files /dev/null and b/resources/sprites/nyeve/firework_cyan.png differ diff --git a/resources/sprites/nyeve/firework_red.png b/resources/sprites/nyeve/firework_red.png new file mode 100644 index 000000000..e1b327756 Binary files /dev/null and b/resources/sprites/nyeve/firework_red.png differ diff --git a/resources/sprites/nyeve/firework_yellow.png b/resources/sprites/nyeve/firework_yellow.png new file mode 100644 index 000000000..9f59e11e7 Binary files /dev/null and b/resources/sprites/nyeve/firework_yellow.png differ diff --git a/src/client/graphics/AnimatedSpriteLoader.ts b/src/client/graphics/AnimatedSpriteLoader.ts index 03e49e0cc..9ee77cdcf 100644 --- a/src/client/graphics/AnimatedSpriteLoader.ts +++ b/src/client/graphics/AnimatedSpriteLoader.ts @@ -5,6 +5,11 @@ import dust from "../../../resources/sprites/dust.png"; import miniExplosion from "../../../resources/sprites/miniExplosion.png"; import miniFire from "../../../resources/sprites/minifire.png"; import nuke from "../../../resources/sprites/nukeExplosion.png"; +import conquestChampagne from "../../../resources/sprites/nyeve/conquest.png"; +import nukeEve from "../../../resources/sprites/nyeve/firework.png"; +import nukeEveCyan from "../../../resources/sprites/nyeve/firework_cyan.png"; +import nukeEveRed from "../../../resources/sprites/nyeve/firework_red.png"; +import nukeEveYellow from "../../../resources/sprites/nyeve/firework_yellow.png"; import SAMExplosion from "../../../resources/sprites/samExplosion.png"; import sinkingShip from "../../../resources/sprites/sinkingShip.png"; import miniSmoke from "../../../resources/sprites/smoke.png"; @@ -135,6 +140,51 @@ const ANIMATED_SPRITE_CONFIG: Partial> = { originX: 10, originY: 16, }, + [FxType.ConquestChampagne]: { + url: conquestChampagne, + frameWidth: 28, + frameCount: 8, + frameDuration: 90, + looping: false, + originX: 14, + originY: 23, + }, + [FxType.FireworkAll]: { + url: nukeEve, + frameWidth: 60, + frameCount: 15, + frameDuration: 90, + looping: false, + originX: 30, + originY: 30, + }, + [FxType.FireworkRed]: { + url: nukeEveRed, + frameWidth: 30, + frameCount: 9, + frameDuration: 100, + looping: false, + originX: 15, + originY: 20, + }, + [FxType.FireworkCyan]: { + url: nukeEveCyan, + frameWidth: 30, + frameCount: 13, + frameDuration: 100, + looping: false, + originX: 15, + originY: 20, + }, + [FxType.FireworkYellow]: { + url: nukeEveYellow, + frameWidth: 30, + frameCount: 15, + frameDuration: 100, + looping: false, + originX: 15, + originY: 20, + }, }; export class AnimatedSpriteLoader { diff --git a/src/client/graphics/fx/ConquestFx.ts b/src/client/graphics/fx/ConquestFx.ts index 7fa8d0690..a55ca77c7 100644 --- a/src/client/graphics/fx/ConquestFx.ts +++ b/src/client/graphics/fx/ConquestFx.ts @@ -25,7 +25,7 @@ export function conquestFxFactory( animatedSpriteLoader, x, y, - FxType.Conquest, + FxType.ConquestChampagne, 2500, ); const fadeAnimation = new FadeFx(swordAnimation, 0.1, 0.6); diff --git a/src/client/graphics/fx/Fx.ts b/src/client/graphics/fx/Fx.ts index d4b206614..37fd4108f 100644 --- a/src/client/graphics/fx/Fx.ts +++ b/src/client/graphics/fx/Fx.ts @@ -16,4 +16,9 @@ export enum FxType { UnderConstruction = "UnderConstruction", Dust = "Dust", Conquest = "Conquest", + FireworkAll = "FireworkAll", + FireworkRed = "FireworkRed", + FireworkYellow = "FireworkYellow", + FireworkCyan = "FireworkCyan", + ConquestChampagne = "ConquestChampagne", } diff --git a/src/client/graphics/fx/NukeFx.ts b/src/client/graphics/fx/NukeFx.ts index 479d68e18..63d657011 100644 --- a/src/client/graphics/fx/NukeFx.ts +++ b/src/client/graphics/fx/NukeFx.ts @@ -55,7 +55,7 @@ function addSpriteInCircle( game.isLand(game.ref(spawnX, spawnY)) ) { const sprite = new FadeFx( - new SpriteFx(animatedSpriteLoader, spawnX, spawnY, type, 6000), + new SpriteFx(animatedSpriteLoader, spawnX, spawnY, type), 0.1, 0.8, ); @@ -79,19 +79,16 @@ export function nukeFxFactory( ): Fx[] { const nukeFx: Fx[] = []; // Explosion animation - nukeFx.push(new SpriteFx(animatedSpriteLoader, x, y, FxType.Nuke)); - // Shockwave animation - nukeFx.push(new ShockwaveFx(x, y, 1500, radius * 1.5)); + nukeFx.push(new SpriteFx(animatedSpriteLoader, x, y, FxType.FireworkAll)); // Ruins and desolation sprites const debrisPlan: Array<{ type: FxType; radiusFactor: number; density: number; }> = [ - { type: FxType.MiniFire, radiusFactor: 1.0, density: 1 / 25 }, - { type: FxType.MiniSmoke, radiusFactor: 1.0, density: 1 / 28 }, - { type: FxType.MiniBigSmoke, radiusFactor: 0.9, density: 1 / 70 }, - { type: FxType.MiniSmokeAndFire, radiusFactor: 0.9, density: 1 / 70 }, + { type: FxType.FireworkRed, radiusFactor: 1.0, density: 1 / 28 }, + { type: FxType.FireworkCyan, radiusFactor: 0.9, density: 1 / 70 }, + { type: FxType.FireworkYellow, radiusFactor: 0.9, density: 1 / 70 }, ]; for (const { type, radiusFactor, density } of debrisPlan) {