chris-wjn / ImprovedDamageFramework

Other
7 stars 5 forks source link

[Suggestion] Weapon Traits/Tags #24

Closed neutralboolean closed 11 months ago

neutralboolean commented 1 year ago

I was modeling this for myself but think it'd be a nice configuration springboard for integrations. Basically support for weapons to apply their own set of Modifier Tags, i.e. "HEAVY": +x Force, -y Attack Speed; "ASSASSIN": -a Damage - PHYSICAL, +b Critical Chance, +c Critical Damage

chris-wjn commented 1 year ago

This is an interesting idea. How would you implement it?

neutralboolean commented 1 year ago

I've not looked into how you're applying the Modifier Tags for entities internally but I was assuming application in a similar way, when processing the config for the weapons. Perhaps it would be a field in the _flat.json config and it would apply the sum of the various Trait modifications to weapon stats before whatever else is listed in the rest of the item's config. Right now, I'm using Python to help speed up my config testing and I have Simply Sword weapons spread out into buckets for balancing. Still very WIP but e.g. I have the Simply Sword chakrams, sais, rapiers, and katanas in a "light" bucket, which means they have a -2 to force and physical damage, and a -0.2 to knockback. This is further processing from some values I gave to all weapons based on material tier.

What the values for these Traits would be I'd leave to you as the mod author to make consistent with the values you've generated for vanilla entities and, as I mentioned, providing a integration springboard so people can get an idea of what sort of numbers to use for things. Perhaps you can even have the values for these traits be another config json with default values, so people could make sweeping changes more easily, i.e. they personally want all heavy weapons to have preposterous knockback.

Personally, I'm just a big fan of Tags as a means for modular design.

chris-wjn commented 1 year ago

I like this idea a lot. I already implemented this for entities, don't know why I didn't think of doing it for the equipment.

neutralboolean commented 1 year ago

I'm toying around with weapon traits that include some defense stats but, I think as a default resource, perhaps stick to only offense stats. I think only "Light" and "Heavy" would be the only "paired" traits but you can make traits out of pretty much every other single offense stat:

In fact, you could probably do the same for Defense Stats too, although I hadn't gotten to that leg of personal config yet.

chris-wjn commented 11 months ago

added preset system in 0.3.0 👍