Skip to content

Commit b6f07c1

Browse files
Zayn995claude
andcommitted
Artifact slots, shooting camera shake, ADS zoom, ladder speed, starting money, aim assist switches (1.24.0)
- Extra artifact slots on every body armor (+1..+4, capped at 5; ItemPrototypes ArtifactSlots, helmets untouched, edition armors via the DLC branch). - Shooting camera shake: ShootingCameraShake plus the 39 per-weapon *ShootCameraShake entries (CameraShakePrototypes Scale). - ADS zoom: AimingFOVModifier and OffsetAimingFOVModifier scaled on their distance to 1.0 (0 = no zoom, 2 = double, floor 0.2), DLC setups too. - Ladder climb speed (Player MovementParams.ClimbSpeedCoef) and starting money (CoreVariables PlayerStartingMoney). - Aim assist off for mouse and gamepad separately: every cone of the matching AimAssistPresetPrototypes presets set to the Empty cone (read live from the Empty preset). New game file -> CACHE_SCHEMA 18. - tests/test_v124_tweaks.py checks all of it against vanilla/; run_all now 38 suites + test_generate. Docs, Nexus texts, header (250) updated. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
1 parent a97ea99 commit b6f07c1

12 files changed

Lines changed: 413 additions & 20 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Everyone is free to use it. This README tells you everything you need.
2121
`../../../`) — into an `output` folder, or directly into `~mods`.
2222
- Fully **portable**: settings, cache and output live next to the exe.
2323

24-
~240 tweaks in 13 tabs (Player, Vaulting, Weight & items, Combat, NPCs & AI,
24+
~250 tweaks in 13 tabs (Player, Vaulting, Weight & items, Combat, NPCs & AI,
2525
Mutants, Factions, Weapons, Ammo, Armor, World, Economy, Traders), plus per-weapon overrides
2626
for 91 weapons (unique named guns and the Pre-order/Deluxe/Ultimate
2727
edition guns included), per-round overrides for 34

release/NEXUS_DESCRIPTION.txt

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[center][size=6][b]S2Tweaker[/b][/size]
22
[b]Build your own personal tweak mod - no modding knowledge needed.[/b]
33

4-
[i]~240 tweaks in 13 tabs · pick your values · one click builds your .pak[/i]
4+
[i]~250 tweaks in 13 tabs · pick your values · one click builds your .pak[/i]
55
[i]For S.T.A.L.K.E.R. 2 patch 2.0.x[/i][/center]
66

77
[line]
@@ -13,16 +13,16 @@ The full source code is open under the MIT license. There is a public S2Tweaker
1313

1414
[b]Virus scan of exactly the file on this page:[/b]
1515
[list]
16-
[*]The mod itself: [url=https://www.virustotal.com/gui/file/05bc7bae990193f8a63f04f850496cf4cea05947d83e84d58a658dacb479f878]VirusTotal - 0 of 66[/url]
16+
[*]The mod itself: [url=[ZIP-LINK-1.24.0]]VirusTotal - [ZIP-RESULT-1.24.0][/url]
1717
[*]The program file inside it, S2Tweaker.exe: [url=https://www.virustotal.com/gui/file/d72294fb338bc2fc8896d25a7395a4db466425427e1559e77185d5135a830681]VirusTotal - 0 of 71[/url]. It is pythonw.exe from python.org, byte for byte, digitally signed by the Python Software Foundation - VirusTotal labels it "File distributed by Python Software Foundation"
1818
[/list]
19-
Those numbers are for 1.23.0 (S2Tweaker.exe is byte-identical to 1.21.0's and 1.22.0's, so its report is the same). There is no other executable in the package: the one unsigned helper program of earlier versions, repak.exe, is gone since 1.23.0 (see the changelog). Earlier versions were built with PyInstaller and kept collecting false positives (1.20.0: 1 of 65 for the ZIP, 2 of 70 for the exe) even after every setting had been tried; the changelog below explains what changed.
19+
Those numbers are for 1.24.0 (S2Tweaker.exe is byte-identical to the one in 1.21.0 to 1.23.0, so its report is the same). There is no other executable in the package: the one unsigned helper program of earlier versions, repak.exe, is gone since 1.23.0 (see the changelog). Earlier versions were built with PyInstaller and kept collecting false positives (1.20.0: 1 of 65 for the ZIP, 2 of 70 for the exe) even after every setting had been tried; the changelog below explains what changed.
2020

2121
[quote][b]Honesty note:[/b] every patch the tool generates is cross-checked against the game's own config files, but it has [b]not been play-tested in-game yet[/b] - bug reports in the comments are very welcome![/quote]
2222

2323
[heading]WHAT IT DOES[/heading]
2424

25-
A small Windows tool with sliders and checkboxes. You pick your values, it builds a ready-to-use .pak mod from them. Everything is a multiplier or toggle on top of the real values read from your game. Around [b]240 tweaks[/b], sorted into 13 tabs (Player, Vaulting, Weight & items, Combat, NPCs & AI, Mutants, Factions, Weapons, Ammo, Armor, World, Economy, Traders):
25+
A small Windows tool with sliders and checkboxes. You pick your values, it builds a ready-to-use .pak mod from them. Everything is a multiplier or toggle on top of the real values read from your game. Around [b]250 tweaks[/b], sorted into 13 tabs (Player, Vaulting, Weight & items, Combat, NPCs & AI, Mutants, Factions, Weapons, Ammo, Armor, World, Economy, Traders):
2626

2727
[b]Player[/b]
2828
[list]
@@ -32,6 +32,7 @@ A small Windows tool with sliders and checkboxes. You pick your values, it build
3232
[*]Radiation, bleeding, hunger & sleepiness, headshot multiplier, explosion damage
3333
[*]Hit camera shake / aim punch 0-300%
3434
[*]Interaction reach (pick up, loot, containers) and talk distance for NPC dialogs; saving: manual, quick and autosave slot limits plus the autosave interval
35+
[*]Ladder climb speed; starting money for a new game
3536
[/list]
3637

3738
[b]Vaulting - its own tab[/b]
@@ -50,6 +51,7 @@ A small Windows tool with sliders and checkboxes. You pick your values, it build
5051
[*]Magazine size on all three levels - scales a weapon's base capacity and the magazines that weapon really uses (read from its own reload table); the global slider covers all 80 magazine attachments
5152
[*][b]Recoil reduction from upgrades[/b]: boosts the recoil-reduction upgrades and attachments (vanilla -5 % to -30 %, capped at -100 %) - at 2000 % any recoil upgrade removes the kick entirely. Only weapons with such an upgrade installed change; community-proven on patch 2.0
5253
[*]Melee damage and melee range (knife & rifle butt strike)
54+
[*]Shooting camera shake 0-200% and ADS zoom from none to double; aim assist switched off for mouse and/or gamepad
5355
[*]Jamming, scoped aim sway (without breaking the offset/lean aiming)
5456
[*]The tool resolves the game's real weapon links and tells you when a weapon shares stats with its variants
5557
[/list]
@@ -195,6 +197,17 @@ If the ~mods folder doesn't exist, create it.
195197

196198
[heading]CHANGELOG[/heading]
197199

200+
[b]v1.24.0 - Artifact slots, shooting camera shake, ADS zoom, ladder speed, starting money, aim assist switches[/b] (~250 tweaks + ammo swap, 13 tabs)
201+
[list]
202+
[*][b]Extra artifact slots[/b] (Armor): +1 to +4 slots on every body armor, capped at 5, the game's maximum (vanilla: most armors have 2, three have 5). Helmets are untouched. Like the 'Armor Artifact Slots' mod
203+
[*][b]Shooting camera shake[/b] (Weapons): how much the camera shakes when you fire, 0-200 %, every weapon's own shake entry (vanilla 1.0). 0 % is the 'No Screenshake' mod. Being hit stays on the separate 'Hit camera shake' slider
204+
[*][b]ADS zoom[/b] (Weapons): how far the view zooms in when aiming down sights, from no zoom at all to twice the vanilla zoom (vanilla FOV factor 0.92, 0.83 for some weapons). Scopes keep their magnification. The 'No zoom while aiming' and 'Zoom in when aiming' mods in one slider
205+
[*][b]Aim assist off[/b] (Weapons): two switches, one for the mouse and one for gamepads. The game applies stickiness and magnetism cones to both; their strength lives in curve assets that cannot be patched, so the switches unhook the cones completely
206+
[*][b]Ladder climb speed[/b] (Player, vanilla coefficient 0.6) and [b]starting money[/b] for a new game (Player, vanilla 0; no effect on existing saves)
207+
[*]The tool reads one more game file (aim assist presets). [b]The first start re-extracts your game data once[/b] (10-20 seconds); after that everything is cached again
208+
[*]Not play-tested in-game, like the rest of the tool. Existing paks stay valid
209+
[/list]
210+
198211
[b]v1.23.0 - No more repak.exe: the pak files are handled by plain Python now[/b] (~240 tweaks + ammo swap, 13 tabs)
199212
[list]
200213
[*][b]What changes for you:[/b] nothing in the tool. The folder no longer contains repak.exe, the open-source pak tool that earlier versions bundled for reading your game files and writing the mod pak. That job is done by the tool's own Python code now (_internal\s2tweaker\pakfile.py), which needs nothing but Python's standard library
@@ -206,6 +219,7 @@ If the ~mods folder doesn't exist, create it.
206219
[/list]
207220

208221
[b]v1.22.0 - Twelve sliders from the community wish list, and a TL;DR for the Oodle setup[/b] (~240 tweaks + ammo swap, 13 tabs)
222+
[spoiler]
209223
[list]
210224
[*][b]Melee range[/b] (Weapons): how far the knife and the butt strike reach (vanilla 1.6 m)
211225
[*][b]Interaction reach and talk distance[/b] (Player): pick up items, open stashes and containers and loot bodies from farther away (vanilla 2 m, bodies 0.65 m), and start conversations from farther away (vanilla 1.3 m) - the 'Social Distancing' idea
@@ -215,6 +229,7 @@ If the ~mods folder doesn't exist, create it.
215229
[*]The tool now reads three more game files (flashlights, save limits, autosave). [b]The first start re-extracts your game data once[/b] (10-20 seconds); after that everything is cached again
216230
[*]Not play-tested, like the rest of the tool. Your existing paks stay valid
217231
[/list]
232+
[/spoiler]
218233

219234
[b]v1.21.0 - No more PyInstaller: the launcher is the signed python.org interpreter[/b] (~230 tweaks + ammo swap, 13 tabs)
220235
[spoiler]
@@ -501,6 +516,7 @@ If the ~mods folder doesn't exist, create it.
501516
[list]
502517
[*]Armor protection per damage type: physical (bullets/melee), burn, shock, chemical, radiation, PSY - scales YOUR armor only, NPC armor stays vanilla, upgrade bonuses untouched
503518
[*]Armor & exoskeleton carry-weight bonuses 0-300% (0% = armor grants no extra carry weight)
519+
[*]Extra artifact slots on every body armor, +1 to +4, capped at the game's maximum of 5
504520
[*]Rare artifact bias 25-500%: shifts the rarity roll toward Uncommon/Rare/Epic at Common's expense (total spawn chance unchanged; ranks that can't roll Rare/Epic in vanilla still won't)
505521
[/list]
506522
[/spoiler]

release/NEXUS_FILE_DESCRIPTIONS.txt

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ Text gehoert ins Feld "Changelog" darunter. Beides ohne externe Links.
1111

1212
==================================================================
1313
DATEI — Main Files
14-
Name: S2Tweaker 1.23.0
15-
File version: 1.23.0
14+
Name: S2Tweaker 1.24.0
15+
File version: 1.24.0
1616
File category: Main Files
1717
==================================================================
1818

@@ -21,6 +21,23 @@ Unzip everything into one folder, keep the DLLs and _internal next to the exe, r
2121
------------------------------------------------------------------
2222

2323
--- Changelog ----------------------------------------------------
24+
1.24.0 - artifact slots, shooting camera shake, ADS zoom, ladder
25+
speed, starting money, aim assist switches
26+
27+
- Extra artifact slots (Armor): +1 to +4 on every body armor, capped
28+
at 5 (the game's maximum). Helmets untouched.
29+
- Shooting camera shake (Weapons): 0-200 % of every weapon's own
30+
shake; 0 % = no screen shake when firing. Being hit is separate.
31+
- ADS zoom (Weapons): from no zoom to twice the vanilla zoom when
32+
aiming down sights (vanilla FOV factor 0.92 / 0.83). Scopes keep
33+
their magnification.
34+
- Aim assist off (Weapons): one switch for the mouse, one for gamepads.
35+
- Ladder climb speed (Player, vanilla 0.6) and starting money for a
36+
new game (Player, vanilla 0; existing saves unaffected).
37+
- One more game file is read (aim assist presets); the first start
38+
re-extracts the game data once (10-20 s).
39+
- Not play-tested, like the rest of the tool. Existing paks stay valid.
40+
2441
1.23.0 - no more repak.exe: pak files are handled by plain Python
2542

2643
- The folder no longer contains repak.exe (the open-source pak tool

release/README.txt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@ version and generates a clean patch-based .pak mod from exactly the values
77
you change. Everything left at "(vanilla)" is not touched, so it plays nice
88
with your other mods.
99

10-
Around 240 tweaks in 13 tabs: Player, Vaulting, Weight & items, Combat,
10+
Around 250 tweaks in 13 tabs: Player, Vaulting, Weight & items, Combat,
1111
NPCs & AI, Mutants, Factions, Weapons, Ammo, Armor, World, Economy, Traders.
1212

1313
WHAT YOU CAN TWEAK (short tour)
1414
-------------------------------
1515
- Player: health, stamina (incl. per-action costs), walk/crouch and
1616
run/sprint speed, jump height, fall damage, breath hold, interaction
17-
reach and talk distance, save slots and autosave interval, max carry
17+
reach and talk distance, ladder climb speed, save slots and autosave
18+
interval, starting money for a new game, max carry
1819
weight + where the overweight penalty starts, item weights per category,
1920
radiation, bleeding, hunger & sleepiness, headshot multiplier,
2021
explosions, hit camera shake / aim punch
@@ -25,12 +26,14 @@ WHAT YOU CAN TWEAK (short tour)
2526
Deluxe/Ultimate/Pre-order edition guns included. 9 factors each (damage,
2627
spread, recoil, durability, fire rate, effective range, bleeding, ADS
2728
move speed, ADS aim-in speed), plus magazine size, melee damage and
28-
range, jamming and scoped sway. Weapons are listed with their real in-game names
29+
range, jamming, scoped sway, shooting camera shake, ADS zoom and two
30+
switches that turn aim assist off for mouse or gamepad. Weapons are listed with their real in-game names
2931
("GunAK74_ST - AKM-74S") and the search box finds both spellings
3032
- Ammo on TWO levels: global sliders (damage, armor piercing, armor
3133
damage, cover penetration) and per-round overrides for all 34 rounds in
3234
14 calibers - a round's own factor beats the global one
33-
- Armor: global protection sliders per damage type, per-armor overrides
35+
- Armor: global protection sliders per damage type, extra artifact slots
36+
on every body armor (capped at the game's 5), per-armor overrides
3437
for all 57 armors and helmets (edition pieces included, real in-game
3538
names), armor durability, armor carry-weight bonuses
3639
- NPCs & AI: damage, health, accuracy, vision & hearing range, grenade

s2tweaker/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
Haltbarkeit, Mutanten usw.) eine Mod-Pak-Datei fuer den ~mods-Ordner.
55
"""
66

7-
__version__ = "1.23.0"
7+
__version__ = "1.24.0"
88

99

s2tweaker/gamedata.py

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@
5959
"FlashlightPrototypes.cfg.bin", # NPC-Taschenlampen (05.09.2026)
6060
"SaveLoadVariables.cfg", # Speicherstaende-Limit (unbinarisiert)
6161
"AutoSaveVariables.cfg", # Autosave-Intervall (unbinarisiert)
62+
"AimAssistPresetPrototypes.cfg.bin", # Aim-Assist Maus/Gamepad (06.09.2026)
6263
]
6364

6465
# Bei Aenderungen an NEEDED_FILES erhoehen -> alte Caches werden neu aufgebaut
65-
CACHE_SCHEMA = 17
66+
CACHE_SCHEMA = 18
6667

6768
# Mutanten-Art (Fraktion) -> Praefixe der Attacken-Structs in
6869
# AbilityPrototypes.cfg (verifiziert; docs/V15_DATA_RESEARCH.md).
@@ -372,6 +373,34 @@ def flashlights(self) -> CfgStruct:
372373
Lichtwerte; die Spieler-Lampe sitzt in Blueprint-Kurven."""
373374
return self._parse("FlashlightPrototypes.cfg")
374375

376+
@cached_property
377+
def aimassist(self) -> CfgStruct:
378+
"""AimAssistPresetPrototypes: 15 Presets (Empty, Hip/AimMouse, Hip/
379+
AimGamepad + je Waffenklasse _AR/_PT/_SG/_SMG/_MG). Die Staerke
380+
steckt in CurveFloat-Assets, per cfg geht nur an/aus: Kegel-SIDs
381+
auf den Empty-Kegel setzen."""
382+
return self._parse("AimAssistPresetPrototypes.cfg")
383+
384+
def armor_artifact_slots(self) -> dict[str, tuple[int, str | None]]:
385+
"""{SID: (Vanilla-ArtifactSlots, Edition|None)} aller Spieler-
386+
Koerperruestungen (Slot Body; Helme haben 0 und bleiben draussen)."""
387+
result: dict[str, tuple[int, str | None]] = {}
388+
for sid, (slot, _values) in self.player_armors().items():
389+
if slot != "Body":
390+
continue
391+
dlc = self.dlc_player_armors().get(sid)
392+
if dlc is not None:
393+
chain = self.dlc_item_chain(dlc[2], sid)
394+
raw = self._chain_get(chain, "ArtifactSlots")
395+
edition: str | None = dlc[2]
396+
else:
397+
raw = self.resolve(self.items, sid, "ArtifactSlots")
398+
edition = None
399+
if raw is None:
400+
continue
401+
result[sid] = (int(parse_number(raw, 0.0)), edition)
402+
return result
403+
375404
@cached_property
376405
def saveload(self) -> CfgStruct:
377406
"""SaveLoadVariables (unbinarisiert): DefaultConfig.SavesLimit je

0 commit comments

Comments
 (0)