mirror of
https://github.com/Dadido3/noita-mapcap.git
synced 2024-11-18 17:17:31 +00:00
Reduce more animations for a cleaner image
- Add override misc\custom_cards\energy_shield.xml - Add override misc\custom_cards\action.xml - Add override entities\base_custom_card.xml - Add override to data/scripts/perks/perk.lua that disables SpriteOffsetAnimatorComponent - Add WrapID functions to Noita API - Remove unecessary entity modifications in capture.lua
This commit is contained in:
parent
f58b005155
commit
8f3ecefa8b
70
data/entities/base_custom_card.xml
Normal file
70
data/entities/base_custom_card.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<Entity name="card" tags="card_action">
|
||||||
|
|
||||||
|
<ItemComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
play_spinning_animation="0"
|
||||||
|
preferred_inventory="FULL"
|
||||||
|
></ItemComponent>
|
||||||
|
|
||||||
|
<HitboxComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
aabb_min_x="-4"
|
||||||
|
aabb_max_x="4"
|
||||||
|
aabb_min_y="-3"
|
||||||
|
aabb_max_y="3"
|
||||||
|
></HitboxComponent>
|
||||||
|
|
||||||
|
<SimplePhysicsComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></SimplePhysicsComponent>
|
||||||
|
|
||||||
|
<VelocityComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></VelocityComponent>
|
||||||
|
|
||||||
|
<!-- <SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_unlocked"
|
||||||
|
image_file="data/ui_gfx/gun_actions/empty.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="8"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_locked"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="8"
|
||||||
|
></SpriteComponent> -->
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_identified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/empty.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_unidentified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_bg"
|
||||||
|
image_file="data/ui_gfx/inventory/item_bg_projectile.png"
|
||||||
|
offset_x="10"
|
||||||
|
offset_y="19"
|
||||||
|
z_index="-1.5"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<ItemActionComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
action_id=""
|
||||||
|
></ItemActionComponent>
|
||||||
|
|
||||||
|
</Entity>
|
70
data/entities/misc/custom_cards/action.xml
Normal file
70
data/entities/misc/custom_cards/action.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<Entity tags="card_action">
|
||||||
|
|
||||||
|
<ItemComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
play_spinning_animation="0"
|
||||||
|
preferred_inventory="FULL"
|
||||||
|
></ItemComponent>
|
||||||
|
|
||||||
|
<HitboxComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
aabb_min_x="-4"
|
||||||
|
aabb_max_x="4"
|
||||||
|
aabb_min_y="-3"
|
||||||
|
aabb_max_y="3"
|
||||||
|
></HitboxComponent>
|
||||||
|
|
||||||
|
<SimplePhysicsComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></SimplePhysicsComponent>
|
||||||
|
|
||||||
|
<VelocityComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></VelocityComponent>
|
||||||
|
|
||||||
|
<!-- <SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_unlocked"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="8"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_locked"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="8"
|
||||||
|
></SpriteComponent> -->
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_identified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/empty.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_unidentified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_bg"
|
||||||
|
image_file="data/ui_gfx/inventory/item_bg_projectile.png"
|
||||||
|
offset_x="10"
|
||||||
|
offset_y="19"
|
||||||
|
z_index="-1.5"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<ItemActionComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
action_id=""
|
||||||
|
></ItemActionComponent>
|
||||||
|
|
||||||
|
</Entity>
|
153
data/entities/misc/custom_cards/energy_shield.xml
Normal file
153
data/entities/misc/custom_cards/energy_shield.xml
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
<Entity tags="card_action,energy_shield">
|
||||||
|
<ItemComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
play_spinning_animation="0"
|
||||||
|
preferred_inventory="FULL"
|
||||||
|
></ItemComponent>
|
||||||
|
|
||||||
|
<HitboxComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
aabb_min_x="-4"
|
||||||
|
aabb_max_x="4"
|
||||||
|
aabb_min_y="-3"
|
||||||
|
aabb_max_y="3"
|
||||||
|
></HitboxComponent>
|
||||||
|
|
||||||
|
<SimplePhysicsComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></SimplePhysicsComponent>
|
||||||
|
|
||||||
|
<VelocityComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
></VelocityComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_tags="enabled_in_world,item_identified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/energy_shield.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51" >
|
||||||
|
</SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_unidentified"
|
||||||
|
image_file="data/ui_gfx/gun_actions/unidentified.png"
|
||||||
|
offset_x="8"
|
||||||
|
offset_y="17"
|
||||||
|
z_index="-1.51" >
|
||||||
|
</SpriteComponent>
|
||||||
|
|
||||||
|
<SpriteComponent
|
||||||
|
_enabled="0"
|
||||||
|
_tags="enabled_in_world,item_bg"
|
||||||
|
image_file="data/ui_gfx/inventory/item_bg_projectile.png"
|
||||||
|
offset_x="10"
|
||||||
|
offset_y="19"
|
||||||
|
z_index="-1.5"
|
||||||
|
></SpriteComponent>
|
||||||
|
|
||||||
|
<ItemActionComponent
|
||||||
|
_tags="enabled_in_world"
|
||||||
|
action_id="ENERGY_SHIELD" >
|
||||||
|
</ItemActionComponent>
|
||||||
|
|
||||||
|
<InheritTransformComponent
|
||||||
|
_tags="enabled_in_hand"
|
||||||
|
use_root_parent="1">
|
||||||
|
<Transform
|
||||||
|
position.x="0"
|
||||||
|
position.y="-4" >
|
||||||
|
</Transform>
|
||||||
|
</InheritTransformComponent>
|
||||||
|
|
||||||
|
<EnergyShieldComponent
|
||||||
|
_tags="enabled_in_hand,item_identified__LEGACY"
|
||||||
|
recharge_speed="0.25"
|
||||||
|
radius="16.0"
|
||||||
|
>
|
||||||
|
</EnergyShieldComponent>
|
||||||
|
|
||||||
|
<ParticleEmitterComponent
|
||||||
|
_tags="character,enabled_in_hand,item_identified__LEGACY"
|
||||||
|
emitted_material_name="plasma_fading"
|
||||||
|
gravity.y="0.0"
|
||||||
|
lifetime_min="0.1"
|
||||||
|
lifetime_max="0.5"
|
||||||
|
count_min="2"
|
||||||
|
count_max="4"
|
||||||
|
render_on_grid="1"
|
||||||
|
fade_based_on_lifetime="1"
|
||||||
|
area_circle_radius.max="16"
|
||||||
|
cosmetic_force_create="0"
|
||||||
|
airflow_force="0.5"
|
||||||
|
airflow_time="0.1"
|
||||||
|
airflow_scale="0.5"
|
||||||
|
emission_interval_min_frames="1"
|
||||||
|
emission_interval_max_frames="1"
|
||||||
|
emit_cosmetic_particles="1"
|
||||||
|
is_emitting="1" >
|
||||||
|
</ParticleEmitterComponent>
|
||||||
|
|
||||||
|
<ParticleEmitterComponent
|
||||||
|
_tags="character,enabled_in_hand,item_identified__LEGACY,shield_ring"
|
||||||
|
emitted_material_name="plasma_fading"
|
||||||
|
gravity.y="0.0"
|
||||||
|
lifetime_min="0.02"
|
||||||
|
lifetime_max="0.05"
|
||||||
|
count_min="90"
|
||||||
|
count_max="100"
|
||||||
|
render_on_grid="1"
|
||||||
|
fade_based_on_lifetime="1"
|
||||||
|
area_circle_radius.min="16"
|
||||||
|
area_circle_radius.max="16"
|
||||||
|
cosmetic_force_create="0"
|
||||||
|
airflow_force="0.3"
|
||||||
|
airflow_time="0.01"
|
||||||
|
airflow_scale="0.05"
|
||||||
|
emission_interval_min_frames="0"
|
||||||
|
emission_interval_max_frames="0"
|
||||||
|
emit_cosmetic_particles="1"
|
||||||
|
is_emitting="1" >
|
||||||
|
</ParticleEmitterComponent>
|
||||||
|
|
||||||
|
<ParticleEmitterComponent
|
||||||
|
_tags="character,enabled_in_hand,item_identified__LEGACY,shield_hit"
|
||||||
|
emitted_material_name="plasma_fading"
|
||||||
|
gravity.y="0.0"
|
||||||
|
lifetime_min="0.3"
|
||||||
|
lifetime_max="1"
|
||||||
|
count_min="300"
|
||||||
|
count_max="360"
|
||||||
|
render_on_grid="1"
|
||||||
|
fade_based_on_lifetime="1"
|
||||||
|
area_circle_radius.min="16"
|
||||||
|
area_circle_radius.max="16"
|
||||||
|
cosmetic_force_create="0"
|
||||||
|
airflow_force="2.8"
|
||||||
|
airflow_time="0.03"
|
||||||
|
airflow_scale="0.8"
|
||||||
|
emission_interval_min_frames="0"
|
||||||
|
emission_interval_max_frames="0"
|
||||||
|
emit_cosmetic_particles="1"
|
||||||
|
is_emitting="0" >
|
||||||
|
</ParticleEmitterComponent>
|
||||||
|
|
||||||
|
<LightComponent
|
||||||
|
_tags="enabled_in_hand,item_identified"
|
||||||
|
_enabled="1"
|
||||||
|
radius="80"
|
||||||
|
fade_out_time="1.5"
|
||||||
|
r="150"
|
||||||
|
g="190"
|
||||||
|
b="230" >
|
||||||
|
</LightComponent>
|
||||||
|
|
||||||
|
<AudioComponent
|
||||||
|
_tags="enabled_in_hand,item_identified"
|
||||||
|
file="data/audio/Desktop/projectiles.bank"
|
||||||
|
event_root="player_projectiles/shield"
|
||||||
|
set_latest_event_position="1" >
|
||||||
|
</AudioComponent>
|
||||||
|
|
||||||
|
</Entity>
|
@ -45,7 +45,7 @@ local componentTypeNamesToDisable = {
|
|||||||
"DamageModelComponent",
|
"DamageModelComponent",
|
||||||
"PhysicsBodyCollisionDamageComponent",
|
"PhysicsBodyCollisionDamageComponent",
|
||||||
"ExplodeOnDamageComponent",
|
"ExplodeOnDamageComponent",
|
||||||
"SpriteOffsetAnimatorComponent",
|
--"SpriteOffsetAnimatorComponent",
|
||||||
--"PhysicsBody2Component", -- Disabling will hide barrels and similar stuff, also triggers an assertion.
|
--"PhysicsBody2Component", -- Disabling will hide barrels and similar stuff, also triggers an assertion.
|
||||||
--"PhysicsBodyComponent",
|
--"PhysicsBodyComponent",
|
||||||
--"VelocityComponent", -- Disabling this component may cause a "...\component_updators\advancedfishai_system.cpp at line 107" exception.
|
--"VelocityComponent", -- Disabling this component may cause a "...\component_updators\advancedfishai_system.cpp at line 107" exception.
|
||||||
@ -125,13 +125,13 @@ local function captureEntities(entityFile, x, y, radius)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Disable the hover animation of cards. Disabling the "SpriteOffsetAnimatorComponent" does not help.
|
-- Disable the hover animation of cards. Disabling the "SpriteOffsetAnimatorComponent" does not help.
|
||||||
local components = rootEntity:GetComponents("SpriteOffsetAnimatorComponent")
|
--local components = rootEntity:GetComponents("SpriteOffsetAnimatorComponent")
|
||||||
for _, component in ipairs(components) do
|
--for _, component in ipairs(components) do
|
||||||
component:SetValue("x_speed", 0)
|
-- component:SetValue("x_speed", 0)
|
||||||
component:SetValue("y_speed", 0)
|
-- component:SetValue("y_speed", 0)
|
||||||
component:SetValue("x_amount", 0)
|
-- component:SetValue("x_amount", 0)
|
||||||
component:SetValue("y_amount", 0)
|
-- component:SetValue("y_amount", 0)
|
||||||
end
|
--end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -23,6 +23,14 @@ local EntityAPI = {}
|
|||||||
local NoitaEntity = {}
|
local NoitaEntity = {}
|
||||||
NoitaEntity.__index = NoitaEntity
|
NoitaEntity.__index = NoitaEntity
|
||||||
|
|
||||||
|
---WrapID wraps the given entity ID and returns a Noita entity object.
|
||||||
|
---@param id number
|
||||||
|
---@return NoitaEntity|nil
|
||||||
|
function EntityAPI.WrapID(id)
|
||||||
|
if id == nil or type(id) ~= "number" then return nil end
|
||||||
|
return setmetatable({ ID = id }, NoitaEntity)
|
||||||
|
end
|
||||||
|
|
||||||
local ComponentAPI = {}
|
local ComponentAPI = {}
|
||||||
|
|
||||||
---@class NoitaComponent
|
---@class NoitaComponent
|
||||||
@ -30,6 +38,14 @@ local ComponentAPI = {}
|
|||||||
local NoitaComponent = {}
|
local NoitaComponent = {}
|
||||||
NoitaComponent.__index = NoitaComponent
|
NoitaComponent.__index = NoitaComponent
|
||||||
|
|
||||||
|
---WrapID wraps the given component ID and returns a Noita component object.
|
||||||
|
---@param id number
|
||||||
|
---@return NoitaComponent|nil
|
||||||
|
function ComponentAPI.WrapID(id)
|
||||||
|
if id == nil or type(id) ~= "number" then return nil end
|
||||||
|
return setmetatable({ ID = id }, NoitaComponent)
|
||||||
|
end
|
||||||
|
|
||||||
-------------------------
|
-------------------------
|
||||||
-- JSON Implementation --
|
-- JSON Implementation --
|
||||||
-------------------------
|
-------------------------
|
||||||
|
26
files/overrides/perks/perk.lua
Normal file
26
files/overrides/perks/perk.lua
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
-- Copyright (c) 2022 David Vogel
|
||||||
|
--
|
||||||
|
-- This software is released under the MIT License.
|
||||||
|
-- https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
|
---@type NoitaAPI
|
||||||
|
local noitaAPI = dofile_once("mods/noita-mapcap/files/noita-api.lua")
|
||||||
|
|
||||||
|
local oldPerkSpawn = perk_spawn
|
||||||
|
|
||||||
|
---Spawns a perk.
|
||||||
|
---@param x number
|
||||||
|
---@param y number
|
||||||
|
---@param perkID integer
|
||||||
|
---@param dontRemoveOtherPerks boolean
|
||||||
|
---@return NoitaEntity|nil
|
||||||
|
function perk_spawn(x, y, perkID, dontRemoveOtherPerks)
|
||||||
|
local entity = noitaAPI.Entity.WrapID(oldPerkSpawn(x, y, perkID, dontRemoveOtherPerks))
|
||||||
|
if entity == nil then return end
|
||||||
|
|
||||||
|
-- Remove the SpriteOffsetAnimatorComponent components from the entity.
|
||||||
|
local components = entity:GetComponents("SpriteOffsetAnimatorComponent")
|
||||||
|
for _, component in ipairs(components) do
|
||||||
|
entity:RemoveComponent(component)
|
||||||
|
end
|
||||||
|
end
|
8
init.lua
8
init.lua
@ -1,3 +1,8 @@
|
|||||||
|
-- Copyright (c) 2022 David Vogel
|
||||||
|
--
|
||||||
|
-- This software is released under the MIT License.
|
||||||
|
-- https://opensource.org/licenses/MIT
|
||||||
|
|
||||||
dofile("mods/noita-mapcap/files/init.lua")
|
dofile("mods/noita-mapcap/files/init.lua")
|
||||||
|
|
||||||
function OnPlayerSpawned(player_entity)
|
function OnPlayerSpawned(player_entity)
|
||||||
@ -11,3 +16,6 @@ function OnWorldPostUpdate() -- this is called every time the game has finished
|
|||||||
end
|
end
|
||||||
|
|
||||||
ModMagicNumbersFileAdd("mods/noita-mapcap/files/magic_numbers.xml") -- override some game constants
|
ModMagicNumbersFileAdd("mods/noita-mapcap/files/magic_numbers.xml") -- override some game constants
|
||||||
|
|
||||||
|
-- Apply overrides.
|
||||||
|
ModLuaFileAppend("data/scripts/perks/perk.lua", "mods/noita-mapcap/files/overrides/perks/perk.lua" )
|
Loading…
Reference in New Issue
Block a user