Upload files to 'mods/rangedweapons'
This commit is contained in:
parent
bf1ae9ba40
commit
a027553715
|
@ -0,0 +1,159 @@
|
|||
local modpath = minetest.get_modpath(minetest.get_current_modname())
|
||||
|
||||
dofile(modpath.."/settings.lua")
|
||||
dofile(modpath.."/misc.lua")
|
||||
dofile(modpath.."/e11.lua")
|
||||
dofile(modpath.."/explosives.lua")
|
||||
dofile(modpath.."/door_breaking.lua")
|
||||
dofile(modpath.."/glass_breaking.lua")
|
||||
|
||||
local rangedweapons_empty_shell = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "wielditem",
|
||||
visual_size = {x=0.3, y=0.3},
|
||||
textures = {"rangedweapons:shelldrop"},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
rangedweapons_empty_shell.on_step = function(self, dtime, pos)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
if self.lastpos.y ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
local vel = self.object:getvelocity()
|
||||
local acc = self.object:getacceleration()
|
||||
self.object:setvelocity({x=vel.x*-0.3, y=vel.y*-0.75, z=vel.z*-0.3})
|
||||
minetest.sound_play("rangedweapons_shellhit", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:setacceleration({x=acc.x, y=acc.y, z=acc.z})
|
||||
end
|
||||
end
|
||||
if self.timer > 1.69 then
|
||||
minetest.sound_play("rangedweapons_bulletdrop", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
|
||||
minetest.register_entity("rangedweapons:empty_shell", rangedweapons_empty_shell )
|
||||
|
||||
|
||||
|
||||
local rangedweapons_empty_shell_shotgun = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "wielditem",
|
||||
visual_size = {x=0.35, y=0.35},
|
||||
textures = {"rangedweapons:shell_shotgundrop"},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
rangedweapons_empty_shell_shotgun.on_step = function(self, dtime, pos)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
if self.lastpos.y ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
local vel = self.object:getvelocity()
|
||||
local acc = self.object:getacceleration()
|
||||
self.object:setvelocity({x=vel.x*-0.3, y=vel.y*-0.75, z=vel.z*-0.3})
|
||||
minetest.sound_play("rangedweapons_shellhit", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:setacceleration({x=acc.x, y=acc.y, z=acc.z})
|
||||
end
|
||||
end
|
||||
if self.timer > 1.69 then
|
||||
minetest.sound_play("rangedweapons_bulletdrop", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
|
||||
minetest.register_entity("rangedweapons:empty_shell_shotgun", rangedweapons_empty_shell_shotgun )
|
||||
|
||||
|
||||
|
||||
local rangedweapons_empty_shell_white = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "wielditem",
|
||||
visual_size = {x=0.30, y=0.30},
|
||||
textures = {"rangedweapons:shell_whitedrop"},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
rangedweapons_empty_shell_white.on_step = function(self, dtime, pos)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
if self.lastpos.y ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
local vel = self.object:getvelocity()
|
||||
local acc = self.object:getacceleration()
|
||||
self.object:setvelocity({x=vel.x*-0.3, y=vel.y*-0.75, z=vel.z*-0.3})
|
||||
minetest.sound_play("rangedweapons_shellhit", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:setacceleration({x=acc.x, y=acc.y, z=acc.z})
|
||||
end
|
||||
end
|
||||
if self.timer > 1.69 then
|
||||
minetest.sound_play("rangedweapons_bulletdrop", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
|
||||
minetest.register_entity("rangedweapons:empty_shell_white", rangedweapons_empty_shell_white )
|
||||
|
||||
|
||||
|
||||
local rangedweapons_empty_shell_grenade = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "wielditem",
|
||||
visual_size = {x=0.30, y=0.30},
|
||||
textures = {"rangedweapons:shell_grenadedrop"},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
rangedweapons_empty_shell_grenade.on_step = function(self, dtime, pos)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
if self.lastpos.y ~= nil then
|
||||
if minetest.registered_nodes[node.name].walkable then
|
||||
local vel = self.object:getvelocity()
|
||||
local acc = self.object:getacceleration()
|
||||
self.object:setvelocity({x=vel.x*-0.3, y=vel.y*-0.75, z=vel.z*-0.3})
|
||||
minetest.sound_play("rangedweapons_shellhit", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:setacceleration({x=acc.x, y=acc.y, z=acc.z})
|
||||
end
|
||||
end
|
||||
if self.timer > 1.69 then
|
||||
minetest.sound_play("rangedweapons_bulletdrop", {pos = self.lastpos, gain = 0.8})
|
||||
self.object:remove()
|
||||
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
|
||||
minetest.register_entity("rangedweapons:empty_shell_grenade", rangedweapons_empty_shell_grenade )
|
||||
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = {"doors:hidden"},
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
pos.y = pos.y+1
|
||||
node.name = "air"
|
||||
minetest.set_node(pos, node)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
|
|
@ -0,0 +1 @@
|
|||
cc-by-sa 3.0
|
|
@ -0,0 +1,100 @@
|
|||
|
||||
|
||||
minetest.register_craftitem("rangedweapons:shell_shotgundrop", {
|
||||
wield_scale = {x=2.5,y=1.5,z=1.0},
|
||||
inventory_image = "rangedweapons_shelldrop_shotgun.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("rangedweapons:shell_whitedrop", {
|
||||
wield_scale = {x=2.5,y=1.5,z=1.0},
|
||||
inventory_image = "rangedweapons_shelldrop_white.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("rangedweapons:shell_grenadedrop", {
|
||||
wield_scale = {x=2.5,y=1.5,z=3.0},
|
||||
inventory_image = "rangedweapons_shelldrop_grenade.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("rangedweapons:shelldrop", {
|
||||
wield_scale = {x=2.5,y=1.5,z=1.0},
|
||||
inventory_image = "rangedweapons_shelldrop.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("rangedweapons:plastic_sheet", {
|
||||
description = "" ..core.colorize("#35cdff","Black plastic sheet\n")..core.colorize("#FFFFFF", "Used in guncraft"),
|
||||
inventory_image = "rangedweapons_plastic_sheet.png",
|
||||
})
|
||||
|
||||
minetest.register_craftitem("rangedweapons:gunsteel_ingot", {
|
||||
description = "" ..core.colorize("#35cdff","GunSteel ingot\n")..core.colorize("#FFFFFF", "A strong, but light alloy, used in guncraft"),
|
||||
inventory_image = "rangedweapons_gunsteel_ingot.png",
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "rangedweapons:gunsteel_ingot",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:tin_ingot", "default:coal_lump"},
|
||||
}
|
||||
})
|
||||
minetest.register_craftitem("rangedweapons:ultra_gunsteel_ingot", {
|
||||
description = "" ..core.colorize("#35cdff","Ultra-GunSteel ingot\n")..core.colorize("#FFFFFF", "A even stronger alloy, for even stronger guns."),
|
||||
inventory_image = "rangedweapons_ultra_gunsteel_ingot.png",
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "rangedweapons:ultra_gunsteel_ingot",
|
||||
recipe = {
|
||||
{"", "default:mese_crystal", ""},
|
||||
{"default:gold_ingot", "rangedweapons:gunsteel_ingot", "default:gold_ingot"},
|
||||
{"", "default:diamond", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "rangedweapons:plastic_sheet",
|
||||
recipe = {
|
||||
{"default:tree", "default:coal_lump", "default:tree"},
|
||||
{"default:coal_lump", "default:tree", "default:coal_lump"},
|
||||
}
|
||||
})
|
||||
minetest.register_craftitem("rangedweapons:gun_power_core", {
|
||||
description = "" ..core.colorize("#35cdff","Gun Power Core\n")..core.colorize("#FFFFFF", "A powerful core, for making the most powerful weapons"),
|
||||
inventory_image = "rangedweapons_gun_power_core.png",
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "rangedweapons:gun_power_core",
|
||||
recipe = {
|
||||
{"rangedweapons:gunsteel_ingot", "default:goldblock", "rangedweapons:gunsteel_ingot"},
|
||||
{"default:diamondblock", "default:mese", "default:diamondblock"},
|
||||
{"rangedweapons:gunsteel_ingot", "default:goldblock", "rangedweapons:gunsteel_ingot"},
|
||||
}
|
||||
})
|
||||
minetest.register_craftitem("rangedweapons:power_particle", {
|
||||
description = "Blaster Cartrage",
|
||||
stack_max = 10000,
|
||||
inventory_image = "blaster_cartrage.png",
|
||||
})
|
||||
|
||||
local rangedweapons_smoke = {
|
||||
physical = false,
|
||||
timer = 0,
|
||||
visual = "sprite",
|
||||
visual_size = {x=0.5, y=0.5},
|
||||
textures = {"tnt_smoke.png"},
|
||||
lastpos= {},
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
rangedweapons_smoke.on_step = function(self, dtime, pos)
|
||||
self.timer = self.timer + dtime
|
||||
local pos = self.object:getpos()
|
||||
local node = minetest.get_node(pos)
|
||||
if self.lastpos.x ~= nil then
|
||||
if self.timer > 0.30 then
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
self.lastpos= {x = pos.x, y = pos.y, z = pos.z}
|
||||
end
|
||||
|
||||
|
||||
|
||||
minetest.register_entity("rangedweapons:smoke", rangedweapons_smoke )
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
-- change "true" to "false" in order to disable a feature, or
|
||||
-- "false" to "true" to enable it
|
||||
|
||||
explosives = true
|
||||
javelins = true
|
||||
shurikens = true
|
||||
handguns = true
|
||||
shotguns = true
|
||||
rifles = true
|
||||
magnums_and_revolvers = true
|
||||
machine_pistols = true
|
||||
sub_machineguns = true
|
||||
assault_rifles = true
|
||||
power_weapons = true
|
||||
glass_breaking = true
|
||||
door_breaking = true
|
||||
heavy_machineguns = true
|
||||
minigun_aswell = true
|
||||
|
||||
|
Loading…
Reference in New Issue