The damage output of a gun is a fixed value; so, as an example, we could assume that some pistol in Shadowrun has a damage value associated with it of 10.
There is no real way for us, using any memory editor, to find that value because we cannot control it. So, running through it a little bit, you start the game, start your editor, then you scan for a value of 10 and it returns a million or so addresses.
At this point, how can we filter that list down? Well, we can't really because we cannot change the damage value associated with that gun.
So, from the standpoint of trying to find a completely fixed value like that, we can't do it with simple value searches.
However, in a more advanced way, what we could do is find the health of our player with a simple value search, then look for any subroutines that access the player health; from there, we could overwrite that routine with a bit of assembly that sets the damage inflicted to some insane amount - however, this would have the unfortunate side effect that whenever we or any of our allies was damaged, we would also take that insane amount of damage.
The fix for that is to find some way of determining, in assembly (or some knock off of it as CE uses), whether the subroutine is being called for a player or an enemy; if it's being called for a player, set the damage to zero, whereas if it's being called for an enemy, set the damage value to 999 or some equally deadly value.
Believe it or not, that is the short answer to your question.
In Binary Domain, I searched for the damage values of the weapons before and after upgrading. I found the fixed values and set them to 999. The damage value now does show 999 but has no effect during gameplay.
--------------------------------------------------------------------------- Better to reign in hell, than to serve in heaven.
Never played Binary Domain before, so I'm just speculation in this reply.
If you can modify the damage output of a weapon, then several things are possible to explain what you are talking about.
First, it's possible that the damage value of a weapon is a derived value, in a sense - that is to say, that the interface of a game is displaying a value (e.g. 10), but under the hood as it were the game is really getting the value of 10 by adding a series of distinct values (e.g. 5 and 5); in that case, it's generally useless to take that approach.
Another possibility is that the values you are finding (as hinted at in the paragraph above) are values associated with the interface, and are not actual game data that is used in calculations - but only for display.