As said, the first and the second weapon are one bundle, and the third and fourth weapons are another bundle. You will start with the bundle where your current equipped weapon is in. When you have equipped your third weapon, the second bundle will be equipped.
Example:
- Weapon: Shotgun
- Weapon: Pistol
- Weapon: Sniper rifle
- Weapon: Rocket launcher
You've got equipped your rocket launcher and activate gunzerking you'll take your sniper rifle and you'll have your sniper rifle and your rocket launcher equipped. If you’ve got equipped your shotgun, you’ll take the pistol as second weapon. You can change your weapon bundle like you change the weapons without gunzerking, as far as I know it’s impossible to just change just one weapon when you have all the 4 weapons slots equipped.
Using the PC version at least, you can press two number keys, like 1 then 3, you will equip the first gun in your left hand and the second in your right hand (so Right: Shotgun, Left: Sniper, in this case). I don't know if there's a way to do this on console, though.
Edit 2:
Found some interesting facts on the GearboxSoftware Forum:
From top to bottom in your inventory, weapons 1 and 2 gunzerk with each other, and weapons 3 and 4. If you only have 3 weapons, then the weapon you are holding will stay on the right, equipping the weapon 2 if you're using weapon 1, vice versa, and weapon 1 if you're using weapon 3. Switching weapon will switch your right weapon, but your left weapon won't switch.
As you said, these are all the pieces already. If what I'd figure is your question it's easy to answer:
"How much damage would I do if I fire for $Length time?"
$Length * $RoF = X rounds
X rounds * $damage = gunDamage
X rounds * $DOT% = avgDotAmount
DoTs are smart in this game, they all have their separate timers and can stack independently from one another. This makes the damage as intuitive as possible:
dotDamage = avgDotAmount * ticks(element)
totalDamage = (gunDamage + dotDamage) * multiplier(element)
As this was far too easy to answer, I can only assume your question would be like
"When can I stop firing, knowing that my DoTs will kill the enemy?"
To which the answer would be "Never, unless the target isn't currently affected, then keep firing."
To us human player at least; for all the data is there in the fountain of numbers that spew from the target you are perforating with bullets. Would we be perfect computers, we could see when a new dot starts ticking(it wouldn't have a previous tick before it) and thus know exactly how many ticks are left. Being human, all we can say is "it's on fire" or "it's not on fire." This makes knowing for SURE your target is going to die impossible, the best one could do is make a normal distribution graph(wiki) with the probabilities if your target will die.
If that's really what you'd want, I could run it through some model, but it's still gonna be a pretty useless graph. Input the specific gun and skills you're using, and you could get a graph with probabilities mapped vs dotDamage. Even if you could watch that while shooting things, you can only guess how much health your target has left.
If instead, and my final guess, the question would be "How much do I overkill?" that amounts to the same, as that is also "Amount of dotDamage still to be done."
Best Answer
Explosive shotguns fire pellets like all the other shotguns. Upon hitting the target, the pellet applies the explosive element at the point of contact between pellet and enemy. This means that if the pellet hit a critical part, it cause the explosive damage to be critical.
Grenade assault rifles and rocket launchers won't get critical hits bacause it's firing a projectile that explodes upon contact with the enemy. Even if you aim for the weak spot on a huge enemy (crystalisks), it won't apply the critical hit.