User prompt
Generate the 9th version of the source code of my game: SCP-3301
User prompt
Generate the 8th version of the source code of my game: SCP-3301
User prompt
Generate the 7th version of the source code of my game: SCP-3301
User prompt
Generate the 6th version of the source code of my game: SCP-3301
User prompt
Generate the 5th version of the source code of my game: SCP-3301
User prompt
Generate the fourth version of the source code of my game: SCP-3301
User prompt
Generate the 4th version of the source code of my game: SCP-3301
User prompt
Please fix the bug: 'undefined is not an object (evaluating 'playerStats.HP')' in or related to this line: 'var percent = Math.max(0, Math.min(1, playerStats.HP / 10));' Line Number: 109
User prompt
Generate the third version of the source code of my game: SCP-3301
User prompt
Generate the second version of the source code of my game: SCP-3301
User prompt
Generate the first version of the source code of my game: SCP-3301
User prompt
Generate the third version of the source code of my game: SCP-3301 ↪💡 Consider importing and using the following plugins: @upit/tween.v1, @upit/storage.v1
User prompt
Generate the first version of the source code of my game: SCP-3301 ↪💡 Consider importing and using the following plugins: @upit/tween.v1, @upit/storage.v1 ↪💡 Consider importing and using the following plugins: @upit/tween.v1, @upit/storage.v1
User prompt
add: Card Color: Red Card Title: The Nerfing Gun Subtitle: A low effort pun Type: Weapon, Ranged Description: A fancy Nerf gun that makes everything worse. Excels at ethically questionable humanoid transfiguration. Expires after one use. Stats: Transfiguration Attack / - 10 ACC
User prompt
Agent Shaw recovered enough to use her red card "The Nerfing Gun" to transform Spc. Thompson into an Orangutan. this can happen to anyone
User prompt
add: hidden golden anomaly
User prompt
add weapon: giant flaming angel's sword
User prompt
add weapon: modified Colt AR-15
User prompt
add: White Card called “Panacea” which was used to heal
User prompt
Add: Containment
User prompt
Please fix the bug: 'self.updateBars is not a function. (In 'self.updateBars()', 'self.updateBars' is undefined)' in or related to this line: 'self.updateBars();' Line Number: 390
User prompt
Remove 'self.updateBars is not a function. (In 'self.updateBars()', 'self.updateBars' is undefined)' in or related to this line: 'self.updateBars();' Line Number: 390
User prompt
Please fix the bug: 'self.updateBars is not a function. (In 'self.updateBars()', 'self.updateBars' is undefined)' in or related to this line: 'self.updateBars();' Line Number: 390
User prompt
Remove updatebars
User prompt
Please fix the bug: 'undefined is not an object (evaluating 'self.updateBars = function () { __$(796); var healthPercent = self.health / self.maxHealth; __$(797); var energyPercent = self.energy / self.maxEnergy; __$(798); self.healthBar.width = 60 * healthPercent; __$(799); self.energyBar.width = 60 * energyPercent; }')' in or related to this line: 'self.updateBars = function () {' Line Number: 1578
/**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Board setup // --- SCP-3301: Initial Board, Player, and Card Draw Logic --- var board = LK.getAsset('board', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 }); game.addChild(board); // Player piece setup var playerPiece = LK.getAsset('player', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 - 300 }); game.addChild(playerPiece); // Dice roll and movement logic var diceResult = 0; var diceText = new Text2('Roll: -', { size: 80, fill: 0xffffff }); diceText.anchor.set(0.5, 0.5); diceText.x = 2048 / 2; diceText.y = 2732 - 220; LK.gui.bottom.addChild(diceText); var canMove = false; var moveRadius = 0; // Roll dice button var rollBtn = LK.getAsset('button', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2 - 200, y: 2732 - 120 }); game.addChild(rollBtn); var rollBtnText = new Text2('Roll Dice', { size: 48, fill: 0x000000 }); rollBtnText.anchor.set(0.5, 0.5); rollBtnText.x = rollBtn.x; rollBtnText.y = rollBtn.y; LK.gui.bottom.addChild(rollBtnText); rollBtn.down = function (x, y, obj) { // Roll two six-sided dice var d1 = Math.floor(Math.random() * 6) + 1; var d2 = Math.floor(Math.random() * 6) + 1; diceResult = d1 + d2; diceText.setText('Roll: ' + diceResult); moveRadius = diceResult * 40; // 40px per dice point, adjust as needed canMove = true; }; // Drag/move logic for player piece var dragging = false; playerPiece.down = function (x, y, obj) { if (canMove) { dragging = true; } }; game.move = function (x, y, obj) { if (dragging && canMove) { // Calculate distance from original position var dx = x - playerPiece.x; var dy = y - playerPiece.y; var dist = Math.sqrt(dx * dx + dy * dy); if (dist <= moveRadius) { playerPiece.x = x; playerPiece.y = y; } else { // Clamp to moveRadius var angle = Math.atan2(dy, dx); playerPiece.x = playerPiece.x + Math.cos(angle) * moveRadius; playerPiece.y = playerPiece.y + Math.sin(angle) * moveRadius; } } }; game.up = function (x, y, obj) { if (dragging) { dragging = false; canMove = false; moveRadius = 0; diceText.setText('Roll: -'); } }; // Card hand setup var hand = []; var maxHandSize = 10; var initialHandSize = 7; // Card draw function function drawCard() { // For now, just use a generic card back as a placeholder var card = LK.getAsset('cardBack', { anchorX: 0.5, anchorY: 0.5 }); hand.push(card); return card; } // Draw initial hand for (var i = 0; i < initialHandSize; i++) { var card = drawCard(); // Display cards in a fan at the bottom of the screen card.x = 2048 / 2 - (initialHandSize - 1) * 60 / 2 + i * 60; card.y = 2732 - 120; game.addChild(card); } // End turn button var endTurnBtn = LK.getAsset('EndTurnButton', { anchorX: 0.5, anchorY: 0.5, x: 2048 - 200, y: 2732 - 120 }); game.addChild(endTurnBtn); // Draw card at end of turn, discard if over max hand size endTurnBtn.down = function (x, y, obj) { if (hand.length < maxHandSize) { var card = drawCard(); card.x = 2048 / 2 - (initialHandSize - 1) * 60 / 2 + (hand.length - 1) * 60; card.y = 2732 - 120; game.addChild(card); } // After drawing, check if hand exceeds max size and discard if needed while (hand.length > maxHandSize) { var discarded = hand.pop(); discarded.destroy(); } }; // Money counter (yellow cards effect) var moneyCounter = LK.getAsset('moneyCounterDisplay', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 80 }); game.addChild(moneyCounter); var moneyValue = 10000; var moneyText = new Text2('$' + moneyValue, { size: 80, fill: 0xFFFF00 }); moneyText.anchor.set(0.5, 0.5); moneyText.x = 2048 / 2; moneyText.y = 80; LK.gui.top.addChild(moneyText); // Update money display function function updateMoney(val) { moneyValue = val; moneyText.setText('$' + moneyValue); } // Placeholder for future: draw card types, entity spawn, and win conditions // --- End SCP-3301 initial setup ---
===================================================================
--- original.js
+++ change.js
@@ -7,10 +7,10 @@
/****
* Game Code
****/
-// --- SCP-3301: Initial Board, Player, and Card Draw Logic ---
// Board setup
+// --- SCP-3301: Initial Board, Player, and Card Draw Logic ---
var board = LK.getAsset('board', {
anchorX: 0.5,
anchorY: 0.5,
x: 2048 / 2,
@@ -24,8 +24,77 @@
x: 2048 / 2,
y: 2732 - 300
});
game.addChild(playerPiece);
+// Dice roll and movement logic
+var diceResult = 0;
+var diceText = new Text2('Roll: -', {
+ size: 80,
+ fill: 0xffffff
+});
+diceText.anchor.set(0.5, 0.5);
+diceText.x = 2048 / 2;
+diceText.y = 2732 - 220;
+LK.gui.bottom.addChild(diceText);
+var canMove = false;
+var moveRadius = 0;
+// Roll dice button
+var rollBtn = LK.getAsset('button', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ x: 2048 / 2 - 200,
+ y: 2732 - 120
+});
+game.addChild(rollBtn);
+var rollBtnText = new Text2('Roll Dice', {
+ size: 48,
+ fill: 0x000000
+});
+rollBtnText.anchor.set(0.5, 0.5);
+rollBtnText.x = rollBtn.x;
+rollBtnText.y = rollBtn.y;
+LK.gui.bottom.addChild(rollBtnText);
+rollBtn.down = function (x, y, obj) {
+ // Roll two six-sided dice
+ var d1 = Math.floor(Math.random() * 6) + 1;
+ var d2 = Math.floor(Math.random() * 6) + 1;
+ diceResult = d1 + d2;
+ diceText.setText('Roll: ' + diceResult);
+ moveRadius = diceResult * 40; // 40px per dice point, adjust as needed
+ canMove = true;
+};
+// Drag/move logic for player piece
+var dragging = false;
+playerPiece.down = function (x, y, obj) {
+ if (canMove) {
+ dragging = true;
+ }
+};
+game.move = function (x, y, obj) {
+ if (dragging && canMove) {
+ // Calculate distance from original position
+ var dx = x - playerPiece.x;
+ var dy = y - playerPiece.y;
+ var dist = Math.sqrt(dx * dx + dy * dy);
+ if (dist <= moveRadius) {
+ playerPiece.x = x;
+ playerPiece.y = y;
+ } else {
+ // Clamp to moveRadius
+ var angle = Math.atan2(dy, dx);
+ playerPiece.x = playerPiece.x + Math.cos(angle) * moveRadius;
+ playerPiece.y = playerPiece.y + Math.sin(angle) * moveRadius;
+ }
+ }
+};
+game.up = function (x, y, obj) {
+ if (dragging) {
+ dragging = false;
+ canMove = false;
+ moveRadius = 0;
+ diceText.setText('Roll: -');
+ }
+};
// Card hand setup
var hand = [];
var maxHandSize = 10;
var initialHandSize = 7;
@@ -61,10 +130,11 @@
var card = drawCard();
card.x = 2048 / 2 - (initialHandSize - 1) * 60 / 2 + (hand.length - 1) * 60;
card.y = 2732 - 120;
game.addChild(card);
- } else {
- // Discard the last card if over max hand size
+ }
+ // After drawing, check if hand exceeds max size and discard if needed
+ while (hand.length > maxHandSize) {
var discarded = hand.pop();
discarded.destroy();
}
};
Healthbar. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Player. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Opponent. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
EnergyBar. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Board. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Anomaly. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Button. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
animal. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
SCP. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
SCP card. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
anomalyneutralizer card. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
containmentfield card. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
cardFront. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
barBackground. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
darknessbetweendimensions. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
manual. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
moneyCounterDisplay. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Wondertainment product. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
EndTurnButton. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
randomscp. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Attack. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Containment. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
White Card called “Panacea” which was used to heal. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
modified Colt AR-15. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
giant flaming angel's sword. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
hidden golden anomaly. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows
Orangutan. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows