Smash attack has nothing to do with wall/vehicle/furniture smashing.
What is referred to as “smashing” is sometimes calling “bashing” in the code. Here I’ll call it “smashing”.
Smashing stuff works like this:
Each terrain or furniture has minimum and maximum value of resistance.
When smashed, it rolls this resistance (between minimum and maximum, equal distribution)
If this resistance is lower than smashing ability, the feature is destroyed.
Smashing ability is:
Strength + weapon’s bashing for player and NPCs
Maximum possible bashing damage per hit for all smashing monsters
Additionally, when there are zombies behind the smashing zombie, it gets a bonus to smashing equal to that of the zombies behind it divided by their distance to feature being smashed.
For resistances, read terrain.json.
For monster smashing ability, read monsters.json (smashing ability is melee_dice * melee_dice_sides).
DESTROYS flag (hulk) multiplies that ability by 2.5, BORES (minerbot) by 15.