Tsukihime 1,489 Posted May 18, 2012 (edited) Monster Hunter - demo Author: Tsukihime Overview This system allows you to capture monsters and recruit them as actors. When a skill or item with "capture effect" is used to defeat the enemy, there is a chance of capturing the enemy. Features Capture enemies, recruit them as allies Specify enemy faces Specify enemy class names Specify enemy character sprites Recruit enemies using event calls Compatible with Skill Select: just setup your enemies the same way you would with actors. This script must be placed above it. Use a summon system to call captured enemies Usage Tag your items/skills/enemies with <capture: x> To give it x% chance of capturing. Integers only. If an enemy can't be captured, tag it with <no-capture> When you defeat the monster, you will be brought to a results window with the monsters you captured. Pressing OK will accept that monster as a new ally. Pressing cancel will ignore it. You can press left and right to scroll through your captures. Configuration settings at the top. Default capture skill is "attack" skill. Can specify multiple skills with capture effect. This is hardcoded as an array right now, but eventually it will be an actual feature that you can assig n with note-tags and other things. The window is a little plain right now, but eventually it will look like a proper recruiting window. The following image shows that enemies can be set up right in the enemies tab, and (eventually) all of the stats/features will be transferred over to the actor. As part of my experimental features I decided to add support for custom enemy faces and classes. Just tag the enemies with <class: custom_class_name> <face: FaceImage, index> <char: CharImage, index> # character sprite Right now I'm letting you specify a custom class name, but I'm thinking of forcing you to choose a valid class from the list of classes. Either way, all of the features will be transferred from the Enemy feature list to the new actor's feature list so you can just treat the enemy as your actor setup. The face image is the one stored in the Graphics/Face folder and the index is the index on that image. Downloads Script: http://db.tt/YU0tVncr Required: Custom Database Edited May 24, 2012 by Tsukihime 2 Share this post Link to post Share on other sites
Galv 1,387 Posted May 18, 2012 This makes me want to make a monster game... it so doesn't fit into the game I am making now but I want to use it! haha From the look of it, it could be good for those people who wanted to make pokemon games... Yanfly's party scripts mixed with this (assuming there's no conflicts) I can see making that work quite easily. Share this post Link to post Share on other sites
shikami 0 Posted May 18, 2012 wow monster capture system.. !! agh must..not..use..it.. YET!! Share this post Link to post Share on other sites
+ Abscond 149 Posted May 18, 2012 Wow, that's real cool. Since I'm at school usong a MAC and I can't play the demo, I have some questions. What is the process for catching a monster? Can it happen on the map or through battle? Both? Share this post Link to post Share on other sites
Tsukihime 1,489 Posted May 18, 2012 (edited) Both. The process is very flexible 1: do you have battle captures? 2: if so, go to capture scene to resolve captures "battle captures" is named poorly. Instead, it should be just "captures" in general, since you could obtain captures via events (eg: you complete a quest and someone gives you a monster). For event captures, you just need to say "add_capture(enemy_id)" and it will automatically take you to the capture scene. I'm planning on extending this so that you get a notification and you can choose to go to it if you want. Edited May 18, 2012 by Tsukihime Share this post Link to post Share on other sites
Syndicate 20 Posted May 18, 2012 Great work. Potential features to add: Capture rates / chances (if health is higher than 50% then you have less chance to catch and it'll not be caught, stuff like that). Can also have states influencing it, like sleep, poison etc; increasing the success rate. Random parameters when caught (so it's not like the database) Different skills/items have a higher rate (again like great ball, ultra ball, master ball etc) Yep, I'm basically linking this script directly for a pokemon game XD though it does have many other uses. Epic stuff as always! If some of these have been noted already then just ignore them Share this post Link to post Share on other sites
Sly 10 Posted May 18, 2012 Nice one. Maybe add an "egg" feature to hatch monsters too? Just thinking. Nice script. Share this post Link to post Share on other sites
Tsukihime 1,489 Posted May 18, 2012 (edited) Script updated. I've made the recruit window a little more interactive. I'm planning on cloning an instance of the Enemy object and modifying its parameters before I add them to the capture list. This allows you to customize details about the enemy. This makes me want to make a monster game... it so doesn't fit into the game I am making now but I want to use it! haha Obviously pirates capture other pirates and use them as hostages. Though I imagine you could use a pirate recruiting system where you arbitrarily hire new crew. Since custom data is now possible I can go ahead and work on my actor creation system. Capture rates / chances (if health is higher than 50% then you have less chance to catch and it'll not be caught, stuff like that). Can also have states influencing it, like sleep, poison etc; increasing the success rate. The capture rate will use a formula based on both the user's params/state (eg: luk), the skill/item's capture rate, and enemy parameters and states as well as capture rate. Though, anyone want to come up with the formula? Random parameters when caught (so it's not like the database) The enemy parameters in the database will serve as "base stats". Though there may be scripts that alter an enemy's stats, so I'm not sure what I'll do with this. Different skills/items have a higher rate (again like great ball, ultra ball, master ball etc) Notetags will specify the "capture rate" of the skill/item. By default it is 0, meaning you can't capture with it Nice one. Maybe add an "egg" feature to hatch monsters too? Just thinking. Nice script. I don't think I'll be adding an egg feature to this script cause this script provides generic "capture" and enemy-->actor creation. Eggs are kind of something else entirely, even though you could technically receive an egg after capturing a monster. Edited May 18, 2012 by Tsukihime Share this post Link to post Share on other sites
fgfgfdg 0 Posted May 19, 2012 Anyway there can be a spell, that summons the monster you recruited, then it goes away after x turns. Share this post Link to post Share on other sites
Tsukihime 1,489 Posted May 19, 2012 (edited) Anyway there can be a spell, that summons the monster you recruited, then it goes away after x turns. I've implemented it in my Battle Summon script. It provides an extension to Monster Hunter by adding all captured monsters to the Summon list. Then you can call them using summon skills. Edited May 19, 2012 by Tsukihime Share this post Link to post Share on other sites
Ouendan 1 Posted May 19, 2012 SWEEEEET... sadly I cant use it right now -.- Share this post Link to post Share on other sites
Tsukihime 1,489 Posted May 24, 2012 (edited) I've updated it with capture rates. Items, skills, and enemies can be tagged with <capture: x> Where x is some integer >= 0. this is the percent chance of capturing the enemy. No support for percent signs. If an enemy can't be captured, tag it with <no-capture> Note that an enemy must *die* in order to be captured, which is pretty bad design. The last skill that was used to defeat the enemy is used to resolve capture. Edited May 24, 2012 by Tsukihime Share this post Link to post Share on other sites
MachRiderZ 1 Posted May 28, 2012 Wow, and I was just thinking about a few concepts with something like this! Thanks a ton! I'll be playing around with this! Share this post Link to post Share on other sites
Ventwig 26 Posted May 29, 2012 can you capture the same monster more than once at a time like in pokemon? Or do you need to release that monster before you get a new one? Also, does it count as a new actor so you might go over 999? Share this post Link to post Share on other sites
Tsukihime 1,489 Posted May 29, 2012 (edited) There is no dupe check, though there probably should be an option to prevent dupes. There shouldn't be an issue with going over 999 actors. The database limit only applies when you're using the editor. Edited May 29, 2012 by Tsukihime Share this post Link to post Share on other sites
Rain 8 Posted June 3, 2012 Is there a way to make it work with Yanfly's Victory Aftermath (maybe a patch or something)? I don't know much about programming, but I think that the Aftermath script needs to read this part: <face: FaceImage, index> Share this post Link to post Share on other sites
Lanechology 4 Posted June 3, 2012 (edited) Damn This's so cool O_O~! Thanks you very much Tsuki Edited June 3, 2012 by Lanechology Share this post Link to post Share on other sites
Terra 0 Posted June 4, 2012 I'm having a problem. I have tried modifying the script, but no matter what I try it always has a 100% capture rate. I tried changing the hard coded capture setting to 5 yet it still is 100% rate when ingame. Share this post Link to post Share on other sites
Tsukihime 1,489 Posted June 4, 2012 (edited) def is_captured? return false unless @last_hit_item return false if @no_capture @last_hit_item.capture_rate + @capture_rate - rand(100) > 0 end The last line is the formula I used for calculating whether an enemy was captured or not. I'm not sure what a good default capture rate would be. By default it is 100 and is initialized in RPG::Enemy Edited June 4, 2012 by Tsukihime Share this post Link to post Share on other sites
Tsukihime 1,489 Posted June 4, 2012 (edited) Is there a way to make it work with Yanfly's Victory Aftermath (maybe a patch or something)? I don't know much about programming, but I think that the Aftermath script needs to read this part: <face: FaceImage, index> The issue is that yanfly isn't initializing any of his RPG objects so when I create a new actor, none of those variables are there. It is simple to overlook, especially when you assume no new objects are being created. Just add this to the end of the the script if $imported["Tsuki_MonsterHunter"] class RPG::BaseItem alias :th_monster_hunter_init_baseitem :initialize def initialize th_monster_hunter_init_baseitem load_notetags_va end end end This issue exists with all of his scripts that modify RPG objects, Edited June 4, 2012 by Tsukihime Share this post Link to post Share on other sites
paygev 0 Posted June 10, 2012 Hello i love this script and the whole idea of it but only one thing is really bugging me about it. if i get into a fight with example 2 hornets and kill one then use capture to kill the other at the end of battle it asks if a want to capture both any fixes? Share this post Link to post Share on other sites
Lukas Maker 0 Posted June 10, 2012 Uhm... Can you change a thing in this script? Because i need a method to catch multiple copies of the same monster (for example:6 succubus;9 Slimes etc.etc.)... [Excuse me for grammatical errors, i don't speak english very good, because i'm Italian, this is the italian message, you can translate it with google translate: Potresti cambiare una cosa in questo script?Mi servirebbe un modo per catturare più copie dello stesso nemico...] -Lukas Maker Share this post Link to post Share on other sites
Tsukihime 1,489 Posted June 10, 2012 Hello i love this script and the whole idea of it but only one thing is really bugging me about it. if i get into a fight with example 2 hornets and kill one then use capture to kill the other at the end of battle it asks if a want to capture both any fixes? Have you set the capture rate for the monsters/skills? Uhm... Can you change a thing in this script? Because i need a method to catch multiple copies of the same monster (for example:6 succubus;9 Slimes etc.etc.)... [Excuse me for grammatical errors, i don't speak english very good, because i'm Italian, this is the italian message, you can translate it with google translate: Potresti cambiare una cosa in questo script?Mi servirebbe un modo per catturare più copie dello stesso nemico...] -Lukas Maker You can't capture multiple copies? Share this post Link to post Share on other sites
Lionheart 2 Posted June 11, 2012 (edited) Great script,but I have a problem: When I'm try open the script appear like this: Can you help me? Edited June 11, 2012 by Lionheart Share this post Link to post Share on other sites
Hyde 2 Posted June 11, 2012 You have just made my day with this script. Hands down, one of the best scripts in Ace. Share this post Link to post Share on other sites