iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

Keep an eye out for the upcoming 3rd Quarter Contest!
2 Pages V   1 2 >  
Reply to this topicStart new topic
> [-Battlesystem-] Pokemon Catch System, Catch enemies like Pokemon!
labox
post Jan 23 2011, 10:16 AM
Post #1



Group Icon


Type: Coder
Alignment: Chaotic Good




Pokemon Catch System by Labox

Release date:January 23, 2011


EDIT: Actually explained the the formulas after the main common event

This event is based off of the Pokemon catching system in popular pokemon games. It requires at least 2 common events, at least 2 switches, and about 14 variables. I probably could have done it in less variables, but that would have added potential errors. In order to catch an enemy, you need an Item to do it, such as this one.

Spoiler:

Make sure that the item has a common event to refer to; we will be making said common event in a minute.


After you create the item and before we start the eventing, we need to define our variables. Mine are not well organized, but they are lined up like this

  1. MaxHP
  2. HP
  3. Ball
  4. Shakes
  5. Status
  6. 3xMaxHP
  7. 2xHP
  8. A
  9. B
  10. Rand.1
  11. Rand.2
  12. Rand.3
  13. Rand4


Ball stands for the type of ball's multiplier, pokeballs being x1, great balls being x2, ultra balls being x3, and master balls being x255.
Shakes stands for the number of shakes the pokeball will shake.
Status is the status multiplier; the more conditions inflicted on the enemy, the easier it is to catch.
A and B are going to be used for a couple of algebra equations that makes what the catch system is. More on that later.
Rand.1 - 4 are random numbers generated every time a ball is thrown.

You also will need one switch for every type of enemy you can catch. I have 4 pokemon in the tutorial so I have 4 switches. You will also need a 'disable catch' switch that makes it impossible to catch the pokemon.



Now that that is out of the way, We need to do a little bit of troop tweaking. Observe the following pictures.

Spoiler:


for every additional pokemon, you need to change the catch rate and the enemy switch on page 2. a list of catch rates can be found on bulbapedia.com



You may be asking what the Enemy switches are for. We will get to that when we are in the main common event. Right now we need to set up a common event that acts like a database for what pokemon you will be adding.

Spoiler:

As the comment in the last screen said, you must have actors customized to look like the enemy you are to catch.


And now for the main attraction, the actual catching common event. There are 2 formulas that I will explain after the screenshot. I made it so that no text repeats from shot to shot to reduce confusion.

Spoiler:


The two formulas within that event are used to determine whether or not the enemy is caught. It runs variables through a complex formula that doesn't make much sense to me or you. After the first equation is done, it takes that answer and plugs the answer into an equation that requires 4th roots (thanks BigEd for the help on that topic) and other crazy long numbers. When that answer is found, 4 numbers are generated randomly and checked against it to see if the random numbers are less than the equations answer. All of this info can be found on bulbapedia.

EDIT: The following explanation was directly taken from bulbapedia
The exact formula is as follows:



Where
  • HPmax is the number of hit points the Pokemon has at full health,
  • HPcurrent is the number of hit points the Pokemon has at the moment,
  • rate is the catch rate of the Pokemon,
  • bonusball is the multiplier for the PokeBall used, and
  • bonusstatus is the multiplier for any status ailment the Pokemon has (2 for sleep and freeze, 1.5 for paralyze, poison and burn).


Given this formula, the maximum value for a (if the Pokemon could have 0 HP) would be catch rate x bonusball x bonusstatus. The minimum value for a (for a Pokemon with full health) would be ⅓ x catch rate.

Calculate b as follows:



Then generate 4 random numbers between 0 and 65535, inclusive. For each number, check whether it's less than b; if so, the ball shakes once. If any number is greater than or equal to b, the Pokemon immediately breaks free. If all four of the numbers are less than b, then the Pokemon is caught. Note that if a is 255 or greater, then b is 65535 or greater, and then the Pokemon is guaranteed to be caught.

End Edit

For every type of ball, you will want to recopy this event to another common event slot and change the ball variable to whatever your heart desires.



Demo: Mediafire



Credit:

I used Celiana's tree graphics in the demo because they are just awesome and they fit the mood of the game perfectly.

All Pokemon graphics were found at the Spriters Resource

Pokemon, Pokeballs, etc. are trademarks of Gamefreak, Nintendo, and probably some other companies.

This post has been edited by labox: Feb 6 2011, 04:42 PM
Go to the top of the page
 
+Quote Post
   
labox
post Feb 19 2011, 06:37 AM
Post #2



Group Icon


Type: Coder
Alignment: Chaotic Good




*Bump*
Go to the top of the page
 
+Quote Post
   
Buddy14
post Feb 24 2011, 09:54 PM
Post #3



Group Icon


Type: Undisclosed
Alignment: Chaotic Good




This looks like a job well done, but it looks complicated for newbies, one thing to do is explain what each part of the equation, I'm download ing the demo as we speak, not because I don't understand it, I'm too lazy to event something I might never us


--------------------
I LOVE THIS GAME!!!!!! I WANT IT NOW!!!!


My Personality
Spoiler:

My Games:

Legend of Zelda: The Temple of Light is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
I support:
Spoiler:






If you are a believer of Jesus Christ, and are 100% proud of it, put this in your sig. =)
Go to the top of the page
 
+Quote Post
   
labox
post Mar 4 2011, 04:31 AM
Post #4



Group Icon


Type: Coder
Alignment: Chaotic Good




Thank you for showing interest in my Tutorial. After you are done playing the tutorial, please post again and tell me what you think of the system. I would love for someone to give some feedback. This is my first serious event and I couldn't wait to share it with the world.
Go to the top of the page
 
+Quote Post
   
Hoodie
post Mar 14 2011, 02:08 AM
Post #5


Your Cyber Space DJ, also rebellion
Group Icon


Type: Writer
Alignment: Unaligned




this is cool! I can't wait to use it to make it so you can catch stry spirits in my game! You rock! THIS IS A GREAT TUTORIAL!


--------------------
ılıll|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅ ­­|llıl BEATS!!!!!!!!!

If you are a believer of Jesus Christ, and are 100% proud of it, put this in your sig!!
If you can read this, put it in your sig!
WHAT? HOW'D YOU FIND THIS! S-P-A-M
ø„¸¨°º¤ø„¸¸„ø¤º°¨¸„ø¤º°¨

¨°º¤ø„¸TECHNO„ø¤º°¨

„ø¤º°¨FOREVER`°º¤ø


I suport
Spoiler:

Go to the top of the page
 
+Quote Post
   
Zetu
post Mar 14 2011, 03:31 AM
Post #6


Has broken out of Staby Rehab!
Group Icon


Type: Undisclosed
Alignment: Chaotic Evil




Pretty decent demo. I'm currently working on a script called Clan System+, which will allow you to duplicate a generic actor. Once I'm done with that, it would combine nicely with this (so you don't have to 'release' a previously captured pokemon to catch the same type.)


Also, with the 'shakeing thing', it seems repetive. Why wouldn't you do...

CODE
If \v[4] == 0
  Note even close
else
  "Shakes once"
  If \v[4] =< 2
    "Shakes twice"
  end
  If \v[4] =< 3
    "Shakes a third time"
  end
  If \v[4] == 4
    "Pokemon was caught"
  else
    "It got away"
  end
end


Seems alot better that way.


--------------------
My Scripts:

Best. Error. Evah!!!
Spoiler:


Team JIFZ: Jet, Ice, Fenix, Zetu

A stabbing Gesture is a friendly Gesture
Go to the top of the page
 
+Quote Post
   
labox
post Mar 17 2011, 11:12 PM
Post #7



Group Icon


Type: Coder
Alignment: Chaotic Good




Thanks for liking my Event! I might have made some things redundant, but I wanted to make sure that it worked for sure. Now that I see that I will try to work that in. Keep up the feedback everybody!
Go to the top of the page
 
+Quote Post
   
pie4ever0
post Mar 18 2011, 05:53 PM
Post #8


He who does not watch Star Wars
Group Icon


Type: Designer
Alignment: Chaotic Evil




Is there a way to make Pokeballs that work better on certain types of Pokemon, like Net Balls?

-EDIT-
Also, is there a way to release them after capture?

--EDIT--
Also, why can't you capture the same Pokemon twice? Does that mess up the script?

This post has been edited by pie4ever0: Mar 18 2011, 06:20 PM


--------------------
Bam. My once-giant signature is gone. It is now a giant ad. Be amazed.

Spoiler:

So why should you join Omega-Dev.net?
(Besides the obvious, of course)
  • Gald! OmegaDev has it's very own currency, so you're never just doing charity whenever you do a request for someone!
  • Blogs! OmegaDev has a brand new blog out, with 3 active Blog Writers!
  • Rating System! Think someone's being cool, or an overall ass? Well then, you can rate them up or down, for all to see!
  • Anatomia! OmegaDev is working on it's very own generator! It's still a work in progress, but anyone can submit sprites to go into it!
  • Community Effort Game! The entire community is working together to make one awesome game, Lucid.
  • No Multi-Posts!
  • Epic Roleplays! The roleplays are always active!
  • Overall AWESOMENESS! This one's a given, but who cares?

Join now, or you shall be shunned.

Go to the top of the page
 
+Quote Post
   
labox
post Mar 18 2011, 10:13 PM
Post #9



Group Icon


Type: Coder
Alignment: Chaotic Good




QUOTE (pie4ever0 @ Mar 18 2011, 01:53 PM) *
Is there a way to make Pokeballs that work better on certain types of Pokemon, like Net Balls?

-EDIT-
Also, is there a way to release them after capture?

--EDIT--
Also, why can't you capture the same Pokemon twice? Does that mess up the script?


To answer your questions, pie, there always is a way. I was just trying to get the basic system down.

If you wanted to make a net ball, you could have the enemy trip a switch if it was water. Then have a CB. check whether or not it is on, and if it is the ball bonus would be a higher number.

To 'release' a pokemon, you could have your person activate an event, have it say 'who do you want to release', and it list the party members. Then just have the 'if this pokemon' branch release that specific pokemon.

The reason why you can't catch the same pokemon twice is because vx doesn't allow multiple party members of the same type, i.e. you couldn't have 2 ralphs or 2 of the same character. I thought about remaking the same type of pokemon 6 times but that would clutter up the switches and variables.


I plan on remaking this a little more open ended so you can just play around with it, but this is my first serious tutorial and I didn't quite know how to make it.

Thanks for all of this feedback. Keep it coming guys!! =)
Go to the top of the page
 
+Quote Post
   
Ravenheart
post Mar 19 2011, 12:22 PM
Post #10


Seeks Knowledge
Group Icon






This is an outstanding system. I played the demo and it works very nicely. Only problem I have come across is that if you catch say a Pidgiotto before a diglett Elm will skip over the entire diglett part. This is most likely because a switch was not on or something of the sort. The same goes for Abosnow. Once again just a matter of switches and checks, but the actual system itself works wonderfully. With simple eventing you can probably add in a PC system as well to "store" your pokemon. Simply use the actor leaves party and actor rejoins party events. Otherwise bravo smile.gif
Go to the top of the page
 
+Quote Post
   
labox
post Mar 19 2011, 02:29 PM
Post #11



Group Icon


Type: Coder
Alignment: Chaotic Good




Thanks Ravenheart. When I uploaded the Demo, it was still fairly rough (and it still is fairly rough). I plan on making another tutorial with more free roaming play and a pc system. Thank you for your input. Keep up the Feedback everybody!
Go to the top of the page
 
+Quote Post
   
Senapho
post Mar 28 2011, 06:35 AM
Post #12


Jack in, Mega-Man!
Group Icon


Type: Designer
Alignment: True Neutral




This tutorial looks well planned out and very decent. Good job!


--------------------


My project:

Go to the top of the page
 
+Quote Post
   
labox
post Apr 2 2011, 04:24 AM
Post #13



Group Icon


Type: Coder
Alignment: Chaotic Good




Thank you Senapho. I appreciate all compliments and comments from everyone. I am glad that people like this. I have found some errors in the system that i am currently ironing out. I don't know when it will be done, but it is in process. Keep 'em comin' guys! =)
Go to the top of the page
 
+Quote Post
   
labox
post Apr 21 2011, 12:35 AM
Post #14



Group Icon


Type: Coder
Alignment: Chaotic Good




*Bump*

Just preventing it from dying tongue.gif Progress on the new demos is slow: and with the added stress of AP Chemistry all of a sudden getting extremely hard, I have almost no time to devote to it now. dry.gif

I would love to hear how people would want to see in this system!
Go to the top of the page
 
+Quote Post
   
Celianna
post Apr 21 2011, 03:08 AM
Post #15



Group Icon


Type: Artist
Alignment: Chaotic Evil




The eventing subforum is a very slow moving forum, so slow you hadn't even fallen off the first page since you posted this - so what the hell, don't bump your thread when you've got nothing new to add.
Go to the top of the page
 
+Quote Post
   
labox
post Apr 22 2011, 11:20 PM
Post #16



Group Icon


Type: Coder
Alignment: Chaotic Good




QUOTE (Celianna @ Apr 20 2011, 11:08 PM) *
The eventing subforum is a very slow moving forum, so slow you hadn't even fallen off the first page since you posted this - so what the hell, don't bump your thread when you've got nothing new to add.



Sorry Celianna. Not only am I fairly new to this community, but I'm also fairly inexperienced with forums. I will keep this in mind next time I post.
Go to the top of the page
 
+Quote Post
   
acem1994
post Apr 29 2011, 04:03 AM
Post #17


Acem1994
Group Icon


Type: Designer
Alignment: Chaotic Neutral




Nifty. I can see a lot of potential uses for this... Thanks for sharing. I guess i was enjoying the demo a little too much, because i was attempting to catch that abomasnow or something of the sort and before i was able to, he used something that called for a water SE, which wasn't put in with it apparently, so it crashed the demo =\ Very small issue, and kinda weird to talk about an error in a demo for a tutorial but figured i'd throw that out there. Nice job. biggrin.gif


--------------------
- Acem1994
Go to the top of the page
 
+Quote Post
   
labox
post Apr 30 2011, 07:48 PM
Post #18



Group Icon


Type: Coder
Alignment: Chaotic Good




thanks for liking it acem1994! I noticed that as well when I test ran it. I happened to also reinstall my OS due to a major system error and I assumed that it would have been included in the rtp when my install deleted it. I will attempt to fix that and apply more features in demo v.2. I hope to have it out sooner before later, but life takes priority over eventing unfortunately dry.gif I really enjoy hearing what people have to say about this event. I hope people have more to say!
Go to the top of the page
 
+Quote Post
   
kkcooldude
post Oct 5 2011, 04:13 AM
Post #19



Group Icon


Type: Undisclosed




@labox: I think this is awesome!
Go to the top of the page
 
+Quote Post
   
kkcooldude
post Oct 5 2011, 04:20 AM
Post #20



Group Icon


Type: Undisclosed




QUOTE (labox @ Jan 23 2011, 08:16 PM) *
Pokemon Catch System by Labox

Release date:January 23, 2011


Demo: Mediafire


About your demo, how do i open it????
Go to the top of the page
 
+Quote Post
   

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 30th September 2014 - 12:58 PM

RPGMakerVX.net is an Privacy Policy, Legal.