Encounter Tables
Moderators: dorpond, trevor, Azhrei
Forum rules
PLEASE don't post images of your entire desktop, attach entire campaign files when only a single file is needed, or generally act in some other anti-social behavior.
PLEASE don't post images of your entire desktop, attach entire campaign files when only a single file is needed, or generally act in some other anti-social behavior.
Encounter Tables
Greetings! My players are near the end of our Pangea campaign, and I'm trying to put together encounter tables for the new one, which is essentially going to be an Underdark campaign. Lets use wererats as an example. Players come across a Wererat Troupe:
I have no problem doing 1d4+1 wererats individually in a table.However, my problem is in group randoms, ie.
1d4+2 wererats AND 1d3+2 dire rats AND 1d2+1 Leader (not for how many but for his level) and a separate WereratLeader table that will figure the class of the leader, but so far I haven't been able to put the troupe together in a click. Far as I can tell tables will not take multiple random commands on one line. I haven't found table code anywhere other than tutorial and macros (where its used differently from actually in a table).
God I hope I'm making sense here.
It had occured to me that I'm just going about this the wrong way. Is there an easier way to get tables to make a group for me?
Thanks a bunch.
I have no problem doing 1d4+1 wererats individually in a table.However, my problem is in group randoms, ie.
1d4+2 wererats AND 1d3+2 dire rats AND 1d2+1 Leader (not for how many but for his level) and a separate WereratLeader table that will figure the class of the leader, but so far I haven't been able to put the troupe together in a click. Far as I can tell tables will not take multiple random commands on one line. I haven't found table code anywhere other than tutorial and macros (where its used differently from actually in a table).
God I hope I'm making sense here.
It had occured to me that I'm just going about this the wrong way. Is there an easier way to get tables to make a group for me?
Thanks a bunch.
No matter what a GM plans for, the players are certain to find another way to do it
Re: Encounter Tables
What I would do is look for information on how to trigger a table value from a macro
I got exactly what I needed from the rptool wiki
I put it in a macro and ran it, just insert the name of the table you want rolled into the questionmarks inside the command box. So you could do something like this
To instantly roll the grouped encounter from the tables. I hope this helps you
I got exactly what I needed from the rptool wiki
Code: Select all
[r: table("???")]
I put it in a macro and ran it, just insert the name of the table you want rolled into the questionmarks inside the command box. So you could do something like this
Code: Select all
/self
[r: table("E")]
[r: table("D")]
[r: table("C")]
[r: table("B")]
[r: table("A")]
To instantly roll the grouped encounter from the tables. I hope this helps you
Re: Encounter Tables
So you're saying I need to make a macro to do it? That a table cannot do it alone? I was looking for a table solution. Each critter is just one line in a table, so you're saying I'm making a table for each one-line critter type in a specific group? Eeee I didn't realize it would be that complicated. I have over 25 group types, each with 3 or 4 different critters in them with soldiers and leaders. Oh my.train850 wrote:What I would do is look for information on how to trigger a table value from a macro
I got exactly what I needed from the rptool wiki
Code: Select all
[r: table("???")]
I put it in a macro and ran it, just insert the name of the table you want rolled into the questionmarks inside the command box. So you could do something like this
Code: Select all
/self [r: table("E")] [r: table("D")] [r: table("C")] [r: table("B")] [r: table("A")]
To instantly roll the grouped encounter from the tables. I hope this helps you
Alrighty, then assuming I arrange all these one-liners. I didn't find a code to run a macro from inside a table. In other words, in my Main Encounter table, it would show me 'Wererat Troop' then I would go to the macro and run it? which is cool. Beats doing it all by hand more than once
Forgive me, I am macro illiterate. I just started using the tables to create encounters tables for various regions, since they are very good for that sort of thing.
No matter what a GM plans for, the players are certain to find another way to do it
- CoveredInFish
- Demigod
- Posts: 3104
- Joined: Mon Jun 29, 2009 10:37 am
- Location: Germany
- Contact:
Re: Encounter Tables
You can do it wih tables alone. But you have to use nested tables .. and these require the use of some macro commands.
I can't explain it out of my head but "nested tables" in the forums search should give plenty of hits.
I can't explain it out of my head but "nested tables" in the forums search should give plenty of hits.
Re: Encounter Tables
Thanks I shall do some more searching. I did find the code running specific table rows, which I thought might be useful. At least that way, I could have all group critters in one place, just have a macro run it one row at a time.CoveredInFish wrote:You can do it wih tables alone. But you have to use nested tables .. and these require the use of some macro commands.
I can't explain it out of my head but "nested tables" in the forums search should give plenty of hits.
I shall have to search for 'nested tables' later today.
No matter what a GM plans for, the players are certain to find another way to do it
Re: Encounter Tables
What he said, I thought you were trying to roll multiple encounters off of tables with a single click. Of course this topic gave me the opportunity to try out some neater macros though
- CoveredInFish
- Demigod
- Posts: 3104
- Joined: Mon Jun 29, 2009 10:37 am
- Location: Germany
- Contact:
Re: Encounter Tables
I did just a quick search - and if i didnt miss something completely - it should be way easier to do the nesting completly in macro. Actually nesting tables within tables alone seems pretty complicated.
It would be easy to create a macro that takes a formatted string (from a table) like "2*A, 1*B, 3*C" and translates that into "roll 2 times table A, once on tbl B and 3 times tbl C" .. and then actually do this.
I could help you with such a macro. You'd have to create your tables in a way that we can parse like this (how that would be exactly depends mostly on content - like can a table result include comma etc).
Using this would just be clicking a macro. We would have to establish a way how to choose which base table (the one with 2*A, 1*B" etc in it) should be used (each its own macro button, drop down list, etc).
It would be easy to create a macro that takes a formatted string (from a table) like "2*A, 1*B, 3*C" and translates that into "roll 2 times table A, once on tbl B and 3 times tbl C" .. and then actually do this.
I could help you with such a macro. You'd have to create your tables in a way that we can parse like this (how that would be exactly depends mostly on content - like can a table result include comma etc).
Using this would just be clicking a macro. We would have to establish a way how to choose which base table (the one with 2*A, 1*B" etc in it) should be used (each its own macro button, drop down list, etc).
Re: Encounter Tables
I didnt want to get all crazy with the tables yet until I got some things under the table so to speak. This topic pretty much discussed what I needed to look at in the short future, thanks.
Re: Encounter Tables
I'm very confused now. As I stated above, I already have specific groups, planned out using wererat group as an example, which includes the wererats, some dire rats and a leader. That's it. I have larger groups planned, as example, Wererat slavers, that have wererats, dire rats, leader, cleric or wizard, soldiers, slaves, wagons and animals.CoveredInFish wrote:It would be easy to create a macro that takes a formatted string (from a table) like "2*A, 1*B, 3*C" and translates that into "roll 2 times table A, once on tbl B and 3 times tbl C" .. and then actually do this.
At this point I assume a macro will roll them all together, assuming I can get them lined up. Since I already have random rolls defined in the table, then I only need the macro to look at rows, similar to the code I found in the wiki that says
Code: Select all
[r: table("tbl1", 1)]
Code: Select all
Row 1 - /r 1d4+2 wererats
Row 2 - /r 1d3+2 dire rats
Row 3 - /r 1d2+1 Leader (which actually gives level of leader)
Row 4 - /tbl WereratLeader
Then the macro would go:
Code: Select all
[r: table("tbl1", 1)]
[r: table("tbl1", 2)]
[r: table("tbl1", 3)]
[r: table("WereratLeader")]
I know I'll get it eventually if I play with it long enough.
No matter what a GM plans for, the players are certain to find another way to do it
- CoveredInFish
- Demigod
- Posts: 3104
- Joined: Mon Jun 29, 2009 10:37 am
- Location: Germany
- Contact:
Re: Encounter Tables
Sorry, didnt meant to confuse you. I was already thinking of some general solution and how "any similar" problem like yours could be solved by it. This usually makes things more confusing...
If you want the dicerolls in the table to be evaluated (aka actually rolled) Wiki: eval() will be handy.
I think you'll have to drop the /r bits as slash commands are chat commands and work only in macro if they are very first signs there. I'd built the macro part a little bit more flexible (so you can use it again and again with only minor modifications) and it would look like this...
Table
Macro
the count-loop does the same thing you had written out.
it counts from 0 up to 3 (actually to x with x<nrOfLines) .
the important part is the eval() that treats the strings of text
received from the tables like macro code
If you want the dicerolls in the table to be evaluated (aka actually rolled) Wiki: eval() will be handy.
I think you'll have to drop the /r bits as slash commands are chat commands and work only in macro if they are very first signs there. I'd built the macro part a little bit more flexible (so you can use it again and again with only minor modifications) and it would look like this...
Table
Code: Select all
Row 1 - 1d4+2 wererats
Row 2 - 1d3+2 dire rats
Row 3 - 1d2+1 Leader (which actually gives level of leader)
Row 4 - tbl("WereratLeader")
Code: Select all
[h: tableName = "tbl1"]
[h: nrOfLines = 4]
[r, count(nrOfLines):
eval( table(tableName, roll.count+1) )
]
it counts from 0 up to 3 (actually to x with x<nrOfLines) .
the important part is the eval() that treats the strings of text
received from the tables like macro code
Re: Encounter Tables
Ok I messed with my base stuff some more and got the macro to work.CoveredInFish wrote: TableMacroCode: Select all
Row 1 - 1d4+2 wererats Row 2 - 1d3+2 dire rats Row 3 - 1d2+1 Leader (which actually gives level of leader) Row 4 - tbl("WereratLeader")
the count-loop does the same thing you had written out.Code: Select all
[h: tableName = "tbl1"] [h: nrOfLines = 4] [r, count(nrOfLines): eval( table(tableName, roll.count+1) ) ]
it counts from 0 up to 3 (actually to x with x<nrOfLines) .
the important part is the eval() that treats the strings of text
received from the tables like macro code
Problem now is that it's rolling but it's not telling me what. I get something that looks like this:
2, 3, 3, 1d2+1 fighter level
I assume since the 4th line is the WereratLeader table (this table uses d100 to find a class and already had a roll for level in it) that this is why we see 1d2+1 fighter level. It's picking the class but not rolling the level. The others are rolling but not printing what. I'm not sure how to make the WereratLeader work. The number of levels change with the class, so it makes Row 3 sort of obsolete.
I think I'll take what I have here and make a go of it. If I have to roll up leaders separately, I'd have to anyway for the encounter. Thank you so much for all your help.
No matter what a GM plans for, the players are certain to find another way to do it
- CoveredInFish
- Demigod
- Posts: 3104
- Joined: Mon Jun 29, 2009 10:37 am
- Location: Germany
- Contact:
Re: Encounter Tables
Ah .. i checked and its eval's fault. If you feed 1d4 wererats into eval its rolling the die and losing the additional text.
You can make it work if you change the tables like this: 1d4 + " wererats". Eval now rolls the dice and adds the text in the quotes, so you get what you want.
And if you go deeper than nesting 2 tables you'll have to include further eval() calls. I think you can write eval(tbl('wereratLeader')) in your table and it would work. Not sure though..
You can make it work if you change the tables like this: 1d4 + " wererats". Eval now rolls the dice and adds the text in the quotes, so you get what you want.
And if you go deeper than nesting 2 tables you'll have to include further eval() calls. I think you can write eval(tbl('wereratLeader')) in your table and it would work. Not sure though..
Re: Encounter Tables
Thanks a bunch for your help. This is want I wantedCoveredInFish wrote:Ah .. i checked and its eval's fault. If you feed 1d4 wererats into eval its rolling the die and losing the additional text.
You can make it work if you change the tables like this: 1d4 + " wererats". Eval now rolls the dice and adds the text in the quotes, so you get what you want.
And if you go deeper than nesting 2 tables you'll have to include further eval() calls. I think you can write eval(tbl('wereratLeader')) in your table and it would work. Not sure though..
No matter what a GM plans for, the players are certain to find another way to do it