ставишь в здании в пункте "Улучшаяется до ..." нужное здание в которое нужно улучшиться... теперь в самом этом здании будет возможность перестроиться в другое (указанное) строение... требованиями для перестройки будут ресурсы нужный для постройки и время... а так же другие технические требования (другие постройки/улучшения)
отловить какой игрок нажал не выйдет... потому что мы может получить только игрока владельца юнита применившего это "улучшение", а этот игрок будет как раз таки союзник...
напрямую думаю что никак... придётся сделать каким то иным образом...
один из способов сделать покупку и выловить покупающего игрока >> продать юнита и получить его владельца >> далее уничтожить юнита и пользовать полученым игроком
дать "улучшение до" ... и запретить его... дать продажу юнита-пустышки... при покупке этого юнита игрок будет тратить на него деньги...
в этот момент триггерно 1. убираем купленную пустышку 2. убираем найм пустышки (если оно не блокируется атоматом на время улучшения) 3. разрешаем для игрока владельца здания "улучшение до" 4. даём команду на "улучшение до" 5. сново запрещаем "улучшение до"
по идеи должно начаться улучшение, и при этом не прерваться... попробуй... ну или я сам чуть позже попробую это реализовать...