Welcome to the Cave of Dragonflies guestbook.
it does now xD
staryu for spammifier
Yoooooo sick I got the ultra beasts, my favorite Pokemon group!
Correct.
It sounds like you've got an idea of the kinds of results you want, for the capture formula, but I think the first thing you need to do is work out exactly what the algorithm you want to implement is. If you want it to work similarly to the later games, then you can check my capture mechanics pages for the later games and adjust that formula to your liking until you have something you feel happy with.
Either way, though, if you want to completely rewrite the capture logic (which it sounds like you do), or write your own event scripts, you're going to have to learn to write code. I know this site has a tutorial on Game Boy assembly; you could maybe check that out? Since you're not developing a game from scratch you could skip or skim some sections, but you'll at least want to get acquainted with what the assembly instructions do, how to understand what the code is doing, and how to write instructions that will accomplish what you want.
Thank you very much for your answer. I've actually made quite a few changes in `engine.asm`. I'll even write down some of the changes.
For example, for **sleep**, I enabled the ability to attack on the turn the Pokémon "woke up."
* Sleep-inducing attacks will no longer hit a Pokémon that is behind a Substitute.
* The duration of sleep was 0-6 turns (1-7 with the "woke up" turn); I reduced it to 2-4 turns.
* We couldn't open the attack sub-menu while asleep or frozen. This even caused a glitch for defrosting. I've enabled the ability to select an attack while asleep or frozen.
* Fire-type Pokémon can no longer be frozen.
* Ground and Electric-type Pokémon can no longer be paralyzed.
* I increased the duration of confusion from 2-4 turns to 2-5 turns.
I tried to make many attacks more reasonable and logical. For example:
* **Glare:** 75% —> 100% accuracy
* **Hydro Pump:** 80% —> 85% accuracy
* **Thunder:** Paralysis side-effect chance 10% —> 30%
* **Thunder:** 70% —> 85% accuracy
* **Dragon Rage:** Now functions like Outrage. 120 power, 2-3 turn rampage, causes confusion afterward.
For Pokémon with a low Special stat, I set their Special stat to be their Special Defense from later generations (this is why Hitmonchan, for example, became much stronger).
* I completely changed the stats of some Pokémon. For example, **Ditto's** base stats are all 100. This way, it became a Pokémon with good enough stats to gain an advantage on the turn it uses Transform.
* I made changes to the type chart. For example, I made **Poison —> super-effective against Dragon**. I added thematic and balancing elements.
* The **Ghost** type is now a Special type, and **Dragon** is a Physical type.
* I added the **Eeveelutions** and **Tyrogue** into some of the MissingNo. slots.
* I changed the sprites of many poorly drawn Pokémon. I took some sprites from Yellow, some from GSC. I pixel-by-pixel ported **Glaceon** and **Leafeon** from DPP.
* I changed some of the in-game text to be more thematic and interesting.
* I expanded some maps. For example, I extended **Vermilion City** to the west, opening it up to the Cycling Road. I extended **Viridian City** to the east, also connecting it to the Cycling Road. I extended the southern routes and **Cinnabar Island**'s map to the south, making the southern sea larger. I'm planning to add small islets there (for example, an island where Mew appears as a stationary encounter or an Eeveelution island).
* I changed the evolution method for clustered Pokémon like **Dugtrio** and **Magneton** to use an item I placed in an empty item slot, called the "Stellarstone." The Stellarstone will be an item that has the power to summon the siblings or symbiotes of the Pokémon it's used on.
* I changed the animations for some attacks (for example, I added a "beam" effect to Hydro Pump).
I've made many other similar changes.
* I made **Umbreon** a Ghost-type and made it evolve with a Moon Stone.
* For **Glaceon**, I added an **Ice Stone** into a glitch item slot.
* I changed some of the TMs.
* I changed the Pokémon rosters and levels of some opponents.
* **Mt. Moon** now truly looks like a mountain with a tunnel entrance leading into it.
Although I've been able to make all these changes, there are some I'm struggling with.
* For example, I want the Pokémon **menu icons** to be exactly like in Generation 2, but I don't know how to do it.
* Or I want to add **stationary Pokémon** (like a stationary Gengar on the top floor of the Pokémon Tower, a stationary Raticate in the Underground Path, or a stationary Weezing or Muk in the Power Plant/Celadon), but I'm not exactly sure how to add them.
* I want to add **new event scripts** to the game, but I looked and saw that even for Gary to come and battle us and then leave, there are quite a lot of lines written. The only event I was able to add myself was an Omastar fossil picture in the Pewter Museum.
* I'd like to add a stationary **Chansey** or **Tauros** in the Safari Zone.
I changed the types of some Pokémon:
* **Lapras:** Ice/Dragon
* **Gyarados:** Water/Dragon
* **Charizard:** Fire/Dragon
* **Seadra:** Poison/Dragon (with Kingdra's stats)
* **Aerodactyl:** Rock/Dragon
* **Kabutops:** Bug/Rock
* **Ninetales:** Fire/Ghost
* **Venomoth:** Bug/Ghost
* **Umbreon:** Ghost (with Vaporeon's stats)
* **Golduck:** Water/Ghost
I know I've written very generally, please forgive me. I can't seem to change the **catch mechanic**; it feels too difficult to understand.
For instance, I think the catch mechanic should be like this:
* It should be a bit more like in the later generations.
* Bringing a Pokémon from max HP down to 1 HP should **triple** the catch chance (the current system is somewhat close but not exactly the same).
* Status conditions should have a **multiplying** effect instead of an **adding** one. For example, Poison, Burn, Paralyze x1.5; Sleep, Freeze x2.0. You mentioned this in another thread. Because it's additive, it becomes incredibly easy to catch even Mewtwo. All you have to do is use a Chansey or Articuno to repeatedly use Ice Beam and wait for it to freeze.
* Thematically, even though it's not in the Pokémon games, catching a Pokémon should become harder as its level increases. But it's also harder to get a high-level Pokémon down to low HP. Plus, it deals more damage to your own Pokémon. So, to not "double-penalty" the act of catching a high-level Pokémon but still make it a bit harder, a formula like this could work: `Level modifier = 1 - (level / 150)`.
* For example, a level 70 Mewtwo at 1 HP and asleep should have a 5-10% chance of being caught with an Ultra Ball.
* **Magikarp** should be catchable at full health with a Poké Ball, regardless of its level.
* Basic Pokémon like **Rattata** or **Pidgey** at levels 5-10 should have a 50% chance of being caught in a Poké Ball at full HP with no status, and a 100% chance once at 50% HP.
* The formula from later generations is actually quite fair. It's just that the catch rates themselves are much higher than they should be. For example, it's absurd for a Pokémon with high potential like **Staryu** to have a catch rate of 225. If the calculation formula from later generations is to be used, the catch rates of many average Pokémon should be compressed into the 10 to 130 range.
I've talked about a lot, but even these things would make the first-generation games extremely thematic.
* I made **in-battle evolving** possible, just like in the anime. It works without major issues, despite some minor glitches.
* The in-game story could be expanded. Since I'm having trouble adding event scripts, I'm trying to expand the story through text and map edits.
And one of the things I want the most but is the hardest to add: a **Battle Tower**, even a primitive one, for Generation 1.
* Memory problems could arise, scripting its event could be difficult, and also, we can set exact DVs for opponents, but there's no formula for their Stat Experience. I couldn't add that either; I struggled with it.
* The idea is to have it generate 7 consecutive trainers with pre-set, randomized Pokémon rosters each time you enter, just like in Generation 2 or, if possible, Generation 3.
I considered implementing the **physical-special split**, but it doesn't seem very necessary right now. I currently only see it as a bit of a problem for Kingler and no other Pokémon.
I've explained the things I've done, the things I want to do, and the things I haven't been able to do. I hope my ideas excite you and that you can offer some advice. Thank you very much.
to explain better, i meant legendary, mythical and paradox pokemon.
the reason i'm asking for this button to take out those pokemon, is to make easier for when someone is trying to make something like "oh, what would be my pokemon team if i was a gym leader" and stuff like that.
hey, i would like you if you could put an option on the pokemon picker of "take out legendaries" could you pretty please do that? thank you in advance.
Bastiodon is cool
Assembly (the language these games are written in) is quite challenging to program in and likely not what you want to go for as your first foray into programming; if I were you, I would leave significant changes to program logic alone when making your ROM hack until you have more experience. If there's something in particular that you want to do with the logic that's relatively simple, though (as in, something like adjusting certain values or such, rather than making fundamental changes to the mechanics of how it works), I could help you with what you'd need to modify.
So, with the sex ratios, I think it's possible that every Pokémon has three aux. strands, the alpha, beta and gamma strands, but Pokémon with a 50/50 ratio have their gender defined by just the alpha and Pokémon with a 75/25 ratio have it defined by just the alpha and the beta. And then there's the Marill line, which I think originally was like you explained, but has since changed (not evolved, that's different in this universe) to have its gender defined by whatever gender it was when it was born.
"Poison/Dark (weak to Ground)" That's why in your Pokémon Infinite Fusion-esque fangame, you don't give Brock a Weezing-Tyranitar fusion that has Levitate.
Although part of the reason I used that Gyarados is that I really, really like dragons.
"In Red, Blue and Yellow, there was only one Dragon move, Dragon Rage, which deals set damage (40 HP), so Dragon's weakness to Dragon never actually came into account despite being written into the type chart in the instruction booklet. Raise your hand if you painstakingly raised a Gyarados to use against Lance's dragons." Raises her hand
Just realized that their Pokédex entries might be talking about the children they had as Nidoran♀.
I'm working on a Pokered ROM hack. I'm trying to make the game more themed in the ROM hack I'm making (making the type chart more fair, adding more Ghostbug Dragon types, changing or increasing the base stats of weaker Pokemon thematically, more themed situations, etc.). I also want the capture mechanics to be smoother, but I have no idea how to write code. I have no coding knowledge either. I can only understand 20-30% of the lines in the .asm files in the disassembly folder. I can't understand the commands, etc. there. When I try to explain the situation to ChatGPT, Gemini, or DeepSeek and have them write code, they can't write proper code. Can you give me any advice?
Noice ty :3c
The Fast Ball modifier is indeed either 1x or 4x. Where are you getting these numbers from? The capture mechanics page explains the details of the formula, which has a lot of complications to it; in particular, Apricorn balls, including Fast Balls, are capped in how much they can bump up the catch rate at all because they modify the Pokémon's capture rate value directly (rather than applying a ball bonus), and that's capped at 255, so any Pokémon whose inherent species capture rate is already 64 or more will not in practice have the capture rate boosted by 4x with a Fast Ball.
Apologies for the late response! As detailed further on the Gen II Capture Mechanics page, the Level Ball works differently from every other ball in G/S/C; it does not take HP into account at all, and instead it just multiplies the Pokémon's initial catch rate by the level ball multiplier, which is either 1x, 2x, 4x or 8x (nothing in between). Growlithe's base catch rate is 190, so it's already pretty easy to catch with a 1x Level Ball multiplier, and with a 2x multiplier it maxes out at a guaranteed capture. So if your Pokémon is a higher level than the Growlithe, you should indeed always catch it with a Level Ball!
I got natu! cute little thing
ty
I noticed that there is a big inconsistency with the Fast Ball calculation. From every source I could find, The ball modifier should always be either 1x or 4x (if 100 or higher base speed). Many of the 100+ base speed Pokemon are correct. However, I found a bunch of Base 100 speed Pokemon that seem to have some arbitrary ball modifier.
1.5 for Ninjask
1.8-1.9 for Linoone
1.2-1.3 for Voltorb
3.3-3.4 for Ninetales
And possibly more. Is there an undocumented mechanic with Fast Balls? Or are these bugs in the calculator?