GrizzlyRidge
A component script.
Interface
What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.
conforms to
zero/source-extract/v2Grizzly Ridge — first-person bear hunting sim. One component owns the whole game: menus, HUD, player controller, stealth model, rifle, bear AI, hunts, progression, day/night.
bundleModel(bundle: ?) → void
Constants / assets
| arg | type | description |
|---|---|---|
| bundle | ? |
loadTerrainHandle(assetPath: ?) → void
Local .terrain sampling (heights grid + bilinear interpolation), so the component ships without engine-package requires.
| arg | type | description |
|---|---|---|
| assetPath | ? |
terrainHeightAt(handle: ?, x: ?, z: ?) → void
| arg | type | description |
|---|---|---|
| handle | ? | |
| x | ? | |
| z | ? |
deepCopy(t: ?) → void
| arg | type | description |
|---|---|---|
| t | ? |
mergeDefaults(dst: ?, src: ?) → void
| arg | type | description |
|---|---|---|
| dst | ? | |
| src | ? |
loadSave( ) → void
writeSave( ) → void
resetState( ) → void
clamp(v: ?, lo: ?, hi: ?) → void
Small helpers
| arg | type | description |
|---|---|---|
| v | ? | |
| lo | ? | |
| hi | ? |
groundY(x: ?, z: ?) → void
| arg | type | description |
|---|---|---|
| x | ? | |
| z | ? |
dist2D(ax: ?, az: ?, bx: ?, bz: ?) → void
| arg | type | description |
|---|---|---|
| ax | ? | |
| az | ? | |
| bx | ? | |
| bz | ? |
angleTo(fromX: ?, fromZ: ?, toX: ?, toZ: ?) → void
| arg | type | description |
|---|---|---|
| fromX | ? | |
| fromZ | ? | |
| toX | ? | |
| toZ | ? |
wrapAngle(a: ?) → void
| arg | type | description |
|---|---|---|
| a | ? |
notice(text: ?, dur: ?) → void
| arg | type | description |
|---|---|---|
| text | ? | |
| dur | ? |
subtitle(text: ?, dur: ?) → void
| arg | type | description |
|---|---|---|
| text | ? | |
| dur | ? |
hasLOS(ax: ?, ay: ?, az: ?, bx: ?, by: ?, bz: ?) → void
Terrain line-of-sight: march the ray, blocked if terrain rises above it.
| arg | type | description |
|---|---|---|
| ax | ? | |
| ay | ? | |
| az | ? | |
| bx | ? | |
| by | ? | |
| bz | ? |
buildTreeCache( ) → void
Tree cache / collision
collideObstacles(x: ?, z: ?, radius: ?) → void
| arg | type | description |
|---|---|---|
| x | ? | |
| z | ? | |
| radius | ? |
resolveClips( ) → void
Static identity literals: the publish gate pins each reference.
clip(name: ?) → void
| arg | type | description |
|---|---|---|
| name | ? |
vols( ) → void
ensureEnts( ) → void
play(name: ?, vol: ?, pitch: ?) → void
| arg | type | description |
|---|---|---|
| name | ? | |
| vol | ? | |
| pitch | ? |
step(surf: ?, vol: ?) → void
| arg | type | description |
|---|---|---|
| surf | ? | |
| vol | ? |
setLoop(name: ?, volume: ?) → void
| arg | type | description |
|---|---|---|
| name | ? | |
| volume | ? |
startAmbience( ) → void
stopAmbience( ) → void
setMusic(on: ?) → void
| arg | type | description |
|---|---|---|
| on | ? |
applyVolumes( ) → void
update(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
applySkyAndSun( ) → void
Day/night
isDawnOrDusk( ) → void
newPlayer( ) → void
Player
playerNoiseEvent(amount: ?) → void
| arg | type | description |
|---|---|---|
| amount | ? |
surfaceAt(x: ?, z: ?) → void
| arg | type | description |
|---|---|---|
| x | ? | |
| z | ? |
updatePlayer(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
bearBodyHit(bear: ?, ox: ?, oy: ?, oz: ?, dx: ?, dy: ?, dz: ?, maxT: ?) → void
Rifle
| arg | type | description |
|---|---|---|
| bear | ? | |
| ox | ? | |
| oy | ? | |
| oz | ? | |
| dx | ? | |
| dy | ? | |
| dz | ? | |
| maxT | ? |
world(lx: ?, ly: ?, lz: ?) → void
| arg | type | description |
|---|---|---|
| lx | ? | |
| ly | ? | |
| lz | ? |
fireRifle( ) → void
zonePoint(zone: ?) → void
Bears
| arg | type | description |
|---|---|---|
| zone | ? |
spawnBearEntity(species: ?, x: ?, z: ?) → void
| arg | type | description |
|---|---|---|
| species | ? | |
| x | ? | |
| z | ? |
spawnBear(species: ?, opts: ?) → void
| arg | type | description |
|---|---|---|
| species | ? | |
| opts | ? |
spawnCub(sowBear: ?, off: ?) → void
| arg | type | description |
|---|---|---|
| sowBear | ? | |
| off | ? |
dropBlood(x: ?, z: ?) → void
blood trail drop
| arg | type | description |
|---|---|---|
| x | ? | |
| z | ? |
wound(bear: ?) → void
| arg | type | description |
|---|---|---|
| bear | ? |
downBear(bear: ?) → void
| arg | type | description |
|---|---|---|
| bear | ? |
bearVocal(bear: ?, dist: ?) → void
| arg | type | description |
|---|---|---|
| bear | ? | |
| dist | ? |
updateBearDetection(bear: ?, dt2: ?) → void
| arg | type | description |
|---|---|---|
| bear | ? | |
| dt2 | ? |
updateBear(bear: ?, dt: ?) → void
| arg | type | description |
|---|---|---|
| bear | ? | |
| dt | ? |
makeSigns(targetBear: ?) → void
Signs (tracks / scat / claw marks)
| arg | type | description |
|---|---|---|
| targetBear | ? |
signDirText(yaw: ?) → void
| arg | type | description |
|---|---|---|
| yaw | ? |
clearHuntEntities( ) → void
Hunt lifecycle
startHunt(huntDef: ?) → void
| arg | type | description |
|---|---|---|
| huntDef | ? |
endHuntCleanup( ) → void
failHunt(reason: ?) → void
| arg | type | description |
|---|---|---|
| reason | ? |
winHunt( ) → void
queueSave( ) → void
updateInteract(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
btn(text: ?, id: ?, opts: ?) → void
| arg | type | description |
|---|---|---|
| text | ? | |
| id | ? | |
| opts | ? |
label(text: ?, size: ?, color: ?, opts: ?) → void
| arg | type | description |
|---|---|---|
| text | ? | |
| size | ? | |
| color | ? | |
| opts | ? |
screenSize( ) → void
menuRoot(children: ?, opts: ?) → void
| arg | type | description |
|---|---|---|
| children | ? | |
| opts | ? |
buildMainMenu( ) → void
huntCard(hunt: ?) → void
| arg | type | description |
|---|---|---|
| hunt | ? |
buildHuntSelect( ) → void
slider(labelText: ?, id: ?, value: ?) → void
| arg | type | description |
|---|---|---|
| labelText | ? | |
| id | ? | |
| value | ? |
toggleRow(labelText: ?, id: ?, on: ?) → void
| arg | type | description |
|---|---|---|
| labelText | ? | |
| id | ? | |
| on | ? |
buildSettings( ) → void
buildExtras( ) → void
buildPause( ) → void
buildResult( ) → void
compassStrip(yaw: ?) → void
| arg | type | description |
|---|---|---|
| yaw | ? |
windArrow(camYaw: ?) → void
| arg | type | description |
|---|---|---|
| camYaw | ? |
buildHUD( ) → void
renderUI( ) → void
onCallback(id: ?, data: ?) → void
Callbacks
| arg | type | description |
|---|---|---|
| id | ? | |
| data | ? |
ensureInit( ) → void
Lifecycle
awake( ) → void
start( ) → void
aimAtBear(bear: ?) → void
Test-harness commands, consumed from public.debugCmd once per frame.
| arg | type | description |
|---|---|---|
| bear | ? |
findSow( ) → void
runDebugCmd(cmd: ?) → void
| arg | type | description |
|---|---|---|
| cmd | ? |
mirrorDebugState( ) → void
update(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
dbg(_self: ?, cmd: ?, a: ?, b: ?) → void
Test/inspection hook: entity.find("game").component.get("GrizzlyRidge"):dbg(cmd, ...)
| arg | type | description |
|---|---|---|
| _self | ? | |
| cmd | ? | |
| a | ? | |
| b | ? |
onDestroy( ) → void
Sub-parts
Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.
Problems
Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.
agent_score is exposed.+ quality × 0.35
+ performance × 0.25
± compat factor
Usability ratings
Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".
Scoped to this part · feeds back into the world's score.