local types = require('openmw.types')
local core = require('openmw.core')
local I = require('openmw.interfaces')
local self = require('openmw.self')
--local nearby = require('openmw.nearby')
local util = require('openmw.util')
--local camera = require('openmw.camera')
local time = require('openmw_aux.time')
local function onActive()
if self.cell.waterLevel and self.cell.isExterior then
time.runRepeatedly(function()
local effect = core.magic.effects.records[core.magic.EFFECT_TYPE.FireDamage].hitStatic
local model = types.Static.records[effect].model
for i= 1 , 8 do
local R = 250
local x = R * math.cos(math.rad(45)*i)
local y = R * math.sin(math.rad(45)*i)
local trans = util.transform
local rotate = trans.rotateZ(self.rotation:getYaw()) * util.vector3(x, y ,0)
local z
local land = core.land.getHeightAt(self.position + rotate,self.cell)
if land < self.cell.waterLevel then
z = self.cell.waterLevel
local pos = util.vector3(self.position.x,self.position.y,z) + rotate
core.sendGlobalEvent('SpawnVfx', {model = model, position = pos })
-- you can do other resultng effects here
end
end
end,1*time.second)
end
end
return { engineHandlers = { onActive = onActive } }