From 949497248375b643431d2ece0b2588344b574042 Mon Sep 17 00:00:00 2001 From: TenPlus1 Date: Mon, 3 Jul 2017 19:07:57 +0100 Subject: [PATCH] add visual/sound when protecting mob, also when using net/lasso --- api.lua | 28 ++++++++++++++++++++++------ sounds/license.txt | 4 ++++ sounds/spell.ogg | Bin 0 -> 15205 bytes sounds/swing.ogg | Bin 0 -> 6895 bytes textures/mobs_protect_particle.png | Bin 0 -> 117 bytes 5 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 sounds/license.txt create mode 100644 sounds/spell.ogg create mode 100644 sounds/swing.ogg create mode 100644 textures/mobs_protect_particle.png diff --git a/api.lua b/api.lua index c1249b3..d8721be 100644 --- a/api.lua +++ b/api.lua @@ -1,9 +1,9 @@ --- Mobs Api (2nd July 2017) +-- Mobs Api (3rd July 2017) mobs = {} mobs.mod = "redo" -mobs.version = "20170630" +mobs.version = "20170703" -- Intllib @@ -275,12 +275,13 @@ end -- particle effects -local effect = function(pos, amount, texture, min_size, max_size, radius, gravity) +local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) radius = radius or 2 min_size = min_size or 0.5 max_size = max_size or 1 gravity = gravity or -10 + glow = glow or 0 minetest.add_particlespawner({ amount = amount, @@ -296,6 +297,7 @@ local effect = function(pos, amount, texture, min_size, max_size, radius, gravit minsize = min_size, maxsize = max_size, texture = texture, + glow = glow, }) end @@ -3292,8 +3294,13 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso, self.object:remove() + mob_sound(self, "default_place_node_hard") + + else minetest.chat_send_player(name, S("Missed!")) + + mob_sound(self, "swing") end end @@ -3321,11 +3328,20 @@ function mobs:protect(self, clicker) return true -- false end - tool:take_item() -- take 1 protection rune - clicker:set_wielded_item(tool) + if not creative then + tool:take_item() -- take 1 protection rune + clicker:set_wielded_item(tool) + end self.protected = true - minetest.chat_send_player(name, S("Protected!")) +-- minetest.chat_send_player(name, S("Protected!")) + + local pos = self.object:getpos() + pos.y = pos.y + self.collisionbox[2] + 0.5 + + effect(self.object:getpos(), 25, "mobs_protect_particle.png", 0.5, 4, 2, 15) + + mob_sound(self, "spell") return true end diff --git a/sounds/license.txt b/sounds/license.txt new file mode 100644 index 0000000..9dda317 --- /dev/null +++ b/sounds/license.txt @@ -0,0 +1,4 @@ +Creative Commons License sounds from Freesound.org + +swing.ogg by qubodup +spell.ogg by littletobotsoundfactory diff --git a/sounds/spell.ogg b/sounds/spell.ogg new file mode 100644 index 0000000000000000000000000000000000000000..455b54f58a8478d90484bb566918040c178f2e5b GIT binary patch literal 15205 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