]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/tnt/init.lua
Clean up hurt sound
[Crafter.git] / mods / tnt / init.lua
index b6db25107bc6670d830e3bdbd8ba3c7ebca3d3ac..add09c1b8e50e446dfe57335110a003323649988 100644 (file)
@@ -2,7 +2,26 @@
 
 local function tnt(pos,range)
        local pos = vector.floor(vector.add(pos,0.5))
-
+       
+       --throw players and items
+       for _,object in ipairs(minetest.get_objects_inside_radius(pos, range)) do
+               if  object:is_player() then 
+                       local ppos = object:getpos()
+                       local power = (range - vector.distance(pos,ppos))*2
+                       local distance = vector.subtract(ppos,pos)
+                       local force = vector.multiply(distance,power)
+                       object:add_player_velocity(force)
+               elseif object:get_luaentity() and object:get_luaentity().name == "__builtin:item" then
+                       local ppos = object:getpos()
+                       local power = (range - vector.distance(pos,ppos))*2
+                       local distance = vector.subtract(pos,ppos)
+                       local force = vector.multiply(distance,power)
+                       object:setvelocity(force)
+               end
+       end
+                       
+       
+       
        local min = vector.add(pos,range)
        local max = vector.subtract(pos,range)
        local vm = minetest.get_voxel_manip()