From 538d11f89620be20358370fb1bab4c58b58c7ce6 Mon Sep 17 00:00:00 2001 From: daretmavi Date: Mon, 1 Mar 2021 21:35:21 +0100 Subject: [PATCH] Mod Update --- mod_sources.txt | 12 +- .../mobs_mobs/mobs_monster/dirt_monster.lua | 45 ++++- mods/mobs/mobs_mobs/mobs_monster/oerkki.lua | 1 + mods/mobs/mobs_mobs/mobs_monster/spider.lua | 158 ++++++++++++++---- .../mobs_mobs/mobs_monster/stone_monster.lua | 40 ++++- .../textures/mobs_dirt_monster2.png | Bin 0 -> 594 bytes .../textures/mobs_dirt_monster3.png | Bin 0 -> 610 bytes .../mobs_monster/textures/mobs_oerkki3.png | Bin 0 -> 1201 bytes .../textures/mobs_stone_monster2.png | Bin 3682 -> 757 bytes .../textures/mobs_stone_monster3.png | Bin 0 -> 3682 bytes .../textures/mobs_tree_monster3.png | Bin 0 -> 3179 bytes .../textures/mobs_tree_monster4.png | Bin 0 -> 3186 bytes .../textures/mobs_tree_monster5.png | Bin 0 -> 3728 bytes .../mobs_mobs/mobs_monster/tree_monster.lua | 61 ++++++- 14 files changed, 272 insertions(+), 45 deletions(-) create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster2.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster3.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_oerkki3.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_stone_monster3.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster3.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster4.png create mode 100644 mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster5.png diff --git a/mod_sources.txt b/mod_sources.txt index ace6a6e..6247e68 100644 --- a/mod_sources.txt +++ b/mod_sources.txt @@ -132,10 +132,18 @@ origin https://github.com/Skandarella/Animal-World.git (fetch) * main d999da3 [origin/main] Add files via upload Mod: mobs/mobs_mobs/Animal-World +origin https://github.com/hkzorman/advanced_npc.git (fetch) +* master a43233f [origin/master] Merge pull request #53 from hkzorman/clean_api +Mod: mobs/mobs_mobs/advanced_npc + origin https://github.com/FreeLikeGNU/goblins.git (fetch) * master a680780 [origin/master] fix issue #14 Mod: mobs/mobs_mobs/goblins +origin https://github.com/hkzorman/mg_villages_npc.git (fetch) +* master 10478a5 [origin/master] Commit +Mod: mobs/mobs_mobs/mg_villages_npc + origin https://codeberg.org/Hamlet/mobs_ghost_redo (fetch) * master ac9c013 [origin/master] v0.7.0 Mod: mobs/mobs_mobs/mobs_ghost_redo @@ -145,7 +153,7 @@ origin https://codeberg.org/Hamlet/mobs_humans (fetch) Mod: mobs/mobs_mobs/mobs_humans origin https://notabug.org/TenPlus1/mobs_monster.git (fetch) -* master 9835105 [origin/master] fix typo in mod.conf +* master 57f40cf [origin/master] make cave spider tiny Mod: mobs/mobs_mobs/mobs_monster origin https://github.com/berengma/aerotest (fetch) @@ -161,7 +169,7 @@ origin https://github.com/berengma/water_life (fetch) Mod: mobs/mobs_mobkit/water_life origin https://github.com/minetest-mods/3d_armor (fetch) -* master 42f7dac [origin/master] Update fire and water protection (#42) +* master 31aa979 [origin/master] 3darmor sfinv spanish translation Mod: player/3d_armor origin https://github.com/appgurueu/character_anim (fetch) diff --git a/mods/mobs/mobs_mobs/mobs_monster/dirt_monster.lua b/mods/mobs/mobs_mobs/mobs_monster/dirt_monster.lua index 518116a..31e515a 100644 --- a/mods/mobs/mobs_mobs/mobs_monster/dirt_monster.lua +++ b/mods/mobs/mobs_mobs/mobs_monster/dirt_monster.lua @@ -1,6 +1,16 @@ local S = mobs.intllib +local dirt_types = { + + { nodes = {"ethereal:dry_dirt"}, + skins = {"mobs_dirt_monster3.png"}, + drops = { + {name = "ethereal:dry_dirt", chance = 1, min = 0, max = 2} + } + } +} + -- Dirt Monster by PilzAdam @@ -19,6 +29,7 @@ mobs:register_mob("mobs_monster:dirt_monster", { mesh = "mobs_stone_monster.b3d", textures = { {"mobs_dirt_monster.png"}, + {"mobs_dirt_monster2.png"}, }, blood_texture = "default_dirt.png", makes_footstep_sound = true, @@ -48,19 +59,39 @@ mobs:register_mob("mobs_monster:dirt_monster", { punch_start = 40, punch_end = 63, }, + + -- check surrounding nodes and spawn a specific spider + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #dirt_types do + + tmp = dirt_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) -local spawn_on = "default:dirt_with_grass" - -if minetest.get_modpath("ethereal") then - spawn_on = "ethereal:gray_dirt" -end - if not mobs.custom_spawn_monster then mobs:spawn({ name = "mobs_monster:dirt_monster", - nodes = {spawn_on}, + nodes = {"default:dirt_with_grass", "ethereal:gray_dirt", "ethereal:dry_dirt"}, min_light = 0, max_light = 7, chance = 6000, diff --git a/mods/mobs/mobs_mobs/mobs_monster/oerkki.lua b/mods/mobs/mobs_mobs/mobs_monster/oerkki.lua index 6e42c42..f706b43 100644 --- a/mods/mobs/mobs_mobs/mobs_monster/oerkki.lua +++ b/mods/mobs/mobs_mobs/mobs_monster/oerkki.lua @@ -20,6 +20,7 @@ mobs:register_mob("mobs_monster:oerkki", { textures = { {"mobs_oerkki.png"}, {"mobs_oerkki2.png"}, + {"mobs_oerkki3.png"}, }, makes_footstep_sound = false, sounds = { diff --git a/mods/mobs/mobs_mobs/mobs_monster/spider.lua b/mods/mobs/mobs_mobs/mobs_monster/spider.lua index 9cb4ae1..4a74b3b 100644 --- a/mods/mobs/mobs_mobs/mobs_monster/spider.lua +++ b/mods/mobs/mobs_mobs/mobs_monster/spider.lua @@ -11,6 +11,47 @@ local get_velocity = function(self) return (v.x * v.x + v.z * v.z) ^ 0.5 end + +local spider_types = { + + { nodes = {"default:snow", "default:snowblock", "default:dirt_with_snow"}, + skins = {"mobs_spider_snowy.png"}, + docile = true, + drops = nil + }, + + { nodes = {"default:dirt_with_rainforest_litter", "default:jungletree"}, + skins = {"mobs_spider_orange.png"}, + docile = true, + drops = nil, + shoot = true + }, + + { nodes = {"default:stone", "default:gravel"}, + skins = {"mobs_spider_grey.png"}, + docile = nil, + drops = nil, + small = true + }, + + { nodes = {"default:mese", "default:stone_with_mese"}, + skins = {"mobs_spider_mese.png"}, + docile = nil, + drops = { + {name = "farming:string", chance = 1, min = 0, max = 2}, + {name = "default:mese_crystal_fragment", chance = 2, min = 1, max = 4}} + }, + + { nodes = {"ethereal:crystal_dirt", "ethereal:crystal_spike"}, + skins = {"mobs_spider_crystal.png"}, + docile = true, + drops = { + {name = "farming:string", chance = 1, min = 0, max = 2}, + {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}} + } +} + + -- Spider by AspireMint (CC-BY-SA 3.0 license) mobs:register_mob("mobs_monster:spider", { @@ -53,7 +94,7 @@ mobs:register_mob("mobs_monster:spider", { light_damage = 0, animation = { speed_normal = 15, - speed_run = 20,--15, + speed_run = 20, stand_start = 0, stand_end = 0, walk_start = 1, @@ -63,42 +104,46 @@ mobs:register_mob("mobs_monster:spider", { punch_start = 25, punch_end = 45, }, - -- what kind of spider are we spawning? + + -- check surrounding nodes and spawn a specific spider on_spawn = function(self) local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp - -- snowy spider - if minetest.find_node_near(pos, 1, - {"default:snow", "default:snowblock", "default:dirt_with_snow"}) then - self.base_texture = {"mobs_spider_snowy.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - -- tarantula - elseif minetest.find_node_near(pos, 1, - {"default:dirt_with_rainforest_litter", "default:jungletree"}) then - self.base_texture = {"mobs_spider_orange.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - -- grey spider - elseif minetest.find_node_near(pos, 1, - {"default:stone", "default:gravel"}) then - self.base_texture = {"mobs_spider_grey.png"} - self.object:set_properties({textures = self.base_texture}) - -- mese spider - elseif minetest.find_node_near(pos, 1, - {"default:mese", "default:stone_with_mese"}) then - self.base_texture = {"mobs_spider_mese.png"} - self.object:set_properties({textures = self.base_texture}) - elseif minetest.find_node_near(pos, 1, - {"ethereal:crystal_dirt", "ethereal:crystal_spike"}) then - self.base_texture = {"mobs_spider_crystal.png"} - self.object:set_properties({textures = self.base_texture}) - self.docile_by_day = true - self.drops = { - {name = "farming:string", chance = 1, min = 0, max = 2}, - {name = "ethereal:crystal_spike", chance = 15, min = 1, max = 2}, - } + for n = 1, #spider_types do + + tmp = spider_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + self.docile_by_day = tmp.docile + + if tmp.drops then + self.drops = tmp.drops + end + + if tmp.shoot then + self.attack_type = "dogshoot" + self.arrow = "mobs_monster:cobweb" + self.dogshoot_switch = 1 + self.dogshoot_count_max = 60 + self.dogshoot_count2_max = 20 + self.shoot_interval = 2 + self.shoot_offset = 2 + end + + if tmp.small then + self.object:set_properties({ + collisionbox = {-0.2, -0.2, -0.2, 0.2, 0, 0.2}, + visual_size = {x = 0.25, y = 0.25} + }) + end + + return true + end end return true -- run only once, false/nil runs every activation @@ -233,7 +278,7 @@ minetest.register_node(":mobs:cobweb", { walkable = false, groups = {snappy = 1, disable_jump = 1}, drop = "farming:string", - sounds = default.node_sound_leaves_defaults(), + sounds = default.node_sound_leaves_defaults() }) minetest.register_craft({ @@ -244,3 +289,48 @@ minetest.register_craft({ {"farming:string", "", "farming:string"}, } }) + + +local web_place = function(pos) + + local pos2 = minetest.find_node_near(pos, 1, {"air", "group:leaves"}, true) + + if pos2 then + minetest.swap_node(pos2, {name = "mobs:cobweb"}) + end +end + +mobs:register_arrow("mobs_monster:cobweb", { + visual = "sprite", + visual_size = {x = 1, y = 1}, + textures = {"mobs_cobweb.png"}, + collisionbox = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, + velocity = 15, + tail = 1, + tail_texture = "mobs_cobweb.png", + tail_size = 5, + glow = 2, + expire = 0.1, + + hit_player = function(self, player) + + player:punch(self.object, 1.0, { + full_punch_interval = 2.0, + damage_groups = {fleshy = 3}, + }, nil) + + web_place(self.object:get_pos()) + end, + + hit_node = function(self, pos, node) + web_place(pos) + end, + + hit_mob = function(self, player) + + player:punch(self.object, 1.0, { + full_punch_interval = 2.0, + damage_groups = {fleshy = 3}, + }, nil) + end +}) diff --git a/mods/mobs/mobs_mobs/mobs_monster/stone_monster.lua b/mods/mobs/mobs_mobs/mobs_monster/stone_monster.lua index 34197d7..eb8d650 100644 --- a/mods/mobs/mobs_mobs/mobs_monster/stone_monster.lua +++ b/mods/mobs/mobs_mobs/mobs_monster/stone_monster.lua @@ -1,6 +1,18 @@ local S = mobs.intllib +local stone_types = { + + { nodes = {"default:desert_stone"}, + skins = {"mobs_stone_monster3.png"}, + drops = { + {name = "default:desert_cobble", chance = 1, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:gold_lump", chance = 5, min = 0, max = 2} + } + } +} + -- Stone Monster by PilzAdam @@ -34,7 +46,7 @@ mobs:register_mob("mobs_monster:stone_monster", { drops = { {name = "default:cobble", chance = 1, min = 0, max = 2}, {name = "default:coal_lump", chance = 3, min = 0, max = 2}, - {name = "default:iron_lump", chance = 5, min = 0, max = 2}, + {name = "default:iron_lump", chance = 5, min = 0, max = 2} }, water_damage = 0, lava_damage = 1, @@ -59,6 +71,32 @@ mobs:register_mob("mobs_monster:stone_monster", { {"default:pick_mese", 6}, {"default:pick_diamond", 7}, }, + + -- check surrounding nodes and spawn a specific spider + on_spawn = function(self) + + local pos = self.object:get_pos() ; pos.y = pos.y - 1 + local tmp + + for n = 1, #stone_types do + + tmp = stone_types[n] + + if minetest.find_node_near(pos, 1, tmp.nodes) then + + self.base_texture = tmp.skins + self.object:set_properties({textures = tmp.skins}) + + if tmp.drops then + self.drops = tmp.drops + end + + return true + end + end + + return true -- run only once, false/nil runs every activation + end }) diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster2.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster2.png new file mode 100644 index 0000000000000000000000000000000000000000..964698c91eaf2f258abbf9bbb3961144f6e1f23e GIT binary patch literal 594 zcmV-Y0%7648g0H*)~RwD*qDGBue0BJH2ayk=zLmiD!C7oU`ux>bQAbvgo z0004WQchCQ?|6_|G#z%$`Pq|9erTPI7SlE z{0IZ26ibl;m^4O6s*)2j1Bu5!>qAu)OU^_LqL4%dm_;N3Q1;jnR1rpiTnJGLqKZ;B zMpR5f9yAqg*@vE-|`fgOQJRX|!jGs>^H*u)L&2ux(AXdamcGii9ngon6XkO;om5n#$W z+BJVYD@P#gu>~tejB(#Kv0j1+uw$>DX{{04qB*D>+a}f%6xEn%^~{u@HaX^Qz+>CQ zIs!F&D5cdiV~Eif0OO})+r)YTJ%x88zPQJad6^Y2;U+9QJ{Xr-aRhf^+3~@+%!((N zCSfw7*<2xT~#!yTqqHm~(a}amV{DJoLfuNtCX4y5eoyqP|F?b`PdL zh<`pCzfR)R2ixDzhVPSj_CW|+h&M@uC5doJ;@Jlwq_oNFBu;%0Ov3vlPWKW%cOECT#uwAEHk=wwzc{#Q*>R07*qoM6N<$f-XJxJOBUy literal 0 HcmV?d00001 diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster3.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_dirt_monster3.png new file mode 100644 index 0000000000000000000000000000000000000000..f11faee487913cff4e109716df40ad0ddced5f97 GIT binary patch literal 610 zcmV-o0-gPdP)P)t-skpKYu z004baHk@ETuWL!Ga80;&Q^0ym!+>4Gfmh6gR?UfF-<4?Nm0|0kaqgjP^`U6}u6g{n zfd9C7|HO*_%#Z)pm;d3O{_3HGbK#-@0004WQchCco z5NqY)B3mq+1^fSBdVoqx*>)U#V93Zs60^C4pl7X>bL0SIQc6pTWC8LE3>;s^2On`; zR%;!42ubS@!|Vd(;{b>pGlK0ecr)uv06@-|L=n+CYopPG95aG>^?ntPyMaw7{}y9H z$cSS`V0E}5QSy?&`L`G{pW+&31lkCR$&H>lnm@%g%x?e>G%Jptd0IZjHOvSoY*B+7 zJ@ZH}ajJ-Gm=QR;ET~lWDD<9rgk9XSntZhvW&|J+718Kf;VOi7vl7(4En*o#J`0p^ z^ek=<0eO*W5s~(75z9SrF-nW0XITlvyxb|@-0s`OB9C%DOHQidk?#VL8KlgM)-lQ3 zzAa)I!MCtH@iTs5u!ei^B`i<8GY+%D2)>2oiFd|fR`?A%;azwtF7FTf;9FQ4t{*t+ zgE|RASQ@T>>8KCtBn)9`xJo$cgAxukgr(s+tw()OCt(On!?iDt`e3N7kCCh%9reNQ zB!)V=hkfuniBvu4e(^L-DxFATsvdNGpsv?xJ)Oj^52j22r<2(Afe@2Wr<3^Z10j@} w=yVdhJ`h>L`6PCIPzcQFBzAouf|cwB|2)S@R;;#3W&i*H07*qoM6N<$g05r|UH||9 literal 0 HcmV?d00001 diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_oerkki3.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_oerkki3.png new file mode 100644 index 0000000000000000000000000000000000000000..8c24d5cdecbf0c8f40bd718086db83fdb7d441c8 GIT binary patch literal 1201 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 A`~Uy| diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_stone_monster3.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_stone_monster3.png new file mode 100644 index 0000000000000000000000000000000000000000..70bfc6ecee2aa2c7597cb8dfdb732595db35ad96 GIT binary patch literal 3682 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 A`~Uy| literal 0 HcmV?d00001 diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster3.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster3.png new file mode 100644 index 0000000000000000000000000000000000000000..9e18fb2e275d5033a16557925dddceb72f683801 GIT binary patch literal 3179 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 RfBOIc002ovPDHLkV1g!G*XjTO literal 0 HcmV?d00001 diff --git a/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster4.png b/mods/mobs/mobs_mobs/mobs_monster/textures/mobs_tree_monster4.png new file mode 100644 index 0000000000000000000000000000000000000000..6299e32dfaa440f19e81eefad2486a9695d26919 GIT binary patch literal 3186 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