Extra Param Formulas

Last Updated: 2012.01.10
Download Link
Github Link

RPG Maker VX Ace certainly gives a lot of control to developers over many aspects of designing their RPG including custom formulas for individual items and skills. However, the program does not offer custom formulas for some of the more unique parameters such as hit rates, evasion rates, critical rates, etc. This script provides the ability to alter those extra parameters with primary stats altering them such as LUK affecting critical, DEF affecting PDR and whatnot.

Modify the formulas in the script module to your liking.

And that’s all, folks!

55 comments on “Extra Param Formulas

  1. Sweetness! I was just thinking yesterday how LUK does almost next to nothing and this will help give it some pizazz, thanks YF.

  2. Pingback: Third Script: Accuracy Overflow « crazescriptasylum

  3. I’m a bit confused about this. I’ve followed the script installation instructions, but where do I view the screen shown in the picture above?

  4. Something like magical critical hit would be cool. So you can make your physical crit rate dependent on strength, while your magical crit rate depends on intelligence.

      • All tags will affect the base value used in the formula.
        For example: lets say your PDR formula is as follows:
        :pdr_n_value => “0.01 * self.def”,
        :pdr_formula => “base_pdr + n”

        “base_pdr” (or base_insertstathere) is simply whatever the stat would normally be, including the tags you’ve set in the database. If a formula is JUST the base value, then that stat is unaffected by this script.

        So yes, the tags do still work, just make sure the base is included properly in the formula.

  5. I was just thinking… I feel like a feature similar to FFT can be implemented through this script. FFT had skills that had their own hit rate formulas. Is there anyway that this can be achieved through default methods? If not, then perhaps with a script, we can do it through creating our formulas within the script and binding them to a skill through notetags? Just an idea.

  6. I know YF doesn’t care much about random requests, but I would really like to see the Break Parameter from YEZ in VXA.

    It was a brilliant if overlooked script that added a whole lot of design space in combat.

    So… please? :D

  7. Not certain this script actually works, I changed :trg_formula => “base_trg”, to :trg_formula => “100 * trg * tcr”, but it had no effect. I used the same formula under Game_Battler and voila, it works as I wanted.

    • The result of trg_formula in this script will become trg. In other words, trying to use the variable trg in trg_formula won’t work. It’s like saying x = x+6.

      You probably mean 100 * base_trg * base_tcr.

  8. I’m really confused by these formulas, my Hit rate percentage is actually going down, base is 95% and with this script its 68%

    If someone could give me some insight on why this is happening I would appreciate it.

  9. Found out the problem, in the Hit formula at the end after base_hit it multiplies by 2 and divides by 3

    (hit_formula => “(n / (100.0 + n)) * 0.250 + 0.050 + base_hit * 2/3”)

    None of the other formulas have this, they just end with adding the Base. I’m not sure if this was intentional or a mistake but it seems to be working now.

  10. The Critical Eva shows up as a negative for me. Anyone else having this problem? I tried changing the values, but it seems to do next to nothing.

  11. So I’ve been trying to get this to work for me, but I guess I just don’t understand the formulas or something.Here’s what I’ve been aiming to do…

    Defense: Every 5 points increases HP by +1
    Magic Defense: Every 10 Points increases healing received (REC) by +1%
    Agility: Every 10 Points increases Magic Evade and Physical Evade by +1%
    Luck: Every 10 Points increases Critical Hit Chance and Critical Evade by +1%

    Anyone know what it would take to make this work? I would really appreciate any kind of help.

    • ok Depends how you want it, Im going to Assume that the total stars are in question, not the additional points you get as you level up.

      mhp= (def/5)
      eva= (agi/1000)
      mev= (agi/1000) #magic Evade
      rec= (mdf/1000)
      cri= (luk/1000) #Critical hit chance
      cev= (luk/1000) #Critical evade chance

      With your HP, Im not sure you can change your Primary Statistics (ATK, HP, MP, LUCK), as they are determined by your level, and this script has no mention of editing them. so I can’t help you with that , but the rest is easy, if you aren’t seeing any changes trying changing the 1000 to 10, because they are percentages the game may divide 100 on its own(to change it into a percentage).
      Hope it helps

  12. This is Awesome, though one question, does this script allow referencing from Enemies PARAms, e.g for PDR, the formula requires the enemies Atk.

    here what I have
    “(target.atk * (((n – 280.4)**2) / 110) + 16) / 730 * (730 – ((n * 51 – n**2) /11) / 10) / 730”

    Of course Target.atk will throw an error, but i have no idea what I should do about it
    Any Idea’s?

  13. Pingback: My Introduction to RPG Maker VX ACE | RPG Maker VX ACE Information

  14. Hi!
    Can I check the target’s parameters here too?
    I used for evasion rate: “((self.luk / target.luk) *100) – 100”, but that gives the following error…

    “Script ‘Game_Battler’ line 482: NameError occured.

    undefined local variable or method `target’ for
    #<Game_WeaponMaster: 0x800d130"
    Can anyone help me with this?

    • Short answer: no.

      Well, the thing is, extra & special parameters are stats an actor has individually, just like normal parameters. Your actors and enemies are supposed to have ‘set’ parameters for the game to compute.

      For example: if the evasion formula is “0.05 + n/1000” (n value being agi) then the engine can compute the value for every battler. Slime has an agi of 10, so the engine computes “0.05 + 10/1000 = 0.06”, thus Slime’s evasion is 6%. Ninja has an agi of 300, so the engine computes “0.05 + 300/1000 = 0.35 so the Ninja has 35% evasion.

      It doesn’t make sense for evasion to be calculated by a ‘target’s’ stats, because evasion is a stat belonging to the battler. Evasion doesn’t have a “target” anymore than mdf or luk have targets. Therefore, this script will not recognize “target.” as valid. This also renders “self.” unnecessary (except with the parameter “def”, because otherwise, the script system will think you mean “define”).

      It sounds like what you want to do is have the hit chance effected by the luk of the attacker and the target. This CAN be done. Just have luk add to both hit rate and evasion.

  15. Alright, this script is making absolutely no sense to me, how EXACTLY do I get it to make my character’s crit chance: base crit chance + 10% of their agility. This doesn’t strike me as particularly complicated but nothing will produce this result, I don’t get it.

    • For example: if you have 100 agility, then you want critical chance increased by 10%, (ex: if the base is 5%, you’d want it to become 15%). The formula you’d want is:
      :cri_n_value => “0.001 * agi”,
      :cri_formula => “base_cri + n”,

      What trips up a lot of people is that if your base_cri is for example 10%, then its value in the formula is “0.10”, not “10”. If the formula returns “10”, than that will be read as 1000%, not 10% as you might expect.

      Also of note: script changes don’t seem to take effect until you save the project, so if you change the formula and test without saving, the changes won’t show.

      • Thank you oh so much for clarifying how this works toad004! You saved the balance of my project! Much love!

  16. I had a little trouble with the hit rate as well so I’d fiddle around with and
    I found a formula that works for me.
    :hit_formula => “(n / (100.0 + n)) * 0.250 + 0.050 + base_hit * 2/2.5”,
    I’d just changed the 3 to 2.5 and got my desired hit ratio.

  17. There doesn’t seem to be any way to modify these stats with states, say with notetags, which I’d find really useful. Example: I want a state that simply doubles the inflicted’s Evasion rate.

    • This is easily done with the versatility of RPG Maker’s formula bar. Check it out:

      :eva_n_value => “if state?(x);2;else;1;end”,
      :eva_formula => “base_eva * n”,

      Using the comparative format “if [statement];value ‘a’;else;value ‘b’;end” is very useful for creating conditions for higher stats like the situation you have described here. Now, let’s say your Double Evasion status effect is status effect 35 in the database. Then you will just replace the x I put in the template with 35:

      :eva_n_value => “if state?(35);2;else;1;end”,
      :eva_formula => “base_eva * n”,

      If this is the case, then all actors with state 35 (Double Evasion) inflicted upon them will have an “n” value of 2. If they do not have such a state, they will only have an “n” value of 1. Thus, eva_formula will calculate twice the value of base_eva for all actors and enemies that are inflicted with state 35, as the formula to calculate the final evasion (eva_formula) is simply your “n” value (2 if inflicted with Double Evasion; otherwise 1, meaning it’s a pointless value) multiplied by the actor or enemy’s base_eva.

      If you want to learn more about just how versatile the formula bar can be in RPG Maker VX Ace, I highly recommend Fomar0153’s post about the many possibilities of the formula bar and conditional branches within the formula bar–this language works both in this script and in the database’s formula bar for skills and items.

      AliceImages

    • The variable base_crit is a percentage expressed as a decimal value. Say your base_crit for some actor named Bob is 5%. base_crit is equivalent to 0.05, the decimal equivalent of 5%. You want to increase your crit rate by 1% (0.01 in decimal form) for every 100 Luck. This is easily done:
      :cri_n_value => “luk/100”,
      :cri_formula => “base_cri+(n/100)”,

      With this formula, the value “n” becomes the value of Luck divided by 100. Therefore, for every 100 Luck, “n” increases by 1.
      Say, for example, Bob has 500 Luck. The value “n” becomes 5, because 500/100 = 5. That value will replace “n” in the formula cri_formula, and that will ultimately determine the critical hit rate. Since we want Bob’s crit rate to increase by 1% for every 100 Luck, that means we want to multiply Bob’s value “n” (the number of times 100 that equals Bob’s crit rate) and 1% (0.01, or 1/100). Since we can express 0.01 as a fraction, 1/100, and we still want to incorporate Bob’s base crit rate, the formula becomes
      base_cri + (n)(1/100)
      Through multiplication (which occurs before addition because of order of operations), we can simplify this formula into
      base_crit + (n/100)
      the formula stated above.
      Following this formula, let’s calculate Bob’s crit rate as an example of what will happen.
      Bob’s base_crit is 5%, so that’s 0.05 as a decimal value.
      Bob has 500 Luck, so n will equal 500/100, or 5.
      5 divided by 100 is 0.05, the decimal equivalent to 5%.
      .05 + 5/100
      .05 + .05
      =.1
      The calculation ends with 0.1, so Bob will have a 10% crit rate for all of his attacks.

  18. Okay, I have used multiple RPG maker programs and I am quite familiar with anything but the scripting part. I’ve spend the entire day today watching tutorials, trying out scripts from the internet and trying to do modifications and find out how it works. I have a long way to go.

    For the project I’ve started I want to use the same game mechanics I have for a pen&paper RPG I’ve created. It’s quite similar to Dungeons and Dragons, for those who know it.

    My question is, would it be possible through scripting to roll a random number between 1-20, add up the attacker’s ‘to hit’ and check it up with the defenders ‘defense’ to see if it is a hit or a miss and then calculate the actual damage done (or show a ‘miss’)?

    It also has to automatically cause it to crit when a 20 occurs on the random number and fumble (I was thinking attacking yourself or an ally) when a 1 occurs on the random number.

    And am I looking in the right direction for such settings with this script or should I be looking further into it to create something myself later on?

  19. Is it possible to use variables in this? I have 0 script Xp but generally figure things
    out myself. This one Im having trouble. Example, I have a variable that I call Mdef
    and want the parameter formula to add that variable along with the base MDR.
    Im using multiple variables for a lot of things but that’s the easiest example. So would
    something like this actually work?
    :mdr_n_value => “$game_variables[1]”,
    :mdr_formula => “base_mdr – (n / (256.0 + n)) * 0.500 – 0.000”

    • $game_variables[x] is a global array of variables that can be accessed from anywhere in the code. If you put $game_variables[1] as your n value, n will be equivalent to that variable.
      As I explored firsthand, however, if you change one of the values in the array $game_variables[x] *during* the attack rather than afterward, then the mdr for the damaged party will remain the same as it was before the attack until the attack is executed. Say, for example, you wanted to make $game_variables[1] equal to the difference between Actor Bob’s current Magic Points (mp) and the enemy’s Magic Attack (mat). If you wanted to do that, you would need access to the target *before* Bob actually executes the attack. If Bob is being controlled by the player, this is obviously something you don’t want.
      Obviously, if you aren’t planning to use the foe’s stats, this won’t be a problem. I have found a workaround, however, if you are interested.

      First, disable Yanfly’s mdr_formula by making it equal to base_mdr. If you use both that script and this technique I am suggesting, it will run the formula you have planned twice.
      Second, go into RPG Maker VX Ace’s default scripts (the ones that control the logic of a base RPG Maker VX Ace game) and find the class of objects called “Game_Battler” under the header “▼ Game Objects”. Go to line 355. mdr is used once in the Game_Battler class, under the class method “make_damage_value” which includes line 355. Line 355 should look like this to start:

      355 value *= mdr if item.magical?

      Now, all we need to do is add your formula, substituting any instance of “n” with, for example, (mp-user.mat). Since this method is calculating the damage that a battler will suffer, mp or any other stat is the same as saying “x stat of the battler being attacked”. user.[stat] is instead the same as saying “x stat of the battler who is attacking”. Thus, your formula would convert to:

      355 value *= mdr – ((mp-user.mat) / (256.0 + (mp-user.mat))) * 0.500 – 0.000 if item.magical?

      Now what if you want to record this value? Say, for example, in testing, you want to be able to see what the value actually calculated to in order to make sure it is balanced like you want it to be. Easily done. Just hit enter after line 355 to add another line, and then set a value in the array $game_variables[x] equivalent to the value of “value”:

      355 value *= mdr – ((mp-user.mat) / (256.0 + (mp-user.mat))) * 0.500 – 0.000 if item.magical?
      356 $game_variables[1] = value
      357 value *= rec if item.damage.recover?
      …etc

      As you can see, the line that was line 356 is now line 357. In case you’re totally unfamiliar with coding, you needn’t worry about this. Their line number has no bearing on how they work. As long as the lines themselves, their order, and their syntax are not changed, the code will still work.

      I did a lot of extra typing for something you might not even use, but I hope you found this informative regardless of whether or not you will use the latter half of my explanation. Happy making!

  20. I get odd numbers here

    :pdr_n_value => “self.def”,
    :pdr_formula => “(1 – (100 / ( 100 + n ))) * 100 + base_pdr”,

    Lets say def = 7
    (1- (100 / ( 100 + 7))) * 100 + base_pdr
    (1- (100 / ( 107))) * 100 + base_pdr
    (1-(0,9345794392523364485981308411215)) * 100 + base_pdr
    (0,0654205607476635514018691588785) * 100 + base_pdr
    6,54205607476635514018691588785 + base_pdr
    101.00%

    Well… Whats up with that?

    Even when i divide by 10 instead of 100 (wich gives just bigger numbers)
    This happens with everything when i want to divide into the 1~0 bracket.

    It just gives me a better balancing, i could have over 1.000 or 2.000 def and i still wont get over 100% PDR

    I guess its because of the long decimals… but… somewhere i saw that it rounds up by default, im just too lazy to look it up

    • nvm i got the solution

      100 is an integer
      100.0 is an decimal

      thus 100 / 100 + n will always be 0 or 1

      100.0 / 100.0 + n will now be between 0.0 and 1.0

  21. I’m using this script and Yanfly’s battle Engine.
    I’ve got these formulas:
    :eva_n_value => “(agi * 0.8) + (luk * 0.4)”,
    :eva_formula => “base_eva + n”,

    And the same thing for mev. The player’s agi is 10 and luk is 5. The enemy’s agi is 5 and luk is 5.

    Problem is, whenever either side tries to attack, it misses every single time. I don’t know why. Can I get someone double checking my formulas? Am I calculating something wrong?

    • Eva is a percentage (0,1 = 10%) and there your n = 8 + 2 = 10 which means 1000% evasion rate. Try to change eva formula to base eva + n/100.0

  22. Can this script define two different stats separately?

    Example: (1.00+(n/100+(n*12/100))) [The first n would be Agility, and the second n would Luck]

  23. In my game, I have an attack system that I like to call “Attack Flavor.” It works like this:
    Using the Input Combo Skills system, normal attacks give the player a choice between:
    Attack (100% base_accuracy, 4% crit rate, ATK x1)
    •••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, no attacks left, cancels)
    ••••••Add defense (reduce all damage by 20%)
    ••••••Add evasion (increase evasion to 50%)
    •••Add power (change to 97% base_accuracy, 6% crit rate, ATK x1.2)
    ••••••Attack again (97% base_accuracy, 6% crit rate, ATK x1.2)
    ••••••Add power (erroneous, no attacks left, cancels)
    ••••••Add defense (reduce all damage by 20%)
    ••••••Add evasion (increase evasion to 50%)
    •••Add defense (reduce all damage by 20%)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, defense already added, cancels)
    ••••••Add defense (reduce all damage by 40%)
    ••••••Add evasion (erroneous, defense already added, cancels)
    •••Add evasion (increase evasion to 50%)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, evasion already added, cancels)
    ••••••Add defense (erroneous, evasion already added, cancels)
    ••••••Add evasion (increase evasion to 80%)

    Add power (change to 97% base_accuracy, 6% crit rate, ATK x1.2)
    •••Attack (97% base_accuracy, 6% crit rate, ATK x1.2)
    ••••••Attack again (97% base_accuracy, 6% crit rate, ATK x1.2)
    ••••••Add power (erroneous, no attacks left, cancels)
    ••••••Add defense (reduce all damage by 20%)
    ••••••Add evasion (increase evasion to 50%)
    •••Add power (change to 90% base_accuracy, 10% crit rate, ATK x1.65)
    ••••••Attack (97% base_accuracy, 6% crit rate)
    ••••••Add power (activates Power Attack, 50% base_accuracy, 20% crit rate, ATK x2)
    ••••••Add defense (reduce all damage by 20%)
    ••••••Add evasion (increase evasion to 50%)
    •••Add defense (erroneous, power already added, cancels)
    •••Add evasion (erroneous, power already added, cancels)

    Add defense (reduce all damage by 20%)
    •••Attack (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, defense already added, cancels)
    ••••••Add defense (reduce all damage by 40%)
    ••••••Add evasion (erroneous, defense already added, cancels)
    •••Add power (erroneous, defense already added, cancels)
    •••Add defense (reduce all damage by 40%)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, defense already added, cancels)
    ••••••Add defense (activates Full Guard, reduce all damage by 80%)
    ••••••Add evasion (erroneous, defense already added, cancels)
    •••Add evasion (erroneous, defense already added, cancels)

    Add evasion (increase evasion to 50%)
    •••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, evasion already added, cancels)
    ••••••Add defense (erroneous, evasion already added, cancels)
    ••••••Add evasion (increase evasion to 80%)
    •••Add power (erroneous, evasion already added, cancels)
    •••Add defense (erroneous, evasion already added, cancels)
    •••Add evasion (increase evasion to 80%)
    ••••••Attack again (100% base_accuracy, 4% crit rate, ATK x1)
    ••••••Add power (erroneous, evasion already added, cancels)
    ••••••Add defense (erroneous, evasion already added, cancels)
    ••••••Add evasion (activates Hit & Run, increase evasion to 90%, 4 attacks at 100% base_accuracy on one foe that deal 1/4 of regular damage)

    In addition to base accuracy, however, I want to account for the difference between AGI in opponents.
    I used this script, Extra Battle Params, to do so. I used the following formula for calculating
    :hit_n_value => “if state?(2);$game_variables[50]+3;elsif state?(3);
    $game_variables[50]+10;elsif state?(4);$game_variables[50]+50;else;
    $game_variables[50];end”,
    :hit_formula => “((base_hit*100) – n)/100”

    Where states 2, 3, and 4 are different levels of power and game variable 50 is the
    difference in AGI between a foe and the user (b.agi – a.agi) for each individual
    action.

    This only works for your Combos script because there is a combo skill used prior
    which recalculates the hit rate before Attack is actually used.

    For enemies and player special attacks that do not use the combo system, it does not
    recalculate this hit rate. What I am wondering is if there is some way to add
    a line to RPG Maker VX Ace’s code to calculate game variable 50 as the difference in
    AGI between opposing parties for every skill used in the game before the success
    of the attack is calculated (essentially, I want the hit rate to include
    game variable 50 after it has been calculated rather than before).

    As it stands now, I tried using the formula bar to calculate game variable 50,
    but it saves game variable 50 for the next attack’s accuracy
    rather than considering its effects on the hit rate of that attack.
    This is incredibly problematic; that means that the hit rate isn’t determined
    by the AGI comparison of the target and user, but instead the hit rate is
    determined by the prior user of physical skills and their target. If I made every single skill have an *activator skill,* filling the same preliminary role as your Input Combo Skills, I could actually resolve this, but that would require two skills in the database for every single physical attack skill in the game; it is doable in the worst case scenario, but, as previously stated, problematic.

    Please, anyone with relative knowledge of RPG Maker’s awful programming
    language (I have taken two semesters of Java-based classes in college and it makes me cringe to see all the poor decisions in syntax), help me out with this at your nearest convenience. Incorporating the AGI of the user and opponent adds so much more complexity as to when it is appropriate to add power, making experimentation with the Attack Flavor system much more rewarding than “if they have high defense, you’re going to need to give up some accuracy, otherwise just do regular attacks.”

    Happy Thanksgiving, and have a nice holiday once it rolls around.
    -Demonboy75

    • Addendum: I didn’t fix the issue entirely, but I did find a partial workaround.
      I would still need to create an *activator skill* for all player-issued special attacks, but using several variables, I was able to convert enemy AI to a common event using two states that identify the user and the target. Since I can then use that state to understand who is attacking (a) and who is attacked (b) via conditional branches, I can execute a makeshift approximation of the formula b.agi – a.agi before the foe actually uses their attack.
      This allows one unified activator skill, as LUK does nothing but act as an identifier for a Stat Reader common event that gives the foe’s stats to the player, so I was able to use it as an ID for dividing enemy AI between conditional branches as well.
      Using a script from user Tsukihime on RPGMakerCentral (https://www.rpgmakercentral.com/topic/15367-remove-user-name-casts-message-when-using-skills/) and your Battle Engine’s ability to hide status popups, I was successfully able to hide the activator skill almost entirely–the enemy flashes twice instead of once when they attack, but I can easily pass that off as a “feature.”

      My problem still remains for the player characters (actors), however, as they have to select their skill *before it has a target.* Please, if you have any solution through common event knowledge or some line of code I could add, I implore you to provide it at your nearest convenience.

      All the same holiday wishes and my preemptive gratitude,
      Demonboy75

  24. Notice of Cancellation: After having a faff, I finally figured it out for myself. For posterity’s sake: it’s not something you can do with this script, but it can be done.

    In the scripts, there is a section that comes prepackaged with all RPG Maker VX Ace games. Normally, line 475 in this section’s class, Game_Battlers, there are two lines of code that multiply the success rate of a skill by the user’s hit rate if the skill is physical:

    rate = item.success_rate # Get success rate
    rate *= user.hit * 0.01 if item.physical? # Physical attack: Multiply hit rate

    If you want to implement a comparison of AGI in your hit rates, you need only add a few lines of code and snip a small part out of line 474:

    474 rate = item.success_rate # Get success rate
    475 rate *= user.hit if item.physical? # Physical attack: Multiply hit rate
    476 rate -= self.agi-user.agi if item.physical? #ADDED
    477 $game_variables[50] = rate if item.physical? #ADDED
    478 rate *= 0.01 #ADDED
    479 return rate

    Let’s break this down. Line 474, the start, has the multiplication by 1% removed, as I encountered some issues with recording “rate” as a variable unless I change “rate” to a decimal after converting it into a variable. I think it has something to do with the default formatting for strings–I might be able to tidy this code up with more research, but I’m just happy with a working product. After that change, line 476 (you will want to create a new line after 475 so you don’t write over the original line 476, which will now become line 479) will subtract the difference between the target’s agi (referred to as the object instance variable “self.agi” by the game’s code) and the user’s agi (referred to as the object instance variable “user.agi” by this method and several others). If you’re like me, and you want to check this hit rate with a spreadsheet to see if it lines up with the data you had planned for your game, you can optionally add in line 477 to commit the hit rate as a percentage to game variable 50. In my previous post, game variable 50 was used to record the AGI difference in Yanfly’s Extra Param Formulas script–I took that part out of his config and my phys moves to account for this new code, so don’t leave it in if you were inspired by me! Finally, to account for the snippet of code we removed from line 474, line 478 should multiply rate by 1% (0.01 in decimal form).

    If anybody reading this uses the information herein to add more variety to how hit rates are calculated in their RPG, I would appreciate a credit in your project! You can just call me “Demonboy75.” If you don’t credit me, of course, it’s not like I can start a manhunt or anything. Still, I’d even just be glad to get a “thank you” in this comments section. This was bloody difficult, and the pompous side of me wants a head pat from someone besides myself.

    Happy holidays,
    Demonboy75

  25. Cancellation Addendum: I’m a clown. Don’t worry, the script works, but I’m still a clown.

    When I added that * 0.01 back to line 475 to show you all what the original script looks like, I meant to add it to line 474. I made the mistake of thinking it was from line 475 at first, and then I failed to correct myself when I proofread. Sorry for any confusion.

Leave a comment