initial_properties update
This commit is contained in:
parent
a9c0bfda01
commit
7fe8aabb2c
@ -27,7 +27,7 @@ local function spears_shot(itemstack, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local drag = .3
|
local drag = .3
|
||||||
local playerpos = player:getpos()
|
local playerpos = player:get_pos()
|
||||||
local dir = player:get_look_dir()
|
local dir = player:get_look_dir()
|
||||||
local obj = minetest.add_entity({
|
local obj = minetest.add_entity({
|
||||||
x = playerpos.x,
|
x = playerpos.x,
|
||||||
@ -55,13 +55,18 @@ local function spears_set_entity(kind, eq, toughness, breadth)
|
|||||||
breadth = breadth or 1
|
breadth = breadth or 1
|
||||||
|
|
||||||
local SPEAR_ENTITY = {
|
local SPEAR_ENTITY = {
|
||||||
physical = false,
|
|
||||||
|
initial_properties = {
|
||||||
|
|
||||||
|
physical = false,
|
||||||
|
visual = "wielditem",
|
||||||
|
visual_size = {x = 0.15, y = 0.1},
|
||||||
|
textures = {spearname},
|
||||||
|
collisionbox = {0,0,0,0,0,0},
|
||||||
|
},
|
||||||
|
|
||||||
timer = 0,
|
timer = 0,
|
||||||
visual = "wielditem",
|
|
||||||
visual_size = {x = 0.15, y = 0.1},
|
|
||||||
textures = {spearname},
|
|
||||||
lastpos = {},
|
lastpos = {},
|
||||||
collisionbox = {0,0,0,0,0,0},
|
|
||||||
|
|
||||||
on_punch = function(self, puncher)
|
on_punch = function(self, puncher)
|
||||||
|
|
||||||
@ -88,7 +93,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
|
|||||||
|
|
||||||
self.timer = self.timer + dtime
|
self.timer = self.timer + dtime
|
||||||
|
|
||||||
local pos = self.object:getpos()
|
local pos = self.object:get_pos()
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if not self.wear then
|
if not self.wear then
|
||||||
@ -134,7 +139,7 @@ local function spears_set_entity(kind, eq, toughness, breadth)
|
|||||||
and obj:get_luaentity().shooter:get_player_name()
|
and obj:get_luaentity().shooter:get_player_name()
|
||||||
== obj:get_player_name() ) then
|
== obj:get_player_name() ) then
|
||||||
|
|
||||||
local speed = vector.length(self.object:getvelocity())
|
local speed = vector.length(self.object:get_velocity())
|
||||||
local damage = (speed + eq) ^ 1.12 - 20
|
local damage = (speed + eq) ^ 1.12 - 20
|
||||||
|
|
||||||
obj:punch(self.object, 1.0, {
|
obj:punch(self.object, 1.0, {
|
||||||
|
@ -384,7 +384,10 @@ Function to register new weapons: parameters:
|
|||||||
local function nssm_register_weapon(name, def)
|
local function nssm_register_weapon(name, def)
|
||||||
|
|
||||||
minetest.register_entity("nssm:"..name, {
|
minetest.register_entity("nssm:"..name, {
|
||||||
textures = {name..".png"},
|
|
||||||
|
initial_properties = {
|
||||||
|
textures = {name..".png"},
|
||||||
|
},
|
||||||
|
|
||||||
on_step = function(self, dtime)
|
on_step = function(self, dtime)
|
||||||
def.on_step(self, dtime)
|
def.on_step(self, dtime)
|
||||||
@ -506,8 +509,6 @@ local function nssm_register_throwitem(name, descr, def)
|
|||||||
local dir = placer:get_look_dir()
|
local dir = placer:get_look_dir()
|
||||||
local playerpos = placer:get_pos()
|
local playerpos = placer:get_pos()
|
||||||
|
|
||||||
posthrow = playerpos
|
|
||||||
|
|
||||||
local obj = minetest.add_entity({
|
local obj = minetest.add_entity({
|
||||||
x = playerpos.x + dir.x,
|
x = playerpos.x + dir.x,
|
||||||
y = playerpos.y + 2 + dir.y,
|
y = playerpos.y + 2 + dir.y,
|
||||||
@ -520,6 +521,8 @@ local function nssm_register_throwitem(name, descr, def)
|
|||||||
obj:set_velocity(vec)
|
obj:set_velocity(vec)
|
||||||
obj:set_acceleration(acc)
|
obj:set_acceleration(acc)
|
||||||
|
|
||||||
|
local ent = obj:get_luaentity() ; ent.posthrow = playerpos
|
||||||
|
|
||||||
itemstack:take_item()
|
itemstack:take_item()
|
||||||
|
|
||||||
return itemstack
|
return itemstack
|
||||||
@ -527,9 +530,13 @@ local function nssm_register_throwitem(name, descr, def)
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_entity("nssm:" .. name .. "_bomb_flying", {
|
minetest.register_entity("nssm:" .. name .. "_bomb_flying", {
|
||||||
textures = {name .. "_bomb.png"},
|
|
||||||
hp_max = 20,
|
initial_properties = {
|
||||||
collisionbox = {-0.1,-0.1,-0.1, 0.1,0.1,0.1},
|
|
||||||
|
textures = {name .. "_bomb.png"},
|
||||||
|
hp_max = 20,
|
||||||
|
collisionbox = {-0.1,-0.1,-0.1, 0.1,0.1,0.1}
|
||||||
|
},
|
||||||
|
|
||||||
on_step = function(self, dtime)
|
on_step = function(self, dtime)
|
||||||
|
|
||||||
@ -898,7 +905,7 @@ minetest.register_craft({
|
|||||||
|
|
||||||
nssm_register_throwitem("teleport", "Teleport Bomb", {
|
nssm_register_throwitem("teleport", "Teleport Bomb", {
|
||||||
|
|
||||||
hit_node = function(self,pos,placer)
|
hit_node = function(self, pos, placer)
|
||||||
|
|
||||||
local pos1 = {x = pos.x, y = pos.y + 1, z = pos.z}
|
local pos1 = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||||
local pos2 = {x = pos.x, y = pos.y + 2, z = pos.z}
|
local pos2 = {x = pos.x, y = pos.y + 2, z = pos.z}
|
||||||
@ -907,6 +914,8 @@ nssm_register_throwitem("teleport", "Teleport Bomb", {
|
|||||||
or not minetest.get_item_group(
|
or not minetest.get_item_group(
|
||||||
minetest.get_node(pos1).name, "unbreakable") == 1 then
|
minetest.get_node(pos1).name, "unbreakable") == 1 then
|
||||||
|
|
||||||
|
local posthrow = self.posthrow ; if not posthrow then return end
|
||||||
|
|
||||||
for _,obj in ipairs(minetest.get_objects_inside_radius(posthrow, 2)) do
|
for _,obj in ipairs(minetest.get_objects_inside_radius(posthrow, 2)) do
|
||||||
|
|
||||||
if obj:is_player() then
|
if obj:is_player() then
|
||||||
|
Loading…
Reference in New Issue
Block a user