mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2024-11-13 22:20:28 +01:00
121 lines
4.7 KiB
Lua
121 lines
4.7 KiB
Lua
local S = minetest.get_translator(minetest.get_current_modname())
|
|
|
|
-- misc
|
|
if df_dependencies.node_name_glass_bottle then
|
|
awards.register_achievement("dfcaverns_captured_ice_sprite", {
|
|
title = S("Capture an Ice Sprite"),
|
|
description = S("You've captured an ice sprite and placed it in a bottle. It dances and sparkles and sheds light through the frosted glass while making a faint tinkling sound. Pretty."),
|
|
icon = "dfcaverns_awards_backgroundx32.png^ice_sprites_bottle.png^dfcaverns_awards_foregroundx32.png",
|
|
difficulty = 2,
|
|
trigger = {
|
|
type = "craft",
|
|
item = "ice_sprites:ice_sprite_bottle",
|
|
target = 1,
|
|
},
|
|
})
|
|
end
|
|
|
|
df_mapitems.on_veinstone_punched = function(pos, node, puncher, pointed_thing)
|
|
awards.unlock(puncher:get_player_name(), "dfcaverns_punched_veinstone")
|
|
end
|
|
awards.register_achievement("dfcaverns_punched_veinstone", {
|
|
title = S("Punch Veinstone"),
|
|
description = S("Punch a vein to hear the heartbeat of the stone."),
|
|
difficulty = 2,
|
|
icon = "dfcaverns_awards_backgroundx32.png^((".. df_dependencies.texture_stone .. "^dfcaverns_veins.png)^[resize:32x32)^dfcaverns_awards_foregroundx32.png",
|
|
})
|
|
|
|
if minetest.get_modpath("df_underworld_items") then
|
|
|
|
if minetest.get_modpath("hunter_statue") then
|
|
hunter_statue.player_punched = function(node_name, pos, player)
|
|
if node_name ~= "df_underworld_items:hunter_statue" then return end
|
|
awards.unlock(player:get_player_name(), "dfcaverns_attacked_by_guardian_statue")
|
|
end
|
|
awards.register_achievement("dfcaverns_attacked_by_guardian_statue", {
|
|
title = S("Get Attacked by an Underworld Guardian"),
|
|
difficulty = 2,
|
|
description = S("You've discovered something important about those mysterious slade statues in the Underworld."),
|
|
icon = "dfcaverns_awards_backgroundx32.png^dfcaverns_guardian_achievement.png^dfcaverns_awards_foregroundx32.png",
|
|
secret=true,
|
|
})
|
|
end
|
|
|
|
df_underworld_items.puzzle_seal_solved = function(pos, player)
|
|
if player == nil then return end
|
|
awards.unlock(player:get_player_name(), "dfcaverns_solved_puzzle_seal")
|
|
end
|
|
awards.register_achievement("dfcaverns_solved_puzzle_seal", {
|
|
title = S("Solve a Puzzle Seal"),
|
|
difficulty = 4,
|
|
description = S("Decipher the code of the ancients. Do you dare turn the key?"),
|
|
icon = "dfcaverns_puzzle_seal_solvedx32.png^dfcaverns_awards_foregroundx32.png",
|
|
})
|
|
|
|
df_underworld_items.slade_breacher_triggered = function(pos, player)
|
|
awards.unlock(player:get_player_name(), "dfcaverns_triggered_slade_breacher")
|
|
end
|
|
awards.register_achievement("dfcaverns_triggered_slade_breacher", {
|
|
title = S("Trigger a Slade Breacher"),
|
|
difficulty = 1,
|
|
description = S("Activating a puzzle seal has produced a breach in the slade foundations of the world."),
|
|
icon = "dfcaverns_puzzle_seal_activex32.png^dfcaverns_awards_foregroundx32.png",
|
|
secret=true,
|
|
})
|
|
|
|
df_underworld_items.ancient_lantern_fixed = function(pos, player)
|
|
awards.unlock(player:get_player_name(), "dfcaverns_repaired_lantern")
|
|
end
|
|
awards.register_achievement("dfcaverns_repaired_lantern", {
|
|
title = S("Repair an Ancient Lantern"),
|
|
difficulty = 2,
|
|
description = S("You may not be able to build new ones, but at least you can get the old ones shining brightly again."),
|
|
icon = "dfcaverns_awards_backgroundx32.png^((dfcaverns_slade_brick.png^(" .. df_dependencies.texture_meselamp .. "^[mask:dfcaverns_lantern_mask.png))^[resize:32x32)^dfcaverns_awards_foregroundx32.png",
|
|
secret=true,
|
|
})
|
|
|
|
-- awards.register_achievement("dfcaverns_repaired_100_lanterns", {
|
|
-- title = S("Repair 100 Ancient Lanterns"),
|
|
-- description = S(""),
|
|
-- icon =,
|
|
-- })
|
|
|
|
end
|
|
|
|
if minetest.get_modpath("df_lorebooks") then
|
|
collectible_lore.register_on_collected(function(player_name, id, state, collected)
|
|
local count = 0
|
|
for _id, val in pairs(collected) do
|
|
if val then count = count + 1 end
|
|
end
|
|
if count >= #(collectible_lore.lorebooks) then
|
|
awards.unlock(player_name, "dfcaverns_all_lorebooks_found")
|
|
end
|
|
end)
|
|
awards.register_achievement("dfcaverns_all_lorebooks_found", {
|
|
title = S("Collect All Lore"),
|
|
difficulty = 4,
|
|
description = S("You've searched the world top to bottom for cairns containing lore and your collection is now complete."),
|
|
icon = "dfcaverns_awards_backgroundx32.png^dfcaverns_awards_lore_cairnsx32.png^dfcaverns_awards_foregroundx32.png",
|
|
})
|
|
end
|
|
|
|
-- can't think of an easy way to detect these
|
|
--awards.register_achievement("dfcaverns_torch_detonated_mine_gas", {
|
|
-- title = S("Detonate Mine Gas"),
|
|
-- description = S(""),
|
|
-- icon =,
|
|
--})
|
|
|
|
--awards.register_achievement("dfcaverns_looted_underworld_bones", {
|
|
-- title = S("Loot Ancient Warrior Bones"),
|
|
-- description = S(""),
|
|
-- icon =,
|
|
--})
|
|
--
|
|
--awards.register_achievement("dfcaverns_looted_100_underworld_bones", {
|
|
-- title = S("Loot 100 Ancient Warrior Bones"),
|
|
-- description = S(""),
|
|
-- icon =,
|
|
--})
|