forked from Sokomine/yl_speak_up
Merge branch 'whosit-trade_list' into trade_list
This commit is contained in:
commit
3b5515aeac
381
mobs.lua
381
mobs.lua
@ -18,336 +18,75 @@ function yl_speak_up.on_spawn(self)
|
|||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:human", {
|
|
||||||
type = "npc",
|
|
||||||
passive = true,
|
|
||||||
damage = 9,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 1, y = 1},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape?
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin
|
|
||||||
"3d_armor_trans.png", -- shield?!
|
|
||||||
"3d_armor_trans.png", -- item right hand
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
-- thankyou flux for helping with this
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
function yl_speak_up.alias_mob(old_mob, new_mob)
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
minetest.register_entity(
|
||||||
})
|
":" .. old_mob,
|
||||||
|
{
|
||||||
|
initial_properties = {
|
||||||
|
physical = false,
|
||||||
|
-- pointable = false,
|
||||||
|
collide_with_objects = false,
|
||||||
|
-- is_visible = false,
|
||||||
|
glow = -1, -- disable light's effect on texture to make more visible in dark
|
||||||
|
shaded = false,
|
||||||
|
nametag = "Please /bug me",
|
||||||
|
infotext = "I should have been an NPC\nbut something went wrong\nplease report to staff",
|
||||||
|
static_save = true,
|
||||||
|
},
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:human", "Human", "wool_blue.png", 1)
|
on_activate = function(self, staticdata)
|
||||||
|
local new_entity
|
||||||
|
local pos = self.object:get_pos()
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:elf", {
|
if pos and minetest.features.add_entity_with_staticdata then
|
||||||
type = "npc",
|
-- if pos is nil then we don't know where we are and we can't add entity.
|
||||||
passive = true,
|
new_entity = minetest.add_entity(pos, new_mob, staticdata)
|
||||||
damage = 9,
|
end
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.25, 0.0, -0.25, 0.25, 1.9, 0.25},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 0.9, y = 1.1},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape?
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin
|
|
||||||
"3d_armor_trans.png", -- shield?!
|
|
||||||
"3d_armor_trans.png", -- item right hand
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
local data = minetest.deserialize(staticdata) or {}
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
local pos_str = pos and minetest.pos_to_string(pos) or "NO_POS"
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
local owner = data.owner or "NO_OWNER"
|
||||||
})
|
local id = (data.yl_speak_up or {}).id or "NO_ID"
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:elf", "Elf", "wool_cyan.png", 1)
|
if new_entity then
|
||||||
|
self.object:remove()
|
||||||
|
minetest.log("action", string.format("[yl_speak_up] alias_mob: converted %s ID:%s owned by %s to %s @ %s",
|
||||||
|
old_mob, id, owner, new_mob, pos_str)
|
||||||
|
)
|
||||||
|
else
|
||||||
|
self.staticdata = staticdata
|
||||||
|
self.object:set_armor_groups({immortal = 1})
|
||||||
|
minetest.log("error", string.format("[yl_speak_up] alias_mob: error initializing %s ID:%s owned by %s @ %s, keeping %s for safe keeping",
|
||||||
|
new_mob, id, owner, pos_str, old_mob)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:dwarf", {
|
get_staticdata = function(self)
|
||||||
type = "npc",
|
return self.staticdata
|
||||||
passive = true,
|
end,
|
||||||
damage = 9,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.35, 0.0, -0.35, 0.35, 1.4, 0.35},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 1.1, y = 0.8},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape?
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin
|
|
||||||
"3d_armor_trans.png", -- shield?!
|
|
||||||
"3d_armor_trans.png", -- item right hand
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
on_blast = function()
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
return false, false, {}
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
end,
|
||||||
})
|
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:dwarf", "Dwarf", "wool_red.png", 1)
|
-- TODO allow STAFF to pick up with lasso and move?
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:goblin", {
|
|
||||||
type = "npc",
|
|
||||||
passive = true,
|
|
||||||
damage = 9,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.25, 0.0, -0.25, 0.25, 1.4, 0.25},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 0.7, y = 0.8},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape?
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin
|
|
||||||
"3d_armor_trans.png", -- shield?!
|
|
||||||
"3d_armor_trans.png", -- item right hand
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
do
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
local races = {'human', 'elf', 'dwarf', 'goblin', 'orc', 'npc'}
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
for _, race in pairs(races) do
|
||||||
})
|
-- alias entities
|
||||||
|
yl_speak_up.alias_mob("yl_speak_up:" .. race, "yl_npc:" .. race)
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:goblin", "Goblin", "wool_yellow.png", 1)
|
-- alias eggs for spawning new NPCs
|
||||||
|
minetest.register_alias("yl_speak_up:" .. race, "yl_npc:" .. race)
|
||||||
|
-- alias eggs that store NPCs picked up with a lasso
|
||||||
|
minetest.register_alias("yl_speak_up:" .. race .. "_set", "yl_npc:" .. race .. "_set")
|
||||||
|
end
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:orc", {
|
end
|
||||||
type = "npc",
|
|
||||||
passive = true,
|
|
||||||
damage = 9,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.35, 0.0, -0.35, 0.35, 1.9, 0.35},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 1.1, y = 1.1},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape?
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin
|
|
||||||
"3d_armor_trans.png", -- shield?!
|
|
||||||
"3d_armor_trans.png", -- item right hand
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
|
||||||
})
|
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:orc", "Orc", "wool_dark_green.png", 1)
|
|
||||||
|
|
||||||
-- ###
|
|
||||||
-- Test
|
|
||||||
-- ###
|
|
||||||
|
|
||||||
mobs:register_mob("yl_speak_up:npc", {
|
|
||||||
type = "npc",
|
|
||||||
passive = true,
|
|
||||||
damage = 9,
|
|
||||||
attack_type = "dogfight",
|
|
||||||
attacks_monsters = true,
|
|
||||||
attack_npcs = false,
|
|
||||||
owner_loyal = false,
|
|
||||||
pathfinding = false,
|
|
||||||
hp_min = 60,
|
|
||||||
hp_max = 100,
|
|
||||||
armor = 0,
|
|
||||||
collisionbox = {-0.35, 0.0, -0.35, 0.35, 1.9, 0.35},
|
|
||||||
visual = "mesh",
|
|
||||||
visual_size = {x = 1.1, y = 1.1},
|
|
||||||
mesh = "skinsdb_3d_armor_character_5.b3d",
|
|
||||||
drawtype = "front",
|
|
||||||
textures = {{
|
|
||||||
"blank.png", -- cape? wenn 64x32, dann 56,20 - 63,31, wenn 128x64, dann 111,39 - 127,63, rest invis
|
|
||||||
"yl_speak_up_main_default.png", -- 64x64 skin oder auch 128x128?
|
|
||||||
"blank.png", -- shield?! 64x32
|
|
||||||
"3d_armor_trans.png", -- item right hand (16x16)
|
|
||||||
}},
|
|
||||||
makes_footstep_sound = true,
|
|
||||||
sounds = {},
|
|
||||||
walk_velocity = 2,
|
|
||||||
run_velocity = 3,
|
|
||||||
jump = false,
|
|
||||||
water_damage = 0,
|
|
||||||
lava_damage = 0,
|
|
||||||
light_damage = 0,
|
|
||||||
view_range = 4,
|
|
||||||
owner = "Haven",
|
|
||||||
order = "stand",
|
|
||||||
fear_height = 3,
|
|
||||||
animation = {
|
|
||||||
speed_normal = 30,
|
|
||||||
speed_run = 30,
|
|
||||||
stand_start = 0,
|
|
||||||
stand_end = 79,
|
|
||||||
walk_start = 168,
|
|
||||||
walk_end = 187,
|
|
||||||
run_start = 168,
|
|
||||||
run_end = 187,
|
|
||||||
punch_start = 200,
|
|
||||||
punch_end = 219,
|
|
||||||
},
|
|
||||||
|
|
||||||
on_rightclick = yl_speak_up.mobs_on_rightclick,
|
|
||||||
on_spawn = yl_speak_up.on_spawn,
|
|
||||||
after_activate = yl_speak_up.mobs_after_activate
|
|
||||||
})
|
|
||||||
|
|
||||||
mobs:register_egg("yl_speak_up:npc", "NPC", "wool_black.png", 1)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user