We had a little chat over on the discord server in the scripting channel yesterday as we've discovered a dot syntax in the Osiris script language. In the shared mod helper, several examples like this can be found:
PROC
ProcFreezePlayers()
AND
_Player.DB_IsPlayer()
THEN
CharacterFreeze(_Player);
Note the first condition
_Player.DB_IsPlayer() which uses a dot syntax like in an object oriented language. Well, this code style is not used very often in the shared mod helpers and it is not mentioned in the Osiris documentation. After some research we found out that this syntax seems to be enabled for pretty much all calls and queries, e.g. the following line compiles just fine:
_Character.ApplyStatus("KNOCKED_DOWN", -1.0, 1);
So, as it is not written down nowhere... we have questions
Could someone enlighten us as why this syntax variant is there and what it exactly does? Does it behave different than the function style syntax? Is it a deprecated syntax or is Larian teaming up to rewrite everything using this syntax? So many questions!