Base damage remains enabled despite setting the following in the active mission's cfggameplay.json:
"disableBaseDamage": true,
Possible cause found through inspection of the locally installed PC 1.30 scripts.pbo:
File:
4_World/Entities/ItemBase/BaseBuildingBase.c
The BaseBuildingBase constructor contains these consecutive lines:
ProcessInvulnerabilityCheck(GetInvulnerabilityTypeString());
SetAllowDamage(true);
GetInvulnerabilityTypeString() returns "disableBaseDamage".
In 3_Game/Entities/EntityAI.c, ProcessInvulnerabilityCheck reads CfgGameplayHandler.GetDisableBaseDamage() and calls SetAllowDamage(false) when protection is enabled.
The constructor then immediately calls SetAllowDamage(true), apparently overriding that protection.
This code was verified in the installed PC scripts.pbo. The Xbox server's scripts have not been directly inspected, so please confirm whether the same code is present in the affected Xbox build.
Proposed correction for investigation:
Remove the unconditional SetAllowDamage(true), or place the default damage-enabling call before ProcessInvulnerabilityCheck so the configured protection is applied last.
Please test the correction on new structures, persisted structures after restart, and after construction/repair actions, with disableBaseDamage both true and false.