Finally back to work!

This commit is contained in:
npx 2017-03-23 00:55:40 +01:00
parent 4c38a7f6e0
commit 8a13f7d7e7
8 changed files with 186 additions and 22 deletions

View File

@ -377,6 +377,28 @@ mobs:register_arrow("nssm:pumpkid_bomb", {
end end
}) })
--Lava_block bomb
mobs:register_arrow("nssm:lava_block_bomb", {
visual = "cube",
visual_size = {x = 1, y = 1},
textures = {"default_lava.png","default_lava.png", "default_lava.png", "default_lava.png", "default_lava.png", "default_lava.png"},
velocity = 8,
-- direct hit
hit_player = function(self, player)
local p = player:getpos()
if not minetest.is_protected(p, "") or not minetest.get_item_group(minetest.get_node(p).name, "unbreakable") == 1 then
minetest.set_node(p, {name="default:lava_source"})
end
end,
hit_node = function(self, pos, node)
if not minetest.is_protected(pos, "") or not minetest.get_item_group(minetest.get_node(pos).name, "unbreakable") == 1 then
minetest.set_node(pos, {name="default:lava_source"})
end
end
})
-- --
mobs:register_arrow("nssm:roar_of_the_dragon", { mobs:register_arrow("nssm:roar_of_the_dragon", {
visual = "sprite", visual = "sprite",

View File

@ -67,6 +67,7 @@ dofile(path.."/mobs/tartacacia.lua")
dofile(path.."/mobs/uloboros.lua") dofile(path.."/mobs/uloboros.lua")
dofile(path.."/mobs/werewolf.lua") dofile(path.."/mobs/werewolf.lua")
dofile(path.."/mobs/white_werewolf.lua") dofile(path.."/mobs/white_werewolf.lua")
dofile(path.."/mobs/salamander.lua")
--Final Boss --Final Boss
dofile(path.."/mobs/mese_dragon.lua") dofile(path.."/mobs/mese_dragon.lua")

View File

@ -53,7 +53,7 @@ mobs:register_mob("nssm:black_scorpion", {
die_end = 210, die_end = 210,
}, },
custom_attack = function (self) custom_attack = function (self)
if math.random(1,100) == 1 then if math.random(1,30) == 1 then
set_animation(self, "punch2") set_animation(self, "punch2")
self.attack:punch(self.object, 1.0, { self.attack:punch(self.object, 1.0, {
full_punch_interval = 1.0, full_punch_interval = 1.0,

View File

@ -48,9 +48,8 @@ mobs:register_mob("nssm:phoenix", {
blood_amount=50, blood_amount=50,
on_rightclick = nil, on_rightclick = nil,
fly = true, fly = true,
attack_type = "shoot", attack_type = "dogfight",
arrow = "nssm:phoenix_arrow", reach = 15,
reach = 1,
shoot_interval = 4, shoot_interval = 4,
animation = { animation = {
speed_normal = 25, speed_normal = 25,
@ -65,5 +64,68 @@ mobs:register_mob("nssm:phoenix", {
punch_end = 110, punch_end = 110,
shoot_start = 80, shoot_start = 80,
shoot_end = 110, shoot_end = 110,
} },
custom_attack = function(self)
local p = self.attack:getpos()
local s = self.object:getpos()
local vel = vector.subtract(p,s)
minetest.add_particlespawner(
125, --amount
0.5, --time
s, --minpos
s, --maxpos
vector.multiply(vel, 0.5), --minvel
vector.multiply(vel, 1.4), --maxvel
{x=0,y=0,z=0}, --minacc
{x=0,y=0,z=0}, --maxacc
2, --minexptime
4, --maxexptime
10, --minsize
20, --maxsize
true, --collisiondetection
"phoenix_fire.png" --texture
)
--local dir = placer:get_look_dir()
--local playerpos = placer:getpos()
local obj = minetest.add_entity(s, "nssm:phoenix_dart")
local ran = math.random(7,14)/10
local vec = vector.multiply(vel, ran)
obj:setvelocity(vec)
minetest.after(0.5, function()
local p = self.attack:getpos()
local vel = vector.subtract(p,s)
local obj = minetest.add_entity(s, "nssm:phoenix_dart")
local ran = math.random(7,14)/10
local vec = vector.multiply(vel, ran)
obj:setvelocity(vec)
end)
end,
})
minetest.register_entity("nssm:phoenix_dart", {
textures = {"transparent.png"},
on_step = function(self, dtime)
self.timer = (self.timer) or os.time()
self.attack = (self.attack) or os.time()
if os.time() - self.timer > 4 then
self.object:remove()
end
local all_objects = minetest.get_objects_inside_radius(self.object:getpos(), 1)
local players = {}
local _,obj
for _,obj in ipairs(all_objects) do
if obj:is_player() then
obj:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 1}
}, nil)
end
end
end,
}) })

View File

@ -15,8 +15,8 @@ mobs:register_mob("nssm:pumpboom_small", {
walk_velocity = 1, walk_velocity = 1,
run_velocity = 2.5, run_velocity = 2.5,
sounds = { sounds = {
explode = "tnt_explode", explode = "tnt_explode",
random = "pumpboom", random = "pumpboom",
}, },
damage = 1.5, damage = 1.5,
jump = true, jump = true,
@ -74,8 +74,8 @@ mobs:register_mob("nssm:pumpboom_medium", {
explosion_radius = 3, explosion_radius = 3,
run_velocity = 2.5, run_velocity = 2.5,
sounds = { sounds = {
explode = "tnt_explode", explode = "tnt_explode",
random = "pumpboom", random = "pumpboom",
}, },
damage = 1.5, damage = 1.5,
jump = true, jump = true,
@ -133,8 +133,8 @@ mobs:register_mob("nssm:pumpboom_large", {
walk_velocity = 2, walk_velocity = 2,
run_velocity = 3, run_velocity = 3,
sounds = { sounds = {
explode = "tnt_explode", explode = "tnt_explode",
random = "pumpboom", random = "pumpboom",
}, },
damage = 1.5, damage = 1.5,
jump = true, jump = true,

77
mobs/salamander.lua Normal file
View File

@ -0,0 +1,77 @@
mobs:register_mob("nssm:salamander", {
type = "monster",
hp_max = 35,
hp_min = 24,
collisionbox = {-0.6, -0.8, -0.6, 0.6, 0.4, 0.5},
visual = "mesh",
rotate = 270,
mesh = "salamander.x",
textures = {{"salamander.png"}},
visual_size = {x=12, y=12},
fear_height = 4,
makes_footstep_sound = true,
view_range = 24,
walk_velocity = 2,
run_velocity = 4,
damage = 6,
jump = true,
drops = {
{name = "nssm:life_energy",
chance = 1,
min = 1,
max = 2,},
{name = "nssm:duck_legs",
chance = 1,
min = 1,
max = 8,},
{name = "nssm:silk_gland",
chance = 2,
min = 1,
max = 2,},
{name = "nssm:black_duck_feather",
chance = 3,
min = 1,
max = 4,},
{name = "nssm:duck_beak",
chance = 5,
min = 1,
max = 1,},
},
armor = 80,
drawtype = "front",
water_damage = 2,
lava_damage = 5,
light_damage = 0,
group_attack=true,
attack_animals=true,
knock_back=2,
blood_texture="nssm_blood.png",
stepheight=1.5,
on_rightclick = nil,
dogshoot_switch = true,
attack_type = "dogshoot",
arrow = "nssm:lava_block_bomb",
reach = 2,
shoot_interval = 2,
shoot_offset = 2,
animation = {
speed_normal = 25,
speed_run = 35,
stand_start = 0,
stand_end = 80,
walk_start = 110,
walk_end = 150,
run_start = 110,
run_end = 150,
punch_start = 160,
punch_end = 180,
shoot_start = 200,
shoot_end = 250,
die_start = 80,
die_end = 100,
--[[
swim_start = 260,
swim_end = 300,
]]
}
})

View File

@ -1901,7 +1901,9 @@ function nssm_register_egg (name, descr)
core.after(0.1, function() core.after(0.1, function()
minetest.add_entity(pos1, "nssm:".. name) minetest.add_entity(pos1, "nssm:".. name)
end) end)
itemstack:take_item() if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack return itemstack
end, end,
}) })
@ -1917,7 +1919,9 @@ function nssm_register_egg2 (name, descr) --mobs you can't catch
core.after(0.1, function() core.after(0.1, function()
minetest.add_entity(pos1, "nssm:".. name) minetest.add_entity(pos1, "nssm:".. name)
end) end)
itemstack:take_item() if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack return itemstack
end, end,
}) })
@ -1985,6 +1989,7 @@ nssm_register_egg2 ('morgut', 'Morgut')
nssm_register_egg2 ('morde', 'Morde') nssm_register_egg2 ('morde', 'Morde')
nssm_register_egg2 ('morlu', 'Morlu') nssm_register_egg2 ('morlu', 'Morlu')
nssm_register_egg2 ('morwa', 'Morwa') nssm_register_egg2 ('morwa', 'Morwa')
nssm_register_egg ('salamander', 'Salamander')
--nssm_register_egg ('morvalar', 'Morvalar') --nssm_register_egg ('morvalar', 'Morvalar')
minetest.register_craftitem("nssm:mese_egg", { minetest.register_craftitem("nssm:mese_egg", {
@ -2013,7 +2018,9 @@ minetest.register_craftitem("nssm:mese_egg", {
core.after(0.4, function() core.after(0.4, function()
minetest.add_entity(pos1, "nssm:mese_dragon") minetest.add_entity(pos1, "nssm:mese_dragon")
end) end)
itemstack:take_item() if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack return itemstack
end, end,
}) })

View File

@ -1,20 +1,16 @@
Codice: Codice:
- Mantis deve diventare invisibile se non sta attaccando/correndo (texture e animazioni Emmo) -> semifatto - Mantis problema animazioni (fra)
- Scorpione deve fare un colpo letale con il pungiglione -> fatto (probabilità 1 su 30 Fra)
- Il Berinhog danneggia con i suoi aculei chi lo attacca -> fatto
- Icelizard ha un raggio d'azione troppo ampio! -> dimezzato il raggio dell'esplosione
- I Pumboom droppano gli oggetti quando esplodono! (Controllare se anche quelli di tenplus, Fra) - I Pumboom droppano gli oggetti quando esplodono! (Controllare se anche quelli di tenplus, Fra)
- Attacco tartacacia: ti pianta nel terreno facendo danno o apre una voragine sotto di te. -> Iniziato Fra - Attacco tartacacia: ti pianta nel terreno facendo danno o apre una voragine sotto di te. -> Iniziato Fra
- Attacco lanciafango del chog - Attacco lanciafango del chog
- Nuovo modo di attaccare della Fenice - Nuovo modo di attaccare della Fenice ->semifatto
- Icelamander lagga malissimo (controllare anche i suoi amici) - Icelamander lagga malissimo (controllare anche i suoi amici)
- Mese Dragon da rifare (lagga, più piccolo, non attacca) - Mese Dragon da rifare (lagga, più piccolo, non attacca)
- Envy sword scambia life energy - Envy sword scambia life energy
- Uova in modalità creativa
- Mantis beast - Mantis beast
- Ahuizotl (?) - Ahuizotl (?)
- Albino Spider - Albino Spider
- Salamander (dogshootta lava (un blocco)) - Salamander (dogshootta lava (un blocco)) ->semifatto
- Flust mangia le armature di metallo e non viene danneggiato dalle armi di metallo - Flust mangia le armature di metallo e non viene danneggiato dalle armi di metallo
- Spawn - Spawn
- Togliere il coccodrillo e la swimming duck dai fiumi - Togliere il coccodrillo e la swimming duck dai fiumi
@ -28,7 +24,6 @@ Emmo vorrebbe:
Modelli: Modelli:
-Animazioni Salamandra
-Animazioni Ahuizotl -Animazioni Ahuizotl
-Animazioni Albino Spider -Animazioni Albino Spider
-Flust -Flust