From ab21ae6cdc927d76a52f3bcf5aeb3d247f7c01b6 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Thu, 16 Apr 2015 21:33:56 +0200 Subject: [PATCH] initial commit rewriting original fishing mod by 4aiman --- README.md | 4 +- amorce.lua | 19 ++ baits.lua | 20 ++ bobber.lua | 218 ++++++++++++++++++ chatcommands.lua | 75 ++++++ crafting.lua | 75 ++++++ depends.txt | 2 + fishes.lua | 79 +++++++ init.lua | 61 +++++ locale/de.txt | 56 +++++ locale/template.txt | 56 +++++ poles.lua | 153 ++++++++++++ prizes.lua | 28 +++ random_object.lua | 3 + settings.txt | 9 + sounds/SoundLicense.txt | 4 + sounds/fishing_bobber1.ogg | Bin 0 -> 15470 bytes sounds/fishing_bobber2.ogg | Bin 0 -> 19963 bytes textures/alternates/fishing_bobber.png | Bin 0 -> 541 bytes textures/alternates/fishing_bobber_bottom.png | Bin 0 -> 207 bytes textures/alternates/fishing_bobber_top.png | Bin 0 -> 193 bytes textures/alternates/fishing_pole.png | Bin 0 -> 295 bytes textures/animal_clownfish_clownfish_item.png | Bin 0 -> 352 bytes ...l_fish_blue_white_fish_blue_white_item.png | Bin 0 -> 317 bytes textures/fishing_amorce.png | Bin 0 -> 503 bytes textures/fishing_bait_corn.png | Bin 0 -> 540 bytes textures/fishing_bobber.png | Bin 0 -> 580 bytes textures/fishing_bobber_bottom.png | Bin 0 -> 205 bytes textures/fishing_bobber_feather_1.png | Bin 0 -> 352 bytes textures/fishing_bobber_top.png | Bin 0 -> 205 bytes textures/fishing_deco_pike.png | Bin 0 -> 508 bytes textures/fishing_fish.png | Bin 0 -> 486 bytes textures/fishing_fish_cooked.png | Bin 0 -> 846 bytes textures/fishing_particle_amorce.png | Bin 0 -> 180 bytes textures/fishing_pike.png | Bin 0 -> 297 bytes textures/fishing_pike_cooked.png | Bin 0 -> 702 bytes textures/fishing_pole_perfect.png | Bin 0 -> 284 bytes textures/fishing_pole_perfect_back.png | Bin 0 -> 177 bytes textures/fishing_pole_perfect_bottom.png | Bin 0 -> 185 bytes textures/fishing_pole_perfect_front.png | Bin 0 -> 186 bytes textures/fishing_pole_perfect_simple.png | Bin 0 -> 332 bytes textures/fishing_pole_perfect_top.png | Bin 0 -> 190 bytes textures/fishing_pole_wood.png | Bin 0 -> 265 bytes textures/fishing_pole_wood_back.png | Bin 0 -> 235 bytes textures/fishing_pole_wood_bottom.png | Bin 0 -> 215 bytes textures/fishing_pole_wood_deco.png | Bin 0 -> 354 bytes textures/fishing_pole_wood_front.png | Bin 0 -> 214 bytes textures/fishing_pole_wood_simple.png | Bin 0 -> 303 bytes textures/fishing_pole_wood_top.png | Bin 0 -> 197 bytes textures/fishing_shark.png | Bin 0 -> 389 bytes textures/fishing_shark_cooked.png | Bin 0 -> 763 bytes textures/fishing_sushi.png | Bin 0 -> 590 bytes textures/fishing_trophy_label.png | Bin 0 -> 201 bytes textures/fishing_worm.png | Bin 0 -> 280 bytes .../not_in_use/fishing_bobber_feather_1.png | Bin 0 -> 352 bytes .../not_in_use/fishing_bobber_feather_2.png | Bin 0 -> 363 bytes textures/not_in_use/fishing_bobber_ready.png | Bin 0 -> 222 bytes textures/not_in_use/fishing_pole_on_use.png | Bin 0 -> 238 bytes textures/old/fishing_bobber_alternate_old.png | Bin 0 -> 217 bytes textures/old/fishing_bobber_old.png | Bin 0 -> 238 bytes textures/old/fishing_pole_wield.png | Bin 0 -> 269 bytes textures/old/fishing_shark_old6.png | Bin 0 -> 391 bytes trophies.lua | 0 worms.lua | 0 64 files changed, 861 insertions(+), 1 deletion(-) create mode 100644 amorce.lua create mode 100644 baits.lua create mode 100644 bobber.lua create mode 100644 chatcommands.lua create mode 100644 crafting.lua create mode 100644 depends.txt create mode 100644 fishes.lua create mode 100644 init.lua create mode 100644 locale/de.txt create mode 100644 locale/template.txt create mode 100644 poles.lua create mode 100644 prizes.lua create mode 100644 random_object.lua create mode 100644 settings.txt create mode 100644 sounds/SoundLicense.txt create mode 100644 sounds/fishing_bobber1.ogg create mode 100644 sounds/fishing_bobber2.ogg create mode 100644 textures/alternates/fishing_bobber.png create mode 100644 textures/alternates/fishing_bobber_bottom.png create mode 100644 textures/alternates/fishing_bobber_top.png create mode 100644 textures/alternates/fishing_pole.png create mode 100644 textures/animal_clownfish_clownfish_item.png create mode 100644 textures/animal_fish_blue_white_fish_blue_white_item.png create mode 100644 textures/fishing_amorce.png create mode 100644 textures/fishing_bait_corn.png create mode 100644 textures/fishing_bobber.png create mode 100644 textures/fishing_bobber_bottom.png create mode 100644 textures/fishing_bobber_feather_1.png create mode 100644 textures/fishing_bobber_top.png create mode 100644 textures/fishing_deco_pike.png create mode 100644 textures/fishing_fish.png create mode 100644 textures/fishing_fish_cooked.png create mode 100644 textures/fishing_particle_amorce.png create mode 100644 textures/fishing_pike.png create mode 100644 textures/fishing_pike_cooked.png create mode 100644 textures/fishing_pole_perfect.png create mode 100644 textures/fishing_pole_perfect_back.png create mode 100644 textures/fishing_pole_perfect_bottom.png create mode 100644 textures/fishing_pole_perfect_front.png create mode 100644 textures/fishing_pole_perfect_simple.png create mode 100644 textures/fishing_pole_perfect_top.png create mode 100644 textures/fishing_pole_wood.png create mode 100644 textures/fishing_pole_wood_back.png create mode 100644 textures/fishing_pole_wood_bottom.png create mode 100644 textures/fishing_pole_wood_deco.png create mode 100644 textures/fishing_pole_wood_front.png create mode 100644 textures/fishing_pole_wood_simple.png create mode 100644 textures/fishing_pole_wood_top.png create mode 100644 textures/fishing_shark.png create mode 100644 textures/fishing_shark_cooked.png create mode 100644 textures/fishing_sushi.png create mode 100644 textures/fishing_trophy_label.png create mode 100644 textures/fishing_worm.png create mode 100644 textures/not_in_use/fishing_bobber_feather_1.png create mode 100644 textures/not_in_use/fishing_bobber_feather_2.png create mode 100644 textures/not_in_use/fishing_bobber_ready.png create mode 100644 textures/not_in_use/fishing_pole_on_use.png create mode 100644 textures/old/fishing_bobber_alternate_old.png create mode 100644 textures/old/fishing_bobber_old.png create mode 100644 textures/old/fishing_pole_wield.png create mode 100644 textures/old/fishing_shark_old6.png create mode 100644 trophies.lua create mode 100644 worms.lua diff --git a/README.md b/README.md index 750ed9a..09097f7 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ -# fishing minetest fishing mod + + +-- original by 4aiman https://github.com/4aiman/fishing diff --git a/amorce.lua b/amorce.lua new file mode 100644 index 0000000..e34343f --- /dev/null +++ b/amorce.lua @@ -0,0 +1,19 @@ + + + + + + + +-- amorce + +minetest.register_craftitem("fishing:amorce", { + description = "Amorce", + inventory_image = "fishing_amorce.png", +}) + +minetest.register_craft({ + type = "shapeless", + output = "fishing:amorce", + recipe = {"farming:flour", "farming:corn", "food:egg", "bucket:bucket_water"} +}) diff --git a/baits.lua b/baits.lua new file mode 100644 index 0000000..52e2d21 --- /dev/null +++ b/baits.lua @@ -0,0 +1,20 @@ + + + +--bait_corn +minetest.register_craftitem("fishing:bait_corn", { + description = "Bait corn", + inventory_image = "fishing_bait_corn.png", +}) + +fishing_setting.baits["fishing:bait_corn"] = { ["bait"] = "fishing:bait_corn", ["bobber"] = "fishing:bobber_entity" } + + + +--bait_pain +minetest.register_craftitem("fishing:bait_pain", { + description = "Bait pain", + inventory_image = "fishing_bait_corn.png", +}) + +fishing_setting.baits["fishing:bait_pain"] = { ["bait"] = "fishing:bait_pain", ["bobber"] = "fishing:bobber_entity" } diff --git a/bobber.lua b/bobber.lua new file mode 100644 index 0000000..41911da --- /dev/null +++ b/bobber.lua @@ -0,0 +1,218 @@ + + +minetest.register_alias("flowers_plus:seaweed", "flowers:seaweed") -- exception + + +-- bobber +minetest.register_node("fishing:bobber_box", { + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { +-- { left, bottom, front, right, top , back} + {-8/16, -8/16, 0, 8/16, 8/16, 0}, -- feathers + {-2/16, -8/16, -2/16, 2/16, -4/16, 2/16}, -- bobber + } + }, + tiles = { + "fishing_bobber_top.png", + "fishing_bobber_bottom.png", + "fishing_bobber.png", + "fishing_bobber.png", + "fishing_bobber.png", + "fishing_bobber.png^[transformFX" + }, -- + groups = {not_in_creative_inventory=1}, +}) + + +local FISHING_BOBBER_ENTITY={ + hp_max = 605, + water_damage = 1, + physical = true, + timer = 0, + env_damage_timer = 0, + visual = "wielditem", + visual_size = {x=1/3, y=1/3, z=1/3}, + textures = {"fishing:bobber_box"}, + -- {left ,bottom, front, right, top , back} + collisionbox = {-2/16, -4/16, -2/16, 2/16, 0/16, 2/16}, + view_range = 7, + randomtime = 50, + chance = 0, + amorce = false, + prize = "", + +-- DESTROY BOBBER WHEN PUNCHING IT + on_punch = function (self, puncher, time_from_last_punch, tool_capabilities, dir) + if not puncher:is_player() then return end + local player = puncher:get_player_name() + if player ~= self.object.owner then return end + if MESSAGES == true then minetest.chat_send_player(player, fishing_setting.S("You didn't prizes anything."), false) end -- fish escaped + if not fishing_setting.is_creative_mode then + local inv = puncher:get_inventory() + if inv:room_for_item("main", {name="fishing:bait_corn", count=1, wear=0, metadata=""}) then + inv:add_item("main", {name="fishing:bait_corn", count=1, wear=0, metadata=""}) + if MESSAGES == true then minetest.chat_send_player(player, fishing_setting.S("The bait is still there."), false) end -- bait still there + end + end + -- make sound and remove bobber + minetest.sound_play("fishing_bobber1", { pos = self.object:getpos(), gain = 0.5, }) + self.object:remove() + end, + + + + +-- WHEN RIGHTCLICKING THE BOBBER THE FOLLOWING HAPPENS (CLICK AT THE RIGHT TIME WHILE HOLDING A FISHING POLE) + on_rightclick = function (self, clicker) + local item = clicker:get_wielded_item() + local player = clicker:get_player_name() + local inv = clicker:get_inventory() + local pos = self.object:getpos() + local item_name = item:get_name() + if string.find(item_name, "fishing:pole_") ~= nil then + +--############################################################################################################## + if self.prize ~= "" then + local name = self.prize[1]..":"..self.prize[2] + local desc = self.prize[4] + print("You caught "..name.." "..desc) + minetest.chat_send_player(player, "You caught "..desc, false) + if inv:room_for_item("main", {name=name, count=1, wear=0, metadata=""}) then + local used + if self.prize[3] == "random" then + used = (2000*(math.random(20, 29))) + elseif self.prize[3] == "randomtools" then + used = (65535/(30-(math.random(15, 29)))) + else + used = 0 + end + inv:add_item("main", {name=name, count=1, wear=used, metadata=""}) + else + minetest.spawn_item(clicker:getpos(), name) + end + end + + -- weither player has fishing pole or not + minetest.sound_play("fishing_bobber1", { pos = self.object:getpos(), gain = 0.5, }) + self.object:remove() + + +--############################################################################################################## + + + + elseif item:get_name() == "fishing:amorce" then + + + if not fishing_setting.is_creative_mode then + inv:remove_item("main", "fishing:amorce") + end + self.amorce = true + --addparticle + minetest.add_particlespawner(30, 0.5, -- for how long (?) -- Particles on splash + {x=pos.x,y=pos.y-0.0625,z=pos.z}, {x=pos.x,y=pos.y,z=pos.z}, -- position min, pos max + {x=-2,y=-0.0625,z=-2}, {x=2,y=3,z=2}, -- velocity min, vel max + {x=0,y=-9.8,z=0}, {x=0,y=-9.8,z=0}, + 0.3, 1.2, + 0.25, 0.5, -- min size, max size + false, "fishing_particle_amorce.png") + -- add sound + minetest.sound_play("fishing_bobber1", {pos = self.object:getpos(), gain = 0.2, }) + --inc hp + print("amorce") + end + end, + + + + + +-- AS SOON AS THE BOBBER IS PLACED IT WILL ACT LIKE + on_step = function(self, dtime) + local pos = self.object:getpos() + + if self.owner == nil then self.object:remove(); return end + local player = minetest.get_player_by_name(self.owner) + if not player then self.object:remove(); return end + --remove if nobody in radius + local p = player:getpos() + local dist = ((p.x-pos.x)^2 + (p.y-pos.y)^2 + (p.z-pos.z)^2)^0.5 + if dist > self.view_range then + minetest.sound_play("fishing_bobber1", {pos = self.object:getpos(),gain = 0.5,}) + self.object:remove() + return + end + + --rotate bobber + if math.random(1, 4) == 1 then + self.object:setyaw(self.object:getyaw()+((math.random(0,360)-180)/2880*math.pi)) + end + + --################### + self.timer = self.timer + 1 + if self.timer < self.randomtime then + if self.prize ~= "" then + local n = math.random(1,3) + if n == 1 then + if self.old_pos2 == true then + pos.y = pos.y-0.0325 + self.object:moveto(pos, false) + self.old_pos2 = false + else + pos.y = pos.y+0.0325 + self.object:moveto(pos, false) + self.old_pos2 = true + end + end + end + return + end + + self.timer = 0 + self.object:moveto(self.old_pos, false) + self.randomtime = math.random(2,12)*10 + --self.object:moveto({x=pos.x,y=pos.y-0.015625,z=pos.z}) + --print("randomtime:"..tostring(self.randomtime)) + if math.random(1, 100) > FISH_CHANCE then + self.prize = "" + return + end + + local c = 0 + if self.amorce then + c = 20 + end + + + local chance = math.random(1, 100)+c + print(" chance: " .. tostring(chance) .. " randomtime: "..tostring(self.randomtime)) + if chance == 1 then + local r = math.random(1, 100) + if r < 10 then + self.prize = fishing_setting.prizes.tresor[math.random(1,#fishing_setting.prizes.tresor)] + else + self.prize = "" + end + elseif chance < 10 then + self.prize = "" + elseif chance < 40 then + self.prize = fishing_setting.prizes.loose[math.random(1,#fishing_setting.prizes.loose)] + else + self.prize = fishing_setting.prizes.fish[math.random(1,#fishing_setting.prizes.fish)] + end + + self.amorce = false + if self.prize ~= nil then + pos.y = self.old_pos.y-0.1 + self.object:moveto(pos, false) + minetest.sound_play("fishing_bobber1", {pos=pos,gain = 0.5,}) + print("prize: "..tostring(self.prize[1])..":"..tostring(self.prize[2])) + end + end, +} + + +minetest.register_entity("fishing:bobber_entity", FISHING_BOBBER_ENTITY) + diff --git a/chatcommands.lua b/chatcommands.lua new file mode 100644 index 0000000..b08d173 --- /dev/null +++ b/chatcommands.lua @@ -0,0 +1,75 @@ + + + + --FIXME server set fishing enable|disable treasure +minetest.register_chatcommand("fishing_enable", { + params = "", + description = "display trophie of treasure from the water", + privs = {server=true}, + func = function(name, param) + if param == "true" then + fishing_setting.enable = true + minetest.chat_send_player(name, "treasure is enabled") + elseif param == "false" then + fishing_setting.enable = false + minetest.chat_send_player(name, "treasure is disabled") + else + minetest.chat_send_player(name, "unknow param ".. tostring(param)) + minetest.chat_send_player(name, "command is /fishing_enable ") + end + + + end +}) + + + + + +--[[ --FIXME server set fishing random timer +minetest.register_chatcommand("fishing_stimer", { + params = "", + description = "display trophie of treasure from the water", + privs = {server=true}, + func = function(name, param) + minetest.chat_send_player(name, "treasure is " .. treasure) + + end +}) +]] + + +--[[ --FIXME server set fishing config +minetest.register_chatcommand("fishing_setting", { + params = "", + description = "display trophie of treasure from the water", + privs = {server=true}, + func = function(name, param) + minetest.chat_send_player(name, "") + + end +}) +]] + + + +minetest.register_chatcommand("fishing_trophies", { + params = "", + description = "display trophie of treasure from the water", + privs = {}, + func = function(name, param) + --FIXME fixed treasure + local tresure = "nothing" + minetest.chat_send_player(name, "treasure is " .. treasure) + + end +}) + + + +--[[ +minetest.register_on_joinplayer(function(player) + local name = player:get_player_name() + +end) +]] diff --git a/crafting.lua b/crafting.lua new file mode 100644 index 0000000..61882b2 --- /dev/null +++ b/crafting.lua @@ -0,0 +1,75 @@ + +----------------------------------------------------------------------------------------------- +-- Fishing Pole +----------------------------------------------------------------------------------------------- +minetest.register_craft({ + output = "fishing:pole_wood", + recipe = { + {"", "", "group:stick" }, + {"", "group:stick", "farming:string"}, + {"group:stick", "", "farming:string"}, + } +}) + +if minetest.get_modpath("moreblocks") ~= nil then +minetest.register_craft({ + output = "fishing:pole_wood", + recipe = { + {"", "", "group:stick" }, + {"", "group:stick", "moreblocks:rope" }, + {"group:stick", "", "moreblocks:rope" }, + } +}) +end + +if minetest.get_modpath("ropes") ~= nil then + minetest.register_craft({ + output = "fishing:pole_wood", + recipe = { + {"", "", "group:stick" }, + {"", "group:stick", "ropes:rope" }, + {"group:stick", "", "ropes:rope" }, + } + }) +end + +-- Mithril Fishing Pole +if minetest.get_modpath("moreores") ~= nil and minetest.get_modpath("mobs") ~= nil then +minetest.register_craft({ + output = "fishing:pole_perfect", + recipe = { + {"", "", "moreores:mithril_ingot" }, + {"", "moreores:mithril_ingot", "mobs:spider_cobweb" }, + {"moreores:mithril_ingot", "", "mobs:spider_cobweb" }, + } +}) +end + + +----------------------------------------------------------------------------------------------- +-- Fishing bait +----------------------------------------------------------------------------------------------- +--bait corn +minetest.register_craft({ + output = "fishing:bait_corn 9", + recipe = { + {"", "farming:corn", ""}, + } +}) + +--bait pain +minetest.register_craft({ + output = "fishing:bait_pain 9", + recipe = { + {"", "farming:bread", ""}, + } +}) + + +----------------------------------------------------------------------------------------------- +-- Fishing bobber +----------------------------------------------------------------------------------------------- +--bobber + + + diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..d77ba25 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +default +farming diff --git a/fishes.lua b/fishes.lua new file mode 100644 index 0000000..62c167b --- /dev/null +++ b/fishes.lua @@ -0,0 +1,79 @@ +------------------------------------------------------------------------------------------- +-- Fishing - Mossmanikin's version - Fishes 0.0.4 +-- License (code & textures): WTFPL +----------------------------------------------------------------------------------------------- + +-- Boilerplate to support localized strings if intllib mod is installed. +local S +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + S = intllib.Getter(minetest.get_current_modname()) +else + S = function ( s ) return s end +end + +----------------------------------------------------------------------------------------------- +-- Fish +----------------------------------------------------------------------------------------------- +minetest.register_craftitem("fishing:fish_raw", { + description = S("Fish"), + groups = {}, + inventory_image = "fishing_fish.png", + on_use = minetest.item_eat(2), +}) + ----------------------------------------------------- + -- Roasted Fish + ----------------------------------------------------- + minetest.register_craftitem("fishing:fish", { + description = S("Roasted Fish"), + groups = {}, + inventory_image = "fishing_fish_cooked.png", + on_use = minetest.item_eat(4), + }) + ----------------------------------------------------- + -- Sushi + ----------------------------------------------------- + minetest.register_craftitem("fishing:sushi", { + description = S("Sushi (Hoso Maki)"), + groups = {}, + inventory_image = "fishing_sushi.png", + on_use = minetest.item_eat(6), + }) + +----------------------------------------------------------------------------------------------- +-- Whatthef... it's a freakin' Shark! +----------------------------------------------------------------------------------------------- +minetest.register_craftitem("fishing:shark", { + description = S("Shark"), + groups = {}, + inventory_image = "fishing_shark.png", + on_use = minetest.item_eat(2), +}) + ----------------------------------------------------- + -- Roasted Shark + ----------------------------------------------------- + minetest.register_craftitem("fishing:shark_cooked", { + description = S("Roasted Shark"), + groups = {}, + inventory_image = "fishing_shark_cooked.png", + on_use = minetest.item_eat(6), + }) + +----------------------------------------------------------------------------------------------- +-- Pike +----------------------------------------------------------------------------------------------- +minetest.register_craftitem("fishing:pike", { + description = S("Northern Pike"), + groups = {}, + inventory_image = "fishing_pike.png", + on_use = minetest.item_eat(2), +}) + ----------------------------------------------------- + -- Roasted Pike + ----------------------------------------------------- + minetest.register_craftitem("fishing:pike_cooked", { + description = S("Roasted Northern Pike"), + groups = {}, + inventory_image = "fishing_pike_cooked.png", + on_use = minetest.item_eat(6), + }) diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..9ece440 --- /dev/null +++ b/init.lua @@ -0,0 +1,61 @@ +print("loading [fishing] mod") +fishing_setting = {} + + +if (minetest.get_modpath("intllib")) then + dofile(minetest.get_modpath("intllib").."/intllib.lua") + fishing_setting.S = intllib.Getter(minetest.get_current_modname()) +else + fishing_setting.S = function ( s ) return s end +end + + + +fishing_setting.file = minetest.get_worldpath() .. "/fishing_config.txt" +fishing_setting.is_creative_mode = minetest.setting_getbool("creative_mode") +fishing_setting.setting = {} +fishing_setting.random_timer = 3600 +fishing_setting.prizes = {} + +--for random object +random_objects = {} + +fishing_setting.baits = {} +local path = minetest.get_modpath("fishing").."/" +dofile(path .."settings.txt") +dofile(path .."crafting.lua") +dofile(path .."baits.lua") +dofile(path .."prizes.lua") +dofile(path .."amorce.lua") +dofile(path .."bobber.lua") +--dofile(path .."bobber_shark.lua") +dofile(path .."fishes.lua") +dofile(path .."trophies.lua") +dofile(path .."poles.lua") + + + +-- timer +fishing_setting.timer = 0 +minetest.register_globalstep(function(dtime) + if fishing_setting.enable == false then return end + fishing_setting.timer = fishing_setting.timer - dtime +-- if fishing.new_object then + -- new object is item, time to catch is timer + -- fishing_setting.timer = fishing_setting.random_timer +-- end +-- if timer == 300 then + --you have 5min for catch item +-- end + if fishing_setting.timer < 0 then + for _, player in ipairs(minetest.get_connected_players()) do + local name = player:get_player_name() + --FIXME display message + end + --get random object + fishing_setting.timer = fishing_setting.random_timer + end +end) + + + diff --git a/locale/de.txt b/locale/de.txt new file mode 100644 index 0000000..0e1ea57 --- /dev/null +++ b/locale/de.txt @@ -0,0 +1,56 @@ +# Translation by Xanthin + +### bobber.lua ### +You caught a Fish. = Du hast einen Fisch gefangen. +You caught a Clownfish. = Du hast einen Clownfisch gefangen. +You caught a Blue white fish. = Du hast einen blau-weissen Fisch gefangen. +You caught a Twig. = Du hast einen Zweig gefangen. +You caught a Rat. = Du hast eine Ratte gefangen. +You caught some Seaweed. = Du hast etwas Seetang gefangen. +You caught a Green Kelp. = Du hast etwas gruenen Kelp gefangen. +You caught a String. = Du hast eine Schnur gefangen. +You caught an old Fishing Pole. = Du hast eine alte Angelrute gefangen. +You caught some very old Boots. = Du hast ein Paar sehr alte Schuhe gefangen. +You caught a Waterlily. = Du hast eine Seerose gefangen. +You didn't catch anything. = Du hast nichts gefangen. +The bait is still there. = Der Koeder ist noch vorhanden. +Your fish escaped. = Dein Fisch ist entkommen. + +### bobber_shark.lua ### +You caught a small Shark. = Du hast einen kleinen Hai gefangen. +You caught a Northern Pike. = Du hast einen Hecht gefangen. +You didn't catch any fish. = Du hast keinen Fisch gefangen. + +### crafting.lua ### +### fishes.lua ### +Fish = Fisch +Roasted Fish = Gebratener Fisch +Sushi (Hoso Maki) = Sushi (Hoso Maki) +Shark = Hai +Roasted Shark = Gebratener Hai +Northern Pike = Hecht +Roasted Northern Pike = Gebratener Hecht + +### init.lua ### +Fishing Pole = Angelrute +Dirt = Erde +Wooden Hoe = Holzhacke +Stone Hoe = Steinhacke +Steel Hoe = Stahlhacke +Bronze Hoe = Bronzehacke + +### trophies.lua ### +Fish Trophy = Fisch-Trophaee +Northern Pike Trophy = Hecht-Trophaee +Shark Trophy = Hai-Trophaee +Clownfish Trophy = Clownfisch-Trophaee +Blue white fish Trophy = Blau-weisser-Fisch-Trophaee +Trophy = Trophaee +This Huge Fish was caught by the Famous Angler %s ! = Dieser riesige Fisch wurde vom beruehmten Angler %s gefangen! +This Huge Northern Pike was caught by the Famous Angler %s ! = Dieser riesige Hecht wurde vom beruehmten Angler %s gefangen! +This Huge Shark was caught by the Famous Angler %s ! = Dieser riesige Hai wurde vom beruehmten Angler %s gefangen! +This Huge Clownfish was caught by the Famous Angler %s ! = Dieser riesige Clownfisch wurde vom beruehmten Angler %s gefangen! +This Huge Blue white fish was caught by the Famous Angler %s ! = Dieser riesige blau-weisse Fisch wurde vom beruehmten Angler %s gefangen! + +### worms.lua ### +Worm = Wurm diff --git a/locale/template.txt b/locale/template.txt new file mode 100644 index 0000000..3ed36dc --- /dev/null +++ b/locale/template.txt @@ -0,0 +1,56 @@ +# Template + +### bobber.lua ### +You caught a Fish. = +You caught a Clownfish. = +You caught a Blue white fish. = +You caught a Twig. = +You caught a Rat. = +You caught some Seaweed. = +You caught a Green Kelp. = +You caught a String. = +You caught an old Fishing Pole. = +You caught some very old Boots. = +You caught a Waterlily. = +You didn't catch anything. = +The bait is still there. = +Your fish escaped. = + +### bobber_shark.lua ### +You caught small Shark. = +You caught a Northern Pike. = +You didn't catch any fish. = + +### crafting.lua ### +### fishes.lua ### +Fish = +Roasted Fish = +Sushi (Hoso Maki) = +Shark = +Roasted Shark = +Northern Pike = +Roasted Northern Pike = + +### init.lua ### +Fishing Pole = +Dirt = +Wooden Hoe = +Stone Hoe = +Steel Hoe = +Bronze Hoe = + +### trophies.lua ### +Fish Trophy = +Northern Pike Trophy = +Shark Trophy = +Clownfish Trophy = +Blue white fish Trophy = +Trophy = +This Huge Fish was caught by the Famous Angler %s ! = +This Huge Northern Pike was caught by the Famous Angler %s ! = +This Huge Shark was caught by the Famous Angler %s ! = +This Huge Clownfish was caught by the Famous Angler %s ! = +This Huge Blue white fish was caught by the Famous Angler %s ! = + +### worms.lua ### +Worm = diff --git a/poles.lua b/poles.lua new file mode 100644 index 0000000..3ca99ab --- /dev/null +++ b/poles.lua @@ -0,0 +1,153 @@ +----------------------------------------------------------------------------------------------- +-- Fishing Pole +----------------------------------------------------------------------------------------------- + +local function rod_wear(itemstack, user, pointed_thing, uses) + itemstack:add_wear(65535/(uses-1)) + return itemstack +end + + +fishing_setting.poles = {} +fishing_setting.poles.wood = {["name"] = "wood", ["max_use"] = 30, ["desc"] = fishing_setting.S("Fishing Pole") } +fishing_setting.poles.perfect = {["name"] = "perfect", ["max_use"] = 1500, ["desc"] = fishing_setting.S("Perfect Fishing Pole") } + + +for _,pole in pairs(fishing_setting.poles) do + minetest.register_tool("fishing:pole_".. pole.name, { + description = pole.desc, + groups = {}, + inventory_image = "fishing_pole_".. pole.name ..".png", + wield_image = "fishing_pole_".. pole.name ..".png^[transformFXR270", + stack_max = 1, + liquids_pointable = true, + + on_use = function (itemstack, user, pointed_thing) + if pointed_thing and pointed_thing.under then + local pt = pointed_thing + local node = minetest.get_node(pt.under) + if string.find(node.name, "default:water") == nil then return nil end + local player = user:get_player_name() + local inv = user:get_inventory() + local bait = inv:get_stack("main", user:get_wield_index()+1 ):get_name() + if fishing_setting.baits[bait] == nil then return nil end + + + local bobbers = {} + local objs = minetest.get_objects_inside_radius(pt.under, 3) + for m, obj in pairs(objs) do + if obj:get_luaentity() ~= nil and string.find(obj:get_luaentity().name, "fishing:bobber") ~= nil then + bobbers[m] = obj + end + end + + local nodes = {} + local i = 1 + for _,k in pairs({ 1, 0, -1}) do + for _,l in pairs({ -1, 0, 1}) do + if string.find(minetest.get_node({x=pt.under.x+l, y=pt.under.y, z=pt.under.z+k}).name, "default:water") ~= nil + and minetest.get_node({x=pt.under.x+l, y=pt.under.y+1, z=pt.under.z+k}).name == "air" then + local empty = true + for o, obj in pairs(bobbers) do + local p = obj:getpos() + local dist = ((p.x-pt.under.x)^2 + (p.y-pt.under.y)^2 + (p.z-pt.under.z)^2)^0.5 + if dist < 2 then + empty = false + break + end + end + if empty then + nodes[i] = {x=pt.under.x+l, y=pt.under.y, z=pt.under.z+k} + i = i+1 + end + end + end + end + --if water == -3 nodes + if #nodes < 1 then return nil end + local new_pos = nodes[math.random(1, #nodes)] + new_pos.y=new_pos.y+(45/64) + local ent = minetest.add_entity({interval = 1,x=new_pos.x, y=new_pos.y, z=new_pos.z}, fishing_setting.baits[bait].bobber) + if not ent then return nil end + local luaentity = ent:get_luaentity() + luaentity.owner = player + luaentity.prize = "" + luaentity.old_pos = new_pos + luaentity.old_pos2 = true + if not fishing_setting.is_creative_mode then + inv:remove_item("main", bait) + end + minetest.sound_play("fishing_bobber2", {pos = new_pos, gain = 0.5}) + + if WEAR_OUT == true and not fishing_setting.is_creative_mode then + return rod_wear(itemstack, user, pointed_thing, pole.max_use) + else + return {name="fishing:pole_".. pole.name, count=1, wear=0, metadata=""} + end + end + return nil + end, + + + on_place = function(itemstack, placer, pointed_thing) + local pt = pointed_thing + local pt_under_name = minetest.get_node(pt.under).name + if pt_under_name ~= "default:water_source" and pt_under_name ~= "default:water_flowing" then + local wear = itemstack:get_wear() + --print (wear) + local direction = minetest.dir_to_facedir(placer:get_look_dir()) + --local meta1 = minetest.get_meta(pt.under) + local meta = minetest.get_meta(pt.above) + minetest.set_node(pt.above, {name="fishing:pole_".. pole.name .."_deco", param2=direction}) + --meta1:set_int("wear", wear) + meta:set_int("wear", wear) + if not fishing_setting.is_creative_mode then + itemstack:take_item() + end + end + return itemstack + end, + }) + + + + + minetest.register_node("fishing:pole_".. pole.name .."_deco", { + description = pole.desc, + inventory_image = "fishing_pole_".. pole.name ..".png", + wield_image = "fishing_pole.png^[transformFXR270", + drawtype = "nodebox", + paramtype = "light", + paramtype2 = "facedir", + tiles = { + "fishing_pole_".. pole.name .."_simple.png", + "fishing_pole_".. pole.name .."_simple.png", + "fishing_pole_".. pole.name .."_simple.png", + "fishing_pole_".. pole.name .."_simple.png^[transformFX", + }, + groups = { snappy=3, flammable=2, not_in_creative_inventory=1 }, + node_box = { + type = "fixed", + fixed = { + { 0 , -1/2 , 0 , 0 , 1/2 , 1 }, + } + }, + selection_box = { + type = "fixed", + fixed = { + {-1/16 , -1/2 , 0 , 1/16 , 1/2 , 1 }, + } + }, + sounds = default.node_sound_wood_defaults(), + on_dig = function(pos, node, digger) + if digger:is_player() and digger:get_inventory() then + local meta = minetest.get_meta(pos) + local wear_out = meta:get_int("wear") + digger:get_inventory():add_item("main", {name="fishing:pole_".. pole.name, count=1, wear=wear_out, metadata=""}) + end + minetest.remove_node(pos) + end, + }) + +end + diff --git a/prizes.lua b/prizes.lua new file mode 100644 index 0000000..45328eb --- /dev/null +++ b/prizes.lua @@ -0,0 +1,28 @@ + + + + + +fishing_setting.prizes.fish = { + {"fishing", "fish_raw", 0, "a Fish.", 1, 60} + } + + +-- Here's what you can prizes +fishing_setting.prizes.loose = { +-- MoD iTeM WeaR MeSSaGe ("You caught "..) NRMiN CHaNCe (../120) + {"default", "stick", 0, "a Twig.", 81, 2}, + {"mobs", "rat", 0, "a Rat.", 83, 1}, + {"flowers_plus", "seaweed", 0, "some Seaweed.", 86, 20}, + {"seaplants", "kelpgreen", 0, "a Green Kelp.", 106, 10}, + {"farming", "string", 0, "a String.", 116, 2}, + {"trunks", "twig_1", 0, "a Twig.", 121, 2} +} + + +fishing_setting.prizes.tresor = { + {"fishing", "pole_wood", "randomtools", "an old Fishing Pole.", 118, 2}, + {"3d_armor", "boots_wood", "random", "some very old Boots.", 120, 1} +} + + diff --git a/random_object.lua b/random_object.lua new file mode 100644 index 0000000..beb51a2 --- /dev/null +++ b/random_object.lua @@ -0,0 +1,3 @@ + + +random_objects = {} diff --git a/settings.txt b/settings.txt new file mode 100644 index 0000000..259d822 --- /dev/null +++ b/settings.txt @@ -0,0 +1,9 @@ +MESSAGES = true +FISH_CHANCE = 60 +NEW_WORM_SOURCE = true +WORM_IS_MOB = true +WORM_CHANCE = 66 +WEAR_OUT = true +BOBBER_CHECK_RADIUS = 5 +SIMPLE_DECO_FISHING_POLE = true +SHARK_CHANCE = 30 diff --git a/sounds/SoundLicense.txt b/sounds/SoundLicense.txt new file mode 100644 index 0000000..49017e9 --- /dev/null +++ b/sounds/SoundLicense.txt @@ -0,0 +1,4 @@ +These sounds are used for the Mod for Minetest; Fishing - Mossmanikin's version. +The included sounds are http://creativecommons.org/licenses/by-nc-sa/3.0/ + +--"fishing_bobber1" & "fishing_bobber2" sampled from "01260 water swimming splashing 1.wav", Attribution Noncommercial License, Robinhood76, http://www.freesound.org/people/Robinhood76/sounds/79657/ \ No newline at end of file diff --git a/sounds/fishing_bobber1.ogg b/sounds/fishing_bobber1.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6c86a0cb8a47feb1ef0dd498ee8a30f0760900ce GIT binary patch literal 15470 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 literal 0 HcmV?d00001 diff --git a/sounds/fishing_bobber2.ogg b/sounds/fishing_bobber2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..932cf0bf38c879ec892534389bd8d07bbf60e4e6 GIT binary patch literal 19963 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 literal 0 HcmV?d00001 diff --git a/textures/alternates/fishing_bobber_top.png b/textures/alternates/fishing_bobber_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b4b4a4ec99454b65b35cf36af791f06ce4996e87 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP?fEx zi(`m|e{zBZ>lV(&qdc4bZ%ka2%bd9`S>XTu(+Zr&6wEw&RG1y464y0se3{K~G;V>0 iK!lvI6;>1s;*b z3=G^rh1>#+YnAtw0tKZ?Tq8N0kgxl*{3J1lgxAI=rpmYd{nfnxtTeF&rNxCGQ-VxOI16rzf|bGVbUDS nz*U;W#5eu5gvLc4BM}C(vj(7O@NH<;Oo-AweFTWu9r+xX&KmUynNBlFtRq!W&)5AaW uU*!JVe}9tncJ33N6O~mJA971~0sX%;)8y~1cRN5~$>8bg=d#Wzp$PzwpPJGD literal 0 HcmV?d00001 diff --git a/textures/animal_fish_blue_white_fish_blue_white_item.png b/textures/animal_fish_blue_white_fish_blue_white_item.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8224e74b40a102f159ea9167faf317b8e4e5f0 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvVPcx;Tbd_$UAP|KFZjb%xSeg>HA=hBij#32w*EOlwq1WfuL|LjJp0h?sX?%yZspFL%NkQKngFmqMZ z{r~X^KkGKIl?ZHkeB=K={`~*;zdyaQ-#pLqhJXmO15?f4+5bO>onf?|SpU#)Ly`o8 zBtwy)hfn=y(+yHQ;tSfDPi$yCer{pH&3~CU4kwss22Y#Ixa!1-;3tWjE&|=n;OXk; Jvd$@?2>?~jdu{*# literal 0 HcmV?d00001 diff --git a/textures/fishing_amorce.png b/textures/fishing_amorce.png new file mode 100644 index 0000000000000000000000000000000000000000..b72550f615f85df9aa02628736e87225af8f1d9f GIT binary patch literal 503 zcmVzVG~n$25K1R&kf+&i~BHocn{ZnOnw^H8j0M(*a~D z8}EkY1b3Zpf1Vnl0n-846%gqE?$T=3W$jKO>;UdQ0N^(aMnD1xq6a*!W?hSdt`NK- zS$Sos3c3(s6)KzHJjA}r>QxZv^aJPP=f#_dcNSY8TpexSPno)UHwDy)@=KyI0nt+=r zt-LYPFEIWAaSEZ1Il<>W%yLL52(l5aS|&6!BnaEa^)IjhlP>rKqGxUSQqU+#;rL}9 zQ}$PQ54wQxWCmFRRw4e$G1ou!@F2OWK?Pz0ZVBS|dl+kXtaOyw+BY=g&xYU({5pI) t&|({HaX75qF&(`qU!2{q1?JH<_#b`Uq_^Qdo*n=I002ovPDHLkV1mW%+j#&0 literal 0 HcmV?d00001 diff --git a/textures/fishing_bait_corn.png b/textures/fishing_bait_corn.png new file mode 100644 index 0000000000000000000000000000000000000000..46c2c80091c89cd1fee023281583f7f7e0e1a332 GIT binary patch literal 540 zcmV+%0^|LOP)?`LAXJ@06Ye7Kub$S3GagBl9q-BSrkx2 zmXb)^#fd}CXYO`~;sVME93jCpyQBZkZ!{kZ|7fyKP}Q@#ipbvsvdMLo=mHWaXnlg# zN8k(6rwch3psGne*_w|=cOfjn4xl~)DFI8K%}AeQt(fSnGk^DB9=Xdv0W5(SPzVMv znEoBIx2diLXtiK7-3IMK?>^WKa91EQ5K5Bn3W*c`2+&W@thk#{?Sp!#4nZuK0hm4z zz_*eEV1M0;FHZbE_#VVpAri0&MBOG&T{Z!6A6@Mk>1_FS34@1K&=|}RLIq+VoHS=V z1nWRceDL6|p{h|EaQl^4U4m8+j-ft=P(bk!R=W^tuosa?;lm>@BB5P^Upf&7x&T$s z8oqyR`cTcl#LYCSLtyZG6UFw*;f=@rJlg|fK)->#bo!(NY>?+WB+1ADX6+{G!2~`( zS5Uw~h#~4gn8U3XDLXF@WIWZi005o6R(^g3zi1|6HevTo45*B!{(Qjud(o*T%_^cm eknxoNZa)A?9;3A9xVNqV0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005ANklh`XA)hIFFezHA7w>x2=az=bQ6+2$~KM%+flg zvLHzPoxU0!Y>nXQZVd}U4-AJBc(`8vbqZBZ6!KzykP_kwMN+_5&hFX}1B`kBI-#32 z-F+C@T%Ly97;nUh>`|Q`%f$rxGyrZsfzh2dxtG!-SZRHUOw>W8F2XVex* z5bAEr#Wc;gmogp;c)nj}Bej!VxHy?+NJ(-a3KPVrE0!W&> zG9x^Z7Uqts+~~ibd3Icl6C8{!F04R#hYiX{!NM>0W4-i#SMI4N$~;a3KZhzX0#MzZ2|m SUXeur0000oi!PC{xWt~$(6999aJv#sZ literal 0 HcmV?d00001 diff --git a/textures/fishing_bobber_feather_1.png b/textures/fishing_bobber_feather_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9eff3f8d8af519546768d0b635fd5f69f7e4152c GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvV1Xx;Tbd_$MbwuqvCfB;DoxXZ^bCum2abpZ-A-OW33S@^1_M{XS9U zul=o1{v3`#wkhgWfB82B{>@*n`NdxQh}as*6oJ55+LQMDcei@|r~K;lAM>T(eYhVn zjdzXY6RAZ!9fgf?)B|Hr9q`fuE{rt>n7k%Iaexi?G`#2wli uf4KaVUZ!#K_?LRmIluqk`ob_rig8V3gpSOYxz~YSWAJqKb6Mw<&;$UHE{jwE literal 0 HcmV?d00001 diff --git a/textures/fishing_bobber_top.png b/textures/fishing_bobber_top.png new file mode 100644 index 0000000000000000000000000000000000000000..039620ba7b45d6ce4ae49dc27905851cfd5e6ce9 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvRjgT^vI!{F4(TShsLC&MN8tf5YJ7wnmfVKQsTI?=)gb7LZnPo5ZNl tYY=|m#uw9uB>e!94wv7hA&M3(40@A2E7xyqxC=Cg!PC{xWt~$(699kFK0N>c literal 0 HcmV?d00001 diff --git a/textures/fishing_deco_pike.png b/textures/fishing_deco_pike.png new file mode 100644 index 0000000000000000000000000000000000000000..fc6079e92a98b6f1849f232ccaee24701845f636 GIT binary patch literal 508 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0004NNkl%=6?Ks>YMNpiwvL(tAUPn-i`4+2hIgKR#_!}61%!Z# zyny`QK>j}~JGK8#Zo1z<*gwSl8Ib;BZmsefsOBsX?*d{2uz^4gEl%#be_cFuf4h4d z{0|DZ{2dx?^FO=L_kT>H+m;d>tf&ar}Z2#LiY5w>0Gx#4JEBqU1zz;VsgI5ed z=jU14s{REk{?po%^uMYh608YiKw6I1|EPF}|8dFA|3Tiech>sv1vCJpX5q?;|2qzL z9|XDJM|`TwD`$6I{+6D^lRFP}gA90o?Beu&OV(8XPtW!Gzh+z0kJ*ch-#EGId|J7& z{yj)zU2Ci%I2}N}!2+Vway*Ugowa96$?zBe4Hk$?ak-S3?l$%2thDAty->l9Wh}(_wlj_5uKH+Emb+3GvbZ0000@P)N2bPDNB8 zb~7$DE-^4L^m3s900Cl2L_t(IPrZ{nPr_gnh8Z24jlo0%8sdP#05X6=L?~!LF}2ua6gWY6Wx~MUZR*WQ)VwX9)yN!xf9EOJ1KO)C(D8dp*QuaG&E4C>7yO zr{Rc3u|g24g6S?>MoI?bdiC9 zDHw#olZWwy274uFf zRu^Zr;nr}7M6(G`nu0~1*Qm6-W{24@qp|hJJ8+T&fARpElnn1|!(}mQCn^W={(O&i z^%NC42_l=plEX0`IJ&0Wej5+hJX%ExWN7Pe@JMoV!Qz~uk&5^y6DXoiHHSu?np`l} c2l@5r8-^06PBA89lmGw#07*qoM6N<$f`A6TU;qFB literal 0 HcmV?d00001 diff --git a/textures/fishing_fish_cooked.png b/textures/fishing_fish_cooked.png new file mode 100644 index 0000000000000000000000000000000000000000..709d8f2a0a09fe5730758539fa3899767bb52df4 GIT binary patch literal 846 zcmV-U1F`&xP)N2bPDNB8 zb~7$DE-^4L^m3s900PQML_t(IPeoJPPE%139iX(O&=z{5l~(ADwxEDOB&h*|D7O?O z5=o)0ilR19v{4iSBGjlDHtkiDjc91e%tQ>NEw$ZEB!c{PL7 z@CC6*FsMMqDs?(FI-O4a5q8#;mge^>D-VHWmft4QFsMWnYiewy0B80fF^H{4cae?{ zVm=XroS6&;A|wCGi)k|Qv2geR761NVZzYYLd((KlFoU_|2!4NE$MS3f7yCLDh>GBL zI#tvL=Avjnw{zIIegTU&;}|*JhR?e%F@I$YnM>ypABrOE&_R{%J9<>rQdL!@e1!w2 z%~thoa~0Rd`;bn?u%F9db@CkU+?c>%v>8*wrw&UHC%s-zwFM$Iy#BD3!H@kN+~-vH zmaZZ**ohbEaZJX#;WiRFeO3rx_4V~cElo{SV>D7VXK=E;ok~hdXl1e=vs~{;?+NsE z1dvPiOGI2A>qV=_1nG*7zuMYbqO!6wve|4Z{rb8(RnEKT%lNeY6y0qNINKFMi`$5S zt}t8-qT~A#%xpI2>5}N3ZEfUXXW`-FW)5rFX^b*)U11ku-N(^r*Md6^(Toz3#iD$@ zUN5OML@>KcGkBOuA%!lFiLeRC+3zx30TuTs|XTIHq6zMtnTIHDjkY2plgKHmYlv{ujsT+%$#(?cGYOOY*Skw}E>cDoAt YAJ#&`Oy0wHAOHXW07*qoM6N<$g6v>@C;$Ke literal 0 HcmV?d00001 diff --git a/textures/fishing_particle_amorce.png b/textures/fishing_particle_amorce.png new file mode 100644 index 0000000000000000000000000000000000000000..f861b3ad5c8ba7859d623b6ddf4a7faf4faeb813 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqY)RhkEoOKp{s@7sn8Z%e{S$Tnvgl%hB0`$`njxgN@xNAl9V(w literal 0 HcmV?d00001 diff --git a/textures/fishing_pike.png b/textures/fishing_pike.png new file mode 100644 index 0000000000000000000000000000000000000000..5c7885f326a3a0a3cf62ff16302530b3414202a2 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P^!c=q9iy!t)x7$D3u`~F*C13&(AePq0Cs%RL{`B;7id$psJ;w zE{-7<{>cdv8V{s1e$Lm~?I`6~@pfC)C7y=NoXpf8^W&vlcBNUX+iq~1l*^u(@uq`4 zyG7Dz%l(O_%{lCnDLJdU?*CNqRdBswa=&I5!y3tai35K+eVTLHGSyD~G`Q{9)?m^U z<5F^>*+hJbqtk2+b!BVLC7Qa&fB%1S)3RVTr_RelF{r5}E-1+h&9S literal 0 HcmV?d00001 diff --git a/textures/fishing_pike_cooked.png b/textures/fishing_pike_cooked.png new file mode 100644 index 0000000000000000000000000000000000000000..7d66e7ca9783f3f496da048f0ae016e6ea01ef6c GIT binary patch literal 702 zcmV;v0zv(WP)N2bPDNB8 zb~7$DE-^4L^m3s900KHmL_t(IPi0d}YZFlvzRBc4GI=-2WRl6G=}gSfNt+VIRz)q9 zP<7GLM^sv{YO%Hv1&d&d<+NC?emEb>c;YRrM+;DF*^lavy zGw1Q0?|zs0{eDI!zI09`58HtE#H9k>fawrVAsuu>iyF<~6jA6!Crk9YUdycdc5j<_QQcjt`sI+rEj3 z#vn#)9rst~deHxy&*wX+5l*pKWQ9V3|L9(w$NRm9puJb;C$YUY2UTI{M=MFn=kvVi z+_;Mn^MNLBbS80fbO;MmV_082i{C#!@#*WA+Xx1OjBZI1t*nDv2$+)`11_|Q3bb`&V%$o@NL^>nx^&YNP(mS zp}M7+DQvAR!qQX;dGq=#N~Mw{P2}>m={f{ywC|}#5wD+a;P0<5aED4rr_)jogidfJ zuaVd#kql}nJh`)s=MQdx#I<~J0&ZmhgiaJur))OM8 zQN3Q5H%4(XkC-|aPGjp<>&kwgnOlI%lI@~ZB~WOkr;B5V#p$J!4Y>|E2)N#Fo6@wk zb?L!FIeL!@&uH58v47z4loH&s;ld%W4OjCO+m2@3DYfT0eQ1yU=`(#3U3xA}c%q}v zTCg`qf@gWo?4_R02OlSfHbQ;^<|bt-J{Og}X4m-=x?p4aI?pQ8p(gNlmb zOkESH^Ivy;cip>tYvo&s^UJ^1#~Uu&wPg80{TsKu-o0%57`bfG3f6$oZI@$&clUBm btYUcb`|_+ghi{$%I-0@L)z4*}Q$iB}_lzopr0Cda)($X?><>&kwgnO9hrYxa7(8laGyr;B5V#p&df1B@!Ewf~eq&$qvK zsKZxQn7K9K0dK-V)sKH~7oXyJ@MMz9!}<#ACx;r^&sdE>_DNLo-U3d7N?g6TXP+95SbI3BjR{a ztF?DR!o)SL*FRW16OlX4T){Y7#aF;*qLLVwQb$;tj>@F0(}<)ifztWr)FYL=e3?#;2%+3(TT z306-|nQl{*=a-)2fBXB5t$a-yON}Qk^4odac$WMn^E>(NO;!vIDT;soHb0$}sc$KB zR=af4dcic~`8T7s&0CnW_kn|EzgOi}u4Q|d7{*a)($X?><>&kwgnO9iG)Z~&9P=vwT)5S5w;&gJ#0Y;V7+JDNQ=iA;o z({Uy}rKMn|ga!+9J_GkguEaXInz#kA5+6QfFW|Dd=aeqKr*7YTBW8=8DuF-b?-}u2 d&scJUfgxXsYrgk{%O^qRdb;|#taD0e0szD0I+p+d literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood.png b/textures/fishing_pole_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb196bbc5ac7f7147b163ed452f8bb7e0d151fc GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G_YAk0{w5IAo(S)J#&f5f;?;r<}Wz_7{mbf&m756IIDp00i_>zopr E01?Jo7XSbN literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood_back.png b/textures/fishing_pole_wood_back.png new file mode 100644 index 0000000000000000000000000000000000000000..7b584789d7afa5989a1033613ec8c1f64473d531 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvTcBT^vI!{F4(7FgEFi{#QlEO>-$ z&iqqO{&n1G!CZ*A)0?kA#gljoOagxP_jsBexa#uQ-bn2xgSzUu|0iao0iE6wm}@G- Sx9uy?76wmOKbLh*2~7YzX-v=n literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood_bottom.png b/textures/fishing_pole_wood_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..6f52ca8c2e15cb18124ec37d8f3f350550a417bc GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP*t#} zi(`m|e{#YB#yL|g{wpWPyejD8XJ+PEYVl9`@k9x>qbDE!pJ;e8(P1NFpx-YLQ_ti3 z_P_l-o@NIwIy|*EQoG4uZ+-axi5V%(8fAHdQGEO!zeAoUa^ZzUhe(svhedLsT=mc*+ z2E$`%-~RE=F>iJFebgoO_cGA~K0n!v{_gNP`(fJ|u|vo1@q0J^iGElo_P{=3?_AC) v(v?gbl()*Jv(~*iDN=F3{$q^QxjIJ6Vn1bb9@YOq&oOwq`njxgN@xNA2^)qL literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood_front.png b/textures/fishing_pole_wood_front.png new file mode 100644 index 0000000000000000000000000000000000000000..e8aa3d671c1515781de81fb118a28763bfcfb69c GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvQ|RT^vI!{F8tD|8LK1CX>DTlf2~Pp!QH>kB=)D7biMQEqSm)?~AgTe~DWM4f Dj8I0g literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood_simple.png b/textures/fishing_pole_wood_simple.png new file mode 100644 index 0000000000000000000000000000000000000000..afa5b1927e2338ff948463a853db013b56bb61c7 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G`-Aj~-FC-YLEpj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9ish**M!Iz?iKvknZfwG`Sf98ul;W3%M;b8*v1k*z%qU!C!=?rJwN^W0qV$<6q99@R4&q#DltH<*2qd2R-? z%+=O^(q4rLM!kc{GnfArB`x|@6GcevcSei7sb0*N)44$rjF6*2UngIHZW}5&2 literal 0 HcmV?d00001 diff --git a/textures/fishing_pole_wood_top.png b/textures/fishing_pole_wood_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1408eac72713755864d1cc4a1e60425bde654e38 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP?e*n zi(`m|e{#YB#-!ZPf69;l|Nn2SkR0>t!K1?$7@F$b!W-n+oG&zNQF#9U#EcaEfSiWO nLeJ|{d^T~nIqF<{98gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^4L^m3s90099>L_t(IPsLGPOM_4t_E+@_Vjv|8hqh0X1FOx{9c>ks7nYR~ zhcSr3=w@u}uZ;byryYlDU9_X#bl~OOywB$=N&oS#qY?NN*5;t@LjuN*5YLx~2>?jh zaHR}v+Ae%H#$vTTOrYolde4XToWOgX;3odSsagY@Ef7t=^4V934Z{!74c?&lJ+z%6 zxP#o;<+J7wco0BqlKfz?RDVX+hC0@)Ni(pXks>wCLTg@ncyN6I7}VG@N@F zUib^Ve-U8^bkn*Ozo*uP%W};~^PO8h3>tvkKH;RkEi3zlB)lA+uWDYU%0j?j3;b+K j=dwIO;X9YMx(ECQL${r064a+q00000NkvXXu0mjf`w^os literal 0 HcmV?d00001 diff --git a/textures/fishing_shark_cooked.png b/textures/fishing_shark_cooked.png new file mode 100644 index 0000000000000000000000000000000000000000..b6142ce2963d23eedce720be1108c85a8876b68b GIT binary patch literal 763 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0007NNklkXX9 zq)|B%#_w-mP%4!=48z02ha#oZX_}pmV4-{rZ`YdGd%ceKMiYN8;n$Dv__*}~tc^f3 zIOVaiF{xck|NW~?JiW1qHyd|x^I`=%n-5T(Ex=;2h!z5$&!^Z&Mn;q!kH;w;_2YB9 zh4a}I&Ss)GS;%k}hfypRm2j+bH-3I<<5V()M@u!h^aQV6F9EdH%j)rX#K&kfN~<)~ zs|7r}wT$L+4PUpn#4&p`1fB&hK_QpRi5(0ErS|D~5cT;Iu2tu7xiF1(V^y5FBL@cu zs%-99e}8{xs+1uA!oF+W!S2I*xL=!xHcTdyiQI0tA`XQ@olLTcAi{17F65^0q`rhJ zb5qEKJi_X?610x+o}DysDLj1AHqOwjBP^aNqJFNVCX5-nb@{&mI-QOv91hDlr&une zaq0Msun!CjC~Y)Ho6SaEua~&pOw3a&@caF;o}QZl3loh-sZy!PYh;@zl^wt_yZOUttdV4>oNcU002ovPDHLkV1m4gR{8({ literal 0 HcmV?d00001 diff --git a/textures/fishing_sushi.png b/textures/fishing_sushi.png new file mode 100644 index 0000000000000000000000000000000000000000..c64cecaf9680957127cf84bb7c8b9e13f1709418 GIT binary patch literal 590 zcmV-U0N2bPDNB8 zb~7$DE-^4L^m3s900GKLL_t(IPo%15J!iqXUcQ6e$^$K$PTY;YP0i@Uq`yywY%-Z5b8I_FxC z2ZMb9wwJ*y%n(V(kzG^V{kQ2QfVWyBRV{F^_l%3LZ#X~eb9&Mypeu~4)0aR)fb#kh zz3x*!zH9UOLx=s%ItN=TTzos`$N5`MUbna*O%6eZ0M)xI9KL!^e}9+u0|DDy=IGG| z{fFzEeL3Ri_xFTM%^y&|w?VV9L+@pS!(Nlt{VID~t9&}`iWnWb?FNb!^9S5nTc%K} z;4RJ5e6lSdyBzmhbY470wRIwvj_Er7fc#vE{6d**wTP8X5lcIS?dWgqhyWPLI9755 zV7Ba0SzN%$rLl7<)P#X#L{RJ)vLPVCKr==}$au39Yjb4E1&nk8#rXpW##E6#isdFS z9NRxaX|YPK;xSXoqYHgCVG_{7+|p!}K@4G_+ryHUBx%m?2Z5Pe835lswYKWVm z0Ftl>s$rsz;kYpR&V$RyFk^nw1QDls8XBk3wrN@#Qw|L(gI*9i-Q2|38PF!=9X cxaw;E0v%FoFoaZPkpKVy07*qoM6N<$f;Y1T2mk;8 literal 0 HcmV?d00001 diff --git a/textures/fishing_trophy_label.png b/textures/fishing_trophy_label.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8326b0664545b72f33f26361499d69a01f55fa GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvPM#T^vI!{F8tD|8LK%Iz#EKLbp4w1aI@hd3^h9l&XVW~Fc3uFQ!QkoY=d#Wzp$PyS%0T=8 literal 0 HcmV?d00001 diff --git a/textures/fishing_worm.png b/textures/fishing_worm.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4d8d11fb49c7f2d3f03391769753bf052ad4bf GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G_YAk0{w5(_fB*l_?EQao&i%j4vrk^;*!1%CsdN8-S9^JG7hUr6-MXv)zw6I% znU^+!QGfcDiR&d(4t(T2tx?Q)LLlHo{7d~MXH*xgu)g4%=5XkdjLd>3$JowH==N3% zdNy_Y?PnA75Bzzj_UJI;fA3qm`TyiMe~N2e|8Mut{QEyM>)rpqm!nRWTNzsN ZGi+ae literal 0 HcmV?d00001 diff --git a/textures/not_in_use/fishing_bobber_feather_1.png b/textures/not_in_use/fishing_bobber_feather_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9eff3f8d8af519546768d0b635fd5f69f7e4152c GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvV1Xx;Tbd_$MbwuqvCfB;DoxXZ^bCum2abpZ-A-OW33S@^1_M{XS9U zul=o1{v3`#wkhgWfB82B{>@*n`NdxQh}as*6oJ55+LQMDcei@|r~K;lAM>T(eYhVn zjdzXY6RAZ!9fgf?)B|Hr9q`fuE{rt>n7k%Iaexi?G`#2wli uf4KaVUZ!#K_?LRmIluqk`ob_rig8V3gpSOYxz~YSWAJqKb6Mw<&;$UHE{jwE literal 0 HcmV?d00001 diff --git a/textures/not_in_use/fishing_bobber_feather_2.png b/textures/not_in_use/fishing_bobber_feather_2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f710c32025ea78e96f3b6a13fd8fc5546b4b426 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL8%hgh?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$0figD*u3fvRqKx;Tbd_`jXt&418Ar1keqN)6?S}R( zd3JfG0-8)*kJlN?KP|L>oiT~!jjLq%_QTT;UD(X?U=2rzP5} zKKVr9Y#wQeP6YBF3^_@p00i_>zopr E0FNJwg#Z8m literal 0 HcmV?d00001 diff --git a/textures/not_in_use/fishing_bobber_ready.png b/textures/not_in_use/fishing_bobber_ready.png new file mode 100644 index 0000000000000000000000000000000000000000..2a37b4e9d3fda27d6a21626451d224ac1967f193 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP*s$t zi(`m|fAWw2|LvKr@))=h58t@5DC5{t!C0A_3MtGDk5m{p#LZw-dFc}5Bg=eZtL&Qo z#v2WXm*!bWI0SMiE!8MGyU@={!Q6C_N~%Ho4U!lvI6;>1s;*b z3=G^rh1>#+YnAtw0tKZ?Tq80C&Kf7io?>upjjiNUl eHW>+TVr1}NdZRn_E6-w}tqh*7elF{r5}E+Lnn|z# literal 0 HcmV?d00001 diff --git a/textures/old/fishing_bobber_alternate_old.png b/textures/old/fishing_bobber_alternate_old.png new file mode 100644 index 0000000000000000000000000000000000000000..5779a71e37217c79e146b5a3e24204f84534a424 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{^MbQ4*Y=R#Ki=l*$m0n3-3i=jR%tP-d)Ws%L0m@TF)WP*td> zi(`m|e{#YBrc;Ma{wE*4ab;1*!%H1{eODLED(U{eBtgX4<6_4eu{;h}wh5~xm-RQ^ zXgDlseE0xE7qg(q^e0kIb4wVETSLMV&hj5|)4aJ;Xto6L`Ty0;0nJQ2>bZyaD*B`wAlAkxwy;=0c8iYNP%Wo}cJ@EEq-_;GyVOaaO6 cmNz^MAIx~=T(XLP0xe?jboFyt=akR{09#5+CjbBd literal 0 HcmV?d00001 diff --git a/textures/old/fishing_pole_wield.png b/textures/old/fishing_pole_wield.png new file mode 100644 index 0000000000000000000000000000000000000000..cb0dcc9a6ce1b3023d50e332980a279968add15d GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=G_YAk0{w5SQ7HGG>Qaoge+ytmRt9 z$j8U$lF4?nFOgy6EXQ@u*Le7uComq7Xv(v`=5R!m?S_ePE`#1#7s&>HV@GC=%wyRM zhO;(GC1@P|I6va71Y3hi6OTiGcFjuRdEy=$MQ=KEZ8AEcz|g(pbmpUXHu6A6F?hQA KxvXN2bPDNB8 zb~7$DE-^4L^m3s9009F@L_t(IPsNeTYQjJmg?%cYK!l({i6r$JL%?1}jg#0aQ5R~g zkusD*5yXuseU;*49i5R#H+75~2Zq`F-#O<$lStg-G{>LdH?}v28iNpwB@t|YE(@rJ z4ddAZnTBF8f~}SVk9}eHyO$@>>=sOK1owT3Zt#JuRsh@VFkY?YFn3k*Wps{k!=J-= zaZzo*f+vWzdjyl=9D3P~2h(6FoSl%N+VPQ6^y>wj**9u*hzjkA#x;vT)$4MBbgqO_ zyARVHo#ANbs}s;;aU@uX=+eTJf+^xX5DzBxVZTj~DW1xTUa1J*jmOJbPr_LW{5Qb= lU9COdE)e^lZ;tv0JOH}=l}Vw+Oxyqf002ovPDHLkV1g_Fp_Kpt literal 0 HcmV?d00001 diff --git a/trophies.lua b/trophies.lua new file mode 100644 index 0000000..e69de29 diff --git a/worms.lua b/worms.lua new file mode 100644 index 0000000..e69de29