update npc drops and skins
parent
446fa0215c
commit
aac3e4650e
35
igor.lua
35
igor.lua
|
@ -4,8 +4,12 @@ local S = mobs.intllib
|
|||
-- Igor by TenPlus1
|
||||
|
||||
mobs.igor_drops = {
|
||||
"vessels:glass_bottle", "mobs:meat_raw", "default:sword_steel",
|
||||
"farming:bread", "bucket:bucket_water"
|
||||
"vessels:glass_bottle", "mobs:meat_raw", {"default:sword_steel", 2},
|
||||
"farming:bread", {"bucket:bucket_water", 2}, "flowers:mushroom_red",
|
||||
"default:jungletree", {"fire:flint_and_steel", 3}, "mobs:leather",
|
||||
"default:acacia_sapling", {"fireflies:bug_net", 3}, "default:clay_lump",
|
||||
"default:ice", "default:coral_brown", "default:iron_lump",
|
||||
"default:obsidian_shard", "default:mossycobble", {"default:obsidian", 2}
|
||||
}
|
||||
|
||||
mobs:register_mob("mobs_npc:igor", {
|
||||
|
@ -31,7 +35,7 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
{"mobs_igor5.png"},
|
||||
{"mobs_igor6.png"},
|
||||
{"mobs_igor7.png"},
|
||||
{"mobs_igor8.png"},
|
||||
{"mobs_igor8.png"}
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {},
|
||||
|
@ -42,7 +46,7 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
jump = true,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 2},
|
||||
{name = "default:gold_lump", chance = 3, min = 1, max = 1},
|
||||
{name = "default:gold_lump", chance = 3, min = 1, max = 1}
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 3,
|
||||
|
@ -51,7 +55,6 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
view_range = 15,
|
||||
owner = "",
|
||||
order = "follow",
|
||||
-- model animation
|
||||
animation = {
|
||||
speed_normal = 30,
|
||||
speed_run = 30,
|
||||
|
@ -62,8 +65,9 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
run_start = 168,
|
||||
run_end = 187,
|
||||
punch_start = 200,
|
||||
punch_end = 219,
|
||||
punch_end = 219
|
||||
},
|
||||
|
||||
-- right clicking with raw meat will give Igor more health
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
|
@ -88,10 +92,20 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
pos.y = pos.y + 0.5
|
||||
|
||||
local drops = self.igor_drops or mobs.igor_drops
|
||||
local drop = drops[math.random(#drops)]
|
||||
local chance = 1
|
||||
|
||||
minetest.add_item(pos, {
|
||||
name = drops[math.random(1, #drops)]
|
||||
})
|
||||
if type(drop) == "table" then
|
||||
chance = drop[2]
|
||||
drop = drop[1]
|
||||
end
|
||||
|
||||
if not minetest.registered_items[drop]
|
||||
or math.random(chance) > 1 then
|
||||
drop = "default:coal_lump"
|
||||
end
|
||||
|
||||
minetest.add_item(pos, {name = drop})
|
||||
|
||||
minetest.chat_send_player(name, S("NPC dropped you an item for gold!"))
|
||||
|
||||
|
@ -112,12 +126,13 @@ mobs:register_mob("mobs_npc:igor", {
|
|||
minetest.chat_send_player(name, S("NPC stands still."))
|
||||
else
|
||||
self.order = "follow"
|
||||
|
||||
minetest.chat_send_player(name, S("NPC will follow you."))
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
-- register spawn egg
|
||||
|
||||
mobs:register_egg("mobs_npc:igor", S("Igor"), "mobs_meat_raw.png", 1)
|
||||
|
||||
-- compatibility
|
||||
|
|
|
@ -5,7 +5,6 @@ if minetest.get_modpath("lucky_block") then
|
|||
{"spw", "mobs:npc", 1, true, true},
|
||||
{"spw", "mobs:igor", 1, true, true, 5, "Igor"},
|
||||
{"spw", "mobs:trader", 1, false, false},
|
||||
{"lig", "fire:permanent_flame"},
|
||||
{"lig", "fire:permanent_flame"}
|
||||
})
|
||||
|
||||
end
|
||||
|
|
34
npc.lua
34
npc.lua
|
@ -4,8 +4,12 @@ local S = mobs.intllib
|
|||
-- Npc by TenPlus1
|
||||
|
||||
mobs.npc_drops = {
|
||||
"default:pick_steel", "mobs:meat", "default:sword_steel",
|
||||
"default:shovel_steel", "farming:bread", "bucket:bucket_water"
|
||||
{"default:pick_steel", 2}, "mobs:meat", {"default:sword_steel", 2},
|
||||
{"default:shovel_steel", 2}, "farming:bread", "bucket:bucket_water",
|
||||
"default:sapling", "default:tree", "mobs:leather", "default:coral_orange",
|
||||
{"default:mese_crystal_fragment", 3}, "default:clay", {"default:sign_wall", 2},
|
||||
"default:ladder", "default:copper_lump", "default:blueberries",
|
||||
"default:aspen_sapling", "default:permafrost_with_moss"
|
||||
}
|
||||
|
||||
mobs:register_mob("mobs_npc:npc", {
|
||||
|
@ -27,9 +31,11 @@ mobs:register_mob("mobs_npc:npc", {
|
|||
textures = {
|
||||
{"mobs_npc.png"},
|
||||
{"mobs_npc2.png"}, -- female by nuttmeg20
|
||||
{"mobs_npc3.png"}, -- male by swagman181818
|
||||
{"mobs_npc4.png"} -- female by Sapphire16
|
||||
},
|
||||
child_texture = {
|
||||
{"mobs_npc_baby.png"}, -- derpy baby by AmirDerAssassine
|
||||
{"mobs_npc_baby.png"} -- derpy baby by AmirDerAssassine
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {},
|
||||
|
@ -39,7 +45,7 @@ mobs:register_mob("mobs_npc:npc", {
|
|||
drops = {
|
||||
{name = "default:wood", chance = 1, min = 1, max = 3},
|
||||
{name = "default:apple", chance = 2, min = 1, max = 2},
|
||||
{name = "default:axe_stone", chance = 5, min = 1, max = 1},
|
||||
{name = "default:axe_stone", chance = 5, min = 1, max = 1}
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 2,
|
||||
|
@ -59,7 +65,7 @@ mobs:register_mob("mobs_npc:npc", {
|
|||
run_start = 168,
|
||||
run_end = 187,
|
||||
punch_start = 200,
|
||||
punch_end = 219,
|
||||
punch_end = 219
|
||||
},
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
@ -89,10 +95,20 @@ mobs:register_mob("mobs_npc:npc", {
|
|||
pos.y = pos.y + 0.5
|
||||
|
||||
local drops = self.npc_drops or mobs.npc_drops
|
||||
local drop = drops[math.random(#drops)]
|
||||
local chance = 1
|
||||
|
||||
minetest.add_item(pos, {
|
||||
name = drops[math.random(1, #drops)]
|
||||
})
|
||||
if type(drop) == "table" then
|
||||
chance = drop[2]
|
||||
drop = drop[1]
|
||||
end
|
||||
|
||||
if not minetest.registered_items[drop]
|
||||
or math.random(chance) > 1 then
|
||||
drop = "default:clay_lump"
|
||||
end
|
||||
|
||||
minetest.add_item(pos, {name = drop})
|
||||
|
||||
minetest.chat_send_player(name, S("NPC dropped you an item for gold!"))
|
||||
|
||||
|
@ -129,7 +145,7 @@ mobs:spawn({
|
|||
chance = 10000,
|
||||
active_object_count = 1,
|
||||
min_height = 0,
|
||||
day_toggle = true,
|
||||
day_toggle = true
|
||||
})
|
||||
end
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 870 B |
Binary file not shown.
After Width: | Height: | Size: 686 B |
Loading…
Reference in New Issue