From cddefb27c062570afd1840f154127bb63e597943 Mon Sep 17 00:00:00 2001 From: Juraj Vajda Date: Sat, 13 Mar 2021 21:39:42 -0500 Subject: [PATCH] v 1.0.0 --- README.md | 210 +----- arrow.lua | 511 ++++++++++++++ init.lua | 726 +++++++++----------- items.lua | 130 ++++ locale/rcbows.es.tr | 3 - mod.conf | 5 +- nodes.lua | 54 ++ sounds/x_bows_arrow_hit.1.ogg | Bin 0 -> 11106 bytes sounds/x_bows_arrow_hit.2.ogg | Bin 0 -> 10640 bytes sounds/x_bows_arrow_hit.3.ogg | Bin 0 -> 13252 bytes sounds/x_bows_arrow_hit.4.ogg | Bin 0 -> 15430 bytes sounds/x_bows_arrow_successful_hit.ogg | Bin 0 -> 7139 bytes sounds/x_bows_bow_load.1.ogg | Bin 0 -> 13720 bytes sounds/x_bows_bow_load.2.ogg | Bin 0 -> 17203 bytes sounds/x_bows_bow_load.3.ogg | Bin 0 -> 16927 bytes sounds/x_bows_bow_loaded.ogg | Bin 0 -> 7008 bytes sounds/x_bows_bow_shoot.1.ogg | Bin 0 -> 6658 bytes sounds/x_bows_bow_shoot_crit.ogg | Bin 0 -> 11033 bytes textures/rcbows_arrow.png | Bin 344 -> 0 bytes textures/rcbows_bubble.png | Bin 2914 -> 0 bytes textures/rcbows_pulling_0.png | Bin 333 -> 0 bytes textures/rcbows_pulling_1.png | Bin 341 -> 0 bytes textures/rcbows_pulling_2.png | Bin 354 -> 0 bytes textures/rcbows_standby.png | Bin 327 -> 0 bytes textures/rcbows_viewfinder.png | Bin 25321 -> 0 bytes textures/rcbows_water.png | Bin 666 -> 0 bytes textures/x_bows_arrow_bronze.png | Bin 0 -> 172 bytes textures/x_bows_arrow_crit.png | Bin 0 -> 138 bytes textures/x_bows_arrow_diamond.png | Bin 0 -> 172 bytes textures/x_bows_arrow_diamond_poison.png | Bin 0 -> 200 bytes textures/x_bows_arrow_mese.png | Bin 0 -> 172 bytes textures/x_bows_arrow_particle.png | Bin 0 -> 205 bytes textures/x_bows_arrow_steel.png | Bin 0 -> 172 bytes textures/x_bows_arrow_stone.png | Bin 0 -> 172 bytes textures/x_bows_arrow_tile_point_bottom.png | Bin 0 -> 180 bytes textures/x_bows_arrow_tile_point_left.png | Bin 0 -> 165 bytes textures/x_bows_arrow_tile_point_right.png | Bin 0 -> 161 bytes textures/x_bows_arrow_tile_point_top.png | Bin 0 -> 180 bytes textures/x_bows_arrow_tile_tail.png | Bin 0 -> 135 bytes textures/x_bows_arrow_tipped_particle.png | Bin 0 -> 194 bytes textures/x_bows_arrow_wood.png | Bin 0 -> 182 bytes textures/x_bows_bow_wood.png | Bin 0 -> 179 bytes textures/x_bows_bow_wood_charged.png | Bin 0 -> 225 bytes textures/x_bows_bubble.png | Bin 0 -> 118 bytes textures/x_bows_poisoned_heart.png | Bin 0 -> 146 bytes textures/x_bows_target.png | Bin 0 -> 264 bytes 46 files changed, 1027 insertions(+), 612 deletions(-) create mode 100644 arrow.lua create mode 100644 items.lua delete mode 100644 locale/rcbows.es.tr create mode 100644 nodes.lua create mode 100644 sounds/x_bows_arrow_hit.1.ogg create mode 100644 sounds/x_bows_arrow_hit.2.ogg create mode 100644 sounds/x_bows_arrow_hit.3.ogg create mode 100644 sounds/x_bows_arrow_hit.4.ogg create mode 100644 sounds/x_bows_arrow_successful_hit.ogg create mode 100644 sounds/x_bows_bow_load.1.ogg create mode 100644 sounds/x_bows_bow_load.2.ogg create mode 100644 sounds/x_bows_bow_load.3.ogg create mode 100644 sounds/x_bows_bow_loaded.ogg create mode 100644 sounds/x_bows_bow_shoot.1.ogg create mode 100644 sounds/x_bows_bow_shoot_crit.ogg delete mode 100644 textures/rcbows_arrow.png delete mode 100755 textures/rcbows_bubble.png delete mode 100644 textures/rcbows_pulling_0.png delete mode 100644 textures/rcbows_pulling_1.png delete mode 100644 textures/rcbows_pulling_2.png delete mode 100644 textures/rcbows_standby.png delete mode 100644 textures/rcbows_viewfinder.png delete mode 100755 textures/rcbows_water.png create mode 100644 textures/x_bows_arrow_bronze.png create mode 100644 textures/x_bows_arrow_crit.png create mode 100644 textures/x_bows_arrow_diamond.png create mode 100644 textures/x_bows_arrow_diamond_poison.png create mode 100644 textures/x_bows_arrow_mese.png create mode 100644 textures/x_bows_arrow_particle.png create mode 100644 textures/x_bows_arrow_steel.png create mode 100644 textures/x_bows_arrow_stone.png create mode 100644 textures/x_bows_arrow_tile_point_bottom.png create mode 100644 textures/x_bows_arrow_tile_point_left.png create mode 100644 textures/x_bows_arrow_tile_point_right.png create mode 100644 textures/x_bows_arrow_tile_point_top.png create mode 100644 textures/x_bows_arrow_tile_tail.png create mode 100644 textures/x_bows_arrow_tipped_particle.png create mode 100644 textures/x_bows_arrow_wood.png create mode 100644 textures/x_bows_bow_wood.png create mode 100644 textures/x_bows_bow_wood_charged.png create mode 100644 textures/x_bows_bubble.png create mode 100644 textures/x_bows_poisoned_heart.png create mode 100644 textures/x_bows_target.png diff --git a/README.md b/README.md index b3b9098..e4af8bd 100644 --- a/README.md +++ b/README.md @@ -1,198 +1,12 @@ -# RCBOWS - -## function rcbows.register_arrow(name, def) -Example: -``` -rcbows.register_arrow("farbows:e_arrow", { - damage = 5, - inventory_arrow = { - name = "farbows:inv_arrow", - description = S("Arrow"), - inventory_image = "farbows_arrow.png", - stack_max = 64, --optional, 99 by default - } - sounds = { - max_hear_distance = 10, - gain = 0.4, - }, -}) -``` -## function rcbows.register_bow(name, def) -Example: -``` -rcbows.register_bow("farbows:bow_wood", { - description = S("Wooden Bow"), - image = "farbows_bow_wood.png", - strength = 30, - uses = 150, - charge_time = 0.5, - recipe = { - {"", "group:wood", "farming:string"}, - {"group:wood", "", "farming:string"}, - {"", "group:wood", "farming:string"}, - }, - base_texture = "farbows_base_bow_wood.png", - overlay_empty = "farbows_overlay_empty.png", - overlay_charged = "farbows_overlay_charged.png", - arrows = "farbows:e_arrow", - sounds = { - max_hear_distance = 10, - gain = 0.4, - } -}) -``` - -### Arrows - -You can define "arrows" as a single arrow (string) or a table of arrows. - -In this case the order matters. The first ones have preference over the last ones when charging the bow. - -I.e: -``` -arrows = {"farbows:e_arrow", ""farbows:ice_arrow""}, -``` - -### Viewfinder - -You can define a viewfinder for a bow. This produces a zoom effect. - -``` - viewfinder = { - zoom = 15, --level of zoom; by default 15. - texture = "" --optional - } -``` - -- When the bow charged, toogle the viewfinder with the secondary use (right-click). -- You can define an optional texture to being showed. If you define texture as empty (""), you get the default rcbows viewfinder texture. - -## Audio - -1. If you define ``sounds={}``, you get the default sounds. - -For no sound at all do not declare 'sounds'. - -Also you can set the sound parameters 'max_hear_distance' and 'gain'. - -In example: -``` -sounds = { - max_hear_distance = 10, - gain = 0.4, -} -``` - -2. You also can define your own soundfiles. - -You can set "soundfile_draw_bow" and/or "soundfile_fire_arrow" for bows, and "soundfile_hit_arrow" for arrows. - -In example for a Bow: -``` -sounds = { - soundfile_draw_bow = "my_draw_bow" - soundfile_fire_arrow = "my_fire_arrow" - max_hear_distance = 5, - --set the gain by default (0.5) -} -``` - -In example for a Arrow: -``` -sounds = { - soundfile_hit_arrow = "my_hit_arrow" - max_hear_distance = 5, - --set the gain by default (0.5) -} -``` - -## Drop - -By default the arrow drops the inventory_arrow when reachs a solid node. - -If you want to define another item to drop, define it with 'drop': -``` -rcbows.register_arrow("farbows:e_arrow", { - damage = 5, - inventory_arrow = { - name = "farbows:inv_arrow", - description = S("Arrow"), - inventory_image = "farbows_arrow.png", - } - drop = "farbows_drop_arrow" -}) -``` - -If you want not any drop at all, add: -``` -drop = "", -``` - -## Arrow Effects -You can define some arrow effects -### replace_node -Replace the hit node for this one. -### trail_particle -Particle texture to create an arrow trail. - -It can be a string with "texture" only, or a table for animated textures: {texture = "texture", animation = "animation"}. -### explosion -It requires "tnt" or "explosion" mods as an optional dependency. - -It is a table in where to define: -- mod = "tnt" or "explosions", -- radius -- damage = It is "damage_radius" for the "tnt" mod or "strength" for "explosions" - - -In example: -``` -rcbows.register_arrow("farbows:fire_arrow", { - damage = 7, - inventory_arrow = { - name = "farbows:inv_fire_arrow", - description = S("Fire Arrow"), - inventory_image = "farbows_arrow_fire.png", - }, - drop = "farbows:inv_arrow", - effects = { - replace_node = "fire:basic_flame", - trail_particle = "farbows_particle_fire.png", - explosion = { - mod = "tnt", - radius= 10, - damage = 1, - } - } -}) -``` -### water -An effect that extinguishes the flames. - -It requires "fire" mod as an optional dependency. - -It is a table in where to define: -- flame_node = The name of the flame node to extinguish -- radius -- particles = A water particles effect [optional] - -``` -rcbows.register_arrow("farbows:water_arrow", { - projectile_texture = "farbows_water_arrow", - damage = 2, - inventory_arrow = { - name = "farbows:inv_water_arrow", - description = S("Water Arrow"), - inventory_image = "farbows_arrow_water.png", - }, - drop = "bucket:bucket_empty", - effects = { - trail_particle = "default_water.png", - water = { - radius = 5, - flame_node = "fire:basic_flame", - particles = true, - }, - } -}) -``` +# x_bows + +## TODO + +- critical hit one shot kill will not remove the arrow +- change poison damage texture overlay +- add poison particles to target +- add player to poison damage +- charged bow should not hit and shoot at the same time when pointing on node/object + - caused by non charged bow after switching itemstack form charged to not charged bow +- add vertical knockback to poison punch? +- arrow too large when attached to entitites with visual_scale \ No newline at end of file diff --git a/arrow.lua b/arrow.lua new file mode 100644 index 0000000..3e8df3f --- /dev/null +++ b/arrow.lua @@ -0,0 +1,511 @@ +-- Gets total armor level from 3d armor +local function get_3d_armor_armor(player) + local armor_total = 0 + + if not player:is_player() or not minetest.get_modpath('3d_armor') or not armor.def[player:get_player_name()] then + return armor_total + end + + armor_total = armor.def[player:get_player_name()].level + + return armor_total +end + +-- Limits number `x` between `min` and `max` values +local function limit(x, min, max) + return math.min(math.max(x, min), max) +end + +-- Gets `ObjectRef` collision box +local function get_obj_box(obj) + local box + + if obj:is_player() then + box = obj:get_properties().collisionbox or {-0.5, 0.0, -0.5, 0.5, 1.0, 0.5} + else + box = obj:get_luaentity().collisionbox or {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} + end + + return box +end + +-- Poison Arrow Effects +function x_bows.poison_effect(tick, time, time_left, arrow_obj, target_obj, old_damage_texture_modifier, punch_def) + if not arrow_obj or target_obj:get_hp() <= 0 then + return + end + + target_obj:set_properties({damage_texture_modifier = '^[colorize:#00FF0050'}) + + time_left = time_left + tick + + if time_left <= time then + minetest.after(tick, x_bows.poison_effect, tick, time, time_left, arrow_obj, target_obj, old_damage_texture_modifier, punch_def) + elseif target_obj:is_player() then + if x_bows.hbhunger then + -- Reset HUD bar color + hb.change_hudbar(target_obj, 'health', nil, nil, 'hudbars_icon_health.png', nil, 'hudbars_bar_health.png') + end + + if old_damage_texture_modifier then + target_obj:set_properties({damage_texture_modifier = old_damage_texture_modifier}) + end + + -- return + else + -- local lua_ent = target_obj:get_luaentity() + + -- if not lua_ent then + -- return + -- end + + -- lua_ent[arrow_obj.arrow .. '_active'] = false + + + if old_damage_texture_modifier then + target_obj:set_properties({damage_texture_modifier = old_damage_texture_modifier}) + end + -- return + end + + local _damage = punch_def.tool_capabilities.damage_groups.fleshy + if target_obj:get_hp() - _damage > 0 then + target_obj:punch( + punch_def.puncher, + punch_def.time_from_last_punch, + punch_def.tool_capabilities + ) + + local target_obj_pos = target_obj:get_pos() + + if target_obj_pos then + x_bows.particle_effect(target_obj_pos, 'arrow_tipped') + end + end +end + +-- Main Arrow Entity +minetest.register_entity('x_bows:arrow_entity', { + initial_properties = { + visual = 'wielditem', + visual_size = {x = 0.2, y = 0.2, z = 0.3}, + collisionbox = {0, 0, 0, 0, 0, 0}, + selectionbox = {0, 0, 0, 0, 0, 0}, + physical = false, + textures = {'air'}, + hp_max = 0.5 + }, + + on_activate = function(self, staticdata) + if not self or not staticdata or staticdata == '' then + self.object:remove() + return + end + + local _staticdata = minetest.deserialize(staticdata) + + -- set/reset - do not inherit from previous entity table + self._velocity = {x = 0, y = 0, z = 0} + self._old_pos = nil + self._attached = false + self._attached_to = { + type = '', + pos = nil, + ref = nil + } + self._has_particles = false + self._lifetimer = 60 + self._nodechecktimer = 0.5 + self._is_drowning = false + self._in_liquid = false + self._poison_arrow = false + self._shot_from_pos = self.object:get_pos() + self.arrow = _staticdata.arrow + self.user = minetest.get_player_by_name(_staticdata.user_name) + self._tflp = _staticdata._tflp + self._tool_capabilities = _staticdata._tool_capabilities + self._is_critical_hit = _staticdata.is_critical_hit + + if self.arrow == 'x_bows:arrow_diamond_tipped_poison' then + self._poison_arrow = true + end + + self.object:set_properties({ + textures = {'x_bows:arrow_node'}, + infotext = self.arrow + }) + end, + + on_death = function(self, killer) + minetest.item_drop(ItemStack(self.arrow), nil, vector.round(self._old_pos)) + end, + + on_step = function(self, dtime) + local pos = self.object:get_pos() + self._old_pos = self._old_pos or pos + local ray = minetest.raycast(self._old_pos, pos, true, true) + local pointed_thing = ray:next() + + self._lifetimer = self._lifetimer - dtime + self._nodechecktimer = self._nodechecktimer - dtime + + -- adjust pitch when flying + if not self._attached then + local velocity = self.object:get_velocity() + local v_rotation = self.object:get_rotation() + local pitch = math.atan2(velocity.y, math.sqrt(velocity.x^2 + velocity.z^2)) + + self.object:set_rotation({ + x = pitch, + y = v_rotation.y, + z = v_rotation.z + }) + end + + -- remove attached arrows after lifetime + if self._lifetimer <= 0 then + self.object:remove() + return + end + + -- add particles only when not attached + if not self._attached and not self._in_liquid then + self._has_particles = true + + if self._tflp >= self._tool_capabilities.full_punch_interval then + if self._is_critical_hit then + x_bows.particle_effect(self._old_pos, 'arrow_crit') + else + x_bows.particle_effect(self._old_pos, 'arrow') + end + end + end + + -- remove attached arrows after object dies + if not self.object:get_attach() and self._attached_to.type == 'object' then + self.object:remove() + return + end + + -- arrow falls down when not attached to node any more + if self._attached_to.type == 'node' and self._attached and self._nodechecktimer <= 0 then + local node = self._attached_to.ref + + self._nodechecktimer = 0.5 + + if node.name == 'air' then + local pos = self._attached_to.pos + self.object:set_velocity({x = 0, y = -3, z = 0}) + self.object:set_acceleration({x = 0, y = -3, z = 0}) + -- reset values + self._attached = false + self._attached_to.type = '' + self._attached_to.pos = nil + self._attached_to.ref = nil + self.object:set_properties({collisionbox = {0, 0, 0, 0, 0, 0}}) + + return + end + end + + while pointed_thing do + local ip_pos = pointed_thing.intersection_point + local in_pos = pointed_thing.intersection_normal + self.pointed_thing = pointed_thing + + if pointed_thing.type == 'object' + and pointed_thing.ref ~= self.object + and pointed_thing.ref:get_hp() > 0 + and ((pointed_thing.ref:is_player() and pointed_thing.ref:get_player_name() ~= self.user:get_player_name()) or (pointed_thing.ref:get_luaentity() and pointed_thing.ref:get_luaentity().physical and pointed_thing.ref:get_luaentity().name ~= '__builtin:item')) + and self.object:get_attach() == nil + then + if pointed_thing.ref:is_player() then + minetest.sound_play('x_bows_arrow_successful_hit', { + to_player = self.user:get_player_name(), + gain = 0.3 + }) + else + minetest.sound_play('x_bows_arrow_hit', { + to_player = self.user:get_player_name(), + gain = 0.6 + }) + end + + -- store these here before punching in case pointed_thing.ref dies + local collisionbox = get_obj_box(pointed_thing.ref) + local xmin = collisionbox[1] * 100 + local ymin = collisionbox[2] * 100 + local zmin = collisionbox[3] * 100 + local xmax = collisionbox[4] * 100 + local ymax = collisionbox[5] * 100 + local zmax = collisionbox[6] * 100 + + self.object:set_velocity({x = 0, y = 0, z = 0}) + self.object:set_acceleration({x = 0, y = 0, z = 0}) + + -- calculate damage + local target_armor_groups = pointed_thing.ref:get_armor_groups() + local _damage = 0 + for group, base_damage in pairs(self._tool_capabilities.damage_groups) do + _damage = _damage + + base_damage + * limit(self._tflp / self._tool_capabilities.full_punch_interval, 0.0, 1.0) + * ((target_armor_groups[group] or 0) + get_3d_armor_armor(pointed_thing.ref)) / 100.0 + end + + -- crits + if self._is_critical_hit then + _damage = _damage * 2 + end + + -- knockback + local dir = vector.normalize(vector.subtract(self._shot_from_pos, ip_pos)) + local distance = vector.distance(self._shot_from_pos, ip_pos) + local knockback = minetest.calculate_knockback( + pointed_thing.ref, + self.object, + self._tflp, + { + full_punch_interval = self._tool_capabilities.full_punch_interval, + damage_groups = {fleshy = _damage}, + }, + dir, + distance, + _damage + ) + + pointed_thing.ref:add_velocity({ + x = dir.x * knockback * -1, + y = 7, + z = dir.z * knockback * -1 + }) + + pointed_thing.ref:punch( + self.object, + self._tflp, + { + full_punch_interval = self._tool_capabilities.full_punch_interval, + damage_groups = {fleshy = _damage, knockback = knockback} + }, + { + x = dir.x * -1, + y = 7, + z = dir.z * -1 + } + ) + + -- already dead (entity) + if not pointed_thing.ref:get_luaentity() and not pointed_thing.ref:is_player() then + self.object:remove() + return + end + + -- already dead (player) + if pointed_thing.ref:get_hp() <= 0 then + if x_bows.hbhunger then + -- Reset HUD bar color + hb.change_hudbar(pointed_thing.ref, 'health', nil, nil, 'hudbars_icon_health.png', nil, 'hudbars_bar_health.png') + end + self.object:remove() + return + end + + -- attach arrow + local rotation = {x = 0, y = 0, z = 0} + local position = {x = 0, y = 0, z = 0} + + if in_pos.x == 1 then + -- x = 0 + -- y = -90 + -- z = 0 + rotation.x = math.random(-10, 10) + rotation.y = math.random(-100, -80) + rotation.z = math.random(-10, 10) + + position.x = xmax / 10 + position.y = math.random(ymin, ymax) / 10 + position.z = math.random(zmin, zmax) / 10 + elseif in_pos.x == -1 then + -- x = 0 + -- y = 90 + -- z = 0 + rotation.x = math.random(-10, 10) + rotation.y = math.random(80, 100) + rotation.z = math.random(-10, 10) + + position.x = xmin / 10 + position.y = math.random(ymin, ymax) / 10 + position.z = math.random(zmin, zmax) / 10 + elseif in_pos.y == 1 then + -- x = -90 + -- y = 0 + -- z = -180 + rotation.x = math.random(-100, -80) + rotation.y = math.random(-10, 10) + rotation.z = math.random(-190, -170) + + position.x = math.random(xmin, xmax) / 10 + position.y = ymax / 10 + position.z = math.random(zmin, zmax) / 10 + elseif in_pos.y == -1 then + -- x = 90 + -- y = 0 + -- z = 180 + rotation.x = math.random(80, 100) + rotation.y = math.random(-10, 10) + rotation.z = math.random(170, 190) + + position.x = math.random(xmin, xmax) / 10 + position.y = ymin / 10 + position.z = math.random(zmin, zmax) / 10 + elseif in_pos.z == 1 then + -- x = 180 + -- y = 0 + -- z = 180 + rotation.x = math.random(170, 190) + rotation.y = math.random(-10, 10) + rotation.z = math.random(170, 190) + + position.x = math.random(xmin, xmax) / 10 + position.y = math.random(ymin, ymax) / 10 + position.z = zmax / 10 + elseif in_pos.z == -1 then + -- x = -180 + -- y = 180 + -- z = -180 + rotation.x = math.random(-190, -170) + rotation.y = math.random(170, 190) + rotation.z = math.random(-190, -170) + + position.x = math.random(xmin, xmax) / 10 + position.y = math.random(ymin, ymax) / 10 + position.z = zmin / 10 + end + + self.object:set_attach( + pointed_thing.ref, + '', + position, + rotation, + true + ) + self._attached = true + self._attached_to.type = pointed_thing.type + self._attached_to.pos = position + self._attached_to.ref = pointed_thing.ref + + local children = pointed_thing.ref:get_children() + + -- remove last arrow when too many already attached + if #children >= 5 then + children[1]:remove() + end + + -- poison arrow + if self._poison_arrow then + local old_damage_texture_modifier = pointed_thing.ref:get_properties().damage_texture_modifier + local punch_def = {} + punch_def.puncher = self.object + punch_def.time_from_last_punch = self._tflp + punch_def.tool_capabilities = { + full_punch_interval = self._tool_capabilities.full_punch_interval, + damage_groups = {fleshy = _damage, knockback = knockback} + } + + if pointed_thing.ref:is_player() then + -- @TODO missing `active` posion arrow check for player (see lua_ent below) + if x_bows.hbhunger then + -- Set poison bar + hb.change_hudbar(pointed_thing.ref, 'health', nil, nil, 'hbhunger_icon_health_poison.png', nil, 'hbhunger_bar_health_poison.png') + end + + x_bows.poison_effect(1, 5, 0, self, pointed_thing.ref, old_damage_texture_modifier, punch_def) + else + local lua_ent = pointed_thing.ref:get_luaentity() + -- if not lua_ent[self.arrow .. '_active'] or lua_ent[self.arrow .. '_active'] == 'false' then + -- lua_ent[self.arrow .. '_active'] = true + x_bows.poison_effect(1, 5, 0, self, pointed_thing.ref, old_damage_texture_modifier, punch_def) + -- end + end + end + + return + + elseif pointed_thing.type == 'node' and not self._attached then + local node = minetest.get_node(pointed_thing.under) + local node_def = minetest.registered_nodes[node.name] + + if not node_def then + return + end + + self._velocity = self.object:get_velocity() + + if node_def.drawtype == 'liquid' and not self._is_drowning then + self._is_drowning = true + self._in_liquid = true + local drag = 1 / (node_def.liquid_viscosity * 6) + self.object:set_velocity(vector.multiply(self._velocity, drag)) + self.object:set_acceleration({x = 0, y = -1.0, z = 0}) + + x_bows.particle_effect(self._old_pos, 'bubble') + elseif self._is_drowning then + self._is_drowning = false + + if self._velocity then + self.object:set_velocity(self._velocity) + end + + self.object:set_acceleration({x = 0, y = -9.81, z = 0}) + end + + if x_bows.mesecons and node.name == 'x_bows:target' then + local distance = vector.distance(pointed_thing.under, ip_pos) + distance = math.floor(distance * 100) / 100 + + -- only close to the center of the target will trigger signal + if distance < 0.54 then + mesecon.receptor_on(pointed_thing.under) + minetest.get_node_timer(pointed_thing.under):start(2) + end + end + + if node_def.walkable then + self.object:set_velocity({x=0, y=0, z=0}) + self.object:set_acceleration({x=0, y=0, z=0}) + self.object:set_pos(ip_pos) + self.object:set_rotation(self.object:get_rotation()) + self._attached = true + self._attached_to.type = pointed_thing.type + self._attached_to.pos = pointed_thing.under + self._attached_to.ref = node_def + self.object:set_properties({collisionbox = {-0.2, -0.2, -0.2, 0.2, 0.2, 0.2}}) + + -- remove last arrow when too many already attached + local children = {} + + for k, object in ipairs(minetest.get_objects_inside_radius(pointed_thing.under, 1)) do + if not object:is_player() and object:get_luaentity() and object:get_luaentity().name == 'x_bows:arrow_entity' then + table.insert(children ,object) + end + end + + if #children >= 5 then + children[#children]:remove() + end + + minetest.sound_play('x_bows_arrow_hit', { + pos = pointed_thing.under, + gain = 0.6, + max_hear_distance = 16 + }) + + return + end + end + pointed_thing = ray:next() + end + + self._old_pos = pos + end, +}) \ No newline at end of file diff --git a/init.lua b/init.lua index 6226477..cda8962 100644 --- a/init.lua +++ b/init.lua @@ -1,449 +1,357 @@ -rcbows = {} +local mod_start_time = minetest.get_us_time() +local bow_charged_timer = 0 -local S = minetest.get_translator(minetest.get_current_modname()) +x_bows = { + pvp = minetest.settings:get_bool('enable_pvp') or false, + creative = minetest.settings:get_bool('creative_mode') or false, + mesecons = minetest.get_modpath('mesecons'), + hbhunger = minetest.get_modpath('hbhunger'), + registered_arrows = {}, + registered_bows = {}, + player_bow_sneak = {} +} ---CONSTANTS -local DEFAULT_MAX_HEAR_DISTANCE = 10 -local DEFAULT_GAIN = 0.5 - -function rcbows.spawn_arrow(user, strength, itemstack) - local pos = user:get_pos() - pos.y = pos.y + 1.5 -- camera offset - local dir = user:get_look_dir() - local yaw = user:get_look_horizontal() - local meta = itemstack:get_meta() - local arrow = meta:get_string("rcbows:charged_arrow") - local obj = nil - if pos and arrow then - obj = minetest.add_entity(pos, arrow) - end - if not obj then - return - end - local lua_ent = obj:get_luaentity() - lua_ent.shooter_name = user:get_player_name() - obj:set_yaw(yaw - 0.5 * math.pi) - local velocity = vector.multiply(dir, strength) - obj:set_velocity(velocity) - return true +function x_bows.is_creative(name) + return x_bows.creative or minetest.check_player_privs(name, {creative = true}) end -function rcbows.launch_arrow(user, name, def, itemstack) - if not rcbows.spawn_arrow(user, def.strength, itemstack) then --throw arrow (spawn arrow entity) - return -- something failed - end - if def.sounds then - local user_pos = user:get_pos() - if not def.sounds.soundfile_fire_arrow then - def.sounds.soundfile_fire_arrow = "rcbows_fire_arrow" - end - rcbows.make_sound("pos", user_pos, def.sounds.soundfile_fire_arrow, DEFAULT_GAIN, DEFAULT_MAX_HEAR_DISTANCE) - end - itemstack:set_name(name) - itemstack:set_wear(itemstack:get_wear() + 0x10000 / def.uses) - if def.viewfinder then --reset the viewfinder-zoom - if not(user:get_fov() == 0) then - user:set_fov(0) - remove_viewfinder(user, itemstack:get_meta():get_int( "rcbows:viewfinder_id")) - end - end - return itemstack -end - -local function show_viewfinder(player, texture) - local hud_id = player:hud_add({ - hud_elem_type = "image", - text = texture, - position = {x=0, y=0}, - scale = {x=-100, y=-100}, - alignment = {x=1, y=1}, - offset = {x=0, y=0} - }) - return hud_id -end - -function remove_viewfinder(player, hud_id) - if hud_id then - player:hud_remove(hud_id) - end -end - -function rcbows.register_bow(name, def) - assert(type(def.description) == "string") - assert(type(def.image) == "string") - assert(type(def.strength) == "number") - assert(def.uses > 0) - - local function reload_bow(itemstack, user, pointed_thing) - local inv = user:get_inventory() - local arrow, inventory_arrows, inventory_arrow, inv_arrow_name - local inv_list = inv:get_list("main") - if type(def.arrows) == 'table' then --more than one arrow? - for i = 1, #def.arrows do - arrow = def.arrows[i] - inv_arrow_name = minetest.registered_entities[arrow].inventory_arrow_name - if inv:contains_item("main", inv_arrow_name) then - if not inventory_arrows then - inventory_arrows = {} - end - inventory_arrows[#inventory_arrows+1] = {arrow = arrow, inv_arrow_name = inv_arrow_name} - end - end - else - arrow = def.arrows - inventory_arrow = minetest.registered_entities[def.arrows].inventory_arrow_name - end - if not inventory_arrow and not inventory_arrows then - return - end - if inventory_arrows then --more than one arrow? - for i = 1, #inv_list do - if inventory_arrow then - break - end - for j = 1, #inventory_arrows do - local inv_arrow = inventory_arrows[j] - if inv_list[i]:get_name() == inv_arrow.inv_arrow_name then - arrow = inv_arrow.arrow - inventory_arrow = inv_arrow.inv_arrow_name - break - end - end - end - if not inventory_arrow then - return - end - end - if not inv:remove_item("main", inventory_arrow):is_empty() then - minetest.after(def.charge_time or 0, function(v_user, v_name) - local wielded_item = v_user:get_wielded_item() - local wielded_item_name = wielded_item:get_name() - if wielded_item_name == v_name then - local meta = wielded_item:get_meta() - meta:set_string("rcbows:charged_arrow", arrow) --save the arrow in the meta - wielded_item:set_name(v_name .. "_charged") - v_user:set_wielded_item(wielded_item) - end - end, user, name) - if def.sounds then - local user_pos = user:get_pos() - if not def.sounds.soundfile_draw_bow then - def.sounds.soundfile_draw_bow = "rcbows_draw_bow" - end - rcbows.make_sound("pos", user_pos, def.sounds.soundfile_draw_bow, DEFAULT_GAIN, DEFAULT_MAX_HEAR_DISTANCE) - end - return itemstack - end +function x_bows.register_bow(name, def) + if name == nil or name == '' then + return false end - minetest.register_tool(name, { - description = def.description .. " ".. S("(place to reload)"), - inventory_image = def.image .. "^" .. def.overlay_empty, + def.name = 'x_bows:' .. name + def.name_charged = 'x_bows:' .. name .. '_charged' + def.description = def.description or name + def.uses = def.uses or 150 - on_use = function() end, - on_place = reload_bow, - on_secondary_use = reload_bow, + x_bows.registered_bows[def.name_charged] = def + + -- not charged bow + minetest.register_tool(def.name, { + description = def.description .. '\n' .. minetest.colorize('#00FF00', 'Critical Arrow Chance: ' .. (1 / def.crit_chance) * 100 .. '%'), + inventory_image = def.inventory_image or 'x_bows_bow_wood.png', + -- on_use = function(itemstack, user, pointed_thing) + -- end, + on_place = x_bows.load, + on_secondary_use = x_bows.load, + groups = {bow = 1, flammable = 1}, + -- range = 0 }) + -- charged bow + minetest.register_tool(def.name_charged, { + description = def.description .. '\n' .. minetest.colorize('#00FF00', 'Critical Arrow Chance: ' .. (1 / def.crit_chance) * 100 .. '%'), + inventory_image = def.inventory_image_charged or 'x_bows_bow_wood_charged.png', + on_use = x_bows.shoot, + groups = {bow = 1, flammable = 1, not_in_creative_inventory = 1}, + }) + + -- recipes if def.recipe then minetest.register_craft({ - output = name, + output = def.name, recipe = def.recipe }) end - - local charged_name = name .. "_charged" - - minetest.register_tool(charged_name, { - description = def.description .. " " .. S("(use to fire)"), - inventory_image = def.base_texture .. "^" ..def.overlay_charged, - groups = {not_in_creative_inventory=1}, - - on_use = function(itemstack, user, pointed_thing) - return rcbows.launch_arrow(user, name, def, itemstack) - end, - - on_secondary_use = function(itemstack, user, pointed_thing) --viewfinder - if not def.viewfinder then - return - end - if user:get_fov() == 0 then - user:set_fov(def.viewfinder.zoom or 15) - if def.viewfinder.texture then - local viewfinder_texture = def.viewfinder.texture - if viewfinder_texture == "" then - viewfinder_texture = "rcbows_viewfinder.png" - end - itemstack:get_meta():set_int("rcbows:viewfinder_id", show_viewfinder(user, viewfinder_texture)) - end - else - user:set_fov(0) - if def.viewfinder.texture then - remove_viewfinder(user, itemstack:get_meta():get_int( "rcbows:viewfinder_id")) - end - end - return itemstack - end - }) end -function rcbows.register_arrow(name, def) - minetest.register_entity(name, { - hp_max = 4, -- possible to catch the arrow (pro skills) - physical = false, -- use Raycast - collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, - visual = "wielditem", - textures = {def.inventory_arrow.name}, - visual_size = {x = 0.2, y = 0.15}, - old_pos = nil, - velocity = nil, - liquidflag = nil, - shooter_name = "", - waiting_for_removal = false, - inventory_arrow_name = def.inventory_arrow.name, - groups = {arrow = 1}, +function x_bows.register_arrow(name, def) + if name == nil or name == '' then + return false + end - on_activate = function(self) - self.object:set_acceleration({x = 0, y = -9.81, z = 0}) - end, + def.name = 'x_bows:' .. name + def.description = def.description or name - on_step = function(self, dtime) - if self.waiting_for_removal then - self.object:remove() - return - end - local pos = self.object:get_pos() - self.old_pos = self.old_pos or pos - local velocity = self.object:get_velocity() - if def.sounds and not(def.sounds.soundfile_hit_arrow) then - def.sounds.soundfile_hit_arrow = "rcbows_hit_arrow" - end - local cast = minetest.raycast(self.old_pos, pos, true, true) - local thing = cast:next() - while thing do - if thing.type == "object" and thing.ref ~= self.object then - if not thing.ref:is_player() or thing.ref:get_player_name() ~= self.shooter_name then - thing.ref:punch(self.object, 1.0, { - full_punch_interval = 0.5, - damage_groups = {fleshy = def.damage or 1} - }) - self.waiting_for_removal = true - self.object:remove() - if def.sounds then - local thing_pos = thing.ref:get_pos() - if thing_pos then - rcbows.make_sound("pos", thing_pos, def.sounds.soundfile_hit_arrow, DEFAULT_GAIN, DEFAULT_MAX_HEAR_DISTANCE) - end - end + x_bows.registered_arrows[def.name] = def - -- no effects or not owner, nothing to do. - -- some effects should also happen if hitting an other object. like tnt, water etc. - if not def.effects or minetest.is_protected(pos, self.shooter_name) then - return - end - - rcbows.boom_effect(def, pos) -- BOOM - rcbows.water_effect(def, pos) -- water - extinguish fires - - return - end - elseif thing.type == "node" then - local node_name = minetest.get_node(thing.under).name - local drawtype = minetest.registered_nodes[node_name]["drawtype"] - if drawtype == 'liquid' then - if not self.liquidflag then - self.velocity = velocity - self.liquidflag = true - local liquidviscosity = minetest.registered_nodes[node_name]["liquid_viscosity"] - local drag = 1/(liquidviscosity*6) - self.object:set_velocity(vector.multiply(velocity, drag)) - self.object:set_acceleration({x = 0, y = -1.0, z = 0}) - rcbows.splash(self.old_pos, "rcbows_bubble.png") - end - elseif self.liquidflag then - self.liquidflag = false - if self.velocity then - self.object:set_velocity(self.velocity) - end - self.object:set_acceleration({x = 0, y = -9.81, z = 0}) - end - if minetest.registered_items[node_name].walkable then - if not(def.drop) then - minetest.item_drop(ItemStack(def.inventory_arrow), nil, vector.round(self.old_pos)) - else - if not(def.drop == "") then - minetest.item_drop(ItemStack(def.drop), nil, vector.round(self.old_pos)) - end - end - self.waiting_for_removal = true - self.object:remove() - - if def.sounds then - if pos then - rcbows.make_sound("pos", pos, def.sounds.soundfile_hit_arrow, DEFAULT_GAIN, DEFAULT_MAX_HEAR_DISTANCE) - end - end - - -- no effects or not owner, nothing to do. - if not def.effects or minetest.is_protected(pos, self.shooter_name) then - return - end - - --replace node - if def.effects.replace_node then - minetest.set_node(pos, {name = def.effects.replace_node}) - end - - rcbows.boom_effect(def, pos) -- BOOM - rcbows.water_effect(def, pos) -- water - extinguish fires - - return - end - end - thing = cast:next() - end - if def.effects and def.effects.trail_particle then - rcbows.trail(self.old_pos, pos, def.effects.trail_particle) - end - self.old_pos = pos - end, + minetest.register_craftitem('x_bows:' .. name, { + description = def.description .. '\n' .. minetest.colorize('#00FF00', 'Damage: ' .. def.tool_capabilities.damage_groups.fleshy) .. '\n' .. minetest.colorize('#00BFFF', 'Charge Time: ' .. def.tool_capabilities.full_punch_interval .. 's'), + inventory_image = def.inventory_image, + groups = {arrow = 1, flammable = 1} }) - minetest.register_craftitem(def.inventory_arrow.name, { - description = def.inventory_arrow.description, - inventory_image = def.inventory_arrow.inventory_image, - stack_max = def.stack_max or 99, - }) -end ---SOUND SYSTEM - -function rcbows.make_sound(dest_type, dest, soundfile, gain, max_hear_distance) - if dest_type == "object" then - minetest.sound_play(soundfile, {object = dest, gain = gain or DEFAULT_GAIN, max_hear_distance = max_hear_distance or DEFAULT_MAX_HEAR_DISTANCE,}) - elseif dest_type == "player" then - local player_name = dest:get_player_name() - minetest.sound_play(soundfile, {to_player = player_name, gain = gain or DEFAULT_GAIN, max_hear_distance = max_hear_distance or DEFAULT_MAX_HEAR_DISTANCE,}) - elseif dest_type == "pos" then - minetest.sound_play(soundfile, {pos = dest, gain = gain or DEFAULT_GAIN, max_hear_distance = max_hear_distance or DEFAULT_MAX_HEAR_DISTANCE,}) + -- recipes + if def.craft then + minetest.register_craft({ + output = def.name ..' ' .. (def.craft_count or 4), + recipe = def.craft + }) end end ---ARROW EFFECTS +function x_bows.load(itemstack, user, pointed_thing) + local time_load = minetest.get_us_time() + local inv = user:get_inventory() + local inv_list = inv:get_list('main') + local bow_name = itemstack:get_name() + local bow_def = x_bows.registered_bows[bow_name .. '_charged'] + local itemstack_arrows = {} -function rcbows.boom_effect(def, pos) - if def.effects.explosion and def.effects.explosion.mod then - local mod_name = def.effects.explosion.mod - if minetest.get_modpath(mod_name) ~= nil then - if mod_name == "tnt" then - tnt.boom(pos, {radius = def.effects.explosion.radius, damage_radius = def.effects.explosion.damage}) - elseif mod_name == "explosions" then - explosions.explode(pos, {radius = def.effects.explosion.radius, strength = def.effects.explosion.damage}) - end + if pointed_thing.under then + local node = minetest.get_node(pointed_thing.under) + local node_def = minetest.registered_nodes[node.name] + + if node_def and node_def.on_rightclick then + node_def.on_rightclick(pointed_thing.under, node, user, itemstack, pointed_thing) + return end end -end -function rcbows.water_effect(def, pos) - if def.effects.water then - if def.effects.water.particles then - rcbows.splash(pos, "rcbows_water.png") + for k, st in ipairs(inv_list) do + if not st:is_empty() and x_bows.registered_arrows[st:get_name()] then + table.insert(itemstack_arrows, st) end - local radius = def.effects.water.radius or 5 - local flames = minetest.find_nodes_in_area({x=pos.x -radius, y=pos.y -radius, z=pos.z -radius}, {x=pos.x+radius, y=pos.y+radius, z=pos.z+radius}, {def.effects.water.flame_node}) - if flames and #flames > 0 then - for i=1, #flames do - minetest.set_node(flames[i], {name="air"}) - if def.effects.water.particles then - rcbows.splash(flames[i], "rcbows_water.png") + end + + -- take 1st found arrow in the list + local itemstack_arrow = itemstack_arrows[1] + + if itemstack_arrow and bow_def then + local _tool_capabilities = x_bows.registered_arrows[itemstack_arrow:get_name()].tool_capabilities + + minetest.after(0, function(v_user, v_bow_name, v_time_load) + local wielded_item = v_user:get_wielded_item() + local wielded_item_name = wielded_item:get_name() + + if wielded_item_name == v_bow_name then + local meta = wielded_item:get_meta() + + meta:set_string('arrow', itemstack_arrow:get_name()) + meta:set_string('time_load', tostring(v_time_load)) + wielded_item:set_name(v_bow_name .. '_charged') + v_user:set_wielded_item(wielded_item) + + if not x_bows.is_creative(user:get_player_name()) then + inv:remove_item('main', itemstack_arrow:get_name()) end end - end + end, user, bow_name, time_load) + + -- sound plays when charge time reaches full punch interval time + -- @TODO: find a way to prevent this from playing when not fully charged + minetest.after(_tool_capabilities.full_punch_interval, function(v_user, v_bow_name) + local wielded_item = v_user:get_wielded_item() + local wielded_item_name = wielded_item:get_name() + + if wielded_item_name == v_bow_name .. '_charged' then + minetest.sound_play('x_bows_bow_loaded', { + to_player = user:get_player_name(), + gain = 0.6 + }) + end + end, user, bow_name) + + minetest.sound_play('x_bows_bow_load', { + to_player = user:get_player_name(), + gain = 0.6 + }) + + return itemstack end end ---PARTICLES EFFECTS +function x_bows.shoot(itemstack, user, pointed_thing) + local time_shoot = minetest.get_us_time(); + local meta = itemstack:get_meta() + local meta_arrow = meta:get_string('arrow') + local time_load = tonumber(meta:get_string('time_load')) + local tflp = (time_shoot - time_load) / 1000000 -function rcbows.trail(old_pos, pos, trail_particle) - local texture, animation - if type(trail_particle) == 'table' then - texture = trail_particle.texture - animation = trail_particle.animation - else - texture = trail_particle - animation = "" + if not x_bows.registered_arrows[meta_arrow] then + return itemstack end - minetest.add_particlespawner({ - texture = texture, - amount = 20, - time = 0.2, - minpos = old_pos, - maxpos = pos, - --minvel = {x=1, y=0, z=1}, - --maxvel = {x=1, y=0, z=1}, - --minacc = {x=1, y=0, z=1}, - --maxacc = {x=1, y=0, z=1}, - minexptime = 0.2, - maxexptime = 0.5, - minsize = 0.5, - maxsize = 1.5, - collisiondetection = false, - vertical = false, - glow = 14, - animation = animation, - }) -end -function rcbows.splash(old_pos, splash_particle) - minetest.add_particlespawner({ - amount = 5, - time = 1, - minpos = old_pos, - maxpos = old_pos, - minvel = {x=1, y=1, z=0}, - maxvel = {x=1, y=1, z=0}, - minacc = {x=1, y=1, z=1}, - maxacc = {x=1, y=1, z=1}, - minexptime = 0.2, - maxexptime = 0.5, - minsize = 1, - maxsize = 1, - collisiondetection = false, - vertical = false, - texture = splash_particle, - playername = "singleplayer" - }) -end + local bow_name_charged = itemstack:get_name() + local bow_name = x_bows.registered_bows[bow_name_charged].name + local uses = x_bows.registered_bows[bow_name_charged].uses + local crit_chance = x_bows.registered_bows[bow_name_charged].crit_chance + local _tool_capabilities = x_bows.registered_arrows[meta_arrow].tool_capabilities -rcbows.register_bow("rcbows:bow_wood", { - description = S("Wooden Bow"), - image = "rcbows_pulling_0.png", - strength = 30, - uses = 150, - charge_time = 0.5, - recipe = { - {"", "group:wood", "farming:string"}, - {"group:wood", "", "farming:string"}, - {"", "group:wood", "farming:string"}, - }, - base_texture = "rcbows_pulling_0.png", - overlay_empty = "rcbows_standby.png", - overlay_charged = "rcbows_pulling_2.png", - arrows = "rcbows:arrow", - sounds = { - max_hear_distance = 10, - gain = 0.4, + local staticdata = { + arrow = meta_arrow, + user_name = user:get_player_name(), + is_critical_hit = false, + _tool_capabilities = _tool_capabilities, + _tflp = tflp, } -}) -rcbows.register_arrow("rcbows:arrow", { - damage = 5, - inventory_arrow = { - name = "rcbows:inv_arrow", - description = S("Arrow"), - inventory_image = "rcbows_arrow.png" - }, - sounds = { - max_hear_distance = 10, - gain = 0.4, - }, -}) \ No newline at end of file + -- crits, only on full punch interval + if crit_chance and crit_chance > 1 and tflp >= _tool_capabilities.full_punch_interval then + if math.random(1, crit_chance) == 1 then + staticdata.is_critical_hit = true + end + end + + local sound_name = 'x_bows_bow_shoot' + if staticdata.is_critical_hit then + sound_name = 'x_bows_bow_shoot_crit' + end + + meta:set_string('arrow', '') + itemstack:set_name(bow_name) + + local pos = user:get_pos() + local dir = user:get_look_dir() + local obj = minetest.add_entity({x = pos.x, y = pos.y + 1.5, z = pos.z}, 'x_bows:arrow_entity', minetest.serialize(staticdata)) + + if not obj then + return itemstack + end + + local lua_ent = obj:get_luaentity() + local strength_multiplier = tflp + + if strength_multiplier > _tool_capabilities.full_punch_interval then + strength_multiplier = 1 + end + + local strength = 30 * strength_multiplier + + obj:set_velocity(vector.multiply(dir, strength)) + obj:set_acceleration({x = dir.x * -3, y = -10, z = dir.z * -3}) + obj:set_yaw(minetest.dir_to_yaw(dir)) + + if not x_bows.is_creative(user:get_player_name()) then + itemstack:add_wear(65535 / uses) + end + + minetest.sound_play(sound_name, { + gain = 0.3, + pos = user:get_pos(), + max_hear_distance = 10 + }) + + return itemstack +end + +function x_bows.particle_effect(pos, type) + if type == 'arrow' then + return minetest.add_particlespawner({ + amount = 1, + time = 0.1, + minpos = pos, + maxpos = pos, + minexptime = 1, + maxexptime = 1, + minsize = 2, + maxsize = 2, + texture = 'x_bows_arrow_particle.png', + animation = { + type = 'vertical_frames', + aspect_w = 8, + aspect_h = 8, + length = 1, + }, + glow = 1 + }) + elseif type == 'arrow_crit' then + return minetest.add_particlespawner({ + amount = 3, + time = 0.1, + minpos = pos, + maxpos = pos, + minexptime = 0.5, + maxexptime = 0.5, + minsize = 2, + maxsize = 2, + texture = 'x_bows_arrow_particle.png^[colorize:#B22222:127', + animation = { + type = 'vertical_frames', + aspect_w = 8, + aspect_h = 8, + length = 1, + }, + glow = 1 + }) + elseif type == 'bubble' then + return minetest.add_particlespawner({ + amount = 1, + time = 1, + minpos = pos, + maxpos = pos, + minvel = {x=1, y=1, z=0}, + maxvel = {x=1, y=1, z=0}, + minacc = {x=1, y=1, z=1}, + maxacc = {x=1, y=1, z=1}, + minexptime = 0.2, + maxexptime = 0.5, + minsize = 0.5, + maxsize = 1, + texture = 'x_bows_bubble.png' + }) + elseif type == 'arrow_tipped' then + return minetest.add_particlespawner({ + amount = 5, + time = 1, + minpos = vector.subtract(pos, 0.5), + maxpos = vector.add(pos, 0.5), + minexptime = 0.4, + maxexptime = 0.8, + minvel = {x=-0.4, y=0.4, z=-0.4}, + maxvel = {x=0.4, y=0.6, z=0.4}, + minacc = {x=0.2, y=0.4, z=0.2}, + maxacc = {x=0.4, y=0.6, z=0.4}, + minsize = 4, + maxsize = 6, + texture = 'x_bows_arrow_tipped_particle.png^[colorize:#008000:127', + animation = { + type = 'vertical_frames', + aspect_w = 8, + aspect_h = 8, + length = 1, + }, + glow = 1 + }) + end +end + +-- sneak, fov adjustments when bow is charged +minetest.register_globalstep(function(dtime) + bow_charged_timer = bow_charged_timer + dtime + + if bow_charged_timer > 0.5 then + for _, player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local stack = player:get_wielded_item() + local item = stack:get_name() + + if not item then + return + end + + if not x_bows.player_bow_sneak[name] then + x_bows.player_bow_sneak[name] = {} + end + + if item == 'x_bows:bow_wood_charged' and not x_bows.player_bow_sneak[name].sneak then + if minetest.get_modpath('playerphysics') then + playerphysics.add_physics_factor(player, 'speed', 'x_bows:bow_wood_charged', 0.25) + end + + x_bows.player_bow_sneak[name].sneak = true + player:set_fov(0.9, true, 0.4) + elseif item ~= 'x_bows:bow_wood_charged' and x_bows.player_bow_sneak[name].sneak then + if minetest.get_modpath('playerphysics') then + playerphysics.remove_physics_factor(player, 'speed', 'x_bows:bow_wood_charged') + end + + x_bows.player_bow_sneak[name].sneak = false + player:set_fov(1, true, 0.4) + end + end + + bow_charged_timer = 0 + end +end) + +local path = minetest.get_modpath('x_bows') + +dofile(path .. '/nodes.lua') +dofile(path .. '/arrow.lua') +dofile(path .. '/items.lua') + +local mod_end_time = (minetest.get_us_time() - mod_start_time) / 1000000 + +print('[Mod] x_bows loaded.. ['.. mod_end_time ..'s]') diff --git a/items.lua b/items.lua new file mode 100644 index 0000000..68c0b7d --- /dev/null +++ b/items.lua @@ -0,0 +1,130 @@ +x_bows.register_bow('bow_wood', { + description = 'Wooden Bow', + uses = 385, + -- `crit_chance` 10% chance, 5 is 20% chance + -- (1 / crit_chance) * 100 = % chance + crit_chance = 10, + recipe = { + {'', 'default:stick', 'farming:string'}, + {'default:stick', '', 'farming:string'}, + {'', 'default:stick', 'farming:string'}, + } +}) + +x_bows.register_arrow('arrow_wood', { + description = 'Arrow Wood', + inventory_image = 'x_bows_arrow_wood.png', + craft = { + {'', 'default:flint', ''}, + {'', 'group:stick', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 1, + max_drop_level = 0, + damage_groups = {fleshy=2} + } +}) + +x_bows.register_arrow('arrow_stone', { + description = 'Arrow Stone', + inventory_image = 'x_bows_arrow_stone.png', + craft = { + {'', 'default:flint', ''}, + {'', 'group:stone', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 1.2, + max_drop_level = 0, + damage_groups = {fleshy=4} + } +}) + +x_bows.register_arrow('arrow_bronze', { + description = 'Arrow Bronze', + inventory_image = 'x_bows_arrow_bronze.png', + craft = { + {'', 'default:flint', ''}, + {'', 'default:bronze_ingot', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 0.8, + max_drop_level = 1, + damage_groups = {fleshy=6} + } +}) + +x_bows.register_arrow('arrow_steel', { + description = 'Arrow Steel', + inventory_image = 'x_bows_arrow_steel.png', + craft = { + {'', 'default:flint', ''}, + {'', 'default:steel_ingot', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level = 1, + damage_groups = {fleshy=6} + } +}) + +x_bows.register_arrow('arrow_mese', { + description = 'Arrow Mese', + inventory_image = 'x_bows_arrow_mese.png', + craft = { + {'', 'default:flint', ''}, + {'', 'default:mese_crystal', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level = 1, + damage_groups = {fleshy=7} + } +}) + +x_bows.register_arrow('arrow_diamond', { + description = 'Arrow Diamond', + inventory_image = 'x_bows_arrow_diamond.png', + craft = { + {'', 'default:flint', ''}, + {'', 'default:diamond', ''}, + {'', 'group:wool', ''} + }, + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level = 1, + damage_groups = {fleshy=8} + } +}) + +x_bows.register_arrow('arrow_diamond_tipped_poison', { + description = 'Arrow Diamond Tipped Poison (0:05)', + inventory_image = 'x_bows_arrow_diamond_poison.png', + craft = { + {'', '', ''}, + {'', 'farming_addons:poisonouspotato', ''}, + {'', 'x_bows:arrow_wood', ''} + }, + tool_capabilities = { + full_punch_interval = 0.7, + max_drop_level = 1, + damage_groups = {fleshy=8} + }, + craft_count = 1 +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'x_bows:bow_wood', + burntime = 3, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'x_bows:arrow_wood', + burntime = 1, +}) diff --git a/locale/rcbows.es.tr b/locale/rcbows.es.tr deleted file mode 100644 index 202eb20..0000000 --- a/locale/rcbows.es.tr +++ /dev/null @@ -1,3 +0,0 @@ -# textdomain: rcbows -(place to reload)=(dcha. ratón para recargar) -(use to fire)=(izda. ratón para usar) diff --git a/mod.conf b/mod.conf index deb8356..321ca0a 100644 --- a/mod.conf +++ b/mod.conf @@ -1,3 +1,4 @@ -name = rcbows +name = x_bows +description = Adds bows to Minetest. depends = -optional_depends = tnt, explosions +optional_depends = farming, 3d_armor, hbhunger, mesecons, playerphysics diff --git a/nodes.lua b/nodes.lua new file mode 100644 index 0000000..9c8200c --- /dev/null +++ b/nodes.lua @@ -0,0 +1,54 @@ +minetest.register_node('x_bows:arrow_node', { + drawtype = 'nodebox', + node_box = { + type = 'fixed', + fixed = { + {-0.1875, 0, -0.5, 0.1875, 0, 0.5}, + {0, -0.1875, -0.5, 0, 0.1875, 0.5}, + {-0.5, -0.5, -0.5, 0.5, 0.5, -0.5}, + } + }, + -- Textures of node; +Y, -Y, +X, -X, +Z, -Z + -- Textures of node; top, bottom, right, left, front, back + tiles = { + 'x_bows_arrow_tile_point_top.png', + 'x_bows_arrow_tile_point_bottom.png', + 'x_bows_arrow_tile_point_right.png', + 'x_bows_arrow_tile_point_left.png', + 'x_bows_arrow_tile_tail.png', + 'x_bows_arrow_tile_tail.png' + }, + groups = {not_in_creative_inventory=1}, + sunlight_propagates = true, + paramtype = 'light', + collision_box = {0, 0, 0, 0, 0, 0}, + selection_box = {0, 0, 0, 0, 0, 0} +}) + +minetest.register_node('x_bows:target', { + description = 'Straw', + tiles = {'x_bows_target.png'}, + is_ground_content = false, + groups = {snappy=3, flammable=4, fall_damage_add_percent=-30}, + sounds = default.node_sound_leaves_defaults(), + mesecons = {receptor = {state = 'off'}}, + on_timer = function (pos, elapsed) + mesecon.receptor_off(pos) + return false + end, +}) + +minetest.register_craft({ + type = 'fuel', + recipe = 'x_bows:target', + burntime = 3, +}) + +minetest.register_craft({ + output = 'x_bows:target', + recipe = { + {'', 'default:mese_crystal', ''}, + {'default:mese_crystal', 'farming:straw', 'default:mese_crystal'}, + {'', 'default:mese_crystal', ''}, + } +}) diff --git a/sounds/x_bows_arrow_hit.1.ogg b/sounds/x_bows_arrow_hit.1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3b0d6a20041f8a3dfc7a21c465c783baf3aff43a GIT binary patch literal 11106 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 literal 0 HcmV?d00001 diff --git a/sounds/x_bows_arrow_hit.2.ogg b/sounds/x_bows_arrow_hit.2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0ece9e9037c18939c0ef2e79e5de4edaa0db4e78 GIT binary patch literal 10640 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 re;!q)a++!x!J?e++o-Ihyvu6H1K}_W5;4@ literal 0 HcmV?d00001 diff --git a/sounds/x_bows_arrow_hit.3.ogg b/sounds/x_bows_arrow_hit.3.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3ff82342f077c87baeb6c4429655bb1bf9d6108b GIT binary patch literal 13252 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 literal 0 HcmV?d00001 diff --git a/sounds/x_bows_arrow_hit.4.ogg b/sounds/x_bows_arrow_hit.4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..82aa26f0dcb06cb35e8ec3ce12ad1f48b37cd4ee GIT binary patch literal 15430 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 literal 0 HcmV?d00001 diff --git a/sounds/x_bows_arrow_successful_hit.ogg b/sounds/x_bows_arrow_successful_hit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a38b2cc5b4033484464b53f489f9c2b1fc688428 GIT binary patch literal 7139 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 WaAZK<-!Eb8=ar(fv8Z2MApU=%u`*8p literal 0 HcmV?d00001 diff --git a/sounds/x_bows_bow_loaded.ogg b/sounds/x_bows_bow_loaded.ogg new file mode 100644 index 0000000000000000000000000000000000000000..56a83195b3f4fb87f395e7b22cb8e6ef22a0dc77 GIT binary patch literal 7008 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 GzW)KN)T03a literal 0 HcmV?d00001 diff --git a/sounds/x_bows_bow_shoot_crit.ogg b/sounds/x_bows_bow_shoot_crit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f1e86338fb9a1ba9e2f7bee4d43a8901f024c01a GIT binary patch literal 11033 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 diff --git a/textures/rcbows_bubble.png b/textures/rcbows_bubble.png deleted file mode 100755 index b153ab12d995b964f7735b226634711e0f6d5415..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2914 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 diff --git a/textures/rcbows_pulling_1.png b/textures/rcbows_pulling_1.png deleted file mode 100644 index 01a3dd89921a1bbc833077f76ad2fc5864a30428..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psI_W zE{-7<{>coD%l+m4up6IXeSKZ$Z~dnqjy%pq&TsxT7c5xI7-ku5E84PS@yc)izbJ_B zVDMQyYmG&OVn=U|f(MTZdng~{iM9rjBn=0q+u=Tk^w^D-7@YcBUp>qGhS>@OE{l!z zqJGT>%?|T4awRtGzTTI3>fj&t&63jFVdQ&MBb@0FD83jsO4v diff --git a/textures/rcbows_pulling_2.png b/textures/rcbows_pulling_2.png deleted file mode 100644 index db2442142f5f3cdfb444337df3aa23623de6bd41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 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 A?*IS* diff --git a/textures/x_bows_arrow_bronze.png b/textures/x_bows_arrow_bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..52620426f8ae52f4c14ff623b4defa45dd598d4c GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!N`Oy@t9yaZKRLd{DK)Ap4~_Ta?Ctk978H@Z9QQq z#Gt^z?8wp4_5c6+USp}M^|yt+LT?)A=Y8bUf2Z8FyryK)4V{|@gshI6e`8yGmN77G R-$jsd44$rjF6*2UngEn1K8FAR literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_crit.png b/textures/x_bows_arrow_crit.png new file mode 100644 index 0000000000000000000000000000000000000000..a5afae1609020435b16b564d71fd695391d87b69 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+3?x7IEPn{3gaUj*T-^(N+I3Y+)fA3+yR0zR zPgYmdNDA%=I0e=NZb~o;sVsc;OXk;vd$@?2>{3CBs~BC literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_diamond.png b/textures/x_bows_arrow_diamond.png new file mode 100644 index 0000000000000000000000000000000000000000..d3872e9108aedbf492cfddc879316c59acdd0645 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!N`Oy@t9yaZj`u~4@ud!6s`rE=@p*Icm^FH$FzfDTT5}T$6=sG#*!evU{{LU!Yb;f@{y+qkkxVXZ)}UtG6tsY SyZ8ra0)wZkpUXO@geCyfMLc%^ literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_particle.png b/textures/x_bows_arrow_particle.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc32586ce78b2a27ac9c36ad94cbae4484652c8 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^96;>A!3-n?ZXMeJr1%4TLR{Soe9FtqXV0E}?AWod zU%wU|lQ|ERVk`;r3ubV5b|VeQ$?Z;jeyUKqd(q-6(NU4f>Gy@@f*j;8sxM;Wk_$>XzjfN`%B{=z zf$R@4XEOgpF)QqO{CQE7M#a8E{GYV#H~6?u5$EfxXJln7UibxQFN3G6pUXO@geCyh CFHl_o literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_steel.png b/textures/x_bows_arrow_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..ac152962bdaecffc9c37d3de1abf96d78b14874d GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!N`Oy@t9yaZWuK)kn_Zmx8t-meo6?)S^Kkp--{yXKagTe~DWM4fD49RY literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_stone.png b/textures/x_bows_arrow_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..fa794c08f32d4bdfc661c6486d418540f497cb72 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!N`Oy@t9yaZ{{LU!Yb;f@{y+qkkxVXZ)}UtG6tsY SyZ8ra0)wZkpUXO@geCxFy*>H> literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_tile_point_bottom.png b/textures/x_bows_arrow_tile_point_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf6f9c6f52d6962f8df83d833eb24dd86c20f9d GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?bbuaKylNArNHOLLIv(-~s zzh>$B?(U~g9voY~baG$E$>Rs_o<9Ec?wuBWzBr&3#*!evUIu*o22WQ%mvv4FO#nSuJcIxM literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_tile_point_left.png b/textures/x_bows_arrow_tile_point_left.png new file mode 100644 index 0000000000000000000000000000000000000000..f40744063dddbc9bedd75a4830a0af3c82b4c8d4 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar_~T6C_xfndjZx`&r&) z{rh)pmw8@a*ZKSZ%gN^dM>6(R|FT&1Z1QpbCe!AEybf6j_FGa14E5}K(q`Pb{!#u3 zlR(&H(f|3YmoptRFzawTb|Oi^?1rd;bH~R+8=ray?sec>(51MTfssKqAjyuM-xXv% NgQu&X%Q~loCIG|nJxu@r literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_tile_point_right.png b/textures/x_bows_arrow_tile_point_right.png new file mode 100644 index 0000000000000000000000000000000000000000..28ef4c67c63d982ca93cc18ed26ede04108eb443 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~T6C_xtG=IH&_rK$p z%e%|}1?QZ&d--^$(UX^x+5cZ(AITLcoss>)-u%crdn4Y%H-0Ga7%{Z?%h~^!e=yAd z>Hb-3EF_dSUp(qy(!;w+wnhDW=^yuxhc-U-?)=2$I?J7rmw_SaN|IgnLX)LHI~hD( L{an^LB{Ts5j~hR+ literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_tile_point_top.png b/textures/x_bows_arrow_tile_point_top.png new file mode 100644 index 0000000000000000000000000000000000000000..67a0bc649fe80322e2bc3bf5e295825945277830 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?bbuaLl+}CmP_`&sSmOg#* zKuuOWH^k0XPbJXS;Mnq|cTXRGdiT!y?rv7TOSgeq7)yfuf*Bm1-ADs+tUX;ELn;`P z8JOHy**FBs+KhT)7w}wT(P)-Em(k#9n$V$gU}=HTvUJA`ziVy00@p6eaGX7Sub`ok Zk%40t7pt8w?;oHs44$rjF6*2UngDoIJjwt7 literal 0 HcmV?d00001 diff --git a/textures/x_bows_arrow_tile_tail.png b/textures/x_bows_arrow_tile_tail.png new file mode 100644 index 0000000000000000000000000000000000000000..67900994f20e78d2669fd221704c7ec989e8cc9e GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ex5FlAr_~T6C_w!4&J?d{C{xD zfsIeSPnsvxmVf`hs-@+>inU~lwnuVa$KCp9+o}H*non$!T@vXVCX*v^B4E;C<|Pw# iZm$$-2A!3-n?ZXMeJq<8{+LR{Sod{(Vmb@}q;uCA^( z*Q34w#TiS2{DK)Ap4~_Ta#B29978H@&7IK5#h}RHT>JU||DOwj{WLlASfcW7Z81JE zqw}`@0?{pg%_UcbiqxNq)Xpqmt|?sX9r$o=>)C)?ifR12U;X9SW|_MGZ=~C`xoJ}# r>@@ya)OY{Dm7P+uS-ak_RsUw6$i*l3-Oab{)?%O*#*!evUzopr04;+*W&i*H literal 0 HcmV?d00001 diff --git a/textures/x_bows_bow_wood.png b/textures/x_bows_bow_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..e895ef1f0591dd6874d69138328dd69909ef68c5 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDUbuaKS(^SX}u?w^{=*{sz zv47RwYsa>)m}K}jSp=wtu_VYZn8D%MjWi&~)6>NB-{<9Zj{yCfL2Vw(SIKd2Pk#*xRy@Z{Hm1^eeq1=;o8 zcvI*n@S#%ig7>?QqV7D?tBTtnt#kh8V49oIRO}#rRs7Qr)+eQP2_O3oaGYT1cp_NA TEZI^3w2Hyg)z4*}Q$iB}KhsgC literal 0 HcmV?d00001 diff --git a/textures/x_bows_bubble.png b/textures/x_bows_bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..e937bd9e75c6cc189cfac485f296b3b86ded501a GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^>>$j+1|*LJgnkCB_QRj`_KqIOuN zc}A~$@8xGXKv~9;AirP+hi5m^fE+zf7srr_Te>F>3NjdQFgY^5-TyR3NK%eFblYj6 r7kR-8CEddQdrwxF!M;dmfgYdCPKNobd8}iAIvG4&{an^LB{Ts5x*8}0 literal 0 HcmV?d00001 diff --git a/textures/x_bows_target.png b/textures/x_bows_target.png new file mode 100644 index 0000000000000000000000000000000000000000..7799aeca797163189aab78e3fc6a548f56b52d02 GIT binary patch literal 264 zcmV+j0r&oiP)lSo-Pb2A;Naly?(Xdv zzQq6l0F6mRK~#8NRgYN?#4rd$ZI-M{JNLirK>lh8BA#SJfX;Ei4)QSHY-(y2MW6#1 zDt;x35r8IMOQ^co0M458C)%3IZ_afvOloa!sMRV)(7fcFq