User prompt
move diamond counter 200 pixels to the left
User prompt
move diaomnd coutner 200 pixels to the left
User prompt
show diamond count in front of diamond icon
User prompt
instead of diamons text in the top right, use the diamond asset. counter should be inside the diamond
User prompt
Please fix the bug: 'TypeError: diamondCounterTxt.setText is not a function' in or related to this line: 'diamondCounterTxt.setText(diamondCount.toString());' Line Number: 431
User prompt
instead of diamons text in the top right, use the diamond asset
User prompt
replace coing references by diamond
User prompt
add pop effect when diamon spawns moving upwards and then fast downwards
Code edit (1 edits merged)
Please save this source code
User prompt
coins shpeed should be slower than stars
User prompt
coins should increase and dedcrease their size way less
User prompt
coins should increase and decrease their size
User prompt
make backgorund color purple
User prompt
remove bacckground
User prompt
add animation to coin
Code edit (3 edits merged)
Please save this source code
User prompt
make paralax scrolling slower
Code edit (1 edits merged)
Please save this source code
User prompt
make paralax background 10 pixels closer to each other
User prompt
Please fix the bug: 'ReferenceError: background is not defined' in or related to this line: 'background.update();' Line Number: 446
User prompt
add background paralax scrolling from top down
User prompt
Please fix the bug: 'Uncaught Error: The supplied DisplayObject must be a child of the caller' in or related to this line: 'game.addChildAt(ghostFairy, game.getChildIndex(dragNode));' Line Number: 396
User prompt
add border to star hitpoints font
User prompt
make blocks hitpoints font color white
User prompt
move blocks 100 pixels left
/**** 
* Classes
****/ 
// Boss class
var Boss = Container.expand(function () {
	var self = Container.call(this);
	var bossGraphics = self.attachAsset('boss', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 2;
	self.hitpoints = 20; // Boss hitpoints
	self.update = function () {
		// Logic to increase and decrease block sizes
		if (LK.ticks % 120 < 60) {
			self.scale.x += 0.001;
			self.scale.y += 0.001;
		} else {
			self.scale.x -= 0.001;
			self.scale.y -= 0.001;
		}
		// Create and update hitpoints display
		if (!self.hitpointsDisplay) {
			self.hitpointsDisplay = LK.getAsset('powerup', {
				width: self.width,
				height: 20,
				color: 0x90ee90,
				anchorX: 0.5,
				anchorY: 0.5
			});
			self.hitpointsDisplay.y = -self.height / 2 - 20; // Position above the boss
			self.addChild(self.hitpointsDisplay);
		} else {
			self.hitpointsDisplay.width = self.hitpoints / 20 * self.width;
			if (self.hitpoints > 10) {
				self.hitpointsDisplay.color = 0x66cc66; // Less shiny green
			} else if (self.hitpoints > 5) {
				self.hitpointsDisplay.color = 0xffff00; // Yellow
			} else {
				self.hitpointsDisplay.color = 0xff0000; // Red
			}
		}
		// Ensure the boss stays within the top 30% of the screen
		if (self.y < 0.3 * 2732) {
			self.y += self.speed;
		} else {
			self.y = 0.3 * 2732;
		}
		// Add lateral movement
		self.x += self.speed;
		if (self.x < 0 || self.x > 2048) {
			self.speed = -self.speed; // Reverse direction when hitting screen edges
		}
		// Boss shooting logic
		if (LK.ticks % 60 == 0) {
			// Boss shoots every 60 ticks
			var newBullet = new Bullet();
			newBullet.x = self.x;
			newBullet.y = self.y;
			// Calculate direction towards the fairy
			var directionX = fairy.x - self.x;
			var directionY = fairy.y - self.y;
			var distance = Math.sqrt(directionX * directionX + directionY * directionY);
			// Normalize direction
			directionX /= distance;
			directionY /= distance;
			// Set bullet speed towards the fairy
			newBullet.speedX = directionX * 5;
			newBullet.speedY = directionY * 5;
			// Override bullet update function to move towards the fairy
			newBullet.update = function () {
				this.x += this.speedX;
				this.y += this.speedY;
			};
			bullets.push(newBullet);
			game.addChild(newBullet);
		}
	};
});
// Bullet class
var Bullet = Container.expand(function () {
	var self = Container.call(this);
	var bulletGraphics = self.attachAsset('bullet', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = -5; // Default bullet speed, can be overridden
	self.update = function () {
		self.y += self.speed;
	};
});
// Diamond class
var Diamond = Container.expand(function () {
	var self = Container.call(this);
	var diamondGraphics = self.attachAsset('diamond', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 4;
	self.update = function () {
		self.y += self.speed;
		self.rotation += 0.05; // Add rotation animation
		if (LK.ticks % 120 < 60) {
			self.scale.x += 0.002;
			self.scale.y += 0.002;
		} else {
			self.scale.x -= 0.002;
			self.scale.y -= 0.002;
		}
		if (self.y > 2732) {
			self.destroy();
		}
	};
});
// Enemy class
var Enemy = Container.expand(function () {
	var self = Container.call(this);
	var enemyGraphics = self.attachAsset('block', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 3;
	self.hitpoints = 3; // Add hitpoints to enemies
	self.update = function () {
		self.y += self.speed;
		// Logic to increase and decrease block sizes
		if (LK.ticks % 120 < 60) {
			self.scale.x += 0.002;
			self.scale.y += 0.002;
		} else {
			self.scale.x -= 0.002;
			self.scale.y -= 0.002;
		}
		// Create and update hitpoints display
		if (!self.hitpointsDisplay) {
			self.hitpointsDisplay = new Text2(self.hitpoints.toString(), {
				size: 100,
				fill: "#ffffff",
				stroke: "#000000",
				strokeThickness: 5
			});
			self.hitpointsDisplay.anchor.set(0.5, 0.5);
			self.hitpointsDisplay.y = 0;
			self.addChild(self.hitpointsDisplay);
		} else {
			self.hitpointsDisplay.setText(self.hitpoints.toString());
		}
	};
});
//<Assets used in the game will automatically appear here>
// Fairy class
var Fairy = Container.expand(function () {
	var self = Container.call(this);
	var fairyGraphics = self.attachAsset('fairy', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 5;
	self.update = function () {
		// Fairy movement logic
	};
});
// Goblin class
var Goblin = Container.expand(function () {
	var self = Container.call(this);
	var goblinGraphics = self.attachAsset('goblin', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 4;
	self.hitpoints = 5; // Goblin hitpoints
	self.update = function () {
		// Create and update hitpoints display
		if (!self.hitpointsDisplay) {
			self.hitpointsDisplay = LK.getAsset('powerup', {
				width: self.width,
				height: 20,
				color: 0x90ee90,
				anchorX: 0.5,
				anchorY: 0.5
			});
			self.hitpointsDisplay.y = -self.height / 2 - 20; // Position above the goblin
			self.addChild(self.hitpointsDisplay);
		} else {
			self.hitpointsDisplay.width = self.hitpoints / 5 * self.width;
			if (self.hitpoints > 3) {
				self.hitpointsDisplay.color = 0x66cc66; // Less shiny green
			} else if (self.hitpoints > 1) {
				self.hitpointsDisplay.color = 0xffff00; // Yellow
			} else {
				self.hitpointsDisplay.color = 0xff0000; // Red
			}
		}
		// Calculate direction towards the player
		var directionX = fairy.x - self.x;
		var directionY = fairy.y - self.y;
		var distance = Math.sqrt(directionX * directionX + directionY * directionY);
		// Normalize direction
		directionX /= distance;
		directionY /= distance;
		// Apply jumpy movement
		self.x += directionX * self.speed * (Math.random() * 2);
		self.y += directionY * self.speed * (Math.random() * 2);
		// Create and update hitpoints display
		if (!self.hitpointsDisplay) {
			self.hitpointsDisplay = new Text2(self.hitpoints.toString(), {
				size: 100,
				fill: "#ffffff",
				stroke: "#000000",
				strokeThickness: 5
			});
			self.hitpointsDisplay.anchor.set(0.5, 0.5);
			self.hitpointsDisplay.y = 0;
			self.addChild(self.hitpointsDisplay);
		} else {
			self.hitpointsDisplay.width = self.hitpoints / 5 * self.width;
		}
	};
	// Goblin shooting logic
	self.shoot = function () {
		var newBullet = new Bullet();
		newBullet.x = self.x;
		newBullet.y = self.y;
		newBullet.speed = 5; // Goblin bullet speed
		bullets.push(newBullet);
		game.addChild(newBullet);
	};
});
// Powerup class
var Powerup = Container.expand(function () {
	var self = Container.call(this);
	var powerupGraphics = self.attachAsset('powerup', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 3;
	self.update = function () {
		self.y += self.speed;
		if (self.y > 2732) {
			self.destroy();
		}
	};
});
// Star class
var Star = Container.expand(function () {
	var self = Container.call(this);
	var starGraphics = self.attachAsset('star', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.speed = 5;
	self.update = function () {
		self.y += self.speed;
		if (self.y > 2732) {
			self.y = -5;
			self.x = Math.random() * 2048;
		}
	};
});
// UpgradeMenu class
var UpgradeMenu = Container.expand(function () {
	var self = Container.call(this);
	var menuGraphics = self.attachAsset('menu', {
		anchorX: 0.5,
		anchorY: 0.5
	});
	self.visible = false; // Initially hidden
	self.update = function () {
		// Update menu items
	};
});
/**** 
* Initialize Game
****/ 
var game = new LK.Game({
	backgroundColor: 0x800080 //Init game with purple background
});
/**** 
* Game Code
****/ 
// Function to start a new level or replay the previous level
function startNewLevel() {
	waveCount = 0; // Reset wave count
	score = 0; // Reset score
	scoreTxt.setText(score); // Update score text
	coinCount = 0; // Reset coin count
	coinCounterTxt.setText('Coins: ' + coinCount); // Update coin counter text
	// Clear existing enemies and bullets
	for (var i = enemies.length - 1; i >= 0; i--) {
		enemies[i].destroy();
		enemies.splice(i, 1);
	}
	for (var j = bullets.length - 1; j >= 0; j--) {
		bullets[j].destroy();
		bullets.splice(j, 1);
	}
	// Reinitialize game elements
	initGame();
	LK.resumeGame(); // Resume the game
	upgradeMenu.visible = false; // Hide the upgrade menu
}
// Initialize variables
var fairy;
var bullets = [];
var enemies = [];
var scoreTxt;
var score = 0;
var dragNode = null;
var diamondCount = 0; // Initialize diamond counter
var diamondCounterTxt; // Declare diamondCounterTxt variable
var isFairyHeld = false; // Track if the fairy is being held
var waveCount = 0; // Track the wave count
var waveConfig = [{
	enemies: 4,
	hitpoints: [1]
}, {
	enemies: 8,
	hitpoints: [2, 1]
}, {
	enemies: 12,
	hitpoints: [3, 2, 1]
}
// Add more wave configurations as needed
];
// Initialize game elements
function initGame() {
	// Create and position the fairy
	fairy = game.addChild(new Fairy());
	fairy.x = 2048 / 2;
	fairy.y = 2732 - 200;
	// Create score text
	scoreTxt = new Text2('0', {
		size: 150,
		fill: "#ffffff"
	});
	scoreTxt.anchor.set(0.5, 0); // Anchor to the top center
	scoreTxt.x = 2048 / 2; // Position at the top center of the screen
	scoreTxt.y = 20; // Position with a margin from the top
	for (var i = 0; i < 50; i++) {
		var star = game.addChild(new Star());
		star.x = Math.random() * 2048;
		star.y = Math.random() * 2732;
	}
	scoreTxt.anchor.set(0.5, 0);
	// Create coin counter text
	game.addChild(scoreTxt);
	// Create coin counter text
	var diamondCounterContainer = new Container();
	var diamondIcon = LK.getAsset('diamond', {
		anchorX: 1,
		anchorY: 0
	});
	diamondIcon.x = 2048 - 20;
	diamondIcon.y = 20;
	diamondCounterContainer.addChild(diamondIcon);
	diamondCounterTxt = new Text2('0', {
		size: 50,
		fill: "#ffffff"
	});
	diamondCounterTxt.anchor.set(0.5, 0.5);
	diamondCounterTxt.x = diamondIcon.width / 2;
	diamondCounterTxt.y = diamondIcon.height / 2;
	diamondIcon.addChild(diamondCounterTxt);
	game.addChild(diamondCounterContainer);
	// Set up game event listeners
	game.down = function (x, y, obj) {
		dragNode = fairy;
		isFairyHeld = true; // Set isFairyHeld to true when the fairy is held
	};
	game.up = function (x, y, obj) {
		dragNode = null;
		isFairyHeld = false; // Set isFairyHeld to false when the fairy is released
	};
	game.move = handleMove;
	// Update game every tick
	game.update = updateGame;
}
// Handle move events
function handleMove(x, y, obj) {
	if (dragNode) {
		// Check if the fairy is moving to the right
		if (x > dragNode.x) {
			// Mirror the fairy image
			dragNode.scale.x = -1;
		} else {
			// Reset the fairy image
			dragNode.scale.x = 1;
		}
		// Create a ghost image of the fairy when it moves every other frame
		if (LK.ticks % 4 === 0) {
			var ghostFairy = LK.getAsset('fairy', {
				anchorX: 0.5,
				anchorY: 0.5,
				alpha: 0.3
			});
			ghostFairy.x = dragNode.x;
			ghostFairy.y = dragNode.y;
			if (dragNode.parent === game) {
				game.addChildAt(ghostFairy, game.getChildIndex(dragNode));
			} else {
				game.addChild(ghostFairy);
			}
			// Remove the ghost image after 0.5 seconds
			LK.setTimeout(function () {
				ghostFairy.destroy();
			}, 250);
		}
		dragNode.x += (x - dragNode.x) * 0.1;
		if (y > 2732 * 0.6) {
			dragNode.y += (y - dragNode.y) * 0.1;
		} else {
			dragNode.y += (2732 * 0.6 - dragNode.y) * 0.1;
		}
	}
}
// Update game logic
function updateGame() {
	// Update starfield
	for (var i = game.children.length - 1; i >= 0; i--) {
		if (game.children[i] instanceof Star) {
			game.children[i].update();
		}
		if (game.children[i] instanceof Diamond && game.children[i].intersects(fairy)) {
			game.children[i].destroy();
			diamondCount++;
			diamondCounterTxt.setText(diamondCount);
		}
	}
	// Update bullets
	for (var i = bullets.length - 1; i >= 0; i--) {
		if (bullets[i] instanceof Bullet) {
			bullets[i].update();
		}
		bullets[i].update();
		if (bullets[i].y < -50) {
			bullets[i].destroy();
			bullets.splice(i, 1);
		}
	}
	for (var j = enemies.length - 1; j >= 0; j--) {
		if (enemies[j] instanceof Boss) {
			enemies[j].update();
		}
		enemies[j].update();
		if (enemies[j].y > 2732 + 50) {
			enemies[j].destroy();
			enemies.splice(j, 1);
		}
		if (fairy.intersects(enemies[j])) {
			var fairyX = fairy.x;
			var fairyY = fairy.y;
			// Create particle effect for fairy
			for (var p = 0; p < 20; p++) {
				var particle = LK.getAsset('star', {
					anchorX: 0.5,
					anchorY: 0.5,
					alpha: 1
				});
				particle.x = fairyX;
				particle.y = fairyY;
				particle.speedX = (Math.random() - 0.5) * 10;
				particle.speedY = (Math.random() - 0.5) * 10;
				particle.update = function () {
					this.x += this.speedX;
					this.y += this.speedY;
					this.alpha -= 0.02;
					if (this.alpha <= 0) {
						this.destroy();
					}
				};
				game.addChild(particle);
			}
			LK.effects.flashScreen(0xff0000, 1000);
			LK.showGameOver();
		}
		for (var k = bullets.length - 1; k >= 0; k--) {
			if (bullets[k].intersects(enemies[j])) {
				bullets[k].destroy();
				bullets.splice(k, 1);
				enemies[j].hitpoints--;
				if (enemies[j].hitpoints <= 0) {
					var enemyX = enemies[j].x;
					var enemyY = enemies[j].y;
					// Create particle effect
					for (var p = 0; p < 20; p++) {
						var particle = LK.getAsset('star', {
							anchorX: 0.5,
							anchorY: 0.5,
							alpha: 1
						});
						particle.x = enemyX;
						particle.y = enemyY;
						particle.speedX = (Math.random() - 0.5) * 10;
						particle.speedY = (Math.random() - 0.5) * 10;
						particle.update = function () {
							this.x += this.speedX;
							this.y += this.speedY;
							this.alpha -= 0.02;
							if (this.alpha <= 0) {
								this.destroy();
							}
						};
						game.addChild(particle);
					}
					enemies[j].destroy();
					enemies.splice(j, 1);
					score++;
					scoreTxt.setText(score);
					var dropChance = Math.random();
					if (dropChance < 0.2) {
						var newDiamond = new Diamond();
						newDiamond.x = enemyX;
						newDiamond.y = enemyY;
						game.addChild(newDiamond);
					} else if (dropChance < 0.2) {
						var newPowerup = new Powerup();
						newPowerup.x = enemyX;
						newPowerup.y = enemyY;
						game.addChild(newPowerup);
					}
					if (enemies[j] instanceof Boss) {
						// Create bigger particle effect for boss
						for (var p = 0; p < 50; p++) {
							var particle = LK.getAsset('star', {
								anchorX: 0.5,
								anchorY: 0.5,
								alpha: 1
							});
							particle.x = enemyX;
							particle.y = enemyY;
							particle.speedX = (Math.random() - 0.5) * 20;
							particle.speedY = (Math.random() - 0.5) * 20;
							particle.update = function () {
								this.x += this.speedX;
								this.y += this.speedY;
								this.alpha -= 0.02;
								if (this.alpha <= 0) {
									this.destroy();
								}
							};
							game.addChild(particle);
						}
						LK.pauseGame();
						upgradeMenu.visible = true;
					}
				}
				break;
			}
		}
	}
	// Check for collisions
	// Check for coin collection
	for (var i = game.children.length - 1; i >= 0; i--) {
		if (game.children[i] instanceof Diamond && game.children[i].intersects(fairy)) {
			game.children[i].destroy();
			diamondCount++;
			diamondCounterTxt.setText('Diamonds: ' + diamondCount);
		}
	}
	for (var k = bullets.length - 1; k >= 0; k--) {
		for (var l = enemies.length - 1; l >= 0; l--) {
			if (bullets[k].intersects(enemies[l])) {
				bullets[k].destroy();
				bullets.splice(k, 1);
				enemies[l].hitpoints--;
				if (enemies[l].hitpoints <= 0) {
					var enemyX = enemies[l].x;
					var enemyY = enemies[l].y;
					enemies[l].destroy();
					enemies.splice(l, 1);
					score++;
					scoreTxt.setText(score);
					// Randomly drop coins or powerups
					var dropChance = Math.random();
					if (dropChance < 0.2) {
						var newDiamond = new Diamond();
						newDiamond.x = enemyX;
						newDiamond.y = enemyY;
						game.addChild(newDiamond);
					} else if (dropChance < 0.2) {
						var newPowerup = new Powerup();
						newPowerup.x = enemyX;
						newPowerup.y = enemyY;
						game.addChild(newPowerup);
					}
					// Check if the destroyed enemy is the boss
					if (enemies[l] instanceof Boss) {
						LK.pauseGame(); // Pause the game
						upgradeMenu.visible = true; // Show the upgrade menu
					}
				}
				break;
			}
		}
	}
	// Spawn new bullets
	if (LK.ticks % 20 == 0 && isFairyHeld) {
		// Only spawn new bullets if the fairy is being held
		var newBullet = new Bullet();
		newBullet.x = fairy.x;
		newBullet.y = fairy.y;
		bullets.push(newBullet);
		game.addChild(newBullet);
	}
	// Spawn new enemies in a line
	if (LK.ticks % 600 == 0) {
		waveCount++;
		if (waveCount <= waveConfig.length) {
			var currentWave = waveConfig[waveCount - 1];
			var maxEnemiesPerLine = 4;
			var enemySpacing = 2048 / (maxEnemiesPerLine + 1); // Adjust spacing to center enemies
			var totalRows = Math.ceil(currentWave.enemies / maxEnemiesPerLine);
			for (var i = 0; i < currentWave.enemies; i++) {
				var newBlock = new Enemy();
				var row = Math.floor(i / maxEnemiesPerLine);
				newBlock.hitpoints = currentWave.hitpoints[row] || currentWave.hitpoints[currentWave.hitpoints.length - 1];
				newBlock.x = i % maxEnemiesPerLine * enemySpacing + enemySpacing / 2;
				newBlock.y = row * 200 - 50;
				enemies.push(newBlock);
				game.addChild(newBlock);
			}
			// Center the rows of enemies
			var totalWidth = (Math.min(currentWave.enemies, maxEnemiesPerLine) - 1) * enemySpacing;
			var offsetX = (2048 - totalWidth) / 2;
			for (var j = 0; j < enemies.length; j++) {
				enemies[j].x += offsetX;
			}
		} else if (waveCount == waveConfig.length + 1) {
			// Spawn boss enemy
			var boss = new Boss();
			boss.hitpoints = 20; // Set boss hitpoints
			boss.x = 2048 / 2;
			boss.y = 0;
			boss.speed = 5; // Set initial speed for lateral movement
			enemies.push(boss);
			game.addChild(boss);
		}
		// Spawn goblin between waves
		if (waveCount % 2 == 0) {
			var goblin = new Goblin();
			goblin.x = Math.random() * 2048;
			goblin.y = -50;
			enemies.push(goblin);
			game.addChild(goblin);
		}
	}
	// Goblin shooting logic
	for (var i = enemies.length - 1; i >= 0; i--) {
		if (enemies[i] instanceof Goblin && LK.ticks % 100 == 0) {
			enemies[i].shoot();
		}
	}
}
// Initialize the game
initGame();
// Create and position the upgrade menu
var upgradeMenu = game.addChild(new UpgradeMenu());
upgradeMenu.x = 2048 / 2;
upgradeMenu.y = 2732 / 2; ===================================================================
--- original.js
+++ change.js
@@ -346,16 +346,25 @@
 	scoreTxt.anchor.set(0.5, 0);
 	// Create coin counter text
 	game.addChild(scoreTxt);
 	// Create coin counter text
-	diamondCounterTxt = new Text2('Diamonds: 0', {
-		size: 100,
+	var diamondCounterContainer = new Container();
+	var diamondIcon = LK.getAsset('diamond', {
+		anchorX: 1,
+		anchorY: 0
+	});
+	diamondIcon.x = 2048 - 20;
+	diamondIcon.y = 20;
+	diamondCounterContainer.addChild(diamondIcon);
+	diamondCounterTxt = new Text2('0', {
+		size: 50,
 		fill: "#ffffff"
 	});
-	diamondCounterTxt.anchor.set(1, 0); // Anchor to the top right
-	diamondCounterTxt.x = 2048 - 20; // Position at the top right of the screen
-	diamondCounterTxt.y = 20; // Position with a margin from the top
-	game.addChild(diamondCounterTxt);
+	diamondCounterTxt.anchor.set(0.5, 0.5);
+	diamondCounterTxt.x = diamondIcon.width / 2;
+	diamondCounterTxt.y = diamondIcon.height / 2;
+	diamondIcon.addChild(diamondCounterTxt);
+	game.addChild(diamondCounterContainer);
 	// Set up game event listeners
 	game.down = function (x, y, obj) {
 		dragNode = fairy;
 		isFairyHeld = true; // Set isFairyHeld to true when the fairy is held
@@ -415,9 +424,9 @@
 		}
 		if (game.children[i] instanceof Diamond && game.children[i].intersects(fairy)) {
 			game.children[i].destroy();
 			diamondCount++;
-			diamondCounterTxt.setText('Diamonds: ' + diamondCount);
+			diamondCounterTxt.setText(diamondCount);
 		}
 	}
 	// Update bullets
 	for (var i = bullets.length - 1; i >= 0; i--) {
:quality(85)/https://cdn.frvr.ai/66b31a03d23a7fddab9a62a3.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66b646291219c7e7899ea5b5.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66b64c391219c7e7899ea60f.png%3F3) 
 8-bit. cartoon. white star.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66b65aba1219c7e7899ea64e.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66b664a01219c7e7899ea6c6.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66b73c30b97cf4096a70eadf.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66bb15c11219c7e7899eb124.png%3F3) 
 cartoon 8 bit fairy dust. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bc4954b9f48fd53cb0c9c8.png%3F3) 
 Cartoon, 8bit, fireball. Black border. Cicular.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bcc12cb9f48fd53cb0ca72.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66bcdbf1b9f48fd53cb0ca8b.png%3F3) 
 cartoon, 8 bit, shield. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bcf397b97cf4096a70efef.png%3F3) 
 8bit, cartoon, axe. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bd2fd7b97cf4096a70f069.png%3F3) 
 dark electric ball, 8bit, cartoon.. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bd3695b97cf4096a70f0a2.png%3F3) 
 8bit, cartoon, treasure chest frame. very big empty center. only a fine border of chest. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
:quality(85)/https://cdn.frvr.ai/66bd9c911219c7e7899eb5ca.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66bda37c1219c7e7899eb5f7.png%3F3) 
 :quality(85)/https://cdn.frvr.ai/66bde7fb28397410fcb63df2.png%3F3) 
 shoot
Sound effect
boom
Sound effect
Hit
Sound effect
backgroundmusic
Sound effect
bossbullet
Sound effect
bossappear
Sound effect
hit
Sound effect
diamondcollect
Sound effect
hooray
Sound effect
nono
Sound effect
letsgo
Sound effect
death
Sound effect
yes
Sound effect