Talk:Weapon Damage Formula

In order to get accurate results i had to access game runtime data. The general purpose windows debugger(windbg) was my starting point. Windbg its a powerfull application(its purpose its debugging windows applications not hacking games)and while i have little doubt that in the hands of a proffessional it would have been enough i needed more help.. So i searched for a more specialized tool for the task at hand ( mainly finding/displaing/editing memory locations for variables such as Armor hit points, shield hit points, hit points and such.

"MHS is a utility for searching, viewing, and modifying the RAM of other processes, and for disassembling and debugging other processes. MHS sports the fastest and most efficient searches available, an advanced, colorful, and easy-to-use real-time Hex Editor, a Debugger with unique features, a Disassembler, and an extensive scripting language (L. Spiro Script) yielding unlimited potential. The array of tools offered in MHS can make hacking any game easy." Quote from the application help file introduction.

Having 0 experience with MHS(memory hacking sofware :) ) and Mass Effect 2 internal workings intial progress was slow. I can now find the memory locations for shield, armor and health of an YMIR mech in under a minute because now i know they are floats and their starting values (2150/2150/500). Address for shep shields, ammo in gun and so on ...

So i load a map, kill the lesser enemies, damage the YMIR to find out his addresses and then i'm ready for testing. I choosed YMIR becase the procedure i was first using to find the address consited in damaging it a bit checking witch memory values decreased, damaging some more and so on.. Initial number of search results can be very high but MHS has tools to automatise the process(finding unknown values). YMIR's had high enough hitpoint not to die while i was reducing the number of hits to 1.

Level scaling doesn't alter monsters hitpoints (YMIR will have 2150 shields all the time) but the damage you do to them. Must be some multiplier that i would calculate based on how much damage a melee hit would do to them. (For example at Shep lvl 2 a 125 melee hit does 69.62 damage meaning all damage is multiplied by 0.56 ( 69.62/125 ) at that lvl.

- testing with carniflex and revenant the damage was not consistent. Could random be involved? that would really end attempts(debbuging the code to find the actual damage formula is way beyond my ability). But when i tried the viper damage was repetable with many zecimals. So i remembered something about sniper rifles not getting damage bonus for range. Next tests would be done with sniper rifles.

- new game was perfect to establish baseline. 0 skills, 0 damage from equip, 0 research. So a shot from Mantis vs shield should do exacly mantis base damage. Measured value(new game mantis shot vs shield) = 146,536 damage. 146.536 * (125/ 69.62) = 263.1 (Base Damage of mantis in weapons table BINGO).

After that i simply started to add various bonuses and see what worked ...Peddroelm 10:17, June 11, 2010 (UTC)