From 6357ed688e32c0691f14b51ce21a64a9f3ab9bdb Mon Sep 17 00:00:00 2001 From: D00Med Date: Tue, 4 Oct 2016 06:24:40 +1000 Subject: [PATCH] friendly golems --- baddies.lua | 2 +- init.lua | 63 +++++++++++++++++++++++++++++++++ textures/dmobs_golem_stone.png | Bin 0 -> 624 bytes 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 textures/dmobs_golem_stone.png diff --git a/baddies.lua b/baddies.lua index 5f04825..b52f724 100644 --- a/baddies.lua +++ b/baddies.lua @@ -212,7 +212,7 @@ mobs:register_mob("dmobs:golem", { run_velocity = 2.5, jump = true, drops = { - {name = "default:stone", chance = 5, min = 3, max = 6}, + {name = "dmobs:golemstone", chance = 30, min = 1, max = 1}, }, water_damage = 0, lava_damage = 2, diff --git a/init.lua b/init.lua index 2689a9d..6142fe0 100644 --- a/init.lua +++ b/init.lua @@ -16,6 +16,69 @@ dmobs.destructive = false dofile(minetest.get_modpath("dmobs").."/baddies.lua") +--golem + +minetest.register_node("dmobs:golemstone", { + description = "golem stone", + tiles = {"dmobs_golem_stone.png",}, + groups = {cracky=1}, + on_construct = function(pos, node, _) + local node1 = minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name + local node2 = minetest.env:get_node({x=pos.x, y=pos.y-2, z=pos.z}).name + local node3 = minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name + if node1 == "default:stone" and node2 == "default:stone" and node3 == "air" then + minetest.env:add_entity(pos, "dmobs:golem_friendly") + minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) + minetest.env:remove_node({x=pos.x, y=pos.y-2, z=pos.z}) + minetest.env:remove_node({x=pos.x, y=pos.y, z=pos.z}) + end + end, +}) + +mobs:register_mob("dmobs:golem_friendly", { + type = "npc", + reach = 3, + damage = 2, + attack_type = "dogfight", + attacks_monsters = true, + hp_min = 62, + hp_max = 72, + armor = 100, + collisionbox = {-0.4, 0, -0.4, 0.4, 2.5, 0.4}, + visual = "mesh", + mesh = "golem.b3d", + textures = { + {"dmobs_golem.png"}, + }, + follow = "default:cobble", + blood_texture = "default_stone.png", + visual_size = {x=1, y=1}, + makes_footstep_sound = true, + walk_velocity = 1, + run_velocity = 2.5, + jump = true, + water_damage = 0, + lava_damage = 2, + light_damage = 0, + fall_damage = 0, + fear_height = 10, + view_range = 14, + animation = { + speed_normal = 10, + speed_run = 14, + walk_start = 46, + walk_end = 66, + stand_start = 1, + stand_end = 20, + run_start = 46, + run_end = 66, + punch_start = 20, + punch_end = 45, + }, +}) + +mobs:register_egg("dmobs:golem_friendly", "Stone Golem (friendly)", "default_stone.png", 1) + --friendly mobs mobs:register_mob("dmobs:panda", { diff --git a/textures/dmobs_golem_stone.png b/textures/dmobs_golem_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..d2990394abc522e78ff7c29374ae65016c6ef2af GIT binary patch literal 624 zcmV-$0+0QPP)W1$46p}SZism@&5jfZLJ|90IcguYYp!`N-5@f##&3)b>y5; zO7Z{FAp}xNhzPY-YON@xsI}spBc+5=3S$gPsl9p#VLNwShjR|46wWzXYglWU=b2?$ z7>0pbE7n@>#f&j{@5woD3{pyaz~|>DT5BF29w?=db7ol0qA5~UOlhXdYwmStg@CbZVX z82R}4;CMWuwZ@7FDJ1~T=QFJ}N-2m4r4+uuzwzFqwZ<4j-}iX$0hs3*Eh1QJIUEkG z>q^cU5!rn(#?V^h_xE>~Dd!BZIdQKRV?-%MDTS`<2qAE}TmZ;9Z_l-sS}Ua#wAPy^ zr4(9gdtl%9+-^5Q2wbn%ok`A_=jUfyYZzmQG2)!tOuP$nI-PiZedX!tiOc1}x~_=G z-pbqC8{;^lwMIlZole^rl~TLL<2X`l-N6Dl=kVS$O%uoCarfYMyKNBfHv+qPB0|@7 z)LO|oQ%b>F3$X9K_t<-{F~)!X!_UtT%d&7jpLb|?x$bIrUB@5fdvkh$2@Ku<0000< KMNUMnLSTYeeH|14 literal 0 HcmV?d00001