Skip to content

Documentation

Julian Koberg edited this page Aug 1, 2025 · 84 revisions

List of JSON Keys (Not all values have to be used. Though some may)
If you do not know how to use a specific option, check out its corresponding guide.

Custom Entry Values

Main Values

  • "monster_name" (Example: "TEST_NAME"): Name of the monster.
  • "monster_description" (Example: "DESCRIPTION"): Description of the monster, allows special formatting.
  • "monster_portrait_image_name" (Example: "image.png"): Name of the image inside the same folder.
  • "monster_audio_clip_name" (Example: "sound.wav"): Name of the audio clip file inside the same folder.
  • "access_level" (Examples (INT): 0-5): Which access level is needed when playing the main campaign (0 → No permissions needed).
  • "include_campaign" (Examples: true, false) (Default: false): If to include it in the main campaign.
  • "attached_custom_campaign_name" (Example: "Name of custom campaign"): If to be included in a custom campaign. Only requires a name to be provided. Will only show up in the custom campaign provided.

Advanced

  • "monster_id" (Optional / Deprecated) (INT (Examples: 0-99999)): ID for the monster. It is best to leave it empty and let the mod handle it for you. If the ID already exists, it will instead replace it. I do not recommend using this to replace it unless you are replacing an entry in a complicated matter. Use the replace option in the advanced section instead!

Phobias

  • "spider_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if spider phobia is enabled.
  • "darkness_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if darkness phobia is enabled.
  • "dog_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if dog phobia is enabled.
  • "holes_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if holes phobia is enabled.
  • "insect_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if insect phobia is enabled.
  • "watching_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if watching phobia is enabled.
  • "tight_space_phobia" (Optional) (Examples: true, false) (Default: false): If to hide the image of the entry if tight spaces phobia is enabled.

DLC: Seasonal Worker

  • "only_dlc" (Examples: true, false) (Default: false): If to only show in the DLC.
  • "include_dlc" (Examples: true, false) (Default: false): If to also include in the DLC.

Caller Arcade Mode Values (Values of the caller for the Entry)

  • "arcade_calls" (List) (Example: ["Hello, I have this problem…", "Hi, I think I have this problem…"]): Texts that appear when called in Arcade (Training) Mode. Will choose a random one from the list.
  • "caller_audio_clip_name" (Example: "sound.wav"): Audio played when called for this entry.

Caller Main Campaign Values (Values of the caller for the entry) (Requires include_campaign to be true)

This is for main campaign callers! For custom campaigns, see how to add custom callers.

  • "caller_audio_clip_name" (Example: "sound.wav"): Audio played when called for this entry.
  • "caller_name" (Example: "John Safety"): Name of the caller.
  • "caller_transcript" (Example: "Hello, I need help."): Transcript of the caller in text form.
  • "caller_image_name" (Example: "image.png"): Name of the image for the caller inside the same folder.
  • "caller_chance" (Example: 0.3) (Default 0.1): Chance that this entry replaces the caller. Must be between 0.0 and 1.0. (Or equal). Requires to be included in the main campaign for it to work.
  • "allow_calling_again_over_restarts" (Default: true) (Example: true, false): If the call is allowed to happen again upon restarting the game. The default is true. If set to false, it would prevent you from getting that call again (Setting this to true or not providing the option will reset the previous save for it).

Consequence Main Campaign Values (Values of the caller for the entry after the player got it wrong) (Requires include_campaign to be true)

This is for main campaign consequence callers! For custom campaign, see how to add custom callers.

  • "consequence_caller_audio_clip_name" (Example: "sound.mp3"): Audio played when called for this entry after the player got it wrong.
  • "consequence_caller_name" (Example: "John Safety"): Name of the consequence caller.
  • "consequence_caller_transcript" (Example: "Hello, I need help."): Consequence caller transcript in text form.
  • "consequence_caller_image_name" (Example: "image.png"): Name of the image for the consequence caller inside the same folder.

Advanced Values

  • "replace_entry" (Examples: true, false) (Default: false): Replace an entry / monster instead of adding it. (Also works in custom campaigns)

Custom Campaign Values

Main Values

  • "custom_campaign_name" (Example: "Custom Campaign Name"): The internal name of the custom campaign. Must be unique.
  • "custom_campaign_days" (Example: 5): Amount of days the custom campaign runs for. Do not provide less days than actually used.
  • "custom_campaign_desktop_name" (Example: "Custom Campaign\nDesktop Name"): Name of custom campaign on the desktop. This option is purely cosmetic!
  • "custom_campaign_icon_image_name" (Example: "smug_cat.png"): Image used for icon on the desktop.
  • "custom_campaign_remove_main_entries" (Example: true) (Default: false): Removes all default entries / monsters from the custom campaign.

Thresholds for Warning and Game Over

  • "custom_campaign_gameover_threshold" (Default Value: 60): Threshold for when to trigger the game over screen at the end of the day. (Except the first day)
  • "custom_campaign_warning_threshold" (Default Value: 60): Threshold for when to trigger a warning call. As a reminder: it happens after a certain caller.
  • "custom_campaign_threshold_amount" (Example: [3, 2, 3, 4, 5, 7]): This refers to the amount of monster / entry callers that need to have called before the warning call happens. This does not include dynamic (non-entry) callers.

Game Over and End Cutscenes

  • "custom_campaign_end_cutscene_video_name" (Example: "cat_upset.mp4"): Cutscene video to show at the end of the campaign. Meaning that they finished the campaign successfully.
  • "custom_campaign_gameover_cutscene_video_name" (Example: "cat_upset.mp4"): Cutscene video to show when the player loses in the campaign. Meaning, when the player didn't have enough correct callers at the end of the day. This does not trigger on the first day.

Day Customization

  • "custom_campaign_days_names" (Example: ["Monday", "Second Day", ..., "Last Day]): A list of names for the different days. These get shown at the beginning of each day.

  • "start_year" (Example: 1997): The year that will be displayed on the desktop date.

  • "start_month": (Example: 12): The month that will be displayed on the desktop date.

  • "start_day" (Example: 15): The day that will be displayed on the desktop date.

  • "use_europe_date_format" (Example: true) (Default: false): If to show the desktop date in the European date format.

Loading Settings

  • "custom_campaign_loading_desktop_text1" (Example: ["First Text loading", "First Text loading.", "First Text loading..", "First Text loading..."]): Text shown when loading into the desktop. The game loops through each text in the list. So by adding a dot at the end, you can animate loading text.
  • "custom_campaign_loading_desktop_text2" (Example: ["Second Text loading", "Second Text loading\nSecond Text loading 2"]): This section of the loading screen just goes through each line and displays that (It does not loop).

Desktop Settings

  • "desktop_username_text" (Example: "USER Bob"): Username to show on the desktop.

  • "custom_campaign_desktop_backgrounds" (Example: ["firstDayBackground.png", "secondDayBackground.png"]): Background to show for each different day. The first image in the list is for the first day, the second image for the second day, and so on.

  • "custom_campaign_desktop_game_finished_background" (Example: "cat.jpg"): When the player beats the game, they get to see a custom background. You can provide that banner with this option.

  • "disable_green_color_on_desktop" (Default: false): Disables the green tint on the background if set to true.

  • "disable_desktop_logo" (Default: false): Disables the logo on top of the background on desktop.

  • "custom_desktop_logo_name" (Example: "cat.jpg"): If you wish to change the logo with an image, you can use this option.

  • "custom_desktop_logo_transparency" (Default: 0.2627): Allows you to set the transparency of the logo. Higher values mean less transparency, and lower values mean more transparency.

  • "rename_main_game_desktop_icon" (Example: "John Safety Hotline"): Renames the main game program to a different name.

  • "main_game_desktop_icon_path" (Example: "cat.jpg"): Allows you to change the image of the main program on the desktop.

Removing existing main campaign emails and videos

  • "remove_default_emails" (Default: true): Removes all the main campaign emails from appearing in the custom campaign.
  • "disable_main_campaign_videos" (Default: true): Removes all main campaign videos from appearing in the custom campaign.

Helper Options for Testing in Custom Campaign

  • "entry_browser_always_active" (Default: false): Enables the entry browser on the desktop to always be accessible.

  • "scorecard_always_active" (Default: false): Enables the scorecard to be always usable on the desktop.

  • "artbook_always_active" (Default: false): Enables the art book to be always accessible.

  • "arcade_always_active" (Default: false): Enables the arcade to be always accessible.

  • "always_show_skip_call_wait_time" (Default: false): Always enables the button which skips the call wait time.

Custom Caller in custom campaign

Main Values

  • "custom_caller_name" (Example: "Bob"): Name of the custom caller.

  • "custom_caller_transcript" (Example: "This is the safety of all home hotlines."): Transcript of the caller.

  • "custom_caller_image_name" (Example: "dog.png"): Image of the caller.

  • "custom_caller_audio_clip_name" (Example: "music.mp3"): Audio of the caller.

  • "custom_campaign_attached" (Example: "Name of custom campaign"): Name of the custom campaign it should be attached to.

  • "order_in_campaign" (Example: 0 or 32): This defines the order the caller should appear in the campaign. (Please be aware that it starts at 0).

More options

  • "custom_caller_monster_name" (Example: "Pizza Cat"): If this caller has an entry attached to it. Meaning it will ask for an answer.

  • "custom_caller_downed_network" (Default: false): Disables the viewing of entries while the caller is active (downed network).

  • "custom_caller_increases_tier" (Default: false): If to increase the tier when called. Only works in custom campaign.

  • "custom_caller_last_caller_day" (Default: false): If this caller was the last one for the day. Only works in custom campaign.

  • "custom_caller_consequence_caller_id" (Example: 23): If this caller is a consequence caller (If the original caller was given the wrong answer, then this current caller is the consequence caller). You only need to provide the ID of the original caller. It will only trigger if the original caller was given the wrong answer. Otherwise the this caller will be skipped.

Warning and Game Over

  • "is_warning_caller" (Default: false): If this caller is a warning caller (Replaces the default warning caller).

  • "warning_caller_day" (Example: 5): If provided, it will only use this warning caller for the provided day. If not provided, it will happen on each day (except it gets overridden by warning callers with a day provided).

  • "is_gameover_caller" (Default: false): If this caller should replace the default game over caller.

  • "gameover_caller_day" (Example: 1): Similar to how warning caller day is provided. If the game over should happen on a specific day (except the first day), this caller will appear for the provided day. If you do not provide this option, then this caller will appear for each day except if it already has a game over for that day.

Advanced

  • "include_in_main_campaign" (Default: false): If it is part of the main campaign. Cannot be in a custom campaign if set to true.

  • "custom_caller_monster_id" (Example: 34): ID of the monster to be attached to. Avoid using if possible. Should only be used in the main campaign unless you can guarantee that it will bind correctly.

Custom Email Values

Main Values

  • "email_subject" (Example: "VERY IMPORTANT EMAIL SUBJECT"): Subject of the email. (Title of the email)

  • "email_custom_campaign_name" (Example: "Custom Campaign Name"): Name of the custom campaign to belong to.

  • "email_sender" (Example: "Car Dealership"): Name of the sender of the email.

  • "email_body" (Example: "We have been trying to reach you for your cars extended waranty..."): Text contained in the email.

  • "email_unlock_day" (Example: 2): Day this email appears in the inbox.

  • "email_unlock_threshold" (Example: 90): If you wish to make the email unlock only if they unlocked at least a certain score on the previous day. 90 means 90% correct.

Image

  • "email_image" (Example: "parrot.png"): Image to show at the tail of the email.

Advanced

  • "email_in_main_campaign" (Default: false): If to include this email in the main campaign instead.

Custom Video Values

Main Values

  • "video_desktop_name" (Example: "dangerous_video"): Name of the video on the desktop. This is not the actual video file!
  • "video_file_name" (Example: "video_file.mp4"): The video file name. This is what gets played.
  • "custom_campaign_attached" (Example: "Name of the custom campaign"): Name of the custom campaign to be included in.
  • "video_unlock_day" (Example: 1): When this video gets unlocked.

That covers all the JSON values. If you have any questions or something is unclear, do not be afraid to ask!