Tabletop Simulator

Tabletop Simulator

Gloomhaven - Campaign Manager
39 Comments
Liyarin 24 Jun, 2021 @ 6:54am 
Ooh, I didn't realize that it uses snap points for it. We did indeed change those snap points very early on because they used to be non-directional and my group just tends to prefer directional ones. I completely forgot that we did that.

Thanks for going through the trouble for me. The rift events deck is pretty much untouched anyway, it was only there because the fantasy table had no place in the belt for them.

Side note: After I imported, there were so many characters, that some of the character boxes went flying all over, might want to look into that xD But everything seems to work fine
Sebästschjin  [author] 24 Jun, 2021 @ 6:18am 
@Liyarin
It seems that in your save the snap points that where attached to the deck mats where destroyed and replaced with ones that are only attached to the global table, but not the mat. Thus the campaign manager couldn't find different stuff it needed to work (like the event and quest deck). Not sure, if this was intentional, but this currently breaks the Campaign Manager as it relies on certain things on the table.

I did trick the Campaign Manager a bit, to make it work for your save and created it for you. You can find it here:
https://gist.github.com/Sebaestschjin/6c3219545696d64472ebb946482943ed
Copy that and create a Notebook called Savefile within Gloomhaven Enhanced. Paste the content and then hit the load button on the Campaign Manager there. This then imports your save.

Note that Rift Events currently are supported though. This deck has to be recreated there.
Liyarin 23 Jun, 2021 @ 6:57pm 
Ah okay, I had removed the book from there actually, and I still got the error, but it only happened after I added 9 characters, which apparently is the limit... A little warning about that limit would be nice.

However, I got another error again, same save file, after repacking all 15 characters, I got:
chunk_3(6527,12-77): attempt to index a nil value
Sebästschjin  [author] 23 Jun, 2021 @ 11:37am 
@Liyarin
The reason is the place of your rule book. When packing up a character, the CM tries to find a free spot beneath the Party Sheet where it then places it. Since the whole area is already occupied, it can't find a spot. I'll rework that in the next release so that the error is at least clear or use another place. In the meantime you can move the rulebook somewhere else and try again.
Liyarin 23 Jun, 2021 @ 9:18am 
I'm having a similar issue to Wicked_Suspenders...

When trying to repack some of the characters, a similar error appears:
[...] chunk_3(746,31-36): cannot convert a void to a clr type UnityEngine.Vector3

Here is one of my saves, there are classes that I haven't "cleaned" yet, but the ones on the board should be clean and seem to cause that error:
https://drive.google.com/file/d/15hifWUceVZXThpnMG6Y9AYUsPxQRrQ9Z/view?usp=sharing
Mercolt 20 May, 2021 @ 12:48pm 
Йоу, это очень крутая штука. :steamthumbsup:
Sebästschjin  [author] 7 May, 2021 @ 2:07am 
@Wicked_Suspenders
Could you try with the latest version? It should be fixed now thanks to DblTapThat.
DblTapThat 3 May, 2021 @ 2:58pm 
Sorry, had to log in to the PC.
The error comes from it failing to log a message to the console when adding a modifier card.
I would hazard a guess that its the 3rd perk on the Red Guard, as I may have got that one wrong when providing the JOTL data for the mod. (I also got 2 of the box guids the wrong way round, yikes)
@Sebästschjin I've just sent you a patch with the fixes
DblTapThat 3 May, 2021 @ 2:47pm 
I know what this is
Sebästschjin  [author] 2 May, 2021 @ 10:38pm 
Please upload your TTS save file somewhere so I can take a look. Otherwise it's hard to see what's wrong as the error messages alone are too generic. Being far into the campaign shouldn't be a problem. But maybe I forgot to include something (probably the envelope content) which might raise those errors.
Wicked_Suspenders 2 May, 2021 @ 3:30pm 
Some specific error text:

- Error in Script (Gloomhaven Campaign Manager - 5e5e05): chunk_3: (688,31-36): cannot convert a void to a clr type UnityEngine.Vector3 <15>
- '' (5708, 4-44) invalid option "%, " to "format"
- '' (1508, 4-69) attempt to index a nil value <3>

Wicked_Suspenders 2 May, 2021 @ 3:28pm 
So our 4 person group is pretty endgame/full complete. We've unlocked all characters, many have enhancements as we've retired a bunch. We've also unlocked and opened all envelopes and contents within. I am attempting to use the manager to save up the files and port over to the new TTS mod, but continuously getting different versions of the "chunk_3: (###-###) index a nil value" errors.

Is our game too far gone to be saved using this method? We'd love to update to the new TTS mod, but reading through the comments/issues on here, we have most of them lol.

Any help appreciated!
DblTapThat 21 Apr, 2021 @ 6:18pm 
I’ve also been looking at how to add extensible support for custom classes to it.
DblTapThat 21 Apr, 2021 @ 6:17pm 
I’ve actually been working more on a fork of your project, and have made this change, can probably submit a PR to the repo with it if you’d like.

I did want to check with you though, do you have any objection if I publish a forked version of the GCM within another larger Gloomhaven mod I’m working on, would obviously give credit back to yours. Happy to discuss more in DM if you want
Sebästschjin  [author] 21 Apr, 2021 @ 12:11am 
Hm... good point. I guess I haven't though about that and just kept them there as they are not available and you wouldn't look for them anyway. However, I guess it would make more sense to actually remove them like the other cards so the event decks actually get smaller.
DblTapThat 16 Apr, 2021 @ 1:03pm 
Is it intentional that ‘removed’ road and city events are put on the bottom of the decks for the still locked events of that type?
Sebästschjin  [author] 17 Mar, 2021 @ 12:51am 
Ah, I see. Modifying the scripts should be fairly easy if you are already familiar with TTS scripting. The whole stuff is on GitHub and you can modify it to your liking. If you want to get a better understanding of how things are working, we can chat about that. :-)
I also thought about an extension mechanism for custom objects. If you'd modify the scripts yourself, you'd have to problem that you wouldn't get updates automatically anymore. So I was thinking about a mechanisms where you can add an object with a script somewhere on the board and my mod calls those scripts during save and load. So you could save your own objects as well and also restore them. This would then e.g. work for you bag of destroyed objects or the tokens. I'll give that a try with the next version and provide an example of how to use that. :-)
UprootedGrunt 16 Mar, 2021 @ 1:37pm 
"Gloomhaven Campaign Tracker" is the mod I've recently started using. I also separate the store out into an item board stolen from a different Gloomhaven mod, but that's less important. As for the bag, that was more of a catch all; my "destroyed" bag contains city and road events, treasures, locations, envelopes -- basically everything that has a "tear" symbol on it. Your way would work too, but that's just how I do it. I've also got some infinite bags for counters (and some counters for each player to track quest totals).
Nothing that I couldn't do manually, and wasn't looking for you to update anything. Was just curious how much effort I'd have to put in to modify the scripts myself. I've also got some custom scripts in my save that I'm trying to figure out how to make their own thing so I can easily move them between versions too -- nothing to do with your mod, but as an example of where my mind is right now.
Sebästschjin  [author] 16 Mar, 2021 @ 1:00pm 
Which mod do you use for scenario tracking? Depending on what it does it might be easy to support as well since the information about the scenarios is already in the save file.
As for the bag: what do you store in this bag? Getting this into the save file might be tricky and a very special case. I want to keep the save file clean from any actual information from TTS (e.g. no object IDs or positions).
Currently destroyed items are placed beside the place they come from during load (e.g. quests or random scenarios). But maybe I missed some of the destroyable things.
UprootedGrunt 16 Mar, 2021 @ 8:56am 
Say I wanted to add a couple items to what this saved (for instance, I have a bag where I store all the destroyed things so I can go back and look at it easily, and I've got at least one 'extra' mod to track the campaign path)...how easy would it be to modify this to include those?
6079 Smith W 13 Mar, 2021 @ 5:06am 
Wow. Fantastic script. Works beautifully.
Sebästschjin  [author] 21 Jan, 2021 @ 11:37pm 
@sandcastles
Just updated the mod. It now supports saving/loading the treasure deck and the witcher class. Before loading the created save file, just make sure that the character box is present somewhere on the gameboard. The mod then just takes care of the rest and loads everything.
Sebästschjin  [author] 17 Jan, 2021 @ 4:03am 
I realized I already made some helper scripts some while again, that help in creating the info I need from the game components. So it should be easy to support the Witcher class and I don't have to bother you in writing down all the data. :-) I will try this out and hope to get a new version out some time next week. I'm working on some other improvements as well and would release them together.
sandcastles 15 Jan, 2021 @ 6:32pm 
I would love to help, it's just one class that I like (Witcher), I can fill up some sort of a template with all the necessary card names and other text fields if that's how you have it working and send it to you
Sebästschjin  [author] 15 Jan, 2021 @ 9:33am 
Currently not. I haven't looked into custom characters yet. It may be difficult to support them depending on how consistent they are with how characters are defined in the main game. Do you have some specific classes in mind, so I might take a look. If you like to help to support more classes you're welcome, too. What would be required is the information for each class like their abilities and perks.
sandcastles 15 Jan, 2021 @ 2:24am 
do you plan on adding the compatibility with custom community characters (as they dont get recognized when saved)?
sandcastles 15 Jan, 2021 @ 2:13am 
oh, I looked it up, those decks have to be placed in a mat above the scenario, not to the left of the map with other cards
sandcastles 15 Jan, 2021 @ 2:00am 
I deleted one city card, and put one city card in a bag before saving, and after loading fresh gloomhaven game and loading the save, the city deck was full, am I doing something wrong?
Sebästschjin  [author] 15 Jan, 2021 @ 12:06am 
The used city and road events are tracked (not the rift events from FC though), but the treasure chests aren't. The items from the chest are saved and loaded, but not the fact that you opened a specific chest.
sandcastles 14 Jan, 2021 @ 10:42pm 
does this also track the used Road, City encounters and treasure chests?
Reflection Rip 17 Aug, 2020 @ 12:03pm 
Awesome work. :cozybethesda:
Vataro 10 Aug, 2020 @ 5:52pm 
This is great! One comment - an alternative method of transferring over saved enhancements from boxed characters is to select all of them (may need to ctl+click the starting 6), right click and save them as an object. Once you have loaded everything in the new game, delete all of the character boxes (again, you may need to ctl+click them). Then, go to Objects -> Saved Objects and click on the 3 dots for the object you saved and click "Spawn". This may be easier than creating active characters for each one and saving them separately.
demoss 24 Jul, 2020 @ 4:29am 
Ah, thanks. I wasn't aware of that TTS functionality.
Sebästschjin  [author] 23 Jul, 2020 @ 11:11pm 
@demoss
In the top menu of TTS (when a game is already loaded) there's a button called 'Notebook'. Clicking that opens all available notebooks. There are already some notebooks, like Options where you can configure some of the Gloomhaven Mod's behaviour. It's also meant for personal notes per player color.
When saving a new notebook will be created there named 'New Savefile' (after some seconds). That's the savefile you should copy. It won't create an actual TTS save file. When loading create a new notebook there called 'Savefile' and paste the content of the previous notebook, before hitting 'Load'.

@
demoss 23 Jul, 2020 @ 6:41pm 
Also, I can't figure out where the "savefile" is created - it isn't with my other saves. Where should it be?
demoss 23 Jul, 2020 @ 4:03pm 
Trying to load a save, and I can't figure out what you mean by these steps:

"Create a new notebook named "Savefile".
Copy the content of a previously created save file into that notebook (e.g. the stored file on your disk from the previous step)."

What is a "notebook" here?
Lenin 20 Jul, 2020 @ 7:35am 
I was able to update from a version before april 2020 to the newest version.
This took about 5minutes. The only thing this script missed was the road/city events, and my enhancements.

Last time I updated manually it took me two hours to get the board right.

Love this script/mod.
alchemistninja 17 Jul, 2020 @ 5:08pm 
First use of it is quite good! Thank you.
Ruth Bader Goonsburg 12 Jul, 2020 @ 11:56am 
This is awesome! Really good job on this, I only had one problem that I'll put in the bug reports thread, but I want you to know that you did a really good job and I appreciate your hard work on this!