So I just had a funny idea, but I know nothing about plugin programing so, ill post it here, if anyone like it, have the skills, and enought free time... Anyway, my idea is a plugin to "capture" and deploy mobs. Something like this: 1-First you get a slime ball( the nearest thing to a pokeball, maybe an egg) 2-Find a mob, atack it. 3-After u do some damage to the mob, take the slime ball and point to the mob, right click it. The mob would vanish. 4-You captured it! Now you right click again with the slime ball to deploy it. I know the mob would atack you, dont know if there is any way to make that particular mob to not atack, well... charizard atacked ash, so it not that unrealistic Also it would be nice if people could catch Giants, Ghasts, Monters( does this still exists?) and slimes too. So... thats it.
I know this isnt exactly what your looking for but I would take a look at it if you havent already seen it http://forums.bukkit.org/threads/mech-bukkitmon-v0-3-0.1005/
I might do this! How about every time you attack with the slime ball there is a random chance to catch it, that increases the less health it has?
That would work. But it would compute the damage made by the slime ball only or by everything? I mean, could you fight it with sword, and then use the slimeball just to "catch" it?
Yes. --- merged: Feb 14, 2011 11:36 PM --- Do you want the caught monsters to be persistent? IE. When the player leaves and comes back, does he still have his monsters?
hmm, that would require a storage method yes? I guess there is no need for this, too much trouble for you. But, well, you are the plugin guy, your call
I'll do it! --- merged: Feb 15, 2011 11:39 AM --- Do you want me to use the actual pokemon catching formula - harder to get just right catch rates, but a better formula.
OK, I have basically finished, all I need is a good formula for calculating catch rate. The pokemon one generates numbers over 100% too easily (at least the one I'm using). Does anyone have a formula suggest/should I just use a standard old percentage chance? Input please.
Yes, but that doesn't get you the proper experience. Isn't it cooler if when a monster's health goes down, their percentage to catch goes up?
Why don't you use the normal pokemon one, and make sure every monster has quite a low catch rate? That should do the job of making sure that doesn't happen.
I have figured out my earlier formula problem - using too high of a value for item multipliers... Very close to release. Way it works now is, on damage, you will attempt to catch the monster. More damage done, more chance. If you catch the monster, it disappears. You can release it by throwing an item of the type you used to catch the monster.
Do you like that method, anon? I may release an update that does it onrightclick, but it all depends on the bukkit API.
Yes, the throw iten thing is nice, better than the rightclick I think. Would the "pokemon" spawn when the iten hit the floor, or a time after you trew it? Like person is on a very hight place, if he trow the iten from up there would the mob spawn on the ground, or on the mid-air and die by falling?
Well... it would die, as there is no way that I know to check if an item drop is on the ground. Right now the monster spawns 1.25 seconds after being thrown. I meant do you like the way to catch monsters by swinging arm with a specific item?
Yep! Basically, user configuration options are based on the formula. The pokemon formula, if you look it up, increases the chance to catch based on a per-monster value, and a per-ball value. In my plugin, you can set which item can catch, and its ball multiplier, and each monster that can be caught, and their catch rate multiplier. You can also set a max limit of monsters a person can own. Can you think of any other options, btw?
You could check if the item drop is above a block(ie: it landed) if( ItemDrop.getLocation() getblock(y+1) != air) {spawn mob} sorry for the semi pseudo code
Maybe . I just released anyway... What if multiple users were throwing stuff? I'd have to tie up some resources checking all the time.