game
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/v2Blast Radius — the game. One world component owning the whole loop: menus, HUD, first-person charge placement, detonation groups, arming countdown, physics collapse, grading, pay, and progression. Mounted by scenes.main's entrypoint on a temporary entity in play mode.
own(id: ?) → void
ledger of entities this mount spawned outside the site/rig, so the next mount's awake() can sweep them if this one dies mid-session
| arg | type | description |
|---|---|---|
| id | ? |
clipRef(name: ?) → void
| arg | type | description |
|---|---|---|
| name | ? |
sfxVol(mult: ?) → void
| arg | type | description |
|---|---|---|
| mult | ? |
playUi(name: ?, vol: ?, pitch: ?) → void
| arg | type | description |
|---|---|---|
| name | ? | |
| vol | ? | |
| pitch | ? |
playAt(name: ?, pos: ?, vol: ?, pitch: ?) → void
| arg | type | description |
|---|---|---|
| name | ? | |
| pos | ? | |
| vol | ? | |
| pitch | ? |
subtitle(text: ?) → void
| arg | type | description |
|---|---|---|
| text | ? |
toast(text: ?, secs: ?) → void
| arg | type | description |
|---|---|---|
| text | ? | |
| secs | ? |
placedByType( ) → void
protectedVm( ) → void
chargeUnlockedMap( ) → void
refreshUi( ) → void
refreshHud( ) → void
setState(s: ?) → void
| arg | type | description |
|---|---|---|
| s | ? |
ensureGhost( ) → void
Ghost preview
hideGhost( ) → void
despawnGhost( ) → void
aimHit( ) → void
Raycast from the crosshair; returns hitTable?, seg?
aimedCharge( ) → void
Nearest placed charge to the aim ray (for RMB remove / scroll reassign).
ghostTick( ) → void
groupLabelTree(group: ?) → void
Charges
| arg | type | description |
|---|---|---|
| group | ? |
placeCharge( ) → void
removeCharge( ) → void
reassignOrCycleGroup(delta: ?) → void
| arg | type | description |
|---|---|---|
| delta | ? |
followCharges( ) → void
keep each charge glued to its segment (world-space offset; segments that start tumbling carry their charge approximately, which is all the fidelity a strapped-on charge needs)
clearCharges( ) → void
playerBlastDamage(pos: ?, def: ?) → void
Detonation
| arg | type | description |
|---|---|---|
| pos | ? | |
| def | ? |
boomFor(def: ?, pos: ?) → void
| arg | type | description |
|---|---|---|
| def | ? | |
| pos | ? |
startRumble( ) → void
stopRumble( ) → void
fireSequence( ) → void
gradeLetter(score: ?) → void
Grading
| arg | type | description |
|---|---|---|
| score | ? |
evaluate( ) → void
teardownSite( ) → void
Contract lifecycle
spawnMenuCam( ) → void
despawnMenuCam( ) → void
startContract(c: ?, isRetry: ?) → void
| arg | type | description |
|---|---|---|
| c | ? | |
| isRetry | ? |
quitToMenu( ) → void
armSite(all: ?) → void
Arming / countdown
| arg | type | description |
|---|---|---|
| all | ? |
beginFiring( ) → void
playingInput( ) → void
Input
countdownInput(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
awake( ) → void
Lifecycle
state( ) → void
startContract(i: ?) → void
| arg | type | description |
|---|---|---|
| i | ? |
budgetLeft( ) → void
charges( ) → void
placeAt(pos: ?, typeKey: ?, group: ?, dir: ?) → void
| arg | type | description |
|---|---|---|
| pos | ? | |
| typeKey | ? | |
| group | ? | |
| dir | ? |
placeCrosshair( ) → void
arm(all: ?) → void
| arg | type | description |
|---|---|---|
| all | ? |
fireNow( ) → void
result( ) → void
demo( ) → void
rigInfo( ) → void
click(id: ?, v: ?) → void
| arg | type | description |
|---|---|---|
| id | ? | |
| v | ? |
quit( ) → void
setBudget(v: ?) → void
| arg | type | description |
|---|---|---|
| v | ? |
hurt(v: ?) → void
| arg | type | description |
|---|---|---|
| v | ? |
update(dt: ?) → void
| arg | type | description |
|---|---|---|
| dt | ? |
onCallback(id: ?, data: ?) → void
| arg | type | description |
|---|---|---|
| id | ? | |
| data | ? |
onDestroy( ) → void
onProtectedHit(obj: ?, dmg: ?) → void
structures event wiring (module-level: St is shared, callbacks overwrite ok)
| arg | type | description |
|---|---|---|
| obj | ? | |
| dmg | ? |
onSegmentDestroyed( ) → 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.