mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 15:13:16 +00:00
make camera look visually nicer
This commit is contained in:
parent
f281e2ddbf
commit
2f7230377c
2 changed files with 30 additions and 7 deletions
|
@ -171,13 +171,21 @@ local function player_died()
|
||||||
rpc.add_nickname_change_cursor()
|
rpc.add_nickname_change_cursor()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function set_camera_free(enable)
|
||||||
|
local cam = EntityGetFirstComponentIncludingDisabled(ctx.my_player.entity, "PlatformShooterPlayerComponent")
|
||||||
|
if cam ~= nil then
|
||||||
|
ComponentSetValue2(cam, "center_camera_on_this_entity", not enable)
|
||||||
|
ComponentSetValue2(cam, "move_camera_with_aim", not enable)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function do_game_over(message)
|
local function do_game_over(message)
|
||||||
net.proxy_notify_game_over()
|
net.proxy_notify_game_over()
|
||||||
ctx.run_ended = true
|
ctx.run_ended = true
|
||||||
local damage_model = EntityGetFirstComponentIncludingDisabled(ctx.my_player.entity, "DamageModelComponent")
|
local damage_model = EntityGetFirstComponentIncludingDisabled(ctx.my_player.entity, "DamageModelComponent")
|
||||||
GameRemoveFlagRun("ew_flag_notplayer_active")
|
GameRemoveFlagRun("ew_flag_notplayer_active")
|
||||||
if damage_model ~= nil and #(EntityGetAllChildren(ctx.my_player.entity) or {}) ~= 0 then
|
if damage_model ~= nil and #(EntityGetAllChildren(ctx.my_player.entity) or {}) ~= 0 then
|
||||||
GameSetCameraFree(true)
|
set_camera_free(true)
|
||||||
GameRemoveFlagRun("ew_cam_wait")
|
GameRemoveFlagRun("ew_cam_wait")
|
||||||
ctx.my_player.entity = end_poly_effect(ctx.my_player.entity)
|
ctx.my_player.entity = end_poly_effect(ctx.my_player.entity)
|
||||||
polymorph.switch_entity(ctx.my_player.entity)
|
polymorph.switch_entity(ctx.my_player.entity)
|
||||||
|
@ -190,7 +198,7 @@ local function do_game_over(message)
|
||||||
GameTriggerGameOver()
|
GameTriggerGameOver()
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
GameSetCameraFree(true)
|
set_camera_free(true)
|
||||||
GameTriggerGameOver()
|
GameTriggerGameOver()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -78,6 +78,21 @@ local function get_me()
|
||||||
return alive
|
return alive
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function set_camera_free(enable)
|
||||||
|
local cam = EntityGetFirstComponentIncludingDisabled(ctx.my_player.entity, "PlatformShooterPlayerComponent")
|
||||||
|
if cam ~= nil then
|
||||||
|
ComponentSetValue2(cam, "center_camera_on_this_entity", not enable)
|
||||||
|
ComponentSetValue2(cam, "move_camera_with_aim", not enable)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function set_camera_pos(x, y)
|
||||||
|
local cam = EntityGetFirstComponentIncludingDisabled(ctx.my_player.entity, "PlatformShooterPlayerComponent")
|
||||||
|
if cam ~= nil then
|
||||||
|
ComponentSetValue2(cam, "mDesiredCameraPos", x, y)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
local function target()
|
local function target()
|
||||||
if cam_target.entity == ctx.my_player.entity and not EntityHasTag(ctx.my_player.entity, "ew_notplayer") then
|
if cam_target.entity == ctx.my_player.entity and not EntityHasTag(ctx.my_player.entity, "ew_notplayer") then
|
||||||
perks_ui(true)
|
perks_ui(true)
|
||||||
|
@ -96,10 +111,10 @@ local function target()
|
||||||
GameRemoveFlagRun("ew_cam_wait")
|
GameRemoveFlagRun("ew_cam_wait")
|
||||||
async(function()
|
async(function()
|
||||||
wait(1)
|
wait(1)
|
||||||
GameSetCameraFree(false)
|
set_camera_free(false)
|
||||||
end)
|
end)
|
||||||
else
|
else
|
||||||
GameSetCameraFree(false)
|
set_camera_free(false)
|
||||||
end
|
end
|
||||||
if camera_target == nil then
|
if camera_target == nil then
|
||||||
camera_target = ctx.my_player
|
camera_target = ctx.my_player
|
||||||
|
@ -121,7 +136,7 @@ local function target()
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
GameSetCameraFree(true)
|
set_camera_free(true)
|
||||||
if cam_target == nil or not EntityGetIsAlive(cam_target.entity) then
|
if cam_target == nil or not EntityGetIsAlive(cam_target.entity) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -141,12 +156,12 @@ local function target()
|
||||||
local dx, dy = t_x - my_x, t_y - my_y
|
local dx, dy = t_x - my_x, t_y - my_y
|
||||||
local di = dx * dx + dy * dy
|
local di = dx * dx + dy * dy
|
||||||
if di > 256 * 256 then
|
if di > 256 * 256 then
|
||||||
GameSetCameraPos(to_x, to_y)
|
set_camera_pos(to_x, to_y)
|
||||||
else
|
else
|
||||||
local cos, sin = dx / 512, dy / 512
|
local cos, sin = dx / 512, dy / 512
|
||||||
local d = math.sqrt(di)
|
local d = math.sqrt(di)
|
||||||
dx, dy = d * cos, d * sin
|
dx, dy = d * cos, d * sin
|
||||||
GameSetCameraPos(my_x + dx, my_y + dy)
|
set_camera_pos(my_x + dx, my_y + dy)
|
||||||
end
|
end
|
||||||
if camera_target == nil then
|
if camera_target == nil then
|
||||||
camera_target = ctx.my_player
|
camera_target = ctx.my_player
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue