Kurt J. said: Unfortunately I don't know anything at all about building custom character sheets and/or writing sheet workers, so I could be totally off base, but I know when in the context of a particular item, things like @{pb} work as references to the value in that context, so it might be possible to use the row data directly that way. Again, though, I haven't even looked at the character sheet development stuff. That doesn't work. It either returns a blank space on the chat if I use a [*S:name] or a "NoRepeatingAttributeLoaded" if I use a [*R:name]. Which honestly makes sense since with the first item, it doesn't know where to look because the specific location of a variable has not been set. And for the second I havent defined which repeating section I am wanting to look at though the use of an --RFind or similar statement. The RFind requires I ALREADY know the name of a given attribute within all of the rows... --Rfind|@{selected|character_id};Greatsword;repeating_attack;atkname Well I need to know the value within the attribute @{repeating_attack_XX_atkname. Problem is. I dont know what the value is, that is what I want to GET when I click on the roll button. And what I want to use is the ROWID "XX". so the example would be (half psuedo-code half actual syntax) !scriptcard {{ --/| === ScriptCard Layout for Attack Rolls === |\-- --/| === Version 0.1a === |\-- --/| === Date: 05/03/2022 === |\-- --#title|@{selected|repeating_attack_$XX_name} --#titlecardbackground|#993333
--/| AtkType = Melee/Ranged/Thrown/Special --#leftsub|@{selected|repeating_attack_$XX_atkType} --#rightsub|@{selected|repeating_attack_$XX_range} m [@{selected|repeating_attack_$XX_ammo}/@{selected|repeating_attack_$XX_ammo_max] If I try to use the code above with a SPECIFIC ROW ID, it works.. Yay! But what If I dont know the row ID ahead of time. Like am rolling it WITHIN a repeating section.. --#sourceToken|@{selected|token_id} --#targetToken|@{target|token_id} --#emoteText|[*S:t-name] attacks [*T:t-name] --/| === Roll Queries and Variables --&AtkMod|?{Modifier|0} --&AimType|?{Aim | No aim (+0),+0 | Half aim (+10),+10| Full aim (+20),+20} --&RangeType|?{Range | Point Blank (+30),+30 | Short Range (+10),+10 | Standard range (+0),+0 | Long Range (-10),-10 | Extreme Range (-30),-30} --&RoFType|?{Rate of Fire/Attack Type| Standard (+10),+10 | Semi auto (+0),+0 | Full Auto (-10),-10 | Called Shot (-20),-20 | Suppressing Fire (-20),-20} --=AtkTarget|[*S:BS] [BS] + [&AimType] [Aim] + [&RangeType] [Range] + [&RoFType] + [Rate of Fire] + [&AtkMod] [Modifier] --=AtkRoll|1d100 --&BodyHit|Null --=DegSucess|[$AtkTarget] - [$AtkRoll] \ 10 --/| === Roll Details Tables --+|[c]● Roll Details ●[/c] --+[c][t border=2 width=95% align=center][tr][td][b]Skill [/b][/td][td][b]Aim [/b][/td][td][b]Range [/b][/td][td][b]RoF [/b][/td][td][b]Modifier [/b][/td][/tr][tr][td][*S:BS][/td][td][&AimType][/td][td][&RangeType][/td][td][&RoFType][/td][td][&AtkMod][/td][/tr][/t][/c]| --+|[c][t border=2 width=95% align=center][tr][td][b]Total [/b][/td][td][b]Target [/b][/td][/tr][tr][td][$AtkRoll] [/td][td][$AtkTarget] [/td][/tr][/t][/c] --/| ====== Check if AttackRoll is less than the test THRESHOLD --?[$AtkRoll.Total] -le [$AtkTarget.Total]|Success --?[$AtkRoll.Total] -gt [$AtkTarget.Total]|Failure --:Success| --+[c][#3FB315]HIT! ([$DegSucess.Total])[/#][/c]| --^Done| --:Failure| --+[c][#B31515]MISS! ([$DegSucess.Total])[/#][/c]| --^Done| --:Jam| --+[c]JAM![/c]| --^Done| --:Done| --?[$AtkRoll] -lt 10|[ --&rollStr|0[$AtkRoll.Raw] --]|[ --&rollStr|[$AtkRoll.Raw] --]| --~len|string;length;[&rollStr] --%i|[$len];1;-1 --~s|string;substring;[&i];1;[&rollStr] --&revStr|+[&s] --%| --=revRoll|[&revStr] --/| === Out of Range Values Included for Debugging === --?[$revRoll] -le 0|>SetHitLocation;Error - Out of Range --?[$revRoll] -le 10|>SetHitLocation;Head --?[$revRoll] -ge 11 -and -le 20|>SetHitLocation;Right Arm --?[$revRoll] -ge 21 -and -le 30|>SetHitLocation;Left Arm --?[$revRoll] -ge 31 -and -le 70|>SetHitLocation;Body --?[$revRoll] -ge 71 -and -le 85|>SetHitLocation;Right Leg --?[$revRoll] -ge 86|>SetHitLocation;Left Leg --?[$revRoll] -ge 101|>SetHitLocation;Error - Out of Range --+[c][b][#3FB315][&BodyHit][/#][/b][/c]| --X| End Macro --:PROCEDURES| --:SetHitLocation| accepts hit location as parameter --&BodyHit|[%1%] --<| }} I hope this clarifies exactly what I am looking to do. Also, for some reason I'm no longer getting notifications that a reply has been posted. GRRR. I gotta fix that.