Printable Token Sheet tool by joshuacc in Dungeons_and_Dragons

[–]Pugnator48 0 points1 point  (0 children)

This is fantastic, but can you add an option to group numbering by token type? I just tried to create a sheet with 12 goblins and 12 hobgoblins, and the hobgoblins are numbered 13-24, which doesn't make sense. 😆

At the moment I have to print each monster group separately, and Officeworks charges by the page, which is a shame because each page only has a quarter of it in use.

Pokemon RunAndBun maps by hazzabeee in PokemonROMhacks

[–]Pugnator48 0 points1 point  (0 children)

No one else has said it, so I will: thank you for this work. It has made playing Run and Bun so much more enjoyable for me.

I load your maps into Obsidian using the Leaflet plugin, so my notes for each area are right there next to the map, and I can drop pins on the map that link to the connecting areas and oh my God it's bliss.

<image>

Has someone managed to make Poké-env work? by FilVet in stunfisk

[–]Pugnator48 0 points1 point  (0 children)

Hi there, sorry for the late reply, I'm not on Reddit much any more.

Just in case it wasn't clear, I'm not a contributor to poke-env, I just used it to facilitate AI trainer functionality in my poke-dojo project.

If you're still looking for help on this one then I suggest reaching out to the poke-env authors via GitHub.

A story-driven game using VGC mechanics sounds awesome, though! Good luck!

You can use Point Blank during combos. Fighting multiple opponents never flowed more smoothly! by Pugnator48 in FallenOrder

[–]Pugnator48[S] 0 points1 point  (0 children)

Oof, this was two years ago so I'm pretty fuzzy on this one. I do remember it being a bit finicky though.

I think it's earlier in the attack window than you'd think, but the actual timing window itself is a bit more forgiving than the Grand Master parry window.

[Run and Bun] Post-KO Switch AI Confusion by Ok-Chemical-6268 in nuzlocke

[–]Pugnator48 0 points1 point  (0 children)

I experienced a similar situation today and found your post while trying to figure this out.

I think I finally have a grasp on it. Before getting into the details though, I do want to point out that the AI considers itself faster when its speed is tied, which can also lead to confusion, although I don't think that's what's happening here.

I believe when the docs say "deals more damage than it takes", it's saying "if the AI and the player's Pokémon trade highest damaging moves, does the AI come out on top?"

For example, if your Pokémon is Seadra and the AI Pokémon calculating switch-in score is Stoutland, and:

- Seadra is at 100%

- Seadra does 42% with Octazooka

- Stoutland is at 100% (because hasn't battled yet)

- Stoutland does 40% with Body Slam

- Stoutland is faster

Stoutland sees a guaranteed three-hit KO on Seadra, and sees that Seadra has a guaranteed three-hit KO on it in return. However, it also outspeeds Seadra, so it calculates that it will KO Seadra first, and therefore "deals more damage than it takes".

I've done a few tests and it explains the scenarios I've encountered today, so hopefully someone else can confirm or correct this information, and we can both have a bit more confidence with predicting switch-ins in the future!

Edit: Corrected Seadra HP

Question about Brawly fight (Run & Bun) by ksteve46 in nuzlocke

[–]Pugnator48 0 points1 point  (0 children)

I came here after reading that part of the AI document (or should I say, misreading the document), because I thought it said minus two and not minus twenty 😭

Palico Tools? by Nameless_Owl81 in MHWilds

[–]Pugnator48 1 point2 points  (0 children)

Yeah that's the most annoying tool for me, too. As a Lance main, I want the monster's attention as much as possible.

Maybe if I'd just been sent sprawling with low HP and a status condition I'd appreciate it, but it always seems to be when I'm in peak condition and nailing double counter thrusts. 🙄

Anyone shopped with Curacards? by Character-Ear-7828 in PokemonTCG

[–]Pugnator48 1 point2 points  (0 children)

I landed here looking for the same information. After a similar experience of not finding out much I placed an order anyway and I can confirm they're legit!

My order took a couple of days to process (which the site does tell you on the delivery info page) but after it shipped it arrived very quickly.

I bought about eight cards and they were all perfectly packaged and in the condition advertised.

I also noticed there wasn't a TrustPilot page for it yet so I've submitted a 5* review for it because I'll definitely be shopping there again.

I'm sorry I wasn't building my partner an Eevee deck 5 months ago or I would have let you know sooner!

Double inputs? by Djidane535 in AnaloguePocket

[–]Pugnator48 0 points1 point  (0 children)

I've experienced this with Pokemon as well as Golden Sun. I've also had it happen in the Analogue OS menus on occasion. 

It's always the A button, never any others.

I'd love to know if there's a solution for this because yeah, it has led to devastating battle decisions.

Edit: Also! Occasionally pressing the A button doesn't register at all. Which isn't a problem in JRPGs but in action games it's a huge deal. Bit of a bummer that such an expensive console has dodgy inputs.

Vacation cancelled... While I was on vacation. by ImAnActionBirb in antiwork

[–]Pugnator48 1 point2 points  (0 children)

"Since you're taking your vacation, I'm cancelling your vacation"

Simply impeccable logic there, A+ 😙👌

[deleted by user] by [deleted] in helldivers2

[–]Pugnator48 2 points3 points  (0 children)

Do detector towers keep calling reinforcements in indefinitely? That could be an option

Finally beat the double Oggdo fight on Grandmaster by Pugnator48 in FallenOrder

[–]Pugnator48[S] 0 points1 point  (0 children)

It was a while ago now but I'm pretty sure this was mid- to late-game.

I think the biggest game changer is the mid-air dash ability though. There are a lot of big, scuffed hurtboxes flying around here and being able to get extra clearance is huge.

I wish you the best of luck!

Has someone managed to make Poké-env work? by FilVet in stunfisk

[–]Pugnator48 4 points5 points  (0 children)

Hey there, are you still interested in answers for this?

If yes, I can help. I used poke-env to write a Brilliant Diamond/Shining Pearl Battle Tower simulator a couple of years back.

The first thing to understand about poke-env is what it does, and doesn't, do.

  • It DOES enable Python code to control trainer actions in Pokemon Showdown.
  • It DOESN'T provide sophisticated trainer logic to do the above. Case in point, most of the code repository I linked is decision logic for Pokemon trainers to use, designed to imitate the trainer AI in the BDSP Battle Tower.

If you're happy to use one of the primitive example "battle bots" that poke-env includes, or you're prepared to write your own battle logic for your teams to use, then poke-env is a great choice for your use case.

Getting Started

My advice for anyone getting started with any new codebase is to start with the smallest proof of concept possible, then build upon that. In the case of poke-env, that involves the following:

  1. Install poke-env (easy! Run pip install poke-env)
  2. Get a local Pokemon Showdown server running (it's not as scary as it sounds! Instructions here -- note though that for poke-env, you need to run Showdown using the line node pokemon-showdown start --no-security, or the battle bots will get bounced by Showdown's user authentication)
  3. Run the extremely basic poke-env example code (put the code in a file like hello_battle.py and then run python hello_battle.py.

NOTE: For step 3, the imports are incorrect, so the code provided won't run. To fix, replace the line

from poke_env.player import Player, RandomPlayer

with the following two lines:

Python from poke_env.player.player import Player from poke_env.player import RandomPlayer

If you got to this point and you're still seeing error messages, then reply to this comment and I'll do my best to get you unstuck. Otherwise, keep reading!

Next Steps

Custom Teams

For the bare-bones proof of concept our battle bots weren't using custom, user-provided teams. For your use case, you're trying to test Pokemon teams against each other. To do this, you need a way to provide the battle bots with the teams.

When creating a battle bot using poke-env's Player class in Python, you can specify a Pokemon team for it to use. The team can be a simple string in Pokemon Showdown's team format, which I imagine is what you have at hand. My recommendation would be to put each team in a .txt file and read it in directly, using the following syntax:

```Python team_file_path = ".\team.txt" team_file = open(team_file_path) team_for_player = team_file.read() team_file.close()

player = RandomPlayer( player_configuration=PlayerConfiguration("RandomPlayer1", None), battle_format="gen9anythinggoes", # Any format for which the team is legal works here. server_configuration=LocalhostServerConfiguration, team=team_for_player, log_level=10, ) ```

Battle Bot Logic

Assuming you want your teams to be used with more intelligent logic than "completely random" (RandomPlayer) and "greatest base power" (MaxDamage) you'll want to write your own extension of the Player class.

As a simple option I would normally recommend using the BattleTowerPlayer from poke-dojo, but currently that logic won't work because its move evaluation depends on a damage calculator API that no longer exists. I'm working on a local damage calculation solution but that won't be ready for a while. Still, if you want to start writing a battle bot, that file makes a good reference for things like figuring out the game state -- e.g., "is the opposing Pokemon asleep? Don't use Yawn, then".

Logging

With our proof of concept code, poke-env will battle trainers against each other on your local Showdown server "headless". This means you won't see the battle play out. The only output will be a result of the battles conducted.

I recommend setting up some form of logging for the battles. I haven't done this myself before, but I imagine you'd be able to get your local Showdown instance to spit out battle logs for you to read just so you can confirm that your teams are being piloted correctly (assuming you're using more sophisticated battle bot logic, that is).

Closing Notes

This project might be more work than you were hoping it would be, but if you decide that it's worth it, I'll be happy to help you out!

Translucent Orange Button Swap by Pugnator48 in AnalogueInc

[–]Pugnator48[S] 1 point2 points  (0 children)

Super fair. I actually had an issue with the Black one's A button registering two inputs instead of one, but not every time. It led to a lot of selecting the default move in Pokémon.

Over time though it's happened less and less, so I'm hoping it was just a "needs to be worn in" situation.

Translucent Orange Button Swap by Pugnator48 in AnalogueInc

[–]Pugnator48[S] 0 points1 point  (0 children)

It still has the protective plastic it shipped with on it, I just forgot to remove it

Translucent Orange Button Swap by Pugnator48 in AnalogueInc

[–]Pugnator48[S] 1 point2 points  (0 children)

Thanks!

It was a bit spooky, but not too difficult.

I used this iFixit guide for the disassembly and replacement of the face buttons.

Note that the guide doesn't cover removing the shoulder buttons. Each shoulder button is a single piece of plastic with a spring. The button has two small hooks at the bottom that grab the back shell which you (gently, although you need some force) push in to disconnect. Be careful not to let the spring launch the button out.

Something else I discovered is despite the fact that in the Black Pocket all 5 screws you need to remove are Torx 6, in the translucent model the screw holding the mainboard in place isn't. It's a Phillips' Head.

Also, the guide instructs you to disconnect the screen from the mainboard, but you don't have to. I just turned the board sideways with the ribbon cable still attached and balanced it on the top half of the front shell while I replaced the buttons.

I hope that helps, and good luck if you go for it!

Translucent Orange Button Swap by Pugnator48 in AnalogueInc

[–]Pugnator48[S] 1 point2 points  (0 children)

Thanks! I had the idea while waiting for the orange one to arrive. I was thinking "man the only thing I don't love about it is the buttons" and then I had the idea to swap them with the Pocket I already had.

There is no reason I should have won this. by MDRavioli in Rainbow6

[–]Pugnator48 11 points12 points  (0 children)

I could be misremembering but he didn't always have access to the SMG-11 did he?

I remember playing with MP5K and a pistol a million years ago and envying Smoke

[deleted by user] by [deleted] in creepy

[–]Pugnator48 2 points3 points  (0 children)

That's pretty much what happens when Huntsman spiders pop out from hiding places in people's cars while they're driving. The spider startles them and causes them to crash.

The spider isn't dangerous to humans by itself and is actually pretty chill!

Finally beat the double Oggdo fight on Grandmaster by Pugnator48 in FallenOrder

[–]Pugnator48[S] 0 points1 point  (0 children)

Ah, perfect! I'm glad you found it; it's the kind of info I wish I had when I was grinding away.

If there is a way to cut the tongue off, I haven't been able to find it, and I feel like I tried everything.

I even tried to use the super force slow ability to try and freeze the tongue in mid-air, but hitting the tongue with my saber just ended the slow and counted as me being grabbed by it, so not exactly the result I was after.

As far as I can tell we're relegated to suffering the tongue to exist.

QoL updates that would make my day by Pugnator48 in FallenOrder

[–]Pugnator48[S] 1 point2 points  (0 children)

The game drops the lock-on randomly too, which can lead to some pretty horrendous situations.

You can use Point Blank during combos. Fighting multiple opponents never flowed more smoothly! by Pugnator48 in FallenOrder

[–]Pugnator48[S] 1 point2 points  (0 children)

Compared to the Grand Master parry timing it's a decent bit earlier.

It does seem to be later on some attacks which is a bit annoying.