Some goodies for you:
0x69C668 - Driver Flees On Foot likelihood (0.0-1.0), float, default: 0.5
Explanation: when cars get shot at, peds either flee in car
or on foot. The constant at this address seems to determine the
likelihood of each, the lower the less likely to flee on foot.
Different police car weapon:
(addresses that need to be changed to change the weapon *and* load the model)
These cause a change of weapon data in the player block:
5B8964 - weaponID (same as in scripts) byte, default 0x13
5B8979 - weaponID (same as in scripts) byte, default 0x13
5B898A - weaponID (same as in scripts) byte, default 0x13
These request the right model to get loaded:
5B899F - modelID (ID from default.ide), word, default (0x151)
5B8A83 - modelID (ID from default.ide), word, default (0x151)
This modifies a check that tests if the correct model has been loaded:
(which normally happens on entry of the vehicle so that model is
ready by the time you leave it, which explains why you may not get
a weapon if you enter and leave right away)
5B894D - pointer to the model status flag (01 = available) for each
default.ide model, dword, default (0x94F37C) for chromegun.
calculate new address for different model by 0x94DDD8 + 0x14*modelID
5B8977 - ammunition given by vehicle, signed byte, default (0x5)
5B8988 - ammunition given by vehicle, signed byte, default (0x5)
Please note: changing the weapon works, I have tested it. But on last try I received an exception (at 0x5825A4) after a while so the game may crash for you. It might be that one or the other address doesn't need to be changed (maybe one of the ammunition ones or the first modelID address, I haven't checked those thoroughly yet). Either wait until I have further information or mess with it on your own.