feat: integrate BlendSwap fish models (neon tetra, oscar, knifefish, clownfish, blueface angelfish)
- Added 4 new species to shop and genetics system - Replaced maya's angelfish with higher-quality BlendSwap blueface angelfish - New starter lineup: 12 fish (angelfish x2, goldfish, guppy x2, neon tetra x2, oscar, knifefish, clownfish, quaternius x2) - Models: CC0 (angelfish, clownfish), CC-BY (neon tetra, oscar, knifefish by aeroplankton)
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+13
-1
@@ -9,6 +9,10 @@ export const FISH_PRICES: Record<FishSpecies, number> = {
|
||||
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<FishSpecies, Record<Rarity, number>> =
|
||||
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<FishSpecies, string> = {
|
||||
@@ -94,4 +102,8 @@ export const SPECIES_NAMES: Record<FishSpecies, string> = {
|
||||
fish1: "Cute Fish I",
|
||||
fish2: "Cute Fish II",
|
||||
fish3: "Cute Fish III",
|
||||
neon_tetra: "Neon Tetra",
|
||||
oscar: "Oscar Cichlid",
|
||||
knifefish: "Ghost Knifefish",
|
||||
clownfish: "Clownfish",
|
||||
};
|
||||
|
||||
+7
-1
@@ -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,
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+5
-1
@@ -47,12 +47,16 @@ function isQuaternius(sp: FishSpecies): boolean {
|
||||
}
|
||||
function getSpeciesUrl(sp: FishSpecies): string {
|
||||
const urls: Record<FishSpecies, string> = {
|
||||
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];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user