Уже хорошо.
Сейчас немного расскажу о том, как собираюсь реализовывать триггеры.
Главный плагин будет содержать в себе все непосредственные контакты со скриптами и экспортировать функцию "выполнить триггер". В качестве аргумента принимается строка - название триггера.
Каждый скрипт из Data\py импортируется как отдельный python-модуль в начале игры (фактически - выполняется). В скрипте должны быть объявлены функции, переменные и т. п. Также в каждом скрипте должен находиться словарь "triggers_", в котором ключом является строка - название триггера, а объектом - список функций, содержащих код этого триггера.
Функция "выполнить триггер" работает так: проходит по всем модулям из Data\py, ищет в "triggers_" каждого ключ, соотвествующий аргументу - названию триггера и выполняет подряд все функции из списка, соответствующего ключу. Если "triggers_" нет или в нём нет соответствующего ключа, в этом модуле ничего не выполняется.
Таким образом допустимо огромное число триггеров, а привязка идёт ислключительно по названию. Многие (а может и все) стандартные триггеры реализуются через события Эры. Новые тоже легко добавляются - нужно просто вызвать функцию запуска триггеров в нужном месте с нужным названием.
В идеале хорошо бы заменить словарь "triggers_" на соответствующие триггерам декораторы функций, но не знаю, насколько это реально.