ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
Damage and skill levels

1 2 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  00:34:51  27 August 2017
profilee-mailreply Message URLTo the Top
nabsltd
(Novice)
 
On forum: 08/26/2017
 

Message edited by:
nabsltd
08/27/2017 0:36:47
Messages: 5
Damage and skill levels

Let me prefix this by saying I have SoC version 1.0006 from Good Old Games, so if that acts radically different from other versions, then let me know, and ignore the rest of this post.

After doing some investigation into how damage is determined (especially from bullet-like objects), the X-Ray source code led me to a discovery that damage doesn't seem to work like I have read on countless web pages.

First, the "hit_power" value is read backwards from what most people think it is. This means "hit_power = 0.10, 0.20, 0.30, 0.40" gives 0.10 on "Master", 0.20 on "Veteran", 0.30 on "Stalker" and 0.40 on "Novice". But, this only seems to apply to The Marked One (the actor). It appears that the damage done by bullets from NPCs is always the first (i.e., the "Master" ) value from the list.

A quick mod of completely vanilla SoC shows this. Apply the following to the appropriate weapon files:

[wpn_ak74u]
hit_power = 0.01, 1.40, 1.60, 1.80

[wpn_pm]
hit_power = 0.30, 0.80, 1.30, 1.80

Then, start a new game, grab your PM pistol from Wolf, and go slaughter the army post south of the rookie village. It's harder on "Master" than on "Novice", because you're doing less damage, but they are doing almost nothing to you, so it doesn't matter. After that, grab a dropped AK-74U, change the skill level to "Master" (if it isn't already) and go try to take out the army post at the bridge. It's the definition of "bullet sponge". Switch back to any other skill level and one-shot the bad guys while they still can't damage you.

And, before anybody brings up "disappearing bullets", I also tried with the following lines.

[actor]
hit_probability_gd_novice = 1
hit_probability_gd_stalker = 1
hit_probability_gd_veteran = 1
hit_probability_gd_master = 1

[bullet_manager]
hit_probability_max_dist = 1000

What this means is that raising the difficulty level just reduces the player's damage to match the NPC's, which is exactly how it seems to play, but is completely the opposite of what I have read, about how playing on Master makes everything (NPCs and the player) die quicker. Instead, I seem to die about the same as before, but it takes more to kill enemies.

So, is my game broken in some way, or is this the way it is with patch 1.0006?
  01:19:41  27 August 2017
profilee-mailreply Message URLTo the Top
TKGP
Senior Resident
 

 
On forum: 01/25/2013
Messages: 454
Your game is fine, and it doesn't have anything to do with the patch. People have just been parroting misinformation about difficulty since the dawn of time. Master makes you do less damage, take more damage, and has no effect on player or NPC accuracy.
  04:36:52  27 August 2017
profilee-mailreply Message URLTo the Top
nabsltd
(Novice)
 
On forum: 08/26/2017
Messages: 5

---QUOTATION---
Master makes you do less damage, take more damage, and has no effect on player or NPC accuracy.
---END QUOTATION---


By "take more damage", I assume you mean because of the change in actor_immunities_gd_*? In the default game, I can't find anything that increases damage (as opposed to reducing immunity) based on the skill level chosen. Maybe with mods, you could spawn stronger enemies (like dog_strong instead of dog_normal) more often based on the skill level, but I don't see the vanilla game doing that.

Has anybody used LUA scripts to modify damage done to the player based on chosen skill level? I know that the X-Ray engine creates instances of LUA classes for every creature spawned, and there are hook functions available, but there's not a lot of documentation. If somebody else has already invented the wheel, it would be much easier to build on that work.


---QUOTATION---
People have just been parroting misinformation about difficulty since the dawn of time.
---END QUOTATION---


As for that, I'm also finding that the "hit_probability_gd_*" values seem to do nothing. Setting them and "hit_probability_max_dist" all to zero (and changing nothing else from the default) results in normal damage from NPC bullets.

I'm a little surprised, as the X-Ray source shows it should result in a near-miss sound and no damage.
  05:24:37  27 August 2017
profilee-mailreply Message URLTo the Top
TKGP
Senior Resident
 

 
On forum: 01/25/2013
Messages: 454
Yes, the immunities. NPC base damage is the same.
Hit probability in the actor section only applies to bullets without a weapon parent (just explosive frags as far as I know.) NPC weapon hit prob is determined in each weapon's section, but it always uses the novice value regardless of difficulty.
  15:27:55  27 August 2017
profilee-mailreply Message URLTo the Top
MrSeyker
Senior Resident
 

 
On forum: 03/21/2010
Messages: 394

---QUOTATION---
Your game is fine, and it doesn't have anything to do with the patch. People have just been parroting misinformation about difficulty since the dawn of time. Master makes you do less damage, take more damage, and has no effect on player or NPC accuracy.
---END QUOTATION---



Well, not quite on NPC accuracy, whitin hit probablily distance, they'll hit more often on higher difficulties (they'll still miss quite a lot, more than you ever will once you learn to shoot reliably with each weapon).
  16:02:07  27 August 2017
profilee-mailreply Message URLTo the Top
TKGP
Senior Resident
 

 
On forum: 01/25/2013
Messages: 454

---QUOTATION---
Well, not quite on NPC accuracy, whitin hit probablily distance, they'll hit more often on higher difficulties (they'll still miss quite a lot, more than you ever will once you learn to shoot reliably with each weapon).
---END QUOTATION---



See my second post. That is not the case. Weapon hit probabilities for anything besides Novice are loaded but completely ignored.
  19:47:15  30 August 2017
profilee-mailreply Message URLTo the Top
nabsltd
(Novice)
 
On forum: 08/26/2017
 

Message edited by:
nabsltd
08/30/2017 19:52:31
Messages: 5

---QUOTATION---
(they'll still miss quite a lot, more than you ever will once you learn to shoot reliably with each weapon).
---END QUOTATION---


Part of this is because of a bug in the dispersion calculation for stalkers (i.e., human enemies).

The test for whether the NPC is aiming is reversed in the source code, so the comments I added to the following from m_stalker.ltx are what really applies:
disp_walk_stand         = 8 ;16       ; walking
disp_walk_crouch        = 4 ;3        ; crouching and moving
disp_run_stand          = 14 ;12;8    ; running
disp_run_crouch         = 6  ;4       ; crouching and moving fast
disp_stand_stand        = 4           ; standing, using iron sights/scope
disp_stand_crouch       = 2           ; crouched, using iron sights/scope
disp_stand_stand_zoom   = 1.5 ;1      ; standing
disp_stand_crouch_zoom  = 1.25;1      ; crouched

The last 4 are the problem ones, and they really hurt. The highest ranked stalker when walking has the same default dispersion as the player does when standing still in vanilla SoC, and when standing still, that stalker has 1/6 the dispersion. Even an average stalker has lower dispersion when standing (0.75) than the player does (0.8).

And, although stalkers do miss a lot, overall they hit much more often than the player when in a true firefight. This is because they are telepathic aimbots with infinite ammo, so if one knows where you are, they all do, and can instantly turn exactly to aim directly at you, and keep firing to keep you in cover.

One-on-one, the player has a huge advantage, but if there is a crowd of enemies, it can get ugly real fast. I'm trying to tweak some of their AI that is controlled by files that can be easily modded so that they play a bit more like a real player does (conserve ammo, take more aimed shots, etc.).
  21:34:19  30 August 2017
profilee-mailreply Message URLTo the Top
NatVac
Senior Resident
 

 
On forum: 06/15/2007
 

Message edited by:
NatVac
09/01/2017 2:10:41
Messages: 4189

---QUOTATION---
People have just been parroting misinformation about difficulty since the dawn of time.
---END QUOTATION---


I was one, in one post, but I corrected it in my next post in the "Vanilla Bullet Sponges" thread linked below, page 1.

---QUOTATION---
Weapon hit probabilities for anything besides Novice are loaded but completely ignored.
---END QUOTATION---


This is not so, from my experience, as you will see. Edit: See my follow-up post.

TKGP, nabsltd, I looked at an excerpt of the source posted on Pastebin, and reached quite different conclusions than you guys, which I was able to use the debug info in the ZRP to verify. See page 2 here:

---QUOTATION---
"Vanilla Bullet Sponges? Well, Yes and No"
http://www.gsc-game.com/main.php?t=community&s=forums&s_game_type=xr&thm_id=23742&page=2&sec_id=11
---END QUOTATION---


You can completely control how often the NPCs can shoot your hitbox without touching any NPC disp_* values, from never to always.

And it is all experimentally verifiable.

Edit: The part that is germane to this discussion is the effects of hit_probability_max_dist in config\weapons.ltx and the novice hit_probability_gd_* value in config\defines.ltx as they completely control NPC accuracy against the player.

Note: edited to remove "and config\creatures\actor.ltx" per TKGP's following post as it appears the player difficulty settings don't affect the NPC probability of hitting the player. See my follow-up post.
  01:08:51  31 August 2017
profilee-mailreply Message URLTo the Top
TKGP
Senior Resident
 

 
On forum: 01/25/2013
 

Message edited by:
TKGP
08/31/2017 1:09:42
Messages: 454

---QUOTATION---
And it is all experimentally verifiable.
---END QUOTATION---



Can you describe your methodology? I just tested it in-game myself and as far as I can tell it confirms what I said before.

1. Set max_dist to 0 to eliminate probability falloff due to range as a variable. Set all hit_probs to 1 in both the actor section and one weapon to keep it as simple as possible.
2. Spawn a bunch of dudes using only that weapon and confirm that they still kill you just fine (as expected.)
3. Change the actor probabilities to 0 and try again. They can still hit you.
4. Change actor prob back to 1 and change weapon probs to 0. Now they can't hit you at all.
5. Finally, change all the weapon probs except the novice one to 1. They still can't hit you, thus demonstrating that only the novice one matters.

If I've overlooked something I'm going to be extremely embarrassed but it seems 100% consistent with the "leaked" 1.0007 source.
  01:17:12  31 August 2017
profilee-mailreply Message URLTo the Top
Alundaio
Sad Clown
(Resident)

 

 
On forum: 04/05/2010
 

Message edited by:
Alundaio
08/31/2017 3:11:42
Messages: 2231

---QUOTATION---
can instantly turn exactly to aim directly at you
---END QUOTATION---



I would like to point out that AI aiming and weapon accuracy are not the same thing. All fields in the weapon configs only affect the weapon. If your goal is to alter AI's aiming then it's not possible to my knowledge, in CS/CoP they exposed the ai_aim* values in console, as these are the values that control and adjust the AI direction and body positions before even pulling the trigger; adjusting and predicting the target's movement. Those dispersion fields are only modifiers for the weapon's accuracy (ie. bullet grouping).

As for hit_probability, it is the probability a bullet doesn't count after it already hit the target. Not really related to aiming or accuracy at all.
 
Each word should be at least 3 characters long.
Search:    
Search conditions:    - spaces as AND    - spaces as OR   
 
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
 

All short dates are in Month-Day-Year format.


 

Copyright © 1995-2017 GSC Game World. All rights reserved.
This site is best viewed in Internet Explorer 4.xx and up and Javascript enabled. Webmaster.
Opera Software products are not supported.
If any problem concerning the site functioning under Opera Software appears apply
to Opera Software technical support service.