split files, add energy eating, rename some materials

This commit is contained in:
Tai Kedzierski 2018-12-23 16:26:34 +00:00
parent 98713af582
commit 8b277a7771
16 changed files with 429 additions and 399 deletions

14
api/settings.lua Normal file
View File

@ -0,0 +1,14 @@
nssm.mymapgenis = tonumber(minetest.settings:get('nssm.mymapgenis')) or 7
nssm.multimobs = tonumber(minetest.settings:get('nssm.multimobs')) or 1000
-- Server safe setting - allow a non-griefing rainbow tool
nssm.init_rainbow_staff = minetest.settings:get_bool('nssm.classic_rainbow_staff')
-- Server safe setting - fire-placing mobs do not cause havoc on server
nssm.normal_fire = minetest.settings:get_bool('nssm.normal_fire')
-- Safe fire
nssm.fire_node = "nssm:squib_fire"
if nssm.normal_fire then
nssm.fire_node = "fire:basic_flame"
end

View File

@ -1,83 +1,27 @@
local path = minetest.get_modpath("nssm")
nssm = {} nssm = {}
nssm.mymapgenis = tonumber(minetest.settings:get('nssm.mymapgenis')) or 7 -- File loading
nssm.multimobs = tonumber(minetest.settings:get('nssm.multimobs')) or 1000 nssm.path = minetest.get_modpath("nssm")
-- Server safe setting - allow a non-griefing rainbow tool function nssm:load(filepath)
nssm.init_rainbow_staff = minetest.settings:get_bool('nssm.classic_rainbow_staff') dofile(nssm.path.."/"..filepath)
-- Server safe setting - fire-placing mobs do not cause havoc on server
nssm.normal_fire = minetest.settings:get_bool('nssm.normal_fire')
nssm.fire_node = "nssm:squib_fire"
if nssm.normal_fire then
nssm.fire_node = "fire:basic_flame"
end end
dofile(path.."/spawn.lua") -- General API
nssm:load("api/settings.lua")
nssm:load("api/main_api.lua")
nssm:load("api/darts.lua")
--Mobs --Mobs
dofile(path.."/mobs/ant_queen.lua")
dofile(path.."/mobs/ant_soldier.lua")
dofile(path.."/mobs/ant_worker.lua")
dofile(path.."/mobs/black_widow.lua")
dofile(path.."/mobs/bloco.lua")
dofile(path.."/mobs/crab.lua")
dofile(path.."/mobs/crocodile.lua")
dofile(path.."/mobs/daddy_long_legs.lua")
dofile(path.."/mobs/dolidrosaurus.lua")
dofile(path.."/mobs/duck.lua")
dofile(path.."/mobs/duckking.lua")
dofile(path.."/mobs/echidna.lua")
dofile(path.."/mobs/enderduck.lua")
dofile(path.."/mobs/flying_duck.lua")
dofile(path.."/mobs/felucco.lua")
dofile(path.."/mobs/giant_sandworm.lua")
dofile(path.."/mobs/icelamander.lua")
dofile(path.."/mobs/icesnake.lua")
dofile(path.."/mobs/kraken.lua")
dofile(path.."/mobs/larva.lua")
dofile(path.."/mobs/lava_titan.lua")
dofile(path.."/mobs/manticore.lua")
dofile(path.."/mobs/mantis_beast.lua")
dofile(path.."/mobs/mantis.lua")
dofile(path.."/mobs/masticone.lua")
dofile(path.."/mobs/moonheron.lua")
dofile(path.."/mobs/mordain.lua")
dofile(path.."/mobs/morgre.lua")
dofile(path.."/mobs/morde.lua")
dofile(path.."/mobs/morgut.lua")
dofile(path.."/mobs/morlu.lua")
dofile(path.."/mobs/morvalar.lua")
dofile(path.."/mobs/morvy.lua")
dofile(path.."/mobs/morwa.lua")
dofile(path.."/mobs/night_master.lua")
dofile(path.."/mobs/octopus.lua")
dofile(path.."/mobs/phoenix.lua")
dofile(path.."/mobs/pumpboom.lua")
dofile(path.."/mobs/pumpking.lua")
dofile(path.."/mobs/sandworm.lua")
dofile(path.."/mobs/scrausics.lua")
dofile(path.."/mobs/sand_bloco.lua")
dofile(path.."/mobs/signosigno.lua")
dofile(path.."/mobs/snow_biter.lua")
dofile(path.."/mobs/spiderduck.lua")
dofile(path.."/mobs/stone_eater.lua")
dofile(path.."/mobs/swimming_duck.lua")
dofile(path.."/mobs/tarantula.lua")
dofile(path.."/mobs/uloboros.lua")
dofile(path.."/mobs/werewolf.lua")
dofile(path.."/mobs/white_werewolf.lua")
--Final Boss nssm:load("mobs/all_mobs.lua")
dofile(path.."/mobs/mese_dragon.lua") nssm:load("mobs/spawn.lua")
--Others -- Items etc
dofile(path.."/rainbow_staff.lua")
dofile(path.."/darts.lua") nssm:load("materials/materials.lua")
dofile(path.."/nssm_materials.lua")
dofile(path.."/nssm_spears.lua") nssm:load("tools/spears.lua")
dofile(path.."/nssm_api.lua") nssm:load("tools/weapons.lua")
dofile(path.."/nssm_weapons.lua") nssm:load("tools/rainbow_staff.lua")
dofile(path.."/nssm_armor.lua") nssm:load("tools/armor.lua")

121
materials/craft_items.lua Normal file
View File

@ -0,0 +1,121 @@
function nssm:register_noneatcraftitems (name, descr)
minetest.register_craftitem("nssm:"..name, {
description = descr,
image = name..".png",
})
end
function nssm:register_eatcraftitems (name, descr, gnam)
minetest.register_craftitem("nssm:"..name, {
description = descr,
image = name..".png",
on_use = minetest.item_eat(gnam),
groups = { meat=1, eatable=1 },
})
end
-- Materials
nssm:register_noneatcraftitems ('sky_feather','Sky Feather')
nssm:register_noneatcraftitems ('snake_scute','Snake Scute')
nssm:register_noneatcraftitems ('eyed_tentacle','Eyed Tentacle')
nssm:register_noneatcraftitems ('ant_queen_abdomen',"Ant Queen's Abdomen")
nssm:register_noneatcraftitems ('masticone_skull_fragments','Masticone Skull Fragments')
nssm:register_noneatcraftitems ('tentacle_curly','Kraken Tentacle')
nssm:register_noneatcraftitems ('lava_titan_eye','Lava Titan Eye')
nssm:register_noneatcraftitems ('duck_beak','Duck Beak')
nssm:register_noneatcraftitems ('ice_tooth','Ice Tooth')
nssm:register_noneatcraftitems ('little_ice_tooth','Little Ice Tooth')
nssm:register_noneatcraftitems ('digested_sand',"Digested Sand")
nssm:register_noneatcraftitems ('black_ice_tooth','Black Ice Tooth')
nssm:register_noneatcraftitems ('tarantula_chelicerae','Tarantula Fangs')
nssm:register_noneatcraftitems ('crab_chela','Crab Claw')
nssm:register_noneatcraftitems ('cursed_pumpkin_seed','Cursed Pumpkin Seed')
nssm:register_noneatcraftitems ('mantis_claw','Mantis Claw')
nssm:register_noneatcraftitems ('manticore_fur','Manticore Fur')
nssm:register_noneatcraftitems ('ant_hard_skin','Ant Husk')
nssm:register_noneatcraftitems ('bloco_skin','Bloco Hide')
nssm:register_noneatcraftitems ('crab_carapace_fragment','Crab Shell Fragment')
nssm:register_noneatcraftitems ('crocodile_skin','Crocodile Hide')
nssm:register_noneatcraftitems ('manticore_spine','Manticore Spine')
nssm:register_noneatcraftitems ('night_feather','Night Feather')
nssm:register_noneatcraftitems ('sun_feather','Sun Feather')
nssm:register_noneatcraftitems ('duck_feather','Duck Feather')
nssm:register_noneatcraftitems ('black_duck_feather','Black Duck Feather')
nssm:register_noneatcraftitems ('masticone_fang','Masticone Fang')
nssm:register_noneatcraftitems ('white_wolf_fur','White Wolf Fur')
nssm:register_noneatcraftitems ('stoneater_mandible','Stoneater Mandible')
nssm:register_noneatcraftitems ('ant_mandible','Ant Mandible')
nssm:register_noneatcraftitems ('wolf_fur','Wolf Fur')
nssm:register_noneatcraftitems ('felucco_fur','Felucco Fur')
nssm:register_noneatcraftitems ('felucco_horn','Felucco Horn')
nssm:register_noneatcraftitems ('mantis_skin','Mantis Husk')
nssm:register_noneatcraftitems ('sand_bloco_skin','Sand Bloco Hide')
nssm:register_noneatcraftitems ('sandworm_skin','Sandworm Hide')
nssm:register_noneatcraftitems ('sky_iron','Sky Iron')
nssm:register_noneatcraftitems ('web_string','Cobweb String')
nssm:register_noneatcraftitems ('dense_web_string','Dense Cobweb String')
nssm:register_noneatcraftitems ('black_powder','Black Powder')
nssm:register_noneatcraftitems ('morelentir_dust','Soarkly Dark Stone Dust')
nssm:register_noneatcraftitems ('empty_evocation_bomb','Empty Summoning Bomb')
nssm:register_noneatcraftitems ('greedy_soul_fragment','Greedy Soul Fragment')
nssm:register_noneatcraftitems ('lustful_soul_fragment','Lustful Soul Fragment')
nssm:register_noneatcraftitems ('wrathful_soul_fragment','Wrathful Soul Fragment')
nssm:register_noneatcraftitems ('proud_soul_fragment','Proud Soul Fragment')
nssm:register_noneatcraftitems ('slothful_soul_fragment','Slothful Soul Fragment')
nssm:register_noneatcraftitems ('envious_soul_fragment','Envious Soul Fragment')
nssm:register_noneatcraftitems ('gluttonous_soul_fragment','Gluttonous Soul Fragment')
nssm:register_noneatcraftitems ('gluttonous_moranga','Gluttonous Moranga')
nssm:register_noneatcraftitems ('envious_moranga','Envious Moranga')
nssm:register_noneatcraftitems ('proud_moranga','Proud Moranga')
nssm:register_noneatcraftitems ('slothful_moranga','Slothful Moranga')
nssm:register_noneatcraftitems ('lustful_moranga','Lustful Moranga')
nssm:register_noneatcraftitems ('wrathful_moranga','Wrathful Moranga')
nssm:register_noneatcraftitems ('greedy_moranga','Greedy Moranga')
-- Food
nssm:register_eatcraftitems ('werewolf_leg','Werewolf Leg',3)
nssm:register_eatcraftitems ('felucco_steak','Felucco Steak',3)
nssm:register_eatcraftitems ('roasted_felucco_steak','Roasted Felucco Steak',6)
nssm:register_eatcraftitems ('heron_leg','Moonheron Leg',2)
nssm:register_eatcraftitems ('chichibios_heron_leg',"Chichibio's Moonheron Leg",4)
nssm:register_eatcraftitems ('crocodile_tail','Crocodile Tail',3)
nssm:register_eatcraftitems ('roasted_crocodile_tail','Roasted Crocodile Tail',6)
nssm:register_eatcraftitems ('roasted_werewolf_leg','Roasted_Werewolf Leg',6)
nssm:register_eatcraftitems ('duck_legs','Duck Legs',1)
nssm:register_eatcraftitems ('roasted_duck_legs','Roasted Duck Leg',3)
nssm:register_eatcraftitems ('ant_leg','Ant Leg',-1)
nssm:register_eatcraftitems ('roasted_ant_leg','Roasted Ant Leg',4)
nssm:register_eatcraftitems ('spider_leg','Spider Leg',-1)
nssm:register_eatcraftitems ('roasted_spider_leg','Roasted Spider Leg',4)
nssm:register_eatcraftitems ('brain','Brain',3)
nssm:register_eatcraftitems ('roasted_brain','Roasted Brain',8)
nssm:register_eatcraftitems ('tentacle','Tentacle',2)
nssm:register_eatcraftitems ('roasted_tentacle','Roasted Tentacle',5)
nssm:register_eatcraftitems ('worm_flesh','Worm Meat',-2)
nssm:register_eatcraftitems ('roasted_worm_flesh','Roasted Worm',4)
nssm:register_eatcraftitems ('amphibian_heart','Amphibian Heart',1)
nssm:register_eatcraftitems ('roasted_amphibian_heart','Roasted Amphibian Heart',8)
nssm:register_eatcraftitems ('raw_scrausics_wing','Raw Scrausics Wing',1)
nssm:register_eatcraftitems ('spicy_scrausics_wing','Spicy Scrausics Wing',6)
nssm:register_eatcraftitems ('phoenix_nuggets','Phoenix Nuggets',20)
nssm:register_eatcraftitems ('phoenix_tear','Phoenix Tear',20)
nssm:register_eatcraftitems ('frosted_amphibian_heart','Frosted Amphibian Heart',-1)
nssm:register_eatcraftitems ('surimi','Surimi',4)
nssm:register_eatcraftitems ('amphibian_ribs','Amphibian Ribs',2)
nssm:register_eatcraftitems ('roasted_amphibian_ribs','Roasted Amphibian Ribs',6)
nssm:register_eatcraftitems ('dolidrosaurus_fin','Dolidrosaurus Fin',-2)
nssm:register_eatcraftitems ('roasted_dolidrosaurus_fin','Roasted Dolidrosaurus Fin',4)
nssm:register_eatcraftitems ('larva_meat','Larva Meat',-1)
nssm:register_eatcraftitems ('larva_juice','Larva Juice',-3)
nssm:register_eatcraftitems ('larva_soup','Larva Soup',10)
nssm:register_eatcraftitems ('mantis_meat','Mantis Meat',1)
nssm:register_eatcraftitems ('roasted_mantis_meat','Roasted Mantis',4)
nssm:register_eatcraftitems ('spider_meat','Spider Meat',-1)
nssm:register_eatcraftitems ('roasted_spider_meat','Roasted Spider',3)
nssm:register_eatcraftitems ('silk_gland','Silk Gland',-1)
nssm:register_eatcraftitems ('roasted_silk_gland','Roasted Silk Gland',3)
nssm:register_eatcraftitems ('super_silk_gland','Super Silk Gland',-8)
nssm:register_eatcraftitems ('roasted_super_silk_gland','Roasted Super Silk Gland',2)

66
materials/eggs.lua Normal file
View File

@ -0,0 +1,66 @@
-- Eggs recipes
-- To be deprecated with drops
minetest.register_craft({
output = 'nssm:duck',
recipe = {
{'', 'nssm:duck_beak', ''},
{'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:flying_duck',
recipe = {
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:enderduck',
recipe = {
{'nssm:black_duck_feather', 'nssm:duck_beak', 'nssm:black_duck_feather'},
{'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'},
{'nssm:duck_legs', '', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:swimming_duck',
recipe = {
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'},
{'nssm:duck_feather', 'nssm:duck_feather', 'nssm:duck_feather'},
}
})
minetest.register_craft({
output = 'nssm:spiderduck',
recipe = {
{'nssm:duck_legs', 'nssm:duck_beak', 'nssm:duck_legs'},
{'nssm:black_duck_feather', 'nssm:energy_globe', 'nssm:black_duck_feather'},
{'nssm:duck_legs', 'nssm:black_duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:duckking_egg',
recipe = {
{'', 'nssm:helmet_crown', ''},
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:superior_energy_globe', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:bloco',
recipe = {
{'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'},
{'nssm:bloco_skin', 'nssm:energy_globe', 'nssm:bloco_skin'},
{'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'},
}
})

View File

@ -0,0 +1,39 @@
function nssm:eat_energy(nutrition, speed)
minetest.item_eat(nutrition)
-- TODO - add speed, gravity = floor(2/speed)+0.5, protection = protection + 1.5*speed
-- Something like that ...
end
function nssm:register_energy(name, descr, nutrition, speed)
minetest.register_craftitem("nssm:"..name, {
description = descr,
image = name..".png",
on_use = nssm:eat_energy(nutrition, speed),
})
end
local function register_energy_craft(smaller,bigger)
minetest.register_craft({
output = bigger,
recipe = {
smaller,smaller,smaller,
smaller,smaller,smaller,
smaller,smaller,smaller,
}
})
minetest.register_craft({
output = smaller.." 9",
type = shapeless,
recipe = {bigger}
})
end
nssm:register_energy('life_energy', 'Life Energy', 1)
nssm:register_energy('energy_globe', 'Energy Sphere', 2)
nssm:register_energy('great_energy_globe', 'Great Energy Sphere', 5)
nssm:register_energy('superior_energy_globe', 'Awesome Energy Sphere', 12)
register_energy_craft("nssm:life_energy", "nssm:energy_globe")
register_energy_craft("nssm:energy_globe", "nssm:great_energy_globe")
register_energy_craft("nssm:great_energy_globe", "nssm:superior_energy_globe")

View File

@ -1,218 +1,8 @@
--non eatable craftitems nssm:load("materials/craft_items.lua")
function nssm_register_noneatcraftitems (name, descr)
minetest.register_craftitem("nssm:"..name, {
description = descr,
image = name..".png",
})
end
nssm_register_noneatcraftitems ('sky_feather','Sky Feather')
nssm_register_noneatcraftitems ('snake_scute','Snake Scute')
nssm_register_noneatcraftitems ('eyed_tentacle','Eyed Tentacle')
nssm_register_noneatcraftitems ('great_energy_globe','Great Energy Globe')
nssm_register_noneatcraftitems ('superior_energy_globe','Superior Energy Globe')
nssm_register_noneatcraftitems ('ant_queen_abdomen','Ant Queen Abdomen')
nssm_register_noneatcraftitems ('masticone_skull_fragments','Masticone Skull Fragments')
nssm_register_noneatcraftitems ('tentacle_curly','Kraken Tentacle')
nssm_register_noneatcraftitems ('lava_titan_eye','Lava Titan Eye')
nssm_register_noneatcraftitems ('duck_beak','Duck Beak')
nssm_register_noneatcraftitems ('ice_tooth','Ice Tooth')
nssm_register_noneatcraftitems ('little_ice_tooth','Little Ice Tooth')
nssm_register_noneatcraftitems ('digested_sand',"Digested Sand")
nssm_register_noneatcraftitems ('black_ice_tooth','Black Ice Tooth')
nssm_register_noneatcraftitems ('tarantula_chelicerae','Tarantula Chelicerae')
nssm_register_noneatcraftitems ('crab_chela','Crab Chela')
nssm_register_noneatcraftitems ('cursed_pumpkin_seed','Cursed Pumpkin Seed')
nssm_register_noneatcraftitems ('mantis_claw','Mantis Claw')
nssm_register_noneatcraftitems ('manticore_fur','Manticore Fur')
nssm_register_noneatcraftitems ('ant_hard_skin','Ant Hard Skin')
nssm_register_noneatcraftitems ('bloco_skin','Bloco Skin')
nssm_register_noneatcraftitems ('crab_carapace_fragment','Crab Carapace Fragment')
nssm_register_noneatcraftitems ('crocodile_skin','Crocodile Skin')
nssm_register_noneatcraftitems ('manticore_spine','Manticore Spine')
nssm_register_noneatcraftitems ('night_feather','Night Feather')
nssm_register_noneatcraftitems ('sun_feather','Sun Feather')
nssm_register_noneatcraftitems ('duck_feather','Duck Feather')
nssm_register_noneatcraftitems ('black_duck_feather','Black Duck Feather')
nssm_register_noneatcraftitems ('masticone_fang','Masticone Fang')
nssm_register_noneatcraftitems ('white_wolf_fur','White Wolf Fur')
nssm_register_noneatcraftitems ('stoneater_mandible','Stoneater Mandible')
nssm_register_noneatcraftitems ('ant_mandible','Ant Mandible')
nssm_register_noneatcraftitems ('life_energy','Life Energy')
nssm_register_noneatcraftitems ('wolf_fur','Wolf Fur')
nssm_register_noneatcraftitems ('felucco_fur','Felucco Fur')
nssm_register_noneatcraftitems ('felucco_horn','Felucco Horn')
nssm_register_noneatcraftitems ('energy_globe','Energy Globe')
nssm_register_noneatcraftitems ('greedy_soul_fragment','Greedy Soul Fragment')
nssm_register_noneatcraftitems ('lustful_soul_fragment','Lustful Soul Fragment')
nssm_register_noneatcraftitems ('wrathful_soul_fragment','Wrathful Soul Fragment')
nssm_register_noneatcraftitems ('proud_soul_fragment','Proud Soul Fragment')
nssm_register_noneatcraftitems ('slothful_soul_fragment','Slothful Soul Fragment')
nssm_register_noneatcraftitems ('envious_soul_fragment','Envious Soul Fragment')
nssm_register_noneatcraftitems ('gluttonous_soul_fragment','Gluttonous Soul Fragment')
nssm_register_noneatcraftitems ('gluttonous_moranga','Gluttonous Moranga')
nssm_register_noneatcraftitems ('envious_moranga','Envious Moranga')
nssm_register_noneatcraftitems ('proud_moranga','Proud Moranga')
nssm_register_noneatcraftitems ('slothful_moranga','Slothful Moranga')
nssm_register_noneatcraftitems ('lustful_moranga','Lustful Moranga')
nssm_register_noneatcraftitems ('wrathful_moranga','Wrathful Moranga')
nssm_register_noneatcraftitems ('greedy_moranga','Greedy Moranga')
nssm_register_noneatcraftitems ('mantis_skin','Mantis_skin')
nssm_register_noneatcraftitems ('sand_bloco_skin','Sand Bloco Skin')
nssm_register_noneatcraftitems ('sandworm_skin','Sandworm Skin')
nssm_register_noneatcraftitems ('sky_iron','Sky Iron')
nssm_register_noneatcraftitems ('web_string','Cobweb String')
nssm_register_noneatcraftitems ('dense_web_string','Dense Cobweb String')
nssm_register_noneatcraftitems ('black_powder','Black Powder')
nssm_register_noneatcraftitems ('morelentir_dust','Dark Starred Stone Dust')
nssm_register_noneatcraftitems ('empty_evocation_bomb','Empty Evocation Bomb')
function nssm_register_eatcraftitems (name, descr, gnam)
minetest.register_craftitem("nssm:"..name, {
description = descr,
image =name..".png",
on_use = minetest.item_eat(gnam),
groups = { meat=1, eatable=1 },
})
end
nssm_register_eatcraftitems ('werewolf_leg','Werewolf Leg',3)
nssm_register_eatcraftitems ('felucco_steak','Felucco Steak',3)
nssm_register_eatcraftitems ('roasted_felucco_steak','Roasted Felucco Steak',6)
nssm_register_eatcraftitems ('heron_leg','Moonheron Leg',2)
nssm_register_eatcraftitems ('chichibios_heron_leg',"Chichibio's Moonheron Leg",4)
nssm_register_eatcraftitems ('crocodile_tail','Crocodile Tail',3)
nssm_register_eatcraftitems ('roasted_crocodile_tail','Roasted Crocodile Tail',6)
nssm_register_eatcraftitems ('roasted_werewolf_leg','Roasted_Werewolf Leg',6)
nssm_register_eatcraftitems ('duck_legs','Duck Legs',1)
nssm_register_eatcraftitems ('roasted_duck_legs','Roasted Duck Leg',3)
nssm_register_eatcraftitems ('ant_leg','Ant Leg',-1)
nssm_register_eatcraftitems ('roasted_ant_leg','Roasted Ant Leg',4)
nssm_register_eatcraftitems ('spider_leg','Spider Leg',-1)
nssm_register_eatcraftitems ('roasted_spider_leg','Roasted Spider Leg',4)
--nssm_register_eatcraftitems ('brain','Brain',3)
--nssm_register_eatcraftitems ('roasted_brain','Roasted Brain',8)
nssm_register_eatcraftitems ('tentacle','Tentacle',2)
nssm_register_eatcraftitems ('roasted_tentacle','Roasted Tentacle',5)
nssm_register_eatcraftitems ('worm_flesh','Worm Flesh',-2)
nssm_register_eatcraftitems ('roasted_worm_flesh','Roasted Worm Flesh',4)
nssm_register_eatcraftitems ('amphibian_heart','Amphibian Heart',1)
nssm_register_eatcraftitems ('roasted_amphibian_heart','Roasted Amphibian Heart',8)
nssm_register_eatcraftitems ('raw_scrausics_wing','Raw Scrausics Wing',1)
nssm_register_eatcraftitems ('spicy_scrausics_wing','Spicy Scrausics Wing',6)
nssm_register_eatcraftitems ('phoenix_nuggets','Phoenix Nuggets',20)
nssm_register_eatcraftitems ('phoenix_tear','Phoenix Tear',20)
nssm_register_eatcraftitems ('frosted_amphibian_heart','Frosted Amphibian Heart',-1)
nssm_register_eatcraftitems ('surimi','Surimi',4)
nssm_register_eatcraftitems ('amphibian_ribs','Amphibian Ribs',2)
nssm_register_eatcraftitems ('roasted_amphibian_ribs','Roasted Amphibian Ribs',6)
nssm_register_eatcraftitems ('dolidrosaurus_fin','Dolidrosaurus Fin',-2)
nssm_register_eatcraftitems ('roasted_dolidrosaurus_fin','Roasted Dolidrosaurus Fin',4)
nssm_register_eatcraftitems ('larva_meat','Larva Meat',-1)
nssm_register_eatcraftitems ('larva_juice','Larva Juice',-3)
nssm_register_eatcraftitems ('larva_soup','Larva Soup',10)
nssm_register_eatcraftitems ('mantis_meat','Mantis Meat',1)
nssm_register_eatcraftitems ('roasted_mantis_meat','Roasted Mantis Meat',4)
nssm_register_eatcraftitems ('spider_meat','Spider Meat',-1)
nssm_register_eatcraftitems ('roasted_spider_meat','Roasted Spider Meat',3)
nssm_register_eatcraftitems ('silk_gland','Silk Gland',-1)
nssm_register_eatcraftitems ('roasted_silk_gland','Roasted Silk Gland',3)
nssm_register_eatcraftitems ('super_silk_gland','Super Silk Gland',-8)
nssm_register_eatcraftitems ('roasted_super_silk_gland','Roasted Super Silk Gland',2)
--ore generation --ore generation
minetest.register_ore({ nssm:load("materials/ores.lua")
ore_type = "scatter",
ore = "nssm:modders_block",
wherein = "default:stone",
clust_scarcity = 50*50*50,
clust_num_ores = 1,
clust_size = 1,
y_min = -115,
y_max = -95,
})
for i=1,9 do
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:cobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:mossycobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:sandstonebrick",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "stairs:stair_sandstonebrick",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "stairs:stair_cobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
end
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:web",
wherein = "default:junglegrass",
clust_scarcity = 2*2*2,
clust_num_ores = 2,
clust_size = 2,
y_min = -20,
y_max = 200,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:web",
wherein = "default:jungleleaves",
clust_scarcity = 4*4*4,
clust_num_ores = 5,
clust_size = 5,
y_min = -20,
y_max = 200,
}
)
--nodes --nodes
@ -1475,33 +1265,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = 'nssm:energy_globe',
recipe = {
{'nssm:life_energy', 'nssm:life_energy', 'nssm:life_energy'},
{'nssm:life_energy', 'nssm:life_energy', 'nssm:life_energy'},
{'nssm:life_energy', 'nssm:life_energy', 'nssm:life_energy'},
}
})
minetest.register_craft({
output = 'nssm:great_energy_globe',
recipe = {
{'nssm:energy_globe', 'nssm:energy_globe', 'nssm:energy_globe'},
{'nssm:energy_globe', 'nssm:energy_globe', 'nssm:energy_globe'},
{'nssm:energy_globe', 'nssm:energy_globe', 'nssm:energy_globe'},
}
})
minetest.register_craft({
output = 'nssm:superior_energy_globe',
recipe = {
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
{'nssm:great_energy_globe', 'nssm:great_energy_globe', 'nssm:great_energy_globe'},
}
})
minetest.register_craft({ minetest.register_craft({
output = 'nssm:mese_egg', output = 'nssm:mese_egg',
type = "shapeless", type = "shapeless",
@ -1514,24 +1277,6 @@ minetest.register_craft({
recipe = {'nssm:lava_titan_eye','nssm:tentacle_curly'} recipe = {'nssm:lava_titan_eye','nssm:tentacle_curly'}
}) })
minetest.register_craft({
output = 'nssm:life_energy 9',
type = "shapeless",
recipe = {'nssm:energy_globe'}
})
minetest.register_craft({
output = 'nssm:energy_globe 9',
type = "shapeless",
recipe = {'nssm:great_energy_globe'}
})
minetest.register_craft({
output = 'nssm:great_energy_globe 9',
type = "shapeless",
recipe = {'nssm:superior_energy_globe'}
})
--[[ --[[
minetest.register_craft({ minetest.register_craft({
output = 'nssm:masticone_skull', output = 'nssm:masticone_skull',
@ -1979,67 +1724,3 @@ minetest.register_abm({
end end
}) })
--Eggs recipes
minetest.register_craft({
output = 'nssm:duck',
recipe = {
{'', 'nssm:duck_beak', ''},
{'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:flying_duck',
recipe = {
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_feather', 'nssm:energy_globe', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:enderduck',
recipe = {
{'nssm:black_duck_feather', 'nssm:duck_beak', 'nssm:black_duck_feather'},
{'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'},
{'nssm:duck_legs', '', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:swimming_duck',
recipe = {
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:energy_globe', 'nssm:duck_legs'},
{'nssm:duck_feather', 'nssm:duck_feather', 'nssm:duck_feather'},
}
})
minetest.register_craft({
output = 'nssm:spiderduck',
recipe = {
{'nssm:duck_legs', 'nssm:duck_beak', 'nssm:duck_legs'},
{'nssm:black_duck_feather', 'nssm:energy_globe', 'nssm:black_duck_feather'},
{'nssm:duck_legs', 'nssm:black_duck_feather', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:duckking_egg',
recipe = {
{'', 'nssm:helmet_crown', ''},
{'nssm:duck_feather', 'nssm:duck_beak', 'nssm:duck_feather'},
{'nssm:duck_legs', 'nssm:superior_energy_globe', 'nssm:duck_legs'},
}
})
minetest.register_craft({
output = 'nssm:bloco',
recipe = {
{'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'},
{'nssm:bloco_skin', 'nssm:energy_globe', 'nssm:bloco_skin'},
{'nssm:bloco_skin', 'nssm:bloco_skin', 'nssm:bloco_skin'},
}
})

91
materials/ores.lua Normal file
View File

@ -0,0 +1,91 @@
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:modders_block",
wherein = "default:stone",
clust_scarcity = 50*50*50,
clust_num_ores = 1,
clust_size = 1,
y_min = -115,
y_max = -95,
})
for i=1,9 do
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:cobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:mossycobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "default:sandstonebrick",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "stairs:stair_sandstonebrick",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:ant_dirt",
wherein = "stairs:stair_cobble",
clust_scarcity = 1,
clust_num_ores = 1,
clust_size = 1,
y_min = -1000,
y_max = 40,
})
end
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:web",
wherein = "default:junglegrass",
clust_scarcity = 2*2*2,
clust_num_ores = 2,
clust_size = 2,
y_min = -20,
y_max = 200,
})
minetest.register_ore({
ore_type = "scatter",
ore = "nssm:web",
wherein = "default:jungleleaves",
clust_scarcity = 4*4*4,
clust_num_ores = 5,
clust_size = 5,
y_min = -20,
y_max = 200,
}
)

55
mobs/all_mobs.lua Normal file
View File

@ -0,0 +1,55 @@
nssm:load("mobs/ant_queen.lua")
nssm:load("mobs/ant_soldier.lua")
nssm:load("mobs/ant_worker.lua")
nssm:load("mobs/black_widow.lua")
nssm:load("mobs/bloco.lua")
nssm:load("mobs/crab.lua")
nssm:load("mobs/crocodile.lua")
nssm:load("mobs/daddy_long_legs.lua")
nssm:load("mobs/dolidrosaurus.lua")
nssm:load("mobs/duck.lua")
nssm:load("mobs/duckking.lua")
nssm:load("mobs/echidna.lua")
nssm:load("mobs/enderduck.lua")
nssm:load("mobs/flying_duck.lua")
nssm:load("mobs/felucco.lua")
nssm:load("mobs/giant_sandworm.lua")
nssm:load("mobs/icelamander.lua")
nssm:load("mobs/icesnake.lua")
nssm:load("mobs/kraken.lua")
nssm:load("mobs/larva.lua")
nssm:load("mobs/lava_titan.lua")
nssm:load("mobs/manticore.lua")
nssm:load("mobs/mantis_beast.lua")
nssm:load("mobs/mantis.lua")
nssm:load("mobs/masticone.lua")
nssm:load("mobs/moonheron.lua")
nssm:load("mobs/mordain.lua")
nssm:load("mobs/morgre.lua")
nssm:load("mobs/morde.lua")
nssm:load("mobs/morgut.lua")
nssm:load("mobs/morlu.lua")
nssm:load("mobs/morvalar.lua")
nssm:load("mobs/morvy.lua")
nssm:load("mobs/morwa.lua")
nssm:load("mobs/night_master.lua")
nssm:load("mobs/octopus.lua")
nssm:load("mobs/phoenix.lua")
nssm:load("mobs/pumpboom.lua")
nssm:load("mobs/pumpking.lua")
nssm:load("mobs/sandworm.lua")
nssm:load("mobs/scrausics.lua")
nssm:load("mobs/sand_bloco.lua")
nssm:load("mobs/signosigno.lua")
nssm:load("mobs/snow_biter.lua")
nssm:load("mobs/spiderduck.lua")
nssm:load("mobs/stone_eater.lua")
nssm:load("mobs/swimming_duck.lua")
nssm:load("mobs/tarantula.lua")
nssm:load("mobs/uloboros.lua")
nssm:load("mobs/werewolf.lua")
nssm:load("mobs/white_werewolf.lua")
--Final Boss
nssm:load("mobs/mese_dragon.lua")

View File

@ -1,7 +1,22 @@
Mobs bugs + changes
* Check why ice snake and snow biter are not placing ice * Check why ice snake and snow biter are not placing ice
* Check why lava titan is not placing lava * Check why lava titan is not placing lava
* Ensure the masticone can be defeated by just klilling (use spawn 5, chance 1/6)
API refactoring
* Check difference between putting_ability and midas_ability * Check difference between putting_ability and midas_ability
* Rework the virulence/cryosave/affectbones safeguards * Rework the virulence/cryosave/affectbones safeguards
* Make `_egg` marker consistent (probably just remove the `_egg` markers altogether?) * Split materials.lua into nodes, items, abms
* Ensure the masticone can be defeated by just klilling (use spawn 5, chance 1/6) * in-progress
* Split materials.lua into noddes, items, abms * did some further splitting to improve maintainability
Cleanup + misc enhancements
* Make `_egg` marker consistent
* Check if mobs are ever registered as items
* Perhaps remove `_egg` designations altogether
* Perhaps remove duck egg building recipes
* Implement speed on eating energy
* Make brains drop from something

View File

@ -3,6 +3,10 @@
-- This tends to be problematic on servers, so is replaced with a powerful tool instead -- This tends to be problematic on servers, so is replaced with a powerful tool instead
-- if classic rainbow staff is not enabled -- if classic rainbow staff is not enabled
-- How long the rainbow generating entity should remain in existence
-- Used to be 10, really should not last so long, given that it adds rainbow on every server step...
local max_rainbow_time = 1
if nssm.classic_rainbow_staff then if nssm.classic_rainbow_staff then
minetest.register_entity("nssm:rainbow", { minetest.register_entity("nssm:rainbow", {
textures = {"transparent.png"}, textures = {"transparent.png"},
@ -16,7 +20,7 @@ if nssm.classic_rainbow_staff then
return return
end end
if os.time() - self.timer > 10 then if os.time() - self.timer > max_rainbow_time then
minetest.set_node(pos, {name="nyancat:nyancat"}) minetest.set_node(pos, {name="nyancat:nyancat"})
self.object:remove() self.object:remove()
end end