Programming Luckless: A custom mode and client that redesigns the battle mechanics to eliminate as much chance as possible

This is an interesting concept and neat that you can actually play it. I fought myself for a bit but I think the mechanics would be easier to understand in practice against an actual opponent. I can't speak much about a competitive meta, but it seems like raw power is still pretty successful among all the new small modifiers, though I don't know how strong evasion's damage reduction will be.
I noticed a bug that Protect always succeeds (seems good with Moody), and also random battles don't work in general, though you've probably seen those 'crash' messages by now.
 
Whoops, looks like I missed a couple things with Random Battles. Does Protect always succeed with 100 severity though? Its severity should divide by 3 with each consecutive use.
 
  • Like
Reactions: eu
Whoops, looks like I missed a couple things with Random Battles. Does Protect always succeed with 100 severity though? Its severity should divide by 3 with each consecutive use.
When I tried it seemed to nullify all damage on every use rather than reduce, even though the severity was shown dropping and was eventually 0.
 
Random battles work now. You're right about Protect. It says it's decreasing severity but doesn't change anything. Frustrating, because that was tested and working forever ago.
 
Last edited:
Thanks for responding quickly, just reporting some more small bugs here. I assume Whirlwind/Roar works by switching mons out in team order, and in this case it dragged out a fainted Pokemon consistently and gave me a free switch. A minor nitpick is that Fire Blast's description says flinch instead of burn. A last thing I'm not sure if is a bug or not is that Scald burned for 30 on a Stunfisk earlier in the match but later it only burned for 28, after paralysis if it matters. Sorry there's no full replay context.
1633366575937.png
1633366600602.png
1633366681408.png
1633366839165.png
 
I was able to see the replays before they expired. The 28-severity burn happened because the paralysis lowers both the power and severity of moves used. The other two are fairly simple fixes that'll be up in the next update.

Edit: I really appreciate the feedback, by the way. It would be impossible to find these things without it.
 
That's what I've been waiting for the last 5 years, great job !

There are a few things I'd love to hear explanations about.

Does the severity stack when moves with secondary effects are used consecutively like stats drops or raises ?
If not how does the 100 freeze severity ever gets reached ?
If it increases after each hit, by how much ? For example does scald burn severity go 0-30-60-90-100 (+30 each) or 0-30-51-65.7... (+30 * (100-previous severity))

How is the main status determined if the target is currently at 40 poison severity and gets hit by a 45 burn severity move ?
Or is it both like with effect spore ?
If it's both how much burn severity really is applied (45 or a fraction of 45 since there already is another non-volatile status) ?

How is flinch handled ?
If it only reduces the effect of the flinched pokemon move, how does it work with binary moves ? (I assume it fails however the doc only mentions an accuacy check)

Is there a severity threshold for status healing berries to get eaten ?
Do guts, quick feet and marvel scale scale with severity ?
Do crits bypass screens the same way they do with stats changes ?

I may ask more later :blobwizard:
 
Does the severity stack when moves with secondary effects are used consecutively like stats drops or raises ?
If not how does the 100 freeze severity ever gets reached ?
If it increases after each hit, by how much ? For example does scald burn severity go 0-30-60-90-100 (+30 each) or 0-30-51-65.7... (+30 * (100-previous severity))
It doesn't stack, with the exception of multi-hit moves that cause secondary effects, in which case it works like the second example you gave. It's a possibility for the future, but it would be quite complicated to figure out how it should work, given the different status conditions and probabilities involved. So at this point, 100-severity freeze is just a theoretical situation. The goal with the project is to approximate the average effect of chance mechanics, and since nobody takes freeze into account in their strategy (except maybe Gen 1 lol), it's mostly a nuisance in Luckless.
How is the main status determined if the target is currently at 40 poison severity and gets hit by a 45 burn severity move ?
Or is it both like with effect spore ?
If it's both how much burn severity really is applied (45 or a fraction of 45 since there already is another non-volatile status) ?
Non-volatile statuses get overridden by ones of higher severity. So in your example there would only be a 45-severity burn.
How is flinch handled ?
If it only reduces the effect of the flinched pokemon move, how does it work with binary moves ? (I assume it fails however the doc only mentions an accuacy check)
Flinch causes a missed turn at 100 severity and reduced power/severity below that. Currently, any move that doesn't check accuracy (binary or otherwise) always has maximum power and severity, regardless of stat changes and the user's status conditions. This was a necessary decision to keep the scope manageable while this was still a student project. I recently drew up a list of all the moves that need severity mechanics implemented for this to change, and it's gigantic. Binary moves that check accuracy are also affected by status conditions, including flinch.
Is there a severity threshold for status healing berries to get eaten ?
Do guts, quick feet and marvel scale scale with severity ?
Do crits bypass screens the same way they do with stats changes ?
No, yes, and yes. But the berry threshold is an excellent idea that I will definitely be implementing.
 
Just uploaded a major update: most moves that bypass accuracy checks have been given severity mechanics (including self-targeting moves), and many moves and secondary effects have been made binary. The 50% severity threshold for eating berries has also finally been implemented, three months later!
 

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

Top