From 1c458a2e7258565e0d98050263cf98ec17607c71 Mon Sep 17 00:00:00 2001 From: epCode Date: Fri, 15 Oct 2021 12:00:37 -0700 Subject: [PATCH] Add crossbows --- mods/ITEMS/mcl_bows/arrow.lua | 6 +- mods/ITEMS/mcl_bows/crossbow.lua | 454 ++++++++ mods/ITEMS/mcl_bows/init.lua | 6 + .../ITEMS/mcl_bows/models/mcl_bows_rocket.b3d | Bin 0 -> 11758 bytes .../ITEMS/mcl_bows/models/mcl_bows_rocket.mtl | 10 + .../ITEMS/mcl_bows/models/mcl_bows_rocket.obj | 1016 +++++++++++++++++ mods/ITEMS/mcl_bows/rocket.lua | 706 ++++++++++++ .../sounds/mcl_bows_crossbow_drawback_0.ogg | Bin 0 -> 13529 bytes .../sounds/mcl_bows_crossbow_drawback_1.ogg | Bin 0 -> 13401 bytes .../sounds/mcl_bows_crossbow_drawback_2.ogg | Bin 0 -> 10139 bytes .../sounds/mcl_bows_crossbow_load.ogg | Bin 0 -> 7627 bytes .../sounds/mcl_bows_crossbow_shoot.ogg | Bin 0 -> 9767 bytes .../mcl_bows/sounds/mcl_bows_firework.ogg | Bin 0 -> 42143 bytes .../sounds/mcl_bows_firework_soft.ogg | Bin 0 -> 55786 bytes .../mcl_bows/textures/mcl_bows_crossbow.png | Bin 0 -> 2311 bytes .../mcl_bows/textures/mcl_bows_crossbow_0.png | Bin 0 -> 2369 bytes .../mcl_bows/textures/mcl_bows_crossbow_1.png | Bin 0 -> 2383 bytes .../mcl_bows/textures/mcl_bows_crossbow_2.png | Bin 0 -> 2362 bytes .../mcl_bows/textures/mcl_bows_crossbow_3.png | Bin 0 -> 2794 bytes .../textures/mcl_bows_firework_blue.png | Bin 0 -> 630 bytes .../textures/mcl_bows_firework_green.png | Bin 0 -> 627 bytes .../textures/mcl_bows_firework_red.png | Bin 0 -> 622 bytes .../textures/mcl_bows_firework_white.png | Bin 0 -> 1577 bytes .../textures/mcl_bows_firework_yellow.png | Bin 0 -> 1717 bytes .../mcl_bows/textures/mcl_bows_rocket.png | Bin 0 -> 2133 bytes .../textures/mcl_bows_rocket_particle.png | Bin 0 -> 4675 bytes mods/ITEMS/mcl_enchanting/enchantments.lua | 14 +- mods/ITEMS/mcl_mobspawners/init.lua | 3 +- mods/ITEMS/mcl_potions/tipped_arrow.lua | 2 +- mods/PLAYER/mcl_player/init.lua | 6 +- mods/PLAYER/mcl_playerplus/init.lua | 13 + 31 files changed, 2221 insertions(+), 15 deletions(-) create mode 100644 mods/ITEMS/mcl_bows/crossbow.lua create mode 100644 mods/ITEMS/mcl_bows/models/mcl_bows_rocket.b3d create mode 100644 mods/ITEMS/mcl_bows/models/mcl_bows_rocket.mtl create mode 100644 mods/ITEMS/mcl_bows/models/mcl_bows_rocket.obj create mode 100644 mods/ITEMS/mcl_bows/rocket.lua create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_drawback_0.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_drawback_1.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_drawback_2.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_load.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_shoot.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_firework.ogg create mode 100644 mods/ITEMS/mcl_bows/sounds/mcl_bows_firework_soft.ogg create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_0.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_2.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_firework_blue.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_firework_white.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_firework_yellow.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png create mode 100644 mods/ITEMS/mcl_bows/textures/mcl_bows_rocket_particle.png diff --git a/mods/ITEMS/mcl_bows/arrow.lua b/mods/ITEMS/mcl_bows/arrow.lua index 9a22ee622c..3437076173 100644 --- a/mods/ITEMS/mcl_bows/arrow.lua +++ b/mods/ITEMS/mcl_bows/arrow.lua @@ -43,7 +43,7 @@ S("An arrow fired from a bow has a regular damage of 1-9. At full charge, there' S("Arrows might get stuck on solid blocks and can be retrieved again. They are also capable of pushing wooden buttons."), _doc_items_usagehelp = S("To use arrows as ammunition for a bow, just put them anywhere in your inventory, they will be used up automatically. To use arrows as ammunition for a dispenser, place them in the dispenser's inventory. To retrieve an arrow that sticks in a block, simply walk close to it."), inventory_image = "mcl_bows_arrow_inv.png", - groups = { ammo=1, ammo_bow=1, ammo_bow_regular=1 }, + groups = { ammo=1, ammo_bow=1, ammo_bow_regular=1, ammo_crossbow=1 }, _on_dispense = function(itemstack, dispenserpos, droppos, dropnode, dropdir) -- Shoot arrow local shootpos = vector.add(dispenserpos, vector.multiply(dropdir, 0.51)) @@ -324,7 +324,9 @@ function ARROW_ENTITY.on_step(self, dtime) end if not obj:is_player() then mcl_burning.extinguish(self.object) - self.object:remove() + if self._piercing == 0 then + self.object:remove() + end end return end diff --git a/mods/ITEMS/mcl_bows/crossbow.lua b/mods/ITEMS/mcl_bows/crossbow.lua new file mode 100644 index 0000000000..e3124156b2 --- /dev/null +++ b/mods/ITEMS/mcl_bows/crossbow.lua @@ -0,0 +1,454 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +mcl_bows_s = {} + +-- local arrows = { +-- ["mcl_bows:arrow"] = "mcl_bows:arrow_entity", +-- } + +local GRAVITY = 9.81 +local BOW_DURABILITY = 385 + +-- Charging time in microseconds +local _BOW_CHARGE_TIME_HALF = 350000 -- bow level 1 +local _BOW_CHARGE_TIME_FULL = 900000 -- bow level 2 (full charge) + +local BOW_CHARGE_TIME_HALF = 350000 -- bow level 1 +local BOW_CHARGE_TIME_FULL = 900000 -- bow level 2 (full charge) + +-- Factor to multiply with player speed while player uses bow +-- This emulates the sneak speed. +local PLAYER_USE_CROSSBOW_SPEED = tonumber(minetest.settings:get("movement_speed_crouch")) / tonumber(minetest.settings:get("movement_speed_walk")) + +-- TODO: Use Minecraft speed (ca. 53 m/s) +-- Currently nerfed because at full speed the arrow would easily get out of the range of the loaded map. +local BOW_MAX_SPEED = 68 + +local function play_load_sound(id, pos) + minetest.sound_play("mcl_bows_crossbow_drawback_"..id, {pos=pos, max_hear_distance=12}, true) +end + +--[[ Store the charging state of each player. +keys: player name +value: +nil = not charging or player not existing +number: currently charging, the number is the time from minetest.get_us_time + in which the charging has started +]] +local bow_load = {} + +-- Another player table, this one stores the wield index of the bow being charged +local bow_index = {} + +function mcl_bows_s.shoot_arrow_crossbow(arrow_item, pos, dir, yaw, shooter, power, damage, is_critical, crossbow_stack, collectable) + local obj = minetest.add_entity({x=pos.x,y=pos.y,z=pos.z}, arrow_item.."_entity") + if power == nil then + power = BOW_MAX_SPEED --19 + end + if damage == nil then + damage = 3 + end + local knockback + if crossbow_stack then + local enchantments = mcl_enchanting.get_enchantments(crossbow_stack) + if enchantments.piercing then + obj:get_luaentity()._piercing = 1 * enchantments.piercing + else + obj:get_luaentity()._piercing = 0 + end + end + obj:set_velocity({x=dir.x*power, y=dir.y*power, z=dir.z*power}) + obj:set_acceleration({x=0, y=-GRAVITY, z=0}) + obj:set_yaw(yaw-math.pi/2) + local le = obj:get_luaentity() + le._shooter = shooter + le._source_object = shooter + le._damage = damage + le._is_critical = is_critical + le._startpos = pos + le._knockback = knockback + le._collectable = collectable + minetest.sound_play("mcl_bows_crossbow_shoot", {pos=pos, max_hear_distance=16}, true) + if shooter and shooter:is_player() then + if obj:get_luaentity().player == "" then + obj:get_luaentity().player = shooter + end + obj:get_luaentity().node = shooter:get_inventory():get_stack("main", 1):get_name() + end + return obj +end + +local function get_arrow(player) + local inv = player:get_inventory() + local arrow_stack, arrow_stack_id + for i=1, inv:get_size("main") do + local it = inv:get_stack("main", i) + if not it:is_empty() and minetest.get_item_group(it:get_name(), "ammo_crossbow") ~= 0 then + arrow_stack = it + arrow_stack_id = i + break + end + end + return arrow_stack, arrow_stack_id +end + +local function player_shoot_arrow(itemstack, player, power, damage, is_critical) + local has_multishot_enchantment = mcl_enchanting.has_enchantment(player:get_wielded_item(), "multishot") + local arrow_itemstring = wielditem:get_meta():get("arrow") + + if not arrow_itemstring then + return false + end + + local playerpos = player:get_pos() + local dir = player:get_look_dir() + local yaw = player:get_look_horizontal() + + if has_multishot_enchantment then + mcl_bows_s.shoot_arrow_crossbow(arrow_itemstring, {x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, {x=dir.x, y=dir.y, z=dir.z + .2}, yaw, player, power, damage, is_critical, player:get_wielded_item(), false) + mcl_bows_s.shoot_arrow_crossbow(arrow_itemstring, {x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, {x=dir.x, y=dir.y, z=dir.z - .2}, yaw, player, power, damage, is_critical, player:get_wielded_item(), false) + mcl_bows_s.shoot_arrow_crossbow(arrow_itemstring, {x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, dir, yaw, player, power, damage, is_critical, player:get_wielded_item(), true) + else + mcl_bows_s.shoot_arrow_crossbow(arrow_itemstring, {x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, dir, yaw, player, power, damage, is_critical, player:get_wielded_item(), true) + end + return true +end + +-- Bow item, uncharged state +minetest.register_tool("mcl_bows:crossbow", { + description = S("Corssbow"), + _tt_help = S("Launches arrows"), + _doc_items_longdesc = S("Bows are ranged weapons to shoot arrows at your foes.").."\n".. +S("The speed and damage of the arrow increases the longer you charge. The regular damage of the arrow is between 1 and 9. At full charge, there's also a 20% of a critical hit, dealing 10 damage instead."), + _doc_items_usagehelp = S("To use the bow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to shoot."), + _doc_items_durability = BOW_DURABILITY, + inventory_image = "mcl_bows_crossbow.png", + wield_scale = mcl_vars.tool_wield_scale, + stack_max = 1, + range = 4, + -- Trick to disable digging as well + on_use = function() return end, + on_place = function(itemstack, player, pointed_thing) + if pointed_thing and pointed_thing.type == "node" then + -- Call on_rightclick if the pointed node defines it + local node = minetest.get_node(pointed_thing.under) + if player and not player:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, player, itemstack) or itemstack + end + end + end + + itemstack:get_meta():set_string("active", "true") + return itemstack + end, + on_secondary_use = function(itemstack) + itemstack:get_meta():set_string("active", "true") + return itemstack + end, + groups = {weapon=1,weapon_ranged=1,crossbow=1,enchantability=1}, + _mcl_uses = 326, +}) + +minetest.register_tool("mcl_bows:crossbow_loaded", { + description = S("Corssbow"), + _tt_help = S("Launches arrows"), + _doc_items_longdesc = S("Corssbow are ranged weapons to shoot arrows at your foes.").."\n".. +S("The speed and damage of the arrow increases the longer you charge. The regular damage of the arrow is between 1 and 9. At full charge, there's also a 20% of a critical hit, dealing 10 damage instead."), + _doc_items_usagehelp = S("To use the corssbow, you first need to have at least one arrow anywhere in your inventory (unless in Creative Mode). Hold down the right mouse button to charge, release to load an arrow into the chamber, then to shoot press left mouse."), + _doc_items_durability = BOW_DURABILITY, + inventory_image = "mcl_bows_crossbow_3.png", + wield_scale = mcl_vars.tool_wield_scale, + stack_max = 1, + range = 4, + -- Trick to disable digging as well + on_use = function() return end, + on_place = function(itemstack, player, pointed_thing) + if pointed_thing and pointed_thing.type == "node" then + -- Call on_rightclick if the pointed node defines it + local node = minetest.get_node(pointed_thing.under) + if player and not player:get_player_control().sneak then + if minetest.registered_nodes[node.name] and minetest.registered_nodes[node.name].on_rightclick then + return minetest.registered_nodes[node.name].on_rightclick(pointed_thing.under, node, player, itemstack) or itemstack + end + end + end + + itemstack:get_meta():set_string("active", "true") + return itemstack + end, + on_secondary_use = function(itemstack) + itemstack:get_meta():set_string("active", "true") + return itemstack + end, + groups = {weapon=1,weapon_ranged=1,crossbow=1,enchantability=1}, + _mcl_uses = 326, +}) + +-- Iterates through player inventory and resets all the bows in "charging" state back to their original stage +local function reset_bows(player) + local inv = player:get_inventory() + local list = inv:get_list("main") + for place, stack in pairs(list) do + if stack:get_name() == "mcl_bows:crossbow" or stack:get_name() == "mcl_bows:crossbow_enchanted" then + stack:get_meta():set_string("active", "") + elseif stack:get_name()=="mcl_bows:crossbow_0" or stack:get_name()=="mcl_bows:crossbow_1" or stack:get_name()=="mcl_bows:crossbow_2" then + stack:set_name("mcl_bows:crossbow") + stack:get_meta():set_string("active", "") + list[place] = stack + elseif stack:get_name()=="mcl_bows:crossbow_0_enchanted" or stack:get_name()=="mcl_bows:crossbow_1_enchanted" or stack:get_name()=="mcl_bows:crossbow_2_enchanted" then + stack:set_name("mcl_bows:crossbow_enchanted") + stack:get_meta():set_string("active", "") + list[place] = stack + end + end + inv:set_list("main", list) +end + +-- Resets the bow charging state and player speed. To be used when the player is no longer charging the bow +local function reset_bow_state(player, also_reset_bows) + bow_load[player:get_player_name()] = nil + bow_index[player:get_player_name()] = nil + if minetest.get_modpath("playerphysics") then + playerphysics.remove_physics_factor(player, "speed", "mcl_bows:use_crossbow") + end + if also_reset_bows then + reset_bows(player) + end +end + +-- Bow in charging state +for level=0, 2 do + minetest.register_tool("mcl_bows:crossbow_"..level, { + description = S("Crossbow"), + _doc_items_create_entry = false, + inventory_image = "mcl_bows_crossbow_"..level..".png", + wield_scale = mcl_vars.tool_wield_scale, + stack_max = 1, + range = 0, -- Pointing range to 0 to prevent punching with bow :D + groups = {not_in_creative_inventory=1, not_in_craft_guide=1, bow=1, enchantability=1}, + -- Trick to disable digging as well + on_use = function() return end, + on_drop = function(itemstack, dropper, pos) + reset_bow_state(dropper) + itemstack:get_meta():set_string("active", "") + if mcl_enchanting.is_enchanted(itemstack:get_name()) then + itemstack:set_name("mcl_bows:crossbow_enchanted") + else + itemstack:set_name("mcl_bows:crossbow") + end + minetest.item_drop(itemstack, dropper, pos) + itemstack:take_item() + return itemstack + end, + -- Prevent accidental interaction with itemframes and other nodes + on_place = function(itemstack) + return itemstack + end, + _mcl_uses = 385, + }) +end + + +controls.register_on_release(function(player, key, time) + if key~="RMB" then return end + --local inv = minetest.get_inventory({type="player", name=player:get_player_name()}) + local wielditem = player:get_wielded_item() + if wielditem:get_name()=="mcl_bows:crossbow_2" and get_arrow(player) or wielditem:get_name()=="mcl_bows:crossbow_2" and minetest.is_creative_enabled(player:get_player_name()) or wielditem:get_name()=="mcl_bows:crossbow_2_enchanted" and get_arrow(player) or wielditem:get_name()=="mcl_bows:crossbow_2_enchanted" and minetest.is_creative_enabled(player:get_player_name()) then + local arrow_stack, arrow_stack_id = get_arrow(player) + local arrow_itemstring + + if minetest.is_creative_enabled(player:get_player_name()) then + if arrow_stack then + arrow_itemstring = arrow_stack:get_name() + else + arrow_itemstring = "mcl_bows:arrow" + end + else + arrow_itemstring = arrow_stack:get_name() + arrow_stack:take_item() + player:get_inventory():set_stack("main", arrow_stack_id, arrow_stack) + end + + wielditem:get_meta():set_string("arrow", arrow_itemstring) + + if wielditem:get_name()=="mcl_bows:crossbow_2" then + wielditem:set_name("mcl_bows:crossbow_loaded") + else + wielditem:set_name("mcl_bows:crossbow_loaded_enchanted") + end + player:set_wielded_item(wielditem) + minetest.sound_play("mcl_bows_crossbow_load", {pos=player:get_pos(), max_hear_distance=16}, true) + else + reset_bow_state(player, true) + end +end) + +controls.register_on_press(function(player, key, time) + if key~="LMB" then return end + wielditem = player:get_wielded_item() + if wielditem:get_name()=="mcl_bows:crossbow_loaded" or wielditem:get_name()=="mcl_bows:crossbow_loaded_enchanted" then + local enchanted = mcl_enchanting.is_enchanted(wielditem:get_name()) + local speed, damage + local p_load = bow_load[player:get_player_name()] + local charge + -- Type sanity check + if type(p_load) == "number" then + charge = minetest.get_us_time() - p_load + else + -- In case something goes wrong ... + -- Just assume minimum charge. + charge = 0 + minetest.log("warning", "[mcl_bows] Player "..player:get_player_name().." fires arrow with non-numeric bow_load!") + end + charge = math.max(math.min(charge, BOW_CHARGE_TIME_FULL), 0) + + local charge_ratio = charge / BOW_CHARGE_TIME_FULL + charge_ratio = math.max(math.min(charge_ratio, 1), 0) + + -- Calculate damage and speed + -- Fully charged + local is_critical = false + speed = BOW_MAX_SPEED + local r = math.random(1,5) + if r == 1 then + -- 20% chance for critical hit + damage = 10 + is_critical = true + else + damage = 9 + end + + local has_shot = player_shoot_arrow(wielditem, player, speed, damage, is_critical) + + if enchanted then + wielditem:set_name("mcl_bows:crossbow_enchanted") + else + wielditem:set_name("mcl_bows:crossbow") + end + + if has_shot and not minetest.is_creative_enabled(player:get_player_name()) then + local durability = BOW_DURABILITY + local unbreaking = mcl_enchanting.get_enchantment(wielditem, "unbreaking") + local multishot = mcl_enchanting.get_enchantment(wielditem, "multishot") + if unbreaking > 0 then + durability = durability * (unbreaking + 1) + end + if multishot then + durability = durability / 3 + end + wielditem:add_wear(65535/durability) + end + player:set_wielded_item(wielditem) + reset_bow_state(player, true) + end +end) + +controls.register_on_hold(function(player, key, time) + local name = player:get_player_name() + local creative = minetest.is_creative_enabled(name) + if key ~= "RMB" then + return + end + --local inv = minetest.get_inventory({type="player", name=name}) + local wielditem = player:get_wielded_item() + local enchantments = mcl_enchanting.get_enchantments(wielditem) + if enchantments.quick_charge then + BOW_CHARGE_TIME_HALF = _BOW_CHARGE_TIME_HALF - (enchantments.quick_charge * 0.13 * 1000000 * .5) + BOW_CHARGE_TIME_FULL = _BOW_CHARGE_TIME_FULL - (enchantments.quick_charge * 0.13 * 1000000) + else + BOW_CHARGE_TIME_HALF = _BOW_CHARGE_TIME_HALF + BOW_CHARGE_TIME_FULL = _BOW_CHARGE_TIME_FULL + end + + if bow_load[name] == nil and (wielditem:get_name()=="mcl_bows:crossbow" or wielditem:get_name()=="mcl_bows:crossbow_enchanted") and wielditem:get_meta():get("active") and (creative or get_arrow(player)) then + local enchanted = mcl_enchanting.is_enchanted(wielditem:get_name()) + if enchanted then + wielditem:set_name("mcl_bows:crossbow_0_enchanted") + play_load_sound(0, player:get_pos()) + else + wielditem:set_name("mcl_bows:crossbow_0") + play_load_sound(0, player:get_pos()) + end + player:set_wielded_item(wielditem) + if minetest.get_modpath("playerphysics") then + -- Slow player down when using bow + playerphysics.add_physics_factor(player, "speed", "mcl_bows:use_crossbow", PLAYER_USE_CROSSBOW_SPEED) + end + bow_load[name] = minetest.get_us_time() + bow_index[name] = player:get_wield_index() + else + if player:get_wield_index() == bow_index[name] then + if type(bow_load[name]) == "number" then + if wielditem:get_name() == "mcl_bows:crossbow_0" and minetest.get_us_time() - bow_load[name] >= BOW_CHARGE_TIME_HALF then + wielditem:set_name("mcl_bows:crossbow_1") + play_load_sound(1, player:get_pos()) + elseif wielditem:get_name() == "mcl_bows:crossbow_0_enchanted" and minetest.get_us_time() - bow_load[name] >= BOW_CHARGE_TIME_HALF then + wielditem:set_name("mcl_bows:crossbow_1_enchanted") + play_load_sound(1, player:get_pos()) + elseif wielditem:get_name() == "mcl_bows:crossbow_1" and minetest.get_us_time() - bow_load[name] >= BOW_CHARGE_TIME_FULL then + wielditem:set_name("mcl_bows:crossbow_2") + play_load_sound(2, player:get_pos()) + elseif wielditem:get_name() == "mcl_bows:crossbow_1_enchanted" and minetest.get_us_time() - bow_load[name] >= BOW_CHARGE_TIME_FULL then + wielditem:set_name("mcl_bows:crossbow_2_enchanted") + play_load_sound(2, player:get_pos()) + end + else + if wielditem:get_name() == "mcl_bows:crossbow_0" or wielditem:get_name() == "mcl_bows:crossbow_1" or wielditem:get_name() == "mcl_bows:crossbow_2" then + wielditem:set_name("mcl_bows:crossbow") + play_load_sound(1, player:get_pos()) + elseif wielditem:get_name() == "mcl_bows:crossbow_0_enchanted" or wielditem:get_name() == "mcl_bows:crossbow_1_enchanted" or wielditem:get_name() == "mcl_bows:crossbow_2_enchanted" then + wielditem:set_name("mcl_bows:crossbow_enchanted") + play_load_sound(1, player:get_pos()) + end + end + player:set_wielded_item(wielditem) + else + reset_bow_state(player, true) + end + end +end) + +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local wielditem = player:get_wielded_item() + local wieldindex = player:get_wield_index() + --local controls = player:get_player_control() + if type(bow_load[name]) == "number" and ((wielditem:get_name()~="mcl_bows:crossbow_0" and wielditem:get_name()~="mcl_bows:crossbow_1" and wielditem:get_name()~="mcl_bows:crossbow_2" and wielditem:get_name()~="mcl_bows:crossbow_0_enchanted" and wielditem:get_name()~="mcl_bows:crossbow_1_enchanted" and wielditem:get_name()~="mcl_bows:crossbow_2_enchanted") or wieldindex ~= bow_index[name]) then + reset_bow_state(player, true) + end + end +end) + +minetest.register_on_joinplayer(function(player) + reset_bows(player) +end) + +minetest.register_on_leaveplayer(function(player) + reset_bow_state(player, true) +end) + +if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_mobitems") then + minetest.register_craft({ + output = "mcl_bows:crossbow", + recipe = { + {"mcl_core:stick", "mcl_core:iron_ingot", "mcl_core:stick"}, + {"mcl_mobitems:string", "mcl_bows:arrow", "mcl_mobitems:string"}, + {"", "mcl_core:stick", ""}, + } + }) +end + +minetest.register_craft({ + type = "fuel", + recipe = "group:bow", + burntime = 15, +}) + +-- Add entry aliases for the Help +if minetest.get_modpath("doc") then + doc.add_entry_alias("tools", "mcl_bows:crossbow", "tools", "mcl_bows:crossbow_0") + doc.add_entry_alias("tools", "mcl_bows:crossbow", "tools", "mcl_bows:crossbow_1") + doc.add_entry_alias("tools", "mcl_bows:crossbow", "tools", "mcl_bows:crossbow_2") +end diff --git a/mods/ITEMS/mcl_bows/init.lua b/mods/ITEMS/mcl_bows/init.lua index a2745d9508..d5b06dac7c 100644 --- a/mods/ITEMS/mcl_bows/init.lua +++ b/mods/ITEMS/mcl_bows/init.lua @@ -1,5 +1,11 @@ +--Bow dofile(minetest.get_modpath("mcl_bows") .. "/arrow.lua") dofile(minetest.get_modpath("mcl_bows") .. "/bow.lua") +dofile(minetest.get_modpath("mcl_bows") .. "/rocket.lua") +--Crossbow +dofile(minetest.get_modpath("mcl_bows") .. "/crossbow.lua") + +--Compatiblility with older MineClone worlds minetest.register_alias("mcl_throwing:bow", "mcl_bows:bow") minetest.register_alias("mcl_throwing:arrow", "mcl_bows:arrow") diff --git a/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.b3d b/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.b3d new file mode 100644 index 0000000000000000000000000000000000000000..0a34f1eaa63c07c7f37e90df2300497fc6c5385f GIT binary patch literal 11758 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.mtl b/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.mtl new file mode 100644 index 0000000000..f231bdf4c1 --- /dev/null +++ b/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.mtl @@ -0,0 +1,10 @@ +# Blender MTL File: 'None' +# Material Count: 1 + +newmtl None +Ns 500 +Ka 0.8 0.8 0.8 +Kd 0.8 0.8 0.8 +Ks 0.8 0.8 0.8 +d 1 +illum 2 diff --git a/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.obj b/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.obj new file mode 100644 index 0000000000..e2bd11d347 --- /dev/null +++ b/mods/ITEMS/mcl_bows/models/mcl_bows_rocket.obj @@ -0,0 +1,1016 @@ +# Blender v3.0.0 Alpha OBJ File: '' +# www.blender.org +mtllib mcl_bows_rocket.mtl +o Plane +v -1.414214 -0.063116 0.000000 +v 0.000000 -0.063116 1.414214 +v -0.000000 -0.063116 -1.414214 +v 1.414214 -0.063116 -0.000000 +v -1.414214 -0.062205 0.000000 +v 0.000000 -0.062205 1.414214 +v -0.000000 -0.062205 -1.414214 +v 1.414214 -0.062205 -0.000000 +v -1.414214 -0.060838 0.000000 +v 0.000000 -0.060838 1.414214 +v -0.000000 -0.060838 -1.414214 +v 1.414214 -0.060838 -0.000000 +v -1.414214 -0.059926 0.000000 +v 0.000000 -0.059926 1.414214 +v -0.000000 -0.059926 -1.414214 +v 1.414214 -0.059926 -0.000000 +v -1.414214 -0.058559 0.000000 +v 0.000000 -0.058559 1.414214 +v -0.000000 -0.058559 -1.414214 +v 1.414214 -0.058559 -0.000000 +v -1.414214 -0.057648 0.000000 +v 0.000000 -0.057648 1.414214 +v -0.000000 -0.057648 -1.414214 +v 1.414214 -0.057648 -0.000000 +v -1.414214 -0.056281 0.000000 +v 0.000000 -0.056281 1.414214 +v -0.000000 -0.056281 -1.414214 +v 1.414214 -0.056281 -0.000000 +v -1.414214 -0.055369 0.000000 +v 0.000000 -0.055369 1.414214 +v -0.000000 -0.055369 -1.414214 +v 1.414214 -0.055369 -0.000000 +v -1.414214 -0.054002 0.000000 +v 0.000000 -0.054002 1.414214 +v -0.000000 -0.054002 -1.414214 +v 1.414214 -0.054002 -0.000000 +v -1.414214 -0.053091 0.000000 +v 0.000000 -0.053091 1.414214 +v -0.000000 -0.053091 -1.414214 +v 1.414214 -0.053091 -0.000000 +v -1.414214 -0.051723 0.000000 +v 0.000000 -0.051723 1.414214 +v -0.000000 -0.051723 -1.414214 +v 1.414214 -0.051723 -0.000000 +v -1.414214 -0.050812 0.000000 +v 0.000000 -0.050812 1.414214 +v -0.000000 -0.050812 -1.414214 +v 1.414214 -0.050812 -0.000000 +v -1.414214 -0.049445 0.000000 +v 0.000000 -0.049445 1.414214 +v -0.000000 -0.049445 -1.414214 +v 1.414214 -0.049445 -0.000000 +v -1.414214 -0.048533 0.000000 +v 0.000000 -0.048533 1.414214 +v -0.000000 -0.048533 -1.414214 +v 1.414214 -0.048533 -0.000000 +v -1.414214 -0.047166 0.000000 +v 0.000000 -0.047166 1.414214 +v -0.000000 -0.047166 -1.414214 +v 1.414214 -0.047166 -0.000000 +v -1.414214 -0.046255 0.000000 +v 0.000000 -0.046255 1.414214 +v -0.000000 -0.046255 -1.414214 +v 1.414214 -0.046255 -0.000000 +v -1.414214 -0.044888 0.000000 +v 0.000000 -0.044888 1.414214 +v -0.000000 -0.044888 -1.414214 +v 1.414214 -0.044888 -0.000000 +v -1.414214 -0.043976 0.000000 +v 0.000000 -0.043976 1.414214 +v -0.000000 -0.043976 -1.414214 +v 1.414214 -0.043976 -0.000000 +v -1.414214 -0.042609 0.000000 +v 0.000000 -0.042609 1.414214 +v -0.000000 -0.042609 -1.414214 +v 1.414214 -0.042609 -0.000000 +v -1.414214 -0.041698 0.000000 +v 0.000000 -0.041698 1.414214 +v -0.000000 -0.041698 -1.414214 +v 1.414214 -0.041698 -0.000000 +v -1.414214 -0.040331 0.000000 +v 0.000000 -0.040331 1.414214 +v -0.000000 -0.040331 -1.414214 +v 1.414214 -0.040331 -0.000000 +v -1.414214 -0.039419 0.000000 +v 0.000000 -0.039419 1.414214 +v -0.000000 -0.039419 -1.414214 +v 1.414214 -0.039419 -0.000000 +v -1.414214 -0.038052 0.000000 +v 0.000000 -0.038052 1.414214 +v -0.000000 -0.038052 -1.414214 +v 1.414214 -0.038052 -0.000000 +v -1.414214 -0.037141 0.000000 +v 0.000000 -0.037141 1.414214 +v -0.000000 -0.037141 -1.414214 +v 1.414214 -0.037141 -0.000000 +v -1.414214 -0.035773 0.000000 +v 0.000000 -0.035773 1.414214 +v -0.000000 -0.035773 -1.414214 +v 1.414214 -0.035773 -0.000000 +v -1.414214 -0.034862 0.000000 +v 0.000000 -0.034862 1.414214 +v -0.000000 -0.034862 -1.414214 +v 1.414214 -0.034862 -0.000000 +v -1.414214 -0.033495 0.000000 +v 0.000000 -0.033495 1.414214 +v -0.000000 -0.033495 -1.414214 +v 1.414214 -0.033495 -0.000000 +v -1.414214 -0.032583 0.000000 +v 0.000000 -0.032583 1.414214 +v -0.000000 -0.032583 -1.414214 +v 1.414214 -0.032583 -0.000000 +v -1.414214 -0.031216 0.000000 +v 0.000000 -0.031216 1.414214 +v -0.000000 -0.031216 -1.414214 +v 1.414214 -0.031216 -0.000000 +v -1.414214 -0.030305 0.000000 +v 0.000000 -0.030305 1.414214 +v -0.000000 -0.030305 -1.414214 +v 1.414214 -0.030305 -0.000000 +v -1.414214 -0.028938 0.000000 +v 0.000000 -0.028938 1.414214 +v -0.000000 -0.028938 -1.414214 +v 1.414214 -0.028938 -0.000000 +v -1.414214 -0.028026 0.000000 +v 0.000000 -0.028026 1.414214 +v -0.000000 -0.028026 -1.414214 +v 1.414214 -0.028026 -0.000000 +v -1.414214 -0.026659 0.000000 +v 0.000000 -0.026659 1.414214 +v -0.000000 -0.026659 -1.414214 +v 1.414214 -0.026659 -0.000000 +v -1.414214 -0.025748 0.000000 +v 0.000000 -0.025748 1.414214 +v -0.000000 -0.025748 -1.414214 +v 1.414214 -0.025748 -0.000000 +v -1.414214 -0.024381 0.000000 +v 0.000000 -0.024381 1.414214 +v -0.000000 -0.024381 -1.414214 +v 1.414214 -0.024381 -0.000000 +v -1.414214 -0.023469 0.000000 +v 0.000000 -0.023469 1.414214 +v -0.000000 -0.023469 -1.414214 +v 1.414214 -0.023469 -0.000000 +v -1.414214 -0.022102 0.000000 +v 0.000000 -0.022102 1.414214 +v -0.000000 -0.022102 -1.414214 +v 1.414214 -0.022102 -0.000000 +v -1.414214 -0.021191 0.000000 +v 0.000000 -0.021191 1.414214 +v -0.000000 -0.021191 -1.414214 +v 1.414214 -0.021191 -0.000000 +v -1.414214 -0.019824 0.000000 +v 0.000000 -0.019824 1.414214 +v -0.000000 -0.019824 -1.414214 +v 1.414214 -0.019824 -0.000000 +v -1.414214 -0.018912 0.000000 +v 0.000000 -0.018912 1.414214 +v -0.000000 -0.018912 -1.414214 +v 1.414214 -0.018912 -0.000000 +v -1.414214 -0.017545 0.000000 +v 0.000000 -0.017545 1.414214 +v -0.000000 -0.017545 -1.414214 +v 1.414214 -0.017545 -0.000000 +v -1.414214 -0.016634 0.000000 +v 0.000000 -0.016634 1.414214 +v -0.000000 -0.016634 -1.414214 +v 1.414214 -0.016634 -0.000000 +v -1.414214 -0.015266 0.000000 +v 0.000000 -0.015266 1.414214 +v -0.000000 -0.015266 -1.414214 +v 1.414214 -0.015266 -0.000000 +v -1.414214 -0.014355 0.000000 +v 0.000000 -0.014355 1.414214 +v -0.000000 -0.014355 -1.414214 +v 1.414214 -0.014355 -0.000000 +v -1.414214 -0.012988 0.000000 +v 0.000000 -0.012988 1.414214 +v -0.000000 -0.012988 -1.414214 +v 1.414214 -0.012988 -0.000000 +v -1.414214 -0.012076 0.000000 +v 0.000000 -0.012076 1.414214 +v -0.000000 -0.012076 -1.414214 +v 1.414214 -0.012076 -0.000000 +v -1.414214 -0.010709 0.000000 +v 0.000000 -0.010709 1.414214 +v -0.000000 -0.010709 -1.414214 +v 1.414214 -0.010709 -0.000000 +v -1.414214 -0.009798 0.000000 +v 0.000000 -0.009798 1.414214 +v -0.000000 -0.009798 -1.414214 +v 1.414214 -0.009798 -0.000000 +v -1.414214 -0.008431 0.000000 +v 0.000000 -0.008431 1.414214 +v -0.000000 -0.008431 -1.414214 +v 1.414214 -0.008431 -0.000000 +v -1.414214 -0.007519 0.000000 +v 0.000000 -0.007519 1.414214 +v -0.000000 -0.007519 -1.414214 +v 1.414214 -0.007519 -0.000000 +v -1.414214 -0.006152 0.000000 +v 0.000000 -0.006152 1.414214 +v -0.000000 -0.006152 -1.414214 +v 1.414214 -0.006152 -0.000000 +v -1.414214 -0.005241 0.000000 +v 0.000000 -0.005241 1.414214 +v -0.000000 -0.005241 -1.414214 +v 1.414214 -0.005241 -0.000000 +v -1.414214 -0.003874 0.000000 +v 0.000000 -0.003874 1.414214 +v -0.000000 -0.003874 -1.414214 +v 1.414214 -0.003874 -0.000000 +v -1.414214 -0.002962 0.000000 +v 0.000000 -0.002962 1.414214 +v -0.000000 -0.002962 -1.414214 +v 1.414214 -0.002962 -0.000000 +v -1.414214 -0.001595 0.000000 +v 0.000000 -0.001595 1.414214 +v -0.000000 -0.001595 -1.414214 +v 1.414214 -0.001595 -0.000000 +v -1.414214 -0.000684 0.000000 +v 0.000000 -0.000684 1.414214 +v -0.000000 -0.000684 -1.414214 +v 1.414214 -0.000684 -0.000000 +v -1.414214 0.000684 0.000000 +v 0.000000 0.000684 1.414214 +v -0.000000 0.000684 -1.414214 +v 1.414214 0.000684 -0.000000 +v -1.414214 0.001595 0.000000 +v 0.000000 0.001595 1.414214 +v -0.000000 0.001595 -1.414214 +v 1.414214 0.001595 -0.000000 +v -1.414214 0.002962 0.000000 +v 0.000000 0.002962 1.414214 +v -0.000000 0.002962 -1.414214 +v 1.414214 0.002962 -0.000000 +v -1.414214 0.003874 0.000000 +v 0.000000 0.003874 1.414214 +v -0.000000 0.003874 -1.414214 +v 1.414214 0.003874 -0.000000 +v -1.414214 0.005241 0.000000 +v 0.000000 0.005241 1.414214 +v -0.000000 0.005241 -1.414214 +v 1.414214 0.005241 -0.000000 +v -1.414214 0.006152 0.000000 +v 0.000000 0.006152 1.414214 +v -0.000000 0.006152 -1.414214 +v 1.414214 0.006152 -0.000000 +v -1.414214 0.007519 0.000000 +v 0.000000 0.007519 1.414214 +v -0.000000 0.007519 -1.414214 +v 1.414214 0.007519 -0.000000 +v -1.414214 0.008431 0.000000 +v 0.000000 0.008431 1.414214 +v -0.000000 0.008431 -1.414214 +v 1.414214 0.008431 -0.000000 +v -1.414214 0.009798 0.000000 +v 0.000000 0.009798 1.414214 +v -0.000000 0.009798 -1.414214 +v 1.414214 0.009798 -0.000000 +v -1.414214 0.010709 0.000000 +v 0.000000 0.010709 1.414214 +v -0.000000 0.010709 -1.414214 +v 1.414214 0.010709 -0.000000 +v -1.414214 0.012076 0.000000 +v 0.000000 0.012076 1.414214 +v -0.000000 0.012076 -1.414214 +v 1.414214 0.012076 -0.000000 +v -1.414214 0.012988 0.000000 +v 0.000000 0.012988 1.414214 +v -0.000000 0.012988 -1.414214 +v 1.414214 0.012988 -0.000000 +v -1.414214 0.014355 0.000000 +v 0.000000 0.014355 1.414214 +v -0.000000 0.014355 -1.414214 +v 1.414214 0.014355 -0.000000 +v -1.414214 0.015266 0.000000 +v 0.000000 0.015266 1.414214 +v -0.000000 0.015266 -1.414214 +v 1.414214 0.015266 -0.000000 +v -1.414214 0.016634 0.000000 +v 0.000000 0.016634 1.414214 +v -0.000000 0.016634 -1.414214 +v 1.414214 0.016634 -0.000000 +v -1.414214 0.017545 0.000000 +v 0.000000 0.017545 1.414214 +v -0.000000 0.017545 -1.414214 +v 1.414214 0.017545 -0.000000 +v -1.414214 0.018912 0.000000 +v 0.000000 0.018912 1.414214 +v -0.000000 0.018912 -1.414214 +v 1.414214 0.018912 -0.000000 +v -1.414214 0.019824 0.000000 +v 0.000000 0.019824 1.414214 +v -0.000000 0.019824 -1.414214 +v 1.414214 0.019824 -0.000000 +v -1.414214 0.021191 0.000000 +v 0.000000 0.021191 1.414214 +v -0.000000 0.021191 -1.414214 +v 1.414214 0.021191 -0.000000 +v -1.414214 0.022102 0.000000 +v 0.000000 0.022102 1.414214 +v -0.000000 0.022102 -1.414214 +v 1.414214 0.022102 -0.000000 +v -1.414214 0.023469 0.000000 +v 0.000000 0.023469 1.414214 +v -0.000000 0.023469 -1.414214 +v 1.414214 0.023469 -0.000000 +v -1.414214 0.024381 0.000000 +v 0.000000 0.024381 1.414214 +v -0.000000 0.024381 -1.414214 +v 1.414214 0.024381 -0.000000 +v -1.414214 0.025748 0.000000 +v 0.000000 0.025748 1.414214 +v -0.000000 0.025748 -1.414214 +v 1.414214 0.025748 -0.000000 +v -1.414214 0.026659 0.000000 +v 0.000000 0.026659 1.414214 +v -0.000000 0.026659 -1.414214 +v 1.414214 0.026659 -0.000000 +v -1.414214 0.028026 0.000000 +v 0.000000 0.028026 1.414214 +v -0.000000 0.028026 -1.414214 +v 1.414214 0.028026 -0.000000 +v -1.414214 0.028938 0.000000 +v 0.000000 0.028938 1.414214 +v -0.000000 0.028938 -1.414214 +v 1.414214 0.028938 -0.000000 +v -1.414214 0.030305 0.000000 +v 0.000000 0.030305 1.414214 +v -0.000000 0.030305 -1.414214 +v 1.414214 0.030305 -0.000000 +v -1.414214 0.031216 0.000000 +v 0.000000 0.031216 1.414214 +v -0.000000 0.031216 -1.414214 +v 1.414214 0.031216 -0.000000 +v -1.414214 0.032584 0.000000 +v 0.000000 0.032584 1.414214 +v -0.000000 0.032584 -1.414214 +v 1.414214 0.032584 -0.000000 +v -1.414214 0.033495 0.000000 +v 0.000000 0.033495 1.414214 +v -0.000000 0.033495 -1.414214 +v 1.414214 0.033495 -0.000000 +v -1.414214 0.034862 0.000000 +v 0.000000 0.034862 1.414214 +v -0.000000 0.034862 -1.414214 +v 1.414214 0.034862 -0.000000 +v -1.414214 0.035774 0.000000 +v 0.000000 0.035774 1.414214 +v -0.000000 0.035774 -1.414214 +v 1.414214 0.035774 -0.000000 +v -1.414214 0.037141 0.000000 +v 0.000000 0.037141 1.414214 +v -0.000000 0.037141 -1.414214 +v 1.414214 0.037141 -0.000000 +v -1.414214 0.038052 0.000000 +v 0.000000 0.038052 1.414214 +v -0.000000 0.038052 -1.414214 +v 1.414214 0.038052 -0.000000 +v -1.414214 0.039419 0.000000 +v 0.000000 0.039419 1.414214 +v -0.000000 0.039419 -1.414214 +v 1.414214 0.039419 -0.000000 +v -1.414214 0.040331 0.000000 +v 0.000000 0.040331 1.414214 +v -0.000000 0.040331 -1.414214 +v 1.414214 0.040331 -0.000000 +v -1.414214 0.041698 0.000000 +v 0.000000 0.041698 1.414214 +v -0.000000 0.041698 -1.414214 +v 1.414214 0.041698 -0.000000 +v -1.414214 0.042609 0.000000 +v 0.000000 0.042609 1.414214 +v -0.000000 0.042609 -1.414214 +v 1.414214 0.042609 -0.000000 +v -1.414214 0.043976 0.000000 +v 0.000000 0.043976 1.414214 +v -0.000000 0.043976 -1.414214 +v 1.414214 0.043976 -0.000000 +v -1.414214 0.044888 0.000000 +v 0.000000 0.044888 1.414214 +v -0.000000 0.044888 -1.414214 +v 1.414214 0.044888 -0.000000 +v -1.414214 0.046255 0.000000 +v 0.000000 0.046255 1.414214 +v -0.000000 0.046255 -1.414214 +v 1.414214 0.046255 -0.000000 +v -1.414214 0.047166 0.000000 +v 0.000000 0.047166 1.414214 +v -0.000000 0.047166 -1.414214 +v 1.414214 0.047166 -0.000000 +v -1.414214 0.048533 0.000000 +v 0.000000 0.048533 1.414214 +v -0.000000 0.048533 -1.414214 +v 1.414214 0.048533 -0.000000 +v -1.414214 0.049445 0.000000 +v 0.000000 0.049445 1.414214 +v -0.000000 0.049445 -1.414214 +v 1.414214 0.049445 -0.000000 +v -1.414214 0.050812 0.000000 +v 0.000000 0.050812 1.414214 +v -0.000000 0.050812 -1.414214 +v 1.414214 0.050812 -0.000000 +v -1.414214 0.051723 0.000000 +v 0.000000 0.051723 1.414214 +v -0.000000 0.051723 -1.414214 +v 1.414214 0.051723 -0.000000 +v -1.414214 0.053091 0.000000 +v 0.000000 0.053091 1.414214 +v -0.000000 0.053091 -1.414214 +v 1.414214 0.053091 -0.000000 +v -1.414214 0.054002 0.000000 +v 0.000000 0.054002 1.414214 +v -0.000000 0.054002 -1.414214 +v 1.414214 0.054002 -0.000000 +v -1.414214 0.055369 0.000000 +v 0.000000 0.055369 1.414214 +v -0.000000 0.055369 -1.414214 +v 1.414214 0.055369 -0.000000 +v -1.414214 0.056281 0.000000 +v 0.000000 0.056281 1.414214 +v -0.000000 0.056281 -1.414214 +v 1.414214 0.056281 -0.000000 +v -1.414214 0.057648 0.000000 +v 0.000000 0.057648 1.414214 +v -0.000000 0.057648 -1.414214 +v 1.414214 0.057648 -0.000000 +v -1.414214 0.058559 0.000000 +v 0.000000 0.058559 1.414214 +v -0.000000 0.058559 -1.414214 +v 1.414214 0.058559 -0.000000 +v -1.414214 0.059926 0.000000 +v 0.000000 0.059926 1.414214 +v -0.000000 0.059926 -1.414214 +v 1.414214 0.059926 -0.000000 +v -1.414214 0.060838 0.000000 +v 0.000000 0.060838 1.414214 +v -0.000000 0.060838 -1.414214 +v 1.414214 0.060838 -0.000000 +v -1.414214 0.062205 0.000000 +v 0.000000 0.062205 1.414214 +v -0.000000 0.062205 -1.414214 +v 1.414214 0.062205 -0.000000 +v -1.414214 0.063116 0.000000 +v 0.000000 0.063116 1.414214 +v -0.000000 0.063116 -1.414214 +v 1.414214 0.063116 -0.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +usemtl None +s off +f 1/1/1 3/2/1 4/3/1 2/4/1 +f 5/5/2 6/6/2 8/7/2 7/8/2 +f 9/9/1 11/10/1 12/11/1 10/12/1 +f 13/13/2 14/14/2 16/15/2 15/16/2 +f 17/17/1 19/18/1 20/19/1 18/20/1 +f 21/21/2 22/22/2 24/23/2 23/24/2 +f 25/25/1 27/26/1 28/27/1 26/28/1 +f 29/29/2 30/30/2 32/31/2 31/32/2 +f 33/33/1 35/34/1 36/35/1 34/36/1 +f 37/37/2 38/38/2 40/39/2 39/40/2 +f 41/41/1 43/42/1 44/43/1 42/44/1 +f 45/45/2 46/46/2 48/47/2 47/48/2 +f 49/49/1 51/50/1 52/51/1 50/52/1 +f 53/53/2 54/54/2 56/55/2 55/56/2 +f 57/57/1 59/58/1 60/59/1 58/60/1 +f 61/61/2 62/62/2 64/63/2 63/64/2 +f 65/65/1 67/66/1 68/67/1 66/68/1 +f 69/69/2 70/70/2 72/71/2 71/72/2 +f 73/73/1 75/74/1 76/75/1 74/76/1 +f 77/77/2 78/78/2 80/79/2 79/80/2 +f 81/81/1 83/82/1 84/83/1 82/84/1 +f 85/85/2 86/86/2 88/87/2 87/88/2 +f 89/89/1 91/90/1 92/91/1 90/92/1 +f 93/93/2 94/94/2 96/95/2 95/96/2 +f 97/97/1 99/98/1 100/99/1 98/100/1 +f 101/101/2 102/102/2 104/103/2 103/104/2 +f 105/105/1 107/106/1 108/107/1 106/108/1 +f 109/109/2 110/110/2 112/111/2 111/112/2 +f 113/113/1 115/114/1 116/115/1 114/116/1 +f 117/117/2 118/118/2 120/119/2 119/120/2 +f 121/121/1 123/122/1 124/123/1 122/124/1 +f 125/125/2 126/126/2 128/127/2 127/128/2 +f 129/129/1 131/130/1 132/131/1 130/132/1 +f 133/133/2 134/134/2 136/135/2 135/136/2 +f 137/137/1 139/138/1 140/139/1 138/140/1 +f 141/141/2 142/142/2 144/143/2 143/144/2 +f 145/145/1 147/146/1 148/147/1 146/148/1 +f 149/149/2 150/150/2 152/151/2 151/152/2 +f 153/153/1 155/154/1 156/155/1 154/156/1 +f 157/157/2 158/158/2 160/159/2 159/160/2 +f 161/161/1 163/162/1 164/163/1 162/164/1 +f 165/165/2 166/166/2 168/167/2 167/168/2 +f 169/169/1 171/170/1 172/171/1 170/172/1 +f 173/173/2 174/174/2 176/175/2 175/176/2 +f 177/177/1 179/178/1 180/179/1 178/180/1 +f 181/181/2 182/182/2 184/183/2 183/184/2 +f 185/185/1 187/186/1 188/187/1 186/188/1 +f 189/189/2 190/190/2 192/191/2 191/192/2 +f 193/193/1 195/194/1 196/195/1 194/196/1 +f 197/197/2 198/198/2 200/199/2 199/200/2 +f 201/201/1 203/202/1 204/203/1 202/204/1 +f 205/205/2 206/206/2 208/207/2 207/208/2 +f 209/209/1 211/210/1 212/211/1 210/212/1 +f 213/213/2 214/214/2 216/215/2 215/216/2 +f 217/217/1 219/218/1 220/219/1 218/220/1 +f 221/221/2 222/222/2 224/223/2 223/224/2 +f 225/225/1 227/226/1 228/227/1 226/228/1 +f 229/229/2 230/230/2 232/231/2 231/232/2 +f 233/233/1 235/234/1 236/235/1 234/236/1 +f 237/237/2 238/238/2 240/239/2 239/240/2 +f 241/241/1 243/242/1 244/243/1 242/244/1 +f 245/245/2 246/246/2 248/247/2 247/248/2 +f 249/249/1 251/250/1 252/251/1 250/252/1 +f 253/253/2 254/254/2 256/255/2 255/256/2 +f 257/257/1 259/258/1 260/259/1 258/260/1 +f 261/261/2 262/262/2 264/263/2 263/264/2 +f 265/265/1 267/266/1 268/267/1 266/268/1 +f 269/269/2 270/270/2 272/271/2 271/272/2 +f 273/273/1 275/274/1 276/275/1 274/276/1 +f 277/277/2 278/278/2 280/279/2 279/280/2 +f 281/281/1 283/282/1 284/283/1 282/284/1 +f 285/285/2 286/286/2 288/287/2 287/288/2 +f 289/289/1 291/290/1 292/291/1 290/292/1 +f 293/293/2 294/294/2 296/295/2 295/296/2 +f 297/297/1 299/298/1 300/299/1 298/300/1 +f 301/301/2 302/302/2 304/303/2 303/304/2 +f 305/305/1 307/306/1 308/307/1 306/308/1 +f 309/309/2 310/310/2 312/311/2 311/312/2 +f 313/313/1 315/314/1 316/315/1 314/316/1 +f 317/317/2 318/318/2 320/319/2 319/320/2 +f 321/321/1 323/322/1 324/323/1 322/324/1 +f 325/325/2 326/326/2 328/327/2 327/328/2 +f 329/329/1 331/330/1 332/331/1 330/332/1 +f 333/333/2 334/334/2 336/335/2 335/336/2 +f 337/337/1 339/338/1 340/339/1 338/340/1 +f 341/341/2 342/342/2 344/343/2 343/344/2 +f 345/345/1 347/346/1 348/347/1 346/348/1 +f 349/349/2 350/350/2 352/351/2 351/352/2 +f 353/353/1 355/354/1 356/355/1 354/356/1 +f 357/357/2 358/358/2 360/359/2 359/360/2 +f 361/361/1 363/362/1 364/363/1 362/364/1 +f 365/365/2 366/366/2 368/367/2 367/368/2 +f 369/369/1 371/370/1 372/371/1 370/372/1 +f 373/373/2 374/374/2 376/375/2 375/376/2 +f 377/377/1 379/378/1 380/379/1 378/380/1 +f 381/381/2 382/382/2 384/383/2 383/384/2 +f 385/385/1 387/386/1 388/387/1 386/388/1 +f 389/389/2 390/390/2 392/391/2 391/392/2 +f 393/393/1 395/394/1 396/395/1 394/396/1 +f 397/397/2 398/398/2 400/399/2 399/400/2 +f 401/401/1 403/402/1 404/403/1 402/404/1 +f 405/405/2 406/406/2 408/407/2 407/408/2 +f 409/409/1 411/410/1 412/411/1 410/412/1 +f 413/413/2 414/414/2 416/415/2 415/416/2 +f 417/417/1 419/418/1 420/419/1 418/420/1 +f 421/421/2 422/422/2 424/423/2 423/424/2 +f 425/425/1 427/426/1 428/427/1 426/428/1 +f 429/429/2 430/430/2 432/431/2 431/432/2 +f 433/433/1 435/434/1 436/435/1 434/436/1 +f 437/437/2 438/438/2 440/439/2 439/440/2 +f 441/441/1 443/442/1 444/443/1 442/444/1 +f 445/445/2 446/446/2 448/447/2 447/448/2 diff --git a/mods/ITEMS/mcl_bows/rocket.lua b/mods/ITEMS/mcl_bows/rocket.lua new file mode 100644 index 0000000000..678aba4d42 --- /dev/null +++ b/mods/ITEMS/mcl_bows/rocket.lua @@ -0,0 +1,706 @@ +local S = minetest.get_translator(minetest.get_current_modname()) + +local math = math +local vector = vector + +-- Time in seconds after which a stuck arrow is deleted +local ARROW_TIMEOUT = 1 +-- Time after which stuck arrow is rechecked for being stuck +local STUCK_RECHECK_TIME = 0.1 + +--local GRAVITY = 9.81 + +local YAW_OFFSET = -math.pi/2 + +local function dir_to_pitch(dir) + --local dir2 = vector.normalize(dir) + local xz = math.abs(dir.x) + math.abs(dir.z) + return -math.atan2(-dir.y, xz) +end + +local function random_arrow_positions(positions, placement) + if positions == "x" then + return math.random(-4, 4) + elseif positions == "y" then + return math.random(0, 10) + end + if placement == "front" and positions == "z" then + return 3 + elseif placement == "back" and positions == "z" then + return -3 + end + return 0 +end + +local function damage_explosion(self, damagemulitplier) + mcl_explosions.explode(self.object:get_pos(), 3, {}) + local objects = minetest.get_objects_inside_radius(self.object:get_pos(), 8) + for _,obj in pairs(objects) do + if obj:is_player() then + mcl_util.deal_damage(obj, damagemulitplier - vector.distance(self.object:get_pos(), obj:get_pos()), {type = "explosion"}) + elseif obj:get_luaentity()._cmi_is_mob then + obj:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=damagemulitplier - vector.distance(self.object:get_pos(), obj:get_pos())}, + }, self.object:get_velocity()) + end + end +end + +local function particle_explosion(self) + local particle_pattern = math.random(1, 3) + local fpitch = 0 + local true_type = "" + local type = math.random(1,2) + local size = math.random(1,3) + local colors = {"red", "yellow", "blue", "green", "white"} + local this_colors = {colors[math.random(#colors)], colors[math.random(#colors)], colors[math.random(#colors)]} + + if size == 1 then + fpitch = math.random(200, 300) + elseif size == 2 then + fpitch = math.random(100, 130) + else + fpitch = math.random(60, 70) + end + + if type == 1 then + true_type = "Popper" + else + true_type = "Floof" + end + + if type == 1 then + minetest.sound_play("mcl_bows_firework", { + pos = self.object:get_pos(), + max_hear_distance = 100, + gain = 3.0, + pitch = fpitch/100 + }, true) + else + minetest.sound_play("mcl_bows_firework_soft", { + pos = self.object:get_pos(), + max_hear_distance = 100, + gain = 4.0, + pitch = fpitch/100 + }, true) + end + + if particle_pattern == 1 then + minetest.add_particlespawner({ + amount = 400 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-7 * size,-7 * size,-7 * size), + maxvel = vector.new(7 * size,7 * size,7 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[1]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 400 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-2 * size,-2 * size,-2 * size), + maxvel = vector.new(2 * size,2 * size,2 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[2]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 100 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-14 * size,-14 * size,-14 * size), + maxvel = vector.new(14 * size,14 * size,14 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[3]..".png", + glow = 14, + }) + elseif particle_pattern == 2 then + + minetest.add_particlespawner({ + amount = 240 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-5 * size,-5 * size,-5 * size), + maxvel = vector.new(5 * size,5 * size,5 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[1]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 500 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-2 * size,-2 * size,-2 * size), + maxvel = vector.new(2 * size,2 * size,2 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[2]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 350 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-3 * size,-3 * size,-3 * size), + maxvel = vector.new(3 * size,3 * size,3 * size), + minexptime = .6 * size / 2, + maxexptime = .9 * size / 2, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[3]..".png", + glow = 14, + }) + elseif particle_pattern == 3 then + + minetest.add_particlespawner({ + amount = 400 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-6 * size,-4 * size,-6 * size), + maxvel = vector.new(6 * size,4 * size,6 * size), + minexptime = .6 * size, + maxexptime = .9 * size, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[1]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 120 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-8 * size,6 * size,-8 * size), + maxvel = vector.new(8 * size,6 * size,8 * size), + minexptime = .6 * size, + maxexptime = .9 * size, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[2]..".png", + glow = 14, + }) + minetest.add_particlespawner({ + amount = 130 * size, + time = 0.0001, + minpos = self.object:get_pos(), + maxpos = self.object:get_pos(), + minvel = vector.new(-3 * size,3 * size,-3 * size), + maxvel = vector.new(3 * size,3 * size,3 * size), + minexptime = .6 * size, + maxexptime = .9 * size, + minsize = 2 * size, + maxsize = 3 * size, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_firework_"..this_colors[3]..".png", + glow = 14, + }) + end + + return size + +end + +local mod_awards = minetest.get_modpath("awards") and minetest.get_modpath("mcl_achievements") +local mod_button = minetest.get_modpath("mesecons_button") + +minetest.register_craftitem("mcl_bows:rocket", { + description = S("Arrow"), + _tt_help = S("Ammunition").."\n"..S("Damage from bow: 1-10").."\n"..S("Damage from dispenser: 3"), + _doc_items_longdesc = S("Arrows are ammunition for bows and dispensers.").."\n".. +S("An arrow fired from a bow has a regular damage of 1-9. At full charge, there's a 20% chance of a critical hit dealing 10 damage instead. An arrow fired from a dispenser always deals 3 damage.").."\n".. +S("Arrows might get stuck on solid blocks and can be retrieved again. They are also capable of pushing wooden buttons."), + _doc_items_usagehelp = S("To use arrows as ammunition for a bow, just put them anywhere in your inventory, they will be used up automatically. To use arrows as ammunition for a dispenser, place them in the dispenser's inventory. To retrieve an arrow that sticks in a block, simply walk close to it."), + inventory_image = "mcl_bows_rocket.png", + groups = { ammo=1, ammo_crossbow=1, ammo_bow_regular=1 }, + _on_dispense = function(itemstack, dispenserpos, droppos, dropnode, dropdir) + -- Shoot arrow + local shootpos = vector.add(dispenserpos, vector.multiply(dropdir, 0.51)) + local yaw = math.atan2(dropdir.z, dropdir.x) + YAW_OFFSET + mcl_bows.shoot_arrow(itemstack:get_name(), shootpos, dropdir, yaw, nil, 19, 3) + end, +}) + + + +local ARROW_ENTITY={ + physical = true, + pointable = false, + visual = "mesh", + mesh = "mcl_bows_rocket.obj", + visual_size = {x=2.5, y=2.5}, + textures = {"mcl_bows_rocket.png"}, + collisionbox = {-0.19, -0.125, -0.19, 0.19, 0.125, 0.19}, + collide_with_objects = false, + _fire_damage_resistant = true, + + _lastpos={}, + _startpos=nil, + _damage=1, -- Damage on impact + _is_critical=false, -- Whether this arrow would deal critical damage + _stuck=false, -- Whether arrow is stuck + _fuse=nil,-- Amount of time (in seconds) the arrow has been stuck so far + _fuserechecktimer=nil,-- An additional timer for periodically re-checking the stuck status of an arrow + _stuckin=nil, --Position of node in which arow is stuck. + _shooter=nil, -- ObjectRef of player or mob who shot it + _is_arrow = true, + + _viscosity=0, -- Viscosity of node the arrow is currently in + _deflection_cooloff=0, -- Cooloff timer after an arrow deflection, to prevent many deflections in quick succession +} + +-- Destroy arrow entity self at pos and drops it as an item +local function spawn_item(self, pos) + if not minetest.is_creative_enabled("") then + local item = minetest.add_item(pos, "mcl_bows:rocket") + item:set_velocity({x=0, y=0, z=0}) + item:set_yaw(self.object:get_yaw()) + end + mcl_burning.extinguish(self.object) + self.object:remove() +end + +local function damage_particles(pos, is_critical) + if is_critical then + minetest.add_particlespawner({ + amount = 15, + time = 0.1, + minpos = {x=pos.x-0.5, y=pos.y-0.5, z=pos.z-0.5}, + maxpos = {x=pos.x+0.5, y=pos.y+0.5, z=pos.z+0.5}, + minvel = {x=-0.1, y=-0.1, z=-0.1}, + maxvel = {x=0.1, y=0.1, z=0.1}, + minacc = {x=0, y=0, z=0}, + maxacc = {x=0, y=0, z=0}, + minexptime = 1, + maxexptime = 2, + minsize = 1.5, + maxsize = 1.5, + collisiondetection = false, + vertical = false, + texture = "mcl_particles_crit.png^[colorize:#bc7a57:127", + }) + end +end + +function ARROW_ENTITY.on_step(self, dtime) + mcl_burning.tick(self.object, dtime, self) + + self._time_in_air = self._time_in_air + .001 + + + local pos = self.object:get_pos() + local dpos = table.copy(pos) -- digital pos + dpos = vector.round(dpos) + local node = minetest.get_node(dpos) + + if not self._fuse then + self._fuse = 0 + end + if not self._fuserechecktimer then + self._fuserechecktimer = 0 + end + + self._fuse = self._fuse + dtime + self._fuserechecktimer = self._fuserechecktimer + dtime + + if self._fuse > ARROW_TIMEOUT then + self._stuck = true + end + if self._stuck then + if self._fuse > ARROW_TIMEOUT then + local eploded_particle = particle_explosion(self) + damage_explosion(self, eploded_particle * 17) + mcl_burning.extinguish(self.object) + self.object:remove() + return + end + -- Drop arrow as item when it is no longer stuck + -- FIXME: Arrows are a bit slow to react and continue to float in mid air for a few seconds. + if self._fuserechecktimer > STUCK_RECHECK_TIME then + local stuckin_def + if self._stuckin then + stuckin_def = minetest.registered_nodes[minetest.get_node(self._stuckin).name] + end + -- TODO: In MC, arrow just falls down without turning into an item + if stuckin_def and stuckin_def.walkable == false then + spawn_item(self, pos) + return + end + self._fuserechecktimer = 0 + end + -- Pickup arrow if player is nearby (not in Creative Mode) + local objects = minetest.get_objects_inside_radius(pos, 1) + for _,obj in ipairs(objects) do + if obj:is_player() then + if self._collectable and not minetest.is_creative_enabled(obj:get_player_name()) then + if obj:get_inventory():room_for_item("main", "mcl_bows:rocket") then + obj:get_inventory():add_item("main", "mcl_bows:rocket") + minetest.sound_play("item_drop_pickup", { + pos = pos, + max_hear_distance = 16, + gain = 1.0, + }, true) + end + end + mcl_burning.extinguish(self.object) + self.object:remove() + return + end + end + + -- Check for object "collision". Done every tick (hopefully this is not too stressing) + else + + if self._in_player == false then + minetest.add_particlespawner({ + amount = 1, + time = .0001, + minpos = pos, + maxpos = pos, + minvel = vector.new(-0.1,-0.1,-0.1), + maxvel = vector.new(0.1,0.1,0.1), + minexptime = 0.5, + maxexptime = 0.5, + minsize = 2, + maxsize = 2, + collisiondetection = false, + vertical = false, + texture = "mcl_bows_rocket_particle.png", + glow = 1, + }) + end + -- We just check for any hurtable objects nearby. + -- The radius of 3 is fairly liberal, but anything lower than than will cause + -- arrow to hilariously go through mobs often. + -- TODO: Implement an ACTUAL collision detection (engine support needed). + local objs = minetest.get_objects_inside_radius(pos, 1.5) + local closest_object + local closest_distance + + if self._deflection_cooloff > 0 then + self._deflection_cooloff = self._deflection_cooloff - dtime + end + + -- Iterate through all objects and remember the closest attackable object + for k, obj in pairs(objs) do + local ok = false + -- Arrows can only damage players and mobs + if obj:is_player() then + ok = true + elseif obj:get_luaentity() then + if (obj:get_luaentity()._cmi_is_mob or obj:get_luaentity()._hittable_by_projectile) then + ok = true + end + end + + if ok then + local dist = vector.distance(pos, obj:get_pos()) + if not closest_object or not closest_distance then + closest_object = obj + closest_distance = dist + elseif dist < closest_distance then + closest_object = obj + closest_distance = dist + end + end + end + + -- If an attackable object was found, we will damage the closest one only + + if closest_object then + local obj = closest_object + local is_player = obj:is_player() + local lua = obj:get_luaentity() + if obj == self._shooter and self._time_in_air > 1.02 or obj ~= self._shooter and (is_player or (lua and (lua._cmi_is_mob or lua._hittable_by_projectile))) then + if obj:get_hp() > 0 then + -- Check if there is no solid node between arrow and object + local ray = minetest.raycast(self.object:get_pos(), obj:get_pos(), true) + for pointed_thing in ray do + if pointed_thing.type == "object" and pointed_thing.ref == closest_object then + -- Target reached! We can proceed now. + break + elseif pointed_thing.type == "node" then + local nn = minetest.get_node(minetest.get_pointed_thing_position(pointed_thing)).name + local def = minetest.registered_nodes[nn] + if (not def) or def.walkable then + -- There's a node in the way. Delete arrow without damage + mcl_burning.extinguish(self.object) + self.object:remove() + return + end + end + end + + -- Punch target object but avoid hurting enderman. + if not lua or lua.name ~= "mobs_mc:enderman" then + if self._in_player == false then + damage_particles(self.object:get_pos(), self._is_critical) + end + if mcl_burning.is_burning(self.object) then + mcl_burning.set_on_fire(obj, 5) + end + if self._in_player == false then + obj:punch(self.object, 1.0, { + full_punch_interval=1.0, + damage_groups={fleshy=self._damage}, + }, self.object:get_velocity()) + if obj:is_player() then + local eploded_particle = particle_explosion(self) + damage_explosion(self, eploded_particle * 17) + mcl_burning.extinguish(self.object) + self.object:remove() + end + end + end + + + if is_player then + if self._shooter and self._shooter:is_player() and self._in_player == false then + -- “Ding” sound for hitting another player + minetest.sound_play({name="mcl_bows_hit_player", gain=0.1}, {to_player=self._shooter:get_player_name()}, true) + end + end + + if lua then + local entity_name = lua.name + -- Achievement for hitting skeleton, wither skeleton or stray (TODO) with an arrow at least 50 meters away + -- NOTE: Range has been reduced because mobs unload much earlier than that ... >_> + -- TODO: This achievement should be given for the kill, not just a hit + if self._shooter and self._shooter:is_player() and vector.distance(pos, self._startpos) >= 20 then + if mod_awards and (entity_name == "mobs_mc:skeleton" or entity_name == "mobs_mc:stray" or entity_name == "mobs_mc:witherskeleton") then + awards.unlock(self._shooter:get_player_name(), "mcl:snipeSkeleton") + end + end + end + if self._in_player == false then + minetest.sound_play({name="mcl_bows_hit_other", gain=0.3}, {pos=self.object:get_pos(), max_hear_distance=16}, true) + end + end + if not obj:is_player() then + mcl_burning.extinguish(self.object) + if self._piercing == 0 then + local eploded_particle = particle_explosion(self) + damage_explosion(self, eploded_particle * 17) + self.object:remove() + end + end + return + end + end + end + + -- Check for node collision + if self._lastpos.x~=nil and not self._stuck then + local def = minetest.registered_nodes[node.name] + local vel = self.object:get_velocity() + -- Arrow has stopped in one axis, so it probably hit something. + -- This detection is a bit clunky, but sadly, MT does not offer a direct collision detection for us. :-( + if (math.abs(vel.x) < 0.0001) or (math.abs(vel.z) < 0.0001) or (math.abs(vel.y) < 0.00001) then + -- Check for the node to which the arrow is pointing + local dir + if math.abs(vel.y) < 0.00001 then + if self._lastpos.y < pos.y then + dir = {x=0, y=1, z=0} + else + dir = {x=0, y=-1, z=0} + end + else + dir = minetest.facedir_to_dir(minetest.dir_to_facedir(minetest.yaw_to_dir(self.object:get_yaw()-YAW_OFFSET))) + end + self._stuckin = vector.add(dpos, dir) + local snode = minetest.get_node(self._stuckin) + local sdef = minetest.registered_nodes[snode.name] + + -- If node is non-walkable, unknown or ignore, don't make arrow stuck. + -- This causes a deflection in the engine. + if not sdef or sdef.walkable == false or snode.name == "ignore" then + self._stuckin = nil + if self._deflection_cooloff <= 0 then + -- Lose 1/3 of velocity on deflection + local newvel = vector.multiply(vel, 0.6667) + + self.object:set_velocity(newvel) + -- Reset deflection cooloff timer to prevent many deflections happening in quick succession + self._deflection_cooloff = 1.0 + end + else + + -- Node was walkable, make arrow stuck + self._stuck = true + self._fuserechecktimer = 0 + + self.object:set_velocity({x=0, y=0, z=0}) + self.object:set_acceleration({x=0, y=0, z=0}) + + minetest.sound_play({name="mcl_bows_hit_other", gain=0.3}, {pos=self.object:get_pos(), max_hear_distance=16}, true) + + if mcl_burning.is_burning(self.object) and snode.name == "mcl_tnt:tnt" then + tnt.ignite(self._stuckin) + end + + -- Push the button! Push, push, push the button! + if mod_button and minetest.get_item_group(node.name, "button") > 0 and minetest.get_item_group(node.name, "button_push_by_arrow") == 1 then + local bdir = minetest.wallmounted_to_dir(node.param2) + -- Check the button orientation + if vector.equals(vector.add(dpos, bdir), self._stuckin) then + mesecon.push_button(dpos, node) + end + end + end + elseif (def and def.liquidtype ~= "none") then + -- Slow down arrow in liquids + local v = def.liquid_viscosity + if not v then + v = 0 + end + --local old_v = self._viscosity + self._viscosity = v + local vpenalty = math.max(0.1, 0.98 - 0.1 * v) + if math.abs(vel.x) > 0.001 then + vel.x = vel.x * vpenalty + end + if math.abs(vel.z) > 0.001 then + vel.z = vel.z * vpenalty + end + self.object:set_velocity(vel) + end + end + + -- Update yaw + if not self._stuck then + local vel = self.object:get_velocity() + local yaw = minetest.dir_to_yaw(vel)+YAW_OFFSET + local pitch = dir_to_pitch(vel) + self.object:set_rotation({ x = 0, y = yaw, z = pitch }) + end + + -- Update internal variable + self._lastpos={x=pos.x, y=pos.y, z=pos.z} +end + +-- Force recheck of stuck arrows when punched. +-- Otherwise, punching has no effect. +function ARROW_ENTITY.on_punch(self) + if self._stuck then + self._fuserechecktimer = STUCK_RECHECK_TIME + end +end + +function ARROW_ENTITY.get_staticdata(self) + local out = { + lastpos = self._lastpos, + startpos = self._startpos, + damage = self._damage, + is_critical = self._is_critical, + stuck = self._stuck, + stuckin = self._stuckin, + } + if self._stuck then + -- If _fuse is missing for some reason, assume the maximum + if not self._fuse then + self._fuse = ARROW_TIMEOUT + end + out.stuckstarttime = minetest.get_gametime() - self._fuse + end + if self._shooter and self._shooter:is_player() then + out.shootername = self._shooter:get_player_name() + end + return minetest.serialize(out) +end + +function ARROW_ENTITY.on_activate(self, staticdata, dtime_s) + self._time_in_air = 1.0 + self._in_player = false + local data = minetest.deserialize(staticdata) + if data then + self._stuck = data.stuck + if data.stuck then + if data.stuckstarttime then + -- First, check if the stuck arrow is aleady past its life timer. + -- If yes, delete it. + self._fuse = minetest.get_gametime() - data.stuckstarttime + if self._fuse > ARROW_TIMEOUT then + mcl_burning.extinguish(self.object) + self.object:remove() + return + end + end + + self._fuse = 2 + -- Perform a stuck recheck on the next step. + self._fuserechecktimer = STUCK_RECHECK_TIME + + self._stuckin = data.stuckin + end + + -- Get the remaining arrow state + self._lastpos = data.lastpos + self._startpos = data.startpos + self._damage = data.damage + self._is_critical = data.is_critical + if data.shootername then + local shooter = minetest.get_player_by_name(data.shootername) + if shooter and shooter:is_player() then + self._shooter = shooter + end + end + end + self.object:set_armor_groups({ immortal = 1 }) +end + +minetest.register_entity("mcl_bows:rocket_entity", ARROW_ENTITY) + +if minetest.get_modpath("mcl_core") and minetest.get_modpath("mcl_mobitems") then + minetest.register_craft({ + output = "mcl_bows:rocket 1", + recipe = { + {"mcl_core:paper"}, + {"mcl_fireworks:rocket_2"}, + {"mcl_bows:arrow"}, + } + }) +end + +if minetest.get_modpath("doc_identifier") then + doc.sub.identifier.register_object("mcl_bows:rocket_entity", "craftitems", "mcl_bows:rocket") +end diff --git a/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_drawback_0.ogg b/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_drawback_0.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f4f81b30749b453245ee3b3280244ceecb167fe0 GIT binary patch literal 13529 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

f;m2@iI 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�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 Qoyb|&u<}Xhfw1ns0I+TuF#rGn literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_load.ogg b/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_load.ogg new file mode 100644 index 0000000000000000000000000000000000000000..02d2fd1afcbb49c4eb423909287e3c80378435a0 GIT binary patch literal 7627 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_shoot.ogg b/mods/ITEMS/mcl_bows/sounds/mcl_bows_crossbow_shoot.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a7d7b69d12fdd3ff614c0c612faa7a2d03f40459 GIT binary patch literal 9767 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 h@mz2nxK18jA1T) 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 Z2QkYyuAV!?7LKUJE;D1-4Oakw2LP@;_w)b& literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/sounds/mcl_bows_firework_soft.ogg b/mods/ITEMS/mcl_bows/sounds/mcl_bows_firework_soft.ogg new file mode 100644 index 0000000000000000000000000000000000000000..8b2e7bc5bdf0d5d25ae4a1c89c881e0ff4900369 GIT binary patch literal 55786 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 c-je@FEoVy(XtS8|T4%!zRSg4e&Hs=55ATUp8vp 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3769f2967b880e0b3eaa1162b8db067891f48b19 GIT binary patch literal 2383 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 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_crossbow_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8f1b03fcfaf94a5ef572da591dc05a5c80080f GIT binary patch literal 2794 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 QCIA2c07*qoM6N<$f>%QorT_o{ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_green.png new file mode 100644 index 0000000000000000000000000000000000000000..acd74d6d1c59b86acfa3c74c9861a414b28f061c GIT binary patch literal 627 zcmV-(0*w8MP)EX>4Tx04R}tkv&MmKpe$iTSX}?4pxxj5U@H~5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|=H{g6A|?JWDYS_3;J6>}?mh0_0scmXsb<$WplX(p zP9}tGZdK@cMG#>OU>H$}nfjb4rrU7TlmpZjx!mAuISpFljzbi*RvAfDc| zbk6(45mu5E;&b9LgDyz?$aUG}H_kbWYY7*5n`d(!Ey()lA#h$5yuo&qkMnX zWrgz=XSGset$XqphVt6VGS_JiA&EsSL4*JqHIz|-g*dGmDJIgipYZTU9luB}nOtQs zax9<<6_Voz|AXJ%nuW;;Hz||=x?gPjV+82g1)6o+{yw(t<_QpZ2ClTWzuEw1K1r{) zwb&8Rw+&oew>5bWxZD8-pLEHP94SE4Unl_YXY@@up#K&KuDQLn_Hp_EWT>mu4RCM> zj20<--Q(T8oxS~grq$mMb0c!6Z+X|p00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-^y4HYOI7BNEw0001jNklYzcxul;3SeR&5wJig1tv8yW=TBiUj2Rk;NLBT z1~FzyOHM~2W>KuF-~D}k{QG_s4GatnLd>G_?8+>RtZ1tL{Qu4H6T?YR4kIfwBQupf zJsdQ!pobs^Koev^jveIiMvFLf4X^$_KmL6`{-lAT;laOKkeH{wrvVGvFD=Wy1!MpK N002ovPDHLkV1m_i4Y~jT literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_firework_red.png new file mode 100644 index 0000000000000000000000000000000000000000..4d7355c57a57e45bcf3060f4831604a1bc07d10a GIT binary patch literal 622 zcmV-!0+IcRP)EX>4Tx04R}tkv&MmKpe$iTSX}?4pxxj5U@H~5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|=H{g6A|?JWDYS_3;J6>}?mh0_0scmXsb<$WplX(p zP9}tGZdK@cMG#>OU>H$}nfjb4rrU7TlmpZjx!mAuISpFljzbi*RvAfDc| zbk6(45mu5E;&b9LgDyz?$aUG}H_kbWYY7*5n`d(!Ey()lA#h$5yuo&qkMnX zWrgz=XSGset$XqphVt6VGS_JiA&EsSL4*JqHIz|-g*dGmDJIgipYZTU9luB}nOtQs zax9<<6_Voz|AXJ%nuW;;Hz||=x?gPjV+82g1)6o+{yw(t<_QpZ2ClTWzuEw1K1r{) zwb&8Rw+&oew>5bWxZD8-pLEHP94SE4Unl_YXY@@up#K&KuDQLn_Hp_EWT>mu4RCM> zj20<--Q(T8oxS~grq$mMb0c!6Z+X|p00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-^y4HYO23x-o+0001eNklYjYH!a#3SeR&5wJk@si`qbO5#!X_xbaGw{9Uc zFiT2uIyy3oiegv&`t|qy`%yG7FfcHSin1#!GqSRxss8`__fJeGK>#BwD zaB^>EX>4U6ba`-PAZ2)IW&i+q+TB-Mmg6W4{nsjH2}nXbmV?2Z(>v(p&&4*bI92IN zI`uJULfMjKA;i5PT(tiF)#)Gn#IcaKm_iQ0;pel@QlKQa|MGTc=ePUu;HGl1)A<5n zokHsV7|Y>bV7HGBa|~Xtc1p(^Nk^a=`3R_EWP#FdlZ0J%JNqM0UUwzr6mL^qWS8}D z+)_C%ja%q5$atn(gO5O|8N5_vRaUp%)1HBji?s~CnMleQ~hmHR9@|8xt*8vf` zbYg|PWUO4IF_;^7c!3b^2XD3kJljFPyIDV2s$kGIm=h*g+_HyQj6c?vZagde407KU zOtBpS01?JEB*O{@Twpa0?4n3y295~?6=W{h8w(g=xfG#-feK<3_!n3fS#En$gETJlmVmQVH7YN)ZMnrms& zw4qG2&|*t1x3V&=s1&PTZ4GN&)0)@PvDUhF->rupd+NEDleL4@PwfTP_+U*oriNcU zS%Z~goFRCW6C0d?G4Tw><6r;_S_Wq>vG+2V8=Sc;*c2v6(gruwcrXSE{mNpUPwqaL zdx|%*^b~LM9dk6O`w8X<)P3gd3)b2==jz7Tz6%GYPOqvPyOB}Pn z$B~>6F+B%GK6;v;QF)z7t(%D+bEAGvpruLIIwLPfWS)}l4R=x|8UD;5&Veqd(6g}Q z&#+u1eGiL1g5`n+y#dQb(i^Z`B)tL4MbaCvTqL~#%SF-~uv}1~H(0dQdoLY*vb#nj!0flKpLr_UWLm+T+Z)Rz1WdHzpoPCi!NW(xJ#a~mUQd%7> z_<=))>SRGw#8InIgbJlrXw|{w(hs3YLz3d+D7Y3J{8+3yxH#+T;3^1$A0TdSPKqv4 z;{TFDix>}%`|XH%&pJjd5P ze0;r&@htCie~z${HyPj)iD#H@Sj6kZQ=68~d7n7KN|Hi+PCRPR1&JTIF1!53x#+OK zGb2VOJx3fN7K?2xw=pXjD)A(7R8cj`7qTuZoVPfu%gm2FkDyqg5ltM4I;F9{xecpCXq`t_?79%%cJolH&*egWuhng^6)DDHI1fUu^qh z7zpeFjhbzLAKP~01n@rtS6a(osRPrWq}N(n^a$wL1}?5!n!E>G?g0Hyx@1U>MD5y92^28Mao|Dcz0KOZ~vZY_V)upL2{ECAdxKq z000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2jvP57Y-u@zorTR004DKL_t(2&)t$e z4uBvGgZ%TyO0aUeK b{`;X<* zaB^>EX>4U6ba`-PAZ2)IW&i+q+Ray4lI$o9{MRYw2uL6h$H6QSbAvhlB;Z=Qt9q&K z_wkCbk!2x?OaU(H|NT4YAN+(xC}^^nV|4h19I_M$=JqeIJG-#%=YzWlZ}fD1Ay9er zem|yi+85~cHsBJ2kGFcV^NrZ)=;HZw=x1bs(C(9jUbddY=_vOt#BAw4)kAh)Ps5eU zdHJ+lU!BZnx>tk*l$yfIi*(Q4t-I|E{JhwgsbBX1JN9wOp3nt-o5|;>0vtOHAb^B`kq}05s1dK zq8we&nPXsh0CK;EMYM!VA*aa%U2qWQ71&~ z?1~lgl3BS(V=_1IumT}GPTq6@d}$~B?yi1Ns$ftT%!UaTcWf7j@~yV~;@QJa(eG8k zl-lV45FxfA8TMenMfS>(T@p#mz|lZZLFR(Baex6Fw{^{uR&F#CNrp{ya^?~q0Rz^jOLGWZ{9&kVE$^Fv7 zU*zaWK^dPQD3=_?Xlgq)fZrxY7om(Dz~`u8s^qZH?4xnbZ<`iE!>Y+A*M zv&`K~Ju<>N+uohjnzvZ799*rphwxQuv~z1`qRnS_v^`1XY<=mA1zx)O;qpOGr{Lp? zkQt}&lDcA>b!ExJSwFnrNel@+KhAE0?XdQ@m0HJA-@Zl)9m{=>@6`)$eSDS|Jxx?} zN#^P}39KztIUy5Y>H~iCHMjTpwUZZ|=cY@{=2ld~PPxN>+~<`i_E5j)-?1}3z(=3p z_Y!>c34SlZN1x#L5`6RtelNjCpWycreDt&Od+h0F<@X35{jB^R;i8|F-y?kV?edec zLTL*T|6`WE@GTAcg5Nz;eB~?eY2xpbdxjsqQh)LG@USz}i(B)DJ2QQAYkqf%Jsx88 zyVLA;h|#xBv2XPBC(ix9$kD(DSVmR<4>_^-vPu8QtpET4g=s@WP)S2WAaHVTW@&6? z004NLeUUv#!$2IxUsI)0S{*F-fkTGsWIiY`*(|B^zB7!Qv7@$TN^?j0c1%S<&p#sF2bjC3L{W^*fI z;1xl1qYq&WNX*n{Q>i38$Jaf4e7%eDEbnuFjF%XP9nS#OuUUo0iUbpE$xw zl0tk=JZjJdi66NxyZpwv=&-;uBSt1YM;sv*i)}2oF)JA=@g#9nQ8mgJvMwu}w>Yci zDr?@8zc7^7mY29ra|j76U=b;ZkWs}3%CHclRU^ejn)c%!{z1o|B9~0A4KQ-dqXHF@ z;|KqP-`$#piE%e66bCwAZ2Myv2@ApqkCqV!s6DuPlGk$N9?CIg4fdwrD zF-`dY?>BZ0e}BIIi8GpCqigv4^ZEBT`|&3Y6b=8r-GanC^*s#$Sz#~>;{u0_00000 LNkvXXu0mjfC5$>B literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png b/mods/ITEMS/mcl_bows/textures/mcl_bows_rocket.png new file mode 100644 index 0000000000000000000000000000000000000000..800185ce08db4e4327442dcee0a0393223ad1bc5 GIT binary patch literal 2133 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 FV1hj1Dy9Gc literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_enchanting/enchantments.lua b/mods/ITEMS/mcl_enchanting/enchantments.lua index ecc9fe1135..17b6b6ac69 100644 --- a/mods/ITEMS/mcl_enchanting/enchantments.lua +++ b/mods/ITEMS/mcl_enchanting/enchantments.lua @@ -379,8 +379,8 @@ mcl_enchanting.enchantments.mending = { inv_tool_tab = true, } --- requires missing MineClone2 feature ---[[mcl_enchanting.enchantments.multishot = { + +mcl_enchanting.enchantments.multishot = { name = S("Multishot"), max_level = 1, primary = {crossbow = true}, @@ -396,10 +396,10 @@ mcl_enchanting.enchantments.mending = { power_range_table = {{20, 50}}, inv_combat_tab = true, inv_tool_tab = false, -}]]-- +} -- requires missing MineClone2 feature ---[[mcl_enchanting.enchantments.piercing = { +mcl_enchanting.enchantments.piercing = { name = S("Piercing"), max_level = 4, primary = {crossbow = true}, @@ -415,7 +415,7 @@ mcl_enchanting.enchantments.mending = { power_range_table = {{1, 50}, {11, 50}, {21, 50}, {31, 50}}, inv_combat_tab = true, inv_tool_tab = false, -}]]-- +} -- implemented in mcl_bows mcl_enchanting.enchantments.power = { @@ -456,7 +456,7 @@ mcl_enchanting.enchantments.punch = { } -- requires missing MineClone2 feature ---[[mcl_enchanting.enchantments.quick_charge = { +mcl_enchanting.enchantments.quick_charge = { name = S("Quick Charge"), max_level = 3, primary = {crossbow = true}, @@ -472,7 +472,7 @@ mcl_enchanting.enchantments.punch = { power_range_table = {{12, 50}, {32, 50}, {52, 50}}, inv_combat_tab = true, inv_tool_tab = false, -}]]-- +} -- unimplemented --[[mcl_enchanting.enchantments.respiration = { diff --git a/mods/ITEMS/mcl_mobspawners/init.lua b/mods/ITEMS/mcl_mobspawners/init.lua index 6c5d7f6e43..b756d4a6d2 100644 --- a/mods/ITEMS/mcl_mobspawners/init.lua +++ b/mods/ITEMS/mcl_mobspawners/init.lua @@ -230,7 +230,7 @@ local function spawn_mobs(pos, elapsed) -- spawn up to 4 mobs in random air blocks if air then - local max = 4 + local max = 200 if spawn_count_overrides[mob] then max = spawn_count_overrides[mob] end @@ -387,4 +387,3 @@ minetest.register_lbm({ respawn_doll(pos) end, }) - diff --git a/mods/ITEMS/mcl_potions/tipped_arrow.lua b/mods/ITEMS/mcl_potions/tipped_arrow.lua index ab55cb72ad..1717533a8f 100644 --- a/mods/ITEMS/mcl_potions/tipped_arrow.lua +++ b/mods/ITEMS/mcl_potions/tipped_arrow.lua @@ -463,4 +463,4 @@ function mcl_potions.register_arrow(name, desc, color, def) if minetest.get_modpath("doc_identifier") then doc.sub.identifier.register_object("mcl_bows:arrow_entity", "craftitems", "mcl_bows:arrow") end -end \ No newline at end of file +end diff --git a/mods/PLAYER/mcl_player/init.lua b/mods/PLAYER/mcl_player/init.lua index a3c7697410..2a4c25c349 100644 --- a/mods/PLAYER/mcl_player/init.lua +++ b/mods/PLAYER/mcl_player/init.lua @@ -9,7 +9,7 @@ local animation_blend = 0 local function get_mouse_button(player) local controls = player:get_player_control() local get_wielded_item_name = player:get_wielded_item():get_name() - if controls.RMB and not string.find(get_wielded_item_name, "mcl_bows:bow") or controls.LMB then + if controls.RMB and not string.find(get_wielded_item_name, "mcl_bows:bow") and not string.find(get_wielded_item_name, "mcl_bows:crossbow") or controls.LMB then return true else return false @@ -212,9 +212,9 @@ minetest.register_globalstep(function(dtime) player_set_animation(player, "swim_walk_mine", animation_speed_mod) elseif not controls.sneak and head_in_water and is_sprinting == true then player_set_animation(player, "swim_walk", animation_speed_mod) - elseif string.find(player:get_wielded_item():get_name(), "mcl_bows:bow") and controls.RMB and controls.sneak then + elseif string.find(player:get_wielded_item():get_name(), "mcl_bows:bow") and controls.RMB and controls.sneak or string.find(player:get_wielded_item():get_name(), "mcl_bows:crossbow_") and controls.sneak then player_set_animation(player, "bow_sneak", animation_speed_mod) - elseif string.find(player:get_wielded_item():get_name(), "mcl_bows:bow") and controls.RMB then + elseif string.find(player:get_wielded_item():get_name(), "mcl_bows:bow") and controls.RMB or string.find(player:get_wielded_item():get_name(), "mcl_bows:crossbow_") then player_set_animation(player, "bow_walk", animation_speed_mod) elseif is_sprinting == true and get_mouse_button(player) == true and not controls.sneak and not head_in_water then player_set_animation(player, "run_walk_mine", animation_speed_mod) diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index 1f881d2b6d..f86d5e26a8 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -127,6 +127,7 @@ minetest.register_globalstep(function(dtime) for _,player in pairs(get_connected_players()) do --[[ + _ _ _ __ _ _ __ (_)_ __ ___ __ _| |_(_) ___ _ __ ___ / _` | '_ \| | '_ ` _ \ / _` | __| |/ _ \| '_ \/ __| @@ -220,6 +221,10 @@ minetest.register_globalstep(function(dtime) player:set_bone_position("Wield_Item", vector.new(0,3.9,1.3), vector.new(90,0,0)) elseif string.find(wielded:get_name(), "mcl_bows:bow") then player:set_bone_position("Wield_Item", vector.new(.5,4.5,-1.6), vector.new(90,0,20)) + elseif string.find(wielded:get_name(), "mcl_bows:crossbow_loaded") then + player:set_bone_position("Wield_Item", vector.new(-1.5,5.7,1.8), vector.new(64,90,0)) + elseif string.find(wielded:get_name(), "mcl_bows:crossbow") then + player:set_bone_position("Wield_Item", vector.new(-1.5,5.7,1.8), vector.new(90,90,0)) else player:set_bone_position("Wield_Item", vector.new(-1.5,4.9,1.8), vector.new(135,0,90)) end @@ -231,6 +236,14 @@ minetest.register_globalstep(function(dtime) if string.find(wielded:get_name(), "mcl_bows:bow") and control.RMB then player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(pitch+90,-30,pitch * -1 * .35)) player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3.5,5.785,0), vector.new(pitch+90,43,pitch * .35)) + -- controls right and left arms pitch when holing a loaded crossbow + elseif string.find(wielded:get_name(), "mcl_bows:crossbow_loaded") then + player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(pitch+90,-30,pitch * -1 * .35)) + player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3.5,5.785,0), vector.new(pitch+90,43,pitch * .35)) + -- controls right and left arms pitch when loading a crossbow + elseif string.find(wielded:get_name(), "mcl_bows:crossbow_") then + player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(45,-20,25)) + player:set_bone_position("Arm_Left_Pitch_Control", vector.new(3,5.785,0), vector.new(55,20,-45)) -- when punching elseif control.LMB and not parent then player:set_bone_position("Arm_Right_Pitch_Control", vector.new(-3,5.785,0), vector.new(pitch,0,0))