RicoValdezio / RoR2-GiganticAmethyst

RoR2 Plugin for Gigantic Amethyst Equipment
0 stars 0 forks source link

Great Item but far too overpowered. #1

Closed dmjohn0x closed 4 years ago

dmjohn0x commented 4 years ago

Can we get a config file to change its cooldown? 15-20 seconds base would keep it from being gamebreaking early on.

RicoValdezio commented 4 years ago

I'm just trying to keep the behavior consistent from the first game. In RoR1 it was balanced by the fact that no character had a cooldown of more than 8 seconds. Only the Engineer has a cooldown longer than this in base RoR2, and that isn't enough reason to increase it globally.

blazingdrummer commented 4 years ago

While that may be true in vanilla play, that doesn't account for modded play or the differences between the two games. Disclaimer: this is all my opinion.

GiganticAmethyst is overpowered in its current state imo. 8 seconds is an extremely short cooldown for an item with such potency. This is further exasperated by equipment cd options (gesture, soulbound, fuel cells) which did not exist in the first game and gets a bit silly with modded characters. The only items in RoR1 that helped cooldown were reds. The introduction of Fuel Cell changes a lot here.

Another point to consider is other mods. A character like Void Reaver has a long cooldown on their special, but in every aspect is fairly well balanced. Current GA doesn't handle these situations at all, making it unsuitable for a pack like mine.

If I were to suggest a change, I'd prefer to see a percentage of the remaining cooldown be affected, and maybe not have it work on abilities with stocks, just reducing the current stock's cooldown or maybe reducing based on a percentage of the stock's combined cooldowns. See below.

Imo, you can't just drag-and-drop an item from the first game into this one and assume it will be balanced. There are other factors at play. I'm not saying you should make a config, but I do hope you consider this point.

RicoValdezio commented 4 years ago

I'll make a 30 second version of the mod for those who see the 8 second version as overpowered. Thunderstore will be updated here shortly.

blazingdrummer commented 4 years ago

After talking with a friend and discussing options, there's a couple suggestions I'd like to make.

The ability to reset cooldowns does exist in the game already in the form of Bandolier, so I'm not sure I actually have a problem with the resetting like I previously thought, nor the 8 second cooldown specifically. We do think there are a few tweaks that could be made that would help balance it out and a couple specifics in the code that might help, specifically using language tokens properly and making use of ApplyAmmoPack(). I'll make a pull request and you can do what you like with it.

RicoValdezio commented 4 years ago

I had originally considered that approach of using ApplyAmmoPack. However, the original handles abilities with multiple stacks (ie. Engineer's Turret and HAN-D's Drone) by fully restocking them, so instead of writing custom logic for just these skills I opted to go for the global Reset. Engineer's Thermal Harpoons is another reason for Reset, since it was originally just a single skill that had 4 projectiles instead of the current 4 uses of a single projectile.

blazingdrummer commented 4 years ago

The issue with a full cooldown reset is that some abilities shouldn't get a full reset imo like, although I don't use it personally, BadAssEngi's Orbital Laser, which would fully break the game with this item, or either variant of Surgeon's special. Applying ApplyAmmoPack() might not replicate the behavior of the original game exactly, but it's still a lot more balanced when it comes to these custom characters. If you are dead-set on a full reset, consider using SkillLocator.ResetSkills() instead of manually calling each ability, so that it will handle potential future situations where there are more or less then 4 skills. If you do choose this approach, I'm not sure I can include something like this in my pack just due to balance concerns. The issue is that an item like this that fully resets everything is that it becomes a part of your normal damage combo, massively increasing your DPS. If it only applied ApplyAmmoPack(), and had a slightly longer cd (maybe 15s), then it would allow you to do a bigger burst combo occasionally and would be a lot more reasonable.

As far as the rest of it goes, you might want to consider using language tokens properly as a key to look up the actual value like this and then assigning them like this so that it can be referenced properly by in-game commands and the like. You've also got a WickedRing remnant left over.

However, since you did decide to release a version with a larger cooldown, you might want to consider changing the item's behavior like above or just adding configuration. Mod managers are popular and they will simply download the most recent version (unless it's r2modman dealing with a .modpack package), and the player may never look at your page and receive the "nerfed" version.

I'd be happy to talk any of this over if you would like, and potentially still send that pull request your way if you would still like. Check out this page for help with loading resources like language tokens in larger projects in the future and check out this page for a tutorial on configuration if you need it. Please don't get down on yourself for any of this. I was hoping someone would add this item and I just want to see it be the best version it can!

blazingdrummer commented 4 years ago

@RicoValdezio Apologies for all of the edits. I hadn't realized I'd misunderstood the behavior of ApplyAmmoPack() and had to rethink the entire problem.

RicoValdezio commented 4 years ago

@blazingdrummer No problem. I think for the time being, I'm going to sit on it for a while and see what the general community reaction is to the short and long versions of the mod before I add any additional dependencies. I agree that adding a config is probably the best way to go about this in the long run, but if the community is content with the two versions then it may not be necessary, at least not until the full release of the game.

blazingdrummer commented 4 years ago

Hmm ok, that approach makes it complicated for me from a pack creator's standpoint though. If I made a PR that would add a config to switch between 3 modes: 8s cd, 30s cd, and my changes (~15s with the Bandolier effect), would that be acceptable? Wouldn't require any additional work from you and I could include the mod in my pack still. You could choose the default mode of course.

RicoValdezio commented 4 years ago

That sounds great! I'd opt to make the 8s variant the default, and would be happy to build and release your version after the PR to help with modpack consistency.

blazingdrummer commented 4 years ago

Perfect, that should resolve the issues with modpack managers as well, since you won't be releasing multiple versions.

RicoValdezio commented 4 years ago

Huge thanks to SushiDev for putting the config stuff together!