Not really, no...
You can disable auto-scaling of the way system for a character.
Characters["Tom"].CharacterScale = false -- turn off auto-scaling.
CharacterSize data structure field says it's not scriptable according to the data structure, but I'm pretty sure it is to a degree as I vaguely recall helping Jacob sort out some script for a specific scene in his Paradigm game where he wanted to force specific sizes for the character. I believe it reset the size each time the animation changed or something so we needed to force the value inside of a loop - I don't remember, anyway... here's an example of how you could scale up a character by 10 percent with a cap of 100%
if Characters["Tom"].CharacterSize <= 90 then
Characters["Tom"].CharacterSize = Characters["Tom"].CharacterSize + 10
if Characters["Tom"].CharacterSize > 100 then Characters["Tom"].CharacterSize = 100 end
I'm sure you can figure out how to scale them down & add a cap based on that. You could actually create a function instead so that you can scale any character up/down if you wanted to save a bit of time.
function scaleChar(char, val, cap, dir)
char = Characters[char] -- store character into variable
char.CharacterScale = false -- disable scaling
if dir and char.CharacterSize <= cap then
char.CharacterSize = char.CharacterSize + val -- increment value
if char.CharacterSize > cap then char.CharacterSize = cap end -- force cap value if more than
elseif not dir and char.CharacterSize >= cap then
char.CharacterSize = char.CharacterSize - val -- decrement value
if char.CharacterSize < cap then char.CharacterSize = cap end -- force cap value if less than
example of usage...
scaleChar("Tom", 10, 100, true) -- character, percent value to increase/decrease by, min/max cap value, true to increment, false to subtract
I've written this off the top of my head, so I've no idea whether or not it will work.