Bestiary
Authors: Blizzard
Version: 2.4
Type: Enemy Catalogue Display
Key Term: Player / Party / Troop Add-on
IntroductionThis script will allow your characters to retrieve information about enemies during battle and show them in a window. It also has built-in compatibility for my "Advanced Analyze System" script and allows adding enemies to it only if enemies were analyzed at least once. This script can easily be used for Pokémon typed games.
This work is licensed under BSD License 2.0:
QuoteCopyright (c) Boris "Blizzard" Mikić
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
You may use this script for both non-commercial and commercial products without limitations as long as you fulfill the conditions presented by the above license. The "complete" way to give credit is to include the license somewhere in your product (e.g. in the credits screen), but a "simple" way is also acceptable. The "simple" way to give credit is as follows:
QuoteBestiary licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikić
Alternatively, if your font doesn't support diacritic characters, you may use this variant:
QuoteBestiary licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikic
In general other similar variants are allowed as long as it is clear who the creator is (e.g. "Bestiary created by Blizzard" is acceptable). But if possible, prefer to use one of the two variants listed above.
If you fail to give credit and/or claim that this work was created by you, this may result in legal action and/or payment of damages even though this work is free of charge to use normally.
Features- display of full data of enemies
- option to disable different information
- integrated support for my "Advanced Analyze System"
- press SHIFT/ENTER to change the appearance of the Bestiary window
- use LEFT/RIGHT/UP/DOWN to navigate through the information database
v1.1bv1.2b- improved coding (uses less RAM now and processes faster)
v1.3bv2.0b- completely overworked and fixed compatibility issues
v2.1b- added custom info possibility
v2.2b- rewritten conditions using classic syntax to avoid RGSS conditioning bug
- added SORT_BEASTS option
- improved coding
v2.21bv2.3bv2.4- added new license
- added usage and crediting instructions
Screenshots(http://img118.imageshack.us/img118/8025/snap116rt.png)
DemoBestiary (https://downloads.chaos-project.com/scripts/Bestiary.zip)
ScriptJust make a new script above main and paste this code into it.
Script Download (https://downloads.chaos-project.com/scripts/Bestiary.txt)
InstructionsInside the script in the first comment.
Compatibility98% compatible with SDK v1.x. 70% compatible with SDK v2.x. May cause incompatibility issues with exotic CBS-es. WILL corrupt your old savegames.
Credits and Thanks
Author's NotesYou MUST configure the script if you have scripts that use dummy elements! Do NOT give your enemies MORE than 11 elements/status effects of one resistance type (e.g. 12 or more elements, that are absorbed), because they won´t be displayed.
If you find any bugs, please report them here:
http://forum.chaos-project.com
That's it! N-Joy! =D
Hey Blizzard I was wondering if you could please make a call script call that will allow me to add enemies to the bestiary, this will help majorly for compatibility with ABSs. So you use the call script and in the call script somewhere is the enemy's ID that you would like to add. If you could please do this I would be gratful, thank you for reading this post.
I'm pretty out but isn't it something like $game_system.beasts.push(id)
Thanks for the quick reply but it didn't work, but no error, wierd. Here is what I put as a call script "$game_system.beasts.push(29)", i'm not sure but I don't think there is one. That's why I asked. Thanks for trying though ;).
NVM it worked, with $game_system.add_beast(enemy.id) you have to take the 's' off of beasts.
Yeah, I did make an extra command. ^_^
Hi I'm using this script and I wanted to no if someone could adapt your script so that when the buttom was pressed to open the beastiary it was done in the script instead of having an event on every page that would controll it.
thanx if you can. :) :) :)
Do you want the Bestiary to be launched on the Menu instead of using an event? That's the only thing I can pick out of it...
Try going for these posts:
http://forum.chaos-project.com/index.php?topic=115.msg26363#msg26363
For this link, just replace everything that says RO Skill/System with Beastiary.
Here's another post with that information.
http://forum.chaos-project.com/index.php?topic=164.0
Use both. :)
v2.21b is up. After about 2 years. xD
Do you think or help me by making this work with animated battlers. What line(s) would I edit so I could divide the battlers bitmap width and height?
Please help!
Just splice the code from the add-on into this script. It's not hard.
No not the tons of add ons the actual RTAB or whatever sideview animated battlers.
It has 11 poses each pose has 4 frames. Not the one from tons of add ons.
Hmm.
So.
Find the code from the battle system.
Splice it in.
Done.
Update to v2.3b.
It says "Bestiary Is Empty" even if I've batteld a monster. :(
probably a other script is messing with it..
make sure you have the right order
http://forum.chaos-project.com/index.php?topic=23.0
Quote from: Jackolas on September 08, 2009, 10:01:58 am
probably a other script is messing with it..
make sure you have the right order
http://forum.chaos-project.com/index.php?topic=23.0
Thank you! I just got a little problem and that's becuse I'm using a animated sideviewbattle system. http://i29.tinypic.com/34ou97s.jpg
Hey, i hope this isn´t necroing, but i want to know, can i add enemies to the bestiary,when they´re killed, if i use BABS? I mean, you wouldn´t analyze, but add them to it once they´ve been killed. If i´m not clear enough, tell me what you need to know more specific.
Quote from: diablosbud on April 05, 2008, 11:50:59 am
Hey Blizzard I was wondering if you could please make a call script call that will allow me to add enemies to the bestiary, this will help majorly for compatibility with ABSs. So you use the call script and in the call script somewhere is the enemy's ID that you would like to add. If you could please do this I would be gratful, thank you for reading this post.
Quote from: diablosbud on April 05, 2008, 12:04:33 pm
Thanks for the quick reply but it didn't work, but no error, wierd. Here is what I put as a call script "$game_system.beasts.push(29)", i'm not sure but I don't think there is one. That's why I asked. Thanks for trying though ;).
NVM it worked, with $game_system.add_beast(enemy.id) you have to take the 's' off of beasts.
And no problem about the necro.
thanks. this is great... now to figure out how to add the option to mog´s menu...
Anyway thanks, and congrats on the level record of 300
wow...this is a really good bestiary script. Really a must have(if i do say so myself).
This is an awesome script but I get an error when I enter a battle on line 259.
NoMethodError occurred.
undefined method `include?' for nil:NilClass
Is this because I tried using it in an old save?
Quote from: Champion Blizzard on January 09, 2008, 05:11:16 pm
98% compatible with SDK v1.x. 70% compatible with SDK v2.x. May cause incompatibility issues with exotic CBS-es. WILL corrupt your old savegames.
My mistake. Thanks.
i know it's not much, but i just wanted to say that you can make the Left/Right/Up/Down button inputs stop working when you're at a certain enemy/page.
For Example:
On page 1 (displaying the HP, SP, etc.), let's say you don't want the person to press UP. Pressing UP would make it go to the bottom page. Well after "Input.trigger?(Input::UP)" add "and @index_page > 0". This will make it so that you can't press UP while on page 1. This can be done on the last page too, and with enemies if you change @index_page to @enemies.
Circular selection was intended. Hence the "(CURRENT_PAGE = (CURRENT_PAGE + 1) % MAX_PAGES)" formula for the calculation of the next screen. -_-
I can't add more than 4 strings of info for monsters! What do I need to change in order to have more than 4 sets of information?
Hey, this may seem like a silly question, but how do I access the bestiary in the game? Is there a call script? I've looked over the instructions in the script hundreds of times but I can't find a call script that does it.
$scene = Scene_Bestiary.new
Thanks ForeverZer0!
I could use some help. I've been customizing this script to fit my rpg, and the font and fontsize I use. I'm trying to reduce the number of pages to a minimum, and so I want the first page to display HP, MP, etc., and the second page to display Elemental Effects, and the third page to display Status Effects. So far, I've managed to make the first page, and setting up the 2 latter pages.
However, is there a way to display the status and elemental lists as "Fire, Lightning, Water" with elements seperated by commas, instead of a vertical list? And is there a way to place all the different element effect categories (Resistance, Immune, Absorb etc.) on the same page, like this:
Weakness:
Fire, Lightning, Water
Immune:
Ice, Wind
Absorb:
Holy
Currently, the script only allows to place the contents of each of these lists at the same spot, and thus needs to be a new page everytime. Is there a way to circumvent this?
Blizzard, can you make this code compatible with Tons Multi drop Item, that if monster drop up to one item it show in bestiary.
I have retired from RMXP over a year ago.
why blizzard ??? why you retired from RMXP ???
is RMXP is not funny anymore for you ???
Ah, that's too bad, Blizz. My request goes out to everybody, by the way. Anybody with a little better understanding of Rubyscript than me... :D
Anybody who could help me?
I'd like to use the Bestiary in conjunction with the Advanced Analyze System, and maybe I'm missing something, but I think the ANALYZE_IDS array is missing from the Bestiary script linked in this thread.
Or do you only have to identify your analyze skills in the array in the Advanced Analyze System script?
Thanks for the help.
EDIT: Resolved with some trial and error.
This script is good. I used it in my project.
How could I add the [Bestiary] Button into Foreverzer0's CMS. :D