Looks like I found it. Woohoo!

new entry "Projectile_Barrel_Explosion"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_Fireball"
data "Level" ""
data "SpellProperties" "GROUND:CreateSurface(1,,Fire);Force(3, TargetToEntity)"
data "SpellRoll" "not SavingThrow(Ability.Dexterity, 12)"
data "SpellSuccess" "DealDamage(6d6,Fire)"
data "SpellFail" "DealDamage(3d6,Fire);TARGET:IF(Item()):DealDamage(3d6,Fire)"
data "TargetConditions" "Character() or Item()"
data "Template" "c6d0a6db-72f0-4c53-8381-177c32dec188"
data "CycleConditions" "Enemy() and not Dead()"
data "UseCosts" ""
data "SpellFlags" "AddFallDamageOnLand;IsHarmful;RangeIgnoreVerticalThreshold"

new entry "Projectile_Barrel_Explosion_Smokepowder"
type "SpellData"
data "SpellType" "Projectile"
using "Projectile_Barrel_Explosion"
data "SpellProperties" "GROUND:CreateSurface(1,,Fire);Force(6, TargetToEntity)"
data "SpellSuccess" "DealDamage(3d6,Fire);DealDamage(3d6,Force)"
data "SpellFail" "DealDamage(3d6,Force)"
data "Template" "d2ada6a9-ec90-4cc5-9c8b-87160585c359"