-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Ban Perks feature with support for GLASS_CANNON #193
Conversation
…ariables to adjust it server side without pushing new code
…end-timeouts-login Extend access token and refresh token timeouts
end | ||
|
||
if (perk_data.game_effect2 ~= nil) then | ||
-- local comp = GameGetGameEffect( player_id, perk_data.game_effect2 ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commented code like this should be removed, or add a comment to why it could be beneficial to keep in here
|
||
local _item_pickup = item_pickup | ||
|
||
function item_pickup( entity_item, entity_who_picked, item_name ) | ||
function item_pickup(entity_item, entity_who_picked, item_name) | ||
GamePrint("started item_pickup") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GlobalsSetValue(flag_name .. "_PICKUP_COUNT", tostring(pickup_count)) | ||
|
||
if (perk_data.game_effect ~= nil) then | ||
-- local comp = GameGetGameEffect( player_id, perk_data.game_effect ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
commented code like this should be removed, or add a comment to why it could be beneficial to keep in here
not sure if the spawning perks when banned is necessary. I still need to do some multiplayer tests with it later btw. I tested it in a solo lobby so far, but not thoroughly |
ChangesAmended commit with changes. Alternatives/Performance notes banned_perk.xml perk.lua FunctionalityTesting scenarios were re-run and recorded. https://www.youtube.com/watch?v=E078WnDHoB8
CompatibilityI attempted to resolve potential conflicts with other Noita Together features but lot of them required more than 1 player so I am unsure if compatibility was achieved.
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code looks good. still need to test it locally
Issue
For large room Noita-Together games hosted by DunkOrSlam with
Death Penalty
asRespawn Penalty
andKick on death
astrue
the community has identified an issue where the game can end abruptly as a result of 1 player picking up Glass Cannon, or using Heart Mage trick, and rapidly reaching the <25 max HP threshold to end the game for all players.Notes
I am not familiar with LUA nor have I developed for Noita before. Please review/test thoroughly. Feel free to disregard or request major changes if design does not align with Noita-Together standards.
New Feature
Ban Perks
The intent of this feature is to:
NT_ban_perks
istrue
(including in Gamble)NT_ban_perks
wasfalse
NT_ban_perks
is updated totrue
NT_sync_perks
,NT_team_perks
, and Hourglass Events.The feature has been created as a single toggle option with a list containing only the
perk.id
valueGLASS_CANNON
but should be capable of extension to allowing a selection or named sets of perks from the Noita Together App with minor development.Testing
Testing was supported by utilizing the CheatGUI steam mod. With simple tests also run without CheatGUI enabled.
Testing was done on Seed 1000041222 which contains Glass Cannon in the first Holy Mountain.
Scenarios
Functionality
NT_ban_perks
false
NT_ban_perks
false
andNT_world_randomize_loot
false
NT_ban_perks
true
NT_ban_perks
true
andNT_world_randomize_loot
false
NT_ban_perks
isfalse
NT_ban_perks
false
NT_ban_perks
istrue
NT_ban_perks
false
NT_ban_perks
true
from Noita Together AppDAMAGE_MULTIPLIER
game effect
is not activeNT_ban_perk
istrue
NT_ban_perks
true
DAMAGE_MULTIPLIER
game effect
is not activeNT_ban_perks
true
is applied from Noita Together App.NT_ban_perks
false
NT_ban_perks
true
from Noita Together AppDAMAGE_MULTIPLIER
game effect
is not activeNT_ban_perks
true
is applied from Noita Together App.NT_ban_perks
false
NT_ban_perks
true
NT_ban_perks
false
NT_ban_perks
true
NT_ban_perks
false
NT_ban_perks
true
NT_ban_perks
false
v. Apply NT_ban_perks true
NT_ban_perks
true
NT_ban_perks
true
Compatibility
I attempted to resolve potential conflicts with other Noita Together features but lot of them required more than 1 player so I am unsure if compatibility was achieved.
NT_ban_perks
false
,NT_sync_perks
true
,NT_team_perks
false
NT_ban_perks
true
,NT_sync_perks
true
,NT_team_perks
false
NT_ban_perks
false
,NT_sync_perks
true
,NT_team_perks
false
NT_ban_perks
false
NT_ban_perks
true
NT_ban_perks
false
NT_ban_perks
true
is appliedComment Update: Corrected some test scenario inaccuracies with
true
/false
listed incorrectly