At present, we have single-minded bots: Move/Move & Carry/Fire, but realistically, they should be capable of doing more than one thing at a time.

We should be able to have our bots Move/Move & Carry/Fire/Move & Fire/Move, Carry & Fire.

Obviously, there should be tradeoffs in doing more than one thing at a time. Carrying currently appears to tax the movement ability of all bots other than the Machinegun, but in this altered paradigm, each bot type would have a fixed power supply, and power would have to be allocated to the following:

MovementWeapon Traverse & ElevationShield RegenerationFiring

At present, it appears that firing takes all of the available power other than shield regeneration, and shield regeneration & carrying is fixed.

In my proposed paradigm, there would be a maximum amount of power that could be applied to each system, beyond which there would be no increased effect, and supplying less than the maximum power would result in reduced effect.

In addition, each powerable subsystem plus the power supply should have their own hit points, and loss of hit points also results in reduced effect for a given amount of power input:

Movement:

This should be based on total bot mass. Less power = slower, more mass = slower. Obviously, resources would need to be assigned a mass so that an appropriate reduction in speed could be calculated. It should be possible to retain full movement speed by supplying more power when carrying a resource, but not to move faster than the nominal maximum speed.

This also opens up a few interesting options:

We could have resource soccer, where a bot could try to kick a resource in a particular direction, or shoot it away, though with some inaccuracy, or if there is a tussle to grab a resource, it could be bumped away accidentally.

The stadium could have slopes and obstacles, and obviously downhill movement would require less power than uphill movement. These slopes would also affect how the resources roll. The resource rolling friction could also be varied according to the terrain and the resource type.

If a non-movement subsystem was sufficiently disabled or damaged, it could be jettisoned, thus lightening the remainder of the bot, and removing its power requirement.

Weapon Traverse & Elevation

Instead of a fixed aiming time, aiming time would depend upon aiming power allocated and the angle across which the weapon must traverse. This might lead to an interesting situation where a fast bot like a Shotgun could circle around a slow-traversing bot quickly enough that it would never be able to fired upon. It would also support tactics such as physical separation of bots.

Shield Regeneration

Obviously, the more power allocated to shields,the sooner after the last post-failure shot to hit the bot the shield will begin to be restored, and the less time it will take to regenerate.

Firing

Obviously, the more power allocated to firing, the more damage will be done, either per shot, or over time, with more shots of equal power.

Power Supply

This will have a fixed maximum supply, however, battle damage may reduce its output.

As to how to fire and move at the same time... Easy. Assign power levels, movement orders and targeting orders. If there is an assigned target in range, locked, the bot is weapons-free and there is power available to fire, then the bot fires, otherwise it does not. If there are movement orders and power available, then the bot will move as ordered.