Open SurDno opened 6 years ago
In CS, there are four distinct variants of 7.62x54 ammo, tabulated below:
ammo_7.62x54_7h1 | ammo_7.62x54_7h14 | ammo_7.62x54_ap | ammo_pkm_100 | |
---|---|---|---|---|
visual | ammo_762x54_7h1.ogf | ammo_762x54_7h14.ogf | ammo_762x54_ap.ogf | ammo_762x54_7h1.ogf |
description | ammo-7.62x54-7h14_descr | ammo-7.62x54-7h14_descr | ammo-7.62x54-ap_descr | ammo-7.62x54-ap_descr |
cost | 450 | 1000 | 600 | 1000 |
box_size | 30 | 30 | 30 | 100 |
inv_name | ammo-7.62x54-7h14 | ammo-7.62x54-7h14 | ammo-7.62x54-ap | ammo-7.62x54-ap_s |
inv_name_short | ammo-7.62x54-7h14_s | ammo-7.62x54-7h14_s | ammo-7.62x54-ap_s | ammo-7.62x54-ap_s |
inv_weight | .23 | .23 | .23 | 1.3 |
invgrid* (x, y) | 17, 9 | 17, 9 | 15, 10 | 15, 9 |
explosive? | off | on | on | false |
Notice that none of these have inv_name ammo-7.62x54-7h1
and description ammo-7.62x54-7h1_descr
. Instead, both ammo_7.62x54_7h14 and ammo_7.62x54_7h1 use the following:
<string id="ammo-7.62x54-7h14">
<text>7.62x54 mm 7N1 rounds</text>
</string>
<string id="ammo-7.62x54-7h14_s">
<text>7.62 7N1</text>
</string>
<string id="ammo-7.62x54-7h14_descr">
<text>7.62-caliber high precision armor-piercing sniper round. Used with the SVDm 2 and SVUmk2 sniper rifles.</text>
</string>
In the SRP, I appear to have naively "fixed" the name and description of ammo_7.62x54_7h1 (the 2nd column in the table) to point to the following new XML strings which I added:
<string id="ammo-7.62x54-7h1">
<text>7.62x54 mm 7N1 rounds</text>
</string>
<string id="ammo-7.62x54-7h1_s">
<text>7.62x54 7N1</text>
</string>
<string id="ammo-7.62x54-7h1_descr">
<text>A standard 7.62-caliber sniper round for the SVDm 2 and SVUmk2 sniper rifles.</text>
</string>
This "fix" was added way before I ever considered that the SRP might be used with languages other than English, so I only added the XML string definitions to eng/st_items_weapons.xml
, which explains the absence of translated in-game strings in the Russian localization of the game.
The only effective changes from this fix were the slight change in description for ammo_7.62x54_7h1 (which constitutes the majority of 7.62x54 rounds in the game) and the regression already noted for non-English localizations.
ammo_7.62x54_7h14 is mostly absent from the vanilla game, but appears:
The SRP also "fixes" ammo-7.62x54-7h14_s
from 7.62 7N1
to 7.62x54 7N14
, and makes the Military Warehouses fetch task target be a unique variety of 7N1, not 7N14.
So, to sum up the 7N1 vs 7N14 mess:
In vanilla, there are two distinct types of game entity claiming to be sniper ammo named "7.62x54 mm 7N1 rounds". One really is, while the other is not. Most ammo encountered in-game really is 7N1.
If the player ever has both types of ammo in his inventory, they will appear in two separate stacks, each with the same icon, name, and description as the other, but with a different price.
The SRP "fixes" things so that 7.62x54 7N14 rounds no longer report themselves as 7.62x54 7N1 rounds. The only changes visible in-game, relative to vanilla, are:
7.62 7N1
became 7.62x54 7N1
or 7.62x54 7N14
as appropriate.7.62x54 7N1
no longer claims to be a "high precision armor-piercing" sniper round, but rather, a "standard" sniper round.7.62x54 7N1
instead of 7.62x54 7N14
(not sure why I changed this, could be a mistake).7.62x54 7N1
in all non-English localizations, i.e. what this GitHub issue is about. :)Thanks for your reply. I think the only issue around here is the fact that these ammos can be bought — that makes the quest item not unique (usually they get unique versions of same items, just like that CS quest Stone Flower).
I don’t understand why the regression is caused though. If this item is needed for a quest, it should have a name and description, right? Then why does the game use xml values?
The SRP equivalent table of the vanilla one I posted above (changes in bold-face):
ammo_7.62x54_7h1 | ammo_7.62x54_7h14 | ammo_7.62x54_ap | ammo_pkm_100 | |
---|---|---|---|---|
visual | ammo_762x54_7h1.ogf | ammo_762x54_7h14.ogf | ammo_762x54_ap.ogf | ammo_pkm.ogf |
description | ammo-7.62x54-7h1_descr | ammo-7.62x54-7h14_descr | ammo-7.62x54-ap_descr | ammo-7.62x54-ap_descr |
cost | 450 | 1000 | 600 | 1000 |
box_size | 30 | 30 | 30 | 100 |
inv_name | ammo-7.62x54-7h1 | ammo-7.62x54-7h14 | ammo-7.62x54-ap | ammo-7.62x54-ap |
inv_name_short | ammo-7.62x54-7h1_s | ammo-7.62x54-7h14_s | ammo-7.62x54-ap_s | ammo-7.62x54-ap_s |
inv_weight | .23 | .23 | .23 | 1.3 |
invgrid* (x, y) | 15, 9 (7N1 icon) | 17, 9 (7N14 icon) | 15, 10 (AP icon) | 15, 29 (CoP icon) |
explosive? | off | on | on | false |
@SurDno
I don’t understand why the regression is caused though. If this item is needed for a quest, it should have a name and description, right? Then why does the game use xml values?
The regression is caused by this:
The SRP also (...) makes the Military Warehouses fetch task target be a unique variety of 7N1, not 7N14.
Since the SRP changes the description, inventory name, and short inventory name of 7N1 and only provides translated strings for the English translation thereof, changing the quest item from 7N14 (which has translated strings for all languages) to 7N1 made all other localizations display XML string IDs for it.
7.62x54 mess fixed in commit 2d27709. As of this commit, the ammo table for the SRP looks like this:
ammo_7.62x54_7h1 | ammo_7.62x54_7h14 | ammo_7.62x54_ap | ammo_pkm_100 | |
---|---|---|---|---|
visual | ammo_762x54_7h1.ogf | ammo_762x54_7h14.ogf | ammo_762x54_ap.ogf | ammo_pkm.ogf |
description | ammo-7.62x54-7h1_descr | ammo-7.62x54-7h14_descr | ammo-7.62x54-ap_descr | ammo-pkm_descr |
cost | 450 | 1000 | 600 | 1000 |
box_size | 30 | 30 | 30 | 100 |
inv_name | ammo-7.62x54-7h1 | ammo-7.62x54-7h14 | ammo-7.62x54-ap | ammo-pkm |
inv_name_short | ammo-7.62x54-7h1_s | ammo-7.62x54-7h14_s | ammo-7.62x54-ap_s | ammo-pkm_s |
inv_weight | .23 | .23 | .23 | 1.3 |
invgrid* (x, y) | 15, 9 (7N1 icon) | 17, 9 (7N14 icon) | 15, 10 (AP icon) | 15, 29 (CoP icon) |
explosive? | off | on | on | false |
The names and descriptions are:
<string id="ammo-7.62x54-7h1">
<text>7.62x54 mm 7N1 rounds</text>
</string>
<string id="ammo-7.62x54-7h1_s">
<text>7.62x54 7N1</text>
</string>
<string id="ammo-7.62x54-7h1_descr">
<text>A standard 7.62-caliber sniper round for the SVDm 2 and SVUmk2 sniper rifles.</text>
</string>
<string id="ammo-7.62x54-7h14">
<text>7.62x54 mm 7N14 rounds</text>
</string>
<string id="ammo-7.62x54-7h14_s">
<text>7.62x54 7N14</text>
</string>
<string id="ammo-7.62x54-7h14_descr">
<text>A 7.62-caliber high precision armor-piercing sniper round. Used with the SVDm 2 and SVUmk2 sniper rifles.</text>
</string>
<string id="ammo-7.62x54-ap">
<text>7.62x54 mm AP rounds</text>
</string>
<string id="ammo-7.62x54-ap_s">
<text>7.62x54 AP</text>
</string>
<string id="ammo-7.62x54-ap_descr">
<text>A 7.62-caliber armor-piercing sniper round. Used with the SVDm 2 and SVUmk2 sniper rifles.</text>
</string>
<string id="ammo-pkm">
<text>7.62x54 mm PP rounds</text>
</string>
<string id="ammo-pkm_s">
<text>7.62x54 PP</text>
</string>
<string id="ammo-pkm_descr">
<text>A cheap 7.62-caliber machine gun round. Its design makes it unfit for use in sniper rifles, so it is used only with the RP-74 machine gun.</text>
</string>
After fixing the Military Warehouses fetch task ammo type regression, this leaves the following in-game differences in the SRP relative to vanilla:
I may reverse the ammo_7.62x54_7h1 description change later, as AP stat-wise the 7N1 is identical to 7N14. A better change that aligns more closely with vanilla would be to add the word "explosive" to the description of ammo_7.62x54_7h14 and revert 7N1 to its vanilla description. Then ammo_7.62x54_7h1 and ammo_7.62x54_7h14 would differ only minimally from their vanilla counterparts.
ammo_7.62x54_7h14 is mostly absent from the vanilla game, but appears:
- as the requested item that spawns on a stalker's corpse in the Military Warehouses 'return item' task, "Find the missing stalker's loot"
- as an inventory item purchasable from the Red Forest mine trader
And, apparently, in Agroprom Underground. Three places then.
Why is this even a problem? While both 7N1 SN and 7N14 SNB are, in fact, intended to be used in precision rifles, they are by no means interchangeable. 7N1 is lead-core, while 7N14 has a hardened steel penetrator in front, like the M855, which makes it if not an AP, then at least definitely an increased penetration round (PP in soviet/russian parlance). The only issue i can see is that they have both 7N26 BP and 7N13 PP rounds. Now these two are really similar (if not exactly the same) in construction, despite being advertised as having different penetration ability. But still, they could also be used as just two versions of AP round - 7N13 in belts for the machinegun and 7N26 in boxes for rifles. But with same stats. So i see no issue in using all 4 ammo types at the same time. P.S. (the real funny part it that both the PP and BP rounds are entirely russian designs, and ukrainian army would have definitely had B-32 armour-piercing-incendiary rounds instead. But that's a whole different can of worms on its own).
The only issue there is the fact that devs clearly intended to remove 7N14 from the game, just the way they did (or almost did) with AP, in order to reduce item bloat (hello Anomaly!). There are a handful of things suggesting this was the case:
My assumption is that devs originally had the idea to have the ammo type in game but later decided to abandoned it. SRP having it restored is deviating from the idea of following the original devs' intentions as close as possible.
ammo_7.62x54_7h14 is mostly absent from the vanilla game, but appears:
- as the requested item that spawns on a stalker's corpse in the Military Warehouses 'return item' task, "Find the missing stalker's loot"
- as an inventory item purchasable from the Red Forest mine trader
And, apparently, in Agroprom Underground. Three places then.
There is a fourth: the Army Warehouses armory.
I think it's worth mentioning that ammo_7.62x54_ap is identical to ammo_7.62x54_7h14 in all attributes except cost and cosmetic features (model/icon/name/description) and appears in similarly few places in vanilla:
Since none of the Freedom blockpost guards carry a sniper rifle, I removed ammo_7.62x54_ap from them in the SRP, leaving it in only one location.
7.62x54 is an ammo type used for sniper rifles and machine guns. Due to some strange changes between original game and priquel, there are some strange issues happening.
In SoC it had three variants: — 7.62x54 7H1. Normal type. — 7.62x54 7H14. Sniper type. — 7.62x54 BP. Piercing type.
However, after Shadow of Chernobyl was released, GSC understood that they made a mistake and 7H1 is sniper ammo type too, so they decide abandon current 7H1 and just rename 7H14 to 7H1. The proof for that lies in text files:
<string id="ammo-7.62x54-7h14">
<text>7,62x54 mm 7H1</text>
Therefore, in CS it again had three variants:
— 7.62x54 7H1. Sniper type. — 7.62x54 PP. Machinegun type. — 7.62x54 BP. Piercing type.
All that mess causes lots of bugs and other strange things: