Tsukihime

Monster Hunter

74 posts in this topic

Monster Hunter - demo

Author: Tsukihime

 

A2U1V.jpg

 

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.

 

geoQP.jpg

 

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.

 

LENRc.jpg

 

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 by Tsukihime
oriceles and johnseed like this

Share this post


Link to post
Share on other sites

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

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

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 by Tsukihime

Share this post


Link to post
Share on other sites

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 :P

Share this post


Link to post
Share on other sites

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.

 

geoQP.jpg

 

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 by Tsukihime

Share this post


Link to post
Share on other sites

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.

 

TWm9O.jpg

Edited by Tsukihime

Share this post


Link to post
Share on other sites

SWEEEEET... sadly I cant use it right now -.-

Share this post


Link to post
Share on other sites

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 by Tsukihime

Share this post


Link to post
Share on other sites

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

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

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 by Tsukihime

Share this post


Link to post
Share on other sites

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

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

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 by Tsukihime

Share this post


Link to post
Share on other sites

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 by Tsukihime

Share this post


Link to post
Share on other sites

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

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

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

Great script,but I have a problem:

 

When I'm try open the script appear like this:

 

2588brt.png

 

Can you help me?

Edited by Lionheart

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.