I think as long as the entity deal damage via ExecuteHamB TakeDamge with correct attacker and victim input, it should work.
The attacker from those entity should be get from pev_owner
PHP Code:
public ShootEntity(id)
{
new ent;
//Do usual create entity stuff ()
//...
set_pev(ent, pev_owner, id)
//...
}
public ShootEntityTouch(ent, id_touched)
{
//Do the usual check stuff like valid, alive,...
static iOwner; iOwner = pev(ent, pev_owner)
static iVictim; iVitcim = FM_NULLENT;
static Float: fOrigin[3]; pev(ent, pev_origin, fOrigin);
//In loop-for or loop-while to check AoE damage
while((iVictim = engfunc(EngFunc_FindEntityInSphere, iVictim, fOrigin, EXP_RADIUS)) > 0)
{
if(is_user_alive(iVictim) && zp_get_user_zombie(iVictim))
{
ExecuteHamB(Ham_TakeDamage, iVictim, ent, iOwner, DAMAGE, DMG_GENERIC); //ent or iOwner is fine.
}
}
//finish up
}
Some plugin used ent as attacker so that would lead to not passing though "player takedamage" forward
ExecuteHam also won't pass though takedamage forward, must be ExecuteHamB
__________________