всё что есть в кампании можно сделать на любой карте. Нужно присвоить катапульте скриптовое имя (например 'catapult'), и дальше вращать её (если нужно):Стрелять:SetObjectRotation('catapult', УГОЛ);Взрыв от попадания:PlayObjectAnimation('catapult', 'rangeattack', ONESHOT);PlayVisualEffect('/Effects/_(Effect)/Spells/FireBallHit.xdb#xpointer(/Effect)', '', '', X, Y, 1, 0, GROUND);
Play2DSound('/Sounds/_(Sound)/Spells/FireBallHit.xdb#xpointer(/Sound)');
Думаю нужно воспользоваться функцией CheckOwner() (или как-то похоже, проверяет владельца объекта) и вызывать её в потоке, или после боев, или по триггеру нового дня.
Спасибо;)