master
runs 2021-01-05 18:15:09 +01:00
parent c359c5d85c
commit d86bad1f9d
33 changed files with 212 additions and 3 deletions

View File

@ -62,7 +62,7 @@ petz.on_rightclick = function(self, clicker)
petz.capture(self, clicker, true)
minetest.chat_send_player("singleplayer", S("Your").." "..S(pet_name).." "..S("has been captured")..".")
elseif self.breed and wielded_item_name == petz.settings[self.type.."_breed"] and not(self.is_baby) then
minetest.chat_send_all("test="..petz.settings[self.type.."_breed"])
--minetest.chat_send_all("test="..petz.settings[self.type.."_breed"])
petz.breed(self, clicker, wielded_item, wielded_item_name)
elseif (wielded_item_name == "petz:dreamcatcher") and (self.tamed == true) and (self.is_pet == true) and is_owner then
petz.put_dreamcatcher(self, clicker, wielded_item, wielded_item_name)

View File

@ -34,6 +34,7 @@ Blueberry Muffin=Muffin de mirtilo
Bone=Ossos
Bottle with Moth=Garrafa com traça
Brushed=Escovado
Bunny=Coelhinho
Butterfly=Borboleta
Butterfly Showcase=Exibição de borboletas
Buy=Compre
@ -165,12 +166,14 @@ Prince Crown=A coroa do príncipe
Prince of North Coat=Jaqueta do Príncipe do Norte
Queen Ant=Formiga Rainha
Queen Bee=Abelha Rainha
Rabbit Hide=Couro de coelho
Rat=Rato
Raw Chicken=Frango cru
Raw Ducky=Pato cru
Raw Goat=Caprino cru
Raw Parrot=Papagaio Cru
Raw Porkchop=Costeleta de porco crua
Raw Rabbit=Coelho cru
Roasted Chicken=Frango Assado
Roasted Chicken Legs=Coxas de frango assado
Roasted Ducky=Pato assado
@ -179,6 +182,7 @@ Roasted Goat Meat=Carne assada de caprino
Roasted Lamb Chop=Costeleta de cordeiro assada
Roasted Parrot=Papagaio Assado
Roasted Porkchop=Costeleta de porco assada
Roasted Rabbit=Coelho assado
Rooster=Galo
Saddle=Sela
Saddlebag=Sacos de Sela

View File

@ -34,6 +34,7 @@ Blueberry Muffin=Blaubeermuffin
Bone=Knochen
Bottle with Moth=Flasche mit Motte
Brushed=Gebürstet
Bunny=Kaninchen
Butterfly=Schmetterling
Butterfly Showcase=Schmetterling-Vitrine
Buy=Kaufen
@ -165,6 +166,7 @@ Prince Crown=Prinzenkrone
Prince of North Coat=Umhang des Prinz des Nordens
Queen Ant=Ameisenkönigin
Queen Bee=Bienenkönigin
Rabbit Hide=Kaninchenfell
Rat=Ratte
Raw Chicken=Rohes Hühnchen
Raw Ducky=Rohes Entlein
@ -172,6 +174,7 @@ Raw Goat=Rohes Ziege
Raw Parrot=Roher Papagei
Raw Porkchop=Rohes Schweinekotelett
Roasted Chicken=Gebratenes Hühnchen
Raw Rabbit=Rohe Kaninchen
Roasted Chicken Legs=Gebratene Hühnchenkeule
Roasted Ducky=Gebratenes Entlein
Roasted Frog Leg=Gebratener Froschschenkel
@ -179,6 +182,7 @@ Roasted Goat Meat=Gebratenes Ziegenfleisch
Roasted Lamb Chop=Gebratene Lammkeule
Roasted Parrot=Gebratener Papagei
Roasted Porkchop=Gebratenes Schweinekotelett
Roasted Rabbit=Gebratenes Kaninchen
Rooster=Hahn
Saddle=Sattel
Saddlebag=Satteltasche

View File

@ -34,6 +34,7 @@ Blueberry Muffin=Madalena de arándano
Bone=Hueso
Bottle with Moth=Botella con polilla
Brushed=Cepillado
Bunny=Conejo
Butterfly=Mariposa
Butterfly Showcase=Expositor de mariposas
Buy=Comprar
@ -165,12 +166,14 @@ Prince Crown=Corona de príncipe
Prince of North Coat=Casaca del Príncipe del Norte
Queen Ant=Hormiga reina
Queen Bee=Abeja reina
Rabbit Hide=Pellejo de conejo
Rat=Rata
Raw Chicken=Pollo crudo
Raw Ducky=Pato crudo
Raw Goat=Cabrito crudo
Raw Parrot=Loro crudo
Raw Porkchop=Chuleta de cerdo cruda
Raw Rabbit=Conejo crudo
Roasted Chicken=Pollo asado
Roasted Chicken Legs=Muslitos de pollo asados
Roasted Ducky=Pato asado
@ -179,6 +182,7 @@ Roasted Goat Meat=Carne de cabrito asada
Roasted Lamb Chop=Chuletilla de cordero asada
Roasted Parrot=Loro tostado
Roasted Porkchop=Chuleta de cerdo asada
Roasted Rabbit=Conejo asado
Rooster=Gallo
Saddle=Silla de montar
Saddlebag=Alforjas

View File

@ -34,6 +34,7 @@ Blueberry Muffin=Madeleine aux myrtilles
Brushed=Brossé
Bone=Os
Bottle with Moth=Bouteille de papillon nocturne
Bunny=Lapin
Butterfly=Papillon
Butterfly Showcase=Vitrine des papillons
Buy=Acheter
@ -165,12 +166,14 @@ Prince Crown=Couronne de Prince.
Prince of North Coat=Prince de la côte nord
Queen Ant=Fourmi reine
Queen Bee=Abeille reine
Rabbit Hide=Peau de lapin
Rat=Rat
Raw Chicken=Poulet cru
Raw Ducky=Canard cru
Raw Parrot=Perroquet cru
Raw Goat=Chèvre crue
Raw Porkchop=Porc cru
Raw Rabbit=Lapin cru
Roasted Chicken=Poulet rôti
Roasted Chicken Legs=Cuisses de poulet rôties
Roasted Ducky=Canard rôti
@ -179,6 +182,7 @@ Roasted Goat Meat=Viande de chèvre rôtie
Roasted Lamb Chop=Mouton rôti
Roasted Parrot=Perroquet rôti
Roasted Porkchop=Rôti de porc
Roasted Rabbit=Rôti de lapin
Rooster=Coq
Saddle=Selle
Saddlebag=Sac pour selle

View File

@ -34,6 +34,7 @@ Blueberry Muffin=Кекс с черникой
Bone= Кость
Bottle with Moth=Бутылка с мотылем
Brushed=Почищенный
Bunny=Зайка
Butterfly= бабочка
Butterfly Showcase=Витрина бабочки
Buy=Купить
@ -165,6 +166,7 @@ Prince Crown=Королевская корона
Prince of North Coat=Принц Северного плаща
Queen Ant=Королева муравей
Queen Bee=Королева пчел
Rabbit Hide=Кроличья шкура
Rat=Крыса
Raw Chicken=Сырая курица
Raw Ducky=Сырая Утка
@ -172,6 +174,7 @@ Raw Parrot=Сырой попугай
Raw Goat=Сырой козёл
Raw Porkchop=Сырая свиная отбивная
Roasted Chicken=Жареная курица
Raw Rabbit=Сырой кролик
Roasted Chicken Legs=Жареные куриные ножки
Roasted Ducky=Обжаренная утка
Roasted Frog Leg=Жареная лягушачья лапка
@ -179,6 +182,7 @@ Roasted Lamb Chop=Жареные отбивные из ягненка
Roasted Goat Meat=Жареное козье мясо
Roasted Parrot=Жареный попугай
Roasted Porkchop=Жареная свиная отбивная
Roasted Rabbit=Жареный кролик
Rooster=Рустер
Saddle=Седло
Saddlebag=Мешок

View File

@ -365,3 +365,26 @@ minetest.register_craft({
recipe = "petz:raw_goat",
cooktime = 3,
})
--Rabbit Food
minetest.register_craftitem("petz:raw_rabbit", {
description = S("Raw Rabbit"),
inventory_image = "petz_raw_rabbit.png",
wield_image = "petz_raw_rabbit.png",
on_use = minetest.item_eat(1),
groups = {flammable = 2, food = 2, food_meat_raw = 1},
})
minetest.register_craftitem("petz:roasted_rabbit", {
description = S("Roasted Rabbit"),
inventory_image = "petz_roasted_rabbit.png",
on_use = minetest.item_eat(3),
groups = {flammable = 2, food = 2, food_meat = 1},
})
minetest.register_craft({
type = "cooking",
output = "petz:roasted_rabbit",
recipe = "petz:raw_rabbit",
cooktime = 2,
})

View File

@ -586,6 +586,14 @@ minetest.register_craftitem("petz:ant_leg", {
inventory_image = "petz_ant_leg.png",
})
--Rabbit Hide
minetest.register_craftitem("petz:rabbit_hide", {
description = S("Rabbit Hide"),
inventory_image = "petz_rabbit_hide.png",
wield_image = "petz_rabbit_hide.png"
})
--minetest.register_node("petz:squirrel_cage", {
--description = S("Squirrel Cage"),
--drawtype = "glasslike_framed",

View File

@ -0,0 +1,23 @@
function mobkit.hq_terrestial_jump(self, prty)
local func = function()
local velocity = {
x = self.max_speed * (self.jump_impulse/3),
y = self.max_speed * self.jump_impulse,
z = self.max_speed * (self.jump_impulse/3),
}
petz.set_velocity(self, velocity)
mobkit.animate(self, 'jump')
self.object:set_acceleration({x=1.0, y=self.jump_impulse, z=1.0})
self.status = "jump"
mobkit.animate(self, 'fly')
--mokapi.make_sound("object", self.object, "petz_splash", petz.settings.max_hear_distance)
minetest.after(0.5, function()
if mobkit.is_alive(self.object) then
self.status = nil
mobkit.clear_queue_high(self)
end
end, self, velocity)
return true
end
mobkit.queue_high(self, func, prty)
end

View File

@ -119,6 +119,17 @@ function petz.herbivore_brain(self)
--end
--end
if prty < 8 then
if (self.can_jump) and not(self.status== "jump") then
local random_number = math.random(1, self.jump_ratio)
if random_number == 1 then
--minetest.chat_send_player("singleplayer", "jump")
mobkit.clear_queue_high(self)
mobkit.hq_terrestial_jump(self, 8)
end
end
end
--Poop
if prty < 7 then
petz.poop(self, pos)

View File

@ -9,6 +9,7 @@ assert(loadfile(modpath .. "/mobkit/bh_breed.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_fly.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_follow.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_herding.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_herbivore.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_hunt.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_mount.lua"))()
assert(loadfile(modpath .. "/mobkit/bh_replace.lua"))()

BIN
petz/models/petz_bunny.b3d Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +1,7 @@
# WARNING: Do NOT change the Petz Mod preferences here
# Do create a 'user.conf' with your favourite preferences instead of.
petz_list = kitty,puppy,ducky,lamb,lion,calf,panda,grizzly,pony,parrot,chicken,piggy,wolf,elephant,elephant_female,pigeon,moth,camel,clownfish,bat,silkworm,chimp,hamster,dolphin,tropicalfish,beaver,turtle,frog,toucan,bee,queen_bee,mr_pumpkin,foxy,penguin,polar_bear,santa_killer,werewolf,tarantula,butterfly,rat,goat,squirrel,leopard,snow_leopard,ant,warrior_ant,queen_ant,rooster,hen
petz_list = kitty,puppy,ducky,lamb,lion,calf,panda,grizzly,pony,parrot,chicken,piggy,wolf,elephant,elephant_female,pigeon,moth,camel,clownfish,bat,silkworm,chimp,hamster,dolphin,tropicalfish,beaver,turtle,frog,toucan,bee,queen_bee,mr_pumpkin,foxy,penguin,polar_bear,santa_killer,werewolf,tarantula,butterfly,rat,goat,squirrel,leopard,snow_leopard,ant,warrior_ant,queen_ant,rooster,hen,bunny
##Tamagochi Mode (Take care of your pet: fed it...)
tamagochi_mode = true
@ -516,3 +516,13 @@ queen_ant_spawn_chance = 0.4
queen_ant_spawn_nodes = default:dirt_with_grass,default:desert_sand
queen_ant_preys = petz:queen_ant
queen_ant_spawn_biome = default
##Bunny Specific
bunny_follow = farming:wheat
bunny_spawn_chance = 0.6
bunny_spawn_nodes = default:dirt_with_grass
bunny_predators = petz:foxy
bunny_spawn_biome = default
bunny_spawn_herd = 3
bunny_breed = default:blueberries
bunny_copulation_distance = 2

112
petz/petz/bunny_mobkit.lua Normal file
View File

@ -0,0 +1,112 @@
--
--BUNNY
--
local S = ...
local pet_name = "bunny"
local scale_model = 1.3
local scale_baby = 0.5
local visual_size = {x=petz.settings.visual_size.x*scale_model, y=petz.settings.visual_size.y*scale_model}
local visual_size_baby = {x=petz.settings.visual_size.x*scale_model*scale_baby, y=petz.settings.visual_size.y*scale_model*scale_baby}
local mesh = 'petz_bunny.b3d'
local skin_colors = {"brown", "gray", "black", "white", "pink"}
local textures = {}
for n = 1, #skin_colors do
textures[n] = "petz_"..pet_name.."_"..skin_colors[n]..".png"
end
local p1 = {x= -0.25, y = -0.5, z = -0.125}
local p2 = {x= 0.25, y = -0.0625, z = 0.1875}
local collisionbox, collisionbox_baby = petz.get_collisionbox(p1, p2, scale_model, scale_baby)
minetest.register_entity("petz:"..pet_name, {
--Petz specifics
type = "bunny",
init_tamagochi_timer = true,
is_pet = true,
has_affinity = true,
is_wild = false,
give_orders = true,
can_be_brushed = true,
can_jump = true,
jump_ratio = 10,
jump_impulse = 1.2,
breed = true,
mutation = 1,
capture_item = "lasso",
follow = petz.settings.bunny_follow,
drops = {
{name = "petz:raw_rabbit", chance = 1, min = 1, max = 1,},
{name = "petz:rabbit_hide", chance = 3, min = 1, max = 1,},
{name = "petz:bone", chance = 5, min = 1, max = 1,},
},
sleep_at_night = true,
sleep_ratio = 0.3,
rotate = petz.settings.rotate,
physical = true,
stepheight = 0.1, --EVIL!
collide_with_objects = true,
collisionbox = collisionbox,
collisionbox_baby = collisionbox_baby,
visual = petz.settings.visual,
mesh = mesh,
textures = textures,
skin_colors = skin_colors,
visual_size = visual_size,
visual_size_baby = visual_size_baby,
static_save = true,
get_staticdata = mobkit.statfunc,
-- api props
springiness= 0,
buoyancy = 0.5, -- portion of hitbox submerged
max_speed = 4,
jump_height = 1.5,
view_range = 10,
lung_capacity = 10, -- seconds
max_hp = 8,
makes_footstep_sound = false,
--head = {
--position = vector.new(0, 0.0969, 0.1939),
--rotation_origin = vector.new(-90, -90, 0), --in degrees, normally values are -90, 0, 90
--},
attack={range=0.5, damage_groups={fleshy=3}},
animation = {
walk={range={x=1, y=12}, speed=25, loop=true},
run={range={x=13, y=25}, speed=25, loop=true},
stand={
{range={x=26, y=46}, speed=5, loop=true},
{range={x=47, y=59}, speed=5, loop=true},
{range={x=82, y=94}, speed=5, loop=true},
},
sit = {range={x=60, y=65}, speed=5, loop=false},
sleep = {range={x=94, y=113}, speed=10, loop=false},
jump = {range={x=114, y=117}, speed=5, loop=false},
},
sounds = {
misc = {"petz_bunny_squeak", "petz_bunny_squeak2", "petz_bunny_squeak3"},
moaning = "petz_bunny_moaning",
},
logic = petz.herbivore_brain,
on_activate = function(self, staticdata, dtime_s) --on_activate, required
mobkit.actfunc(self, staticdata, dtime_s)
petz.set_initial_properties(self, staticdata, dtime_s)
end,
on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir)
petz.on_punch(self, puncher, time_from_last_punch, tool_capabilities, dir)
end,
on_rightclick = function(self, clicker)
petz.on_rightclick(self, clicker)
end,
on_step = function(self, dtime)
mobkit.stepfunc(self, dtime) -- required
petz.on_step(self, dtime)
end,
})
petz:register_egg("petz:bunny", S("Bunny"), "petz_spawnegg_bunny.png", true)

View File

@ -33,6 +33,7 @@ minetest.register_entity("petz:"..pet_name, {
mesh = mesh,
textures = textures,
visual_size = {x=petz.settings.visual_size.x*scale_model, y=petz.settings.visual_size.y*scale_model},
visual_size_baby = visual_size_baby,
static_save = true,
get_staticdata = mobkit.statfunc,
-- api props

View File

@ -57,7 +57,7 @@ minetest.register_entity("petz:"..pet_name, {
stand={
{range={x=26, y=46}, speed=5, loop=true},
{range={x=47, y=59}, speed=5, loop=true},
{range={x=81, y=94}, speed=5, loop=true},
{range={x=82, y=94}, speed=5, loop=true},
},
sit = {range={x=60, y=65}, speed=5, loop=false},
sleep = {range={x=94, y=113}, speed=10, loop=false},

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB