Approved Allow Pokémon enter the battle pre-statused, not at max HP/PP, etc. in Custom Battles

This mainly applies to Generations 1 & 2. In RBY & GSC, the game doesn't actually heal up your Pokémon before entering a Link Battle. Meaning that (again, in vanilla) you could theoretically enter the battle with, say, a pre-poisoned Starmie, which can be hugely advantageous by preventing paralysis & sleep. That being said, in almost all RBY/GSC formats - Ubers, OU, UU, etc. - there exists a Cleric Clause which mandates that all Pokémon start out with full HP/PP/no status.

However, if PS! would implement a feature that allowed you to set starting HP/PP/status conditions for all Pokémon, that would a) allow the Gens 1 & 2 Anything Goes format to be played on PS!, even if it's just in a Custom Battle, and b) allow people to mess around with new potential OMs in any generation. Though Cleric Clause would still be enforced in literally every single ladder format...so not a hugely important thing, but it would be kinda cool I guess.
 

Asheviere

Banned deucer.
Seems quite niche and mostly hard to implement logistically. How would you see players entering all of this information? This seems hard to add to teambuilder without being disruptive in other ways.
 
Seems quite niche and mostly hard to implement logistically. How would you see players entering all of this information? This seems hard to add to teambuilder without being disruptive in other ways.
It could go under the "Details" tab - there seems to be more than enough room there. Obviously, the default for every Pokémon would be "fully healed" - it's sorta just tucked away for people who wanna use it.

Anyway, here's possible use - say it's a Saturday night and you're alone or drunk or something, and you wanna play a custom game with your mate in which every Pokémon starts off badly poisoned (with heal bell/aromatherapy banned). Maybe you peaked in 2002 and want to relive the glory days of RestTalk sets, or maybe you just want to try something new...idk, doesn't matter anyway since bam you can now do just that.
 

pre

pkmn.cc
Yes, this requires changing the import/export format (or at least the packed team format) so that the status of each team member could be sent along with /utm. That's a lot of work for such a niche use case, to the point that while I've marked this as "Approved" because it technically aligns with recreating what is possible on the cartridge, it is such a niche use case with such wide ranging implications that its going to be hard to find someone interested in taking this on.
 
If this is implemented, can we also get this feature for all generations?
You could replicate a battle to the exact PP in case you wanted a rematch (due to bad luck, manual sleep/freeze clause, etc.)
 

pre

pkmn.cc
You could replicate a battle to the exact PP in case you wanted a rematch (due to bad luck, manual sleep/freeze clause, etc.)
We already support this - you can /exportinputlog to get a log which will let you recreate the current battle state (including the PRNG seed and the exact sequence moves were used). This is what TDs use to recreate battles in extraordinary circumstances.
 

Plague von Karma

Banned deucer.
So I've been working with some friends on making the status thing possible, and we have a semi-finished way to do this. It's far from ideal, but I decided to make items as a makeshift way to make it work. It kinda makes sense since you can go "Tauros @ PSN" as notation in the import/export sets thing? Idk man, but it works. Since the Sleep is self-inflicted, in a format like Balanced Hackmons, it shouldn't count under Sleep Clause. PS also doesn't count this under Sleep Clause innately, which is neat. Took like an hour btw.

I looked at the Berserk Gene and Flame Orb code, and used it to make items like this:
JavaScript:
"frz": {
        id: "frz",
        name: "FRZ",
        spritenum: 305,
        onUpdate(pokemon) {
            pokemon.trySetStatus('frz', pokemon);
            pokemon.setItem('');
        },
        num: 999,
        gen: 1,
        desc: "(Gen 1) On switch-in, set FRZ. For use in Non-Cleric Clause.",
    },
With this, you can make a Pokemon enter the battle frozen. Changing the status to SLP, PRZ, etc does the same. The only issue with my code at the moment is that leading a Poisoned or Burned Pokemon has them take damage immediately when they shouldn't. Well, other than the fact you need to import/export the items too. Thanks to zalarye for giving me the idea to use items, and Sevi 7 for bringing up the idea of doing this in the first place. I think a few modifications to the burn and poison ones could make them restore HP back to full if it's Turn 1...but idk?

Here's a replay showing the items working on the RBY 2k20 PS Server!

Here's the .js file in a zip. You'll need to convert it to TypeScript for it to work on PS Main iirc, but iirc that's just a change to the top bit.
 

Attachments

Last edited:

HoeenHero

The Misspelled Hero!
is a Battle Simulator Administratoris a Programmeris a Member of Senior Staffis a Community Contributoris a Smogon Discord Contributor Alumnus
PS Admin
So I've been working with some friends on making the status thing possible, and we have a semi-finished way to do this. It's far from ideal, but I decided to make items as a makeshift way to make it work. It kinda makes sense since you can go "Tauros @ PSN" as notation in the import/export sets thing? Idk man, but it works. Since the Sleep is self-inflicted, in a format like Balanced Hackmons, it shouldn't count under Sleep Clause. PS also doesn't count this under Sleep Clause innately, which is neat. Took like an hour btw.

I looked at the Berserk Gene and Flame Orb code, and used it to make items like this:
JavaScript:
"frz": {
        id: "frz",
        name: "FRZ",
        spritenum: 305,
        onUpdate(pokemon) {
            pokemon.trySetStatus('frz', pokemon);
            pokemon.setItem('');
        },
        num: 999,
        gen: 1,
        desc: "(Gen 1) On switch-in, set FRZ. For use in Non-Cleric Clause.",
    },
With this, you can make a Pokemon enter the battle frozen. Changing the status to SLP, PRZ, etc does the same. The only issue with my code at the moment is that leading a Poisoned or Burned Pokemon has them take damage immediately when they shouldn't. Well, other than the fact you need to import/export the items too. Thanks to zalarye for giving me the idea to use items, and Sevi 7 for bringing up the idea of doing this in the first place. I think a few modifications to the burn and poison ones could make them restore HP back to full if it's Turn 1...but idk?

Here's a replay showing the items working on the RBY 2k20 PS Server!

Here's the .js file in a zip. You'll need to convert it to TypeScript for it to work on PS Main iirc, but iirc that's just a change to the top bit.
While this is an interesting concept it takes up the item slot, which is annoying. A better solution would probably be some sort of option in client and modifying the packed team format to support these custom options. Maybe theres a better way than this though.
 
Can’t this option be freed to gen8 custom battles? I see no reason why it should be restricted to gen 1.
 

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

Top