Sanctum Elder, Items, and Visual Effects Config

In case you don’t know already, this post will be about things that can only be done on PC. Sorry console users.

If you don’t want to know how this works and just want a simple file edit to evict the elder and/or his magic lights, click here.

I’m not going to do anything super crazy with this, since I think the coming single player/worldbuilder feature will make this outdated and/or broken.
Additionally, I’m just going over a few things quickly, so if you’re an advanced user and curious, you should look into more details.

Warnings
Any time you modify config files, you are risking the stability of your game. You should always make backups before making modifications, and you should always be aware that sometimes using the Steam restore files feature may be necessary, so I recommend you keep notes on what you have changed in case you need to do a full wipe.

All of these files are in Boundless/gamescripts/sanctum

playerstart_rerun.json.
This file determines which scripts are run when the sanctum is loaded. Deleting the file reference from the array will completely remove that script from the sanctum startup. If you learn how the script files below work, you can also add additional scripts to this file, if you want to organize things that way.

default/player.json
I haven’t messed with this one much, but you can use it to modify the player starting location. modifying the position data near the top of the file will move your start location and orientation. image
I will not try deleting this, as it will likely just cause a crash.

vfx.json
Deleting this from playerstart_rerun.json or deleting everything in it’s array will disable the visual effects in the sanctum.
Note, in all screenshots, that I am using other config files to change the colors in my sanctum. These files do not affect color from what I have seen.


Contents of vfx.json for the above:
image

Config Details

temple_runes_atmo: This one is just the rune things that float up.

temple_magic_center: Controls the big glow in the middle


Setting this to image does pretty well at getting rid of the annoying floor glow by putting it under the floor.

temple_magic_ray: The two beams of light/godrays in the sky
2:


1:

leader.json
This file spawns in the elder!
Modifying the v3Location will change where he stands. The middle number is height, which means you can move him to stand on a whole block rather than the annoying half block he is stuck on. The degAngleXZ will turn him a little.
This location config: image gives this:


I added grass to show that he’s standing on my own custom blocks. Previously he could float or be on his half block.

You will see a lot more elder options here. You can change his colors, wearables, tattoos, etc. To change the mask, you change the index number.
If you know how to use msgpack files, you can get the MASK, tattoo, and head indices from assets/archetypes/characte_map.msgpack

You can change what he is holding here
image
As you can see, he has sedimentary stones…

Working on building myself a clone

Okay, anyway… I’m getting tired, and this is more technical, so I’ll go over it quickly.

halloween/reaper.json
This file gives us two new special things. One is the ability to send a message and/or emote.
An object like this creates a chat message
image

The second thing is conditional actions. like this
image

There is also a player position condition, so you could have an NPC that says something when a player gets to a specific location
image

oortmas/decorations.json
This one manually spawns in the food items on the table. Unfortunately, this is just dev/engine magic, not some hidden display item.
image

7 Likes

TL;DR:

Go to Boundless//gamescripts/sanctum and open playerstart_rerun.json

To remove the beams of light, replace that text with this:
{“scripts”:[“sanctum/default/player.json”,“sanctum/default/leader.json”]}

To remove the elder, replace the text with this:
{“scripts”:[“sanctum/default/vfx.json”, “sanctum/default/player.json”]}

To remove both the elder and the beams of light, use this:
{“scripts”:[“sanctum/default/player.json”]}

1 Like

Ah - thanks for this. I’ve been meaning to poke around in some sanctum files myself; this should save me some time…

image

2 Likes

Interestingly, I run into this because there seems to be a bug when coming back from sanctum edit where your playerstart_rerun.json file gets messed up. Not sure why. I looked at the logs, compared my file to my wife’s computer, and noticed the leader.json file and went digging.

If you didn’t see the lighting thread, it’s here: How to Change Sanctum Lighting [Basic Tutorial PC] ☀

3 Likes

For the index number for the mask wearables you can find them in the charactermap.msgpack file.
There is a list of MASK wearables, and the index from the gamescript is the index into this list + 1 (since a mask of 0 means no mask in this case).
So for example the elder’s mask is index 2, which corresponds to the 2nd element in the list below (the destiny mask).

The file also contains the info for HEAD and TATTOO etc…

MASK data from the file
"MASK": [
      {
        "lods": [
          "wearables/models/wearable_mask_goggles.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GOGGLES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_destiny.dae"
        ],
        "name": "GUI_CHARACTER_MASK_DESTINY"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_laurel.dae"
        ],
        "name": "GUI_CHARACTER_MASK_LAUREL",
        "palette": "LEAVES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_grunt.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GRUNT",
        "palette": "WOOD"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_gladiator.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GLADIATOR"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_monocle.dae"
        ],
        "name": "GUI_CHARACTER_MASK_MONOCLE"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_exo.dae"
        ],
        "name": "GUI_CHARACTER_MASK_EXO"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_shattered.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SHATTERED"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_skull.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SKULL"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_diadem.dae"
        ],
        "name": "GUI_CHARACTER_MASK_DIADEM"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_knight.dae"
        ],
        "name": "GUI_CHARACTER_MASK_KNIGHT",
        "restriction": "ONLY_ADVENTURER_BACKERS"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_crystalline.dae"
        ],
        "name": "GUI_CHARACTER_MASK_CRYSTALLINE",
        "palette": "GLEAM"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_mystery.dae"
        ],
        "name": "GUI_CHARACTER_MASK_MYSTERY",
        "palette": "ROCK",
        "restriction": "ONLY_PS4"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_swift.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SWIFT",
        "palette": "ROCK",
        "restriction": "ONLY_PS4"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_bulkhead.dae"
        ],
        "name": "GUI_CHARACTER_MASK_BULKHEAD",
        "palette": "ROCK",
        "restriction": "ONLY_PS4"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_pumpkin.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GOURD"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_santabeard.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SANTA"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_snowface.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SNOWFACE"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_rudolph.dae"
        ],
        "name": "GUI_CHARACTER_MASK_RUDOLPH"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_hearteyes.dae"
        ],
        "name": "GUI_CHARACTER_MASK_HEART_EYES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_fascinator_bow.dae"
        ],
        "name": "GUI_CHARACTER_MASK_FASCINATOR_BOW"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_unicornhorn.dae"
        ],
        "name": "GUI_CHARACTER_MASK_UNICORN_HORN"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_cuttletrunk.dae"
        ],
        "name": "GUI_CHARACTER_MASK_CUTTLETRUNK"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_buttoneyes.dae"
        ],
        "name": "GUI_CHARACTER_MASK_BUTTONEYES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_screw.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SCREW"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_spider.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SPIDER"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_santahat.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SANTAHAT"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_gleamshades.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GLEAMSHADES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_starframes.dae"
        ],
        "name": "GUI_CHARACTER_MASK_STARFRAMES"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_scarf_hopper.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SCARF_HOPPER"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_scarf_spitter.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SCARF_SPITTER"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_scarf_wildstock.dae"
        ],
        "name": "GUI_CHARACTER_MASK_SCARF_WILDSTOCK"
      },
      {
        "lods": [
          "wearables/models/wearable_mask_headwings.dae"
        ],
        "name": "GUI_CHARACTER_MASK_HEADWINGS"
      },
      {
        "effects": [
          "gleambow_bubbles"
        ],
        "lods": [
          "wearables/models/wearable_mask_gleambow_bubblepipe.dae"
        ],
        "name": "GUI_CHARACTER_MASK_GLEAMBOW_BUBBLES"
      },
      {
        "effects": [
          "gleambow_bubbles"
        ],
        "lods": [
          "wearables/models/wearable_mask_anniversary_hat.dae"
        ],
        "name": "GUI_CHARACTER_MASK_BIRTHDAY_HAT"
      }
    ]

And there is only one HAT option so I guess it always defaults to that.

2 Likes

Awesome, thank you. I poked around some files trying to find that, but didn’t see that one. I was pretty sure it had to be mapped somewhere!

2 Likes