Welfare module
A Welfare module is a station Module that provides workforce morale bonuses. It contributes to Station.workforce.bonus — the multiplier that boosts production rates above baseline.
Inheritance: component → destructible → module → welfaremodule. The datatype declares no own properties (scriptproperties.xml:1112). Like Defence module and Connection module, welfare module is a class label — its effect is folded into the station-level workforce bonus.
Properties
Section titled “Properties”No welfare-module-specific properties. Use:
- Inherited from
module:.numdocks.{docksize},.haswalkableroom - Inherited from
destructible:.hull
Common patterns
Section titled “Common patterns””Find all welfare modules on a station"
Section titled “”Find all welfare modules on a station"”<do_for_each name="$mod" in="$Station.modules"> <do_if value="$mod.isclass.welfaremodule"> <!-- welfare module --> </do_if></do_for_each>"Detect player adding welfare modules"
Section titled “"Detect player adding welfare modules"”<do_if value="event.param3.isclass.welfaremodule"> <!-- player added a welfare module --></do_if>"Check workforce bonus impact at station level”
Section titled “"Check workforce bonus impact at station level””Welfare modules don’t expose their own contribution. To know what a welfare module adds, compare Station.workforce.bonus before and after:
<set_value name="$Before" exact="$Station.workforce.bonus"/><!-- ... welfare module added ... --><set_value name="$After" exact="$Station.workforce.bonus"/><set_value name="$Gain" exact="$After - $Before"/>Common gotchas
Section titled “Common gotchas”- ⚠ Welfare module declares NO datatype properties. All effects are folded into the station-level
workforce.bonus. - ⚠ No per-module “bonus value” accessor. Vanilla doesn’t expose per-welfare-module contribution. Read the aggregate at station level.
- ⚠ Welfare without habitation is wasted. Welfare scales workforce bonus — a station without habitation has no workforce, and welfare adds zero. Pair them.
- ⚠ Different welfare types may stack differently. Some moduletypes are “diminishing returns” — adding more of the same type yields less per module. The mechanic is engine-side and not directly modifiable from MD.
Related
Section titled “Related”- Module — parent abstraction.
- Habitation module — provides the workforce that welfare scales.
- Production module — final beneficiary of the workforce bonus.
- Station — aggregator (
.workforce.bonus).