mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 07:03:16 +00:00
fix some more issues with end fight, dont allow player collision/material sucker after game ends, fix a notpalyer error
This commit is contained in:
parent
98a95cb5b6
commit
6898506b51
7 changed files with 115 additions and 125 deletions
45
ewext/Cargo.lock
generated
45
ewext/Cargo.lock
generated
|
@ -4,41 +4,32 @@ version = 3
|
|||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.22.0"
|
||||
version = "0.24.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
|
||||
checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.73"
|
||||
version = "0.3.74"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
|
||||
checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -57,15 +48,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.29.0"
|
||||
version = "0.31.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
|
||||
checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.158"
|
||||
version = "0.2.159"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
|
||||
checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
|
@ -85,11 +76,11 @@ checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
|||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.4"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
|
||||
checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
|
||||
dependencies = [
|
||||
"adler",
|
||||
"adler2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -107,12 +98,6 @@ version = "0.1.24"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.52.6"
|
||||
|
|
|
@ -12,4 +12,4 @@ crate-type = ["cdylib"]
|
|||
|
||||
[dependencies]
|
||||
libloading = "0.8.5"
|
||||
backtrace = "0.3"
|
||||
backtrace = "0.3.74"
|
||||
|
|
47
noita-proxy/Cargo.lock
generated
47
noita-proxy/Cargo.lock
generated
|
@ -37,12 +37,6 @@ dependencies = [
|
|||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
|
@ -191,9 +185,9 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
|
|||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.3.0"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
|
@ -204,7 +198,7 @@ dependencies = [
|
|||
"addr2line",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide 0.8.0",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
"windows-targets 0.52.6",
|
||||
|
@ -442,9 +436,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.21"
|
||||
version = "1.1.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0"
|
||||
checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
|
@ -1099,12 +1093,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "flate2"
|
||||
version = "1.0.33"
|
||||
version = "1.0.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
|
||||
checksum = "a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"miniz_oxide 0.8.0",
|
||||
"miniz_oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1932,16 +1926,6 @@ dependencies = [
|
|||
"unicase",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
|
||||
dependencies = [
|
||||
"adler",
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.8.0"
|
||||
|
@ -1949,6 +1933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
"simd-adler32",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2378,15 +2363,15 @@ checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
|
|||
|
||||
[[package]]
|
||||
name = "png"
|
||||
version = "0.17.13"
|
||||
version = "0.17.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
|
||||
checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"crc32fast",
|
||||
"fdeflate",
|
||||
"flate2",
|
||||
"miniz_oxide 0.7.4",
|
||||
"miniz_oxide",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2855,9 +2840,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "rustls-pki-types"
|
||||
version = "1.8.0"
|
||||
version = "1.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
|
||||
checksum = "0e696e35370c65c9c541198af4543ccd580cf17fc25d8e05c5a242b202488c55"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-platform-verifier"
|
||||
|
@ -3245,9 +3230,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.77"
|
||||
version = "2.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
|
||||
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
|
@ -11,6 +11,8 @@ ModTextFileSetContent("data/entities/animals/boss_centipede/ending/gold_effect.x
|
|||
ModTextFileSetContent("data/entities/animals/boss_centipede/ending/midas_sand.xml", "<Entity/>")
|
||||
ModTextFileSetContent("data/entities/animals/boss_centipede/ending/midas_chunks.xml", "<Entity/>")
|
||||
|
||||
local dont_effect = {}
|
||||
|
||||
local function teleport_random()
|
||||
SetRandomSeed(5, 5)
|
||||
local my_num = Random(1,100)
|
||||
|
@ -49,6 +51,7 @@ end
|
|||
rpc.opts_everywhere()
|
||||
function rpc.try_kill(x, y)
|
||||
EntityLoad("mods/quant.ew/files/system/end_fight/gold_effect.xml", x, y )
|
||||
done = true
|
||||
end
|
||||
|
||||
function end_fight.on_world_update()
|
||||
|
@ -98,24 +101,33 @@ function end_fight.on_world_update()
|
|||
local x, y = EntityGetTransform(ctx.my_player.entity)
|
||||
rpc.try_kill(x, y)
|
||||
done = true
|
||||
return
|
||||
elseif try_kill == -1 then
|
||||
try_kill = GameGetFrameNum() + 180
|
||||
end
|
||||
else
|
||||
try_kill = -1
|
||||
end
|
||||
for _, player_data in pairs(ctx.players) do
|
||||
local entity = player_data.entity
|
||||
EntitySetComponentsWithTagEnabled(entity, "health_bar", false)
|
||||
EntitySetComponentsWithTagEnabled(entity, "health_bar_back", false)
|
||||
if EntityHasTag(entity, "ew_notplayer") then
|
||||
end
|
||||
for _, player_data in pairs(ctx.players) do
|
||||
local entity = player_data.entity
|
||||
EntitySetComponentsWithTagEnabled(entity, "health_bar", false)
|
||||
EntitySetComponentsWithTagEnabled(entity, "health_bar_back", false)
|
||||
if EntityHasTag(entity, "ew_notplayer") and not table.contains(dont_effect, entity) then
|
||||
table.insert(dont_effect, entity)
|
||||
async(function()
|
||||
wait(2)
|
||||
for _, com in ipairs(EntityGetComponent(entity, "SpriteComponent") or {}) do
|
||||
EntitySetComponentIsEnabled(entity, com, false)
|
||||
end
|
||||
local collision = EntityGetFirstComponentIncludingDisabled(entity, "PlayerCollisionComponent")
|
||||
local suck = EntityGetFirstComponentIncludingDisabled(entity, "MaterialSuckerComponent")
|
||||
EntitySetComponentIsEnabled(entity, suck, false)
|
||||
EntitySetComponentIsEnabled(entity, collision, false)
|
||||
for _, child in ipairs(EntityGetAllChildren(entity) or {}) do
|
||||
EntityKill(child)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -309,6 +309,10 @@ function rpc.trigger_game_over(message)
|
|||
for _, com in ipairs(EntityGetComponent(entity, "SpriteComponent") or {}) do
|
||||
EntitySetComponentIsEnabled(entity, com, false)
|
||||
end
|
||||
local suck = EntityGetFirstComponentIncludingDisabled(entity, "MaterialSuckerComponent")
|
||||
local collision = EntityGetFirstComponentIncludingDisabled(entity, "PlayerCollisionComponent")
|
||||
EntitySetComponentIsEnabled(entity, suck, false)
|
||||
EntitySetComponentIsEnabled(entity, collision, false)
|
||||
for _, child in ipairs(EntityGetAllChildren(entity) or {}) do
|
||||
EntityKill(child)
|
||||
end
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
local ctx = dofile_once("mods/quant.ew/files/core/ctx.lua")
|
||||
local wandfinder = dofile_once("mods/quant.ew/files/system/notplayer_ai/wandfinder.lua")
|
||||
dofile_once("mods/quant.ew/files/system/player_tether/player_tether.lua")
|
||||
|
||||
local MAX_RADIUS = 128*4
|
||||
|
||||
|
@ -208,6 +209,9 @@ end
|
|||
|
||||
local function has_ambrosia(entity)
|
||||
local com = EntityGetFirstComponentIncludingDisabled(entity, "StatusEffectDataComponent")
|
||||
if com == nil then
|
||||
return
|
||||
end
|
||||
local stains = ComponentGetValue2(com, "stain_effects")
|
||||
return stains ~= nil and stains[24] ~= nil and stains[24] >= 0.15
|
||||
end
|
||||
|
@ -622,62 +626,6 @@ local function is_in_box(x1, x2, y1, y2, x, y)
|
|||
return x1 < x and x < x2 and y1 < y and y < y2
|
||||
end
|
||||
|
||||
local function position_to_area_number(x, y)
|
||||
if np.GetGameModeNr() == 2 then
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 3759 then
|
||||
return 2
|
||||
elseif y < 6319 then
|
||||
return 3
|
||||
elseif y < 10415 then
|
||||
return 4
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 5
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 6
|
||||
end
|
||||
elseif tonumber(SessionNumbersGetValue("NEW_GAME_PLUS_COUNT")) > 0 then
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 2735 then
|
||||
return 2
|
||||
elseif y < 6319 then
|
||||
return 3
|
||||
elseif y < 10415 then
|
||||
return 4
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 5
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 6
|
||||
end
|
||||
else
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 2735 then
|
||||
return 2
|
||||
elseif y < 4783 then
|
||||
return 3
|
||||
elseif y < 6319 then
|
||||
return 4
|
||||
elseif y < 8367 then
|
||||
return 5
|
||||
elseif y < 10415 then
|
||||
return 6
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 7
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 8
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function teleport_to_area(area)
|
||||
async(function()
|
||||
if np.GetGameModeNr() == 2 then
|
||||
|
|
|
@ -6,7 +6,63 @@ local tether_length_2 = tether_length + 128
|
|||
|
||||
local module = {}
|
||||
|
||||
local function is_in_box(x1, x2, y1, y2, x, y)
|
||||
function position_to_area_number(x, y)
|
||||
if np.GetGameModeNr() == 2 then
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 3759 then
|
||||
return 2
|
||||
elseif y < 6319 then
|
||||
return 3
|
||||
elseif y < 10415 then
|
||||
return 4
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 5
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 6
|
||||
end
|
||||
elseif tonumber(SessionNumbersGetValue("NEW_GAME_PLUS_COUNT")) > 0 then
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 2735 then
|
||||
return 2
|
||||
elseif y < 6319 then
|
||||
return 3
|
||||
elseif y < 10415 then
|
||||
return 4
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 5
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 6
|
||||
end
|
||||
else
|
||||
if y < 1199 then
|
||||
return 1
|
||||
elseif y < 2735 then
|
||||
return 2
|
||||
elseif y < 4783 then
|
||||
return 3
|
||||
elseif y < 6319 then
|
||||
return 4
|
||||
elseif y < 8367 then
|
||||
return 5
|
||||
elseif y < 10415 then
|
||||
return 6
|
||||
elseif y < 12975 and (x < 2726 or x > 4135 or y < 12800) then
|
||||
return 7
|
||||
elseif is_in_box(5632, 7168, 14336, 15872, x, y) then
|
||||
return 10
|
||||
else
|
||||
return 8
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function is_in_box(x1, x2, y1, y2, x, y)
|
||||
return x1 < x and x < x2 and y1 < y and y < y2
|
||||
end
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue