Initial upload

This commit is contained in:
tenplus1 2023-07-15 09:26:41 +01:00
commit 7b5acb51e6
8 changed files with 3150 additions and 0 deletions

2
depends.txt Normal file
View File

@ -0,0 +1,2 @@
default
mobs

133
init.lua Normal file
View File

@ -0,0 +1,133 @@
-- Translation support
local S
if minetest.get_translator ~= nil then
S = minetest.get_translator("mob_mese_monster_classic") -- 5.x translation function
else
S = function(str, ...) -- boilerplate function
local args = {...}
return str:gsub("@%d+", function(match)
return args[tonumber(match:sub(2))]
end)
end
end
-- Mese Monster by Zeg9
mobs:register_mob("mob_mese_monster_classic:mese_monster", {
type = "monster",
passive = false,
damage = 3,
attack_type = "shoot",
shoot_interval = 0.5,
arrow = "mobs_monster:mese_arrow",
shoot_offset = 2,
hp_min = 10,
hp_max = 25,
armor = 80,
collisionbox = {-0.5, -1.5, -0.5, 0.5, 0.5, 0.5},
visual = "mesh",
mesh = "zmobs_mese_monster.x",
textures = {
{"zmobs_mese_monster.png"},
},
blood_texture = "default_mese_crystal_fragment.png",
makes_footstep_sound = false,
sounds = {
random = "mobs_mesemonster",
},
view_range = 10,
walk_velocity = 0.5,
run_velocity = 2,
jump = true,
jump_height = 8,
fall_damage = 0,
fall_speed = -6,
stepheight = 2.1,
drops = {
{name = "default:mese_crystal", chance = 9, min = 0, max = 2},
{name = "default:mese_crystal_fragment", chance = 1, min = 0, max = 2},
},
water_damage = 1,
lava_damage = 1,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 14,
walk_start = 15,
walk_end = 38,
run_start = 40,
run_end = 63,
punch_start = 40,
punch_end = 63,
},
arrow_override = function(self)
self.velocity = 6
self.damage = 3
end
})
-- Spawn in world
mobs:spawn({
name = "mobs_monster:mese_monster",
nodes = {"default:stone"},
max_light = 7,
chance = 5000,
active_object_count = 1,
max_height = -20,
})
-- Spawn egg
mobs:register_egg("mob_mese_monster_classic:mese_monster", S("Mese Monster Classic"),
"default_mese_block.png", 1)
-- Mmese arrow (only if mobs_monster isn't found)
if not minetest.get_modpath("mobs_monster") then
mobs:register_arrow(":mobs_monster:mese_arrow", {
visual = "sprite",
visual_size = {x = 0.5, y = 0.5},
textures = {"default_mese_crystal_fragment.png"},
velocity = 6,
hit_player = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 2},
}, nil)
end,
hit_mob = function(self, player)
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 2},
}, nil)
end,
hit_node = function(self, pos, node)
end
})
-- add recipe 9x mese crystal fragments = 1x mese crystal
local tmp = "default:mese_crystal_fragment"
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{tmp, tmp, tmp},
{tmp, tmp, tmp},
{tmp, tmp, tmp}
}
})
end
print ("[MOD] Mob Mese Monsters Classic loaded")

9
license.txt Normal file
View File

@ -0,0 +1,9 @@
Licenses:
Code by TenPlus1 (MIT)
SFX by Cyberpangolin (WTFPL)
Model by Zeg9 (CC BY-SA 3.0)
Texture by Zeg9 and edited by TenPlus1 (CC BY-SA 3.0)

4
mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = mob_mese_monster_classic
depends = default, mobs
optional_depends =
description = Adds classic Mese Monster.

2999
models/zmobs_mese_monster.x Normal file

File diff suppressed because it is too large Load Diff

3
readme.md Normal file
View File

@ -0,0 +1,3 @@
# 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. Another thing - they do not take damage from simple weapons.

BIN
sounds/mobs_mesemonster.ogg Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B