Texture improvements, wind boomerang
|
@ -202,7 +202,7 @@ awards.register_achievement("award_youre_a_copper",{
|
|||
|
||||
-- You're winner
|
||||
awards.register_achievement("award_youre_winner",{
|
||||
title = S("YOU'RE A WINNER!"),
|
||||
title = S("Break-In"),
|
||||
description = S("Dig 1 mossy cobblestone."),
|
||||
icon = "miniminer.png",
|
||||
background = "bg_mining.png",
|
||||
|
@ -214,6 +214,19 @@ awards.register_achievement("award_youre_winner",{
|
|||
secret = true,
|
||||
})
|
||||
|
||||
awards.register_achievement("award_treasure",{
|
||||
title = S("Treasure!"),
|
||||
description = S("Open a dungeon chest"),
|
||||
icon = "miniminer.png",
|
||||
background = "bg_mining.png",
|
||||
trigger = {
|
||||
type = "dig",
|
||||
node = "hyrule_mapgen:chest",
|
||||
target = 1
|
||||
},
|
||||
secret = true,
|
||||
})
|
||||
|
||||
-- Found a Nyan cat!
|
||||
awards.register_achievement("award_nyanfind",{
|
||||
title = S("OMG, Nyan Cat!"),
|
||||
|
|
Before Width: | Height: | Size: 675 B After Width: | Height: | Size: 856 B |
Before Width: | Height: | Size: 729 B After Width: | Height: | Size: 785 B |
Before Width: | Height: | Size: 763 B After Width: | Height: | Size: 870 B |
|
@ -77,8 +77,6 @@ playereffects.register_effect_type("potion_antigrav_lvx", "Light weight", nil, {
|
|||
|
||||
--shields
|
||||
|
||||
|
||||
|
||||
minetest.register_globalstep(function()
|
||||
for _, player in ipairs(minetest.get_connected_players()) do
|
||||
local item = player:get_wielded_item():get_name()
|
||||
|
@ -1893,6 +1891,109 @@ minetest.register_tool("hyruletools:boomerang_steel", {
|
|||
end,
|
||||
})
|
||||
|
||||
minetest.register_entity("hyruletools:gboomer", {
|
||||
visual = "mesh",
|
||||
mesh = "boomerang.b3d",
|
||||
textures = {"hyruletools_boomerang_tex3.png"},
|
||||
physical = true,
|
||||
velocity = 15,
|
||||
acceleration = -5,
|
||||
damage = 2,
|
||||
collisionbox = {0, 0, 0, 0, 0, 0},
|
||||
on_activate = function(self)
|
||||
local remove = minetest.after(3, function()
|
||||
self.object:remove()
|
||||
if self.thrower ~= nil then
|
||||
local pos3 = self.thrower:getpos()
|
||||
local obj2 = minetest.env:add_entity(pos3, "__builtin:item")
|
||||
obj2:get_luaentity():set_item(self.item)
|
||||
end
|
||||
end)
|
||||
self.object:set_animation({x=2, y=19}, 30, 0)
|
||||
-- returning from experience mod by jordan4ibanez (dwtfywt)
|
||||
minetest.after(1.5, function()
|
||||
if self.thrower ~= nil then
|
||||
local pos2 = self.object:getpos()
|
||||
local pos1 = self.thrower:getpos()
|
||||
if pos1 ~= nil and pos2 ~= nil then
|
||||
local vec = {x=pos1.x-pos2.x, y=pos1.y-pos2.y, z=pos1.z-pos2.z}
|
||||
vec.x = vec.x/1.5
|
||||
vec.y = vec.y/1.5
|
||||
vec.z = vec.z/1.5
|
||||
self.object:setvelocity(vec)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end,
|
||||
on_step = function(self, obj, pos)
|
||||
local pos = self.object:getpos()
|
||||
local objs = minetest.get_objects_inside_radius({x=pos.x,y=pos.y,z=pos.z}, 2)
|
||||
for k, obj in pairs(objs) do
|
||||
if obj:get_luaentity() ~= nil then
|
||||
if obj:get_luaentity().name ~= "hyruletools:gboomer" and obj:get_luaentity().name ~= "__builtin:item" then
|
||||
obj:punch(self.object, 1.0, {
|
||||
full_punch_interval=1.0,
|
||||
damage_groups={fleshy=1},
|
||||
}, nil)
|
||||
self.object:remove()
|
||||
elseif obj:get_luaentity().name == "__builtin:item" then
|
||||
self.item = obj:get_luaentity().itemstring
|
||||
obj:remove()
|
||||
self.object:remove()
|
||||
end
|
||||
end
|
||||
end
|
||||
local apos = self.object:getpos()
|
||||
local part = minetest.add_particlespawner(
|
||||
1, --amount
|
||||
0.3, --time
|
||||
{x=apos.x-0.1, y=apos.y-0.1, z=apos.z-0.1}, --minpos
|
||||
{x=apos.x+0.1, y=apos.y+0.1, z=apos.z+0.1}, --maxpos
|
||||
{x=-0, y=-0, z=-0}, --minvel
|
||||
{x=0, y=0, z=0}, --maxvel
|
||||
{x=0,y=-0.5,z=0}, --minacc
|
||||
{x=0.5,y=0.5,z=0.5}, --maxacc
|
||||
0.2, --minexptime
|
||||
0.5, --maxexptime
|
||||
0.5, --minsize
|
||||
1, --maxsize
|
||||
false, --collisiondetection
|
||||
"hyruletools_wind.png" --texture
|
||||
)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_tool("hyruletools:gboomerang", {
|
||||
description = "Gale Boomerang",
|
||||
inventory_image = "hyruletools_boomer_gale.png",
|
||||
wield_scale = {x = 1.5, y = 1.5, z = 1},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.7,
|
||||
max_drop_level=1,
|
||||
groupcaps={
|
||||
snappy={times={[1]=2.0, [2]=1.00, [3]=0.35}, uses=30, maxlevel=3},
|
||||
},
|
||||
damage_groups = {fleshy=1},
|
||||
},
|
||||
on_use = function(item, placer, pointed_thing)
|
||||
local add = minetest.after(3, function()
|
||||
local pos = placer:getpos()
|
||||
minetest.add_item(pos, {name = "hyruletools:gboomerang"})
|
||||
end)
|
||||
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+1.5+dir.y,z=playerpos.z+0+dir.z}, "hyruletools:gboomer")
|
||||
local vec = {x=dir.x*8,y=dir.y*8,z=dir.z*8}
|
||||
obj:setvelocity(vec)
|
||||
local acc = {x=dir.x*-6,y=dir.y*-6,z=dir.z*-6}
|
||||
--obj:setacceleration(acc)
|
||||
local object = obj:get_luaentity()
|
||||
object.thrower = placer
|
||||
item:take_item()
|
||||
return item
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'hyruletools:boomerang',
|
||||
recipe = {
|
||||
|
|
After Width: | Height: | Size: 236 B |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 189 B |
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 162 B |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 276 B |