Finally back to work!
This commit is contained in:
parent
4c38a7f6e0
commit
8a13f7d7e7
22
darts.lua
22
darts.lua
@ -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",
|
||||||
|
1
init.lua
1
init.lua
@ -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")
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
})
|
})
|
||||||
|
@ -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
77
mobs/salamander.lua
Normal 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,
|
||||||
|
]]
|
||||||
|
}
|
||||||
|
})
|
@ -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,
|
||||||
})
|
})
|
||||||
|
11
todo.txt
11
todo.txt
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user