ludic/packages/ludic.session/where.ludic
Orkuncakilkaya 19fcf60599 wip(0.S3): packages and examples migrated again from their pre-0.S sources in one run
ludic migrate state packages <every example program> packages/ludic.lab/example/plate.ludic
  1804 vars into 126 states, 64 into lets; 23498 edits in 460 files

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 15:31:34 +03:00

47 lines
1.6 KiB
Text

# where.ludic - who and where each player is; slot 0 answers through SessionLocal, live
export function ply_pid(session_st: SessionState, p: int) -> int {
if p <= 0 or not ply_on(session_st, p) { return 0 }
return session_st.session__slot[p].pid
}
export function ply_name(session_st: SessionState, p: int) -> string {
if p == 0 { return SessionLocal.name() }
if not ply_on(session_st, p) { return "" }
return session_st.session__slot[p].name
}
export function ply_x(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.x() }
return session_st.session__slot[p].x
}
export function ply_y(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.y() }
return session_st.session__slot[p].y
}
export function ply_z(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.z() }
return session_st.session__slot[p].z
}
export function ply_yaw(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.yaw() }
return session_st.session__slot[p].yaw
}
export function ply_speed(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.speed() }
return session_st.session__slot[p].speed
}
# how much a player's rest speeds the clock: their seat's or the ground's, 1 on their feet
export function ply_rest(session_st: SessionState, p: int) -> float {
if p == 0 { return SessionLocal.rest() }
return session_st.session__slot[p].rest
}
export function ply_sleeping(session_st: SessionState, p: int) -> bool {
if p == 0 { return session_st.session__me_sleeping }
return ply_on(session_st, p) and session_st.session__slot[p].sleeping
}