diff --git a/shared/lootboxes.ts b/shared/lootboxes.ts index f24278f..910ff39 100644 --- a/shared/lootboxes.ts +++ b/shared/lootboxes.ts @@ -109,6 +109,10 @@ export const series1: Lootbox = { id: "romance", rarity: "uncommon", }, + { + id: "rainbow", + rarity: "uncommon", + }, { id: "flowers", rarity: "rare", diff --git a/src/assets/themes/halloween/pumpkin/1.png b/src/assets/themes/halloween/pumpkin/1.png new file mode 100644 index 0000000..f411f19 Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/1.png differ diff --git a/src/assets/themes/halloween/pumpkin/2.png b/src/assets/themes/halloween/pumpkin/2.png new file mode 100644 index 0000000..4737923 Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/2.png differ diff --git a/src/assets/themes/halloween/pumpkin/3.png b/src/assets/themes/halloween/pumpkin/3.png new file mode 100644 index 0000000..ee34b4d Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/3.png differ diff --git a/src/assets/themes/halloween/pumpkin/4.png b/src/assets/themes/halloween/pumpkin/4.png new file mode 100644 index 0000000..8cb520b Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/4.png differ diff --git a/src/assets/themes/halloween/pumpkin/5.png b/src/assets/themes/halloween/pumpkin/5.png new file mode 100644 index 0000000..307b99a Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/5.png differ diff --git a/src/assets/themes/halloween/pumpkin/6.png b/src/assets/themes/halloween/pumpkin/6.png new file mode 100644 index 0000000..33d1a3b Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/6.png differ diff --git a/src/assets/themes/halloween/pumpkin/7.png b/src/assets/themes/halloween/pumpkin/7.png new file mode 100644 index 0000000..66d966d Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/7.png differ diff --git a/src/assets/themes/halloween/pumpkin/8.png b/src/assets/themes/halloween/pumpkin/8.png new file mode 100644 index 0000000..b9b9cce Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/8.png differ diff --git a/src/assets/themes/halloween/pumpkin/flag.png b/src/assets/themes/halloween/pumpkin/flag.png new file mode 100644 index 0000000..e7a8e49 Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/flag.png differ diff --git a/src/assets/themes/halloween/pumpkin/last-pos.png b/src/assets/themes/halloween/pumpkin/last-pos.png new file mode 100644 index 0000000..ea1d32e Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/last-pos.png differ diff --git a/src/assets/themes/halloween/pumpkin/mine.png b/src/assets/themes/halloween/pumpkin/mine.png new file mode 100644 index 0000000..02f7a7c Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/mine.png differ diff --git a/src/assets/themes/halloween/pumpkin/pumpkin.aseprite b/src/assets/themes/halloween/pumpkin/pumpkin.aseprite new file mode 100644 index 0000000..e2fcfef Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/pumpkin.aseprite differ diff --git a/src/assets/themes/halloween/pumpkin/question-mark.png b/src/assets/themes/halloween/pumpkin/question-mark.png new file mode 100644 index 0000000..4b72399 Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/question-mark.png differ diff --git a/src/assets/themes/halloween/pumpkin/revealed.png b/src/assets/themes/halloween/pumpkin/revealed.png new file mode 100644 index 0000000..eea3806 Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/revealed.png differ diff --git a/src/assets/themes/halloween/pumpkin/tile.png b/src/assets/themes/halloween/pumpkin/tile.png new file mode 100644 index 0000000..86b7c9f Binary files /dev/null and b/src/assets/themes/halloween/pumpkin/tile.png differ diff --git a/src/assets/themes/halloween/vampire/1.png b/src/assets/themes/halloween/vampire/1.png new file mode 100644 index 0000000..c32a40d Binary files /dev/null and b/src/assets/themes/halloween/vampire/1.png differ diff --git a/src/assets/themes/halloween/vampire/2.png b/src/assets/themes/halloween/vampire/2.png new file mode 100644 index 0000000..778cb50 Binary files /dev/null and b/src/assets/themes/halloween/vampire/2.png differ diff --git a/src/assets/themes/halloween/vampire/3.png b/src/assets/themes/halloween/vampire/3.png new file mode 100644 index 0000000..415f5c9 Binary files /dev/null and b/src/assets/themes/halloween/vampire/3.png differ diff --git a/src/assets/themes/halloween/vampire/4.png b/src/assets/themes/halloween/vampire/4.png new file mode 100644 index 0000000..90c91e0 Binary files /dev/null and b/src/assets/themes/halloween/vampire/4.png differ diff --git a/src/assets/themes/halloween/vampire/5.png b/src/assets/themes/halloween/vampire/5.png new file mode 100644 index 0000000..9e72f1d Binary files /dev/null and b/src/assets/themes/halloween/vampire/5.png differ diff --git a/src/assets/themes/halloween/vampire/6.png b/src/assets/themes/halloween/vampire/6.png new file mode 100644 index 0000000..78b47fe Binary files /dev/null and b/src/assets/themes/halloween/vampire/6.png differ diff --git a/src/assets/themes/halloween/vampire/7.png b/src/assets/themes/halloween/vampire/7.png new file mode 100644 index 0000000..364c632 Binary files /dev/null and b/src/assets/themes/halloween/vampire/7.png differ diff --git a/src/assets/themes/halloween/vampire/8.png b/src/assets/themes/halloween/vampire/8.png new file mode 100644 index 0000000..d446379 Binary files /dev/null and b/src/assets/themes/halloween/vampire/8.png differ diff --git a/src/assets/themes/halloween/vampire/flag.png b/src/assets/themes/halloween/vampire/flag.png new file mode 100644 index 0000000..b32025a Binary files /dev/null and b/src/assets/themes/halloween/vampire/flag.png differ diff --git a/src/assets/themes/halloween/vampire/last-pos.png b/src/assets/themes/halloween/vampire/last-pos.png new file mode 100644 index 0000000..f8f2226 Binary files /dev/null and b/src/assets/themes/halloween/vampire/last-pos.png differ diff --git a/src/assets/themes/halloween/vampire/mine.png b/src/assets/themes/halloween/vampire/mine.png new file mode 100644 index 0000000..c49e3f3 Binary files /dev/null and b/src/assets/themes/halloween/vampire/mine.png differ diff --git a/src/assets/themes/halloween/vampire/question-mark.png b/src/assets/themes/halloween/vampire/question-mark.png new file mode 100644 index 0000000..7779c5c Binary files /dev/null and b/src/assets/themes/halloween/vampire/question-mark.png differ diff --git a/src/assets/themes/halloween/vampire/revealed.png b/src/assets/themes/halloween/vampire/revealed.png new file mode 100644 index 0000000..a44b0ac Binary files /dev/null and b/src/assets/themes/halloween/vampire/revealed.png differ diff --git a/src/assets/themes/halloween/vampire/tile.png b/src/assets/themes/halloween/vampire/tile.png new file mode 100644 index 0000000..a44cb8d Binary files /dev/null and b/src/assets/themes/halloween/vampire/tile.png differ diff --git a/src/assets/themes/halloween/vampire/vampire.aseprite b/src/assets/themes/halloween/vampire/vampire.aseprite new file mode 100644 index 0000000..eda3525 Binary files /dev/null and b/src/assets/themes/halloween/vampire/vampire.aseprite differ diff --git a/src/assets/themes/halloween/zombie/1.png b/src/assets/themes/halloween/zombie/1.png new file mode 100644 index 0000000..e16b36e Binary files /dev/null and b/src/assets/themes/halloween/zombie/1.png differ diff --git a/src/assets/themes/halloween/zombie/2.png b/src/assets/themes/halloween/zombie/2.png new file mode 100644 index 0000000..e34af45 Binary files /dev/null and b/src/assets/themes/halloween/zombie/2.png differ diff --git a/src/assets/themes/halloween/zombie/3.png b/src/assets/themes/halloween/zombie/3.png new file mode 100644 index 0000000..0c81bc4 Binary files /dev/null and b/src/assets/themes/halloween/zombie/3.png differ diff --git a/src/assets/themes/halloween/zombie/4.png b/src/assets/themes/halloween/zombie/4.png new file mode 100644 index 0000000..c9d160e Binary files /dev/null and b/src/assets/themes/halloween/zombie/4.png differ diff --git a/src/assets/themes/halloween/zombie/5.png b/src/assets/themes/halloween/zombie/5.png new file mode 100644 index 0000000..ac2140a Binary files /dev/null and b/src/assets/themes/halloween/zombie/5.png differ diff --git a/src/assets/themes/halloween/zombie/6.png b/src/assets/themes/halloween/zombie/6.png new file mode 100644 index 0000000..e074d9d Binary files /dev/null and b/src/assets/themes/halloween/zombie/6.png differ diff --git a/src/assets/themes/halloween/zombie/7.png b/src/assets/themes/halloween/zombie/7.png new file mode 100644 index 0000000..c1a76ae Binary files /dev/null and b/src/assets/themes/halloween/zombie/7.png differ diff --git a/src/assets/themes/halloween/zombie/8.png b/src/assets/themes/halloween/zombie/8.png new file mode 100644 index 0000000..a06c61f Binary files /dev/null and b/src/assets/themes/halloween/zombie/8.png differ diff --git a/src/assets/themes/halloween/zombie/flag.png b/src/assets/themes/halloween/zombie/flag.png new file mode 100644 index 0000000..90fda8d Binary files /dev/null and b/src/assets/themes/halloween/zombie/flag.png differ diff --git a/src/assets/themes/halloween/zombie/last-pos.png b/src/assets/themes/halloween/zombie/last-pos.png new file mode 100644 index 0000000..80256f9 Binary files /dev/null and b/src/assets/themes/halloween/zombie/last-pos.png differ diff --git a/src/assets/themes/halloween/zombie/mine.png b/src/assets/themes/halloween/zombie/mine.png new file mode 100644 index 0000000..dc058d1 Binary files /dev/null and b/src/assets/themes/halloween/zombie/mine.png differ diff --git a/src/assets/themes/halloween/zombie/question-mark.png b/src/assets/themes/halloween/zombie/question-mark.png new file mode 100644 index 0000000..f734a57 Binary files /dev/null and b/src/assets/themes/halloween/zombie/question-mark.png differ diff --git a/src/assets/themes/halloween/zombie/revealed.png b/src/assets/themes/halloween/zombie/revealed.png new file mode 100644 index 0000000..c9b5f27 Binary files /dev/null and b/src/assets/themes/halloween/zombie/revealed.png differ diff --git a/src/assets/themes/halloween/zombie/tile.png b/src/assets/themes/halloween/zombie/tile.png new file mode 100644 index 0000000..b82541a Binary files /dev/null and b/src/assets/themes/halloween/zombie/tile.png differ diff --git a/src/assets/themes/halloween/zombie/zombie.aseprite b/src/assets/themes/halloween/zombie/zombie.aseprite new file mode 100644 index 0000000..da9677c Binary files /dev/null and b/src/assets/themes/halloween/zombie/zombie.aseprite differ diff --git a/src/assets/themes/league/league.aseprite b/src/assets/themes/league/league.aseprite index c426036..7397fcb 100644 Binary files a/src/assets/themes/league/league.aseprite and b/src/assets/themes/league/league.aseprite differ diff --git a/src/assets/themes/league/tile-2-old.png b/src/assets/themes/league/tile-2-old.png new file mode 100644 index 0000000..d830a09 Binary files /dev/null and b/src/assets/themes/league/tile-2-old.png differ diff --git a/src/assets/themes/league/tile-2.png b/src/assets/themes/league/tile-2.png index d830a09..5e98eaa 100644 Binary files a/src/assets/themes/league/tile-2.png and b/src/assets/themes/league/tile-2.png differ diff --git a/src/assets/themes/techies/dire/1.png b/src/assets/themes/techies/dire/1.png index 3b4f6f1..812b428 100644 Binary files a/src/assets/themes/techies/dire/1.png and b/src/assets/themes/techies/dire/1.png differ diff --git a/src/assets/themes/techies/dire/2.png b/src/assets/themes/techies/dire/2.png index 41b1152..d77326c 100644 Binary files a/src/assets/themes/techies/dire/2.png and b/src/assets/themes/techies/dire/2.png differ diff --git a/src/assets/themes/techies/dire/3.png b/src/assets/themes/techies/dire/3.png index ff7b5a4..0266882 100644 Binary files a/src/assets/themes/techies/dire/3.png and b/src/assets/themes/techies/dire/3.png differ diff --git a/src/assets/themes/techies/dire/4.png b/src/assets/themes/techies/dire/4.png index 8bbe20d..0631358 100644 Binary files a/src/assets/themes/techies/dire/4.png and b/src/assets/themes/techies/dire/4.png differ diff --git a/src/assets/themes/techies/dire/5.png b/src/assets/themes/techies/dire/5.png index 6dd53d0..eaa9f69 100644 Binary files a/src/assets/themes/techies/dire/5.png and b/src/assets/themes/techies/dire/5.png differ diff --git a/src/assets/themes/techies/dire/6.png b/src/assets/themes/techies/dire/6.png index b6a259b..48f78e2 100644 Binary files a/src/assets/themes/techies/dire/6.png and b/src/assets/themes/techies/dire/6.png differ diff --git a/src/assets/themes/techies/dire/7.png b/src/assets/themes/techies/dire/7.png index d0660b7..edafc40 100644 Binary files a/src/assets/themes/techies/dire/7.png and b/src/assets/themes/techies/dire/7.png differ diff --git a/src/assets/themes/techies/dire/8.png b/src/assets/themes/techies/dire/8.png index 7ecab96..51cdc56 100644 Binary files a/src/assets/themes/techies/dire/8.png and b/src/assets/themes/techies/dire/8.png differ diff --git a/src/assets/themes/techies/dire/dire.aseprite b/src/assets/themes/techies/dire/dire.aseprite index 0a154e2..4c665d6 100644 Binary files a/src/assets/themes/techies/dire/dire.aseprite and b/src/assets/themes/techies/dire/dire.aseprite differ diff --git a/src/assets/themes/techies/dire/last-pos.png b/src/assets/themes/techies/dire/last-pos.png index 63a4aa2..423198b 100644 Binary files a/src/assets/themes/techies/dire/last-pos.png and b/src/assets/themes/techies/dire/last-pos.png differ diff --git a/src/assets/themes/techies/dire/mine-1.png b/src/assets/themes/techies/dire/mine-1.png index f6dd5e4..161557c 100644 Binary files a/src/assets/themes/techies/dire/mine-1.png and b/src/assets/themes/techies/dire/mine-1.png differ diff --git a/src/assets/themes/techies/dire/mine-2.png b/src/assets/themes/techies/dire/mine-2.png index 1219db7..4ff8b40 100644 Binary files a/src/assets/themes/techies/dire/mine-2.png and b/src/assets/themes/techies/dire/mine-2.png differ diff --git a/src/assets/themes/techies/dire/question-mark.png b/src/assets/themes/techies/dire/question-mark.png index a9404aa..f6d60d3 100644 Binary files a/src/assets/themes/techies/dire/question-mark.png and b/src/assets/themes/techies/dire/question-mark.png differ diff --git a/src/assets/themes/techies/dire/tile-2-old.png b/src/assets/themes/techies/dire/tile-2-old.png new file mode 100644 index 0000000..6644915 Binary files /dev/null and b/src/assets/themes/techies/dire/tile-2-old.png differ diff --git a/src/assets/themes/techies/dire/tile-2.png b/src/assets/themes/techies/dire/tile-2.png index 6644915..a44eee1 100644 Binary files a/src/assets/themes/techies/dire/tile-2.png and b/src/assets/themes/techies/dire/tile-2.png differ diff --git a/src/assets/themes/techies/dire/tile-3-old.png b/src/assets/themes/techies/dire/tile-3-old.png new file mode 100644 index 0000000..d80f1b4 Binary files /dev/null and b/src/assets/themes/techies/dire/tile-3-old.png differ diff --git a/src/assets/themes/techies/dire/tile-3.png b/src/assets/themes/techies/dire/tile-3.png index d80f1b4..fea5c3a 100644 Binary files a/src/assets/themes/techies/dire/tile-3.png and b/src/assets/themes/techies/dire/tile-3.png differ diff --git a/src/themes/Theme.ts b/src/themes/Theme.ts index 3454d68..daa0cfb 100644 --- a/src/themes/Theme.ts +++ b/src/themes/Theme.ts @@ -13,9 +13,9 @@ export interface Theme { size: number; mine: LazySprite | WeightedLazySprites[]; tile: LazySprite | WeightedLazySprites[]; - revealed: LazySprite; + revealed: LazySprite | WeightedLazySprites[]; flag: LazySprite | WeightedLazySprites[]; - questionMark: LazySprite; + questionMark: LazySprite | WeightedLazySprites[]; lastPos: LazySprite; 1: LazySprite; 2: LazySprite; @@ -57,7 +57,7 @@ export const mainWithSpecials = ( export const useTheme = (theme: Theme) => { const [loadedTheme, setLoadedTheme] = useState( - undefined, + undefined ); useEffect(() => { const loadTheme = async () => { @@ -74,12 +74,12 @@ export const useTheme = (theme: Theme) => { weight: sprite.weight, sprite: await Assets.load((await sprite.sprite()).default), }; - }), + }) ); } return [key, loaded] as const; - }), + }) ); setLoadedTheme(Object.fromEntries(loadedEntries) as LoadedTheme); }; diff --git a/src/themes/color-palettes/crimson.ts b/src/themes/color-palettes/crimson.ts index b286c71..d816e90 100644 --- a/src/themes/color-palettes/crimson.ts +++ b/src/themes/color-palettes/crimson.ts @@ -1,6 +1,6 @@ import type { Theme } from "../Theme"; -export const crimson: Theme = { +export const crimsonTheme: Theme = { size: 32, mine: () => import("../../assets/themes/color-palettes/crimson/mine.png"), tile: () => import("../../assets/themes/color-palettes/crimson/tile.png"), diff --git a/src/themes/index.ts b/src/themes/index.ts index f2e43f8..deb98d9 100644 --- a/src/themes/index.ts +++ b/src/themes/index.ts @@ -3,7 +3,7 @@ import { blackAndWhiteTheme } from "./black-and-white"; import { catsTheme } from "./cats"; import { circuitTheme } from "./circuit"; import { circuitBinaryTheme } from "./circuit-binary"; -import { crimson } from "./color-palettes/crimson"; +import { crimsonTheme } from "./color-palettes/crimson"; import { nauticalTheme } from "./color-palettes/nautical"; import { shadowWarriorTheme } from "./color-palettes/shadow-warrior"; import { upInSmokeTheme } from "./color-palettes/up-in-smoke"; @@ -31,6 +31,7 @@ import { minecraftNetherTheme } from "./minecraft-nether"; import { minecraftOverworldTheme } from "./minecraft-overworld"; import { MLGTheme } from "./MLG"; import { poopTheme } from "./poop"; +import { rainbowTheme } from "./rainbow"; import { retroWaveTheme } from "./retro-wave"; import { romanceTheme } from "./romance"; import { techiesDireTheme } from "./techies-dire"; @@ -287,6 +288,12 @@ export const themes = [ name: "Crimson", tags: [], id: "crimson", - theme: crimson, + theme: crimsonTheme, + }, + { + name: "Rainbow", + tags: [], + id: "rainbow", + theme: rainbowTheme, }, ] as const satisfies ThemeEntry[]; diff --git a/src/themes/rainbow.ts b/src/themes/rainbow.ts new file mode 100644 index 0000000..be0f93b --- /dev/null +++ b/src/themes/rainbow.ts @@ -0,0 +1,51 @@ +import { even, type Theme } from "./Theme"; + +export const rainbowTheme: Theme = { + size: 32, + mine: () => import("../assets/themes/colors/rainbow/mine.png"), + tile: even( + () => import("../assets/themes/colors/blue/tile.png"), + () => import("../assets/themes/colors/green/tile.png"), + () => import("../assets/themes/colors/orange/tile.png"), + () => import("../assets/themes/colors/pink/tile.png"), + () => import("../assets/themes/colors/red/tile.png"), + () => import("../assets/themes/colors/turquoise/tile.png"), + () => import("../assets/themes/colors/yellow/tile.png") + ), + revealed: even( + () => import("../assets/themes/colors/blue/revealed.png"), + () => import("../assets/themes/colors/green/revealed.png"), + () => import("../assets/themes/colors/orange/revealed.png"), + () => import("../assets/themes/colors/pink/revealed.png"), + () => import("../assets/themes/colors/red/revealed.png"), + () => import("../assets/themes/colors/turquoise/revealed.png"), + () => import("../assets/themes/colors/yellow/revealed.png") + ), + flag: even( + () => import("../assets/themes/colors/blue/flag.png"), + () => import("../assets/themes/colors/green/flag.png"), + () => import("../assets/themes/colors/orange/flag.png"), + () => import("../assets/themes/colors/pink/flag.png"), + () => import("../assets/themes/colors/red/flag.png"), + () => import("../assets/themes/colors/turquoise/flag.png"), + () => import("../assets/themes/colors/yellow/flag.png") + ), + questionMark: even( + () => import("../assets/themes/colors/blue/question-mark.png"), + () => import("../assets/themes/colors/green/question-mark.png"), + () => import("../assets/themes/colors/orange/question-mark.png"), + () => import("../assets/themes/colors/pink/question-mark.png"), + () => import("../assets/themes/colors/red/question-mark.png"), + () => import("../assets/themes/colors/turquoise/question-mark.png"), + () => import("../assets/themes/colors/yellow/question-mark.png") + ), + lastPos: () => import("../assets/themes/colors/rainbow/last-pos.png"), + 1: () => import("../assets/themes/colors/blue/1.png"), + 2: () => import("../assets/themes/colors/green/2.png"), + 3: () => import("../assets/themes/colors/orange/3.png"), + 4: () => import("../assets/themes/colors/pink/4.png"), + 5: () => import("../assets/themes/colors/red/5.png"), + 6: () => import("../assets/themes/colors/turquoise/6.png"), + 7: () => import("../assets/themes/colors/yellow/7.png"), + 8: () => import("../assets/themes/default/8.png"), +};