mirror of
https://codeberg.org/tenplus1/mobs_monster.git
synced 2025-07-04 17:30:21 +02:00
tweak and tidy code
This commit is contained in:
48
spider.lua
48
spider.lua
@ -1,10 +1,8 @@
|
||||
-- Translation support
|
||||
local S = minetest.get_translator("mobs_monster")
|
||||
|
||||
-- check for default mod
|
||||
local mod_def = minetest.get_modpath("default")
|
||||
-- helper function
|
||||
|
||||
-- helper
|
||||
local get_velocity = function(self)
|
||||
|
||||
local v = self.object:get_velocity()
|
||||
@ -15,6 +13,7 @@ local get_velocity = function(self)
|
||||
return (v.x * v.x + v.z * v.z) ^ 0.5
|
||||
end
|
||||
|
||||
-- custom spider types
|
||||
|
||||
local spider_types = {
|
||||
|
||||
@ -55,7 +54,6 @@ local spider_types = {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-- Spider by AspireMint (CC-BY-SA 3.0 license)
|
||||
|
||||
mobs:register_mob("mobs_monster:spider", {
|
||||
@ -98,16 +96,11 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
light_damage = 0,
|
||||
node_damage = false, -- disable damage_per_second node damage
|
||||
animation = {
|
||||
speed_normal = 15,
|
||||
speed_run = 20,
|
||||
stand_start = 0,
|
||||
stand_end = 0,
|
||||
walk_start = 1,
|
||||
walk_end = 21,
|
||||
run_start = 1,
|
||||
run_end = 21,
|
||||
punch_start = 25,
|
||||
punch_end = 45
|
||||
speed_normal = 15, speed_run = 20,
|
||||
stand_start = 0, stand_end = 0,
|
||||
walk_start = 1, walk_end = 21,
|
||||
run_start = 1, run_end = 21,
|
||||
punch_start = 25, punch_end = 45
|
||||
},
|
||||
|
||||
-- check surrounding nodes and spawn a specific spider
|
||||
@ -126,9 +119,7 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
self.object:set_properties({textures = tmp.skins})
|
||||
self.docile_by_day = tmp.docile
|
||||
|
||||
if tmp.drops then
|
||||
self.drops = tmp.drops
|
||||
end
|
||||
if tmp.drops then self.drops = tmp.drops end
|
||||
|
||||
if tmp.shoot then
|
||||
self.attack_type = "dogshoot"
|
||||
@ -141,6 +132,7 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
end
|
||||
|
||||
if tmp.small then
|
||||
|
||||
self.object:set_properties({
|
||||
collisionbox = {-0.2, -0.2, -0.2, 0.2, 0, 0.2},
|
||||
visual_size = {x = 0.25, y = 0.25}
|
||||
@ -159,9 +151,7 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
|
||||
-- quarter second timer
|
||||
self.spider_timer = (self.spider_timer or 0) + dtime
|
||||
if self.spider_timer < 0.25 then
|
||||
return
|
||||
end
|
||||
if self.spider_timer < 0.25 then return end
|
||||
self.spider_timer = 0
|
||||
|
||||
-- need to be stopped to go onwards
|
||||
@ -171,11 +161,7 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
end
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
local yaw = self.object:get_yaw()
|
||||
|
||||
-- sanity check
|
||||
if not yaw then return end
|
||||
|
||||
local yaw = self.object:get_yaw() ; if not yaw then return end
|
||||
local prop = self.object:get_properties()
|
||||
|
||||
pos.y = pos.y + prop.collisionbox[2] - 0.2
|
||||
@ -231,6 +217,7 @@ mobs:register_mob("mobs_monster:spider", {
|
||||
end
|
||||
})
|
||||
|
||||
-- where to spawn
|
||||
|
||||
if not mobs.custom_spawn_monster then
|
||||
|
||||
@ -262,15 +249,17 @@ if not mobs.custom_spawn_monster then
|
||||
})
|
||||
end
|
||||
|
||||
-- spawn egg
|
||||
|
||||
mobs:register_egg("mobs_monster:spider", S("Spider"), "mobs_cobweb.png", 1)
|
||||
|
||||
-- compatibility with older mobs mod
|
||||
|
||||
mobs:alias_mob("mobs_monster:spider2", "mobs_monster:spider") -- compatibility
|
||||
mobs:alias_mob("mobs_monster:spider2", "mobs_monster:spider")
|
||||
mobs:alias_mob("mobs:spider", "mobs_monster:spider")
|
||||
|
||||
-- cobweb and recipe
|
||||
|
||||
-- cobweb
|
||||
minetest.register_node(":mobs:cobweb", {
|
||||
description = S("Cobweb"),
|
||||
drawtype = "plantlike",
|
||||
@ -289,7 +278,7 @@ minetest.register_node(":mobs:cobweb", {
|
||||
groups = {snappy = 1, disable_jump = 1},
|
||||
is_ground_content = false,
|
||||
drop = "farming:string",
|
||||
sounds = mod_def and default.node_sound_leaves_defaults()
|
||||
sounds = mobs.node_sound_leaves_defaults()
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
@ -301,6 +290,7 @@ minetest.register_craft({
|
||||
}
|
||||
})
|
||||
|
||||
-- cobweb place function
|
||||
|
||||
local web_place = function(pos)
|
||||
|
||||
@ -313,6 +303,8 @@ local web_place = function(pos)
|
||||
end
|
||||
end
|
||||
|
||||
-- cobweb arrow
|
||||
|
||||
mobs:register_arrow("mobs_monster:cobweb", {
|
||||
visual = "sprite",
|
||||
visual_size = {x = 1, y = 1},
|
||||
|
Reference in New Issue
Block a user