diff --git a/public/models/blendswap/blueface_angelfish.glb b/public/models/blendswap/blueface_angelfish.glb new file mode 100644 index 0000000..10ce25a Binary files /dev/null and b/public/models/blendswap/blueface_angelfish.glb differ diff --git a/public/models/blendswap/clownfish.glb b/public/models/blendswap/clownfish.glb new file mode 100644 index 0000000..961c652 Binary files /dev/null and b/public/models/blendswap/clownfish.glb differ diff --git a/public/models/blendswap/ghost_knifefish.glb b/public/models/blendswap/ghost_knifefish.glb new file mode 100644 index 0000000..865dd94 Binary files /dev/null and b/public/models/blendswap/ghost_knifefish.glb differ diff --git a/public/models/blendswap/neon_tetra.glb b/public/models/blendswap/neon_tetra.glb new file mode 100644 index 0000000..90a4c7b Binary files /dev/null and b/public/models/blendswap/neon_tetra.glb differ diff --git a/public/models/blendswap/oscar_cichlid.glb b/public/models/blendswap/oscar_cichlid.glb new file mode 100644 index 0000000..b102b1b Binary files /dev/null and b/public/models/blendswap/oscar_cichlid.glb differ diff --git a/src/game/economy.ts b/src/game/economy.ts index cdf7a2e..be93be1 100644 --- a/src/game/economy.ts +++ b/src/game/economy.ts @@ -9,6 +9,10 @@ export const FISH_PRICES: Record = { fish1: 50, fish2: 70, fish3: 65, + neon_tetra: 75, + oscar: 120, + knifefish: 110, + clownfish: 90, }; /** Cost to upgrade TO tank tier (index = target tier) */ @@ -81,10 +85,14 @@ export const SPECIES_RARITY_DIST: Record> = fish1: { common: 75, uncommon: 15, rare: 6, epic: 3, legendary: 1 }, fish2: { common: 65, uncommon: 20, rare: 10, epic: 4, legendary: 1 }, fish3: { common: 68, uncommon: 18, rare: 9, epic: 4, legendary: 1 }, + neon_tetra: { common: 65, uncommon: 20, rare: 8, epic: 5, legendary: 2 }, + oscar: { common: 55, uncommon: 25, rare: 12, epic: 6, legendary: 2 }, + knifefish: { common: 50, uncommon: 25, rare: 13, epic: 8, legendary: 4 }, + clownfish: { common: 60, uncommon: 22, rare: 10, epic: 6, legendary: 2 }, }; /** Available species in shop */ -export const SHOP_SPECIES: FishSpecies[] = ["angelfish", "goldfish", "guppy", "fish1", "fish2", "fish3"]; +export const SHOP_SPECIES: FishSpecies[] = ["angelfish", "goldfish", "guppy", "neon_tetra", "oscar", "knifefish", "clownfish", "fish1", "fish2", "fish3"]; /** Species display names */ export const SPECIES_NAMES: Record = { @@ -94,4 +102,8 @@ export const SPECIES_NAMES: Record = { fish1: "Cute Fish I", fish2: "Cute Fish II", fish3: "Cute Fish III", + neon_tetra: "Neon Tetra", + oscar: "Oscar Cichlid", + knifefish: "Ghost Knifefish", + clownfish: "Clownfish", }; diff --git a/src/game/state.ts b/src/game/state.ts index 68f3346..b2b1106 100644 --- a/src/game/state.ts +++ b/src/game/state.ts @@ -10,9 +10,15 @@ export function createDefaultState(): GameState { makeFish("angelfish", 0.55), makeFish("angelfish", 0.50), makeFish("goldfish", 0.45), - makeFish("goldfish", 0.40), makeFish("guppy", 0.40), makeFish("guppy", 0.35), + makeFish("neon_tetra", 0.30), + makeFish("neon_tetra", 0.28), + makeFish("oscar", 0.60), + makeFish("knifefish", 0.50), + makeFish("clownfish", 0.40), + makeFish("fish1", 0.45), + makeFish("fish2", 0.50), ]; return { version: VERSION, diff --git a/src/game/types.ts b/src/game/types.ts index 22d1159..9cedf6f 100644 --- a/src/game/types.ts +++ b/src/game/types.ts @@ -1,7 +1,7 @@ export type Rarity = "common" | "uncommon" | "rare" | "epic" | "legendary"; export type Pattern = "solid" | "striped" | "spotted" | "gradient"; export type Gender = "male" | "female"; -export type FishSpecies = "angelfish" | "goldfish" | "guppy" | "fish1" | "fish2" | "fish3"; +export type FishSpecies = "angelfish" | "goldfish" | "guppy" | "fish1" | "fish2" | "fish3" | "neon_tetra" | "oscar" | "knifefish" | "clownfish"; export interface Genetics { hueShift: number; // -30 to +30 diff --git a/src/main.ts b/src/main.ts index 9e76065..5de924b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -47,12 +47,16 @@ function isQuaternius(sp: FishSpecies): boolean { } function getSpeciesUrl(sp: FishSpecies): string { const urls: Record = { - angelfish: "models/angelfish.glb", + angelfish: "models/blendswap/blueface_angelfish.glb", goldfish: "models/goldfish.glb", guppy: "models/guppy.glb", fish1: "models/quaternius/glb/Fish1.glb", fish2: "models/quaternius/glb/Fish2.glb", fish3: "models/quaternius/glb/Fish3.glb", + neon_tetra: "models/blendswap/neon_tetra.glb", + oscar: "models/blendswap/oscar_cichlid.glb", + knifefish: "models/blendswap/ghost_knifefish.glb", + clownfish: "models/blendswap/clownfish.glb", }; return urls[sp]; }