In your specific example, the pool of oil could be a placeable. That would allow it to be targeted by ranged weapons. The placeable event scripts could be used to detect when the pool was attacked / damaged / targeted by a spell, and whether the damage type was fire.
You could also start a fire in the OnUsed script if the player is holding a torch (the OC does this with the funeral pyres in Chapter 1).
This might need quite a lot of work, owing to the variety of spells and custom torches that might conceivably start a fire without actual fire damage.
You’d need to prevent the pool from being destroyed somehow. IIRC the best way is to set high fortitude, so that damage type can be detected (other people here may know better).
There might be different solutions for other environmental hazards. For example, extreme heat and cold are often applied as a heartbeat - these days, there’s really no performance problem with that as long as you’re sensible (e.g. Area heartbeat or pseudo-heartbeat that only runs when a player is in the area).