User prompt
Fish spawn at random location at max 600 pixel from the center
User prompt
Fish spawn at random location at max 700 pixel from the center π ✅ Change fish
User prompt
Fish spawn at random location at max 400 pixel from the center π ✅ Change fish
User prompt
Fish spawn at random location at max 200 pixel from the center
User prompt
Spawn one fish of each race
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'expand')' in this line: 'var ZebraDanio = Fish.expand(function () {' Line Number: 1
User prompt
Create 3 new race of fish
User prompt
Fix Bug: 'Uncaught ReferenceError: ElectricRay is not defined' in this line: 'var fishTypes = [Wrasses, Parrotfish, Dartfish, MoorishIdol, Tangfish, Bannerfish, Butterflyfish, Mandarinfish, Lionfish, Surgeonfish, Pufferfish, Clownfish, Angelfish, KoiFish, EmperorFish, Goldfish, Sunfish, GuppyFish, BettaFish, DiscusFish, NeonTetra, OscarFish, ElectricRay, PsychedelicFrogfish, FlameScallop, RibbonEel, LeafySeaDragon, ClownTriggerfish, ElectricBlueDamsel, YellowTang, FlameHawkfish, RoyalGramma, FlameAngel, BlueTang, Moonfish, Starfish, CardinalTetra];' Line Number: 954
User prompt
Fix Bug: 'Uncaught ReferenceError: ElectricEel is not defined' in this line: 'var fishTypes = [Wrasses, Parrotfish, Dartfish, MoorishIdol, Tangfish, Bannerfish, Butterflyfish, Mandarinfish, Lionfish, Surgeonfish, Pufferfish, Clownfish, Angelfish, KoiFish, EmperorFish, Goldfish, Sunfish, GuppyFish, BettaFish, DiscusFish, NeonTetra, OscarFish, ElectricEel, ElectricRay, PsychedelicFrogfish, FlameScallop, RibbonEel, LeafySeaDragon, ClownTriggerfish, ElectricBlueDamsel, YellowTang, FlameHawkfish, RoyalGramma, FlameAngel, BlueTang, Moonfish, Starfish, CardinalTetra];' Line Number: 954
User prompt
Create 3 new race of fish
User prompt
Fix Bug: 'Uncaught ReferenceError: FlameGoby is not defined' in this line: 'var fishTypes = [Wrasses, Parrotfish, Dartfish, MoorishIdol, Tangfish, Bannerfish, Butterflyfish, Mandarinfish, Lionfish, Surgeonfish, Pufferfish, Clownfish, Angelfish, KoiFish, EmperorFish, Goldfish, Sunfish, GuppyFish, BettaFish, DiscusFish, NeonTetra, OscarFish, ElectricEel, ElectricRay, PsychedelicFrogfish, FlameScallop, RibbonEel, LeafySeaDragon, ClownTriggerfish, ElectricBlueDamsel, YellowTang, FlameHawkfish, RoyalGramma, FlameAngel, BlueTang, Moonfish, Starfish, CardinalTetra, FlameGoby];' Line Number: 930
User prompt
Fix Bug: 'Uncaught ReferenceError: PeacockBass is not defined' in this line: 'var fishTypes = [Wrasses, Parrotfish, Dartfish, MoorishIdol, Tangfish, Bannerfish, Butterflyfish, Mandarinfish, Lionfish, Surgeonfish, Pufferfish, Clownfish, Angelfish, KoiFish, EmperorFish, Goldfish, Sunfish, GuppyFish, BettaFish, DiscusFish, NeonTetra, OscarFish, ElectricEel, ElectricRay, PsychedelicFrogfish, FlameScallop, RibbonEel, LeafySeaDragon, ClownTriggerfish, ElectricBlueDamsel, YellowTang, FlameHawkfish, RoyalGramma, FlameAngel, BlueTang, Moonfish, Starfish, PeacockBass, CardinalTetra, FlameGoby];' Line Number: 930
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Spawn one fish of each race
User prompt
Create 3 new race of fish
User prompt
Fix Bug: 'Uncaught ReferenceError: GouramiFish is not defined' in this line: 'var fishTypes = [MoorishIdol, Tangfish, Bannerfish, Butterflyfish, Mandarinfish, Lionfish, Surgeonfish, Pufferfish, Clownfish, Angelfish, KoiFish, Goldfish, GuppyFish, BettaFish, DiscusFish, NeonTetra, OscarFish, GouramiFish];' Line Number: 832
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Create 3 new race of fish
User prompt
Fix Bug: 'Uncaught TypeError: Cannot read properties of undefined (reading 'expand')' in this line: 'var Boxfish = Fish.expand(function () {' Line Number: 1
User prompt
Create 4 new race of fish
===================================================================
--- original.js
+++ change.js
@@ -729,37 +729,84 @@
}
fishGraphics.rotation = LK.ticks / 30;
};
});
-var ElectricCatfish = Fish.expand(function () {
+var PeacockBass = Fish.expand(function () {
var self = Fish.call(this) || this;
- var fishGraphics = self.createAsset('electricCatfish', 'Electric Catfish Graphics', .5, .5);
+ var fishGraphics = self.createAsset('peacockBass', 'Peacock Bass Graphics', .5, .5);
fishGraphics.scale.set(1, 1);
- self.speed = Math.random() * 0.2 + 0.6;
- self.move = function () {};
+ self.speed = Math.random() * 0.2 + 0.55;
+ self.move = function () {
+ if (!self.directionChangeTime || LK.ticks - self.directionChangeTime > self.directionChangeInterval) {
+ self.directionChangeTime = LK.ticks;
+ self.directionChangeInterval = Math.random() * 120 + 80;
+ self.targetRotation = Math.random() * Math.PI * 2;
+ }
+ var progress = (LK.ticks - self.directionChangeTime) / self.directionChangeInterval;
+ if (progress < 1) {
+ self.rotation += (self.targetRotation - self.rotation) * progress;
+ } else {
+ self.rotation = self.targetRotation;
+ }
+ self.x += Math.cos(self.rotation) * self.speed;
+ self.y += Math.sin(self.rotation) * self.speed;
+ var waterBounds = self.getWaterBounds();
+ if (self.x < waterBounds.left || self.x > waterBounds.right) {
+ self.rotation = Math.PI - self.rotation;
+ }
+ if (self.y < waterBounds.top || self.y > waterBounds.bottom) {
+ self.rotation = -self.rotation;
+ }
+ self.rotation = self.rotation % (Math.PI * 2);
+ fishGraphics.scale.x = Math.cos(self.rotation) < 0 ? -1 : 1;
+ fishGraphics.rotation = self.rotation;
+ };
});
-var RainbowTrout = Fish.expand(function () {
+var CardinalTetra = Fish.expand(function () {
var self = Fish.call(this) || this;
- var fishGraphics = self.createAsset('rainbowTrout', 'Rainbow Trout Graphics', .5, .5);
+ var fishGraphics = self.createAsset('cardinalTetra', 'Cardinal Tetra Graphics', .5, .5);
fishGraphics.scale.set(1, 1);
- self.speed = Math.random() * 0.2 + 0.5;
- self.move = function () {};
+ self.speed = Math.random() * 0.2 + 0.3;
+ self.move = function () {
+ if (!self.directionChangeTime || LK.ticks - self.directionChangeTime > self.directionChangeInterval) {
+ self.directionChangeTime = LK.ticks;
+ self.directionChangeInterval = Math.random() * 90 + 60;
+ self.targetRotation = Math.random() * Math.PI * 2;
+ }
+ var progress = (LK.ticks - self.directionChangeTime) / self.directionChangeInterval;
+ if (progress < 1) {
+ self.rotation += (self.targetRotation - self.rotation) * progress;
+ } else {
+ self.rotation = self.targetRotation;
+ }
+ self.x += Math.cos(self.rotation) * self.speed;
+ self.y += Math.sin(self.rotation) * self.speed;
+ var waterBounds = self.getWaterBounds();
+ if (self.x < waterBounds.left || self.x > waterBounds.right) {
+ self.rotation = Math.PI - self.rotation;
+ }
+ if (self.y < waterBounds.top || self.y > waterBounds.bottom) {
+ self.rotation = -self.rotation;
+ }
+ self.rotation = self.rotation % (Math.PI * 2);
+ fishGraphics.scale.x = Math.cos(self.rotation) < 0 ? -1 : 1;
+ fishGraphics.rotation = self.rotation;
+ };
});
-var GouramiFish = Fish.expand(function () {
+var FlameGoby = Fish.expand(function () {
var self = Fish.call(this) || this;
- var fishGraphics = self.createAsset('gouramiFish', 'Gourami Fish Graphics', .5, .5);
+ var fishGraphics = self.createAsset('flameGoby', 'Flame Goby Graphics', .5, .5);
fishGraphics.scale.set(1, 1);
- self.speed = Math.random() * 0.2 + 0.42;
+ self.speed = Math.random() * 0.2 + 0.45;
self.move = function () {
- if (self.targetRotation === undefined || LK.ticks - self.rotationStartTime >= self.rotationDuration) {
+ if (!self.directionChangeTime || LK.ticks - self.directionChangeTime > self.directionChangeInterval) {
+ self.directionChangeTime = LK.ticks;
+ self.directionChangeInterval = Math.random() * 100 + 50;
self.targetRotation = Math.random() * Math.PI * 2;
- self.rotationStartTime = LK.ticks;
- self.rotationDuration = Math.random() * 130 + 70;
}
- var progress = (LK.ticks - self.rotationStartTime) / self.rotationDuration;
+ var progress = (LK.ticks - self.directionChangeTime) / self.directionChangeInterval;
if (progress < 1) {
- var deltaRotation = (self.targetRotation - self.rotation) * progress;
- self.rotation += deltaRotation;
+ self.rotation += (self.targetRotation - self.rotation) * progress;
} else {
self.rotation = self.targetRotation;
}
self.x += Math.cos(self.rotation) * self.speed;
@@ -771,13 +818,9 @@
if (self.y < waterBounds.top || self.y > waterBounds.bottom) {
self.rotation = -self.rotation;
}
self.rotation = self.rotation % (Math.PI * 2);
- if (Math.cos(self.rotation) < 0) {
- fishGraphics.scale.x = -1;
- } else {
- fishGraphics.scale.x = 1;
- }
+ fishGraphics.scale.x = Math.cos(self.rotation) < 0 ? -1 : 1;
fishGraphics.rotation = self.rotation;
};
});
var Game = Container.expand(function () {
An aquarium with no fish on a sheel in a photorealistic style. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic goldfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic Angelfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic koyfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic gupyfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic bettafish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic clownfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic pufferfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic surgeonfish swiming to the right. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic buble of water. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic fish egg. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic celestial pearl danio. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic Parrotfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic dartfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic moorishidol. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic tangfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic bannerfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic butterflyfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
A realistic mandarinfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic lionfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic emperorFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic sunfish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic discusFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic neonTetra. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a realistic oscarFish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a cardinal tetra. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a tang fish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
a clown fish. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.