В случае python'а их обязательно надо задавать. Просто они могут быть None
Я в первый день поменял в EntityAction
def init(self, move_action, build_action, attack_action, repair_action):
на
def init(self, move_action=None, build_action=None, attack_action=None, repair_action=None):
для облегчения кода и теперь передавать все не обязательно)
Но вообще обязательно вроде