1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-07-27 15:44:11 +00:00
openmw/files/data/scripts/omw/mechanics/globalcontroller.lua

39 lines
1.1 KiB
Lua

local types = require('openmw.types')
local Lockable = types.Lockable
local Item = require('openmw.types').Item
local world = require('openmw.world')
local core = require('openmw.core')
local function onConsumeItem(data)
local item = data.item
local amount = data.amount
if amount > item.count then
print('Warning: tried to consume '..tostring(amount)..' '..tostring(item)..'s, but there were only '..tostring(item.count))
amount = item.count
end
item:remove(amount)
end
local function onPlaySound3d(data)
if data.sound then
core.sound.playSound3d(data.sound, data.position, data.options)
elseif data.file then
core.sound.playSoundFile3d(data.file, data.position, data.options)
end
end
return {
eventHandlers = {
SpawnVfx = function(data)
world.vfx.spawn(data.model, data.position, data.options)
end,
PlaySound3d = onPlaySound3d,
ConsumeItem = onConsumeItem,
Lock = function(data)
Lockable.lock(data.target, data.magnitude)
end,
Unlock = function(data)
Lockable.unlock(data.target)
end,
},
}