Just looking at your code I'd say you could totally remove this line
Code:
if (!(StrEqual(weapon, "bazooka") || StrEqual(weapon, "pschreck") || StrEqual(weapon, "frag_us") || StrEqual(weapon, "frag_ger") || StrEqual(weapon, "riflegren_us") || StrEqual(weapon, "riflegren_ger")))
because damage done via explosions in source just uses a hitgroup of 0, so it wouldn't get passed your hitgroup check.
Besides that it should work with any mod
(It'd still work fine with that line but hey why not save a few nano seconds
)