May 05, 2024, 04:30:47 pm
Username:

Password:

Topic: Big guns  (Read 10712 times)

Slowhand

  • Posts: 278
  • Go for the eye, Boo! Go for the eyes!
    • View Profile
Re: Big guns
« Reply #15 on: January 04, 2016, 03:39:34 pm »
Either way, it seems like something that should be in the stats description or have a topic all of its very own.

Like I said before I hope kilgore or someone knows about it so they can investigate it at least.

Do the guys with low PE deal less damage too? Or is it just less crits? Because if its about less bullets hitting in the burst its one thing, but if it is just a higher chance for burst crits, it is very strange.

I don't think that any dev would bother to look up on a rumor like this. But if you do 100 samples with 1, 4, 7and 10 PE respectively, at the same range distance where in each case your max to hit is 95% (somewhere around 5 hex distance?), and find out a pattern, where the crit chance difference is is lowest at 1PE, highest at 10PE, and the rest falls between with visible difference,  I'll look into it in detail.

Imo it's just a rumor/herecy/trolling not worth the effort investigating or testing.

FrankenStone

  • Posts: 337
    • View Profile
Re: Big guns
« Reply #16 on: January 05, 2016, 09:34:55 pm »
10 PE without EW skill for a gatling is already trolling ... i would never go with 1 ST when im using big guns because weapondrops are NOT COOL ... especially when you are a newbie or when u play while u sleep ... min 5 , max 7 ; only 1 for snipers
« Last Edit: January 05, 2016, 09:39:41 pm by FrankenStone »

Blarney

  • Posts: 317
    • View Profile
Re: Big guns
« Reply #17 on: January 06, 2016, 01:41:29 am »
But if you do 100 samples with 1, 4, 7and 10 PE respectively, at the same range distance where in each case your max to hit is 95% (somewhere around 5 hex distance?), and find out a pattern, where the crit chance difference is is lowest at 1PE, highest at 10PE, and the rest falls between with visible difference,  I'll look into it in detail.

I think he meant you Koniko ;D

I am far too lazy.

Slowhand

  • Posts: 278
  • Go for the eye, Boo! Go for the eyes!
    • View Profile
Re: Big guns
« Reply #18 on: January 06, 2016, 07:56:06 am »
But if you do 100 samples with 1, 4, 7and 10 PE respectively, at the same range distance where in each case your max to hit is 95% (somewhere around 5 hex distance?), and find out a pattern, where the crit chance difference is is lowest at 1PE, highest at 10PE, and the rest falls between with visible difference,  I'll look into it in detail.

I think he meant you Koniko ;D

I am far too lazy.

I ment you.

Blarney

  • Posts: 317
    • View Profile
Re: Big guns
« Reply #19 on: January 06, 2016, 09:34:27 pm »
I was kidding :P

I haven't had much chance to even play lately let alone test build that I don't even have.

There's always time for the forum though. ;)

Vehemence

  • Guest
Re: Big guns
« Reply #20 on: January 19, 2016, 10:15:35 pm »
My noob comment to that is, that keep the high STR if you use big guns, else with 1 aimed arm shot from crippler, you can't retaliate.

About the PE thing, the code does not show anything related to PE and crit chance, as long as you both 95% hit chance.

There is a hidden crit chance bonus, that is the 1/10 of the difference between your attack roll and chance to hit, with a maximum of 9.4. This bonus is added to you critical chance, however it's not a reliable source, as depends on your chance to hit roll when attacking. It's effect varies from 0.1 to 9.4, depending on roll and your chance to hit. This hidden bonus is always there (except the burst/flamer bug?) regardless if the shot is aimed or not.

The other hidden bonus (noted on Wiki so not hidden) is the extra crit chance you get when calling shots, that is: AimPenalty * ( 60 + 4 * Luck), where AimPenalty is the usual 60 for eyes, 40 for head, as defined on wiki or visible in game, so a maximum of 60 with aiming for eyes with 10 LUCK.

On a side note, the lower your chance to hit is, the higher the critical failure at a miss. (Depends on that margin (hidden bonus) variable described above, If your chance to hit is 0 and you miss, the chance to critically miss is close to 50%.)
At critical failures the current deterioration of your weapon also matter. 
If the miss is not critical, then comes the Jinxed debuff, which gives a 50% chance to fail, but this roll is a separate roll. Critical failure threat roll also depends on the critters luck, bonus is (luck - 5) * 5, meaning low luck means penalty, higher chance of very bad thing happening.

While I am at it:

- Silent Death is allowed only on pistols with pistol animation :) + 14mm Pistol + 233. Pistol, you have to be sneaking and behind (behindish-sides) the target.
- Aimed melee attacks have less aim penalty, penalty is divided by 2.
- Blocking targets give a -10 to hit.
- Combat.fos->CombatAttack needs some kind of restructure, currently single target weapons, like pistols, one shot rifles, depend on hit chance calculation at the beginning of the function, however burst attacks with riffles or flamers, simply ignore if that was a miss. In your face perk is not used at these attacks at all, it only matters at single shot type of shots, melee weapons, rockets and throwing weapons, and only if the target (the one with the In your face perk) has close combat weap equiped or is unarmed and you are in his weapon (melee) range.
- Shotguns, LSW, Boozar burst only in 1 line, multiple targets can only be hit if they are blocking the view.
- One hander trait give +20 to hit on 1 handed weapons and -40 to 2 handed weapons.
- +40 to hit bonus on knocked out target, and +15 if target multihex, whoever that is...
- -20 to hit for each strenght missing from weap requirement.

Just lol

Troll

  • Supporter
  • Posts: 377
  • Trollmageddon soldier
    • View Profile
Re: Big guns
« Reply #21 on: January 19, 2016, 11:46:07 pm »
Also I'll annouce some herecy. More perception = more crits.
Go test it for yourself.. I've already done it =).

Saywhatnow?

Is this elite trolling or for real, I can't tell anymore.

If true, I hope you posted the tests to someone like kilgore, because that is not in perception's description lol.
He showed his test results to me and seem to be true. The burster with 10 PE did more criticals than alts with lower PE

I did tests too, once with 10 P and with 1 P and I didn't notice a real difference, I don't think crits are impacted by perception, however, they are lowered by a non maxed hitchance.

Troll

  • Supporter
  • Posts: 377
  • Trollmageddon soldier
    • View Profile
Re: Big guns
« Reply #22 on: January 19, 2016, 11:51:39 pm »
On a side note, the lower your chance to hit is, the higher the critical failure at a miss. (Depends on that margin (hidden bonus) variable described above, If your chance to hit is 0 and you miss, the chance to critically miss is close to 50%.)
At critical failures the current deterioration of your weapon also matter. 
If the miss is not critical, then comes the Jinxed debuff, which gives a 50% chance to fail, but this roll is a separate roll. Critical failure threat roll also depends on the critters luck, bonus is (luck - 5) * 5, meaning low luck means penalty, higher chance of very bad thing happening.

I'd like to know something, I was looking for that in the code but I don't understand half of it:
How is critfailure damage calculated? It can be high, I mean a 100+ damage with some weapons. It seems flamer makes awefull critfails, while regular bullet shooting weapons don't, but thats just a feeling, I'm not sure. Does jinxed also increase critfail damage? Or maybe luck does, or just the weapon...

Koniko

  • Supporter
  • Posts: 495
    • View Profile
Re: Big guns
« Reply #23 on: January 19, 2016, 11:55:12 pm »
On a side note, the lower your chance to hit is, the higher the critical failure at a miss. (Depends on that margin (hidden bonus) variable described above, If your chance to hit is 0 and you miss, the chance to critically miss is close to 50%.)
At critical failures the current deterioration of your weapon also matter. 
If the miss is not critical, then comes the Jinxed debuff, which gives a 50% chance to fail, but this roll is a separate roll. Critical failure threat roll also depends on the critters luck, bonus is (luck - 5) * 5, meaning low luck means penalty, higher chance of very bad thing happening.

I'd like to know something, I was looking for that in the code but I don't understand half of it:
How is critfailure damage calculated? It can be high, I mean a 100+ damage with some weapons. It seems flamer makes awefull critfails, while regular bullet shooting weapons don't, but thats just a feeling, I'm not sure. Does jinxed also increase critfail damage? Or maybe luck does, or just the weapon...

Jinxed only increases chances of crit miss to happen. From what I remember damage from weapon explosion was related to alpha base damage of weapon and later multiplied by some factor which I don't really remember of right now.

Slowhand

  • Posts: 278
  • Go for the eye, Boo! Go for the eyes!
    • View Profile
Re: Big guns
« Reply #24 on: January 20, 2016, 07:19:55 pm »
I'd like to know something, I was looking for that in the code but I don't understand half of it:
How is critfailure damage calculated? It can be high, I mean a 100+ damage with some weapons. It seems flamer makes awefull critfails, while regular bullet shooting weapons don't, but thats just a feeling, I'm not sure. Does jinxed also increase critfail damage? Or maybe luck does, or just the weapon...

Luck affects the severity of the critical failures, as it takes part in the threat roll. 10 Luck saves from the last 2 threats while 1 luck makes sure you get at least second threat level when crit failure occurs.
Jinxed does not affect critical damage, but critical chance.
About the damage, well, it's quite a complex structure, as I've seen it, the type of weapon gives the possible effects and in case of burst weapon only one bullet is used to determine damage, but I can tell this only at a glance, as I see not much reason to try to understand this, as it's not a very important or interesting part for me.

mojuk

  • Posts: 332
    • View Profile
Re: Big guns
« Reply #25 on: January 20, 2016, 07:47:47 pm »
How is critfailure damage calculated? It can be high, I mean a 100+ damage with some weapons. It seems flamer makes awefull critfails, while regular bullet shooting weapons don't, but thats just a feeling, I'm not sure. Does jinxed also increase critfail damage? Or maybe luck does, or just the weapon...
Critical failure damage is calculated as if it was normal attack against you where attacker is also you, so if you critically fail with flamer while having Pyromaniac this will hurt a lot :)
Only thing different is that with burst weapons it only counts as if you shot with 1 bullet only. That's why avenger would have really low damage (compared to what it does with full burst) while mentioned flamer will deal normal damage because flamer attack is basically 1 bullet but have burst-like damaging mechanics.
:facepalm

Troll

  • Supporter
  • Posts: 377
  • Trollmageddon soldier
    • View Profile
Re: Big guns
« Reply #26 on: January 21, 2016, 03:18:49 pm »
Okay, this makes sense with what I experienced during Armor Class trolling.
Could you give a formula with maybe the rolls to pass and special checks and such? Something I could do some math with  :D

mojuk

  • Posts: 332
    • View Profile
Re: Big guns
« Reply #27 on: January 22, 2016, 03:27:14 pm »
That's not super easy but if you want...   :D

* your final chance to hit (toHit) is capped at <5, 95> range
* margin = toHit - Random(1, 100)
* if margin < 0 than it's miss

Critical failure can only happen if you miss your main hit roll and that miss is critical, here is raw formula:
Code: [Select]
isCritical = ((((-margin) / 10) + ((valid(realWeapon) && realWeapon.IsDeteriorable() && !_CritHasExtMode(cr, MODE_EXT_NO_DETERIORATION)) ? ((20 * realWeapon.Deterioration) / MAX_DETERIORATION) : 0)) >= Random(1, 100));

It says that miss is critical if "some value" >= Random(1, 100)
"some value" = ((-margin)/10) + "weapon deterioration mod"
"weapon deterioration mod" is calculated only if it's a valid weapon that is deteriorable and critter does not have special mode MODE_EXT_NO_DETERIORATION (for example guards has that), if not it's equal to 0
"weapon deterioration mod" = (20 * realWeapon.Deterioration) / MAX_DETERIORATION)
where:
MAX_DETERIORATION = 10000
real.Weapon.Deterioration = value from range 0 to 10000, where 0 is item in perfect condition

If isCritical is still false there is another check if you or your initial target got Jinxed, if yes than it's a 50% chance to make isCritical = true;

If isCritical is true than critical power roll is made:

Code: [Select]
                int roll = Random(1, 100) - 5 * (cr.Stat[ST_LUCK] - 5);
                if(roll <= 20)
                    roll = 0;
                else if(roll <= 50)
                    roll = 1;
                else if(roll <= 75)
                    roll = 2;
                else if(roll <= 95)
                    roll = 3;
                else
                    roll = 4;

It's used to read critical fail result from special critical fail table:
Code: [Select]
critfailFlags = CriticalFailureTable[5 * weapon.Weapon_CriticalFailture + roll];

This is CriticalFailureTable:
Code: [Select]
// fallout2.exe at file offset 0x1065A0 (517FA0 memory offset)
// row: weapon type (critfail list), column: critfail severity
const uint[] CriticalFailureTable = {
  0x00000000, 0x00008000, 0x00008000, 0x00080002, 0x00200000,
  0x00000000, 0x00008000, 0x00004000, 0x00100000, 0x00010000,
  0x00000000, 0x00020000, 0x00004000, 0x00100000, 0x00002000,
  0x00008000, 0x00028000, 0x0000C000, 0x00100000, 0x00009000,
  0x00040000, 0x00004000, 0x00084000, 0x00100000, 0x00001000,
  0x00008000, 0x00040000, 0x00002000, 0x00100000, 0x00009002,
  0x00000000, 0x00008000, 0x00100000, 0x00002000, 0x00009400 };

Result is described as a flag that later on is processed to apply critical results to your character, those flags:
Code: [Select]
#define MF_KNOCKED_DOWN            (0x00000002)
#define MF_ON_FIRE                 (0x00000400)
#define MF_WEAPON_EXPLODED         (0x00001000)
#define MF_WEAPON_DESTROYED        (0x00002000)
#define MF_WEAPON_DROPPED          (0x00004000)
#define MF_LOST_NEXT_TURN          (0x00008000)
#define MF_HIT_SELF                (0x00010000)
#define MF_LOST_REST_OF_AMMO       (0x00020000)
#define MF_FIRED_DUD_SHOT          (0x00040000)
#define MF_HURT_SELF               (0x00080000)
#define MF_HIT_RANDOMLY            (0x00100000)
#define MF_CRIPPLED_RANDOM_LIMB    (0x00200000)
#define MF_WAS_KILLED              (0x10000000)
If result have few flags than it's equal to sum of those flags, example
MF_ON_FIRE (0x00000400) + MF_WEAPON_EXPLODED (0x00001000) = 0x000014000

As mentioned before we use this:
Code: [Select]
critfailFlags = CriticalFailureTable[5 * weapon.Weapon_CriticalFailture + roll];
to get position from CriticalFailureTable (index of element we want to read, with first index = 0)
Code: [Select]
5 * weapon.Weapon_CriticalFailture Tells us which row we are looking at and roll specifies column.
weapon.Weapon_CriticalFailture is a value every weapon has set in it's proto, you can check that in FOnline Object Editor in /Tools/ObjectEditor in file /Server/proto/items/weapon.fopro
For example flamer got that value set to 6 and last column from last row got ON_FIRE flag ;)

Have fun  ;D
:facepalm

FrankenStone

  • Posts: 337
    • View Profile
Re: Big guns
« Reply #28 on: January 22, 2016, 04:26:02 pm »
That's not super easy but if you want...   :D

* your final chance to hit (toHit) is capped at <5, 95> range
* margin = toHit - Random(1, 100)
* if margin < 0 than it's miss

Critical failure can only happen if you miss your main hit roll and that miss is critical, here is raw formula:
Code: [Select]
isCritical = ((((-margin) / 10) + ((valid(realWeapon) && realWeapon.IsDeteriorable() && !_CritHasExtMode(cr, MODE_EXT_NO_DETERIORATION)) ? ((20 * realWeapon.Deterioration) / MAX_DETERIORATION) : 0)) >= Random(1, 100));

It says that miss is critical if "some value" >= Random(1, 100)
"some value" = ((-margin)/10) + "weapon deterioration mod"
"weapon deterioration mod" is calculated only if it's a valid weapon that is deteriorable and critter does not have special mode MODE_EXT_NO_DETERIORATION (for example guards has that), if not it's equal to 0
"weapon deterioration mod" = (20 * realWeapon.Deterioration) / MAX_DETERIORATION)
where:
MAX_DETERIORATION = 10000
real.Weapon.Deterioration = value from range 0 to 10000, where 0 is item in perfect condition

If isCritical is still false there is another check if you or your initial target got Jinxed, if yes than it's a 50% chance to make isCritical = true;

If isCritical is true than critical power roll is made:

Code: [Select]
                int roll = Random(1, 100) - 5 * (cr.Stat[ST_LUCK] - 5);
                if(roll <= 20)
                    roll = 0;
                else if(roll <= 50)
                    roll = 1;
                else if(roll <= 75)
                    roll = 2;
                else if(roll <= 95)
                    roll = 3;
                else
                    roll = 4;

It's used to read critical fail result from special critical fail table:
Code: [Select]
critfailFlags = CriticalFailureTable[5 * weapon.Weapon_CriticalFailture + roll];

This is CriticalFailureTable:
Code: [Select]
// fallout2.exe at file offset 0x1065A0 (517FA0 memory offset)
// row: weapon type (critfail list), column: critfail severity
const uint[] CriticalFailureTable = {
  0x00000000, 0x00008000, 0x00008000, 0x00080002, 0x00200000,
  0x00000000, 0x00008000, 0x00004000, 0x00100000, 0x00010000,
  0x00000000, 0x00020000, 0x00004000, 0x00100000, 0x00002000,
  0x00008000, 0x00028000, 0x0000C000, 0x00100000, 0x00009000,
  0x00040000, 0x00004000, 0x00084000, 0x00100000, 0x00001000,
  0x00008000, 0x00040000, 0x00002000, 0x00100000, 0x00009002,
  0x00000000, 0x00008000, 0x00100000, 0x00002000, 0x00009400 };

Result is described as a flag that later on is processed to apply critical results to your character, those flags:
Code: [Select]
#define MF_KNOCKED_DOWN            (0x00000002)
#define MF_ON_FIRE                 (0x00000400)
#define MF_WEAPON_EXPLODED         (0x00001000)
#define MF_WEAPON_DESTROYED        (0x00002000)
#define MF_WEAPON_DROPPED          (0x00004000)
#define MF_LOST_NEXT_TURN          (0x00008000)
#define MF_HIT_SELF                (0x00010000)
#define MF_LOST_REST_OF_AMMO       (0x00020000)
#define MF_FIRED_DUD_SHOT          (0x00040000)
#define MF_HURT_SELF               (0x00080000)
#define MF_HIT_RANDOMLY            (0x00100000)
#define MF_CRIPPLED_RANDOM_LIMB    (0x00200000)
#define MF_WAS_KILLED              (0x10000000)
If result have few flags than it's equal to sum of those flags, example
MF_ON_FIRE (0x00000400) + MF_WEAPON_EXPLODED (0x00001000) = 0x000014000

As mentioned before we use this:
Code: [Select]
critfailFlags = CriticalFailureTable[5 * weapon.Weapon_CriticalFailture + roll];
to get position from CriticalFailureTable (index of element we want to read, with first index = 0)
Code: [Select]
5 * weapon.Weapon_CriticalFailture Tells us which row we are looking at and roll specifies column.
weapon.Weapon_CriticalFailture is a value every weapon has set in it's proto, you can check that in FOnline Object Editor in /Tools/ObjectEditor in file /Server/proto/items/weapon.fopro
For example flamer got that value set to 6 and last column from last row got ON_FIRE flag ;)

Have fun  ;D

but is on fire used ? i see a comment in combat.fos which says its not used ... probably only hit self. but well good explanation anyway , cheers.

Troll

  • Supporter
  • Posts: 377
  • Trollmageddon soldier
    • View Profile
Re: Big guns
« Reply #29 on: January 22, 2016, 06:12:24 pm »
mojuk you're a rockstar  8)