Compare commits

...

5 Commits

Author SHA1 Message Date
maikerumine 3908d70a1f added a blue monster that spawns deep 2015-10-24 18:57:25 -04:00
maikerumine 6a948e45e4 Added a blue monster that spawns -500m
Added a blue monster that spawns -500m
2015-10-19 18:07:08 -04:00
maikerumine 09af131478 more garbage 2015-08-08 18:14:54 -04:00
maikerumine eb60605330 Added Sound and change spawn time 2015-06-09 17:24:58 -05:00
maikerumine f6d2f0db01 RE-fixed dirt texture 2015-02-14 15:32:32 -05:00
11 changed files with 109 additions and 24 deletions

34
api.lua
View File

@ -41,7 +41,7 @@ function dirtmons:register_mob(name, def)
knock_back = def.knock_back or 3,
blood_offset = def.blood_offset or 0,
blood_amount = def.blood_amount or 5, -- 15
blood_texture = def.blood_texture or "mobs_blood.png",
blood_texture = def.blood_texture or "default_dirt.png",
rewards = def.rewards or nil,
stimer = 0,
timer = 0,
@ -50,17 +50,17 @@ function dirtmons:register_mob(name, def)
state = "stand",
v_start = false,
old_y = nil,
lifetimer = 600,
lifetimer = 60,
last_state = nil,
pause_timer = 0,
do_attack = function(self, player, dist)
if self.state ~= "attack" then
-- if self.sounds.war_cry then
-- if math.random(0,100) < 90 then
-- minetest.sound_play(self.sounds.war_cry,{ object = self.object })
-- end
-- end
if self.sounds.war_cry then
if math.random(0,100) < 90 then
minetest.sound_play(self.sounds.war_cry,{ object = self.object })
end
end
self.state = "attack"
self.attack.player = player
self.attack.dist = dist
@ -273,7 +273,7 @@ function dirtmons:register_mob(name, def)
end
-- FIND SOMEONE TO ATTACK
if ( self.type == "monster" or self.type == "npc" ) and minetest.setting_getbool("enable_damage") and self.state ~= "attack" then
if ( self.type == "monster" or self.type == "badp" ) and minetest.setting_getbool("enable_damage") and self.state ~= "attack" then
local s = self.object:getpos()
local inradius = minetest.get_objects_inside_radius(s,self.view_range)
local player = nil
@ -290,7 +290,7 @@ function dirtmons:register_mob(name, def)
end
end
if type == "player" or type == "badp" then
if type == "player" or type == "npc" then
local s = self.object:getpos()
local p = player:getpos()
local sp = s
@ -314,7 +314,7 @@ function dirtmons:register_mob(name, def)
for _, oir in pairs(inradius) do
local obj = oir:get_luaentity()
if obj then
if obj.type == "badp" or obj.type == "barbarian" then
if obj.type == "npc" or obj.type == "barbarian" then
-- attack monster
local p = obj.object:getpos()
local dist = ((p.x-s.x)^2 + (p.y-s.y)^2 + (p.z-s.z)^2)^0.5
@ -553,7 +553,7 @@ function dirtmons:register_mob(name, def)
self.object:remove()
end
if self.type ~= "npc" then
self.lifetimer = 600 - dtime_s
self.lifetimer = 60 - dtime_s
end
if staticdata then
local tmp = minetest.deserialize(staticdata)
@ -593,16 +593,16 @@ function dirtmons:register_mob(name, def)
local d = ItemStack(drop.name.." "..math.random(drop.min, drop.max))
-- default.drop_item(pos,d)
local pos2 = pos
pos2.y = pos2.y + 0.5 -- drop items half block higher
pos2.y = pos2.y + 3.5 -- drop items half block higher
minetest.add_item(pos2,d)
end
end
-- if self.sounds.death ~= nil then
-- minetest.sound_play(self.sounds.death,{
-- object = self.object,
-- })
-- end
if self.sounds.death ~= nil then
minetest.sound_play(self.sounds.death,{
object = self.object,
})
end
end

View File

@ -1,9 +1,10 @@
dofile(minetest.get_modpath("dirtmons").."/api.lua")
-- dirtmons:register_spawn(name, description, nodes, max_light, min_light, chance, active_object_count, max_height)
dirtmons:register_spawn("dirtmons:dirt", {"default:dirt_with_grass","default:stone", "default:stonebrick","default:cobble"}, 18, -1, 7000, 2, 31000)
dirtmons:register_spawn("dirtmons:dirt", {"default:dirt_with_grass","default:stone", "default:stonebrick","default:cobble"}, 7, 4, 12000, 2, 31000)
dirtmons:register_mob("dirtmons:dirt", {
type = "monster",
hp_max = 70,
hp_min = 30,
hp_max = 50,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "dirt.x",
@ -11,14 +12,23 @@ dirtmons:register_mob("dirtmons:dirt", {
visual_size = {x=3.5, y=2.8},
makes_footstep_sound = true,
view_range = 24,
follow = "flowers:viola",--swap out type randomly for server players"flowers:tulip","flowers:rose","flowers:geranium","flowers:dandelion_yellow","flowers:dandelion_white",
walk_velocity = 2.5,
run_velocity = 3.8,
damage = 2.7,
drops = {
{name = "default:dirt",
chance = 1,
min = 3,
max = 6,},
min = 1,
max = 2,},
{name = "bones:bones",
chance = 1,
min = 1,
max = 1,},
{name = "flowers:viola",
chance = 10,
min = 0,
max = 1,},
},
armor = 75,
drawtype = "front",
@ -38,8 +48,71 @@ dirtmons:register_mob("dirtmons:dirt", {
run_end = 63,
punch_start = 40,
punch_end = 63,
}
},
sounds = {
war_cry = "mobs_stone",
death = "mobs_death2",
attack = "mobs_stone_attack",
},
})
dirtmons:register_spawn("dirtmons:dirt2", {"default:dirt_with_grass","default:stone", "default:stonebrick","default:cobble"}, 7, 4, 7000, 5, -100)
dirtmons:register_mob("dirtmons:dirt2", {
type = "monster",
hp_min = 30,
hp_max = 50,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.9, 0.4},
visual = "mesh",
mesh = "dirt.x",
textures = {"dirt2.png"},
visual_size = {x=3.5, y=2.8},
makes_footstep_sound = true,
view_range = 24,
follow = "flowers:rose",--swap out type randomly for server players"flowers:tulip","flowers:rose","flowers:geranium","flowers:dandelion_yellow","flowers:dandelion_white",
walk_velocity = 1.5,
run_velocity = 2.8,
damage = 2.7,
drops = {
{name = "default:dirt",
chance = 1,
min = 1,
max = 2,},
{name = "bones:bones",
chance = 1,
min = 1,
max = 1,},
{name = "flowers:rose",
chance = 10,
min = 0,
max = 1,},
},
armor = 75,
drawtype = "front",
water_damage = 0,
lava_damage = 0,
light_damage = 0,
on_rightclick = nil,
attack_type = "dogfight",
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,
},
sounds = {
war_cry = "mobs_stone",
death = "mobs_death2",
attack = "mobs_stone_attack",
},
})
if minetest.setting_get("log_mods") then
@ -50,5 +123,3 @@ end

14
license.txt Normal file
View File

@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

BIN
models/dirt2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
sounds/mobs_death2.ogg Normal file

Binary file not shown.

BIN
sounds/mobs_stone.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
sounds/mobs_stone_death.ogg Normal file

Binary file not shown.

BIN
sounds/sounds.zip Normal file

Binary file not shown.

BIN
sounds/unusedsounds.zip Normal file

Binary file not shown.

BIN
textures/default_dirt.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B