Ideas:chad3f:CombatSystem: Difference between revisions

Jump to navigation Jump to search
Content deleted Content added
imported>Chad3f
mNo edit summary
imported>Chad3f
Line 1: Line 1:

== Combat System ==
== Combat System ==


In order to have realistic combat, properties beyond just simple atk/def values are needed. For example, if you have a high def helmet and armor, but no boots or legs and a rat attacks you, you should get the full impact of it's attack, since it will attack you where you are unprotected (not counting evasion).
In order to have realistic combat, properties beyond just simple atk/def values are needed. For example, if you have a high def helmet and armor, but no boots or legs and a rat attacks you, you should get the full impact of it's attack, since it will attack you where you are unprotected (not counting evasion).


Also, the equation/algorithm for comparing attack to defense should be simple and independant of how the two values were computed. This is a problem I came across when apply damage from non-RPEntity's in a meaningful way, since the existing code made assumptions about the "opponent" having defense values, when the amount of defense an inanimate object has little/no direct impact on damage it does. So the effective attack/defense values should be normalized (either [0-1] or some other linear values) that are comparable. This would allow any code that computes attack or defense values to be independant of any other code that may use those values (beyond the definition of their relative meaning).
Also, the equation/algorithm for comparing attack to defense should be simple and independant of how the two values were computed. This is a problem I came across when trying to apply damage from non-RPEntity's in a meaningful way, since the existing code made assumptions about the "opponent" having defense values, when the amount of defense an inanimate object has little/no direct impact on damage it does. So the effective attack/defense values should be normalized (either [0-1] or some other linear values) that are comparable. This would allow any code that computes attack or defense values to be independant of any other code that may use those values (beyond the definition of their relative meaning).