diff --git a/boss.lua b/boss.lua index 27e3f55..1d1b4ad 100644 --- a/boss.lua +++ b/boss.lua @@ -92,12 +92,12 @@ mobs:register_mob('scorpion:boss', { }) mobs:spawn({ - name = 'scorpion:big', + name = 'scorpion:boss', nodes = {'default:desert_stone'}, - max_light = 14, + max_light = 10, min_height = 0, max_height = 150, - interval = 60, - chance = 9000, + interval = 45, + chance = 10000, active_object_count = 1, }) diff --git a/little.lua b/little.lua index 69599be..511be2f 100644 --- a/little.lua +++ b/little.lua @@ -2,7 +2,7 @@ mobs:register_mob('scorpion:little', { type = 'monster', passive = false, attack_type = 'dogfight', - damage = 3, + damage = 5, hp_min = 30, hp_max = 75, armor = 45, collisionbox = {-0.6, -0.35, -0.5, 0.6, 0.3, 0.5}, visual = 'mesh', diff --git a/pet.lua b/pet.lua index 4441ea1..568be2a 100644 --- a/pet.lua +++ b/pet.lua @@ -14,7 +14,6 @@ mobs:register_mob('scorpion:pet', { collisionbox = {-0.6, -0.35, -0.5, 0.6, 0.3, 0.5}, visual = 'mesh', mesh = 'scorpion.b3d', - drawtype = 'front', textures = { {'scorpion_red.png^scorpion_pet.png'}, {'scorpion_green.png^scorpion_pet.png'}, @@ -71,17 +70,39 @@ mobs:register_mob('scorpion:pet', { if mobs:feed_tame(self, clicker, 10, false, true) then return end - if self.owner and self.owner == name then - if self.order == 'follow' then - self.order = 'stand' - minetest.chat_send_player(name, ('Scorpion holding ground.')) - else - self.order = 'follow' - minetest.chat_send_player(name, ('Scorpion following you.')) - end - mobs:capture_mob(self, clicker, 20, 0, 100, false, nil) - end - end, + if self.owner and self.owner == name then + if item ~= 'mobs:saddle' then + if self.order == 'follow' then + self.order = 'stand' + minetest.chat_send_player(name, ('Scorpion holding ground.')) + else + self.order = 'follow' + minetest.chat_send_player(name, ('Scorpion following you.')) + end + mobs:capture_mob(self, clicker, 20, 0, 100, false, nil) + end + -- detatch player + if self.driver and clicker == self.driver then + mobs.detach(clicker, {x = 1, y = 0, z = 1}) + -- add saddle back to inventory + if inv:room_for_item("main", "mobs:saddle") then + inv:add_item("main", "mobs:saddle") + else + minetest.add_item(clicker:get_pos(), "mobs:saddle") + end + self.saddle = nil + -- attach player + elseif (not self.driver and not self.child and item == "mobs:saddle") + or self.saddle then + self.object:set_properties({stepheight = 1.1}) + mobs.attach(self, clicker) + if not self.saddle then + inv:remove_item("main", "mobs:saddle") + end + self.saddle = true + end + end + end, on_grown = function(self) local owner = self.owner