From f8823aae43eb3927d310e319b962804d6cdd86fb Mon Sep 17 00:00:00 2001 From: thunderdog1138 <58536412+thunderdog1138@users.noreply.github.com> Date: Wed, 18 Dec 2019 10:46:58 -0500 Subject: [PATCH] Add files via upload --- mods/mobs_monster/description.txt | 1 + mods/mobs_monster/init.lua | 33 ++++++++ mods/mobs_monster/license.txt | 32 +++++++ mods/mobs_monster/lucky_block.lua | 42 +++++++++ mods/mobs_monster/mod.conf | 1 + mods/mobs_monster/readme.md | 40 +++++++++ mods/mobs_monster/sand_monster.lua | 131 +++++++++++++++++++++++++++++ 7 files changed, 280 insertions(+) create mode 100644 mods/mobs_monster/description.txt create mode 100644 mods/mobs_monster/init.lua create mode 100644 mods/mobs_monster/license.txt create mode 100644 mods/mobs_monster/lucky_block.lua create mode 100644 mods/mobs_monster/mod.conf create mode 100644 mods/mobs_monster/readme.md create mode 100644 mods/mobs_monster/sand_monster.lua diff --git a/mods/mobs_monster/description.txt b/mods/mobs_monster/description.txt new file mode 100644 index 00000000..ac3d8870 --- /dev/null +++ b/mods/mobs_monster/description.txt @@ -0,0 +1 @@ +Adds many types of monster. diff --git a/mods/mobs_monster/init.lua b/mods/mobs_monster/init.lua new file mode 100644 index 00000000..6def31f0 --- /dev/null +++ b/mods/mobs_monster/init.lua @@ -0,0 +1,33 @@ + +local path = minetest.get_modpath("mobs_monster") + +-- Intllib +local S +if minetest.global_exists("intllib") then + if intllib.make_gettext_pair then + -- New method using gettext. + S = intllib.make_gettext_pair() + else + -- Old method using text files. + S = intllib.Getter() + end +else + S = function(s) return s end +end +mobs.intllib = S + +-- Monsters + +dofile(path .. "/dirt_monster.lua") -- PilzAdam +dofile(path .. "/dungeon_master.lua") +dofile(path .. "/oerkki.lua") +dofile(path .. "/sand_monster.lua") +dofile(path .. "/stone_monster.lua") +dofile(path .. "/tree_monster.lua") +dofile(path .. "/lava_flan.lua") -- Zeg9 +dofile(path .. "/mese_monster.lua") +dofile(path .. "/spider.lua") -- AspireMint + +dofile(path .. "/lucky_block.lua") + +print ("[MOD] Mobs Redo Monsters loaded") diff --git a/mods/mobs_monster/license.txt b/mods/mobs_monster/license.txt new file mode 100644 index 00000000..cb50163b --- /dev/null +++ b/mods/mobs_monster/license.txt @@ -0,0 +1,32 @@ +The MIT License (MIT) + +Copyright (c) 2016 TenPlus1 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +mobs.fireball.png was originally made by Sapier and edited by Benrob: + +-- Animals Mod by Sapier +-- +-- You may copy, use, modify or do nearly anything except removing this +-- copyright notice. +-- And of course you are NOT allow to pretend you have written it. +-- +-- (c) Sapier +-- Contact sapier a t gmx net diff --git a/mods/mobs_monster/lucky_block.lua b/mods/mobs_monster/lucky_block.lua new file mode 100644 index 00000000..c9aeceac --- /dev/null +++ b/mods/mobs_monster/lucky_block.lua @@ -0,0 +1,42 @@ + +if minetest.get_modpath("lucky_block") then + + local web = {name = "mobs:cobweb"} + local web_trap = { + size = {x = 3, y = 3, z = 3}, + data = { + web, web, web, + web, web, web, + web, web, web, + + web, web, web, + web, web, web, + web, web, web, + + web, web, web, + web, web, web, + web, web, web, + }, + } + + lucky_block:add_schematics({ + {"webtrap", web_trap, {x = 1, y = 0, z = 1}}, + }) + + lucky_block:add_blocks({ + {"sch", "webtrap", 1, true}, + {"spw", "mobs:dungeon_master", 1, nil, nil, 3, "Billy"}, + {"spw", "mobs:sand_monster", 3}, + {"spw", "mobs:stone_monster", 3, nil, nil, 3, "Bob"}, + {"spw", "mobs:dirt_monster", 3}, + {"spw", "mobs:tree_monster", 3}, + {"spw", "mobs:oerkki", 3}, + {"exp"}, + {"spw", "mobs:spider", 5}, + {"spw", "mobs:mese_monster", 2}, + {"spw", "mobs:lava_flan", 3}, + {"nod", "default:chest", 0, { + {name = "mobs:lava_orb", max = 1}}}, + }) + +end diff --git a/mods/mobs_monster/mod.conf b/mods/mobs_monster/mod.conf new file mode 100644 index 00000000..3c4fe390 --- /dev/null +++ b/mods/mobs_monster/mod.conf @@ -0,0 +1 @@ +name = mobs_monster diff --git a/mods/mobs_monster/readme.md b/mods/mobs_monster/readme.md new file mode 100644 index 00000000..8a02c17a --- /dev/null +++ b/mods/mobs_monster/readme.md @@ -0,0 +1,40 @@ + +MONSTER MOBS + +Dirt Monster + +- Spawning at night on green grass (or grey in ethereal) these mobs wander around looking for a player to eat. Drops 1-5 dirt when killed. + +Dungeon Master + +- Spawning below -70 underground DM's have a tendency to hurl fire balls at unsuspecting players and can cause major damage, but get too close and he will switch to dogfight attack. Can drop mese or diamond when killed. + +Lava Flan + +- Cute as they may look lava flan wallow in their namesake (no, not flans) and get curious about players who wander by, forgetting that they can burn you and cause damage. They have a 1 in 5 chance of dropping lava orb when killed. + +Mese Monster + +- These mobs are territorial and spawn below -20 and will fire mese shards at passers by, so best avoided. Will drop mese when killed. + +Oerkki + +- Found in dark areas like most monsters Oerkki wander the caverns stealing away torches on the ground and attacking anyone found in that area. 1 in 3 chance of dropping obsidian. + +Sand Monster + +- The hot deserts are home to these guys who spawn at any time of the day to attack players. They drop 3-5 desert sand when killed. + +Spiders + +- Snowy spiders are found on higher cold areas, Tarantula's in higher jungle, Cave spider below -20 and Mese spider near areas containing the ore and Crystal spiders only in Ethereal's crystal biomes. Some are docile during the daytime and will drop string when killed. + +Stone Monster + +- Found underground in dark caves these mobs seem to be zombie-like in fashion with a tendency to rush a player in the area. can drop torch, iron or coal when killed. + +Tree Monster + +- Found atop tree's at night time they drop down and look for food in the form of players and animals. Can drop saplings and sometimes an apple or three. + +Lucky Blocks: 11 diff --git a/mods/mobs_monster/sand_monster.lua b/mods/mobs_monster/sand_monster.lua new file mode 100644 index 00000000..e3ae0f21 --- /dev/null +++ b/mods/mobs_monster/sand_monster.lua @@ -0,0 +1,131 @@ + +local S = mobs.intllib + + +-- custom particle effects +local effect = function(pos, amount, texture, min_size, max_size, radius, gravity, glow) + + radius = radius or 2 + min_size = min_size or 0.5 + max_size = max_size or 1 + gravity = gravity or -10 + glow = glow or 0 + + minetest.add_particlespawner({ + amount = amount, + time = 0.25, + minpos = pos, + maxpos = pos, + minvel = {x = -radius, y = -radius, z = -radius}, + maxvel = {x = radius, y = radius, z = radius}, + minacc = {x = 0, y = gravity, z = 0}, + maxacc = {x = -20, y = gravity, z = 15}, + minexptime = 0.1, + maxexptime = 1, + minsize = min_size, + maxsize = max_size, + texture = texture, + glow = glow, + }) +end + + +-- Sand Monster by PilzAdam + +mobs:register_mob("mobs_monster:sand_monster", { + type = "monster", + passive = false, + attack_type = "dogfight", + pathfinding = true, + --specific_attack = {"player", "mobs_npc:npc"}, + reach = 2, + damage = 1, + hp_min = 4, + hp_max = 20, + armor = 100, + collisionbox = {-0.4, -1, -0.4, 0.4, 0.8, 0.4}, + visual = "mesh", + mesh = "mobs_sand_monster.b3d", + textures = { + {"mobs_sand_monster.png"}, + }, + blood_texture = "default_desert_sand.png", + makes_footstep_sound = true, + sounds = { + random = "mobs_sandmonster", + }, + walk_velocity = 1.5, + run_velocity = 4, + view_range = 8, --15 + jump = true, + floats = 0, + drops = { + {name = "default:desert_sand", chance = 1, min = 3, max = 5}, + }, + water_damage = 3, + lava_damage = 4, + light_damage = 0, + fear_height = 4, + animation = { + speed_normal = 15, + speed_run = 15, + stand_start = 0, + stand_end = 39, + walk_start = 41, + walk_end = 72, + run_start = 74, + run_end = 105, + punch_start = 74, + punch_end = 105, + }, + immune_to = { + {"default:shovel_wood", 3}, -- shovels deal more damage to sand monster + {"default:shovel_stone", 3}, + {"default:shovel_bronze", 4}, + {"default:shovel_steel", 4}, + {"default:shovel_mese", 5}, + {"default:shovel_diamond", 7}, + }, +--[[ + custom_attack = function(self, p) + local pos = self.object:get_pos() + minetest.add_item(pos, "default:sand") + end, +]] + on_die = function(self, pos) + pos.y = pos.y + 0.5 + effect(pos, 30, "mobs_sand_particles.png", 0.1, 2, 3, 5) + pos.y = pos.y + 0.25 + effect(pos, 30, "mobs_sand_particles.png", 0.1, 2, 3, 5) + end, +--[[ + on_rightclick = function(self, clicker) + + local tool = clicker:get_wielded_item() + local name = clicker:get_player_name() + + if tool:get_name() == "default:sand" then + + self.owner = name + self.type = "npc" + + mobs:force_capture(self, clicker) + end + end, +]] +}) + + +mobs:spawn({ + name = "mobs_monster:sand_monster", + nodes = {"default:desert_sand"}, + chance = 7000, + active_object_count = 2, + min_height = 0, +}) + + +mobs:register_egg("mobs_monster:sand_monster", S("Sand Monster"), "default_desert_sand.png", 1) + + +mobs:alias_mob("mobs:sand_monster", "mobs_monster:sand_monster") -- compatibility