From 80a86b658c4cab24d289b558236fe6d632ae532a Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Fri, 17 Mar 2017 13:06:36 +0000 Subject: [PATCH] Separated dogshoot timers for different shoot/fight timings --- api.lua | 6 +++++- api.txt | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/api.lua b/api.lua index adad4b9..22343e9 100644 --- a/api.lua +++ b/api.lua @@ -1266,7 +1266,10 @@ local dogswitch = function(self, dtime) self.dogshoot_count = self.dogshoot_count + dtime - if self.dogshoot_count > self.dogshoot_count_max then + if (self.dogshoot_switch == 1 + and self.dogshoot_count > self.dogshoot_count_max) + or (self.dogshoot_switch == 2 + and self.dogshoot_count > self.dogshoot_count2_max) then self.dogshoot_count = 0 @@ -2389,6 +2392,7 @@ minetest.register_entity(name, { dogshoot_switch = def.dogshoot_switch, dogshoot_count = 0, dogshoot_count_max = def.dogshoot_count_max or 5, + dogshoot_count2_max = def.dogshoot_count2_max, attack_animals = def.attack_animals or false, specific_attack = def.specific_attack, diff --git a/api.txt b/api.txt index f47f9b8..c7e9bec 100644 --- a/api.txt +++ b/api.txt @@ -82,7 +82,8 @@ This functions registers a new mob as a Minetest entity. 'explode' follows player in range and will flash and explode when in reach 'dogshoot' shoots arrows when in range and one on one attack when in reach 'dogshoot_switch' allows switching between shoot and dogfight modes inside dogshoot using timer (1 = shoot, 2 = dogfight) - 'dogshoot_count_max' number of seconds before switching above modes. + 'dogshoot_count_max' number of seconds before switching to dogfight mode. + 'dogshoot_count2_max' number of seconds before switching back to shoot mode. 'custom_attack' is a function that is called when mob is in range to attack player, parameters are (self, to_attack) 'double_melee_attack' if false then api will choose randomly between 'punch' and 'punch2' attack animations 'on_blast' is called when TNT explodes near mob, function uses (object, damage) and returns (do_damage, do_knockback, drops)