The provided log doesn't help really because it's not filtered. The log contains the explosion from entities near.
A C4 explosion uses :
- 4 TE_SPRITE ( There are 3 explosions, the first at the bomb origin ( sprites/eexplo.spr + sprites/zerogxplode.spr ), and the 2 others randomly around ( sprites/fexplo.spr ) )
- 1 TE_SMOKE ( Bomb origin ; sprites/steam1.spr ; 0.3 second after the explosion )
- 1 TE_WORLDDECAL ( Bomb end position origin ; decal used "{scorch1" or "{scorch2" you can use EngFunc_DecalEntity )
- Depending a random, severals TE_SPARKS or nothing.
So far I've observed it's like the grenade in HL but with some modifications. If you need it I can provide the code for the sparks it needs more code to show them.