StaticHex
Member
I hope I didn't post this in the wrong place; I kind of waffled between this and script support but decided on here as I'm not actually needing help with anything and this is more of just a generally curious thing. I'm wondering why Min/MaxDamage on weapons was made so hard to modify dynamically.
What I mean by that is at least from what I can tell, there's no way to change a weapon's base Min/Max damage directly outside of Bonus Damage (same thing with swing speed and anything else defined as a virtual property in BaseWeapon.cs). Also, it looks like great care has been taking to prevent users from setting these properties aside from manually overriding the properties. Additionally, it would have been very easy to make these (and all the other virtual properties for that matter) editable by doing
instead of
Additionally, pretty much everything else dealing with weapons including crafting sort of forces the user to use the WeaponAttribute for bonus damage vs. setting the value directly.
the tl;dr takeaway here is that too much seems put into place for this to be a simple oversight. I've recently been thinking about boosting some of the caps for BonusDamage, WeaponSpeed, etc. as it seems like a lot less work than trying to restructure half the code base just to allow me to make OP gear. But then that got me thinking that if this was so intentionally done there might be a reason for it.
So, that leads me to the title of What's the deal with Min/Max damage? Is it locked down to prevent serialization errors or to prevent math errors/instability from trying to boost damage through the roof? or is there something else going on? I'm still only about 60% sure this belongs here so if this is more of a script support question I apologize for posting in the wrong section.
What I mean by that is at least from what I can tell, there's no way to change a weapon's base Min/Max damage directly outside of Bonus Damage (same thing with swing speed and anything else defined as a virtual property in BaseWeapon.cs). Also, it looks like great care has been taking to prevent users from setting these properties aside from manually overriding the properties. Additionally, it would have been very easy to make these (and all the other virtual properties for that matter) editable by doing
C#:
public virtual <T> propName {get; set;} = 0
instead of
C#:
public virtual <T> propName => 0
Additionally, pretty much everything else dealing with weapons including crafting sort of forces the user to use the WeaponAttribute for bonus damage vs. setting the value directly.
the tl;dr takeaway here is that too much seems put into place for this to be a simple oversight. I've recently been thinking about boosting some of the caps for BonusDamage, WeaponSpeed, etc. as it seems like a lot less work than trying to restructure half the code base just to allow me to make OP gear. But then that got me thinking that if this was so intentionally done there might be a reason for it.
So, that leads me to the title of What's the deal with Min/Max damage? Is it locked down to prevent serialization errors or to prevent math errors/instability from trying to boost damage through the roof? or is there something else going on? I'm still only about 60% sure this belongs here so if this is more of a script support question I apologize for posting in the wrong section.