Skip to content

SetSiegeEngineRules

Tunes one siege engine - its timing, reach, turning and damage.

rules is a table; a key left out keeps the kind’s own. The cycle in seconds: windSeconds (a trebuchet’s winding, 35), loadSeconds (6; a cannon 10), fireSeconds (the whole firing - the arm settling, the smoke clearing: 16 and 3.5; never shorter than the release). Its reach on level ground in metres: minRange and maxRange (a trebuchet throws anywhere between - about 100 and 330 -, a cannon’s maxRange is its charge at its highest wedge, about 400). turnRate (degrees a second: 6 and 15) and traverse (degrees either way from where it faces now; 180 = all round, the default, 0 = only where it faces). The impact: damage at the point (200 and 150 - a player’s health is 100), radius (6 and 4 m) and fullRadius (1.5 and 1 m: beyond it the damage falls off to nothing at the radius), structureDamage (60 and 35: the percent of another engine’s structure a hit at the point takes). operateRange: how near its operator stands (9 and 3.5 m). crew (a trebuchet’s): how many of its two winches a player’s winding needs manned - 2 by default, 0 = its operator winds it alone; the crew stand at the winches behind its frame (the use key there) and pull while it winds. A mode’s own LoadSiegeEngine winds it without them.

A siege ladder takes fallSeconds (its fall once knocked down, 2.6), raiseSeconds (standing it up again, 6), damage (what a climber at its very top takes from the fall, 100 - less the lower they were, a quarter of it whoever it lands on), operateRange (how near its top a player knocks it down and its foot one raises it, 2.5 m) and polearmToPush (true, the default: a player knocks it down only with a hooked polearm in their weapons or their bags - a guisarme, a billhook, a poleaxe, a halberd or a pitchfork, not a glaive or a bardiche; the polearm is back in their bag after the push; false: anyone may); the engines’ other keys mean nothing to it. A pile of stones takes capacity (the stones a full pile holds, 9), refillSeconds (how long a thrown stone takes to come back, 20; 0 = never - refill it with SetSiegeEngineShots), damage, radius and fullRadius (a stone’s blow: 60, 1.2 and 0.4 m) and operateRange (how near the pile a player lifts a stone, 2.2 m).

SetSiegeEngineRules(id, rules)
Parameter Type
id number the engine
rules table {windSeconds =, loadSeconds =, fireSeconds =, minRange =, maxRange =, turnRate =, traverse =, damage =, radius =, fullRadius =, structureDamage =, operateRange =, crew =, fallSeconds =, raiseSeconds =, polearmToPush =, capacity =, refillSeconds =}

boolean - false when it is no engine

-- a quick trebuchet for a small arena: half the wait, a shorter reach, a fixed field of fire, one man at the winches
SetSiegeEngineRules(id, {windSeconds = 8, loadSeconds = 3, minRange = 60, maxRange = 180, traverse = 30, crew = 1})
-- a gentler ladder: a fall from its top hurts half as much, it goes back up quicker, and anyone may push it off
SetSiegeEngineRules(ladder, {damage = 50, raiseSeconds = 3, polearmToPush = false})

CreateSiegeEngine · GetSiegeEngineInfo · OnPlayerSiegeHit · the Siege engines group of the index