This has just occurred to me...
Among the static objects, which are defined in static.ini, we are limited to a relatively small number of Body types for 'House' objects, such as Fuel, WoodMiddle, Rock, etc. To these types are assigned specific effects upon their destruction. But they are in other respects merely passive objects, sitting there waiting to be destroyed. Neither in the stock House.class, nor in the stock method Explosions.HouseExplode(), is there code by which to cause any destroyed 'House' object to create its own blast and thereby potentially damage/destroy other nearby objects.
A while back I did add this capability to Explosions.HouseExplode(), which can create secondary explosions after some interval of time following destruction. I also tied an explosion message event to this secondary blast, which indeed caused destruction of other objects nearby. To implement this secondary explosion feature I created a new property entry to add whichever static.ini objects one desired to assign a random chance of a secondary blast to. After testing I deactivated the explosion message for these secondaries because other of the same object when nearby could suffer an undesirable chain of explosions.
Such as when a row of hangars sit close together.
I mention the preceding because this opens the door for the creation of a new object, or series of object, which exist expressly to create a blast. These could be placed among a stack of bomb objects, or near a particular building like a bunker, or beside a ship at dock, in a train yard, etc., etc. These special explosion objects could be made of a range of size, perhaps, as well as over a range of toughness for ease of destroying. They could be made to look like, say, a sign, or a box, or whatever, or could even be invisible. Some could be small or innocuous, but with a larger collision box for ease of hitting.
This would permit to blow up mission objectives by strafing, where normally the object would be too tough and so require a bomb. The mission could specifiy a strafing mission on some target, or it could be left as a matter of luck and surprise.
And if the object generates a particularly forceful blast, better not be too near when she goes!
These objects would be defined in the usual way in static.ini, but a specific property would be present for the code to read. This property can be used very simply or in a more sophisticated way. Such as using different numbers to set a blast intensity. Explosions.HouseExplode() would have code to read this property value and generate the appropriate blast force. Naturally, keeping matters as simple as possible for the desired degree of flexibility is desirable.
Any thoughts?