Release Healer Man 0.1.7

This commit is contained in:
phenom
2026-08-22 15:53:43 -04:00
parent b12fb84859
commit eca6b5db9b
99 changed files with 1931 additions and 150 deletions
+25 -6
View File
@@ -1,17 +1,36 @@
import { Sparkles } from "@react-three/drei";
import { RigidBody } from "@react-three/rapier";
import type { DungeonDefinition } from "../game/dungeonTypes";
import {
DUNGEON_PHYSICAL_COLLISION_GROUPS,
DUNGEON_WALL_COLLISION_GROUPS,
} from "./dungeonLineOfSight";
interface SlabProps {
position: [number, number, number];
size: [number, number, number];
rotationY?: number;
color?: string;
blocksLineOfSight?: boolean;
}
function CaveSlab({ position, size, rotationY = 0, color = "#25352b" }: SlabProps) {
function CaveSlab({
position,
size,
rotationY = 0,
color = "#25352b",
blocksLineOfSight = false,
}: SlabProps) {
return (
<RigidBody type="fixed" colliders="cuboid" position={position} rotation={[0, rotationY, 0]}>
<RigidBody
type="fixed"
colliders="cuboid"
collisionGroups={blocksLineOfSight
? DUNGEON_WALL_COLLISION_GROUPS
: DUNGEON_PHYSICAL_COLLISION_GROUPS}
position={position}
rotation={[0, rotationY, 0]}
>
<mesh receiveShadow castShadow>
<boxGeometry args={size} />
<meshStandardMaterial color={color} roughness={0.96} metalness={0.02} />
@@ -45,11 +64,11 @@ export function PrototypeDungeon({ definition }: { readonly definition: DungeonD
rotation={[0, entrance.yaw, 0]}
>
<CaveSlab position={[0, -0.3, 11]} size={[7.4, 0.6, 28]} />
<CaveSlab position={[-4.1, 2.15, 11]} size={[1.1, 4.9, 28]} color="#1c2c24" />
<CaveSlab position={[4.1, 2.15, 11]} size={[1.1, 4.9, 28]} color="#1c2c24" />
<CaveSlab position={[-4.1, 2.15, 11]} size={[1.1, 4.9, 28]} color="#1c2c24" blocksLineOfSight />
<CaveSlab position={[4.1, 2.15, 11]} size={[1.1, 4.9, 28]} color="#1c2c24" blocksLineOfSight />
<CaveSlab position={[0, -0.36, 31]} size={[18, 0.72, 15]} color="#2b3d31" />
<CaveSlab position={[-9.25, 2, 31]} size={[1.1, 4.7, 15]} color="#1b2a23" />
<CaveSlab position={[9.25, 2, 31]} size={[1.1, 4.7, 15]} color="#1b2a23" />
<CaveSlab position={[-9.25, 2, 31]} size={[1.1, 4.7, 15]} color="#1b2a23" blocksLineOfSight />
<CaveSlab position={[9.25, 2, 31]} size={[1.1, 4.7, 15]} color="#1b2a23" blocksLineOfSight />
<CaveSlab position={[3.3, -0.3, 44]} size={[9, 0.6, 19]} rotationY={-0.34} />
{stonePositions.map((position, index) => <Stone key={index} position={position} />)}