Merge branch 'master' of notabug.org:NathanS21/Epic into add_rideable_ostrich

Conflicts:
	mods/desert_life/ostrich.lua
master
xachman 2020-07-21 09:54:56 -04:00
commit ddae4b0660
223 changed files with 2274 additions and 2131 deletions

View File

@ -1,57 +1,59 @@
mobs:register_mob("arctic_life:penguin", {
type = "animal",
passive = false,
attack_type = "dogfight",
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 1,
damage = 1,
hp_min = 5,
hp_max = 15,
armor = 200,
damage = 1,
damage_max = 6,
damage_chance = 30,
hp_min = 5,
hp_max = 15,
armor = 200,
fly_in = "default:water_source",
collisionbox = {-0.25, -0.4, -0.25, 0.25, 0.3, 0.25},
visual = "mesh",
mesh = "arctic_life_penguin.b3d",
drawtype = "front",
textures = {
{"arctic_life_penguin.png"},
{"arctic_life_penguin_tux.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=8,y=8},
makes_footstep_sound = true,
sounds = {
random = "penguin_chirrup",
},
-- speed and jump
walk_velocity = 1,
run_velocity = 2,
jump = true,
jump_height = 1,
stepheight = 1.1,
floats = 0,
-- drops raw meat when dead
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 4},
collisionbox = {-0.25, -0.4, -0.25, 0.25, 0.3, 0.25},
visual = "mesh",
mesh = "arctic_life_penguin.b3d",
drawtype = "front",
textures = {
{"arctic_life_penguin.png"},
{"arctic_life_penguin_tux.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=8,y=8},
makes_footstep_sound = true,
sounds = {
random = "penguin_chirrup",
},
-- speed and jump
walk_velocity = 1,
run_velocity = 2,
jump = true,
jump_height = 1,
stepheight = 1.1,
floats = 0,
-- drops raw meat when dead
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 4},
{name = 'bonemeal:bone', chance = 2, min = 1, max = 2},
},
-- damaged by
water_damage = 0,
lava_damage = 5,
light_damage = 0,
-- model animation
animation = {
speed_normal = 15, speed_run = 15,
stand_start = 0, stand_end = 60, -- head down/up
walk_start = 150, walk_end = 170, -- walk
run_start = 150, run_end = 170, -- walk
punch_start = 70, punch_end = 140, -- attack
},
-- damaged by
water_damage = 0,
lava_damage = 5,
light_damage = 0,
-- model animation
animation = {
speed_normal = 15, speed_run = 15,
stand_start = 0, stand_end = 60, -- head down/up
walk_start = 150, walk_end = 170, -- walk
run_start = 150, run_end = 170, -- walk
punch_start = 70, punch_end = 140, -- attack
fly_start = 171, fly_end = 201, -- swimming
},
follow = "fishing:fish_raw", view_range = 7,
replace_rate = 50,
replace_what = {"group:flora"},
replace_with = "air",
},
follow = "fishing:fish_raw", view_range = 7,
replace_rate = 50,
replace_what = {"group:flora"},
replace_with = "air",
})
mobs:register_spawn("arctic_life:penguin", {"default:dirt_with_snow", "default:snowblock"}, 20, 0, 20000, 1, 600)

View File

@ -1,53 +1,55 @@
mobs:register_mob("arctic_life:walrus", {
type = "animal",
passive = false,
attack_type = "dogfight",
type = "animal",
passive = false,
attack_type = "dogfight",
reach = 1,
damage = 5,
hp_min = 15,
hp_max = 45,
armor = 200,
collisionbox = {-0.35, -0.5, -0.35, 0.35, 0.4, 0.35},
visual = "mesh",
mesh = "arctic_life_walrus.b3d",
drawtype = "front",
textures = {
{"arctic_life_walrus1.png"},
{"arctic_life_walrus2.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=10,y=10},
makes_footstep_sound = false,
sounds = {
random = "walrus_random.ogg",
damage = 5,
damage_max = 8,
damage_chance = 100,
hp_min = 15,
hp_max = 45,
armor = 200,
collisionbox = {-0.35, -0.5, -0.35, 0.35, 0.4, 0.35},
visual = "mesh",
mesh = "arctic_life_walrus.b3d",
drawtype = "front",
textures = {
{"arctic_life_walrus1.png"},
{"arctic_life_walrus2.png"},
},
blood_texture = "mobs_blood.png",
visual_size = {x=10,y=10},
makes_footstep_sound = false,
sounds = {
random = "walrus_random.ogg",
war_cry = 'walrus_war_cry.ogg',
attack = 'walrus_attack.ogg'
},
-- speed and jump
walk_velocity = 1,
run_velocity = 2,
jump = true,
jump_height = 1,
stepheight = 1.1,
floats = 1,
-- drops raw meat when dead
drops = {
{name = "mobs:meat_raw", chance = 1, min = 2, max = 5},
},
-- speed and jump
walk_velocity = 1,
run_velocity = 2,
jump = true,
jump_height = 1,
stepheight = 1.1,
floats = 1,
-- drops raw meat when dead
drops = {
{name = "mobs:meat_raw", chance = 1, min = 2, max = 5},
{name = 'bonemeal:bone', chance = 2, min = 1, max = 3},
},
-- damaged by
water_damage = 1,
lava_damage = 5,
light_damage = 0,
-- model animation
animation = {
speed_normal = 15, speed_run = 15,
stand_start = 0, stand_end = 50, -- head down/up
walk_start = 55, walk_end = 95, -- walk
run_start = 55, run_end = 95, -- walk
punch_start = 100, punch_end = 145, -- attack
},
follow = {"fishing:fish_raw", "mobs_fish:clownfish", "fishing:pike"},
},
-- damaged by
water_damage = 1,
lava_damage = 5,
light_damage = 0,
-- model animation
animation = {
speed_normal = 15, speed_run = 15,
stand_start = 0, stand_end = 50, -- head down/up
walk_start = 55, walk_end = 95, -- walk
run_start = 55, run_end = 95, -- walk
punch_start = 100, punch_end = 145, -- attack
},
follow = {"fishing:fish_raw", "mobs_fish:clownfish", "fishing:pike"},
view_range = 7,
})

View File

@ -182,7 +182,6 @@ local function is_all_empty(player_inv)
end
minetest.register_on_dieplayer(function(player)
print 'player died, bones reporting in.'
local bones_mode = minetest.settings:get("bones_mode") or "bones"
if bones_mode ~= "bones" and bones_mode ~= "drop" and bones_mode ~= "keep" then
@ -193,6 +192,7 @@ minetest.register_on_dieplayer(function(player)
local player_name = player:get_player_name()
local pos = vector.round(player:get_pos())
local pos_string = minetest.pos_to_string(pos)
minetest.add_entity(pos, 'zombies:normal')
-- return if keep inventory set or in creative mode
if bones_mode == "keep" or (creative and creative.is_enabled_for

View File

@ -138,7 +138,16 @@ default.cool_lava = function(pos, node)
if node.name == "default:lava_source" then
minetest.set_node(pos, {name = "default:obsidian"})
else -- Lava flowing
minetest.set_node(pos, {name = "default:stone"})
local chance = math.random(7)
if chance == 1 then
minetest.set_node(pos, {name = "nether:basalt"})
elseif chance == 2 then
minetest.set_node(pos, {name = "nether:lava_crust"})
elseif chance == 3 or chance == 4 then
minetest.set_node(pos, {name = "darkage:basalt"})
else
minetest.set_node(pos, {name = "default:stone"})
end
end
minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.25}, true)

View File

@ -2,51 +2,53 @@
local S = mobs.intllib
mobs:register_mob("desert_life:armadillo", {
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 2,
damage = 1,
hp_min = 5,
hp_max = 10,
armor = 75,
collisionbox = {-0.35, -0.5, -0.35, 0.35, 0.0, 0.35},
visual = "mesh",
mesh = "dl_armadillo.b3d",
textures = {
{'dl_armadillo_1.png'},
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 2,
damage = 1,
damage_max = 10,
damage_chance = 150,
hp_min = 5,
hp_max = 10,
armor = 75,
collisionbox = {-0.35, -0.5, -0.35, 0.35, 0.0, 0.35},
visual = "mesh",
mesh = "dl_armadillo.b3d",
textures = {
{'dl_armadillo_1.png'},
{'dl_armadillo_2.png'},
},
},
visual_size = {x=9, y=9},
makes_footstep_sound = true,
-- sounds = {
-- random = "mobs_chicken",
-- },
walk_velocity = 1,
run_velocity = 3,
jump = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max =1},
},
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fear_height = 5,
animation = {
speed_normal = 2,
speed_run = 8,
stand_start = 45,
stand_end = 70,
walk_start = 0,
walk_end = 40,
punch_start = 75,
punch_end = 95,
},
follow = {"farming:seed_wheat", "farming:seed_cotton"},
view_range = 5,
makes_footstep_sound = true,
-- sounds = {
-- random = "mobs_chicken",
-- },
walk_velocity = 1,
run_velocity = 3,
jump = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max =1},
},
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fear_height = 5,
animation = {
speed_normal = 2,
speed_run = 8,
stand_start = 45,
stand_end = 70,
walk_start = 0,
walk_end = 40,
punch_start = 75,
punch_end = 95,
},
follow = {"farming:seed_wheat", "farming:seed_cotton"},
view_range = 5,
replace_what = {'group:flora', 'group:plant'},
replace_with = 'air',
replace_rate = 10,

View File

@ -1,58 +1,54 @@
local S = mobs.intllib
mobs:register_mob("desert_life:ostrich", {
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 2,
damage = 2,
hp_min = 5,
hp_max = 10,
armor = 200,
collisionbox = {-0.4, -0.5, -0.4, 0.4, 0.75, 0.4},
visual = "mesh",
mesh = "dl_ostrich.b3d",
textures = {
{'dl_ostrich.png'},
},
visual_size = {x=9, y=9},
makes_footstep_sound = true,
-- sounds = {
-- random = "mobs_chicken",
-- },
walk_velocity = 1,
run_velocity = 3,
jump = true,
drops = {
{name = "mobs:chicken_raw", chance = 1, min = 2, max = 6},
},
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fear_height = 5,
animation = {
speed_normal = 15,
speed_run = 30,
stand_start = 0,
stand_end = 60,
walk_start = 180,
walk_end = 229,
run_start = 180,
run_end = 229,
punch_start = 65,
punch_end = 90,
punch2_start = 95,
punch2_end = 125,
},
follow = {"farming:seed_wheat", "farming:seed_cotton"},
view_range = 5,
replace_what = {'group:flora', 'group:plant'},
replace_with = 'air',
replace_rate = 1,
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
reach = 2,
damage = 2,
damage_max = 8,
damage_chance = 80,
hp_min = 5,
hp_max = 10,
armor = 200,
collisionbox = {-0.4, -0.5, -0.4, 0.4, 0.75, 0.4},
visual = "mesh",
mesh = "dl_ostrich.b3d",
textures = {
{'dl_ostrich.png'},
},
visual_size = {x=9, y=9},
makes_footstep_sound = true,
walk_velocity = 1,
run_velocity = 3,
jump = true,
drops = {
{name = "mobs:chicken_raw", chance = 1, min = 2, max = 6},
},
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fear_height = 5,
animation = {
speed_normal = 15,
speed_run = 30,
stand_start = 0,
stand_end = 60,
walk_start = 180,
walk_end = 229,
run_start = 180,
run_end = 229,
punch_start = 65,
punch_end = 90,
punch2_start = 95,
punch2_end = 125,
},
follow = {"farming:seed_wheat", "farming:seed_cotton"},
view_range = 5,
replace_what = {'group:flora', 'group:plant'},
replace_with = 'air',
replace_rate = 1,
do_custom = function(self, dtime)
-- set needed values if not already present

View File

@ -37,6 +37,8 @@ dungeon_loot.registered_loot = {
{name = "stations:scroll_chitin", chance = 0.6},
{name = "stations:scroll_sulfur_dust", chance = 0.6},
{name = "stations:scroll_poison", chance = 0.2},
{name = "stations:scroll_lifeforce_potion", chance = 0.01},
{name = "stations:scroll_lifeforce_potion2", chance = 0.09},
--illuminati
{name = "illuminati:core_off", chance = 0.1},

View File

@ -11,3 +11,7 @@ Authors of media (sounds)
Yuval (CC0 1.0)
https://freesound.org/people/Yuval/sounds/197023/
env_sounds_water.*.ogg
Halion (CC0 1.0)
https://freesound.org/people/Halion/sounds/17785/
env_sounds_lava.*.ogg

View File

@ -1,11 +1,41 @@
-- Parameters
local radius = 8 -- Water node search radius around player
-- Node search radius around player
local radius = 8
-- End of parameters
local allsounds = {
["env_sounds_water"] = {
trigger = {"default:water_flowing", "default:river_water_flowing"},
base_volume = 0.04,
max_volume = 0.4,
per_node = 0.004,
},
["env_sounds_lava"] = {
trigger = {"default:lava_source", "default:lava_flowing"},
base_volume = 0,
max_volume = 0.6,
per_node = {
["default:lava_source"] = 0.008,
["default:lava_flowing"] = 0.002,
},
},
}
if minetest.settings:get_bool("river_source_sounds") then
table.insert(allsounds["env_sounds_water"].trigger,
"default:river_water_source")
end
local river_source_sounds = minetest.settings:get_bool("river_source_sounds")
-- Cache the union of all trigger nodes
local cache_triggers = {}
for sound, def in pairs(allsounds) do
for _, name in ipairs(def.trigger) do
table.insert(cache_triggers, name)
end
end
-- Update sound for player
@ -13,39 +43,57 @@ local river_source_sounds = minetest.settings:get_bool("river_source_sounds")
local function update_sound(player)
local player_name = player:get_player_name()
local ppos = player:get_pos()
ppos = vector.add(ppos, player:get_properties().eye_height)
local areamin = vector.subtract(ppos, radius)
local areamax = vector.add(ppos, radius)
local water_nodes = {"default:water_flowing", "default:river_water_flowing"}
if river_source_sounds then
table.insert(water_nodes, "default:river_water_source")
end
local wpos, _ = minetest.find_nodes_in_area(areamin, areamax, water_nodes)
local waters = #wpos
if waters == 0 then
local pos = minetest.find_nodes_in_area(areamin, areamax, cache_triggers, true)
if next(pos) == nil then -- If table empty
return
end
for sound, def in pairs(allsounds) do
-- Find average position
local posav = {0, 0, 0}
local count = 0
for _, name in ipairs(def.trigger) do
if pos[name] then
for _, p in ipairs(pos[name]) do
posav[1] = posav[1] + p.x
posav[2] = posav[2] + p.y
posav[3] = posav[3] + p.z
end
count = count + #pos[name]
end
end
-- Find average position of water positions
local wposav = vector.new()
for _, pos in ipairs(wpos) do
wposav.x = wposav.x + pos.x
wposav.y = wposav.y + pos.y
wposav.z = wposav.z + pos.z
if count > 0 then
posav = vector.new(posav[1] / count, posav[2] / count,
posav[3] / count)
-- Calculate gain
local gain = def.base_volume
if type(def.per_node) == 'table' then
for name, multiplier in pairs(def.per_node) do
if pos[name] then
gain = gain + #pos[name] * multiplier
end
end
else
gain = gain + count * def.per_node
end
gain = math.min(gain, def.max_volume)
minetest.sound_play(sound, {
pos = posav,
to_player = player_name,
gain = gain,
}, true)
end
end
wposav = vector.divide(wposav, waters)
minetest.sound_play(
"env_sounds_water",
{
pos = wposav,
to_player = player_name,
gain = math.min(0.04 + waters * 0.004, 0.4),
}
)
end
-- Update sound 'on joinplayer'
-- Update sound when player joins
minetest.register_on_joinplayer(function(player)
update_sound(player)

Binary file not shown.

Binary file not shown.

127
mods/epic/Armor-Stats.txt Normal file
View File

@ -0,0 +1,127 @@
Helmets .25
Chest:plate .5
Legging:s .5
Boots .25
Wooden Armor
Heal: 0
Block: 24
DMG Resist: 1
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 0.92
Jump Multiplier: 1
Gravity Multiplier: 1
steel Armor
Heal: 0
Block: 36
DMG Resist: 2
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 0.91
Jump Multiplier: 1
Gravity Multiplier: 1.09
Bronze Armor
Heal: 0
Block: 48
DMG Resist: 3
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 0.91
Jump Multiplier: 1
Gravity Multiplier: 1.09
Gold Armor
Heal: 0
Block: 60
DMG Resist: 4
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 0.74
Jump Multiplier: 1
Gravity Multiplier: 1.13
Diamond Armor
Heal: 0
Block: 72
DMG Resist: 5
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 1
Jump Multiplier: 1
Gravity Multiplier: 1
Diamond Huntite
Heal: 0
Block: 78
DMG Resist: 6
Fire Rating: 6
Oxygen Regen: 0
Speed Multiplier: 1
Jump Multiplier: 1
Gravity Multiplier: 1
Diamond Actinolite
Heal: 0
Block: 78
DMG Resist: 6
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 1
Jump Multiplier: 1
Gravity Multiplier: 0.3
Diamond Prismarine
Heal: 0
Block: 78
DMG Resist: 6
Fire Rating: 0
Oxygen Regen: 4
Speed Multiplier: 1
Jump Multiplier: 1
Gravity Multiplier: 1
Diamond Bloodstone
Heal: 4
Block: 78
DMG Resist: 6
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 1
Jump Multiplier: 1
Gravity Multiplier: 1
Diamond Garnet
Heal: 0
Block: 78
DMG Resist: 6
Fire Rating: 0
Oxygen Regen: 0
Speed Multiplier: 2.2
Jump Multiplier: 1
Gravity Multiplier: 1
Titanium Armor
Heal: 0
Block: 102
DMG Resist: 4
Fire Rating: 0
Oxygen Regen:
Speed Multiplier: 1.8
Jump Multiplier: 1.4
Gravity Multiplier: .9
Thennium
Heal: 1.2
Block: 90
DMG Resist: 8
Fire Rating: 2
Oxygen Regen: 1
Speed Multiplier: 1.1
Jump Multiplier: 1
Gravity Multiplier: .6

View File

@ -1,22 +1,3 @@
armor:register_armor('epic:crown', {
description = 'Admin Crown',
inventory_image = 'epic_crown_inv.png',
groups = {armor_head=1, armor_use=0, armor_fire=5, armor_block=100, armor_water=5, physics_jump=0.5, physics_speed=1.3, armor_heal = 20, not_in_creative_inventory=1},
armor_groups = {fleshy=100},
damage_groups = {cracky=2, snappy=1, level=3},
on_drop = function(itemstack, dropper, pos)
return
end,
})
armor:register_armor('epic:cap_deception', {
description = 'Fur Cap of Deception',
inventory_image = 'epic_cap_deception_inv.png',
groups = {armor_head=1, armor_use=300, armor_block=1, physics_jump=-0.12, physics_speed=-.1, armor_heal = 2, not_in_creative_inventory=1},
armor_groups = {fleshy=25},
damage_groups = {cracky=2, snappy=1, level=3},
})
--[[default groups:
Elements: armor_head, armor_torso, armor_legs, armor_feet
Attributes: armor_heal, armor_fire, armor_water, armor_block
@ -34,7 +15,7 @@ Durability: armor_use, flammable
{'epic:garnet', 'speed'},
{'quartz:quartz_crystal_piece', 'jump'}
Armor Stats Shields can improve these values.
Armor Base Stats Shields can improve these values.
wood
Level 27, block 6%
steel
@ -49,211 +30,13 @@ Diamond Enchanted
Level 66.6, block 68%
Titanium
Level 21.6, block 80%
Thennium
--]]
--Actinolite armor provides lower gravity.
armor:register_armor('epic:helmet_gravity', {
_doc_items_crafting = 'This tool is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Actinolite enchantment',
inventory_image = 'epic_helmet_inv.png^epic_gravity_overlay.png',
groups = {armor_head=1, armor_block=17, armor_use=190, physics_gravity=-.15},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, choppy=1, level=4},
})
armor:register_armor('epic:chestplate_gravity', {
description = 'Diamond chestplate with Actinolite enchantment',
inventory_image = 'epic_chestplate_inv.png^epic_gravity_overlay.png',
groups = {armor_torso=1, armor_block=17, armor_use=190, physics_gravity=-.2},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_gravity', {
description = 'Diamond leggings with Actinolite enchantment',
inventory_image = 'epic_leggings_inv.png^epic_gravity_overlay.png',
groups = {armor_legs=1, armor_block=17, armor_use=190, physics_gravity=-.2},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_gravity', {
description = 'Diamond boots with Actinolite enchantment',
inventory_image = 'epic_boots_inv.png^epic_gravity_overlay.png',
groups = {armor_feet=1, armor_block=17, armor_use=190, physics_gravity=-.15},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--Bloodstone armor provides healing.
armor:register_armor('epic:helmet_healing', {
description = 'Diamond helmet with Bloodstone enchantment',
inventory_image = 'epic_helmet_inv.png^epic_healing_overlay.png',
groups = {armor_head=1, armor_block=17, armor_use=190, armor_heal=1},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_healing', {
description = 'Diamond chestplate with Bloodstone enchantment',
inventory_image = 'epic_chestplate_inv.png^epic_healing_overlay.png',
groups = {armor_torso=1, armor_block=17, armor_use=190, armor_heal=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_healing', {
description = 'Diamond leggings with Bloodstone enchantment',
inventory_image = 'epic_leggings_inv.png^epic_healing_overlay.png',
groups = {armor_legs=1, armor_block=17, armor_use=190, armor_heal=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_healing', {
description = 'Diamond boots with Bloodstone enchantment',
inventory_image = 'epic_boots_inv.png^epic_healing_overlay.png',
groups = {armor_feet=1, armor_block=17, armor_use=190, armor_heal=1},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--huntite armor provides fire protection.
armor:register_armor('epic:helmet_fire', {
description = 'Diamond helmet with Huntite enchantment',
inventory_image = 'epic_helmet_inv.png^epic_fire_overlay.png',
groups = {armor_head=1, armor_block=17, armor_use=380, armor_fire=1, flammable=1},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_fire', {
description = 'Diamond chestplate with Huntite enchantment',
inventory_image = 'epic_chestplate_inv.png^epic_fire_overlay.png',
groups = {armor_torso=1, armor_block=17, armor_use=190, armor_fire=2, flammable=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_fire', {
description = 'Diamond leggings with Huntite enchantment',
inventory_image = 'epic_leggings_inv.png^epic_fire_overlay.png',
groups = {armor_legs=1, armor_block=17, armor_use=190, armor_fire=2, flammable=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_fire', {
description = 'Diamond boots with Huntite enchantment',
inventory_image = 'epic_boots_inv.png^epic_fire_overlay.png',
groups = {armor_feet=1, armor_block=17, armor_use=380, armor_fire=1, flammable=11},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--prismarine crystals armor provides underwater breathing.
armor:register_armor('epic:helmet_water', {
description = 'Diamond helmet with Prismarine enchantment',
inventory_image = 'epic_helmet_inv.png^epic_water_overlay.png',
groups = {armor_head=1, armor_block=17, armor_use=190, armor_water=1},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_water', {
description = 'Diamond chestplate with Prismarine enchantment',
inventory_image = 'epic_chestplate_inv.png^epic_water_overlay.png',
groups = {armor_torso=1, armor_block=17, armor_use=190, armor_water=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_water', {
description = 'Diamond leggings with Prismarine enchantment',
inventory_image = 'epic_leggings_inv.png^epic_water_overlay.png',
groups = {armor_legs=1, armor_block=17, armor_use=190, armor_water=1},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_water', {
description = 'Diamond boots with Prismarine enchantment',
inventory_image = 'epic_boots_inv.png^epic_water_overlay.png',
groups = {armor_feet=1, armor_block=17, armor_use=190, armor_water=1},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--Garnet crystals armor provides speed.
armor:register_armor('epic:helmet_speed', {
description = 'Diamond helmet with Garnet enchantment',
inventory_image = 'epic_helmet_inv.png^epic_speed_overlay.png',
groups = {armor_head=1, armor_block=17, armor_use=190, physics_speed=.2},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_speed', {
description = 'Diamond chestplate with Garnet enchantment',
inventory_image = 'epic_chestplate_inv.png^epic_speed_overlay.png',
groups = {armor_torso=1, armor_block=17, armor_use=190, physics_speed=.4},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_speed', {
description = 'Diamond leggings with Garnet enchantment',
inventory_image = 'epic_leggings_inv.png^epic_speed_overlay.png',
groups = {armor_legs=1, armor_block=17, armor_use=190, physics_speed=.4},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_speed', {
description = 'Diamond boots with Garnet enchantment',
inventory_image = 'epic_boots_inv.png^epic_speed_overlay.png',
groups = {armor_feet=1, armor_block=17, armor_use=190, physics_speed=.2},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--Titanium, very light, high block chance, but low damge absorbtion.
armor:register_armor('epic:helmet_titanium', {
description = 'Titanium helmet',
inventory_image = 'epic_helmet_titanium_inv.png',
groups = {armor_head=1, armor_block=15, armor_use=180, physics_speed=.15, physics_jump=0.1},
armor_groups = {fleshy=4},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_titanium', {
description = 'Titanium chestplate',
inventory_image = 'epic_chestplate_titanium_inv.png',
groups = {armor_torso=1, armor_block=25, armor_use=180, physics_speed=.25, physics_jump=0.1},
armor_groups = {fleshy=8},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_titanium', {
description = 'Titanium leggings',
inventory_image = 'epic_leggings_titanium_inv.png',
groups = {armor_legs=1, armor_block=25, armor_use=180, physics_speed=.25, physics_jump=0.1},
armor_groups = {fleshy=8},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_titanium', {
description = 'Titanium boots',
inventory_image = 'epic_boots_titanium_inv.png',
groups = {armor_feet=1, armor_block=15, armor_use=180, physics_speed=.15, physics_jump=0.1},
armor_groups = {fleshy=4},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:shield_titanium', {
description = 'Titanium shield',
inventory_image = 'epic_inv_shield_titanium.png',
groups = {armor_shield=1, armor_block=15, armor_use=180},
armor_groups = {fleshy=10},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})
dofile(minetest.get_modpath('epic')..'/armor/diamond.lua')
dofile(minetest.get_modpath('epic')..'/armor/legendary-amulets.lua')
dofile(minetest.get_modpath('epic')..'/armor/legendary-gloves.lua')
dofile(minetest.get_modpath('epic')..'/armor/legendary-rings.lua')
dofile(minetest.get_modpath('epic')..'/armor/legendary.lua')
dofile(minetest.get_modpath('epic')..'/armor/thennium.lua')
dofile(minetest.get_modpath('epic')..'/armor/titanium.lua')

224
mods/epic/armor/diamond.lua Normal file
View File

@ -0,0 +1,224 @@
--Actinolite armor provides lower gravity.
armor:register_armor('epic:helmet_gravity', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Actinolite enchantment',
texture = 'epic_dia_helmet.png^epic_helmet_gravity_uv.png',
preview = 'epic_dia_helmet_preview.png^epic_helmet_gravity_preview_overlay.png',
inventory_image = 'epic_dia_helmet_inv.png^epic_gravity_overlay.png',
groups = {armor_head=1, armor_block=13, armor_use=190, physics_gravity=-.15, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, choppy=1, level=4},
})
armor:register_armor('epic:chestplate_gravity', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond chestplate with Actinolite enchantment',
texture = 'epic_dia_chestplate.png^epic_chestplate_gravity_uv.png',
preview = 'epic_dia_chestplate_preview.png^epic_chestplate_gravity_preview_overlay.png',
inventory_image = 'epic_dia_chestplate_inv.png^epic_gravity_overlay.png',
groups = {armor_torso=1, armor_block=26, armor_use=190, physics_gravity=-.2, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_gravity', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond leggings with Actinolite enchantment',
texture = 'epic_dia_leggings.png^epic_leggings_gravity_uv.png',
preview = 'epic_dia_leggings_preview.png^epic_leggings_gravity_preview_overlay.png',
inventory_image = 'epic_dia_leggings_inv.png^epic_gravity_overlay.png',
groups = {armor_legs=1, armor_block=26, armor_use=190, physics_gravity=-.2, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_gravity', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond boots with Actinolite enchantment',
texture = 'epic_dia_boots.png^epic_helmet_gravity_uv.png',
preview = 'epic_dia_boots_preview.png^epic_boots_gravity_preview_overlay.png',
inventory_image = 'epic_dia_boots_inv.png^epic_gravity_overlay.png',
groups = {armor_feet=1, armor_block=13, armor_use=190, physics_gravity=-.15, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--Bloodstone armor provides healing.
armor:register_armor('epic:helmet_healing', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Bloodstone enchantment',
texture = 'epic_dia_helmet.png^epic_helmet_healing_uv.png',
preview = 'epic_dia_helmet_preview.png^epic_helmet_healing_preview_overlay.png',
inventory_image = 'epic_dia_helmet_inv.png^epic_healing_overlay.png',
groups = {armor_head=1, armor_block=13, armor_use=190, armor_heal=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_healing', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond chestplate with Bloodstone enchantment',
texture = 'epic_dia_chestplate.png^epic_chestplate_healing_uv.png',
preview = 'epic_dia_chestplate_preview.png^epic_chestplate_healing_preview_overlay.png',
inventory_image = 'epic_dia_chestplate_inv.png^epic_healing_overlay.png',
groups = {armor_torso=1, armor_block=26, armor_use=190, armor_heal=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_healing', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond leggings with Bloodstone enchantment',
texture = 'epic_dia_leggings.png^epic_leggings_healing_uv.png',
preview = 'epic_dia_leggings_preview.png^epic_leggings_healing_preview_overlay.png',
inventory_image = 'epic_dia_leggings_inv.png^epic_healing_overlay.png',
groups = {armor_legs=1, armor_block=26, armor_use=190, armor_heal=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_healing', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond boots with Bloodstone enchantment',
texture = 'epic_dia_boots.png^epic_helmet_healing_uv.png',
preview = 'epic_dia_boots_preview.png^epic_boots_healing_preview_overlay.png',
inventory_image = 'epic_dia_boots_inv.png^epic_healing_overlay.png',
groups = {armor_feet=1, armor_block=13, armor_use=190, armor_heal=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--huntite armor provides fire protection.
armor:register_armor('epic:helmet_fire', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Huntite enchantment',
texture = 'epic_dia_helmet.png^epic_helmet_fire_uv.png',
preview = 'epic_dia_helmet_preview.png^epic_helmet_fire_preview_overlay.png',
inventory_image = 'epic_dia_helmet_inv.png^epic_fire_overlay.png',
groups = {armor_head=1, armor_block=13, armor_use=380, armor_fire=1, flammable=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_fire', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond chestplate with Huntite enchantment',
texture = 'epic_dia_chestplate.png^epic_chestplate_fire_uv.png',
preview = 'epic_dia_chestplate_preview.png^epic_chestplate_fire_preview_overlay.png',
inventory_image = 'epic_dia_chestplate_inv.png^epic_fire_overlay.png',
groups = {armor_torso=1, armor_block=26, armor_use=190, armor_fire=2, flammable=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_fire', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond leggings with Huntite enchantment',
texture = 'epic_dia_leggings.png^epic_leggings_fire_uv.png',
preview = 'epic_dia_leggings_preview.png^epic_leggings_fire_preview_overlay.png',
inventory_image = 'epic_dia_leggings_inv.png^epic_fire_overlay.png',
groups = {armor_legs=1, armor_block=26, armor_use=190, armor_fire=2, flammable=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_fire', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond boots with Huntite enchantment',
texture = 'epic_dia_boots.png^epic_helmet_fire_uv.png',
preview = 'epic_dia_boots_preview.png^epic_boots_fire_preview_overlay.png',
inventory_image = 'epic_dia_boots_inv.png^epic_fire_overlay.png',
groups = {armor_feet=1, armor_block=13, armor_use=380, armor_fire=1, flammable=11, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--prismarine crystals armor provides underwater breathing.
armor:register_armor('epic:helmet_water', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Prismarine enchantment',
texture = 'epic_dia_helmet.png^epic_helmet_water_uv.png',
preview = 'epic_dia_helmet_preview.png^epic_helmet_water_preview_overlay.png',
inventory_image = 'epic_dia_helmet_inv.png^epic_water_overlay.png',
groups = {armor_head=1, armor_block=13, armor_use=190, armor_water=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_water', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond chestplate with Prismarine enchantment',
texture = 'epic_dia_chestplate.png^epic_chestplate_water_uv.png',
preview = 'epic_dia_chestplate_preview.png^epic_chestplate_water_preview_overlay.png',
inventory_image = 'epic_dia_chestplate_inv.png^epic_water_overlay.png',
groups = {armor_torso=1, armor_block=26, armor_use=190, armor_water=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_water', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond leggings with Prismarine enchantment',
texture = 'epic_dia_leggings.png^epic_leggings_water_uv.png',
preview = 'epic_dia_leggings_preview.png^epic_leggings_water_preview_overlay.png',
inventory_image = 'epic_dia_leggings_inv.png^epic_water_overlay.png',
groups = {armor_legs=1, armor_block=26, armor_use=190, armor_water=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_water', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond boots with Prismarine enchantment',
texture = 'epic_dia_boots.png^epic_helmet_water_uv.png',
preview = 'epic_dia_boots_preview.png^epic_boots_water_preview_overlay.png',
inventory_image = 'epic_dia_boots_inv.png^epic_water_overlay.png',
groups = {armor_feet=1, armor_block=13, armor_use=190, armor_water=1, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
--Garnet crystals armor provides speed.
armor:register_armor('epic:helmet_speed', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond helmet with Garnet enchantment',
texture = 'epic_dia_helmet.png^epic_helmet_speed_uv.png',
preview = 'epic_dia_helmet_preview.png^epic_helmet_speed_preview_overlay.png',
inventory_image = 'epic_dia_helmet_inv.png^epic_speed_overlay.png',
groups = {armor_head=1, armor_block=13, armor_use=190, physics_speed=.2, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_speed', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond chestplate with Garnet enchantment',
texture = 'epic_dia_chestplate.png^epic_chestplate_speed_uv.png',
preview = 'epic_dia_chestplate_preview.png^epic_chestplate_speed_preview_overlay.png',
inventory_image = 'epic_dia_chestplate_inv.png^epic_speed_overlay.png',
groups = {armor_torso=1, armor_block=26, armor_use=190, physics_speed=.4, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_speed', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond leggings with Garnet enchantment',
texture = 'epic_dia_leggings.png^epic_leggings_speed_uv.png',
preview = 'epic_dia_leggings_preview.png^epic_leggings_speed_preview_overlay.png',
inventory_image = 'epic_dia_leggings_inv.png^epic_speed_overlay.png',
groups = {armor_legs=1, armor_block=26, armor_use=190, physics_speed=.4, armor_dmg_resist=1.5},
armor_groups = {fleshy=21},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_speed', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Diamond boots with Garnet enchantment',
texture = 'epic_dia_boots.png^epic_helmet_speed_uv.png',
preview = 'epic_dia_boots_preview.png^epic_boots_speed_preview_overlay.png',
inventory_image = 'epic_dia_boots_inv.png^epic_speed_overlay.png',
groups = {armor_feet=1, armor_block=13, armor_use=190, physics_speed=.2, armor_dmg_resist=1.5},
armor_groups = {fleshy=16},
damage_groups = {cracky=2, snappy=1, level=4},
})

View File

@ -0,0 +1,12 @@
--Setting armor_use to 88 should yeild about 1000 uses.
armor:register_armor('epic:amulet_of_speed', {
description = 'Amulet of Speed',
inventory_image = 'epic_ring_speed.png',
texture = 'epic_blank.png',
preview = 'epic_blank.png',
groups = {armor_amulet=1, armor_use=88, physics_speed=.75, armor_dmg_resist=.5, not_in_creative_inventory=1},
reciprocate_damage = true,
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=3},
})

View File

@ -0,0 +1,11 @@
--Setting armor_use to 88 should yeild about 1000 uses.
armor:register_armor('epic:gloves_of_speed', {
description = 'Gloves of Speed',
inventory_image = 'epic_gloves_speed.png',
texture = 'epic_blank.png',
preview = 'epic_blank.png',
groups = {armor_gloves=1, armor_use=88, physics_speed=.75, armor_dmg_resist=.5, not_in_creative_inventory=1},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=3},
})

View File

@ -0,0 +1,30 @@
--Setting armor_use to 88 should yeild about 1000 uses.
armor:register_armor('epic:ring_of_speed', {
description = 'Ring of Speed',
inventory_image = 'epic_ring_speed.png',
texture = 'epic_blank.png',
preview = 'epic_blank.png',
groups = {armor_ring=1, armor_use=88, physics_speed=.75, armor_dmg_resist=.5, not_in_creative_inventory=1},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=3},
})
armor:register_armor('epic:ring_of_health', {
description = 'Ring of Health',
inventory_image = 'epic_ring_speed.png',
texture = 'epic_blank.png',
preview = 'epic_blank.png',
groups = {armor_ring=1, armor_use=88, armor_dmg_resist=.5, not_in_creative_inventory=1},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=3},
on_equip = function(player, index, stack)
maxhp.max_hp_change(player, 5)
end,
on_unequip = function(player, index, stack)
maxhp.max_hp_change(player, -5)
end,
on_destroy = function(player, index, stack)
maxhp.max_hp_change(player, -5)
end,
})

View File

@ -0,0 +1,18 @@
armor:register_armor('epic:crown', {
description = 'Admin Crown',
inventory_image = 'epic_crown_inv.png',
groups = {armor_head=1, armor_use=0, armor_fire=5, armor_block=50, armor_water=5, physics_jump=0.5, physics_speed=1.3, armor_heal=20, armor_dmg_resist=50, not_in_creative_inventory=1},
armor_groups = {fleshy=100},
damage_groups = {cracky=2, snappy=1, level=3},
on_drop = function(itemstack, dropper, pos)
return
end,
})
armor:register_armor('epic:cap_deception', {
description = 'Fur Cap of Deception',
inventory_image = 'epic_cap_deception_inv.png',
groups = {armor_head=1, armor_use=300, armor_block=1, physics_jump=-0.12, physics_speed=-.1, armor_heal = 2, armor_dmg_resist=.5, not_in_creative_inventory=1},
armor_groups = {fleshy=25},
damage_groups = {cracky=2, snappy=1, level=3},
})

View File

@ -0,0 +1,54 @@
armor:register_armor('epic:thennium_helmet', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Rose Thennium Helmet',
texture = 'epic_helmet_thennium.png',
preview = 'epic_helmet_thennium_pre.png',
inventory_image = 'epic_helmet_thennium_inv.png',
groups = {armor_head=1, armor_block=15, armor_use=100, armor_water=.3, armor_fire=.5, armor_heal=.3, physics_gravity=-.1, armor_dmg_resist=2},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, choppy=1, level=5},
})
armor:register_armor('epic:thennium_chestplate', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Rose Thennium Chestplate',
texture = 'epic_chestplate_thennium.png',
preview = 'epic_chestplate_thennium_pre.png',
inventory_image = 'epic_chestplate_thennium_inv.png',
groups = {armor_torso=1, armor_block=30, armor_use=100, armor_water=.3, armor_fire=.5, armor_heal=.3, physics_gravity=-.1, armor_dmg_resist=2},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=5},
})
armor:register_armor('epic:thennium_leggings', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Rose Thennium Leggings',
texture = 'epic_leggings_thennium.png',
preview = 'epic_leggings_thennium_pre.png',
inventory_image = 'epic_leggings_thennium_inv.png',
groups = {armor_legs=1, armor_block=30, armor_use=100, armor_water=.3, armor_fire=.5, armor_heal=.3, physics_gravity=-.1, armor_dmg_resist=2},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=5},
})
armor:register_armor('epic:thennium_boots', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Rose Thennium Boots',
texture = 'epic_boots_thennium.png',
preview = 'epic_boots_thennium_pre.png',
inventory_image = 'epic_boots_thennium_inv.png',
groups = {armor_feet=1, armor_block=15, armor_use=100, armor_water=.3, armor_fire=.5, armor_heal=.3, physics_gravity=-.1, physics_speed=.1, armor_dmg_resist=2},
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=1, level=5},
})
armor:register_armor('epic:shield_thennium', {
_doc_items_crafting = 'This armor is crafted in the Crystal Workshop.',
description = 'Rose Thennium shield',
texture = 'epic_shield_thennium.png',
inventory_image = 'epic_shield_thennium_inv.png',
groups = {armor_shield=1, armor_block=25, armor_use=90, armor_dmg_resist=2},
reciprocate_damage = true,
armor_groups = {fleshy=1},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})

View File

@ -0,0 +1,41 @@
--Titanium, very light, high block chance, but low damge absorbtion.
armor:register_armor('epic:helmet_titanium', {
description = 'Titanium helmet',
inventory_image = 'epic_helmet_titanium_inv.png',
groups = {armor_head=1, armor_block=17, armor_use=180, armor_dmg_resist=1, physics_speed=.15, physics_jump=0.1, physics_gravity=-.025},
armor_groups = {fleshy=4},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:chestplate_titanium', {
description = 'Titanium chestplate',
inventory_image = 'epic_chestplate_titanium_inv.png',
groups = {armor_torso=1, armor_block=34, armor_use=180, armor_dmg_resist=1, physics_speed=.25, physics_jump=0.1, physics_gravity=-.025},
armor_groups = {fleshy=8},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:leggings_titanium', {
description = 'Titanium leggings',
inventory_image = 'epic_leggings_titanium_inv.png',
groups = {armor_legs=1, armor_block=34, armor_use=180, armor_dmg_resist=1, physics_speed=.25, physics_jump=0.1, physics_gravity=-.025},
armor_groups = {fleshy=8},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:boots_titanium', {
description = 'Titanium boots',
inventory_image = 'epic_boots_titanium_inv.png',
groups = {armor_feet=1, armor_block=17, armor_use=180, armor_dmg_resist=1, physics_speed=.15, physics_jump=0.1, physics_gravity=-.025},
armor_groups = {fleshy=4},
damage_groups = {cracky=2, snappy=1, level=4},
})
armor:register_armor('epic:shield_titanium', {
description = 'Titanium shield',
inventory_image = 'epic_inv_shield_titanium.png',
groups = {armor_shield=1, armor_block=17, armor_use=180},
reciprocate_damage = true,
armor_groups = {fleshy=10},
damage_groups = {cracky=2, snappy=3, choppy=2, crumbly=1, level=2},
})

View File

@ -14,6 +14,11 @@ minetest.register_craftitem('epic:bloodstone', {
inventory_image = 'epic_bloodstone.png'
})
minetest.register_craftitem('epic:thennium', {
description = 'Rose Thennium',
inventory_image = 'epic_thennium.png'
})
minetest.register_craftitem('epic:bloodstone_shard', {
description = 'Bloodstone Shard',
inventory_image = 'epic_bloodstone_shard.png',

View File

@ -9,7 +9,9 @@ doc.add_entry("epic_server", "armor", {
name = ("Armor"),
data = { text = ('Armor comes in a wide variety of strengths and materials. Take a look in the upper halls of the Hall of Wisdom for stats on the different styles.\n'..
'Armor can\'t be crafted in the crafting grid, but will need to be created at either the anvil or the crystal workshop. You can find public anvils and crystal workshops at spawn.\n\n'..
'In addition to metal or crystals you\'ll also need some sort of fabric/leather. The metal armor can be crafted with burlap or leather, and the crystal armor can be crafted with fabric or leather.')
'In addition to metal or crystals you\'ll also need some sort of fabric/leather. The metal armor can be crafted with burlap or leather, the diamond armor can be crafted with fabric or leather.'..
'Higher tier crystal armors require fabric to craft.\n'..
'You can check out your specific armor levels by looking at the 3d_armor tab in your inventory. Play around with different combinations to find what fits your playstyle best.')
}
})
@ -52,6 +54,7 @@ doc.add_entry("epic_server", "maxhp", {
data = { text = ('In an attempt to dissuade people from killing themselves in lava to make a messes on the server I wrote this mod. Every time you die you\'ll loose one of your max HP down to 25.\n\n'..
'You can gain max HP back by consuming a variety of items, with more to be added soon.\n'..
'Eating a chocolate block will increase your max HP by 1, up to a max of 45.\n'..
'Eating a golden carrot will increase your max HP by 1, up to a max of 60.\n')
'Eating a golden carrot will increase your max HP by 1, up to a max of 60.\n'..
'Some mobs will drop potions that will increase your Max HP by 5, with different caps.\n')
}
})

View File

@ -78,6 +78,45 @@ function epic.remove_front_node(pos, oldnode)
end
end
function epic.space_on_top(pos)
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
local top_node = minetest.get_node(above)
print ('top node is '..(top_node.name))
local top_def = minetest.registered_nodes[top_node.name] or nil
if not top_def.buildable_to then
return false
else
minetest.set_node(above,{name='epic:empty'})
return true
end
end
function epic.remove_top_node(pos)
local above = {x = pos.x, y = pos.y + 1, z = pos.z}
local top_node = minetest.get_node(above).name
if minetest.get_item_group(top_node, 'empty_node') > 0 then
minetest.remove_node(above)
end
end
function epic.space_to_top_and_side(pos)
local node = minetest.get_node(pos)
local fdir = node.param2 % 32
local side = {x = pos.x + fdir_table[fdir+1][1], y=pos.y, z = pos.z + fdir_table[fdir+1][2]}
local top = {x = pos.x, y = pos.y + 1, z = pos.z}
local side_node = minetest.get_node(side)
local top_node = minetest.get_node(top)
local side_def = minetest.registered_nodes[side_node.name] or nil
local top_def = minetest.registered_nodes[top_node.name] or nil
if not top_def.buildable_to or not side_def.buildable_to then
return false
else
minetest.set_node(side,{name='epic:empty'})
minetest.set_node(top,{name='epic:empty'})
return true
end
end
function epic.space_for_picnic(pos, placed_node)
local node = minetest.get_node(pos)
local fdir = node.param2 % 32

View File

@ -84,17 +84,6 @@ for i in ipairs(on_burn) do
})
end
minetest.override_item('default:dirt_with_grass', {
groups = {crumbly=3, soil=1, flammable=1, spreading_dirt_type=1},
drop = {
max_items = 2,
items = {
{items = {'default:dirt'}},
{items = {'fishing:bait_worm'}, rarity = 20}
}
}
})
minetest.override_item('default:dirt_with_coniferous_litter', {
groups = {crumbly=3, soil=1, not_in_creative_inventory=1, flammable=1, spreading_dirt_type=1},
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Some files were not shown because too many files have changed in this diff Show More