Skip to content

MultiplayerBallistaSpawner

v1.4.8

Spawns the non-fire multiplayer ballista when the mission starts. The entity name picks the prefab.

Find placed ones in the Scene panel with s:MultiplayerBallistaSpawner. See Filter.

Where you put it

Drop a spawner prefab from Modules\Native\Prefabs\spawners.xml: ballista_a_spawnerMP or ballista_b_spawnerMP. The spawned machine is a child. Tags on the spawner are copied onto it.

With ToBeSpawnedOverrideName empty, the prefab name is this entity's name minus the last _piece. ballista_a_spawnerMP spawns ballista_a. This spawner does not spawn the fire machine.

What you set

mp_siege_map_003 writes the visible rows in this order. The prefab leaves the two tags empty and does not write the last three, so they stay at the defaults below.

Panel field What to do with it
AddOnDeployTag Tag added on the ballista when it deploys. Empty in vanilla.
RemoveOnDeployTag Tag removed on deploy. Empty in vanilla.
DirectionRestrictionDegree Yaw limit, in degrees. Default 90.
ToBeSpawnedOverrideName Prefab to spawn. Empty uses the entity-name rule above.
ToBeSpawnedOverrideNameForFireVersion Fire prefab name. Empty would mean the normal name plus _fire. This spawner does not spawn that one.

The prefab file also stores a wait_pos_ground matrix. This script has no such field.

What it does

At mission start it spawns the ballista prefab as a child and copies the deploy tags and the yaw limit onto it.

Where it lives

Managed script. Prefabs are in Modules\Native\Prefabs\spawners.xml. Placements are multiplayer siege scenes under Modules\Native\SceneObj.

Examples

Both ballista bodies. spawners.xml: ballista_a_spawnerMP and ballista_b_spawnerMP. Tags empty.

Wall ballista, restriction left at 90. Native\SceneObj\mp_siege_map_003. A ballista_b_spawnerMP writes all five rows, restriction 90, both override names empty.