Such a Script should be possibe.
Though I'm not going to write it.
First you'll need a trigger, which will be placed over the
shooter once a shot is fired.
Then you do the following (per Script) with everybody inside
the trigger area:
Is it the unit infantry?
?(trigger_unit distance player < _hurting):blahblah
Is the unit in a cone behind the player, can be done via
GetDir, some sin and cos. by calculating the direction of the
line between the player and the unit.
I think you can assume that every unit is on level ground.
then you do:
unit Setdammage (1 - 0.1*(unit distance player))
(the closer they are the more dammage...)
It's just an idea how to do it, unfortunatly obstacles cannot
really be taken into account.
-Fishion