Added Sussy Imposter (he's very sussy and he wants to kill you) and improved jumping of every entity

This commit is contained in:
Looki2000 2023-02-05 23:47:35 +01:00
parent 27d36b0e8b
commit f62082d9c6
11 changed files with 607 additions and 23 deletions

View File

@ -120,14 +120,20 @@ local entity = {
pos.z = pos.z + dir_sin
local bnode = minetest.get_node(pos)
if bnode.name == "air" or bnode.name == "amogus_blocks:water_source" or bnode.name == "amogus_blocks:water_flowing" then
--if bnode.name == "air" or bnode.name == "amogus_blocks:water_source" or bnode.name == "amogus_blocks:water_flowing" then
-- if node is not solid OR is a liquid
if minetest.registered_nodes[bnode.name].walkable == false or minetest.registered_nodes[bnode.name].liquidtype ~= "none" then
self.block_lastly_in_front = false
-- if node next to the entity is a solid block
else
if self.block_lastly_in_front == false then
self.block_lastly_in_front = true
local vel = self.object:get_velocity()
vel.y = vel.y + (math.random() * self.min_max_jump_force_diff + self.min_jump_force)
self.object:set_velocity(vel)
-- randomly jump in the next iteration even if theres still a block in front
elseif math.random(10) == 1 then
self.block_lastly_in_front = false
end
end

View File

@ -66,11 +66,11 @@ local entity = {
player = nil,
player_pos = nil,
mini_crewmate_pos = nil,
crewmate_player_vector = nil,
entity_pos = nil,
entity_player_vector = nil,
distance = nil,
current_distance = nil,
current_crewmate_player_vector = nil,
current_entity_player_vector = nil,
@ -136,30 +136,29 @@ local entity = {
self.player = minetest.get_connected_players()[1]
self.player_pos = self.player:get_pos()
self.mini_crewmate_pos = self.object:get_pos()
self.crewmate_player_vector = vector.subtract(self.player_pos, self.mini_crewmate_pos)
self.distance = vector.length(self.crewmate_player_vector)
self.entity_pos = self.object:get_pos()
self.entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.distance = vector.length(self.entity_player_vector)
-- if on multiplayer mode, calculate distance between nearest player and mini crewmate
else
self.player = minetest.get_connected_players()
self.distance = nil
self.crewmate_player_vector = nil
self.entity_player_vector = nil
self.mini_crewmate_pos = self.object:get_pos()
self.entity_pos = self.object:get_pos()
-- iterate over all players
for i = 1, #self.player do
minetest.chat_send_all("player " .. i)
self.player_pos = self.player[i]:get_pos()
--self.crewmate_player_vector = vector.subtract(self.player_pos, self.mini_crewmate_pos)
self.current_crewmate_player_vector = vector.subtract(self.player_pos, self.mini_crewmate_pos)
self.current_distance = vector.length(self.current_crewmate_player_vector)
--self.entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.current_entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.current_distance = vector.length(self.current_entity_player_vector)
-- if distance is nil or current_distance is smaller than distance, set distance to current_distance
if self.distance == nil or self.current_distance < self.distance then
self.distance = self.current_distance
self.crewmate_player_vector = self.current_crewmate_player_vector
self.entity_player_vector = self.current_entity_player_vector
end
end
end
@ -240,10 +239,10 @@ local entity = {
-- if mode is 3 (run away) set rotation so mini crewmate is facing either at the player or away from the player depending on situation
if self.mode == 3 then
-- look away from the player
self.object:set_yaw(math.atan2(-self.crewmate_player_vector.z, -self.crewmate_player_vector.x))
self.object:set_yaw(math.atan2(-self.entity_player_vector.z, -self.entity_player_vector.x))
else
-- look at the player
self.object:set_yaw(math.atan2(self.crewmate_player_vector.z, self.crewmate_player_vector.x))
self.object:set_yaw(math.atan2(self.entity_player_vector.z, self.entity_player_vector.x))
end
end
@ -281,14 +280,20 @@ local entity = {
pos.z = pos.z + dir_sin
local bnode = minetest.get_node(pos)
if bnode.name == "air" or bnode.name == "amogus_blocks:water_source" or bnode.name == "amogus_blocks:water_flowing" then
--if bnode.name == "air" or bnode.name == "amogus_blocks:water_source" or bnode.name == "amogus_blocks:water_flowing" then
-- if node is not solid OR is a liquid
if minetest.registered_nodes[bnode.name].walkable == false or minetest.registered_nodes[bnode.name].liquidtype ~= "none" then
self.block_lastly_in_front = false
-- if node next to the entity is a solid block
else
if self.block_lastly_in_front == false then
self.block_lastly_in_front = true
local vel = self.object:get_velocity()
vel.y = vel.y + self.jump_force
self.object:set_velocity(vel)
-- randomly jump in the next iteration even if theres still a block in front
elseif math.random(10) == 1 then
self.block_lastly_in_front = false
end
end

View File

@ -0,0 +1,281 @@
--local textures_b = {
-- "amogus_entity.png",
-- "amogus_entity_b.png",
-- "amogus_entity_g.png",
-- "amogus_entity_br.png"
--}
local entity = {
physical = true,
collisionbox = {-0.75, 0, -0.75, 0.75, 1.5, 0.75},
visual = "mesh",
visual_size = {x=15, y=15, z=15},
mesh = "sussy_imposter_entity.obj",
textures = {"sussy_imposter_entity.png"},
on_rightclick = function(self, clicker)
minetest.chat_send_player(clicker:get_player_name(), "YOU MET THE MOST SUS THING IN THE WORLD!")
amogus_general.play_random_sound(
"sus_sound",
self.object:get_pos(),
1.0, -- gain
40, -- max_hear_distance
1.0 -- pitch
)
end,
-- impostor config --
walk_acceleration_speed = 0.08, -- acceleration speed when no panic, no stress
run_acceleration_speed = 0.15, -- acceleration speed when chasing player
rotation_acceleration_speed = 0.5, -- self explainatory
gravity = 9.81, -- m/s^2
jump_force = 8, -- self explainatory
friction = 0.6, -- friction (0.0 - no friction like perfectly smooth ice | 1.0 - full friction and can't even move)
rotation_friction = 0.8, -- the same but for rotation
largest_distance_to_find_player = 12, -- largest distance to find player
smallest_distance_to_lost_player = 16, -- smallest distance to lost player
largest_distance_to_hurt_player = 1.5, -- largest distance to hurt player
--------------------------
block_lastly_in_front = false,
rotation_velocity = 0,
rotation_direction = nil,
sound_pitch = nil,
sound_propability = nil,
-- player detection variables
player = nil,
player_pos = nil,
entity_pos = nil,
entity_player_vector = nil,
distance = nil,
current_distance = nil,
current_entity_player_vector = nil,
nearest_player_index = nil,
mode = 0, -- | 0 - stand still | 1 - walk | 2 - chase
on_activate = function(self, staticdata)
self.object:set_yaw(math.random() * 2 * math.pi)
self.rotation_direction = math.random(-1, 1)
end,
on_punch = function(self, puncher, time_from_last_punch, tool_capabilities, dir)
amogus_general.play_random_sound(
"sus_sound",
self.object:get_pos(),
1.0, -- gain
40, -- max_hear_distance
1.5 -- pitch
)
end,
on_step = function(self, dtime)
-- play sus sound randomly with different pitch depending on situation
if self.mode == 0 or self.mode == 1 then -- stand still or walk
sound_pitch = 0.8
sound_propability = 100
else -- chase (2)
sound_pitch = 1.2
sound_propability = 50
end
if math.random(sound_propability) == 1 then
amogus_general.play_random_sound(
"sus_sound",
self.object:get_pos(),
1.0, -- gain
40, -- max_hear_distance
sound_pitch -- pitch
)
end
-- if on singpleplayer mode or only one player is connected, calculate distance between player and mini crewmate
if minetest.is_singleplayer() or #minetest.get_connected_players() == 1 then
-- get first player
self.player = minetest.get_connected_players()[1]
self.player_pos = self.player:get_pos()
self.entity_pos = self.object:get_pos()
self.entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.distance = vector.length(self.entity_player_vector)
-- if on multiplayer mode, calculate distance between nearest player and mini crewmate
else
self.player = minetest.get_connected_players()
self.distance = nil
self.entity_player_vector = nil
self.nearest_player_index = nil
self.entity_pos = self.object:get_pos()
-- iterate over all players
for i = 1, #self.player do
self.player_pos = self.player[i]:get_pos()
--self.entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.current_entity_player_vector = vector.subtract(self.player_pos, self.entity_pos)
self.current_distance = vector.length(self.current_entity_player_vector)
-- if distance is nil or current_distance is smaller than distance, set distance to current_distance
if self.distance == nil or self.current_distance < self.distance then
self.distance = self.current_distance
self.entity_player_vector = self.current_entity_player_vector
self.nearest_player_index = i
end
end
-- get nearest player
self.player = self.player[self.nearest_player_index]
end
-- if mode is 0 or 1 (stand still or walk) and distance is smaller or equal to largest_distance_to_find_player, set mode to 2 (chase)
if (self.mode == 0 or self.mode == 1) and self.distance <= self.largest_distance_to_find_player then
self.mode = 2
-- elseif mode is 2 (chase)
elseif self.mode == 2 then
-- if distance is greater or equal to smallest_distance_to_lost_player, set mode to 0 (stand still)
if self.distance >= self.smallest_distance_to_lost_player then
self.mode = 0
-- else if distance is smaller or equal to largest_distance_to_hurt_player, hurt player
elseif self.distance <= self.largest_distance_to_hurt_player then
if math.random(10) == 1 then
self.player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 1},
}, nil)
end
end
end
-- if if not performing an action related to the player
if self.mode ~= 2 then
-- make mini crewmate sometimes stand still and sometimes walk
if math.random(100) == 1 then
if self.mode == 0 then
self.mode = 1
else
self.mode = 0
end
end
-- some chance of chaning rotation_direction to random value
if math.random(10) == 1 then
--self.rotation_direction = math.random(-1, 1)
local rand = math.random()
if rand < 0.2 then
self.rotation_direction = 1
elseif rand < 0.4 then
self.rotation_direction = -1
else
self.rotation_direction = 0
end
end
-- update rotation_velocity
self.rotation_velocity = self.rotation_velocity + self.rotation_direction * self.rotation_acceleration_speed * dtime
-- update rotation
self.object:set_yaw(self.object:get_yaw() + self.rotation_velocity * dtime)
-- apply rotation_friction
self.rotation_velocity = self.rotation_velocity * (1 - self.rotation_friction * dtime)
else -- else performing an action related to the player
self.rotation_velocity = 0;
-- set rotation so entity is facing at the player
self.object:set_yaw(math.atan2(self.entity_player_vector.z, self.entity_player_vector.x))
end
-- perform calculations on direction
local dir = self.object:get_yaw()
local dir_cos = math.cos(dir)
local dir_sin = math.sin(dir)
-- if not standing still
if self.mode ~= 0 then
-- make mini crewmate walk or run
local vel = self.object:get_velocity()
-- if walking
if self.mode == 1 then
vel.x = vel.x + dir_cos * self.walk_acceleration_speed
vel.z = vel.z + dir_sin * self.walk_acceleration_speed
else -- chasing (2)
vel.x = vel.x + dir_cos * self.run_acceleration_speed
vel.z = vel.z + dir_sin * self.run_acceleration_speed
end
self.object:set_velocity(vel)
end
-- Make it also jump when some block is in front of it
local pos = self.object:get_pos()
pos.x = pos.x + dir_cos
pos.z = pos.z + dir_sin
local bnode = minetest.get_node(pos)
--if bnode.name == "air" or bnode.name == "amogus_blocks:water_source" or bnode.name == "amogus_blocks:water_flowing" then
-- if node is not solid OR is a liquid
if minetest.registered_nodes[bnode.name].walkable == false or minetest.registered_nodes[bnode.name].liquidtype ~= "none" then
self.block_lastly_in_front = false
-- if node next to the entity is a solid block
else
if self.block_lastly_in_front == false then
self.block_lastly_in_front = true
local vel = self.object:get_velocity()
vel.y = vel.y + self.jump_force
self.object:set_velocity(vel)
-- randomly jump in the next iteration even if theres still a block in front
elseif math.random(10) == 1 then
self.block_lastly_in_front = false
end
end
local vel = self.object:get_velocity()
-- change velocity by gravity
vel.y = vel.y - self.gravity * dtime * 2
-- change velocity by friction
vel.x = vel.x * (1 - self.friction * dtime)
vel.z = vel.z * (1 - self.friction * dtime)
self.object:set_velocity(vel)
end
}
minetest.register_entity("amogus_entities:sussy_imposter", entity)

View File

@ -1,3 +1,4 @@
-- Load the entity's lua file
dofile(minetest.get_modpath("amogus_entities") .. "/entities/amogus_entity.lua")
dofile(minetest.get_modpath("amogus_entities") .. "/entities/mini_crewmate_entity.lua")
dofile(minetest.get_modpath("amogus_entities") .. "/entities/mini_crewmate_entity.lua")
dofile(minetest.get_modpath("amogus_entities") .. "/entities/sussy_imposter_entity.lua")

View File

@ -0,0 +1,288 @@
# Blender 3.4.0
# www.blender.org
o body
v -0.250000 1.312500 -0.250000
v -0.375000 1.312500 -0.250000
v -0.250000 1.000000 -0.250000
v -0.375000 1.000000 -0.250000
v -0.375000 1.312500 0.250000
v -0.250000 1.312500 0.250000
v -0.375000 1.000000 0.250000
v -0.250000 1.000000 0.250000
v 0.437500 1.125000 -0.312500
v 0.250000 1.125000 -0.312500
v 0.437500 0.375000 -0.312500
v 0.250000 0.375000 -0.312500
v 0.250000 1.125000 0.312500
v 0.437500 1.125000 0.312500
v 0.250000 0.375000 0.312500
v 0.437500 0.375000 0.312500
v 0.250000 1.437500 -0.375000
v -0.250000 1.437500 -0.375000
v 0.250000 0.312500 -0.375000
v -0.250000 0.312500 -0.375000
v -0.250000 1.437500 0.375000
v 0.250000 1.437500 0.375000
v -0.250000 0.312500 0.375000
v 0.250000 0.312500 0.375000
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.000000 1.000000
vt 0.968971 0.969702
vt 0.000000 1.000000
vt 0.125000 1.000000
vt 0.000000 0.875000
vt 0.000000 0.687500
vt 0.500000 1.000000
vt 0.968971 0.969702
vt 0.000000 0.687500
vt 0.125000 0.687500
vt 0.500000 0.875000
vt 0.500000 1.000000
vt 0.125000 0.687500
vt 0.500000 0.875000
vt -0.000000 0.687500
vt 0.500000 1.000000
vt 0.968971 0.969702
vt 0.500000 0.687500
vt 0.125000 1.000000
vt 0.000000 0.875000
vt 0.000000 1.000000
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
s 0
f 4/9/1 7/18/1 5/12/1 2/3/1
f 3/6/2 4/10/2 2/4/2 1/1/2
f 12/26/3 19/33/3 17/31/3 10/24/3
f 7/19/4 8/21/4 6/15/4 5/13/4
f 6/16/5 1/1/5 2/5/5 5/14/5
f 7/20/6 4/11/6 3/7/6 8/21/6
f 13/27/3 10/24/3 17/31/3 22/36/3
f 11/25/2 12/26/2 10/24/2 9/23/2
f 16/30/3 11/25/3 9/23/3 14/28/3
f 15/29/4 16/30/4 14/28/4 13/27/4
f 14/28/5 9/23/5 10/24/5 13/27/5
f 15/29/6 12/26/6 11/25/6 16/30/6
f 15/29/3 13/27/3 22/36/3 24/38/3
f 19/33/2 20/34/2 18/32/2 17/31/2
f 23/37/4 24/38/4 22/36/4 21/35/4
f 22/36/5 17/31/5 18/32/5 21/35/5
f 23/37/6 20/34/6 19/33/6 24/38/6
f 15/29/3 24/38/3 19/33/3 12/26/3
f 6/17/1 21/35/1 18/32/1 1/2/1
f 8/22/1 23/37/1 21/35/1 6/17/1
f 3/8/1 1/2/1 18/32/1 20/34/1
f 8/22/1 3/8/1 20/34/1 23/37/1
o left_leg
v 0.187500 0.437500 0.062500
v -0.187500 0.437500 0.062500
v 0.187500 -0.000000 0.062500
v -0.187500 -0.000000 0.062500
v -0.187500 0.437500 0.312500
v 0.187500 0.437500 0.312500
v -0.187500 -0.000000 0.312500
v 0.187500 -0.000000 0.312500
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
s 0
f 28/42/7 31/45/7 29/43/7 26/40/7
f 27/41/8 28/42/8 26/40/8 25/39/8
f 32/46/9 27/41/9 25/39/9 30/44/9
f 31/45/10 32/46/10 30/44/10 29/43/10
f 30/44/11 25/39/11 26/40/11 29/43/11
f 31/45/12 28/42/12 27/41/12 32/46/12
o right_leg
v 0.187500 0.437500 -0.312500
v -0.187500 0.437500 -0.312500
v 0.187500 0.000000 -0.312500
v -0.187500 0.000000 -0.312500
v -0.187500 0.437500 -0.062500
v 0.187500 0.437500 -0.062500
v -0.187500 0.000000 -0.062500
v 0.187500 0.000000 -0.062500
vn -1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
vt 0.968971 0.969702
s 0
f 36/50/13 39/53/13 37/51/13 34/48/13
f 35/49/14 36/50/14 34/48/14 33/47/14
f 40/54/15 35/49/15 33/47/15 38/52/15
f 39/53/16 40/54/16 38/52/16 37/51/16
f 38/52/17 33/47/17 34/48/17 37/51/17
f 39/53/18 36/50/18 35/49/18 40/54/18
o knife
v -0.187500 0.750000 -0.531250
v -0.562500 0.750000 -0.531250
v -0.187500 0.625000 -0.531250
v -0.437500 0.625000 -0.531250
v -0.562500 0.750000 -0.468750
v -0.187500 0.750000 -0.468750
v -0.437500 0.625000 -0.468750
v -0.187500 0.625000 -0.468750
v 0.062500 0.734375 -0.531250
v -0.125000 0.734375 -0.531250
v 0.062500 0.640625 -0.531250
v -0.125000 0.640625 -0.531250
v -0.125000 0.734375 -0.468750
v 0.062500 0.734375 -0.468750
v -0.125000 0.640625 -0.468750
v 0.062500 0.640625 -0.468750
v -0.125000 0.812500 -0.562500
v -0.187500 0.812500 -0.562500
v -0.125000 0.562500 -0.562500
v -0.187500 0.562500 -0.562500
v -0.187500 0.812500 -0.437500
v -0.125000 0.812500 -0.437500
v -0.187500 0.562500 -0.437500
v -0.125000 0.562500 -0.437500
v -0.237500 0.625000 -0.531250
v -0.287500 0.640625 -0.531250
v -0.337500 0.625000 -0.531250
v -0.387500 0.640625 -0.531250
v -0.237500 0.750000 -0.531250
v -0.287500 0.750000 -0.531250
v -0.337500 0.750000 -0.531250
v -0.387500 0.750000 -0.531250
v -0.387500 0.750000 -0.468750
v -0.337500 0.750000 -0.468750
v -0.287500 0.750000 -0.468750
v -0.237500 0.750000 -0.468750
v -0.387500 0.640625 -0.468750
v -0.337500 0.625000 -0.468750
v -0.287500 0.640625 -0.468750
v -0.237500 0.625000 -0.468750
vn -0.7071 -0.7071 -0.0000
vn -0.0000 -0.0000 -1.0000
vn 1.0000 -0.0000 -0.0000
vn -0.0000 -0.0000 1.0000
vn -0.0000 1.0000 -0.0000
vn -0.0000 -1.0000 -0.0000
vn -1.0000 -0.0000 -0.0000
vn 0.2983 -0.9545 -0.0000
vn -0.2983 -0.9545 -0.0000
vt 0.593750 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.593750 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.593750 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.593750 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
vt 0.656250 0.968750
s 0
usemtl none
f 44/60/19 47/64/19 45/61/19 42/57/19
f 68/86/20 44/60/20 42/57/20 72/90/20
f 52/70/21 59/77/21 57/75/21 50/68/21
f 80/98/22 48/65/22 46/63/22 76/94/22
f 73/91/23 72/90/23 42/57/23 45/61/23
f 80/98/24 65/83/24 43/59/24 48/65/24
f 53/71/21 50/68/21 57/75/21 62/80/21
f 51/69/20 52/70/20 50/68/20 49/67/20
f 56/74/21 51/69/21 49/67/21 54/72/21
f 55/73/22 56/74/22 54/72/22 53/71/22
f 54/72/23 49/67/23 50/68/23 53/71/23
f 55/73/24 52/70/24 51/69/24 56/74/24
f 55/73/21 64/82/21 59/77/21 52/70/21
f 59/77/20 60/78/20 58/76/20 57/75/20
f 55/73/21 53/71/21 62/80/21 64/82/21
f 63/81/22 64/82/22 62/80/22 61/79/22
f 62/80/23 57/75/23 58/76/23 61/79/23
f 63/81/24 60/78/24 59/77/24 64/82/24
f 48/66/25 43/58/25 60/78/25 63/81/25
f 43/58/25 41/55/25 58/76/25 60/78/25
f 46/62/25 61/79/25 58/76/25 41/55/25
f 48/66/25 63/81/25 61/79/25 46/62/25
f 47/64/26 44/60/26 68/86/26 77/95/26
f 77/95/27 68/86/27 67/85/27 78/96/27
f 78/96/26 67/85/26 66/84/26 79/97/26
f 79/97/27 66/84/27 65/83/27 80/98/27
f 46/63/23 41/56/23 69/87/23 76/94/23
f 76/94/23 69/87/23 70/88/23 75/93/23
f 75/93/23 70/88/23 71/89/23 74/92/23
f 74/92/23 71/89/23 72/90/23 73/91/23
f 47/64/22 77/95/22 73/91/22 45/61/22
f 77/95/22 78/96/22 74/92/22 73/91/22
f 78/96/22 79/97/22 75/93/22 74/92/22
f 79/97/22 80/98/22 76/94/22 75/93/22
f 43/59/20 65/83/20 69/87/20 41/56/20
f 65/83/20 66/84/20 70/88/20 69/87/20
f 66/84/20 67/85/20 71/89/20 70/88/20
f 67/85/20 68/86/20 72/90/20 71/89/20

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -3,11 +3,13 @@ minetest.register_on_joinplayer(function(player)
--player:set_sky({r=0, g=0, b=0}, "plain", {})
-- play music in loop without position
--minetest.sound_play("amogus_incomming", {
-- to_player = player:get_player_name(),
-- loop = true,
-- gain = 1
--})
if false then
minetest.sound_play("amogus_incomming", {
to_player = player:get_player_name(),
loop = true,
gain = 1
})
end
end)
amogus_general = { }
@ -17,6 +19,7 @@ sounds_config = {
-- format: {sound name, number of sounds to ramdomly choose from}
-- so for example if sound name is "test" and the number of sounds is 3, file names that will be randomly chosen are: "test1", "test2", "test3"
{"amogus_sound", 3},
{"sus_sound", 3}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.