Done /tour rules improvements

I think it would be useful to implement a /tour rules command that gives hosts the possibility to restrict the level of pokemon and another one for the number of pokemon players can bring. That can be used for LC tours that are not supported by official formats (like RBY, GSC and ADV LC) and Battle tower tiers (3v3 with Item clause) and of course lots of other custom tiers.
 

pre

pkmn.cc
This seems like a reasonable request, but technically looks challenging.

From a technical POV, level restrictions and team size are not handled through changes to a format's ruleset / banlist which '/tour rules' modifies, but through the format's maxLevel and teamLength - basically they're a completely different 'thing' with respect to the how the code works. You're basically changing the aspects of the format instead of aspects of the format's rules (where 'rules' refers to the concept in the codebase, in non-technical terms they definitely all seem like 'rules'). This suggestion is by no means impossible to implement, its just going to require a different mechanism (maybe a different command? maybe parsing = in the rule string instead of just looking for < / + / ++ / - ?)

Approving because feature-wise it seems desirable and in line with what we would logically want '/tour rules' to be able to handle, but for the reasons mentioned above, because of how formats are currently designed this is unlikely to be an easy change and it will likely be a while before someone figures out a clean way to implement it (though I'd be happy to be proven wrong!)
 

Ivy

resident enigma
is a Forum Moderatoris a Community Contributoris a Smogon Discord Contributor
This would also be fantastic for the niche case of the Tier Shift mod in random battles, in which the level scaling is needlessly redundant with the tier shift effect—the level cap could be set to 50, eliminating that concern. Alternatively, a level floor of 100 would be a more sensible solution.
 
Coincidentally, I was considering looking into duplicating or moving the maxLevel property of Little Cup formats into the
'Little Cup' ruleset, so that adding it as a tour rule would cause it to effectively override the tour base format's level specifications. I hadn't considered other special formats like VGC, but perhaps they could be converted to rulesets as well. This would also have the minor benefit of not requiring properties like maxLevel to be redefined for every Little Cup format.

I didn't imagine that there was a non-meme use case for directly specifying level limits, but Ivy actually gives a pretty compelling one. However, I think achieving that effect would also need changes to how random team generation is done(?) or some other new mechanism.

Battle tower tiers (3v3 with Item clause)
Limiting team size through dynamic rule changes is actually already possible, albeit convoluted to express. For example, this will enforce 3v3 teams (may be missing one or two cases, but you get the idea):-

Code:
/tour rules -uber ++ ou ++ uu ++ uubl ++ ru ++ rubl ++ nu ++ nubl ++ pu ++ publ ++ zu ++ nfe ++ lcuber ++ lc ++ unreleased ++ cap > 3
It would be nice if we could VGC-ify formats as well. I remember wanting to implement balanced hackmons (or hackmons in general) while retaining a Team Preview, bring 6 pick 4, autolevel to level 50 structure and finding it impossible.
Hmm...it seems like you can get most of the way there by using the VGC format as a base and changing the rules and bans to match BH/PH, but unfortunately it looks like the VGC validator hardcodes things like a list of 'legends' that you can only have two of. Supposing VGC were to be made ruleset-driven, it might be better to split it into two sub-rules so that the onValidateTeam part can be discarded for cases like this.
 

Perish Song

flaunt
is a Tutor Alumnusis a Community Contributor Alumnusis a Contributor Alumnusis a Battle Simulator Staff Alumnusis a Dedicated Tournament Host Alumnus
Bumping this, since the thread name covers my suggestion I thought writing it here would be appropriate.

As far as I remember, things like gen7camomons, gen7tiershift and other things like that can be set as tournament rules but there isn't a public list that shows every clause that can be applied to the tournaments. Upon creating themed tournaments, it would be convenient for staff to know what clauses they can use I believe, can a feature like this be implemented as well?
 
Bumping this, since the thread name covers my suggestion I thought writing it here would be appropriate.

As far as I remember, things like gen7camomons, gen7tiershift and other things like that can be set as tournament rules but there isn't a public list that shows every clause that can be applied to the tournaments. Upon creating themed tournaments, it would be convenient for staff to know what clauses they can use I believe, can a feature like this be implemented as well?
At the bottom of this post is a list with clauses that can be added but it isn't complete since at least gen7tiershift is lacking. It would be nice if someone can look over the post and update it.
 

Felucia

Robot Empress
is a Battle Simulator Moderator
Tour rules are great, but there's a bunch of things you can't do that have been on my mind for a while.

Most importantly, I'd like to change the mod of a format. This allows easier creating of old gen (and mix) tournaments for various formats such as 1v1 and VGC, which both have a custom team preview setting that cannot be replicated in old generations.
Another thing that would be really nice to be able to change by tour rules is the max level in a tournament, to be able to do various breeds of LC, make level 50 formats, or just mess around

Also changing team preview at will, such as "Bring 3 pick 1" like it is in 1v1, would be cool, but is mostly redundant if the above two changes get implemented (though now that I think about it, tournaments where you bring 6 pokemon and only get to use a certain amount would actually be fun)
 

Felucia

Robot Empress
is a Battle Simulator Moderator
I've been working on this and it wasn't a particularly hard change actually.
maybe parsing = in the rule string instead of just looking for < / + / ++ / - ?)
This is pretty much the approach I took. parsing : or = like /tour rules max level = 5. I gave up on my own suggestion of allowing change of mods, but with the added control over banlists it shouldn't be necessary anyway. I'll submit a pull request to PS once I've cleaned up the code and figured out a couple small things
 

The Official Glyx

Banned deucer.
minor QOL improvement that falls under the category of this thread: would it be possible to have a command to specifically just append changes to a tour banlist, rather than having to copy and paste the entire banlist with the added change? It does get a bit annoying having to open up the modlog and copy and paste the entire thing.

If that's not doable, perhaps have /tour viewrules display a copiable banlist for mods in the same way that /rfaq X and /events view X do.
 

Plague von Karma

Banned deucer.
Hiya, bumping this old thread with a few things since it came up in conversation again. I've been hosting tour nights with RoA for a bit and the things FOMG proposed here are becoming noticeably more demanding, especially for RBY and GSC.

Level Limit and "Bring x Pick x" rules would be extremely helpful for numerous formats. There are quite a few level-limited Bring 6 Pick 3 formats (particularly Nintendo Cup 98-99) that RBYers sometimes find themselves playing. Not having the ability to modify the two fundamental rules that make them has made it impossible to host them without using the RBY Server, which you can see being cited in the Tour Nights thread. This can further extend to regular formats like Middle Cup which tend to be played at L50, and then you can consider past VGC formats that don't have formats on PS anymore. As FOMG has stated, GSC has the Battle Tower formats that would make for very interesting tour nights, which would also require these rules to function properly.

This would be a massive help to RoA and it's kind of a shame this has been sitting around for 3 years, but from what pre stated I understand why.
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
So now the main thing left to do is choose names for the rules:

- Chosen Team Size or Picked Team Size?
- Forced Max Level (for downleveling)? Forced Level (for downleveling and upleveling)?

The other ones are straightforward enough, but if you have opinions on these, here's the planned list:

- Max Level = NUMBER
- Min Level = NUMBER
- Default Level = NUMBER
- Max Total Level = NUMBER
- Max Team Size = NUMBER
- Min Team Size = NUMBER
- Min Source Gen = NUMBER
- Force Monotype = TYPE
 

Plague von Karma

Banned deucer.
Chosen Team Size or Picked Team Size?
Imo "Picked Team Size" is a bit clearer. "Chosen" can potentially be misinterpreted as something else (at least in my mind) so making it as idiot-proof as possible is ideal.

Forced Max Level (for downleveling)? Forced Level (for downleveling and upleveling)?
Forced Level would give the most possibilities which I'd greatly prefer, personally. When it comes to tour commands, flexibility is key. There's a couple formats where I can see uplevelling being relevant, though they're pretty much all the type of things you'd find in Area 51...

I suppose "Min Source Gen" might be clearer as "Min Gen Obtained"?
"Source" sometimes feels like one of those "tech-y" words so simplifying it as Min Gen feels like the right move. It does seem a bit vaguer though?
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
Forced Level would give the most possibilities which I'd greatly prefer, personally. When it comes to tour commands, flexibility is key. There's a couple formats where I can see uplevelling being relevant, though they're pretty much all the type of things you'd find in Area 51...
To be clear "Forced Level" and "Forced Max Level" are different rules. Nintendo's had some formats where you downlevel to 50 (but below-level-50 pokemon stay below 50), and some where all levels get changed to 50.

"Source" sometimes feels like one of those "tech-y" words so simplifying it as Min Gen feels like the right move. It does seem a bit vaguer though?
We already use "obtain" in a few other rules like "Obtainable" so I think it's probably a good word here. "Min Obtained Gen" or "Min Gen Obtained" might be clearest. "Min Gen" is a bit too vague, and there are a lot of possible interpretations like "ban pokemon introduced before this gen".
 

Felucia

Robot Empress
is a Battle Simulator Moderator
Note that with these rules coming to be, there's no longer a need for the one vs one and two vs two rules to exist as they're a result of the above and were created as a stopgap because of the above not being feasible at the time
 

Arai

aka the situation
is a Community Contributoris a Top Dedicated Tournament Hostis a Forum Moderator Alumnus
These new rules are great and will be very helpful but there is one slight issue that I noticed. 'Max level' can be set to above 100 and the validator does check for this, but it in addition still checks if the Pokemon is above level 100 meaning that even if the Pokemon is not above the new Max level, it can never be above 100. Are you not supposed to be able to set it over 100?

Screenshot_800.png
 

Plague von Karma

Banned deucer.
This has been massively helpful so far, these improvements single-handedly made a lot of the Pre-Gen 5 official formats possible.

If possible, I have two further suggestions.
  • Would it be possible to make the Restricted Legendary rule something like the team size rulings as well? The GS Cup rules (as they're officially called) have been applied to various past VGCs, and there doesn't appear to be a way to make a command that can allow them. I'm sure this would be helpful for the VGC and RoA rooms alike, old VGCs are definitely still played sometimes.
  • Is it possible to allow levels past 100 as Arai suggested for RBY Hackmons?
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
These new rules are great and will be very helpful but there is one slight issue that I noticed. 'Max level' can be set to above 100 and the validator does check for this, but it in addition still checks if the Pokemon is above level 100 meaning that even if the Pokemon is not above the new Max level, it can never be above 100. Are you not supposed to be able to set it over 100?

View attachment 338371
Fixed now. The level 100 check was built into "-Nonexistent" (the "ban anything that isn't possible in a real game" rule) but in hindsight there's no need for it to override an explicit "Max Level" rule, so now it doesn't.

Would it be possible to make the Restricted Legendary rule something like the team size rulings as well? The GS Cup rules (as they're officially called) have been applied to various past VGCs, and there doesn't appear to be a way to make a command that can allow them. I'm sure this would be helpful for the VGC and RoA rooms alike, old VGCs are definitely still played sometimes.
This is already possible, the ruleset you should be using is Limit Two Restricted, * Restricted Legendary
 
Fixed now. The level 100 check was built into "-Nonexistent" (the "ban anything that isn't possible in a real game" rule) but in hindsight there's no need for it to override an explicit "Max Level" rule, so now it doesn't.
Could this also be done for team size? Same reasoning.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top