tjlee
June 9th, 2024, 20:21
Hi, I'm writing an extension to enhance the story template generator in CoreRPG to include new functionality and came across some undocumented behavior and would like clarification in order to determine whether I should support it for backwards combability.
Within a story template, if I cause a table to be invoked multiple times, such as [1d4x][TableName] and perhaps followed by [TableName] elsewhere in the same template, referencing <TableName> is replaced by all of the table rolls generated by both table references. Your documentation (from the wiki) says:
Tagged Text <>
The story generation feature will attempt to replace any tagged text with the results generated from a table with a name matching the tagged text. (see bracketed text table lookups above) If the tagged text refers to a table that does not exist, or which was not used in the story template, it will be ignored.
From my reading of the above, I would have expected perhaps the contents of the last table invocation to be replaced instead as the documentation doesn't mention any accumulation of previously rolled results. If intended, it would be helpful to amend the documentation to describe this behavior.
Additionally, if I reference a column per:
Column Referencing #a|3#
Reference single columns of previously rolled table results. These results are stored when rolled and can be referenced multiple times without re-rolling the table that produced said result.
assuming that my table has 3 columns, rather than retrieving the column of the last row rolled as desired, I get the following:
#TableName|1# > column 1 of first row from TableName rolled
#TableName|2# > column 2 of the first row from TableName rolled
#TableName|3# > column 3 of the first row from TableName rolled
#TableName|4# > column 1 of second row from TableName rolled
#TableName|5# > column 2 of second row from TableName rolled
#TableName|6# > column 3 of second row from TableName rolled
etc
Similarly, the documentation doesn't reference any accumulation of the rows rolled from the table, so would benefit from some clarification if this is the desired behavior.
Is this expected?
Thanks,
Tony J. Lee
Within a story template, if I cause a table to be invoked multiple times, such as [1d4x][TableName] and perhaps followed by [TableName] elsewhere in the same template, referencing <TableName> is replaced by all of the table rolls generated by both table references. Your documentation (from the wiki) says:
Tagged Text <>
The story generation feature will attempt to replace any tagged text with the results generated from a table with a name matching the tagged text. (see bracketed text table lookups above) If the tagged text refers to a table that does not exist, or which was not used in the story template, it will be ignored.
From my reading of the above, I would have expected perhaps the contents of the last table invocation to be replaced instead as the documentation doesn't mention any accumulation of previously rolled results. If intended, it would be helpful to amend the documentation to describe this behavior.
Additionally, if I reference a column per:
Column Referencing #a|3#
Reference single columns of previously rolled table results. These results are stored when rolled and can be referenced multiple times without re-rolling the table that produced said result.
assuming that my table has 3 columns, rather than retrieving the column of the last row rolled as desired, I get the following:
#TableName|1# > column 1 of first row from TableName rolled
#TableName|2# > column 2 of the first row from TableName rolled
#TableName|3# > column 3 of the first row from TableName rolled
#TableName|4# > column 1 of second row from TableName rolled
#TableName|5# > column 2 of second row from TableName rolled
#TableName|6# > column 3 of second row from TableName rolled
etc
Similarly, the documentation doesn't reference any accumulation of the rows rolled from the table, so would benefit from some clarification if this is the desired behavior.
Is this expected?
Thanks,
Tony J. Lee