mirror of
https://github.com/IntQuant/noita_entangled_worlds.git
synced 2025-10-19 15:13:16 +00:00
EnemyDataNoMotion variant
This commit is contained in:
parent
28b7dd2a4b
commit
6b495db00e
2 changed files with 35 additions and 10 deletions
|
@ -30,3 +30,9 @@
|
||||||
| speed = 1.00
|
| speed = 1.00
|
||||||
| spell1 = Spark bolt
|
| spell1 = Spark bolt
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
|
local x, y = cursor.pos()
|
||||||
|
for i = 1, 150 do
|
||||||
|
EntityLoad("data/entities/props/physics_box_explosive.xml", x, y)
|
||||||
|
end
|
|
@ -11,6 +11,11 @@ local EnemyData = util.make_type({
|
||||||
f32 = {"x", "y", "vx", "vy", "hp", "max_hp"}
|
f32 = {"x", "y", "vx", "vy", "hp", "max_hp"}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- Variant of EnemyData for when we don't have any motion (or no VelocityComponent).
|
||||||
|
local EnemyDataNoMotion = util.make_type({
|
||||||
|
f32 = {"x", "y", "hp", "max_hp"}
|
||||||
|
})
|
||||||
|
|
||||||
local FULL_TURN = math.pi * 2
|
local FULL_TURN = math.pi * 2
|
||||||
|
|
||||||
local PhysData = util.make_type({
|
local PhysData = util.make_type({
|
||||||
|
@ -155,7 +160,16 @@ function enemy_sync.host_upload_entities()
|
||||||
-- if laser_sight ~= nil and laser_sight ~= 0 then
|
-- if laser_sight ~= nil and laser_sight ~= 0 then
|
||||||
-- -- local x, y, r =
|
-- -- local x, y, r =
|
||||||
-- end
|
-- end
|
||||||
local en_data = EnemyData {
|
local en_data
|
||||||
|
if math.abs(vx) < 0.01 and math.abs(vy) < 0.01 then
|
||||||
|
en_data= EnemyDataNoMotion {
|
||||||
|
x = x,
|
||||||
|
y = y,
|
||||||
|
hp = hp,
|
||||||
|
max_hp = max_hp,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
en_data= EnemyData {
|
||||||
x = x,
|
x = x,
|
||||||
y = y,
|
y = y,
|
||||||
vx = vx,
|
vx = vx,
|
||||||
|
@ -163,6 +177,7 @@ function enemy_sync.host_upload_entities()
|
||||||
hp = hp,
|
hp = hp,
|
||||||
max_hp = max_hp,
|
max_hp = max_hp,
|
||||||
}
|
}
|
||||||
|
end
|
||||||
|
|
||||||
table.insert(enemy_data_list, {enemy_id, filename, en_data, phys_info, not_ephemerial})
|
table.insert(enemy_data_list, {enemy_id, filename, en_data, phys_info, not_ephemerial})
|
||||||
::continue::
|
::continue::
|
||||||
|
@ -280,8 +295,12 @@ function rpc.handle_enemy_data(enemy_data)
|
||||||
|
|
||||||
local x = en_data.x
|
local x = en_data.x
|
||||||
local y = en_data.y
|
local y = en_data.y
|
||||||
local vx = en_data.vx
|
local vx = 0
|
||||||
local vy = en_data.vy
|
local vy = 0
|
||||||
|
if ffi.typeof(en_data) == EnemyData then
|
||||||
|
vx = en_data.vx
|
||||||
|
vy = en_data.vy
|
||||||
|
end
|
||||||
local hp = en_data.hp
|
local hp = en_data.hp
|
||||||
local max_hp = en_data.max_hp
|
local max_hp = en_data.max_hp
|
||||||
local phys_info = enemy_info_raw[4]
|
local phys_info = enemy_info_raw[4]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue