Kinfire Style Initiative

Discuss macro implementations, ask for macro help (to share your creations, see User Creations, probably either Campaign Frameworks or Drop-in Resources).

Moderators: dorpond, trevor, Azhrei, giliath, jay, Mr.Ice

Post Reply
tomlib
Giant
Posts: 197
Joined: Mon Dec 29, 2008 10:48 am

Kinfire Style Initiative

Post by tomlib »

I've been playing the Kinfire Chronicles Board Game; and I enjoy its Initiative system. I'd like to try and recreate it in MapTool but I'm running into a problem.

In KC, initiative is based on a bag of chits which you pull from randomly. Pull a number and the enemy goes, pull a player and a player goes. It's a bit more complicated than that but that is the gist of it. The chit is then removed and put to the side so it can't be picked again. Essentially a setTableRollOnce-true situation.

The problem occurs when you pull more than a single chit and the players pick which chit is to be used with the others returning to the bag. A common occurrence.

If I set the table to PickOnce-true, then loop through using value = table("chits") to pick chits to get the list for players to choose, it reduces the table while doing so. I don't want to reduce the table, just get a list of choices.

If I turn PickOnce-false before the loop to get the list of chits, and turn it back on after, it resets the table with all entries. I'm beginning to suspect I'm going to need to use an Array rather than a table to make this work.

Can anyone confirm this or suggest a way to make it work?

Thank you for the help.

Tom

User avatar
aliasmask
RPTools Team
Posts: 9080
Joined: Tue Nov 10, 2009 6:11 pm
Location: California

Re: Kinfire Style Initiative

Post by aliasmask »

An array would be simpler. Also, you don't have to recreate the mechanics if a formula can work in its place. I would need to know more about what can be picked to offer a suggestion though. But as for the array, you could have 2 or 3. 3 would just be a master list so you don't have to recreate the starting array each time. Then you would have your "deck" and "discard" arrays. You would need macros for "draw" which just would be json.get(array,0) after doing a json.shuffle(array) assuming the array isn't empty. You also need a "put" macro which take a value and put in to target array like a discard deck. There may already be a deck set of macros on here on our Discord channel.

tomlib
Giant
Posts: 197
Joined: Mon Dec 29, 2008 10:48 am

Re: Kinfire Style Initiative

Post by tomlib »

Yeah, thanks for the suggestions aliasmask.

I went with Property Sheets but otherwise pretty much as you suggested. One property with the Master List to rebuild and one with the Working List. I had to have a Burn List as well for the rebuild because there are some powers that let you remove a chit from the bag for the session. If one of the enemies has a particularly nasty attack you can kill one of the chits that calls it.

There are some other nuances as well. You rebuild the Master List if you pull four of a certain type of token, so I put in a Counter Property for that as well.

It seems to work perfectly for the moment, but I'll have to build out the Framework with Actions and Boosts and do a lot of playtesting. Anyway, glad to hear you think this way is best.

Tom

Post Reply

Return to “Macros”