add something nasty to the underworld

This commit is contained in:
FaceDeer 2020-11-10 20:51:37 -07:00
parent 5847fa74fc
commit 54424710d7
25 changed files with 589 additions and 3 deletions

View File

@ -24,4 +24,5 @@ local function setting(stype, name, default, description)
end
setting("bool", "invulnerable_slade", true, "Slade is invulnerable to players")
setting("bool", "destructive_pit_plasma", true, "Pit plasma destroys adjacent nodes")
setting("bool", "destructive_pit_plasma", true, "Pit plasma destroys adjacent nodes")
setting("bool", "underworld_hunter_statues", true, "Enable hunter statues in the underworld")

View File

@ -0,0 +1,21 @@
if minetest.get_modpath("hunter_statue") and df_underworld_items.config.underworld_hunter_statues then
local S = df_underworld_items.S
hunter_statue.register_hunter_statue("df_underworld_items:hunter_statue", {
description = S("Guardian Statue"),
chance = 2,
tiles = {
{ name = "dfcaverns_slade.png", backface_culling = true },
},
tnt_vulnerable = true,
tnt_debris = "df_underworld_items:slade_sand",
groups = {hunter_statue = 1, falling_node = 1, immortal = 1},
other_overrides = {
can_dig = function(pos, player)
return minetest.check_player_privs(player, "server")
end,
}
})
end

View File

@ -10,6 +10,7 @@ dofile(modpath.."/doc.lua")
dofile(modpath.."/crystals_amethyst.lua")
dofile(modpath.."/glow_stone.lua")
dofile(modpath.."/slade.lua")
dofile(modpath.."/hunter_statue.lua")
dofile(modpath.."/glowing_pit_plasma.lua")
dofile(modpath.."/puzzle_seal.lua")

View File

@ -0,0 +1,84 @@
# textdomain: df_underworld_items
### crystals_amethyst.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Glowing Amethyst Block=Glühender Amethystblock
### doc.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Bright glowing stones of unknown origin found lodged in the crevices of the underworld's ceiling.=Hell leuchtende Steine unbekannter Herkunft wurden in den Spalten der Decke der Unterwelt gefunden.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Glowing purple crystals that grow through holes in the foundation of the world.=Glühende lila Kristalle, die durch Löcher im Fundament der Welt wachsen.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
In fact, Slade is impervious to conventional mining entirely.=Tatsächlich ist Slade für den konventionellen Bergbau völlig undurchlässig.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade is extremely hard to work with so it has little use.=Slade ist extrem schwer zu bearbeiten, daher hat es wenig Sinn.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The liquid found in the deepest pits in the underworld is highly dangerous and damaging.=Die Flüssigkeit in den tiefsten Gruben der Unterwelt ist äußerst gefährlich und schädlich.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The only use for this material is that it destroys whatever is thrown into it. It cannot otherwise be manipulated.=Die einzige Verwendung für dieses Material ist, dass es alles zerstört, was hineingeworfen wird. Es kann nicht anders manipuliert werden.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The very foundation of the world, Slade is a mysterious ultra-dense substance.=Slade ist das Fundament der Welt und eine mysteriöse, ultradichte Substanz.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
These crystals have no known use.=Diese Kristalle haben keine bekannte Verwendung.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
These stones are highly volatile and should not be disturbed.=Diese Steine sind sehr flüchtig und sollten nicht gestört werden.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
This block of Slade, carved by an unknown hand, is engraved with mysterious symbols. Most of the engraving's meaning is lost to the mists of time but one frament in the oldest known language can be translated: "This place is not a place of honor."=Dieser von einer unbekannten Hand geschnitzte Slade-Block ist mit mysteriösen Symbolen versehen. Der größte Teil der Bedeutung der Gravur geht den Nebeln der Zeit verloren, aber ein Frament in der ältesten bekannten Sprache kann übersetzt werden: "Dieser Ort ist kein Ehrenplatz."
### glow_stone.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Lightseam=Lichtnaht
### glowing_pit_plasma.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Glowing Pit Plasma=Glühendes Grubenplasma
### hunter_statue.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Guardian Statue=Wächterstatue
### puzzle_seal.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Active Slade Breacher=Aktiver Slade Breacher
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Breach in the Slade=Brich den Slade ein
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Inscribed Slade Block=Beschrifteter Slade-Block
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade Block Slab=Slade Block Platte
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade Block Stair=Slade Block Treppe
Slade Capstone=
Slade Puzzle Seal=
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Turn=Wende
### slade.lua ###
Slade=
Slade Block=
Slade Brick=
Slade Sand=
Slade Seal=
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade Slab=Slade-Platte
Slade Stair=
Slade Wall=

View File

@ -0,0 +1,79 @@
# textdomain: df_underworld_items
### crystals_amethyst.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Glowing Amethyst Block=Blocco di ametista incandescente
### doc.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Bright glowing stones of unknown origin found lodged in the crevices of the underworld's ceiling.=Pietre luminose e luminose di origine sconosciuta trovate alloggiate nelle fessure del soffitto del mondo sotterraneo.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Glowing purple crystals that grow through holes in the foundation of the world.=Cristalli viola luminosi che crescono attraverso i buchi nelle fondamenta del mondo.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
In fact, Slade is impervious to conventional mining entirely.=In effetti, Slade è completamente impermeabile al mining convenzionale.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade is extremely hard to work with so it has little use.=Slade è estremamente difficile da lavorare, quindi è poco utile.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The liquid found in the deepest pits in the underworld is highly dangerous and damaging.=Il liquido trovato nelle fosse più profonde degli inferi è altamente pericoloso e dannoso.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The only use for this material is that it destroys whatever is thrown into it. It cannot otherwise be manipulated.=L'unico uso di questo materiale è che distrugge tutto ciò che viene gettato al suo interno. Non può essere altrimenti manipolato.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
The very foundation of the world, Slade is a mysterious ultra-dense substance.=Il fondamento stesso del mondo, Slade è una misteriosa sostanza ultra-densa.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
These crystals have no known use.=Questi cristalli non hanno alcun uso noto.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
These stones are highly volatile and should not be disturbed.=Queste pietre sono altamente volatili e non dovrebbero essere disturbate.
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
This block of Slade, carved by an unknown hand, is engraved with mysterious symbols. Most of the engraving's meaning is lost to the mists of time but one frament in the oldest known language can be translated: "This place is not a place of honor."=Questo blocco di Slade, scolpito da una mano sconosciuta, è inciso con simboli misteriosi. La maggior parte del significato dell'incisione si perde nella notte dei tempi, ma un frammento nella più antica lingua conosciuta può essere tradotto: "Questo posto non è un posto d'onore".
### glow_stone.lua ###
Lightseam=
### glowing_pit_plasma.lua ###
Glowing Pit Plasma=
### hunter_statue.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Guardian Statue=Statua del guardiano
### puzzle_seal.lua ###
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Active Slade Breacher=Attivo Slade Breacher
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Breach in the Slade=Violazione nello Slade
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Inscribed Slade Block=Inscritto Slade Block
Slade Block Slab=
Slade Block Stair=
Slade Capstone=
Slade Puzzle Seal=
Turn=
### slade.lua ###
Slade=
Slade Block=
Slade Brick=
Slade Sand=
#WARNING: AUTOTRANSLATED BY GOOGLE TRANSLATE
Slade Seal=Sigillo Slade
Slade Slab=
Slade Stair=
Slade Wall=

View File

@ -36,6 +36,10 @@ Lightseam=
Glowing Pit Plasma=
### hunter_statue.lua ###
Guardian Statue=
### puzzle_seal.lua ###
Active Slade Breacher=

View File

@ -1,4 +1,4 @@
name = df_underworld_items
description = Various node types used by the dfcaverns mapgen mod for its underworld layer.
depends = default
optional_depends = doc, radiant_damage, mesecons_mvps, tnt, stairs
optional_depends = doc, radiant_damage, mesecons_mvps, tnt, stairs, hunter_statue

View File

@ -1,2 +1,3 @@
dfcaverns_invulnerable_slade (Slade cannot be damaged) bool true
dfcaverns_destructive_pit_plasma (Pit plasma destroys adjacent nodes) bool true
dfcaverns_destructive_pit_plasma (Pit plasma destroys adjacent nodes) bool true
dfcaverns_underworld_hunter_statues (Enable hunter statues in the underworld) bool true

24
hunter_statue/LICENSE.txt Normal file
View File

@ -0,0 +1,24 @@
Sounds and textures are under various licenses, see the license.txt file in the /sounds and /textures directories for details.
License for Code
----------------
Copyright (C) 2020 FaceDeer
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

156
hunter_statue/init.lua Normal file
View File

@ -0,0 +1,156 @@
local S = minetest.get_translator(minetest.get_current_modname())
hunter_statue = {}
local statue_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 95/64, 0.5},
},
}
local fourtyfivedegrees = math.pi/4
local sixtydegrees = math.pi/3
local default_sounds
if default and default.node_sound_stone_defaults then
default_sounds = default.node_sound_stone_defaults()
end
local test_array = {
{x=0,y=0,z=0},
{x=0,y=-1,z=0},
{x=0,y=1,z=0},
{x=0,y=-2,z=0},
{x=0,y=2,z=0},
}
--statue_def = {
-- description = name of statue type
-- tiles = {}
-- drop = ""
-- sounds =
-- groups = {}
-- interval = 1
-- chance = 1
-- damage = 8
-- knockback = 16
-- tnt_vulnerable = false
-- tnt_debris =
-- other_overrides =
--}
hunter_statue.register_hunter_statue = function(node_name, statue_def)
local def = {
description = statue_def.description or S("Hunter Statue"),
-- _doc_items_longdesc = long_description,
-- _doc_items_usagehelp = usage_help,
drawtype = "mesh",
mesh = "hunter_statue.obj",
tiles = statue_def.tiles or {},
paramtype2 = "facedir",
drop = statue_def.drop or "",
collision_box = statue_box,
selection_box = statue_box,
groups = statue_def.groups or {falling_node = 1},
sounds = statue_def.sounds or default_sounds,
}
if statue_def.tnt_vulnerable then
def.on_blast = function(pos, intensity)
if intensity > 3.0 then
minetest.set_node(pos, {name= statue_def.tnt_debris or "air"})
minetest.check_for_falling(pos)
end
end
end
if statue_def.other_overrides then
for k, v in pairs(statue_def.other_overrides) do
def[k] = v
end
end
local knockback = statue_def.knockback or 16
local damage = statue_def.damage or 8
minetest.register_node(node_name, def)
minetest.register_abm({
label = node_name .. " ABM",
nodenames = {node_name},
interval = statue_def.interval or 1.0,
chance = statue_def.chance or 1,
action = function(pos, node, active_object_count, active_object_count_wider)
local players = minetest.get_connected_players()
local nearest_distance = 50
local nearest_player = nil
local nearest_pos = nil
for _, player in pairs(players) do
local player_pos = player:get_pos()
local player_distance = vector.distance(pos, player_pos)
-- ignore far-away players
if player_distance < 50 then
local look_dir = player:get_look_dir()
local statue_dir = vector.direction(player_pos, pos)
local angle = vector.angle(look_dir, statue_dir)
if angle < sixtydegrees then
-- raycast test?
-- a player is looking, do nothing
return
elseif player_distance < nearest_distance then
nearest_distance = player_distance
nearest_player = player
nearest_pos = player_pos
end
end
end
if nearest_player then
if nearest_distance < 2 then
local armour_multiplier = 1
local fleshy_armour = nearest_player:get_armor_groups().fleshy
if fleshy_armour then
armour_multiplier = fleshy_armour/100
end
nearest_player:add_player_velocity(vector.multiply(vector.direction(pos, nearest_pos), knockback))
nearest_player:set_hp(math.max(nearest_player:get_hp() - damage*armour_multiplier, 0))
minetest.sound_play({name="hunter_statue_thud"}, {pos = nearest_pos})
return
end
local player_dir = vector.direction(pos, nearest_pos)
local new_facedir = minetest.dir_to_facedir(player_dir)
local new_pos = vector.round(vector.add(pos, player_dir))
for _, add_pos in ipairs(test_array) do
local test_base = vector.add(new_pos, add_pos)
local test_base_node = minetest.get_node(test_base)
local test_base_node_def = minetest.registered_nodes[test_base_node.name]
if test_base_node_def and test_base_node_def.buildable_to then
local test_above = vector.add(test_base, {x=0, y=1, z=0})
local test_above_node = minetest.get_node(test_above)
local test_above_node_def = minetest.registered_nodes[test_above_node.name]
if test_above_node_def and test_above_node_def.buildable_to then
local test_below = vector.add(test_base, {x=0, y=-1, z=0})
local test_below_node = minetest.get_node(test_below)
local test_below_node_def = minetest.registered_nodes[test_below_node.name]
if test_below_node_def and test_below_node_def.walkable then
minetest.set_node(pos, {name="air"}) -- old location
minetest.set_node(test_above, {name="air"}) -- some kind of filler node?
node.param2 = new_facedir
minetest.set_node(test_base, node)
minetest.sound_play({name="hunter_statue_brick_step"}, {pos = pos})
return
end
end
end
end
if node.param2 ~= new_facedir then
node.param2 = new_facedir
minetest.set_node(pos, node)
minetest.sound_play({name="hunter_statue_turn_grind"}, {pos = pos})
end
end
end,
})
end

View File

@ -0,0 +1,6 @@
# textdomain: hunter_statue
### init.lua ###
Hunter Statue=

2
hunter_statue/mod.conf Normal file
View File

@ -0,0 +1,2 @@
name=hunter_statue
optional_depends = default

View File

@ -0,0 +1,204 @@
# Blender v2.83.1 OBJ File: 'statue.blend'
# www.blender.org
mtllib hunter_statue.mtl
o Reaper_Cube.004
v -0.321956 -0.499999 -0.232636
v -0.321956 0.000000 -0.232636
v 0.321956 -0.499999 -0.232636
v 0.321956 0.000000 -0.232636
v -0.321956 -0.499999 0.515897
v -0.321956 0.000000 0.515897
v 0.321956 -0.499999 0.515897
v 0.321956 0.000000 0.515897
v -0.510628 0.000000 -0.599906
v -0.510628 0.450000 -0.599906
v 0.510628 0.000000 -0.599906
v 0.510628 0.450000 -0.599906
v -0.510628 0.000000 0.192351
v -0.510628 0.450000 0.192351
v 0.510628 0.000000 0.192351
v 0.510628 0.450000 0.192351
v -0.614139 0.450000 -0.868622
v -0.614139 1.355958 -0.868622
v 0.614139 0.450000 -0.868622
v 0.614139 1.355958 -0.868622
v -0.614139 0.450000 -0.050000
v -0.614139 1.355958 -0.050000
v 0.614139 0.450000 -0.050000
v 0.614139 1.355958 -0.050000
v -0.319882 0.820354 -0.050000
v -0.319882 1.499348 -0.050000
v 0.319882 0.820354 -0.050000
v 0.319882 1.499348 -0.050000
v -0.319882 0.820354 0.720721
v -0.319882 1.499348 0.720721
v 0.319882 0.820354 0.720721
v 0.319882 1.499348 0.720721
v -0.176403 1.356000 -0.478804
v -0.176403 1.600000 -0.478804
v 0.176403 1.356000 -0.478804
v 0.176403 1.600000 -0.478804
v -0.176403 1.356000 0.313453
v -0.176403 1.600000 0.313453
v 0.176403 1.356000 0.313453
v 0.176403 1.600000 0.313453
v 0.070475 0.572531 0.557791
v 0.095793 0.829035 0.587892
v 0.219244 0.829035 0.587892
v 0.095793 0.829035 0.689536
v 0.219244 0.829035 0.689536
v -0.070475 0.572531 0.557791
v -0.095793 0.829035 0.587892
v -0.219244 0.829035 0.587892
v -0.095793 0.829035 0.689536
v -0.219244 0.829035 0.689536
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 0.000000
vt 0.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 0.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vt 0.000000 1.000000
vt 1.000000 0.000000
vt 0.000000 1.000000
vt 1.000000 1.000000
vn -0.0000 0.0000 -1.0000
vn 1.0000 0.0000 -0.0000
vn -0.0000 0.0000 1.0000
vn -1.0000 0.0000 0.0000
vn 0.0000 -1.0000 -0.0000
vn 0.0000 1.0000 0.0000
vn 0.0000 0.1166 -0.9932
vn 0.8650 -0.5017 0.0000
vn 0.0000 -0.4569 0.8895
vn -0.9952 0.0982 0.0000
vn -0.0000 0.1165 -0.9932
vn -0.8650 -0.5017 0.0000
vn 0.9952 0.0982 0.0000
g Reaper_Cube.004_None
usemtl None
s off
f 1/1/1 2/2/1 4/3/1 3/4/1
f 3/5/2 4/6/2 8/7/2 7/8/2
f 7/8/3 8/7/3 6/9/3 5/10/3
f 5/11/4 6/12/4 2/2/4 1/1/4
f 3/13/5 7/14/5 5/11/5 1/1/5
f 8/7/6 4/6/6 2/15/6 6/16/6
f 9/17/1 10/18/1 12/19/1 11/20/1
f 11/21/2 12/22/2 16/23/2 15/24/2
f 15/24/3 16/23/3 14/25/3 13/26/3
f 13/27/4 14/28/4 10/18/4 9/17/4
f 11/29/5 15/30/5 13/27/5 9/17/5
f 16/23/6 12/22/6 10/31/6 14/32/6
f 17/33/1 18/34/1 20/35/1 19/36/1
f 19/37/2 20/38/2 24/39/2 23/40/2
f 23/40/3 24/39/3 22/41/3 21/42/3
f 21/43/4 22/44/4 18/34/4 17/33/4
f 19/45/5 23/46/5 21/43/5 17/33/5
f 24/39/6 20/38/6 18/47/6 22/48/6
f 25/49/1 26/50/1 28/51/1 27/52/1
f 27/53/2 28/54/2 32/55/2 31/56/2
f 31/56/3 32/55/3 30/57/3 29/58/3
f 29/59/4 30/60/4 26/50/4 25/49/4
f 27/61/5 31/62/5 29/59/5 25/49/5
f 32/55/6 28/54/6 26/63/6 30/64/6
f 33/65/1 34/66/1 36/67/1 35/68/1
f 35/69/2 36/70/2 40/71/2 39/72/2
f 39/72/3 40/71/3 38/73/3 37/74/3
f 37/75/4 38/76/4 34/66/4 33/65/4
f 35/77/5 39/78/5 37/75/5 33/65/5
f 40/71/6 36/70/6 34/79/6 38/80/6
f 41/81/7 42/82/7 43/83/7
f 41/81/8 43/84/8 45/85/8
f 41/86/9 45/85/9 44/87/9
f 41/86/10 44/88/10 42/82/10
f 46/89/11 48/90/11 47/91/11
f 46/89/12 50/92/12 48/93/12
f 46/94/9 49/95/9 50/92/9
f 46/94/13 47/91/13 49/96/13

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,3 @@
hunter_statue_brick_step and hunter_statue_turn_grind are all from https://freesound.org/people/nebulousflynn/sounds/234360/ by nebulousflynn under Creative Commons BY 3.0
hunter_statue_thud are from https://freesound.org/people/yummy9987/sounds/494930/ under the CC0 license