diff --git a/mods/amogus_entities/entities/amogus_entity.lua b/mods/amogus_entities/entities/amogus_entity.lua index 3db1593..4f6d003 100644 --- a/mods/amogus_entities/entities/amogus_entity.lua +++ b/mods/amogus_entities/entities/amogus_entity.lua @@ -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 diff --git a/mods/amogus_entities/entities/mini_crewmate_entity.lua b/mods/amogus_entities/entities/mini_crewmate_entity.lua index 147af39..be73231 100644 --- a/mods/amogus_entities/entities/mini_crewmate_entity.lua +++ b/mods/amogus_entities/entities/mini_crewmate_entity.lua @@ -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 diff --git a/mods/amogus_entities/entities/sussy_imposter_entity.lua b/mods/amogus_entities/entities/sussy_imposter_entity.lua new file mode 100644 index 0000000..87a44cd --- /dev/null +++ b/mods/amogus_entities/entities/sussy_imposter_entity.lua @@ -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) \ No newline at end of file diff --git a/mods/amogus_entities/init.lua b/mods/amogus_entities/init.lua index affd80c..7100aa3 100644 --- a/mods/amogus_entities/init.lua +++ b/mods/amogus_entities/init.lua @@ -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") \ No newline at end of file +dofile(minetest.get_modpath("amogus_entities") .. "/entities/mini_crewmate_entity.lua") +dofile(minetest.get_modpath("amogus_entities") .. "/entities/sussy_imposter_entity.lua") \ No newline at end of file diff --git a/mods/amogus_entities/models/sussy_imposter_entity.obj b/mods/amogus_entities/models/sussy_imposter_entity.obj new file mode 100644 index 0000000..f0876f6 --- /dev/null +++ b/mods/amogus_entities/models/sussy_imposter_entity.obj @@ -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 diff --git a/mods/amogus_entities/textures/imposta.png b/mods/amogus_entities/textures/imposta.png deleted file mode 100644 index ae9dca4..0000000 Binary files a/mods/amogus_entities/textures/imposta.png and /dev/null differ diff --git a/mods/amogus_entities/textures/sussy_imposter_entity.png b/mods/amogus_entities/textures/sussy_imposter_entity.png new file mode 100644 index 0000000..3234d6c Binary files /dev/null and b/mods/amogus_entities/textures/sussy_imposter_entity.png differ diff --git a/mods/amogus_general/init.lua b/mods/amogus_general/init.lua index 539834d..4093928 100644 --- a/mods/amogus_general/init.lua +++ b/mods/amogus_general/init.lua @@ -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} } diff --git a/mods/amogus_general/sounds/sus_sound1.ogg b/mods/amogus_general/sounds/sus_sound1.ogg new file mode 100644 index 0000000..bc612d3 Binary files /dev/null and b/mods/amogus_general/sounds/sus_sound1.ogg differ diff --git a/mods/amogus_general/sounds/sus_sound2.ogg b/mods/amogus_general/sounds/sus_sound2.ogg new file mode 100644 index 0000000..c87f362 Binary files /dev/null and b/mods/amogus_general/sounds/sus_sound2.ogg differ diff --git a/mods/amogus_general/sounds/sus_sound3.ogg b/mods/amogus_general/sounds/sus_sound3.ogg new file mode 100644 index 0000000..42cdb67 Binary files /dev/null and b/mods/amogus_general/sounds/sus_sound3.ogg differ