FEMultiPlayer-V2 icon indicating copy to clipboard operation
FEMultiPlayer-V2 copied to clipboard

Rule Settings via FEServer

Open ghost opened this issue 8 years ago • 11 comments

Issue type: feature request

Description:

After much balancing discussions, the one thing the sub and Discord seem to be in unanimous agreement on, is for FEServer to have a series of Rule Settings needed to control various aspects of play, including but not limited to:

  • Starting Gold and EXP on a per team basis for both symmetrical and asymmetrical play
  • Per team limits on certain weapon sub-types, such as Legendary / Brave / Killer / etc. on a per sub-type basis
  • Minimum and Max Levels to enforce more balanced EXP distribution
  • What set of starting weapons (endgame, personal, none), if any, Lords have access to
  • What Attack Speed system is used
  • Restrictions on Doubling
  • Brave weapon behavior
  • Whether "True Hit" is enabled or not as per #109
  • Whether growths are RNG or Fixed based on the growth rate
  • How weapon effective damage is calculated
  • If, instead of No Damage, successful hits are ensured to deal at least 1 damage
  • And more

I feel these should be implemented as a GUI expansion to FEServer (with the option to save them to a file for quick access to commonly used rules). @eliatlarge would rather introduce a new "Modifier" that simply references a setting file similar to app.config which houses all of them.

@Purplemandown You seem more eager to implement new features and other incremental changes, though I can't assign on here, mind if I "assign" you to this? I feel it's something you can tackle pretty quickly. @rayrobdod In case @Purplemandown is too busy, do you want to take care of this since we've seemingly hit a wall with other outstanding issues?


Example:

https://www.reddit.com/r/FEMP/comments/4nokoc/rule_settings_via_feserver/ < includes suggested defaults.

ghost avatar Jun 15 '16 14:06 ghost

How long this is going to take is likely going to depend on how the server code is set up (And I'm not sure on that myself), but I can take a look at it on Saturday (Assuming nothing comes up. I don't have any other plans as of now.)

Purplemandown avatar Jun 15 '16 22:06 Purplemandown

Turns out only collaborators can be assigned to things: https://help.github.com/articles/inviting-collaborators-to-a-personal-repository/

Purplemandown avatar Jun 17 '16 23:06 Purplemandown

The number options (min level, max level, max legendaries, gold, unit count) should be set using spinners. The multiple-choice with three-or-four options (Attack Speed, Starting Equipment, Objective, Map) should correspond to either listboxes or drop-downs; the existing multiple choice options are drop-downs, so probably drop-downs. The boolean options (Shove, True Hit, Phantoms, Sudden Death) can probably be added to the existing list builder.

rayrobdod avatar Jun 19 '16 06:06 rayrobdod

Yes. A lot of this needs a framework to work though, which I am working on. (I figured out a way to do the shop limits a few minutes ago, I'll put it together tomorrow.) As it stands, I can understand the logic behind the way that a lot of this was originally done, but for custom settings it's a bit screwy, so I was going to have the GUI (When it gets set up) build a custom modifier, as that seems like the most sane way to do it. So, I'm working backwards, starting with the modifier. Everyone's going to have to bear with me here.

Purplemandown avatar Jun 19 '16 06:06 Purplemandown

Even if a setting is selected via a drop-down, the setting can be internally represented as a Modifier, right? Like, if "None" is selected for AS penalty, then that means the session uses the net.fe.modifier.SpeedPenaltyNone modifier and if "Str-diluted" is selected for AS penalty, then that means the session uses the net.fe.modifier.SpeedPenaltyStr modifier (just giving arbitrary names).

rayrobdod avatar Jun 19 '16 08:06 rayrobdod

I see no reason as of now why that shouldnt work.

-------- Original message -------- From: Raymond Dodge [email protected] Date:06/19/2016 3:06 AM (GMT-06:00) To: eliatlarge/FEMultiPlayer-V2 [email protected] Cc: Purplemandown [email protected],Mention [email protected] Subject: Re: [eliatlarge/FEMultiPlayer-V2] Rule Settings via FEServer (#111)

Even if a setting is selected via a drop-down, the setting can be internally represented as a Modifier, right? Like, if "None" is selected for AS penalty, then that means the session uses the net.fe.modifier.SpeedPenaltyNone modifier and if "Str-diluted" is selected for AS penalty, then that means the session uses the net.fe.modifier.SpeedPenaltyStr modifier (just giving arbitrary names).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Purplemandown avatar Jun 19 '16 16:06 Purplemandown

@rayrobdod I'm really digging this idea of making the GUI settings modular behind the scenes. However, if they're implemented that way, wouldn't that make each module component show in the Modifiers section of the GUI (reserved for more unorthodox changes such as the "Vegas" or "Made In China" modifiers)?

ghost avatar Jun 20 '16 19:06 ghost

That can be worked around.  We add an attribute to the modifier interface, hidden, for instance, that would make the lists ignore it. (For instance.  Its not the only way it would work, but it's an example)

-------- Original message -------- From: SapphireTactician [email protected] Date:06/20/2016 2:53 PM (GMT-06:00) To: eliatlarge/FEMultiPlayer-V2 [email protected] Cc: Purplemandown [email protected],Mention [email protected] Subject: Re: [eliatlarge/FEMultiPlayer-V2] Rule Settings via FEServer (#111)

@rayrobdod I'm really digging this idea of making the GUI settings modular behind the scenes. However, if they're implemented that way, would that make each part show in the Modifiers section of the GUI (reserved for more unorthodox changes such as the "Vegas" or "Made In China" modifiers)?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

Purplemandown avatar Jun 20 '16 20:06 Purplemandown

Sounds good

ghost avatar Jun 20 '16 20:06 ghost

Or we could not add the combobox-controlled Modifiers to the list builder.

rayrobdod avatar Jun 21 '16 07:06 rayrobdod

I'm guessing @Purplemandown left us since it's been almost two years since we've last seen or heard from him. Anyone is welcome to continue this once we get caught up.

ghost avatar Apr 07 '18 22:04 ghost