Pokemon Moves

● ARCHIVED · READ-ONLY
Started by Jogurt831 3 posts View original ↗
  1. Hi guys! I been wanted to know how to make pokemon moves. Like Leech Seed, Future Sight, Fly, Aqua Ring, Weather Effects, Toxic and so on. Do I need certain scripts? Are there like a site that tells you how to make the move? Thanks for your time! c:
  2. I don't have the link at hand, but tsukimhime's skill charge script works great for moves like fly, dig and dive, though I haven't tried it with a future sight type skill.

    Aqua ring is easy, and doesn't require a script. Just have a skill add a HP Regen state that lasts until.the end of the battle. It's all right there in the state features box in the database.

    Toxic is trickier, as it does accumulative damage each turn.

    Leech seed would probably require a script if not complex eventing.
  3. Galv's "How to make the most of custom formulae" guide will be helpful in general when you want to create fancy skills.

    I'll answer how to make a few of these skills specifically, but I haven't heard of some of them since I've only played Gen 1 and 2.

    Weather Effects: I assume these skills do more damage, etc., if a certain weather pattern (like Rainy) is currently in effect?  All you need to do is track your weather changes with variables, then check the value of that variable in a formula.  For example, if $game_variables[12] == 4; a.mat * 5; else; a.mat * 2; end

    Fly: See if the recommended Tsukihime script works.  If not, here's the closest you can get without breaking much of a sweat: create a State "Flying" that lasts two turns, grants 100% Magic Evasion and Physical Evasion, and adds a new Skill Type "Special" and a new Skill "Descend" (or whatever you want to call the second half of Fly).  For the Fly skill, have it self-target, do no damage, and simply add the "Flying" state.  For the Descend Skill, have it do damage with the following formula: a.remove_state(27); a.mat * 3 - b.mdf * 2  Feel free to change the part in orange to whatever damage formula you want.  Make sure to replace the 27 with the State ID of the "Flying" state.

    Toxic: I assume you're not comfortable with Ruby code, but if you are, let me know and I'll show you a more elegant way to do this.  The non-coding way to do it though, would be to have the state apply 5 states to the enemy:

    • "Toxic": Deals 16% HP per turn in slip damage, lasts 6 (or more if desired) turns
    • "Dummy State 1": HEALS 8% HP per turn in slip damage; lasts 5 turns
    • "Dummy State 2": Heals 4% HP per turn in slip damage; lasts 4 turns
    • "Dummy State 3": Heals 2% HP per turn in slip damage; lasts 3 turns
    • "Dummy State 4": Heals 1% HP per turn in slip damage; lasts 2 turns
    Essentially, we are creatively using states to simulate the damage doubling each turn.  Next turn, the enemy will take (16 - 8 - 4 - 2 - 1 = 1) percent of their HP in slip damage, and Dummy State 4 will be removed.  The turn after, the enemy takes (16 - 8 - 4 - 2 = 2) % HP in slip damage and Dummy State 3 is removed.  It keeps doubling until only the real "Toxic" state is left and the enemy takes 16%.  Be sure that all these states EXCEPT toxic have a priority of 0, and be sure that if any "antidote" type skill removes Toxic that it also removes the dummy states.

    Leech Seed (the easy way): The easy way to do this is to simply apply a state to the enemy that causes slip damage each turn, and apply a state to the user that heals the same percent for the same number of turns.  There are a few incongruities with the actual leech seed behavior when you use the easy way, so if you're willing to take the time...

    Leech Seed (the hard way): Create a "Leech Seed" state that the skill applies to the target and a "Using Leech Seed" state that applies to the user, but don't actually have the states do anything.  Create a common event that can be called from EVERY troop (on a troop page condition of Turn Number 0 + 1X) called "Battle Turn Processing".  In the Battle Turn Processing event, check (using a Conditional Branch) whether each enemy has the "Leech Seed" state applied.  If it's applied, use whatever formula you want (you'll be using variables) to decide how much HP that battler should lose.  Store that in a "total life leeched" variable.  Do that for every enemy.  Then, check whether each actor has the Using Leech Seed state, and if so, restore HP to them equal to that variable.  Set the Total Life Leeched variable back to zero.  Finally, do the same processing (still in the Battle Turn Processing) event in vice-versa, checking each Actor to see if they're afflicted with Leech Seed and restoring health to any enemies that are Using Leech Seed.  What this event will do, if set up properly, is trigger every turn during a battle and sap HP from any Leech Seed victims, restoring it to the users.