From a08f13d1187a98409022efa10a9b96f35b51d71c Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Tue, 22 Nov 2022 10:36:24 +0000 Subject: [PATCH] croc code rebased and re-licensed --- mobs_crocs/License.txt | 2 +- mobs_crocs/init.lua | 249 +++++++++++++-------------------------- mobs_turtles/License.txt | 3 +- 3 files changed, 88 insertions(+), 166 deletions(-) diff --git a/mobs_crocs/License.txt b/mobs_crocs/License.txt index 6025dea..6225717 100644 --- a/mobs_crocs/License.txt +++ b/mobs_crocs/License.txt @@ -1,5 +1,5 @@ Licenses -Code: MIT +Code: MIT (code re-based) Model/Textures: GPL v3 Author: Team NPX diff --git a/mobs_crocs/init.lua b/mobs_crocs/init.lua index c8db298..2532331 100644 --- a/mobs_crocs/init.lua +++ b/mobs_crocs/init.lua @@ -1,70 +1,68 @@ - --- local variables -local l_spawn_chance = 60000 - -- load settings -local ENABLE_WALKERS = minetest.settings:get_bool("mobs_crocs.enable_walkers", true) -local ENABLE_FLOATERS = minetest.settings:get_bool("mobs_crocs.enable_floaters", true) -local ENABLE_SWIMMERS = minetest.settings:get_bool("mobs_crocs.enable_swimmers", true) +local croc_walkers = minetest.settings:get_bool("mobs_crocs.enable_walkers", true) +local croc_floaters = minetest.settings:get_bool("mobs_crocs.enable_floaters", true) +local croc_swimmers = minetest.settings:get_bool("mobs_crocs.enable_swimmers", true) +local croc_spawn_chance = 60000 -if not ENABLE_WALKERS then - l_spawn_chance = l_spawn_chance - 20000 -end +-- tweak croc spawn chance depending on which one's are enabled +croc_spawn_chance = croc_spawn_chance - (croc_walkers and 0 or 20000) +croc_spawn_chance = croc_spawn_chance - (croc_floaters and 0 or 20000) +croc_spawn_chance = croc_spawn_chance - (croc_swimmers and 0 or 20000) -if not ENABLE_FLOATERS then - l_spawn_chance = l_spawn_chance - 20000 -end - -if not ENABLE_SWIMMERS then - l_spawn_chance = l_spawn_chance - 20000 -end +-- crocodile mob definition +local croc_def = { + type = "monster", + attack_type = "dogfight", + damage = 8, + reach = 3, + hp_min = 20, + hp_max = 25, + armor = 200, + collisionbox = {-0.85, -0.30, -0.85, 0.85, 1.5, 0.85}, + drawtype = "front", + visual = "mesh", + mesh = "crocodile.x", + textures = { + {"croco.png"}, + {"croco2.png"} + }, + visual_size = {x = 4, y = 4}, + sounds = { + random = "croco" + }, + fly = false, + floats = 0, + stepheight = 1, + view_range = 10, + water_damage = 0, + lava_damage = 10, + light_damage = 0, + animation = { + speed_normal = 24, + speed_run = 24, + stand_start = 0, + stand_end = 80, + walk_start = 81, + walk_end = 170, + fly_start = 81, + fly_end = 170, + run_start = 81, + run_end = 170, + punch_start = 205, + punch_end = 220 + }, + drops = { + {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, + {name = "mobs:leather", chance = 1, min = 0, max = 2} + } +} --- no float -if ENABLE_WALKERS then +if croc_walkers then - mobs:register_mob("mobs_crocs:crocodile", { - type = "monster", - attack_type = "dogfight", - damage = 8, - reach = 3, - hp_min = 20, - hp_max = 25, - armor = 200, - collisionbox = {-0.85, -0.30, -0.85, 0.85, 1.5, 0.85}, - drawtype = "front", - visual = "mesh", - mesh = "crocodile.x", - textures = { - {"croco.png"}, - {"croco2.png"} - }, - visual_size = {x = 4, y = 4}, - sounds = {random = "croco"}, - fly = false, - floats = 0, - stepheight = 1, - view_range = 10, - water_damage = 0, - lava_damage = 10, - light_damage = 0, - animation = { - speed_normal = 24, - speed_run = 24, - stand_start = 0, - stand_end = 80, - walk_start = 81, - walk_end = 170, - run_start = 81, - run_end = 170, - punch_start = 205, - punch_end = 220 - }, - drops = { - {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, - {name = "mobs:leather", chance = 1, min = 0, max = 2} - } - }) + mobs:register_mob("mobs_crocs:crocodile", table.copy(croc_def)) + + mobs:register_egg("mobs_crocs:crocodile", "Crocodile (walk)", "default_grass.png", 1) mobs:spawn({ name = "mobs_crocs:crocodile", @@ -77,59 +75,23 @@ if ENABLE_WALKERS then "default:papyrus", "dryplants:juncus", "dryplants:reedmace" }, interval = 30, - chance = l_spawn_chance, + chance = croc_spawn_chance, min_height = 0, max_height = 10 }) - - mobs:register_egg("mobs_crocs:crocodile", "Crocodile", "default_grass.png", 1) end --- float -if ENABLE_FLOATERS then +if croc_floaters then - mobs:register_mob("mobs_crocs:crocodile_float", { - type = "monster", - attack_type = "dogfight", - damage = 8, - reach = 2, - hp_min = 20, - hp_max = 25, - armor = 200, - collisionbox = {-0.638, -0.23, -0.638, 0.638, 1.13, 0.638}, - drawtype = "front", - visual = "mesh", - mesh = "crocodile.x", - textures = { - {"croco.png"}, - {"croco2.png"} - }, - visual_size = {x = 3, y = 3}, - sounds = {random = "croco"}, - fly = false, - stepheight = 1, - view_range = 10, - water_damage = 0, - lava_damage = 10, - light_damage = 0, - animation = { - speed_normal = 24, - speed_run = 24, - stand_start = 0, - stand_end = 80, - walk_start = 81, - walk_end = 170, - run_start = 81, - run_end = 170, - punch_start = 205, - punch_end = 220 - }, - drops = { - {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, - {name = "mobs:leather", chance = 1, min = 0, max = 2} - } - }) + croc_def.reach = 2 + croc_def.collisionbox = {-0.638, -0.23, -0.638, 0.638, 1.13, 0.638} + croc_def.visual_size = {x = 3, y = 3} + croc_def.floats = 1 + + mobs:register_mob("mobs_crocs:crocodile_float", table.copy(croc_def)) + + mobs:register_egg("mobs_crocs:crocodile_float", "Crocodile (float)", "default_grass.png", 1) mobs:spawn({ name = "mobs_crocs:crocodile_float", @@ -140,75 +102,34 @@ if ENABLE_FLOATERS then "dryplants:juncus", "dryplants:reedmace" }, interval = 30, - chance = l_spawn_chance, + chance = croc_spawn_chance, min_height = -3, max_height = 10 }) - - mobs:register_egg("mobs_crocs:crocodile_float", "Crocodile (floater)", - "default_grass.png", 1) end --- swim -if ENABLE_SWIMMERS then +if croc_swimmers then - mobs:register_mob("mobs_crocs:crocodile_swim", { - type = "monster", - attack_type = "dogfight", - damage = 8, - reach = 1, - hp_min = 20, - hp_max = 25, - armor = 200, - collisionbox = {-0.425, -0.15, -0.425, 0.425, 0.75, 0.425}, - drawtype = "front", - visual = "mesh", - mesh = "crocodile.x", - textures = { - {"croco.png"}, - {"croco2.png"} - }, - visual_size = {x = 2, y = 2}, - sounds = {random = "croco"}, - fly = true, - fly_in = "default:water_source", - fall_speed = -1, - floats = 0, - view_range = 10, - water_damage = 0, - lava_damage = 10, - light_damage = 0, - animation = { - speed_normal = 24, - speed_run = 24, - stand_start = 0, - stand_end = 80, - walk_start = 81, - walk_end = 170, - fly_start = 81, - fly_end = 170, - run_start = 81, - run_end = 170, - punch_start = 205, - punch_end = 220 - }, - drops = { - {name = "mobs:meat_raw", chance = 1, min = 1, max = 3}, - {name = "mobs:leather", chance = 1, min = 0, max = 2} - }, - }) + croc_def.reach = 1 + croc_def.collisionbox = {-0.425, -0.15, -0.425, 0.425, 0.75, 0.425} + croc_def.visual_size = {x = 2, y = 2} + croc_def.fly = true + croc_def.fly_in = "default:water_source" + croc_def.fall_speed = -1 + croc_def.floats = 0 + + mobs:register_mob("mobs_crocs:crocodile_swim", table.copy(croc_def)) + + mobs:register_egg("mobs_crocs:crocodile_swim", "Crocodile (swim)", "default_grass.png", 1) mobs:spawn({ name = "mobs_crocs:crocodile_swim", - nodes = {"default:water_flowing","default:water_source"}, - neighbors = {"default:sand","default:dirt","group:seaplants"}, + nodes = {"default:water_flowing", "default:water_source"}, + neighbors = {"default:sand", "default:dirt", "group:seaplants"}, interval = 30, - chance = l_spawn_chance, + chance = croc_spawn_chance, min_height = -8, max_height = 10 }) - - mobs:register_egg("mobs_crocs:crocodile_swim", "Crocodile (swimmer)", - "default_grass.png", 1) end diff --git a/mobs_turtles/License.txt b/mobs_turtles/License.txt index 066c04d..37a535f 100644 --- a/mobs_turtles/License.txt +++ b/mobs_turtles/License.txt @@ -1,5 +1,6 @@ Licenses Code: MIT -Model/textures: unknown +Model/Textures: CC-BY-SA 3.0 + http://creativecommons.org/licenses/by-sa/3.0/de/legalcode Author: AspireMint