[XP] Custom Stat Growing System

Started by Blizzard, January 09, 2008, 05:15:51 pm

Previous topic - Next topic

Blizzard

January 09, 2008, 05:15:51 pm Last Edit: March 23, 2019, 07:45:33 am by Blizzard
Custom Stat Growing System
Authors: Blizzard
Version: 1.8
Type: Actor Attribute Modifier
Key Term: Actor Add-on



Introduction

This script disables the abiliy to gain levels, although EXP are still being received and can be used for another purpose. It also will allow to raise the character stats by other meanings than level ups. This kind of stat growing system can be encountered in "Final Fantasy 2".


  • max HP will be raised if the character loses an ammount of HP that is equal to a specific (and configurable) percentage of the max HP
  • max SP will be raised if the character uses an ammount of SP that is equal to a specific (and configurable) percentage of the max SP
  • it is also possible to set up the success chance of raising max HP and/or SP
  • STR will be raised if the character attacks often
  • DEX will be raised if the character lands a critical hit or evade a status change
  • INT will be raised if the character uses magic based skills, but not if skills are only STR, DEX and/or AGI based
  • AGI will be raised if the character manages to evade a physical attack or is the very first character to act during a round


This work is licensed under BSD License 2.0:
Quote
Copyright (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:
Quote
Custom Stat Growing System 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:
Quote
Custom Stat Growing System 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. "Custom Stat Growing System created by Blizzard" is acceptable). But if possible, prefer to use one of the two variants listed above.



Features


  • stats are growing through "stimulation" instead of level ups
  • no more level ups!
  • use EXP for any other purpose
  • highly configurable
  • extremely compatible
  • full instructions inside the first comment

v1.1

  • fixed bug where dead characters gain stats
  • enhanced compatibility a bit more

v1.3b

  • added additional "Stat, that were raised" window

v1.31b

  • fixed a bug

v1.4b

  • better coding, easier to configure
  • now compatible with Tons of Add-ons

v1.5b

  • improved coding
  • rewritten conditions using classic syntax to avoid RGSS conditioning bug

v1.6b

  • improved coding
  • now compatible with Blizz-ABS

v1.7b

  • removed statup window display, if you want to continue using it, get Easy LvlUp Notifier 2.0 or higher and put the script BELOW this one

v1.71b

  • removed a crash bug when using Blizz-ABS

v1.8

  • added new license
  • added usage and crediting instructions




Screenshots

N/A for this sort of script


Demo

N/A


Script

Just make a new script above main and paste this code into it.
Script Download


Instructions

Inside the script in the first comment.


Compatibility

95% compatible with SDK v1.x. 60% compatible with SDK 2.x. WILL corrupt your old savegames. Might cause problems with exotic CBS-es.


Credits and Thanks


  • Boris "Blizzard" Mikić
  • Special Thanks to Viviatus for requesting this =D



Author's Notes

This script will disable the feature of leveling up. Please be sure to use a Custom Skill Learning System or have an appropriate script.

If you find any bugs, please report them here:
http://forum.chaos-project.com

That's it! N-Joy! =D
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Blizzard

Nobody likes my CSGS. ._. Was FF2's stat system really that unpopular?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

legacyblade

Well I can't figure out what the heck this system does. I've never played FF2, you might want to go into depth on what it does.

FlyingHamsta

Just seems like a very abusable system and takes a lot of control out of the hands of the creator.  For example, as the maker I know about what level characters will be when they reach Point B.  I know what their stats will be, etc.  Obviously some types of games benefit from the level of control given to the user.

Fantasist

lol, this is listed in my "Must have" list for my game. I just haven't reached that stage yet.
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Blizzard

Yeah, I've had some serious problems when playing FF2 back then because of this system.

@LB: i.e. When you lose a lot of HP during battle, your max HP will go up at the end. That's for HP.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

legacyblade

Yeah, downloaded the script and read through it. I think this is a good system, and a lot of people would like to use it. Just add more description to the first post, and the script may become a popular one!!!

Blizzard

*edits first post* Something like this? :naughty:
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

legacyblade

Yes, that's perfect. Now lots of people will see it, and put it in their n00bish games that will never be finished (and maybe a few of them will be finished, XD)

ozoke

this is a great script,
i modded it to still work with level ups, but i was wondering is it possible to show the value of an actors 'counter' in the status window

e.g
instead of showing the current equipment it showed the current values for xstr, xdex, xint and xagi

if i knew how to show the current value for each actors counter i could mod the status screen myself.

thanks.

Blizzard

Just check out how the parameters are drawn in Window_Status#refresh (draw_actor_parameter(a, b, c...)). That method is defined in Window_Base has it all defined for the normal parameters like STR, INT, etc. Make a copy of that method, call it "draw_actor_xparameter(a, b, c...)" and edit it so it draws the X parameters instead of the real parameters. Then just call that method in Window_Status#refresh with different coordinates on the screen.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

ozoke

WOW, that was so easy. just had to edit window_base to add more parameters to the already defined ones like you said.

thanks blizz

vacancydenied

Is it possible to disable where it shows exp and levels plus exp gains at the end of battle?
Nothing goes as planned but I keep going forward.

Blizzard

Just use my Easy LvlUp Notifier. It doesn't show EXP gain if you don't get any EXP.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

vacancydenied

Thank you =). Still curious as to whether or not the level and exp in the status and main menu can be disabled. If not then that's ok. I can find some other use for it. I want to try to make use of the RO job/skill system you have up. So is it then possible to change it so that the exp goes fully to the job exp while at the same time showing up in the menu instead of levels. Sorry for all the noobish questions.
Nothing goes as planned but I keep going forward.

Blizzard

Throughout the scripts there are several method calls to draw the level and the EXP. You can either find all calls and disable / delete them or you can prevent it directly in the methods. I suggest the former.
To do this, press CTRL+SHIFT+F to activate global search. Type "draw_actor_level" (without the double quotes) and the editor will find all lines containing that phrase. In every line where that phrase is at the beginning, you should put a "#" (without the double quotes) before it to comment out that line. This will prevent it from being executed. Remember not to put it where it says "def draw_actor_level". Do the same with "draw_actor_exp". That should do it.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

vacancydenied

I promise this is the last question.Thank you for everything so far but this possibility struck my curiosity and was wondering if it is actually do-able. I posted it in the script request but wasnt sure if you took a look yet. =).


<Blizzard's Custom Stat Gaining System Add-On>
<July 26, 2009>





Summary
I am just looking to find out if an add-on to the stat gaining system is plausable.

Features Desired

  • Skill gain while attacking or after battle based on some sort of stat requirement.

  • Like if I have 50 strength I have a 20% chance to gain a specific skill while attacking.



Mockups
No mockups sorry

Games its been in

  • Saga Frontier series

  • Romancing Saga series






Did you search?
Yes

Where did you search?


What did you search for?

  • Searched through most topics one by one.

Nothing goes as planned but I keep going forward.

Cid

August 15, 2009, 04:58:58 am #17 Last Edit: August 15, 2009, 05:16:45 am by Cid
I think there's a lot of potential in this system, but there should be some limits placed to prevent abuse and encourage the player to seek out stronger enemies. I'm not sure whether you (or anyone else, if you'd allow it) would be interested in improving this script, but I have a couple of ideas regardless.

1. A growth curve for each stat. For example, if a character's strength stat is between 1-19, it might take between 5 and 10 attacks to increase the stat. Between 20 and 39 it would be 10-20 attacks, 40-59 = 20-30, etc.

2. Added to that, the "hit counter" could be modified depending on how strong the enemy party is (by assigning hidden "ranks"). A group of Goblins at the start of the game would only raise the "stat count" by 1, while a party of endgame Dragons increase them by 10. So if your strength is 100 then you'd need to attack 50 or so times in a Goblin battle to increase strength, whereas against a group of Dragons you'd only need to attack 5 times for the same result.

Both of these would stop only the most persistent of players from maxing everything at the start of the game, as well as make it much easier to "level up" characters who may've been neglected until late in the game. Final Fantasy II actually uses a monster ranking system, although not in quite the same way.

Blizzard

I'm not going to change this script anymore.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Calintz

BAD-ASS!! Lol.
This system kicks shit!!