As I currently understand it, Doom picks a value from one to seven, multiplies it by the number after "Damage," and then a projectile deals that much damage. If the STRIFEDAMAGE flag is set, the number picked is one to four instead.
I propose two things. First, a value that defines the size of the "Dice" used to roll damage perhaps called DAMAGESIZE, and second, a flag, perhaps called RANDOMDAMAGE, that tells the computer to generate as many random numbers as the value of "damage". Thus, a projectile that deals five damage, instead of dealing 5, 10, 15, 20, 25, 30, or 35 damage with an equal probability of each will deal anywhere from 5 to 35 damage with a nice bell curve centering around 20.
Examples: (NOTE TO POSTERS: NOT REAL CODE!)
Code: Select all
DAMAGE 5
Code: Select all
+STRIFEDAMAGE
DAMAGE 5
Code: Select all
+RANDOMDAMAGE
+STRIFEDAMAGE
DAMAGE 5
Code: Select all
DAMAGESIZE 10
DAMAGE 5
Code: Select all
DAMAGESIZE 10
+RANDOMDAMAGE
DAMAGE 5
Code: Select all
+RANDOMDAMAGE
DAMAGESIZE 50
DAMAGE 1
Code: Select all
DAMAGESIZE 1
DAMAGE 25
This would make things either more predictable or more random depending on how it's used. Knowing that a certain projectile always deals five damage would make certain monsters less scary and more predictable, and knowing that the next time a certain projectile hits you, you could take anywhere from 1 to 100 damage (Distributed evenly) would scare the crud out of players. Also, because it works off of new values and flags, backwards compatability is retained.
Would this work?