Modified init.lua and removed unnecessary files
This commit is contained in:
parent
25293c6173
commit
25e63c1cf2
5
init.lua
5
init.lua
@ -1,6 +1,6 @@
|
|||||||
local path = minetest.get_modpath("nssm")
|
local path = minetest.get_modpath("nssm")
|
||||||
dofile(path.."/api.lua")
|
dofile(path.."/api.lua")
|
||||||
--dofile(path.."/spawn.lua")
|
dofile(path.."/spawn.lua")
|
||||||
|
|
||||||
--Mobs
|
--Mobs
|
||||||
dofile(path.."/ant_queen.lua")
|
dofile(path.."/ant_queen.lua")
|
||||||
@ -11,7 +11,6 @@ dofile(path.."/bloco.lua")
|
|||||||
dofile(path.."/crab.lua")
|
dofile(path.."/crab.lua")
|
||||||
dofile(path.."/crocodile.lua")
|
dofile(path.."/crocodile.lua")
|
||||||
dofile(path.."/daddy_long_legs.lua")
|
dofile(path.."/daddy_long_legs.lua")
|
||||||
--dofile(path.."/dahaka.lua")
|
|
||||||
dofile(path.."/dolidrosaurus.lua")
|
dofile(path.."/dolidrosaurus.lua")
|
||||||
dofile(path.."/duck.lua")
|
dofile(path.."/duck.lua")
|
||||||
dofile(path.."/duckking.lua")
|
dofile(path.."/duckking.lua")
|
||||||
@ -54,8 +53,6 @@ dofile(path.."/mese_dragon.lua")
|
|||||||
dofile(path.."/rainbow_staff.lua")
|
dofile(path.."/rainbow_staff.lua")
|
||||||
dofile(path.."/darts.lua")
|
dofile(path.."/darts.lua")
|
||||||
dofile(path.."/nssm_materials.lua")
|
dofile(path.."/nssm_materials.lua")
|
||||||
--dofile(path.."/kienzan.lua")
|
|
||||||
--dofile(path.."/kamehameha.lua")
|
|
||||||
dofile(path.."/nssm_spears.lua")
|
dofile(path.."/nssm_spears.lua")
|
||||||
dofile(path.."/nssm_api.lua")
|
dofile(path.."/nssm_api.lua")
|
||||||
dofile(path.."/nssm_weapons.lua")
|
dofile(path.."/nssm_weapons.lua")
|
||||||
|
170
kamehameha.lua
170
kamehameha.lua
@ -1,170 +0,0 @@
|
|||||||
--Kamehameha!
|
|
||||||
kame_velocity = 30
|
|
||||||
exp_radius = 4
|
|
||||||
|
|
||||||
minetest.register_entity("nssm:kamehameha", {
|
|
||||||
textures = {"kamehameha.png"},
|
|
||||||
on_step = function (self, pos, node, dtime)
|
|
||||||
local pos = self.object:getpos()
|
|
||||||
|
|
||||||
--while going around it damages entities
|
|
||||||
local objects = minetest.env:get_objects_inside_radius(pos, 2)
|
|
||||||
for _,obj in ipairs(objects) do
|
|
||||||
if (obj:is_player()) then
|
|
||||||
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item") then
|
|
||||||
obj:set_hp(obj:get_hp()-20)
|
|
||||||
if (obj:get_hp() <= 0) then
|
|
||||||
if (not obj:is_player()) and obj:get_entity_name() ~= "nssm:kamehameha" then
|
|
||||||
obj:remove()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local n = minetest.env:get_node(pos).name
|
|
||||||
|
|
||||||
if n ~="default:stone" and n ~="default:desert_stone" then
|
|
||||||
if minetest.registered_nodes[n].groups.flammable --[[or math.random(1, 100) <= 1]] then
|
|
||||||
minetest.env:set_node(pos, {name="fire:basic_flame"})
|
|
||||||
else
|
|
||||||
minetest.env:set_node(pos, {name="air"})
|
|
||||||
|
|
||||||
local vec = self.object:getvelocity()
|
|
||||||
local c=3
|
|
||||||
|
|
||||||
--calculate how many blocks around the kamehameha need to be removed
|
|
||||||
local i = nssm:round(math.abs(math.abs(vec.x)-kame_velocity)*0.01*c)
|
|
||||||
local j = nssm:round(math.abs(math.abs(vec.y)-kame_velocity)*0.01*c)
|
|
||||||
local k = nssm:round(math.abs(math.abs(vec.z)-kame_velocity)*0.01*c)
|
|
||||||
|
|
||||||
for dx = -i,i do
|
|
||||||
for dy= -j,j do
|
|
||||||
for dz = -k,k do
|
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
|
||||||
minetest.env:remove_node(p)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
self.hit_node(self, pos, node)
|
|
||||||
self.object:remove()
|
|
||||||
return
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
hit_node = function(self, pos, node)
|
|
||||||
--This is the particle spawner, if it slows down your pc then comment this section
|
|
||||||
minetest.add_particlespawner(
|
|
||||||
100*exp_radius, --amount
|
|
||||||
0.1, --time
|
|
||||||
{x=pos.x-exp_radius, y=pos.y-exp_radius, z=pos.z-exp_radius}, --minpos
|
|
||||||
{x=pos.x+exp_radius, y=pos.y+exp_radius, z=pos.z+exp_radius}, --maxpos
|
|
||||||
{x=0, y=0, z=0}, --minvel
|
|
||||||
{x=0.1, y=0.3, z=0.1}, --maxvel
|
|
||||||
{x=-0.5,y=1,z=-0.5}, --minacc
|
|
||||||
{x=0.5,y=1,z=0.5}, --maxacc
|
|
||||||
0.1, --minexptime
|
|
||||||
2, --maxexptime
|
|
||||||
6, --minsize
|
|
||||||
12, --maxsize
|
|
||||||
false, --collisiondetection
|
|
||||||
"tnt_smoke.png" --texture
|
|
||||||
)
|
|
||||||
--end of the particle spawner
|
|
||||||
|
|
||||||
--Damages entities around (not the player)
|
|
||||||
local objects = minetest.env:get_objects_inside_radius(pos, exp_radius)
|
|
||||||
for _,obj in ipairs(objects) do
|
|
||||||
if (obj:is_player()) then
|
|
||||||
elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item") then
|
|
||||||
local obj_p = obj:getpos()
|
|
||||||
local vec = {x=obj_p.x-pos.x, y=obj_p.y-pos.y, z=obj_p.z-pos.z}
|
|
||||||
local dist = (vec.x^2+vec.y^2+vec.z^2)^0.5
|
|
||||||
local damage = 21-dist*5
|
|
||||||
obj:set_hp(obj:get_hp()-damage)
|
|
||||||
if (obj:get_hp() <= 0) then
|
|
||||||
if (not obj:is_player()) and obj:get_entity_name() ~= "nssm:kamehameha" then
|
|
||||||
obj:remove()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.sound_play("boom", {max_hear_distance = 100})
|
|
||||||
|
|
||||||
for dx=-1,1 do
|
|
||||||
for dy=-1,1 do
|
|
||||||
for dz=-1,1 do
|
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
|
||||||
local n = minetest.env:get_node(p).name
|
|
||||||
if n~="air" then
|
|
||||||
minetest.env:remove_node(p)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
local i, j, k
|
|
||||||
local c=1000
|
|
||||||
for i=2,exp_radius do
|
|
||||||
local max
|
|
||||||
local num =4*((i*2)^3)
|
|
||||||
if c/i<num then
|
|
||||||
max = c/i
|
|
||||||
else
|
|
||||||
max = num
|
|
||||||
end
|
|
||||||
for j=1,max do
|
|
||||||
local p = {x=pos.x+math.random(-i,i), y=pos.y+math.random(-i,i), z=pos.z+math.random(-i,i)}
|
|
||||||
local n = minetest.env:get_node(p).name
|
|
||||||
if n~="air" and ( math.abs(p.x-pos.x)==i ) or (math.abs(p.y-pos.y)==i) or (math.abs(p.y-pos.y)==i) then
|
|
||||||
--if ( math.abs(p.x-pos.x)==i ) or (math.abs(p.y-pos.y)==i) or (math.abs(p.y-pos.y)==i) then
|
|
||||||
minetest.env:remove_node(p)
|
|
||||||
elseif math.random(1, 30)==1 then
|
|
||||||
minetest.env:set_node(p, {name="fire:basic_flame"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
--old explosion function:
|
|
||||||
--[[
|
|
||||||
for dx=-4,4 do
|
|
||||||
for dy=-4,4 do
|
|
||||||
for dz=-4,4 do
|
|
||||||
local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
|
|
||||||
local n = minetest.env:get_node(p).name
|
|
||||||
if math.random(1, 50) <= 35 then
|
|
||||||
minetest.env:remove_node(p)
|
|
||||||
end
|
|
||||||
if minetest.registered_nodes[n].groups.flammable or math.random(1, 100) <=5 then
|
|
||||||
minetest.env:set_node(p, {name="fire:basic_flame"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
]]--
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_tool("nssm:kamehameha_hand", {
|
|
||||||
description = "Kamehameha",
|
|
||||||
inventory_image = "kamehameha_hand.png",
|
|
||||||
on_use = function(itemstack, placer, pointed_thing)
|
|
||||||
local dir = placer:get_look_dir();
|
|
||||||
local playerpos = placer:getpos();
|
|
||||||
local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:kamehameha")
|
|
||||||
local vec = {x=dir.x*kame_velocity,y=dir.y*kame_velocity,z=dir.z*kame_velocity}
|
|
||||||
obj:setvelocity(vec)
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'nssm:kamehameha_hand',
|
|
||||||
recipe = {
|
|
||||||
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
|
|
||||||
{'nssm:great_energy_globe', '', 'nssm:great_energy_globe'},
|
|
||||||
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
|
|
||||||
}
|
|
||||||
})
|
|
72
kienzan.lua
72
kienzan.lua
@ -1,72 +0,0 @@
|
|||||||
disk_VELOCITY=20
|
|
||||||
disk_shoot_disk=function (item, player, pointed_thing)
|
|
||||||
if player:get_inventory():contains_item("main", "nssm:kienzan_hand") then
|
|
||||||
local playerpos=player:getpos()
|
|
||||||
local obj=minetest.env:add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, "nssm:kienzan_entity")
|
|
||||||
local dir=player:get_look_dir()
|
|
||||||
obj:setvelocity({x=dir.x*disk_VELOCITY, y=dir.y*disk_VELOCITY, z=dir.z*disk_VELOCITY})
|
|
||||||
end
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_tool("nssm:kienzan_hand", {
|
|
||||||
description = "Kienzan",
|
|
||||||
inventory_image = "kienzan_hand.png",
|
|
||||||
stack_max = 1,
|
|
||||||
-- not_in_creative_inventory=0,
|
|
||||||
on_use = disk_shoot_disk,
|
|
||||||
})
|
|
||||||
|
|
||||||
kienzan_ENTITY={
|
|
||||||
physical = false,
|
|
||||||
textures = {"kienzan.png"},
|
|
||||||
lastpos={},
|
|
||||||
collisionbox = {0,0,0,0,0,0},
|
|
||||||
}
|
|
||||||
|
|
||||||
kienzan_ENTITY.on_step =function (self, pos, node, dtime)
|
|
||||||
local timer = 0
|
|
||||||
minetest.register_globalstep(function(dtime)
|
|
||||||
timer = timer + dtime;
|
|
||||||
if timer > 10 then
|
|
||||||
self.object:remove()
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
local pos = self.object:getpos()
|
|
||||||
local objs = minetest.env:get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
|
|
||||||
for k, obj in pairs(objs) do
|
|
||||||
if obj:is_player() then
|
|
||||||
return
|
|
||||||
else
|
|
||||||
obj:set_hp(obj:get_hp()-20)
|
|
||||||
if obj:get_entity_name() ~= "nssm:kienzan_entity" then
|
|
||||||
if obj:get_hp()<=0 then
|
|
||||||
obj:remove()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
for dx=-1,1 do
|
|
||||||
-- for dy=-1,1 do
|
|
||||||
for dz=-1,1 do
|
|
||||||
local p = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
|
||||||
local t = {x=pos.x+dx, y=pos.y, z=pos.z+dz}
|
|
||||||
local n = minetest.env:get_node(p).name
|
|
||||||
if n ~= "nssm:kienzan_entity" then
|
|
||||||
minetest.env:set_node(t, {name="air"})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_entity("nssm:kienzan_entity", kienzan_ENTITY)
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = 'nssm:kienzan_hand',
|
|
||||||
recipe = {
|
|
||||||
{'', '', ''},
|
|
||||||
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
|
|
||||||
{'', '', ''},
|
|
||||||
}
|
|
||||||
})
|
|
Loading…
x
Reference in New Issue
Block a user