diff --git a/mods/rangedweapons/beretta.lua b/mods/rangedweapons/beretta.lua new file mode 100644 index 00000000..a0d1f87b --- /dev/null +++ b/mods/rangedweapons/beretta.lua @@ -0,0 +1,58 @@ + + +minetest.register_tool("rangedweapons:beretta_rld", { + stack_max= 1, + wield_scale = {x=1.1,y=1.1,z=1.05}, + description = "", + range = 0, + loaded_gun = "rangedweapons:beretta", + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_beretta_rld.png", +}) +minetest.register_tool("rangedweapons:beretta_r", { + stack_max= 1, + wield_scale = {x=1.1,y=1.1,z=1.05}, + description = "", + rw_next_reload = "rangedweapons:beretta", + load_sound = "rangedweapons_handgun_mag_in", + range = 0, + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_beretta_rld.png", +}) + +minetest.register_tool("rangedweapons:beretta", { + description = "" ..core.colorize("#35cdff","Beretta M9\n") ..core.colorize("#FFFFFF", "Gun damage: 4\n")..core.colorize("#FFFFFF", "Accuracy: 94%\n") ..core.colorize("#FFFFFF", "gun knockback: 4\n") ..core.colorize("#FFFFFF", "Gun crit chance: 13%\n")..core.colorize("#FFFFFF", "Critical efficiency: 2.1x\n") ..core.colorize("#FFFFFF", "Reload delay: 0.5\n")..core.colorize("#FFFFFF", "Clip size: 15\n") ..core.colorize("#FFFFFF", "Ammunition: 9x19mm Parabellum\n") ..core.colorize("#FFFFFF", "Rate of fire: 0.4\n") ..core.colorize("#FFFFFF", "Gun type: Handgun\n") ..core.colorize("#FFFFFF", "Bullet velocity: 25"), + wield_scale = {x=1.1,y=1.1,z=1.05}, + range = 0, + inventory_image = "rangedweapons_beretta.png", +RW_gun_capabilities = { + gun_damage = {fleshy=4,knockback=4}, + gun_crit = 15, + gun_critEffc = 2.1, + suitable_ammo = {{"rangedweapons:9mm",15}}, + gun_skill = {"handgun_skill",43}, + gun_magazine = "rangedweapons:handgun_mag_black", + gun_icon = "rangedweapons_beretta_icon.png", + gun_unloaded = "rangedweapons:beretta_r", + gun_cooling = "rangedweapons:beretta_rld", + gun_velocity = 25, + gun_accuracy = 94, + gun_cooldown = 0.4, + gun_reload = 0.5, + gun_projectiles = 1, + has_shell = 1, + gun_durability = 1150, + gun_smokeSize = 5, + gun_unload_sound = "rangedweapons_handgun_mag_out", + gun_sound = "rangedweapons_beretta", + }, + on_secondary_use = function(itemstack, user, pointed_thing) +rangedweapons_reload_gun(itemstack, user) +return itemstack +end, + on_use = function(itemstack, user, pointed_thing) +rangedweapons_shoot_gun(itemstack, user) +return itemstack + end, +}) + diff --git a/mods/rangedweapons/bullet_knockback.lua b/mods/rangedweapons/bullet_knockback.lua new file mode 100644 index 00000000..65cf5d32 --- /dev/null +++ b/mods/rangedweapons/bullet_knockback.lua @@ -0,0 +1,15 @@ +function projectile_kb(victim,projectile,kbamount) + +if victim:get_pos() and projectile:get_pos() then +rw_proj_kb_pos_x = victim:get_pos().x - projectile:get_pos().x +rw_proj_kb_pos_y = victim:get_pos().y - projectile:get_pos().y +rw_proj_kb_pos_z = victim:get_pos().z - projectile:get_pos().z +else +rw_proj_kb_pos_x = 1 +rw_proj_kb_pos_y = 1 +rw_proj_kb_pos_z = 1 +end + +victim:add_player_velocity({x=kbamount*(rw_proj_kb_pos_x*2),y= kbamount*(math.abs(rw_proj_kb_pos_y)/2), z=kbamount*(rw_proj_kb_pos_z*2)}) + +end \ No newline at end of file diff --git a/mods/rangedweapons/cooldown_stuff.lua b/mods/rangedweapons/cooldown_stuff.lua new file mode 100644 index 00000000..2d6dcd6d --- /dev/null +++ b/mods/rangedweapons/cooldown_stuff.lua @@ -0,0 +1,102 @@ +minetest.register_globalstep(function(dtime, player) + for _, player in pairs(minetest.get_connected_players()) do + + + + + + local w_item = player:get_wielded_item() + + +local controls = player:get_player_control() +if w_item:get_definition().weapon_zoom ~= nil then + + if controls.zoom then +player:hud_change(scope_hud, "text", "rangedweapons_scopehud.png") + else +player:hud_change(scope_hud, "text", "rangedweapons_empty_icon.png") + end + +local wpn_zoom = w_item:get_definition().weapon_zoom + if player:get_properties().zoom_fov ~= wpn_zoom then + player:set_properties({zoom_fov = wpn_zoom}) + + end + +end + +if w_item:get_definition().weapon_zoom == nil then +player:hud_change(scope_hud, "text", "rangedweapons_empty_icon.png") + if player:get_inventory():contains_item( + "main", "binoculars:binoculars") then + new_zoom_fov = 10 + if player:get_properties().zoom_fov ~= new_zoom_fov then + player:set_properties({zoom_fov = new_zoom_fov}) + end + else + new_zoom_fov = 0 + if player:get_properties().zoom_fov ~= new_zoom_fov then + player:set_properties({zoom_fov = new_zoom_fov}) + end + end +end + + +local u_meta = player:get_meta() +local cool_down = u_meta:get_float("rw_cooldown") or 0 + + +if u_meta:get_float("rw_cooldown") > 0 then +u_meta:set_float("rw_cooldown", cool_down - dtime) +end + +local itemstack = player:get_wielded_item() + +if controls.LMB then +if player:get_wielded_item():get_definition().RW_gun_capabilities then +if +player:get_wielded_item():get_definition().RW_gun_capabilities.automatic_gun and player:get_wielded_item():get_definition().RW_gun_capabilities.automatic_gun > 0 then + +rangedweapons_shoot_gun(itemstack, player) +player:set_wielded_item(itemstack) +end end + +if player:get_wielded_item():get_definition().RW_powergun_capabilities then +if player:get_wielded_item():get_definition().RW_powergun_capabilities.automatic_gun and player:get_wielded_item():get_definition().RW_powergun_capabilities.automatic_gun > 0 then + +rangedweapons_shoot_powergun(itemstack, player) +player:set_wielded_item(itemstack) +end end + + end + + + +--minetest.chat_send_all(u_meta:get_float("rw_cooldown")) + +if u_meta:get_float("rw_cooldown") <= 0 then +if player:get_wielded_item():get_definition().loaded_gun ~= nil then + local itemstack = player:get_wielded_item() + +if player:get_wielded_item():get_definition().loaded_sound ~= nil then +minetest.sound_play(itemstack:get_definition().loaded_sound, {player}) +end + itemstack:set_name(player:get_wielded_item():get_definition().loaded_gun) + player:set_wielded_item(itemstack) +end + +if player:get_wielded_item():get_definition().rw_next_reload ~= nil then + local itemstack = player:get_wielded_item() + if itemstack:get_definition().load_sound ~= nil then +minetest.sound_play(itemstack:get_definition().load_sound, {player}) + end + gunMeta = itemstack:get_meta() + u_meta:set_float("rw_cooldown",gunMeta:get_float("RW_reload_delay")) + itemstack:set_name(player:get_wielded_item():get_definition().rw_next_reload) + player:set_wielded_item(itemstack) +end +end + +end end) + + diff --git a/mods/rangedweapons/crafting.lua b/mods/rangedweapons/crafting.lua new file mode 100644 index 00000000..b821ab8f --- /dev/null +++ b/mods/rangedweapons/crafting.lua @@ -0,0 +1,641 @@ +---------------------------- +---------------------------- +if rweapons_gun_crafting == "true" then + +minetest.register_craft({ + output = "rangedweapons:aa12", + recipe = { + {"rangedweapons:gunsteel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:diamondblock", "default:steel_ingot", "rangedweapons:plastic_sheet"}, + {"default:steel_ingot", "dye:black", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:aa12", + recipe = { + {"moreores:silver_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:diamondblock", "default:steel_ingot", "rangedweapons:plastic_sheet"}, + {"default:steel_ingot", "dye:black", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:ak47", + recipe = { + {"default:diamond", "default:steel_ingot", "default:tree"}, + {"default:tree", "default:mese", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:awp", + recipe = { + {"rangedweapons:gunsteel_ingot", "default:diamondblock", "rangedweapons:gunsteel_ingot"}, + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"dye:dark_green", "default:diamond", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:benelli", + recipe = { + {"rangedweapons:gunsteel_ingot", "default:diamond", "default:steel_ingot"}, + {"rangedweapons:plastic_sheet", "default:diamond", "default:steel_ingot"}, + {"", "default:mese_crystal", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:beretta", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "default:mese_crystal", "rangedweapons:plastic_sheet"}, + {"", "", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:m1991", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "default:mese_crystal", "default:tree"}, + {"", "", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:deagle", + recipe = { + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"rangedweapons:gunsteel_ingot", "default:diamond", "rangedweapons:plastic_sheet"}, + {"", "", "rangedweapons:plastic_sheet"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:golden_deagle", + recipe = { + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "rangedweapons:deagle", "default:gold_ingot"}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:deagle", + recipe = { + {"moreores:silver_ingot", "moreores:silver_ingot", "moreores:silver_ingot"}, + {"moreores:silver_ingot", "default:diamond", "rangedweapons:plastic_sheet"}, + {"", "", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:python", + recipe = { + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"", "default:diamond", "rangedweapons:tree"}, + {"", "default:mese_crystal", "rangedweapons:tree"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:python", + recipe = { + {"moreores:silver_ingot", "moreores:silver_ingot", "moreores:silver_ingot"}, + {"", "default:diamond", "rangedweapons:tree"}, + {"", "default:mese_crystal", "rangedweapons:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:g36", + recipe = { + {"default:diamond", "default:mese", "default:diamond"}, + {"default:steel_ingot", "default:diamond", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:glock17", + recipe = { + {"rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "default:diamond", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:jackhammer", + recipe = { + {"", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"default:mese", "default:steelblock", "default:diamondblock"}, + {"", "default:mese", "default:diamondblock"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:kriss_sv", + recipe = { + {"rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet"}, + {"default:gold_ingot", "default:mese_crystal", "rangedweapons:plastic_sheet"}, + {"rangedweapons:plastic_sheet", "default:gold_ingot", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:laser_blaster", + recipe = { + {"default:steel_ingot", "rangedweapons:gun_power_core", "default:steel_ingot"}, + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"", "default:mese_crystal_fragment", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:forcegun", + recipe = { + {"rangedweapons:gunsteel_ingot", "default:diamondblock", "default:mese"}, + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + {"", "rangedweapons:gun_power_core", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:laser_rifle", + recipe = { + {"rangedweapons:ultra_gunsteel_ingot", "rangedweapons:gun_power_core", "rangedweapons:ultra_gunsteel_ingot"}, + {"rangedweapons:gun_power_core", "rangedweapons:ultra_gunsteel_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "default:mese", "rangedweapons:ultra_gunsteel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:laser_shotgun", + recipe = { + {"rangedweapons:ultra_gunsteel_ingot", "rangedweapons:gun_power_core", "rangedweapons:ultra_gunsteel_ingot"}, + {"rangedweapons:gun_power_core", "rangedweapons:gun_power_core", "rangedweapons:ultra_gunsteel_ingot"}, + {"", "rangedweapons:ultra_gunsteel_ingot", "rangedweapons:ultra_gunsteel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:luger", + recipe = { + {"", "", "default:mese_crystal_fragment"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"", "default:mese_crystal_fragment", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:m16", + recipe = { + {"default:diamond", "default:steelblock", "default:steel_ingot"}, + {"default:steel_ingot", "default:diamond", "default:steel_ingot"}, + {"default:steel_ingot", "", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:m60", + recipe = { + {"default:diamond", "default:mese", "default:mese"}, + {"default:steel_ingot", "default:steelblock", "default:steelblock"}, + {"dye:black", "default:diamond", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:m79", + recipe = { + {"default:steel_ingot", "", "default:mese_crystal"}, + {"default:steelblock", "default:diamond", "default:tree"}, + {"default:tree", "default:tree", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:m200", + recipe = { + {"default:diamondblock", "default:steel_ingot", "default:diamondblock"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:diamond", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:makarov", + recipe = { + {"", "default:steel_ingot", "default:steel_ingot"}, + {"", "default:mese_crystal_fragment", "default:tree"}, + {"", "", "dye:black"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:milkor", + recipe = { + {"default:diamond", "default:steel_ingot", "default:diamond"}, + {"default:steel_ingot", "default:steelblock", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:minigun", + recipe = { + {"", "default:steelblock", "default:mese"}, + {"default:diamondblock", "default:diamondblock", "default:diamondblock"}, + {"default:steelblock", "default:steelblock", "default:steelblock"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:mp5", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:diamond", "default:steel_ingot"}, + {"default:steel_ingot", "rangedweapons:plastic_sheet", "dye:black"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:thompson", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:diamond"}, + {"default:tree", "default:tree", "default:steel_ingot"}, + {"default:steel_ingot", "default:diamond", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:mp40", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese_crystal_fragment", ""}, + } +}) + + + +minetest.register_craft({ + output = "rangedweapons:remington", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:tree", "default:mese_crystal", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:rpg", + recipe = { + {"default:diamond", "default:steel_ingot", ""}, + {"default:steelblock", "default:tree", "default:diamondblock"}, + {"default:diamond", "default:tree", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:rpk", + recipe = { + {"default:diamond", "rangedweapons:ak47", ""}, + {"default:steel_ingot", "default:steelblock", "default:tree"}, + {"", "default:diamond", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:scar", + recipe = { + {"default:diamond", "default:mese", "default:mese"}, + {"default:steel_ingot", "default:steel_ingot", "default:mese"}, + {"rangedweapons:plastic_sheet", "", "default:mese_crystal"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:spas12", + recipe = { + {"", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese", "default:diamond"}, + {"rangedweapons:plastic_sheet", "default:diamond", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:svd", + recipe = { + {"default:steel_ingot", "default:diamondblock", "default:steel_ingot"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:tree", "default:diamond", "default:tree"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:taurus", + recipe = { +{"rangedweapons:gunsteel_ingot", "default:mese_crystal", "default:mese_crystal_fragment"}, +{"rangedweapons:gunsteel_ingot", "default:diamondblock", "rangedweapons:gunsteel_ingot"}, + {"", "rangedweapons:gunsteel_ingot", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:taurus", + recipe = { +{"moreores:silver_ingot", "default:mese_crystal", "default:mese_crystal_fragment"}, +{"moreores:silver_ingot", "default:diamondblock", "moreores:silver_ingot"}, + {"", "moreores:silver_ingot", "rangedweapons:plastic_sheet"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:tec9", + recipe = { + {"rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet", "rangedweapons:plastic_sheet"}, + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese_crystal_fragment", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:tmp", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:steel_ingot", "default:mese_crystal_fragment", "default:steel_ingot"}, + {"", "dye:black", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:ump", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"rangedweapons:gunsteel_ingot", "default:diamond", "default:diamond"}, + {"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:uzi", + recipe = { + {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"}, + {"default:diamond", "rangedweapons:plastic_sheet", "default:steel_ingot"}, + {"", "default:steel_ingot", ""}, + } +}) + +end +---------------------------------- +---------------------------------- +if rweapons_other_weapon_crafting == "true" then + +minetest.register_craft({ + output = "rangedweapons:barrel", + recipe = { + {"default:wood", "tnt:gunpowder", "default:wood"}, + {"default:wood", "tnt:tnt", "default:wood"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:hand_grenade", + recipe = { + {"", "", "default:mese_crystal_fragment"}, + {"default:steel_ingot", "tnt:gunpowder", ""}, + {"tnt:gunpowder", "tnt:gunpowder", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:javelin 1", + recipe = { + {"default:diamond", "default:steel_ingot", ""}, + {"default:steel_ingot", "", "group:stick"}, + {"", "", "group:stick"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:wooden_shuriken 20", + recipe = { + {"", "group:wood", ""}, + {"group:wood", "", "group:wood"}, + {"", "group:wood", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:stone_shuriken 10", + recipe = { + {"", "default:cobble", ""}, + {"default:cobble", "", "default:cobble"}, + {"", "default:cobble", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:steel_shuriken 30", + recipe = { + {"", "default:steel_ingot", ""}, + {"default:steel_ingot", "", "default:steel_ingot"}, + {"", "default:steel_ingot", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:bronze_shuriken 35", + recipe = { + {"", "default:bronze_ingot", ""}, + {"default:bronze_ingot", "", "default:bronze_ingot"}, + {"", "default:bronze_ingot", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:golden_shuriken 42", + recipe = { + {"", "default:gold_ingot", ""}, + {"default:gold_ingot", "", "default:gold_ingot"}, + {"", "default:gold_ingot", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:mese_shuriken 55", + recipe = { + {"", "default:mese_crystal", ""}, + {"default:mese_crystal", "", "default:mese_crystal"}, + {"", "default:mese_crystal", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:diamond_shuriken 69", + recipe = { + {"", "default:diamond", ""}, + {"default:diamond", "", "default:diamond"}, + {"", "default:diamond", ""}, + } +}) + +end +------------------------------------ +------------------------------------ +if rweapons_ammo_crafting == "true" then + +minetest.register_craft({ + output = "rangedweapons:9mm 40", + recipe = { + {"default:steel_ingot", "", ""}, + {"tnt:gunpowder", "", ""}, + {"default:copper_ingot", "", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:45acp 40", + recipe = { + {"","default:bronze_ingot", ""}, + {"default:gold_ingot","tnt:gunpowder", "default:gold_ingot"}, + {"","default:tin_ingot", ""}, + } +}) +minetest.register_craft({ + output = "rangedweapons:10mm 60", + recipe = { + {"", "default:bronze_ingot", ""}, + {"default:steel_ingot", "tnt:gunpowder", "default:steel_ingot"}, + {"default:steel_ingot", "tnt:gunpowder", "default:steel_ingot"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:357 15", + recipe = { + {"default:copper_ingot", "", ""}, + {"tnt:gunpowder", "", ""}, + {"default:gold_ingot", "", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:50ae 15", + recipe = { + {"default:bronze_ingot", "default:coal_lump", "default:bronze_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:44 15", + recipe = { + {"default:bronze_ingot", "default:coal_lump", ""}, + {"tnt:gunpowder", "", ""}, + {"default:gold_ingot", "", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:762mm 50", + recipe = { + {"default:bronze_ingot", "tnt:gunpowder", "default:bronze_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:408cheytac 10", + recipe = { + {"default:bronze_ingot", "tnt:gunpowder", "default:bronze_ingot"}, + {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:556mm 90", + recipe = { + {"", "default:gold_ingot", ""}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:shell 12", + recipe = { + {"default:bronze_ingot", "default:steel_ingot", "default:bronze_ingot"}, + {"default:bronze_ingot", "tnt:gunpowder", "default:bronze_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:308winchester 15", + recipe = { + {"", "default:steel_ingot", ""}, + {"default:bronze_ingot", "tnt:gunpowder", "default:bronze_ingot"}, + {"default:gold_ingot", "tnt:gunpowder", "default:gold_ingot"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:40mm 5", + recipe = { + {"", "default:gold_ingot", ""}, + {"default:steel_ingot", "tnt:gunpowder", "default:steel_ingot"}, + {"tnt:gunpowder", "default:bronze_ingot", "tnt:gunpowder"}, + } +}) +minetest.register_craft({ + output = "rangedweapons:rocket 1", + recipe = { + {"", "", "rangedweapons:40mm"}, + {"", "tnt:gunpowder", ""}, + {"default:steel_ingot", "", ""}, + } +}) + +end +------------------------------------- +------------------------------------- +if rweapons_item_crafting == "true" then + +minetest.register_craft({ + output = "rangedweapons:generator", + recipe = { +{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"}, + {"rangedweapons:gunsteel_ingot", "rangedweapons:gun_power_core", "rangedweapons:gunsteel_ingot"}, + {"rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot", "rangedweapons:gunsteel_ingot"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:gunsteel_ingot", + recipe = { + {"default:steel_ingot", "default:tin_ingot", "default:coal_lump"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:ultra_gunsteel_ingot", + recipe = { + {"", "default:mese_crystal", ""}, + {"default:gold_ingot", "rangedweapons:gunsteel_ingot", "default:gold_ingot"}, + {"", "default:diamond", ""}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:plastic_sheet", + recipe = { + {"default:tree", "default:coal_lump", "default:tree"}, + {"default:coal_lump", "default:tree", "default:coal_lump"}, + } +}) + +minetest.register_craft({ + output = "rangedweapons:gun_power_core", + recipe = { + {"rangedweapons:gunsteel_ingot", "default:goldblock", "rangedweapons:gunsteel_ingot"}, + {"default:diamondblock", "default:mese", "default:diamondblock"}, + {"rangedweapons:gunsteel_ingot", "default:goldblock", "rangedweapons:gunsteel_ingot"}, + } +}) + +end \ No newline at end of file diff --git a/mods/rangedweapons/deagle.lua b/mods/rangedweapons/deagle.lua new file mode 100644 index 00000000..82ddec2d --- /dev/null +++ b/mods/rangedweapons/deagle.lua @@ -0,0 +1,121 @@ + + + +minetest.register_tool("rangedweapons:deagle_rld", { + stack_max= 1, + wield_scale = {x=1.25,y=1.25,z=1.5}, + description = "", + range = 0, + loaded_gun = "rangedweapons:deagle", + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_deagle_rld.png", +}) +minetest.register_tool("rangedweapons:deagle_r", { + stack_max= 1, + wield_scale = {x=1.25,y=1.25,z=1.5}, + description = "", + range = 0, + rw_next_reload = "rangedweapons:deagle", + load_sound = "rangedweapons_handgun_mag_in", + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_deagle_rld.png", +}) + +minetest.register_tool("rangedweapons:deagle", { + description = "" ..core.colorize("#35cdff","Desert Eagle\n")..core.colorize("#FFFFFF", "Ranged damage: 11\n") ..core.colorize("#FFFFFF", "Accuracy: 85%\n") ..core.colorize("#FFFFFF", "knockback: 6\n") ..core.colorize("#FFFFFF", "Critical chance: 20%\n") ..core.colorize("#FFFFFF", "Critical efficiency: 3x\n")..core.colorize("#FFFFFF", "Reload delay: 0.6\n")..core.colorize("#FFFFFF", "Clip size: 9/8/7\n") ..core.colorize("#FFFFFF", "Ammunition: .357 Magnum rounds/.44 magnum rounds/.50AE catridges\n") ..core.colorize("#FFFFFF", "Rate of fire: 0.7\n") ..core.colorize("#FFFFFF", "Gun type: Magnum\n") ..core.colorize("#FFFFFF", "Block penetration: 5%\n") +..core.colorize("#FFFFFF", "penetration: 15%\n")..core.colorize("#FFFFFF", "Bullet velocity: 50"), + wield_scale = {x=1.25,y=1.25,z=1.5}, + range = 0, + inventory_image = "rangedweapons_deagle.png", +RW_gun_capabilities = { + gun_damage = {fleshy=11,knockback=6}, + gun_crit = 20, + gun_critEffc = 2.2, + suitable_ammo = {{"rangedweapons:357",9},{"rangedweapons:44",8},{"rangedweapons:50ae",7}}, + gun_skill = {"revolver_skill",40}, + gun_magazine = "rangedweapons:handgun_mag_white", + gun_icon = "rangedweapons_deagle_icon.png", + gun_unloaded = "rangedweapons:deagle_r", + gun_cooling = "rangedweapons:deagle_rld", + gun_velocity = 50, + gun_accuracy = 85, + gun_cooldown = 0.7, + gun_reload = 0.6/1, + gun_projectiles = 1, + has_shell = 1, + gun_durability = 900, + gun_smokeSize = 7, + gun_mob_penetration = 15, + gun_node_penetration = 5, + gun_unload_sound = "rangedweapons_handgun_mag_out", + gun_sound = "rangedweapons_deagle", + }, + on_secondary_use = function(itemstack, user, pointed_thing) +rangedweapons_reload_gun(itemstack, user) +return itemstack +end, + on_use = function(itemstack, user, pointed_thing) +rangedweapons_shoot_gun(itemstack, user) +return itemstack + end, +}) + +minetest.register_tool("rangedweapons:golden_deagle_rld", { + stack_max= 1, + wield_scale = {x=1.25,y=1.25,z=1.5}, + description = "", + range = 0, + loaded_gun = "rangedweapons:golden_deagle", + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_golden_deagle_rld.png", +}) +minetest.register_tool("rangedweapons:golden_deagle_r", { + stack_max= 1, + wield_scale = {x=1.25,y=1.25,z=1.5}, + description = "", + range = 0, + rw_next_reload = "rangedweapons:golden_deagle", + load_sound = "rangedweapons_handgun_mag_in", + groups = {not_in_creative_inventory = 1}, + inventory_image = "rangedweapons_golden_deagle_rld.png", +}) + +minetest.register_tool("rangedweapons:golden_deagle", { + description = "" ..core.colorize("#35cdff","Golden Desert Eagle\n")..core.colorize("#FFFFFF", "Ranged damage: 14\n") ..core.colorize("#FFFFFF", "Accuracy: 90%\n") ..core.colorize("#FFFFFF", "knockback: 6\n") ..core.colorize("#FFFFFF", "Critical chance: 23%\n") ..core.colorize("#FFFFFF", "Critical efficiency: 3x\n")..core.colorize("#FFFFFF", "Reload delay: 0.6\n")..core.colorize("#FFFFFF", "Clip size: 9/8/7\n") ..core.colorize("#FFFFFF", "Ammunition: .357 Magnum rounds/.44 magnum rounds/.50AE catridges\n") ..core.colorize("#FFFFFF", "Rate of fire: 0.75\n") ..core.colorize("#FFFFFF", "Gun type: Magnum\n") ..core.colorize("#FFFFFF", "Block penetration: 5%\n") +..core.colorize("#FFFFFF", "penetration: 15%\n")..core.colorize("#FFFFFF", "Bullet velocity: 50"), + wield_scale = {x=1.25,y=1.25,z=1.5}, + range = 0, + inventory_image = "rangedweapons_golden_deagle.png", +RW_gun_capabilities = { + gun_damage = {fleshy=14,knockback=6}, + gun_crit = 23, + gun_critEffc = 2.2, + suitable_ammo = {{"rangedweapons:357",9},{"rangedweapons:44",8},{"rangedweapons:50ae",7}}, + gun_skill = {"revolver_skill",38}, + gun_magazine = "rangedweapons:handgun_mag_white", + gun_icon = "rangedweapons_golden_deagle_icon.png", + gun_unloaded = "rangedweapons:golden_deagle_r", + gun_cooling = "rangedweapons:golden_deagle_rld", + gun_velocity = 50, + gun_accuracy = 90, + gun_cooldown = 0.75, + gun_reload = 0.6/1, + gun_projectiles = 1, + has_shell = 1, + gun_durability = 1000, + gun_smokeSize = 7, + gun_mob_penetration = 15, + gun_node_penetration = 5, + gun_unload_sound = "rangedweapons_handgun_mag_out", + gun_sound = "rangedweapons_deagle", + }, + on_secondary_use = function(itemstack, user, pointed_thing) +rangedweapons_reload_gun(itemstack, user) +return itemstack +end, + on_use = function(itemstack, user, pointed_thing) +rangedweapons_shoot_gun(itemstack, user) +return itemstack + end, +}) +