Base protection

Charge players for wrecking the map, rebuild what they broke, and weight the places that matter most.

What it does

Destruction is billed across the whole map, not only in the places you mark out. Knock something down and three things happen: the faction is charged, everyone on the server is told who did it and what it cost, and the object is rebuilt after a delay.

A protected area is a ring you place over somewhere that matters more than its surroundings — a gate, a garage, a workshop, a headquarters. It does not switch billing on, because billing is already on. It weights it, and it gives the place a name so the warning an offender receives says where they are.

Out in the world, destruction is billed at a tenth of what it costs inside an area. The tariffs are sized for the places somebody took the trouble to mark out; charging the same for a wall knocked through in a firefight two valleys away would make ordinary fighting expensive. So a ring left at the standard multiplier already makes what is inside it ten times dearer than the country around it, before you raise anything.

Driving through something is charged at a much lower rate than destroying it any other way. Clipping a barrier while reversing a truck should be embarrassing rather than expensive; putting a rocket into a hangar should not.

What something costs scales with how solid it was. The tariff you configure is quoted for an object of ordinary size, and anything tougher costs proportionally more, between a quarter and five times the base rate. A fence post and a hangar price themselves, so there is no per-object list to maintain.

Keep going and it escalates. Wreck enough in one incident and that player is warned; carry on and they are removed from the server for a while. Nobody is removed without having been warned first.

A removal gives ten seconds’ notice. The player is told privately why they are going; the public announcement and the log line both fire at the moment of the decision. The incident stays open throughout, so anything destroyed during the notice is billed like everything before it.

What a removed griefer earned goes back. Credits and charges are undone together over the preceding few hours, so the faction ends where it would have been if they had never arrived — otherwise a troll can bank a productive hour and cash out by wrecking the motor pool. This needs the audit; both are on by default and both are configurable. See the audit settings on Configuration.

Shooting civilians escalates on this same ladder. A player who wrecks the base and shoots the locals is one offender working towards one warning and one removal, rather than getting a fresh allowance for each.

Server staff are exempt by default. They are still told what they destroyed, which is useful on a server that logs Game Masters in automatically.

Where nothing is charged

Four things stop a charge reaching the ledger, and they are deliberately different from one another.

Free-fire ground. A zone with civilians turned off is somewhere nobody lives — a military camp, an airfield — and flattening it is the job rather than an offence. Nothing there is billed, no incident is opened, and it counts towards no warning.

The objective you were sent to destroy. Where a live objective’s own target is the thing being knocked down, that is the task rather than vandalism. The shield covers the target and 15 m around it, and holds for 20 seconds after the objective resolves — a building comes down more than once while the debris is still falling, and the ground around it should not start being billed halfway through the explosion that finished the job. An objective vehicle that is driven leaves a short trail of shielded ground behind it, which expires on the same grace.

Nobody to bill. A fire, an enemy mortar, or a player who disconnected before the object finished falling over. Charging the faction for something nobody did would make the ledger lie.

Exempt staff, as above.

Secondary explosions

Destroy a vehicle and whatever its fuel and ammunition take with it is billed at a quarter of the ordinary rate, within 40 m, for 8 seconds after the bang.

The window is long enough for a cook-off to finish coming down and short enough that it cannot be used as cover for wrecking the next compound. The discount exists because without it a single destroyed truck bills as several objects at once at the full destruction tariff, which is enough to earn a warning on its own — for something that was one action.

Setting fire to a fuel truck in the middle of the motor pool is still expensive. It is just no longer eight times as expensive as it should be.

Rebuilding is independent of all three. Everything goes back up, including what was free to knock down and what nobody was charged for. The only thing that stops a rebuild is an area with rebuilding turned off.

Placing an area

The area is a placeable entity, so a Game Master can drop one from the content browser or you can author it into a layer in World Editor.

  1. Place Protected area where you want it.
  2. Size the ring on its area mesh component. The ring you can see is the boundary — there is no separate radius to keep in step with it.
  3. Give it a name on the protected area component. That name is what appears in the message everyone sees, so “the north gate” reads better than nothing.
  4. Optionally raise or lower its multiplier, which scales the charges for this area only. One is the full tariff; a hangar can cost more than a fence. A multiplier of zero makes the area free to flatten without also making the rest of the map free.
  5. Optionally turn rebuilding off for this area. It still bills for the damage and leaves the hole, which is the right setting somewhere a rebuilt object would come back on top of something players have since put there.

Set the name and radius on the placed copy, not on the prefab — otherwise every area you place afterwards inherits them.

An area can be placed, moved or resized mid-session and takes effect immediately. It holds no list of what stands inside it — what is billed and what is rebuilt are decided from each object as it is damaged — so there is nothing to re-enumerate and no reason to author areas into a layer rather than dropping them live.

Vehicles are not covered. Losing one is never charged here and never rebuilt here. That is deliberate: vehicle losses belong to the vehicle pads, which have their own cost and restock timer.

Rebuilding

A destroyed object comes back after m_iRepairDelaySec, in the place and at the angle it originally stood. Nothing is un-destroyed — a fresh copy is spawned from a record taken on the first hit the object took, while it was still standing, because where a thing should be rebuilt is where it was built rather than where a collision shunted it before it fell over.

A rebuild is deferred, not cancelled, in three cases:

  • while a player is standing where the object goes — materialising a concrete barrier inside somebody is worse than leaving the gap a little longer;
  • while a live objective is being fought over on that ground, so the map does not repair itself around people still shooting at each other;
  • while anything else is occupying the spot.

It retries on each sweep until the way is clear, and says so in the log the first time it defers.

If a rebuilt object is destroyed again, it is charged and rebuilt again.

Settings

Every value above is configurable — see the base protection, charges and enforcement sections on Configuration.