Glovz said:
try the new version I just uploaded for me - if it fails then I will make this change - I just want to verify if the cmp command had anything to do with it
The new version still fails during the compilation, with the error message:
Code:
1>AmmoMod.cpp(35): error C2415: improper operand type
I don't have any knowledge of assembly language, but judging from YAAM's code it seems jle can't work with DamageFunctionReturn. gvx's modification works fine.
I like the new calculation logic, much better than the previous one as now you can modify both DR/DT separately with ammo multiplier and divisor. Just curious about two things:
1. When or where is the additional 30% DR from Finetrait applied in the new calculation?
2. Don't know if I miss something, but in the middle of the calculation:
if amDRM is greater than 0 then amDRM=0-armDRM
if CD is greater than 100 then CD is set to 25
if CD is less than 100 then CD is set to -25
armDR=armDR+amDRM+CD
if armDR>=100 and amX is greater than 1 then armDR is divided by amX
With unmodified ammo protos, since all JHPs have amDRM greater than 0, it seems "armDR=armDR+amDRM+CD" (should be "armDRM+amDRM"?) will be reduced to a simple "armDR=CD".
With modified ammo protos, since there's no amDRM greater than 0, unless CD > 0 and with extremely high armDRM (like power armors' Laser DR), armDR >= 100 will be very unlikely.
Is there any other occasion that armDR >= 100 for amX coming into play? Or I should ask what exactly amX does except dividing armDR when armDR >= 100 in the new calculation?
EDIT: Uh, from your HTML it seems as long as amX is greater than 1, it will divide armDR no matter armDR is greater than 100 or not. That's why that if I change the modified ammoX of 5mm JHP from 2 to 1, the result with ADT 2 & ADR 30 will be different by 1. Because with ammoX=2, final armDR will be lower to 7 during the process.