From 2721e3c34af5ba106aabd5d85aa4c180f2f3eb2f Mon Sep 17 00:00:00 2001 From: Harmony Weblate <96563367+harmony-weblate@users.noreply.github.com> Date: Sat, 23 Nov 2024 12:04:00 +0100 Subject: [PATCH 1/5] Translations update from Weblate (#904) Translated using Weblate (Russian) Currently translated at 92.9% (304 of 327 strings) Translation: Northstar/Northstar Client Localisation Translate-URL: https://translate.harmony.tf/projects/northstar/client/ru/ Co-authored-by: WofWca --- .../northstar_client_localisation_russian.txt | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt b/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt index a0f751ff1..bce3897d5 100644 --- a/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt +++ b/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt @@ -32,7 +32,7 @@ "PRIVATE_MATCH_SINGLEPLAYER_LEVEL" "%s1 (Одиночная игра)" // fra hint for private match menu, because fra only has PL_fra_desc in vanilla - "PL_fra_hint" "Ты один. Уничтожь противников, чтобы победить. Собери 3 батареи для вызова титана." + "PL_fra_hint" "Все против всех. Уничтожай противников, чтобы победить. Собери 3 батареи для вызова титана." // mode settings "MODE_SETTING_CATEGORY_PILOT" "Пилот" @@ -41,7 +41,7 @@ "MODE_SETTING_CATEGORY_MATCH" "Матч" "classic_mp" "Классический мультиплеер" - "run_epilogue" "Показывать эпилог" + "run_epilogue" "Запускать эпилог" "scorelimit" "Лимит очков" "roundscorelimit" "Лимит очков (по раундам)" "timelimit" "Лимит времени" @@ -86,12 +86,12 @@ "PL_gg_abbr" "ГВ" "GAMEMODE_GG" "Гонка вооружений" - "PL_tt" "Разборки Титанов" - "PL_tt_lobby" "Лобби разборок титанов" - "PL_tt_desc" "Зарабатывайте очки, пока вы находитесь в своём титане. Уничтожьте титана чтобы получить своего." - "PL_tt_hint" "Зарабатывайте очки, пока вы находитесь в своём титане. Уничтожьте титана чтобы получить своего." - "PL_tt_abbr" "TT" - "GAMEMODE_TT" "Разборки титанов" + "PL_tt" "Салочки" + "PL_tt_lobby" "Лобби салочек" + "PL_tt_desc" "Зарабатывайте очки будучи в титане. Уничтожьте титана чтобы получить собственного." + "PL_tt_hint" "Зарабатывайте очки будучи в титане. Уничтожьте титана чтобы получить собственного." + "PL_tt_abbr" "СЛ" + "GAMEMODE_TT" "Салочки" "PL_inf" "Заражение" "PL_inf_lobby" "Лобби Заражения" @@ -374,5 +374,9 @@ "MODE_MENU_UNKNOWN" "Неизвестный" "MODE_MENU_SWITCH" "Фильтр" "MODE_MENU_TITAN_ONLY" "Только титаны" + "TEAMSWITCH_BUFFER" "Нельзя сменять команду так часто" + "TEAMSWITCH_GAMEMODE" "Невозможно сменить команду в текущем режиме игры" + "TEAMSWITCH_DISABLED" "Нельзя сменить команду в текущем режиме игры" + "TEAMSWITCH_GAMEPLAY" "Команду можно сменять только в игровой стадии" } } From 2fa37b49918760217b572a66132d81dfa6ea4dbd Mon Sep 17 00:00:00 2001 From: Harmony Weblate <96563367+harmony-weblate@users.noreply.github.com> Date: Sun, 24 Nov 2024 11:58:19 +0100 Subject: [PATCH 2/5] Translations update from Weblate (#905) Translated using Weblate (Russian) Currently translated at 92.9% (304 of 327 strings) Translation: Northstar/Northstar Client Localisation Translate-URL: https://translate.harmony.tf/projects/northstar/client/ru/ Co-authored-by: WofWca --- .../northstar_client_localisation_russian.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt b/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt index bce3897d5..7742e768b 100644 --- a/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt +++ b/Northstar.Client/mod/resource/northstar_client_localisation_russian.txt @@ -97,7 +97,7 @@ "PL_inf_lobby" "Лобби Заражения" "PL_inf_desc" "Переживите инфекцию. Выжившие становятся заражёнными при убийстве." "PL_inf_hint" "Переживите инфекцию. Выжившие становятся заражёнными при убийстве." - "PL_inf_abbr" "INF" + "PL_inf_abbr" "ЗРЖ" "GAMEMODE_INF" "Заражение" "INFECTION_YOU_ARE_INFECTED" "Вас заразили!" "INFECTION_KILL_SURVIVORS" "Заразите всех оставшихся выживших." @@ -111,7 +111,7 @@ "PL_hs_lobby" "Лобби пряток" "PL_hs_desc" "Игра со стандартными правилами пряток." "PL_hs_hint" "Игра со стандартными правилами пряток." - "PL_hs_abbr" "HS" + "PL_hs_abbr" "ПРЯТ" "GAMEMODE_hs" "Прятки" "HIDEANDSEEK_YOU_ARE_SEEKER" "ВЫ ИЩЕТЕ" "HIDEANDSEEK_SEEKER_DESC" "Найдите прячущихся и ударьте их.\nВы появитесь через %s1 секунд(у)" @@ -280,7 +280,7 @@ "NO_RESULTS" "Нет результатов." "NO_MODS" "Нечего настраивать! Загрузите моды с ^5588FF00northstar.thunderstore.io^0." "respawnprotection" "Длит. защиты после возрождения" - "SNS_BANKRUPT_SUB" "Вас обнулил %s1" + "SNS_BANKRUPT_SUB" "Ваши очки сбросил %s1" "PL_hidden" "Невидимка" "PL_hidden_lobby" "Невидимка — лобби" "GAMEMODE_HIDDEN" "Невидимка" @@ -300,7 +300,7 @@ "PL_hidden_abbr" "НЕВИД" "SCOREBOARD_BANKRUPTS" "Врагов обанкрочено" "SNS_LEADER_BANKRUPT" "Лидер обанкрочен!" - "SNS_LEADER_BANKRUPT_SUB" "%s1 был обнулён игроком %s2" + "SNS_LEADER_BANKRUPT_SUB" "%s1 был сброшен игроком %s2" "gg_kill_reward" "Множитель награды за убийство" "gg_execution_reward" "Множитель награды за казнь" "PL_tffa" "Все против всех на титанах" @@ -322,8 +322,8 @@ "GAMEMODE_TFFA" "Все против всех на титанах" "SHOW_ONLY_DISABLED" "Только выключенные" "HIDE_LOCKED" "Скрыть недоступные" - "PL_chamber_desc" "Один выстрел — один труп. Заработайте ещё один патрон, убив врага первым." - "PL_chamber_hint" "Один выстрел — один труп. Заработайте ещё один патрон, убив врага первым." + "PL_chamber_desc" "Один выстрел — один труп. Один труп — ещё один выстрел." + "PL_chamber_hint" "Один выстрел — один труп. Один труп — ещё один выстрел." "PL_hidden_desc" "Один из игроков невидим." "PL_tffa_hint" "Каждый пилот сам за себя. Уничтожьте всех вражеских титанов." "sns_softball_kill_value" "Очков за убийство Софтболом" From a422da8a5f0f4f652be5f5c6f12fa61dab2333eb Mon Sep 17 00:00:00 2001 From: NachosChipeados <103285866+NachosChipeados@users.noreply.github.com> Date: Sun, 24 Nov 2024 18:30:14 -0400 Subject: [PATCH 3/5] Arc Cannon charge effect fixes (#862) Fixes the Arc Cannon's charge effect disappearing if you tried fanning it while using the "capacitor" mod, by making the effect turn off when its not charging. Additionally adds an unused extra charge effect. --- .../mod/scripts/weapons/mp_titanweapon_arc_cannon.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Northstar.Custom/mod/scripts/weapons/mp_titanweapon_arc_cannon.txt b/Northstar.Custom/mod/scripts/weapons/mp_titanweapon_arc_cannon.txt index 2672dca9c..0ef3ed33b 100644 --- a/Northstar.Custom/mod/scripts/weapons/mp_titanweapon_arc_cannon.txt +++ b/Northstar.Custom/mod/scripts/weapons/mp_titanweapon_arc_cannon.txt @@ -103,8 +103,11 @@ WeaponData "charge_effect_1p" "wpn_arc_cannon_charge_fp" "charge_effect_3p" "wpn_arc_cannon_charge" "charge_effect_attachment" "muzzle_flash" + "charge_effect2_1p" "wpn_ARC_knob_FP" + "charge_effect2_3p" "wpn_ARC_knob" + "charge_effect2_attachment" "SPINNING_KNOB" - + "charge_effect_show_during_drain" "0" // Spread "spread_stand_hip" "10" From 49791ea2edeb7192ef1d4d4659c485040b8da776 Mon Sep 17 00:00:00 2001 From: William Miller Date: Wed, 27 Nov 2024 06:56:21 -0300 Subject: [PATCH 4/5] Fix Thunderbolt crashing clients when owner is invalid (#906) Hacky fix that adds an extra check if the weapon in question is a thunderbolt --- .../mod/scripts/vscripts/client/cl_damage_indicator.gnut | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Northstar.Client/mod/scripts/vscripts/client/cl_damage_indicator.gnut b/Northstar.Client/mod/scripts/vscripts/client/cl_damage_indicator.gnut index 4857c109d..421bd097d 100644 --- a/Northstar.Client/mod/scripts/vscripts/client/cl_damage_indicator.gnut +++ b/Northstar.Client/mod/scripts/vscripts/client/cl_damage_indicator.gnut @@ -366,7 +366,7 @@ void function DamageIndicators( DamageHistoryStruct damageHistory, bool playerIs cockpit.AddToTitanHudDamageHistory( COCKPIT_PANEL_LEFT, damageHistory.damage ) } - if ( damageHistory.attacker && damageHistory.attacker.GetParent() == localViewPlayer ) + if ( damageHistory.damageSourceId != eDamageSourceId.mp_weapon_arc_launcher && damageHistory.attacker && damageHistory.attacker.GetParent() == localViewPlayer ) { damageHistory.rodeoDamage = true return From c3c2535cc4142dd8871cdeeafc31d588b4e642ee Mon Sep 17 00:00:00 2001 From: Gazyi Date: Wed, 27 Nov 2024 12:57:11 +0300 Subject: [PATCH 5/5] Fix transferring active Stim ability to Titan and endless stim effects (#864) Fix endless Stim ability not playing loop sound and visual effects. Fix transferring active Pilot Stim ability to Titan when embarking it. Fix transferring active timed Stim ability to Titan. --- .../mod/scripts/vscripts/weapons/sh_stim.gnut | 61 +++++++++++++------ 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/Northstar.Custom/mod/scripts/vscripts/weapons/sh_stim.gnut b/Northstar.Custom/mod/scripts/vscripts/weapons/sh_stim.gnut index 50e030eeb..fd8196267 100644 --- a/Northstar.Custom/mod/scripts/vscripts/weapons/sh_stim.gnut +++ b/Northstar.Custom/mod/scripts/vscripts/weapons/sh_stim.gnut @@ -40,20 +40,23 @@ void function StimPlayer( entity player, float duration, float severity = STIM_E void function StimPlayer_Internal( entity player, float duration, float effectSeverity ) { - int endlessStatusEffectHandle = 0 + // Handles for tracking status effects + int statusEffectHandle_SpeedBoost = 0 + int statusEffectHandle_StimVFX = 0 if ( duration == USE_TIME_INFINITE ) { - endlessStatusEffectHandle = StatusEffect_AddEndless( player, eStatusEffect.speed_boost, effectSeverity ) + statusEffectHandle_SpeedBoost = StatusEffect_AddEndless( player, eStatusEffect.speed_boost, effectSeverity ) + statusEffectHandle_StimVFX = StatusEffect_AddEndless( player, eStatusEffect.stim_visual_effect, 1.0 ) } else { - StatusEffect_AddTimed( player, eStatusEffect.speed_boost, effectSeverity, duration + 0.5, 0.25 ) // sound is slightly off - StatusEffect_AddTimed( player, eStatusEffect.stim_visual_effect, 1.0, duration, duration ) + statusEffectHandle_SpeedBoost = StatusEffect_AddTimed( player, eStatusEffect.speed_boost, effectSeverity, duration + 0.5, 0.25 ) // sound is slightly off + statusEffectHandle_StimVFX = StatusEffect_AddTimed( player, eStatusEffect.stim_visual_effect, 1.0, duration, duration ) } #if SERVER - thread StimThink( player, duration, endlessStatusEffectHandle ) -#else + thread StimThink( player, duration, statusEffectHandle_SpeedBoost, statusEffectHandle_StimVFX ) +#else // CLIENT entity cockpit = player.GetCockpit() if ( !IsValid( cockpit ) ) return @@ -63,15 +66,25 @@ void function StimPlayer_Internal( entity player, float duration, float effectSe } #if SERVER -void function StimThink( entity player, float duration, int endlessStatusEffectHandle ) +void function StimThink( entity player, float duration, int statusEffectHandle_SpeedBoost, int statusEffectHandle_StimVFX ) { player.EndSignal( "OnDeath" ) player.EndSignal( "OnChangedPlayerClass" ) - if ( endlessStatusEffectHandle != 0 ) - player.EndSignal( "StopEndlessStim" ) + player.EndSignal( "player_embarks_titan" ) // Prevent transferring active Stim ability to Titan. - EmitSoundOnEntityOnlyToPlayer( player, player, "pilot_stimpack_loop_1P" ) - EmitSoundOnEntityExceptToPlayer( player, player, "pilot_stimpack_loop_3P" ) + if ( duration == USE_TIME_INFINITE ) + { + player.EndSignal( "StopEndlessStim" ) + // TF|2 stim loop sounds don't actually loop, use TF|1 loop sound. + // TF|1 sound is very quiet, is there a way to boost its volume (it has 300% volume in TF|1), except playing 3 sounds at once? + // BUG: It still stops playing sometimes for whatever reason ( Too many sounds? ) + EmitSoundOnEntity( player, "Pilot_Stimpack_Loop" ) + } + else + { + EmitSoundOnEntityOnlyToPlayer( player, player, "pilot_stimpack_loop_1P" ) + EmitSoundOnEntityExceptToPlayer( player, player, "pilot_stimpack_loop_3P" ) + } int attachmentIndex = player.LookupAttachment( "CHESTFOCUS" ) @@ -82,7 +95,7 @@ void function StimThink( entity player, float duration, int endlessStatusEffectH //thread StimSlowmoAim( player, duration ) OnThreadEnd( - function() : ( player, stimFX, endlessStatusEffectHandle ) + function() : ( player, duration, stimFX, statusEffectHandle_SpeedBoost, statusEffectHandle_StimVFX ) { if ( !IsValid( player ) ) return @@ -90,11 +103,21 @@ void function StimThink( entity player, float duration, int endlessStatusEffectH if ( IsValid( stimFX ) ) EffectStop( stimFX ) - StopSoundOnEntity( player, "pilot_stimpack_loop_1P" ) - StopSoundOnEntity( player, "pilot_stimpack_loop_3P" ) - - if ( endlessStatusEffectHandle != 0 ) - StatusEffect_Stop( player, endlessStatusEffectHandle ) + if ( duration == USE_TIME_INFINITE ) + { + StopSoundOnEntity( player, "Pilot_Stimpack_Loop" ) + } + else + { + StopSoundOnEntity( player, "pilot_stimpack_loop_1P" ) + StopSoundOnEntity( player, "pilot_stimpack_loop_3P" ) + } + + if ( statusEffectHandle_SpeedBoost != 0 ) + StatusEffect_Stop( player, statusEffectHandle_SpeedBoost ) + + if ( statusEffectHandle_StimVFX != 0 ) + StatusEffect_Stop( player, statusEffectHandle_StimVFX ) player.Signal( "EndStim" ) } @@ -111,7 +134,7 @@ void function StimThink( entity player, float duration, int endlessStatusEffectH wait 2.0 } -#else // #if SERVER +#else // CLIENT void function StimVisualsEnabled( entity ent, int statusEffect, bool actuallyChanged ) { if ( ent != GetLocalViewPlayer() ) @@ -164,4 +187,4 @@ void function StimScreenFXThink( entity player, int fxHandle, entity cockpit ) } } -#endif // #else // #if SERVER +#endif \ No newline at end of file