...однако в примерах использования LuaDist...
print(123);
print("hello");
print(true);
damage = damage / (hp / variable)
Вообще так по мне - определение лучше не то, что даётся "наиболее авторитетным/официальным" источником, а то, что наиболее точно отражает понятие в данном контексте на сегодняшний день.
если А, то Б
Очевидно, что любая функция может использовать внешние переменные. Причём, это верно практически для любого ЯП.
Прям "практически для любого ЯП"? Навскидку, это не так для Cи, C++, Java, PHP.