mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 15:13:16 +00:00
fix cape as notplayer, dont make potion breaking noise on picking up a potion, fix spectator shield not working always
This commit is contained in:
parent
37cfd514e4
commit
e3b34abe1a
5 changed files with 17 additions and 10 deletions
|
@ -267,6 +267,8 @@ local player_fns = {
|
|||
if EntityGetName(child) == "notcursor" then
|
||||
EntityApplyTransform(child, message.mouse_x, message.mouse_y)
|
||||
elseif EntityGetName(child) == "cursor" then
|
||||
player_data.mouse_x = message.my_x
|
||||
player_data.mouse_y = message.my_y
|
||||
EntityApplyTransform(child, message.my_x, message.my_y)
|
||||
end
|
||||
end
|
||||
|
@ -378,6 +380,8 @@ local player_fns = {
|
|||
projectile_rng_init = {},
|
||||
projectile_seed_chain = {}, -- TODO clean
|
||||
currently_polymorphed = false,
|
||||
mouse_x = 0,
|
||||
mouse_y = 0,
|
||||
}
|
||||
end,
|
||||
}
|
||||
|
|
|
@ -96,6 +96,12 @@ function item_sync.remove_item_with_id_now(gid)
|
|||
for _, item in ipairs(global_items) do
|
||||
local i_gid = item_sync.get_global_item_id(item)
|
||||
if i_gid == gid then
|
||||
--TODO properly note when actually was from a peer picking up a potion maybe
|
||||
for _, audio in ipairs(EntityGetComponent(item, "AudioComponent") or {}) do
|
||||
if string.sub(ComponentGetValue2(audio, "event_root"), 1, 10) == "collision/" then
|
||||
EntitySetComponentIsEnabled(item, audio, false)
|
||||
end
|
||||
end
|
||||
EntityKill(item)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<Entity >
|
||||
<Entity name="cape">
|
||||
|
||||
<VerletPhysicsComponent
|
||||
num_points="150"
|
||||
|
|
|
@ -88,7 +88,7 @@ function module.on_world_update()
|
|||
if EntityGetName(child) == "cape" then
|
||||
local cpe = EntityGetFirstComponentIncludingDisabled(child, "VerletPhysicsComponent")
|
||||
local cx, cy = ComponentGetValue2(cpe, "m_position_previous")
|
||||
local dcx, dcy = x - cx, y - cy
|
||||
local dcx, dcy = mx - cx, my - cy
|
||||
if dcx * dcx + dcy * dcy > 300 * 300 then
|
||||
EntityKill(child)
|
||||
else
|
||||
|
|
|
@ -24,7 +24,9 @@ rpc.opts_everywhere()
|
|||
rpc.opts_reliable()
|
||||
function rpc.del_shield()
|
||||
if shield_entities[ctx.rpc_peer_id] ~= nil then
|
||||
if EntityGetIsAlive(shield_entities[ctx.rpc_peer_id][2]) then
|
||||
EntityKill(shield_entities[ctx.rpc_peer_id][2])
|
||||
end
|
||||
shield_entities[ctx.rpc_peer_id] = nil
|
||||
end
|
||||
end
|
||||
|
@ -80,7 +82,7 @@ function module.on_world_update()
|
|||
end
|
||||
if GameGetFrameNum() % 10 == 8 then
|
||||
local notplayer_active = GameHasFlagRun("ew_flag_notplayer_active")
|
||||
if shield_entities[ctx.my_id] ~= nil and not EntityGetIsAlive(shield_entities[ctx.my_id]) then
|
||||
if shield_entities[ctx.my_id] ~= nil and not EntityGetIsAlive(shield_entities[ctx.my_id][2]) then
|
||||
rpc.del_shield()
|
||||
end
|
||||
if notplayer_active and ctx.spectating_over_peer_id ~= nil and is_acceptable_help_target(ctx.spectating_over_peer_id) then
|
||||
|
@ -108,12 +110,7 @@ function module.on_world_update()
|
|||
his_x, his_y = DEBUG_GetMouseWorld()
|
||||
end
|
||||
else
|
||||
for _, child in ipairs(EntityGetAllChildren(ctx.players[shield_id].entity) or {}) do
|
||||
if (EntityGetName(child) == "cursor") then
|
||||
his_x, his_y = EntityGetTransform(child)
|
||||
break
|
||||
end
|
||||
end
|
||||
his_x, his_y = ctx.players[shield_id].mouse_x, ctx.players[shield_id].mouse_y
|
||||
end
|
||||
if his_x == nil or my_x == nil then
|
||||
goto continue
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue