mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-26 12:31:05 +01:00
Fix farm mobs following players slowly, adjust animations to follow suit, increase pig view range slightly, and change the runaway animation from walk to run.
This commit is contained in:
parent
4c05c2e70c
commit
460d6e837a
11 changed files with 29 additions and 16 deletions
|
@ -1931,16 +1931,16 @@ local follow_flop = function(self)
|
||||||
|
|
||||||
if p.x > s.x then yaw = yaw + pi end
|
if p.x > s.x then yaw = yaw + pi end
|
||||||
|
|
||||||
set_yaw(self, yaw, 6)
|
set_yaw(self, yaw, 2.35)
|
||||||
|
|
||||||
-- anyone but standing npc's can move along
|
-- anyone but standing npc's can move along
|
||||||
if dist > self.reach
|
if dist > 3
|
||||||
and self.order ~= "stand" then
|
and self.order ~= "stand" then
|
||||||
|
|
||||||
set_velocity(self, self.walk_velocity)
|
set_velocity(self, self.follow_velocity)
|
||||||
|
|
||||||
if self.walk_chance ~= 0 then
|
if self.walk_chance ~= 0 then
|
||||||
set_animation(self, "walk")
|
set_animation(self, "run")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
set_velocity(self, 0)
|
set_velocity(self, 0)
|
||||||
|
@ -2179,7 +2179,7 @@ local do_states = function(self, dtime)
|
||||||
set_animation(self, "stand")
|
set_animation(self, "stand")
|
||||||
else
|
else
|
||||||
set_velocity(self, self.run_velocity)
|
set_velocity(self, self.run_velocity)
|
||||||
set_animation(self, "walk")
|
set_animation(self, "run")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- attack routines (explode, dogfight, shoot, dogshoot)
|
-- attack routines (explode, dogfight, shoot, dogshoot)
|
||||||
|
@ -3472,6 +3472,7 @@ minetest.register_entity(name, {
|
||||||
sounds_child = def.sounds_child,
|
sounds_child = def.sounds_child,
|
||||||
explosion_strength = def.explosion_strength,
|
explosion_strength = def.explosion_strength,
|
||||||
suffocation_timer = 0,
|
suffocation_timer = 0,
|
||||||
|
follow_velocity = def.follow_velocity or 2.4,
|
||||||
-- End of MCL2 extensions
|
-- End of MCL2 extensions
|
||||||
|
|
||||||
on_spawn = def.on_spawn,
|
on_spawn = def.on_spawn,
|
||||||
|
|
|
@ -241,6 +241,7 @@ functions needed for the mob to work properly which contains the following:
|
||||||
dir is mob's aiming direction
|
dir is mob's aiming direction
|
||||||
'sounds_child' same as sounds, but for childs. If not defined, childs will use same
|
'sounds_child' same as sounds, but for childs. If not defined, childs will use same
|
||||||
sound as adults but with higher pitch
|
sound as adults but with higher pitch
|
||||||
|
'follow_velocity' The speed at which a mob moves toward the player when they're holding the appropriate follow item.
|
||||||
|
|
||||||
|
|
||||||
Node Replacement
|
Node Replacement
|
||||||
|
|
|
@ -35,10 +35,11 @@ local cow_def = {
|
||||||
distance = 16,
|
distance = 16,
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
stand_speed = 25, walk_speed = 25, run_speed = 50,
|
stand_speed = 25, walk_speed = 40,
|
||||||
stand_start = 0, stand_end = 0,
|
run_speed = 60, stand_start = 0,
|
||||||
walk_start = 0, walk_end = 40,
|
stand_end = 0, walk_start = 0,
|
||||||
run_start = 0, run_end = 40,
|
walk_end = 40, run_start = 0,
|
||||||
|
run_end = 40,
|
||||||
},
|
},
|
||||||
follow = mobs_mc.follow.cow,
|
follow = mobs_mc.follow.cow,
|
||||||
on_rightclick = function(self, clicker)
|
on_rightclick = function(self, clicker)
|
||||||
|
|
|
@ -96,7 +96,7 @@ local horse = {
|
||||||
walk_speed = 25,
|
walk_speed = 25,
|
||||||
walk_start = 0,
|
walk_start = 0,
|
||||||
walk_end = 40,
|
walk_end = 40,
|
||||||
run_speed = 50,
|
run_speed = 60,
|
||||||
run_start = 0,
|
run_start = 0,
|
||||||
run_end = 40,
|
run_end = 40,
|
||||||
},
|
},
|
||||||
|
|
|
@ -46,6 +46,7 @@ mobs:register_mob("mobs_mc:llama", {
|
||||||
runaway = true,
|
runaway = true,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
run_velocity = 4.4,
|
run_velocity = 4.4,
|
||||||
|
follow_velocity = 4.4,
|
||||||
floats = 1,
|
floats = 1,
|
||||||
drops = {
|
drops = {
|
||||||
{name = mobs_mc.items.leather,
|
{name = mobs_mc.items.leather,
|
||||||
|
@ -61,6 +62,9 @@ mobs:register_mob("mobs_mc:llama", {
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 24,
|
speed_normal = 24,
|
||||||
|
run_speed = 60,
|
||||||
|
run_start = 0,
|
||||||
|
run_end = 40,
|
||||||
stand_start = 0,
|
stand_start = 0,
|
||||||
stand_end = 0,
|
stand_end = 0,
|
||||||
walk_start = 0,
|
walk_start = 0,
|
||||||
|
|
|
@ -41,6 +41,7 @@ local ocelot = {
|
||||||
walk_chance = default_walk_chance,
|
walk_chance = default_walk_chance,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
|
follow_velocity = 1,
|
||||||
floats = 1,
|
floats = 1,
|
||||||
runaway = true,
|
runaway = true,
|
||||||
fall_damage = 0,
|
fall_damage = 0,
|
||||||
|
@ -52,7 +53,7 @@ local ocelot = {
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 25,
|
speed_normal = 25,
|
||||||
speed_run = 50,
|
run_speed = 50,
|
||||||
stand_start = 0,
|
stand_start = 0,
|
||||||
stand_end = 0,
|
stand_end = 0,
|
||||||
walk_start = 0,
|
walk_start = 0,
|
||||||
|
@ -105,6 +106,7 @@ cat.order = "roam" -- "sit" or "roam"
|
||||||
cat.owner_loyal = true
|
cat.owner_loyal = true
|
||||||
cat.tamed = true
|
cat.tamed = true
|
||||||
cat.runaway = false
|
cat.runaway = false
|
||||||
|
cat.follow_velocity = 2.4
|
||||||
-- Automatically teleport cat to owner
|
-- Automatically teleport cat to owner
|
||||||
cat.do_custom = mobs_mc.make_owner_teleport_function(12)
|
cat.do_custom = mobs_mc.make_owner_teleport_function(12)
|
||||||
cat.sounds = {
|
cat.sounds = {
|
||||||
|
|
|
@ -20,6 +20,7 @@ mobs:register_mob("mobs_mc:pig", {
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
run_velocity = 3,
|
run_velocity = 3,
|
||||||
|
follow_velocity = 3.4,
|
||||||
drops = {
|
drops = {
|
||||||
{name = mobs_mc.items.porkchop_raw,
|
{name = mobs_mc.items.porkchop_raw,
|
||||||
chance = 1,
|
chance = 1,
|
||||||
|
@ -36,7 +37,7 @@ mobs:register_mob("mobs_mc:pig", {
|
||||||
animation = {
|
animation = {
|
||||||
stand_speed = 40,
|
stand_speed = 40,
|
||||||
walk_speed = 40,
|
walk_speed = 40,
|
||||||
run_speed = 50,
|
run_speed = 90,
|
||||||
stand_start = 0,
|
stand_start = 0,
|
||||||
stand_end = 0,
|
stand_end = 0,
|
||||||
walk_start = 0,
|
walk_start = 0,
|
||||||
|
@ -45,7 +46,7 @@ mobs:register_mob("mobs_mc:pig", {
|
||||||
run_end = 40,
|
run_end = 40,
|
||||||
},
|
},
|
||||||
follow = mobs_mc.follow.pig,
|
follow = mobs_mc.follow.pig,
|
||||||
view_range = 5,
|
view_range = 8,
|
||||||
do_custom = function(self, dtime)
|
do_custom = function(self, dtime)
|
||||||
|
|
||||||
-- set needed values if not already present
|
-- set needed values if not already present
|
||||||
|
|
|
@ -27,6 +27,7 @@ local rabbit = {
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
walk_velocity = 1,
|
walk_velocity = 1,
|
||||||
run_velocity = 3.7,
|
run_velocity = 3.7,
|
||||||
|
follow_velocity = 1.1,
|
||||||
floats = 1,
|
floats = 1,
|
||||||
runaway = true,
|
runaway = true,
|
||||||
jump = true,
|
jump = true,
|
||||||
|
|
|
@ -76,8 +76,8 @@ mobs:register_mob("mobs_mc:sheep", {
|
||||||
distance = 16,
|
distance = 16,
|
||||||
},
|
},
|
||||||
animation = {
|
animation = {
|
||||||
speed_normal = 25, speed_run = 50,
|
speed_normal = 25, run_speed = 65,
|
||||||
stand_start = 40, stand_end = 80,
|
stand_start = 40, stand_end = 80,
|
||||||
walk_start = 0, walk_end = 40,
|
walk_start = 0, walk_end = 40,
|
||||||
run_start = 0, run_end = 40,
|
run_start = 0, run_end = 40,
|
||||||
},
|
},
|
||||||
|
|
|
@ -125,6 +125,7 @@ dog.owner = ""
|
||||||
-- TODO: Start sitting by default
|
-- TODO: Start sitting by default
|
||||||
dog.order = "roam"
|
dog.order = "roam"
|
||||||
dog.owner_loyal = true
|
dog.owner_loyal = true
|
||||||
|
dog.follow_velocity = 3.2
|
||||||
-- Automatically teleport dog to owner
|
-- Automatically teleport dog to owner
|
||||||
dog.do_custom = mobs_mc.make_owner_teleport_function(12)
|
dog.do_custom = mobs_mc.make_owner_teleport_function(12)
|
||||||
dog.follow = mobs_mc.follow.dog
|
dog.follow = mobs_mc.follow.dog
|
||||||
|
|
|
@ -129,9 +129,10 @@ mobs_mc.override.items = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
--Horses, Llamas, and Wolves shouldn't follow, but leaving this alone until leads are implemented.
|
||||||
mobs_mc.override.follow = {
|
mobs_mc.override.follow = {
|
||||||
chicken = { "mcl_farming:wheat_seeds", "mcl_farming:melon_seeds", "mcl_farming:pumpkin_seeds", "mcl_farming:beetroot_seeds", },
|
chicken = { "mcl_farming:wheat_seeds", "mcl_farming:melon_seeds", "mcl_farming:pumpkin_seeds", "mcl_farming:beetroot_seeds", },
|
||||||
parrot = { "mcl_farming:seed_wheat", "mcl_farming:seed_beetroot", "mcl_farming:seed_pumpkin", "mcl_farming:seed_melon" }, -- seeds in general
|
parrot = { "mcl_farming:wheat_seeds", "mcl_farming:melon_seeds", "mcl_farming:pumpkin_seeds", "mcl_farming:beetroot_seeds", },
|
||||||
pig = { mobs_mc.override.items.potato, mobs_mc.override.items.carrot, "mcl_farming:beetroot_item", mobs_mc.override.items.carrot_on_a_stick},
|
pig = { mobs_mc.override.items.potato, mobs_mc.override.items.carrot, "mcl_farming:beetroot_item", mobs_mc.override.items.carrot_on_a_stick},
|
||||||
ocelot = { mobs_mc.override.items.fish_raw, mobs_mc.override.items.salmon_raw, mobs_mc.override.items.clownfish_raw, mobs_mc.override.items.pufferfish_raw, },
|
ocelot = { mobs_mc.override.items.fish_raw, mobs_mc.override.items.salmon_raw, mobs_mc.override.items.clownfish_raw, mobs_mc.override.items.pufferfish_raw, },
|
||||||
sheep = { mobs_mc.override.items.wheat },
|
sheep = { mobs_mc.override.items.wheat },
|
||||||
|
|
Loading…
Reference in a new issue