Not sure if this is the right place for this or not; if it isn't, go ahead and move it to wherever.

While I love pokemon dearly, one of the things that's always bugged me about it is how illogical it is. I don't mean eggs evolving into a palm tree (though that is pretty illogical); I mean things like:
- Why do Water pokemon need to know a certain move in order to carry you across the water?
- Why don't Weathers and Terrains have bigger impacts (in and out of battle), and why don't they interact with each other?
- Why can't you actually train at Gyms?
- How come the Elite Four just glorified Gym Leaders?
- Where the heck do starter pokemon come from?
Etc.

The little critters themselves are crazy enough; do the games really need to put them in a reality where physics doesn't exist?

With that in mind, I've been coming up with some modifications that might make the games a little more realistic (and maybe more challenging? Not sure). Let me know what you think.

Let's start with the obvious: Overworld moves. Combined with the gym badge system, these moves were clearly designed as a mechanic to ensure that the player progressed through the game in a certain order. Sun & Moon tried an interesting method of moving away from the HM system, but being able to conjure a Lapras that you don't own out of thin air isn't very logical, either. I don't think its unreasonable to expect a Trainer to use their own pokemon that they've trained to get past obstacles; it just seems like you shouldn't always need a certain move in order to do so.

- Cut: Bushes can be cut down by any Level 20+ pokemon that knows any of the following moves: Scratch, Fury Swipes, Slash, Night Slash, Cross Poison, Psycho Cut, Shadow Claw, Leaf Blade, Air Slash, Razor Leaf, Razor Wind, or Fury Cutter.
- Fly: Any Level 40+ pokemon that is eligible for Sky Battles and is at least 1.5m tall can fly to known locations while carrying its Trainer.
- Surf: Any Level 30+ pokemon Water-type pokemon that is at least 1.5m tall can carry its Trainer across bodies of water.
- Strength: Any Level 30+ bi- or quadrupedal pokemon with an Attack of at least 75 can move large boulders.
- Flash: Any pokemon that is Fire-type, Electric-type, or with the Illuminate ability that is the lead in a Trainer's party gives off ambient light, and increases the wild encounter rate.
- Whirlpool: Any swimming Water-type pokemon with an Attack or Speed of at least 75 can traverse whirlpools.
- Waterfall: Any swimming Water-type pokemon with a Speed of at least 100 can climb waterfalls.
- Rock Smash: Any pokemon can use any physical contact move (other than cutting moves) with a Base Power of at least 50 to break small boulders.
- Headbutt: Any pokemon can use any physical contact move (other than cutting moves) with a Base Power between 60 and 80 to shake large trees.
- Dive: Any swimming Water-type pokemon can carry its Trainer underwater.
- Defog: Any Level 30+ Flying-type pokemon with a Sp. Atk of at least 75 can use Gust, Whirlwind, Razor Wind, Twister, or Hurricane to clear foggy areas.
- Rock Climb: Any Level 30+ bi- or quadrupedal pokemon with a Speed of at least 100 can climb cliff faces. Such pokemon can also jump up small ledges.

To be clear: I am definitely posting this so that someone can validate all the effort I put into thinking about something this useless However, I also want to hear what other people think. Would these changes make sense (or, at least, more sense)? What other changes could make pokemon a little more logical?

I'll post some ideas to make the Gyms / Elite Four and weather conditions a little more logical later.