User prompt
make somethink new ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
(free)more ability like summon bat(if bat touch enmys, emys die) and make enemy bosses(every 100 secon 1 boss come for kill dracula)(vampire baron(20 live), big dracula baron( 3 forms (1st form 50 live 2nd form 75 live final form 200 live)) , werewolf(5 form(1st =250 2nd =400 3rd= 500 4th=750 5th=1000)) and if vampire kill boss he have new ability and upgrade ability) ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
make better abilitys and make background and if click ability button pause game (vampire don`t die and enemys don`t move) ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
what I just want you make your best ideas
User prompt
make new abilty wasd is move
User prompt
fix bugs(İ press f button in the keyboard but it doesn`t work)
User prompt
make background
User prompt
Please fix the bug: 'Cannot read properties of undefined (reading 'addEventListener')' in or related to this line: 'document.addEventListener('keydown', function (event) {' Line Number: 1737
User prompt
if player press h and j and k and l button use abilitys and if player press f button pause game and open ability menu and fix bugs ↪💡 Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
make dracula have abilitys and make waves and bosses(vampire baron(20 live), big dracula baron( 3 forms (1st form 50 live 2nd form 75 live final form 200 live)) , werewolf(5 form(1st =250 2nd =400 3rd= 500 4th=750 5th=1000)) and if vampire kill boss he have new ability and upgrade ability with new materials(add 5 diffirent material and orb monsters(if vampire kill orb monster he +1 or +5 material)) ↪💡 Consider importing and using the following plugins: @upit/storage.v1, @upit/tween.v1
User prompt
fix bug(total blood is wrong)
User prompt
Please fix the bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'toGlobal')' in or related to this line: 'var gamePosition = game.toLocal(obj.parent.toGlobal({' Line Number: 969
User prompt
make more skins and make in better store and better main menu and fix bug and in the store we can see how much blood we have ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
fix bugs (vampire isn`t teleport mouse he teleport to mouse`s right down) and make blody moon(every 60 second he is coming and in next 20 second vampire dont die and 10X blood/coin boost) and make other skins ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
fix bugs
User prompt
hunters can shoot arrows and if vampire touch arrow he die but if he touch hunter hunters die and blood +100 and coins +200 and make main menu and play button and make skins(they have special powers) and skins buy with bloods in the store ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
make a store and enemys(vampire hunters) ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
make it better
User prompt
Please fix the bug: 'storage.get is not a function' in or related to this line: 'var highScore = storage.get('draculaHighScore') || 0;' Line Number: 156 ↪💡 Consider importing and using the following plugins: @upit/storage.v1
User prompt
make it better
Code edit (1 edits merged)
Please save this source code
User prompt
Dracula's Blood Hunt
Initial prompt
make me dracula
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
var BloodOrb = Container.expand(function () {
var self = Container.call(this);
var orbGraphics = self.attachAsset('bloodOrb', {
anchorX: 0.5,
anchorY: 0.5
});
// Pulsing animation for blood orb
tween(orbGraphics, {
scaleX: 1.2,
scaleY: 1.2
}, {
duration: 800,
easing: tween.easeInOut,
onFinish: function onFinish() {
tween(orbGraphics, {
scaleX: 1.0,
scaleY: 1.0
}, {
duration: 800,
easing: tween.easeInOut
});
}
});
return self;
});
var Dracula = Container.expand(function () {
var self = Container.call(this);
var draculaGraphics = self.attachAsset('dracula', {
anchorX: 0.5,
anchorY: 0.5
});
// Add cape effect with slight rotation
draculaGraphics.rotation = 0.1;
return self;
});
var Sunlight = Container.expand(function () {
var self = Container.call(this);
var sunGraphics = self.attachAsset('sunlight', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 2;
self.update = function () {
self.x += self.speed;
// Remove sunlight when it goes off screen
if (self.x > 2200) {
self.parent.removeChild(self);
var index = sunlightRays.indexOf(self);
if (index > -1) {
sunlightRays.splice(index, 1);
}
}
};
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000
});
/****
* Game Code
****/
// Game variables
var dracula;
var bloodOrbs = [];
var sunlightRays = [];
var gameTime = 0;
var lastBloodSpawn = 0;
var lastSunlightSpawn = 0;
var dragNode = null;
var isGameOver = false;
// Create score display
var scoreTxt = new Text2('Blood: 0', {
size: 120,
fill: 0xFF0000
});
scoreTxt.anchor.set(0.5, 0);
LK.gui.top.addChild(scoreTxt);
// Create Dracula
dracula = game.addChild(new Dracula());
dracula.x = 1024;
dracula.y = 1366;
// Spawn blood orbs
function spawnBloodOrb() {
var bloodOrb = new BloodOrb();
bloodOrb.x = Math.random() * 1800 + 124;
bloodOrb.y = Math.random() * 2400 + 124;
bloodOrbs.push(bloodOrb);
game.addChild(bloodOrb);
}
// Spawn sunlight rays
function spawnSunlight() {
var sunlight = new Sunlight();
sunlight.x = -150;
sunlight.y = Math.random() * 2732;
sunlightRays.push(sunlight);
game.addChild(sunlight);
}
// Handle dragging
function handleMove(x, y, obj) {
if (dragNode && !isGameOver) {
dragNode.x = x;
dragNode.y = y;
// Keep Dracula within bounds
if (dragNode.x < 60) dragNode.x = 60;
if (dragNode.x > 1988) dragNode.x = 1988;
if (dragNode.y < 60) dragNode.y = 60;
if (dragNode.y > 2672) dragNode.y = 2672;
}
}
game.move = handleMove;
game.down = function (x, y, obj) {
if (!isGameOver) {
dragNode = dracula;
handleMove(x, y, obj);
}
};
game.up = function (x, y, obj) {
dragNode = null;
};
game.update = function () {
if (isGameOver) return;
gameTime++;
// Spawn blood orbs every 90-150 ticks (1.5-2.5 seconds)
if (gameTime - lastBloodSpawn > 90 + Math.random() * 60) {
spawnBloodOrb();
lastBloodSpawn = gameTime;
}
// Spawn sunlight rays - frequency increases over time
var sunlightFrequency = Math.max(120 - Math.floor(gameTime / 1800), 60);
if (gameTime - lastSunlightSpawn > sunlightFrequency) {
spawnSunlight();
lastSunlightSpawn = gameTime;
}
// Check blood orb collection
for (var i = bloodOrbs.length - 1; i >= 0; i--) {
var orb = bloodOrbs[i];
if (dracula.intersects(orb)) {
LK.setScore(LK.getScore() + 10);
scoreTxt.setText('Blood: ' + LK.getScore());
LK.getSound('collectBlood').play();
// Blood collection effect
LK.effects.flashObject(dracula, 0xFF0000, 300);
orb.destroy();
bloodOrbs.splice(i, 1);
}
}
// Check sunlight collision
for (var j = 0; j < sunlightRays.length; j++) {
var ray = sunlightRays[j];
if (dracula.intersects(ray)) {
// Game over
isGameOver = true;
LK.getSound('deathSound').play();
LK.effects.flashScreen(0xFFD700, 1500);
LK.setTimeout(function () {
LK.showGameOver();
}, 1000);
break;
}
}
// Clean up off-screen blood orbs
for (var k = bloodOrbs.length - 1; k >= 0; k--) {
var bloodOrb = bloodOrbs[k];
if (bloodOrb.y > 2800) {
bloodOrb.destroy();
bloodOrbs.splice(k, 1);
}
}
}; ===================================================================
--- original.js
+++ change.js
@@ -1,6 +1,182 @@
-/****
+/****
+* Plugins
+****/
+var tween = LK.import("@upit/tween.v1");
+
+/****
+* Classes
+****/
+var BloodOrb = Container.expand(function () {
+ var self = Container.call(this);
+ var orbGraphics = self.attachAsset('bloodOrb', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Pulsing animation for blood orb
+ tween(orbGraphics, {
+ scaleX: 1.2,
+ scaleY: 1.2
+ }, {
+ duration: 800,
+ easing: tween.easeInOut,
+ onFinish: function onFinish() {
+ tween(orbGraphics, {
+ scaleX: 1.0,
+ scaleY: 1.0
+ }, {
+ duration: 800,
+ easing: tween.easeInOut
+ });
+ }
+ });
+ return self;
+});
+var Dracula = Container.expand(function () {
+ var self = Container.call(this);
+ var draculaGraphics = self.attachAsset('dracula', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ // Add cape effect with slight rotation
+ draculaGraphics.rotation = 0.1;
+ return self;
+});
+var Sunlight = Container.expand(function () {
+ var self = Container.call(this);
+ var sunGraphics = self.attachAsset('sunlight', {
+ anchorX: 0.5,
+ anchorY: 0.5
+ });
+ self.speed = 2;
+ self.update = function () {
+ self.x += self.speed;
+ // Remove sunlight when it goes off screen
+ if (self.x > 2200) {
+ self.parent.removeChild(self);
+ var index = sunlightRays.indexOf(self);
+ if (index > -1) {
+ sunlightRays.splice(index, 1);
+ }
+ }
+ };
+ return self;
+});
+
+/****
* Initialize Game
-****/
+****/
var game = new LK.Game({
backgroundColor: 0x000000
-});
\ No newline at end of file
+});
+
+/****
+* Game Code
+****/
+// Game variables
+var dracula;
+var bloodOrbs = [];
+var sunlightRays = [];
+var gameTime = 0;
+var lastBloodSpawn = 0;
+var lastSunlightSpawn = 0;
+var dragNode = null;
+var isGameOver = false;
+// Create score display
+var scoreTxt = new Text2('Blood: 0', {
+ size: 120,
+ fill: 0xFF0000
+});
+scoreTxt.anchor.set(0.5, 0);
+LK.gui.top.addChild(scoreTxt);
+// Create Dracula
+dracula = game.addChild(new Dracula());
+dracula.x = 1024;
+dracula.y = 1366;
+// Spawn blood orbs
+function spawnBloodOrb() {
+ var bloodOrb = new BloodOrb();
+ bloodOrb.x = Math.random() * 1800 + 124;
+ bloodOrb.y = Math.random() * 2400 + 124;
+ bloodOrbs.push(bloodOrb);
+ game.addChild(bloodOrb);
+}
+// Spawn sunlight rays
+function spawnSunlight() {
+ var sunlight = new Sunlight();
+ sunlight.x = -150;
+ sunlight.y = Math.random() * 2732;
+ sunlightRays.push(sunlight);
+ game.addChild(sunlight);
+}
+// Handle dragging
+function handleMove(x, y, obj) {
+ if (dragNode && !isGameOver) {
+ dragNode.x = x;
+ dragNode.y = y;
+ // Keep Dracula within bounds
+ if (dragNode.x < 60) dragNode.x = 60;
+ if (dragNode.x > 1988) dragNode.x = 1988;
+ if (dragNode.y < 60) dragNode.y = 60;
+ if (dragNode.y > 2672) dragNode.y = 2672;
+ }
+}
+game.move = handleMove;
+game.down = function (x, y, obj) {
+ if (!isGameOver) {
+ dragNode = dracula;
+ handleMove(x, y, obj);
+ }
+};
+game.up = function (x, y, obj) {
+ dragNode = null;
+};
+game.update = function () {
+ if (isGameOver) return;
+ gameTime++;
+ // Spawn blood orbs every 90-150 ticks (1.5-2.5 seconds)
+ if (gameTime - lastBloodSpawn > 90 + Math.random() * 60) {
+ spawnBloodOrb();
+ lastBloodSpawn = gameTime;
+ }
+ // Spawn sunlight rays - frequency increases over time
+ var sunlightFrequency = Math.max(120 - Math.floor(gameTime / 1800), 60);
+ if (gameTime - lastSunlightSpawn > sunlightFrequency) {
+ spawnSunlight();
+ lastSunlightSpawn = gameTime;
+ }
+ // Check blood orb collection
+ for (var i = bloodOrbs.length - 1; i >= 0; i--) {
+ var orb = bloodOrbs[i];
+ if (dracula.intersects(orb)) {
+ LK.setScore(LK.getScore() + 10);
+ scoreTxt.setText('Blood: ' + LK.getScore());
+ LK.getSound('collectBlood').play();
+ // Blood collection effect
+ LK.effects.flashObject(dracula, 0xFF0000, 300);
+ orb.destroy();
+ bloodOrbs.splice(i, 1);
+ }
+ }
+ // Check sunlight collision
+ for (var j = 0; j < sunlightRays.length; j++) {
+ var ray = sunlightRays[j];
+ if (dracula.intersects(ray)) {
+ // Game over
+ isGameOver = true;
+ LK.getSound('deathSound').play();
+ LK.effects.flashScreen(0xFFD700, 1500);
+ LK.setTimeout(function () {
+ LK.showGameOver();
+ }, 1000);
+ break;
+ }
+ }
+ // Clean up off-screen blood orbs
+ for (var k = bloodOrbs.length - 1; k >= 0; k--) {
+ var bloodOrb = bloodOrbs[k];
+ if (bloodOrb.y > 2800) {
+ bloodOrb.destroy();
+ bloodOrbs.splice(k, 1);
+ }
+ }
+};
\ No newline at end of file
make red eyes and more cooler
make pixel red eye dracula. In-Game asset. 2d. High contrast. No shadows
moon. In-Game asset. 2d. High contrast. No shadows
pixel blood. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
yellow square without other colors. In-Game asset. 2d. High contrast. No shadows
orb monster pixel
blood shield. In-Game asset. 2d. High contrast. No shadows
vampire blody coin pixel. In-Game asset. 2d. High contrast. No shadows
bat swarm. In-Game asset. 2d. High contrast. No shadows
shadow strike. In-Game asset. 2d. High contrast. No shadows
big dracula baron. In-Game asset. 2d. High contrast. No shadows
power orb. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
delete cicrle
Vampire baron evil pixel. In-Game asset. 2d. High contrast. No shadows
werewolf red eye pixel. In-Game asset. 2d. High contrast. No shadows