Skip to content
Copied!

Behavior parameter reference ​

This reference covers terrestrial movement values in v1.0.1, based on src/config.rs and the runtime code. For everyday size, counts, speech, and weather settings, see user.toml settings. The original article URL remains, but the current behavior parameter files are not named config.toml.

File locations and reload ​

SystemWatched file
Macparams.toml in the loaded character asset folder; inside the app's Resources for a packaged app
Windowsbearded_dragon_params.toml, pond_turtle_params.toml, or leopard_gecko_params.toml next to Petit Mates.exe

On Windows, create a file only for the species you want to adjust. Editing files inside a distributed Mac app affects its signature and updates, so treat that path as information for asset and code authors. Everyday users can use Settings and user speech files.

Saving a watched parameter file reloads it while the app is running. Invalid TOML is not applied; the previous values remain. Omitted fields are filled from Rust baseline defaults. The loader does not merge assets/common/params.toml as a sequence of user configuration layers.

Effective value priority ​

The current order is Rust defaults → parameter file → personality recalculation. Fields marked “Overrides” in the Personality column are replaced by personality calculations even if explicitly set in the parameter file. This differs from comments in parts of the source that describe explicit values as taking precedence over personality.

The tables show Rust Default values, not final runtime values. Setting all personality values to 0.5 does not reproduce every baseline value. See customization for the built-in personalities.

Reading values ​

Times are seconds, speeds are screen-coordinate px/s, and distances are px. Arrays are [minimum, maximum] ranges. Use probabilities from 0 to 1 and keep cumulative thresholds in ascending order. Adjust gradually while preserving ordered ranges and positive durations.

For thresholds of 0.4, 0.6, and 0.8, the intervals represent 40%, 20%, 20%, and the remaining 20%. They are not three independent probabilities to add together.

[floor] ​

KeyRust baselinePersonalityMeaning
walk_speed40.0OverridesWalking speed (px/s)
walk_frame_secs0.14OverridesSeconds per walking animation frame
run_speed90.0—Running speed (px/s)
run_frame_secs0.07—Seconds per running animation frame
run_duration[1.5, 4.0]—Running burst duration range (seconds)
run_interval[20.0, 60.0]—Interval range between running bursts (seconds)
stand_duration[3.0, 8.0]—Standing idle duration range (seconds)
sit_duration[5.0, 15.0]—Sitting idle duration range (seconds)
lie_duration[20.0, 60.0]OverridesLying idle duration range (seconds)
sleep_duration[60.0, 180.0]OverridesSleeping duration range (seconds)
headbob_period[30.0, 90.0]—Interval range between mouth-opening events (seconds)
headbob_open_duration[0.3, 0.5]—Mouth-open duration range (seconds)
peek_prob0.20OverridesProbability of peeking after observation and related decisions
peek_duration0.5—Peek duration (seconds)
edge_idle_prob0.40OverridesProbability of idling at a window-top edge
edge_stand_to_sit_prob0.50—Probability of sitting after standing at an edge
edge_sit_to_lie_prob0.50—Probability of lying down after sitting at an edge
edge_lie_to_sleep_prob0.30OverridesProbability of sleeping after lying at an edge
standup_duration0.8—Stand-up duration after landing (seconds)
turn_duration0.7—Turn-around duration (seconds)
observe_duration[3.0, 8.0]—Post-landing observation duration range (seconds)
head_side_duration[10.0, 25.0]—Side-facing duration range (seconds)
head_front_duration[2.0, 6.0]—Front-facing duration range (seconds)
peek_walk_prob0.5OverridesProbability of walking after peeking; otherwise turns around
turn_walk_prob0.7—Probability of walking after turning; otherwise stands idle
stand_idle_sit_prob0.40OverridesCumulative threshold 1 after ordinary standing: sit
stand_idle_walk_prob0.60OverridesCumulative threshold 2 after ordinary standing: walk
stand_idle_turn_prob0.80—Cumulative threshold 3 after standing: turn; remaining range peeks
sit_idle_lie_prob0.30OverridesCumulative threshold 1 after ordinary sitting: lie down
sit_idle_stand_prob0.65OverridesCumulative threshold 2 after sitting: stand; remaining range walks
lie_idle_sleep_prob0.15OverridesCumulative threshold 1 after ordinary lying: sleep
lie_idle_sit_prob0.60OverridesCumulative threshold 2 after lying: sit; remaining range walks
edge_arrive_stand_prob0.40—Cumulative threshold 1 when idling at an edge: stand
edge_arrive_sit_prob0.70—Cumulative threshold 2 when idling at an edge: sit
edge_arrive_lie_prob0.90—Cumulative threshold 3 at an edge: lie down; remaining range sleeps
edge_fall_prob0.10—Conditional probability of a surprised fall when not idling at an edge
shocked_duration0.6—Duration of the surprised falling pose (seconds)

[wall] ​

KeyRust baselinePersonalityMeaning
climb_speed60.0OverridesClimbing speed (px/s)
climb_frame_secs0.22OverridesSeconds per climbing animation frame
pause_prob0.15—Pause probability checked every three climbing frames
pause_duration[2.0, 5.0]—Wall pause duration range (seconds)
entry_hold0.5—Wall-entry pose hold time (seconds)

[corner] ​

KeyRust baselinePersonalityMeaning
side_corner_secs0.3—Side-view corner transition duration (seconds)
front_corner_secs0.5—Front-view corner transition duration (seconds)
rest_prob0.30—Probability of resting at an upper corner
rest_duration[3.0, 8.0]—Upper-corner rest duration range (seconds)
lower_rest_duration[1.0, 3.0]—Lower-rest duration definition (seconds); not read by the ordinary terrestrial transition logic
rest_lying_prob0.5—Probability of lying during corner rest; otherwise sits
rest_descend_prob0.5—Probability of descending after corner rest
corner_jump_prob0.20OverridesProbability of jumping from a corner to another window
corner_jump_dist300.0—Detection distance for another window (px)
outing_interval[300.0, 900.0]OverridesForced outing interval range (seconds); [0, 0] disables it

[jump] ​

KeyRust baselinePersonalityMeaning
gravity0.6—Gravity factor; acceleration is value × 60 px/s²
runup_duration0.3—Run-up duration before a wall jump (seconds)
wall_jump_max_dist80.0—Maximum distance to a wall-jump target (px)
wall_jump_floor_margin150.0—Allowed height of a window bottom above the desktop floor (px)
climb_attract_dist600.0—Detection distance for a window to approach and climb (px)
climb_attract_prob0.35OverridesProbability of approaching a nearby window after resting on the desktop
air_speed350.0—Horizontal speed during a jump (px/s)
min_jump_vy200.0—Minimum upward launch speed (px/s)

[display] ​

KeyRust baselinePersonalityMeaning
hover_alpha0.25—Opacity under the pointer, from 0 to 1

Windows example ​

Save this as bearded_dragon_params.toml next to the EXE. These fields are not replaced by personality recalculation.

toml
[floor]
turn_duration = 1.0
standup_duration = 1.2

[display]
hover_alpha = 0.20

The values apply to all instances of the named species. See settings for everyday controls and state transitions for the decision flow. The code also defines [water]; this reference covers ordinary terrestrial behavior in free mode.