Are there any changes or we still have:
Damage
if finesse is present then finesse_mod=30, otherwise finesse_mod=0
if armor bypassed critical, and the damage type is not emp:
dt = armor_dt/5; dr = armor_dr/5 + dr_mod // finesse is skipped in this case
if not armor bypassed critical or armor bypassed with emp, but armor piercing or weapon penetrate perk:
dt = armor_dt/5; dr = armor_dr + dr_mod + finesse_mod
if none of above:
dt = armor_dt; dr = armor_dr + dr_mod + finesse_mod
if dt<0 then dt=0
if dr<0 then dr=0
if dr>100 then dr=100
totaldamage=0
dmg_mul = ammo_dmg_mul*global_dmg_mul // usually global_dmg_mul=2, but can be modified by criticals; see Kanhef's entry on critical hit tables at falloutmods wiki
dmg_div = ammo_dmg_div*2
if attack is ranged, but not throwing
bonus = 2*bonus_ranged_damage_level
otherwise
bonus = 0
for every bullet that hit:
rawdamage=Rnd(weapon_dmg_min, weapon_dmg_min) + bonus
rawdamage*=dmg_mul;
rawdamage/=dmg_div;
rawdamage-=dt
rawdamage-=(rawdamage*dr)/100
if rawdamage > 0 then totaldamage+=rawdamage
if living anatomy is present, and the target is neither robot nor alien
totaldamage+=5
if pyromaniac, and weapon damage type is fire
totaldamage+=5
Hit chance bonus:
(PE-2)*16% for dual hand weapon (if range>25)
(PE-2)*8% for other weapons