We do scripts for weird pricing rules.
For that one I'd suggest a PreTotals script to loop through lines, and add/update a /DISCOUNT line with the calculated amount. Adjusting UnitPrice on lines gets complicated because users want things to update in real-time, and the Lines grid doesn't cooperate. Working in large orders (lots of lines) would slow things down a lot too... where PreTotals doesn't have to loop through lines with each line edit.
------------------------------
Kevin Moyes
Technical Systems Analyst
Munjal White Consulting Co.
Toronto ON
------------------------------