iPhone App Directory
RPG Maker VX
 
Gallery Members Search Calendar Help


Welcome Guest ( Log In | Register )

Collapse

>Announcement

Keep an eye out for the upcoming 3rd Quarter Contest!
2 Pages V   1 2 >  
Reply to this topicStart new topic
> CS Ultimate series; Ultimate Algorithm, The origin of the series.
Rating 3 V
CrimsonSeas
post Dec 27 2009, 12:15 AM
Post #1



Group Icon


Type: Coder




CrimsonSeas Ultimate Series; Ultimate Algorithm
by CrimsonSeas


Introduction
What is CrimsonSeas Ultimate series?
CS Ultimate series is a series of scripts that I made. I kinda got influenced by KGC and Yanfly for making great scripts that are compatible with each other. Even though they are influenced by them, most of these scripts are made to be original, in which the same kind of script may have different features.
Ultimate series are scripts that will change the default game systems. These scripts are tested to work fine with default battle system and Tankentai battle system.

CS:U Algorithm
This script is to help people making custom damage formulas for theirs skills, items, weapons, enemies, and even actors' unarmed attacks. This script still requires some scripting knowledge since you will be the one write the code for the formula, therefore this is not noob friendly, but this script will definitely make it easier to make a lot of custom formulas.

Features
-Write custom damage formula as a String, which will be converted into a script to calculate damage properly. As a string, you can just write off any formula that comes into mind easily just like writing normal coding.
-Give each weapons, skills, items, enemies, and even your unarmed attacks a custom damage formula.
-Preset formula, to quickly assign one formula to many skills/items/weapons.
-Expands skills properties; adds Defense Factor and Agility Factor that can be set via the skills/items note field.
-Expands criticals; give each weapons, skills, items, enemies, and even your unarmed attack a unique critical rate and critical multiplier. This can be set via the note field(except the unarmed actor attack since actors doesn't have note field; this is configured in the script below.)


How to Use
Get the script from the attachment.

All Ultimate series requires to be copied at the very top of custom scripts. And they also require the Ultimate Series Core copied at the very bottom of all Ultimate series.

Note Tagging example:
Spoiler:


This are tags that apply to enemies, weapons, skills, and items. For enemy, these tags apply to its normal attack, and for weapons, these tags apply to the wearer's normal attack.
<preset key>
This tag defines the preset algorithm to be used for the corresponding object. Presets can be defined in the Script Editor

<crit_rate value>
This tag defines a custom critical rate for enemies, weapons, skills, and items.

<crit_multi value>
This tag defines a custom critical multiplier for enemies, weapons, skills, and items

<ignore_guard>
This tag make the object's damage ignores guard (no damage reduction from guard)

<ignore_prev_crit>
This tag makes the object ignore hta target's prevent critical properties.



This tag is only for weapons and enemies
<variance value>
Sets the variance value for weapon/enemies normal attack


These tags apply to skills and items.
<base_damage value>
This tag defines the skill/item's base damage. With this, it is possible to set base damage higher than 9999 and lower than -9999. Can be negative

<atk_f value>, <spi_f value>
This tag defines the skill/item's Attack Factor and Spirit Factor. With this it is possible to set Attack Factor and Spirit Factor higher than 200

<agi_f value>, <def_f value>
This tag defines the skill/item's Agility Factor and Spirit Factor. Note that this tag only makes a skill has these 2 values; to incorporate it into the battle formula you have to make a custom formula yourself (well that's the true purpose of this script though)



Script
Ultimate Algorithm
Attached File  CS_Ultimate_Algorithm.txt ( 29.67K ) Number of downloads: 584


Core Script
Get it here => CrimsonSeas Ultimate Series List

Presets
This part is dedicated to those who isn't very familiar with scripting. Here, I will make presets of battle algorithms I made to replicate battle algorithms found on many RPG games. All you have to do is adding the preset formula to the preset section of the script and define your own key number, then add a tag to the corresponding skill/items/weapons etc to use this preset.

HELP WANTED!!
If you happen to use this script and you made a cool battle algorithm, please share it here, I will edit this post to include your algorithm as well. Thank you very much!!

How to use the presets:
Copy the code in the corresponding presets section of the script (preset weapons for weapon formulas, preset obj for skills/items formulas.) After that, change the n into a key number that you haven't used in the corresponding presets. Then, to assign that preset to a skill/weapon/item etc, just write <preset n> in the note field with n as the key number, Don't forgot to add a comma after each entry except the last one. To use this presets as a default, just delete the:
CODE
n     =>

and copy the remaining formula to the corresponding default constants in my module.

PRESETS!!:
Spoiler:

Final Fantasy 7 normal attack(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = user.atk + ((user.atk + user.level) / 32.0) * ((user.atk * user.level) / 32.0)
         damage = (((512 - self.def) * base) / (512)).to_i"

It is advisable to somehow make the enemies have their own levels, or else it will be treated as 1, which means enemy attacks will be much weaker than actor's attack (especially at high levels.) You can also make enemies have higher attack power than the actors to somewhat balance the damage. Also, don't make an actor/enemy to have defense value equal to or more than 512, as such will result in always 0 damage or negative damage(healing)


Final Fantasy 7 physical skills (Limit Breaks)(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = user.atk + ((user.atk + user.level) / 32.0) * ((user.atk * user.level) / 32.0)
         damage = ((obj.base_damage * (512 - self.def) * base) / (512 * 16)).to_i"

Basically the same with the normal attack, except that this now uses the skills' base damage to determine how much more powerful it is from the normal attack. The same suggestions as above applies here. In this formula, 1 base damage will deliver 1/16 of normal attack damage. So to make a skill deal double the normal attack damage, set the base damage to 32.


Final Fantasy 7 magics(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = 6 * (user.spi + user.level)
         damage = ((obj.base_damage * (512 - self.spi) * base) / (16 * 512)).to_i"

Same restictions above apply, and also note that 1 base damage delivers 1/16 of a normal damage done like the physical formula. Also note that since RPG Maker VX doesn't have Magic Defense by default, I substituted the target's spirit here as Magic Defense. Note that you should not set spirit above 512 with this formula.


Final Fantasy 7 healing magics(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = 6 * (user.spi + user.level)
         damage = base + (22 * obj.base_damage)
         damage = (-1) * damage.abs"

Formula used for healing magics in FF7. There is actually no restrictions here unlike the above formulas.


Final Fantasy 7 item damage(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = 16 * obj.base_damage
         damage = base * (512 - self.def) / 512"

Note that is only works for items that deals damage/heals like a skill does. Items' recovery value that uses the "Recovery Effect" section in the database won't be affected by this formula.


Demi (Gravity based attack)(by me!!):
Spoiler:
CODE
n     =>"damage = (obj.base_damage * self.hp) / 100"

Base damage acts to determine how much HP will the skill take. If you put in 25 as base damage, it will make the skill deals damage equals to 1/4 HP of the target, and base damage of 100 or more will instantly kill the target. Use in conjunction with <no_variance> and <crit_rate 0> tag for best effect.


Heal by percentage(by me!!):
Spoiler:
CODE
n     =>"damage = self.maxhp * obj.base_damage / 100"

Notice how there's no option in VX to make a skill heal by a percentage? This will resolve that issue. Use the base damage to determine how much HP the skill will heal. Make sure that the base damage should be written as a negative value to make it a healing skill.


Cloud's Ultimate Weapon(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = user.atk + ((user.atk + user.level) / 32.0) * ((user.atk * user.level) / 32.0)
         damage = (((512 - self.def) * base) / (512))
         damage = ((user.hp * damage * 3) / user.maxhp).to_i + 1"

This will make the weapon gets stronger the higher the user's hp is. The 3 after damage is how much stronger the weapon can be. You can change it to 4 or 5 or any value you want. Don't ask me what the 1 in the end is for, the formula says so, I only copied it.


Cid's Venus Gospel(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = user.atk + ((user.atk + user.level) / 32.0) * ((user.atk * user.level) / 32.0)
         damage = (((512 - self.def) * base) / (512))
         damage = ((user.mp * damage * 3) / user.maxmp).to_i + 1"

Same as above, only this uses MP instead of HP.


Vincent's Death Penalty(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = user.atk + ((user.atk + user.level) / 32.0) * ((user.atk * user.level) / 32.0)
         damage = (((512 - self.def) * base) / (512))
         damage = (damage * $game_variables[1] / (128 * 16)).to_i + 10"

This is a bit tricky, since you have to make a little script addon which enables you to add value to variable ID 1 each time the designated character kills an enemy. I won't give you the script to do it, you have to think of it yourself. You can use any variable ID you want by the way.


Final Fantasy X Normal attack(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = ((user.atk ** 3) / 32) + 32
         defnum = (((self.def - 280.4) ** 2) / 110) + 16
         damage = base * defnum / 730
         damage = damage * (730 - (self.def * 51 - (self.def ** 2) / 11) / 10) / 730"

This formula is good to use since it doesn't have level to it, so enemies can still use it as well. But the funy part is, once your defense gets over 280, the damage you take will increase with higher defense. So just make sure that none of your battlers have defense value of over 280.


Final Fantasy X Physical Skills(taken from GameFAQs):
Spoiler:
CODE
n     =>"base = ((user.atk ** 3) / 32) + 32
         base = base * obj.base_damage / 16
         defnum = ((((self.def - 280.4) ** 2) / 110) + 16).to_i
         damage = base * defnum / 730
         damage = damage * (730 - (self.def * 51 - (self.def ** 2) / 11) / 10) / 730"

This is roughly the same with the normal attack formula, but it uses the skills' base damage to determine how much stronger it is from normal attacks. 16 base damage means it is as strong as the normal attack.


Final Fantasy x Magic attacks(taken from GameFAQs):
Spoiler:
CODE
n        =>"base = obj.base_damage * (((user.spi ** 2) / 6.0) + obj.base_damage) / 4
        mdefnum = ((((self.spi - 280.4) ** 2) / 110) + 16).to_i
        damage = base * mdefnum / 730
        damage = damage * (730 - (self.def * 51 - (self.def ** 2) / 11) / 10) / 730"

Same restrictions as the above, never let a character has a spirit value of higher than 280. This script also substitutes spirit as Magic Defense since RMVX doesn't have Magic Defense by default.


Final Fantasy X Healing magics(taken from GameFAQs):
Spoiler:
CODE
n       =>"damage = obj.base_damage * (user.spi + obj.base_damage) / 2
        damage = (-1) * (damage.abs.to_i)"

This is used for healing magics only. Note that with this script it is possible to use different formulas for different skills so it it possible to use different formula for healing skills. The second line is used to ensure that the damage would be negative(healing) in case you forgot to set the damage as negative.


Final Fantasy XII Unarmed Attack(credits to Kaimi):
Spoiler:
CODE
n     =>"str = user.atk
         for equip in self.equips.compact
           str -= equip.atk
         end
         damage = (11 * (1 + rand(126) / 1000.0) - self.def) * str * (user.level + str) / 256
         damage = [damage.to_i, 0].max"

Like FF7 one, try to get the enemies to have a level or something so the damage can be more balanced. Note that this formula only works for small stats since once the defense of the target gets above 12 then you will only deal 1 damage at most.


Final Fantasy XII Swords (1-handed & 2-handed), Spears, Crossbows, Rods(credits to Kaimi):
Spoiler:
CODE
n     =>"power = 0
         str = user.atk
         for weapon in weapons.compact
           power += weapon.atk
           str -= weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + str * (user.level + str) / 256)
         damage = [damage.to_i, 0].max"

This formula utilizes the raw power of the weapon and the actors raw power too.


Final Fantasy XII Poles(credits to Kaimi):
Spoiler:
CODE
n     =>"power = 0
         for weapon in weapons.compact
           power += weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + user.spi * (user.level + user.spi) / 256)
         damage = [damage.to_i, 0].max"

This formula is for weapons that used by mages. It still uses the atk value of the weapon to calculate damage, but it also uses the user's spirit value to make damage value.



FAQs
Q: What the hell's with Ultimate, so lame
A: Who cares what they're named, as long as they're working good.

Q: What's the purpose if you have to write the formula yourself?
A: I don't know either, I only find it easier to manage a lot of custom damage formulas for a lot of skills and weapons if I made it like this. If you don't find it easier then you have the option of not using this though.

Q: I got an error
A: As usual, tell me what is the error message you get, I'll get back to you ASAP

Credits
-CrimsonSeas
-GameFAQs
-Yanfly and KGC for the inspirations that gave birth to the Ultimate series.

Author's Notes
Useless? Maybe, I know this maybe the most useless feature I've ever made, sorry about that. Anyway, I'm a bit rushing at posting this so pardon if there are any bugs there.

This post has been edited by CrimsonSeas: Dec 30 2009, 06:35 PM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Kaimi
post Dec 27 2009, 07:52 AM
Post #2


RPGMakerVX.net's official Seranille lover
Group Icon


Type: Writer
Alignment: Lawful Good




I shot a quick look at the script and it looks amazing! Many, many, many Custom Damage Algorithms! This may help people very much. So
T-H-A-N-K Y-O-U-!-!-!


--------------------

Thanks to Kaviator for the signature


My resources
Spoiler:
Go to the top of the page
 
+Quote Post
   
RyouKachi
post Dec 27 2009, 11:28 AM
Post #3



Group Icon


Type: Designer
Alignment: Chaotic Evil




What do you mean "ultimate's exagerrating", this script is awesome tongue.gif


--------------------
Five things I would tell other RMers:
-Frankenspriting is really easy, anyone can have a go for great results.
-What matters is not the script but how you use it
-NEVER underestimate the power of events.
-When using RTP remember Vibrato and recolours.
-Use the wondereous substance know as paper (plan, note and sketch your work)

My most epic IRC moment ever:
Spoiler:
* RyouKachi iniates a staring contest
<+CaptainJet> you're gonna lose
<RyouKachi> I WON'T LOOOOSE!
<+CaptainJet> you already did
<RyouKachi> Oh shit
<RyouKachi> Damn you JEEEEET!
<+CaptainJet> ;)
<RyouKachi> I'm too psyched to give up I shall see through time itself and stare UNTIL I WIN!
<+CaptainJet> well...
<+CaptainJet> you lost
<+CaptainJet> i see it already
<+CaptainJet> in the future
<RyouKachi> The future is not set in stone, I can change it!
<+CaptainJet> no you can't
<+CaptainJet> i also knew you'd say that
<+CaptainJet> and i know what you'll say next
<RyouKachi> Predictions cannot bind me I am RyouKachi.
<RyouKachi> I am my own man.
<RyouKachi> The future is shaped by ME!
<+CaptainJet> nope
<+CaptainJet> sorry to break it to ya bud
<+CaptainJet> i set the future
<RyouKachi> Then...
<RyouKachi> YOU ARE IN MY WAY!
<+CaptainJet> i am your way
<+CaptainJet> :|
<RyouKachi> INFINITE SOURCE OF EPIC I CALL APON YOU
<+CaptainJet> upon*
<RyouKachi> I DEFINE SPELLING
<+CaptainJet> no, i do
<+CaptainJet> since i set the future of the person who created english spelling
<RyouKachi> GURREN LAGANN
<+CaptainJet> :|
<RyouKachi> Kick reason to the curb and break through the impossible!
<RyouKachi> Who the hell do you think I am!
<RyouKachi> GIGA
<RyouKachi> DRILL
<RyouKachi> BREAKER!!!!!
<+CaptainJet> :|
* RyouKachi is now known as RYOUKACHI
<+CaptainJet> :"|
<RYOUKACHI> Capital letters cannot define the epic
<+CaptainJet> yeah, that's why i don't capitalize my name
<RYOUKACHI> Rule of Cool: If it's cool then it's possible.
<+CaptainJet> no...
<RYOUKACHI> I am a human a living thermo-dynamic miracle, I can do anything.

* Dissonance (~Dissonanc@93139DB9.3DF1602D.38BB7985.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* &Touchfuzzy (~IceChat7@CABEB43A.693AA8F5.657E0562.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* Shiro (Mibbit@synIRC-C777CA08.chi01.dsl-w.verizon.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* gonezoles (~bre@synIRC-2750A7DD.hr.hr.cox.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* &X (generic@botserv.synirc.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* Snacks (Snacks@synIRC-77B9841.hsd1.ma.comcast.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* DeviBOT (~DeviBOT@D8C7C2CE.95BA9E12.3E68EF55.IP) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* boon (~boon@synIRC-71559BEA.range86-158.btcentralplus.com) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* @Mithran (Mithran@synIRC-19B73521.static.rvsd.ca.charter.com) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +Jaeroll (~chatzilla@synIRC-9FE553DE.dyn.embarqhsd.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +CaptainJet (~chatzilla@synIRC-FAC5E26A.pools.spcsdns.net) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* cyangmou (~cyangmou@synIRC-115AE74B.adsl.highway.telekom.at) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)
* +InconspiciousBox (~chatzilla@synIRC-916B2F5E.dhcp.bluecom.no) Quit (naamio.fi.eu.synirc.net thoth.hub.eu.synirc.net)

<RYOUKACHI> Wow
<RYOUKACHI> I can do anything


I support:
Spoiler:















And lastly I made a blog, check it out here:
Ryou's Work Reports
(Blog last updated on 09/10/2010)
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 27 2009, 01:39 PM
Post #4



Group Icon


Type: Coder




Thanks guys, I honestly thought this is not so useful since you still need to write out the formulas yourself, glad to know that I'm not the only one who finds this useful smile.gif

Anyway, right now I decided to make preset formulas at the first post that contains many preset formulas so those who are not very familiar with scripting can still use this script just by copying the presets. So I'm going to ask for anyone's help to make preset formulas. It can be taken from a game, or you can create a cool one yourself, anyway, I'll appreciate it if you guys can share your cool battle algorithms. Thanks smile.gif

EDIT - Made a mistake in the FFX preset formulas, edited it to the correct one

This post has been edited by CrimsonSeas: Dec 27 2009, 03:11 PM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Kaimi
post Dec 27 2009, 05:08 PM
Post #5


RPGMakerVX.net's official Seranille lover
Group Icon


Type: Writer
Alignment: Lawful Good




So if you are encouraging us so let me help:

Final Fantasy XII


WEAPONS
Spoiler:
Unarmed:
Spoiler:
CODE
n     =>"str = user.atk
         for equip in self.equips.compact
           str -= equip.atk
         end
         damage = (11 * (1 + rand(126) / 1000.0) - self.def) * str * (user.level + str) / 256
         damage = [damage.to_i, 0].max"

Swords (1-handed & 2-handed), Spears, Crossbows, Rods:
Spoiler:
CODE
n     =>"power = 0
         str = user.atk
         for weapon in weapons.compact
           power += weapon.atk
           str -= weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + str * (user.level + str) / 256)
         damage = [damage.to_i, 0].max".

Poles:
Spoiler:
CODE
n     =>"power = 0
         for weapon in weapons.compact
           power += weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + user.spi * (user.level + user.spi) / 256)
         damage = [damage.to_i, 0].max"

===
EDIT: Some more Battle formulas:

Maces - their output damage is based on user's "Spirit" stat (higher => more damage!):
Spoiler:
CODE
n     =>"power = 0
         mag = user.spi
         for weapon in weapons.compact
           power += weapon.atk
           mag -= weapon.spi
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + mag * (user.level + mag) / 256)
         damage = [damage.to_i, 0].max"

Katanas & Staves - they depend on both: "Attack" and "Spirit". The higher the character's level, the more weight is put on "Attack", and less on "Spirit":
Spoiler:
CODE
n     =>"power = 0
         str = user.atk
         mag = user.spi
         for weapon in weapons.compact
           power += weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + str * (user.level + mag) / 256)
         damage = [damage.to_i, 0].max"

Daggers, Ninja Swords & Bows - they depend on "Attack" and "Agility":
Spoiler:
CODE
n     =>"power = 0
         str = user.atk
         spd = user.agi
         for weapon in weapons.compact
           power += weapon.atk
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.def) * (1 + str * (user.level + spd) / 218)
         damage = [damage.to_i, 0].max"


MAGICKS
Spoiler:
Damage Formula:
Spoiler:
CODE
n     =>"power = obj.base_damage
         end
         damage = (power * (1 + rand(126) / 1000.0) - self.spi) * (2 + user.spi * (user.level +user.spi) / 256)
         damage = [damage.to_i, 0].max"

Healing Formula:
Spoiler:
CODE
n     =>"power = obj.base_damage
         end
         damage = (power * (1 + rand(126) / 1000.0)) * (2 + user.spi * (user.level +user.spi) / 256)
         damage = [damage.to_i, 0].max"

===
Other:
Balance:
Spoiler:
CODE
n     =>"damage = user.maxhp - user.hp
         damage = [damage.to_i, 0].max"

Gravity:
Spoiler:
CODE
n     =>"damage = self.maxhp / 4
         damage = [damage.to_i, 0].max"

Graviga:
Spoiler:
CODE
n     =>"damage = self.maxhp / 2
         damage = [damage.to_i, 0].max"

Renew:
Spoiler:
CODE
n     =>"damage = self.maxhp - 1
         damage = [damage.to_i, 0].max"

Raise:
Spoiler:
CODE
n     =>"damage = 40/100 * self.maxhp
         damage = [damage.to_i, 0].max"

Araise:
Spoiler:
CODE
n     =>"damage = self.maxhp
         damage = [damage.to_i, 0].max"

===



That's it for now - I don't know how to input Weapon Power but I believe that it could be made in this script (by adding a thing that makes power of weapons). Think formula is bad? Change it! I'll be happy.
Some new formulas - correct them if wrong.

This post has been edited by Kaimi: Dec 28 2009, 09:40 AM


--------------------

Thanks to Kaviator for the signature


My resources
Spoiler:
Go to the top of the page
 
+Quote Post
   
kabuto202
post Dec 27 2009, 05:18 PM
Post #6


RAGNYAAA!!! *STAB STAB STAB*
Group Icon


Type: Designer
Alignment: Chaotic Neutral




You may or may not be my savior, since I hate the default damage algorithms. Is this tankanti what it's spelled like, compatible?

(Sorry, I can't test for myself right now, I'm on my mac =/)

This post has been edited by kabuto202: Dec 27 2009, 05:40 PM


--------------------
A Lesson in Scope

The guy who doesn't care if he's the bearer of bad news.

"If you're gonna do something, do it right." -My father.


Freelance Web designer for hire.

Doing low rate web design, contact me if you're interested. Costs that are not included in my rate are: Hosting, Domain, and advertising.

Doing low rate logo designs, contact me for information.

Prices of rates go down based on how many USEFUL premade graphics you provide me with.
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 27 2009, 05:59 PM
Post #7



Group Icon


Type: Coder




@Kaimi: Thanks, I added those to the list above. But I edited it so it would better replicate the original FFXII damage formula, it's okay right?

@kabuto: Yep it's compatible, I believe that this is compatible with almost any CBS out there since I rarely seen any CBS that actually messed up damage calculation too much. Just remember to put this at the top of other custom scripts.


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
kabuto202
post Dec 27 2009, 06:17 PM
Post #8


RAGNYAAA!!! *STAB STAB STAB*
Group Icon


Type: Designer
Alignment: Chaotic Neutral




Alright, thanks man. You sir are indeed my savior! (Not just this script but, other ones that saved my hours of painful eventing xD)


--------------------
A Lesson in Scope

The guy who doesn't care if he's the bearer of bad news.

"If you're gonna do something, do it right." -My father.


Freelance Web designer for hire.

Doing low rate web design, contact me if you're interested. Costs that are not included in my rate are: Hosting, Domain, and advertising.

Doing low rate logo designs, contact me for information.

Prices of rates go down based on how many USEFUL premade graphics you provide me with.
Go to the top of the page
 
+Quote Post
   
Topaz
post Dec 27 2009, 06:44 PM
Post #9


Jack of no Trades
Group Icon


Type: Designer
Alignment: Chaotic Neutral




You are quite amazing, my friend. A few questions:

Are you planning on making custom formulas based on elements?

and

Is this compatible with Vampyr SBABS 12?

I think the second one is yes, but I'm just making sure.


--------------------
Down withthe RETs!


Currently working on:
Spoiler:
Other stuff(graphics, scripts, etc.)
Coded: Origins: 1%
>Coded: Axis: ~7%
Coded: Epilogue: 0%
A secret.

What's this?
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 27 2009, 06:52 PM
Post #10



Group Icon


Type: Coder




Elements based is possible, but then it may be hard since there's a possibility that there are 2 elements with different damage formula, but there's a weapon that have those 2 elements. But I'll try to make it work by elements as well.

Second one, tbh I can't say for sure since I'm not using ABS, but theoretically it should be compatible, since IIRC Vampyr ABS doesn't change damage calculations process.


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Kaimi
post Dec 27 2009, 07:19 PM
Post #11


RPGMakerVX.net's official Seranille lover
Group Icon


Type: Writer
Alignment: Lawful Good




@CrimsonSeas: It is alright! At least I may rise my "Battle Algorithms Scripting" level wink.gif looking at your corrected presets! I can try to give more (tomorrow).

EDIT: BTW. could you explain me these notation:
CODE
n     =>"power = 0
         str = user.atk
         for weapon in weapons.compact
           power += weapon.atk
           str -= weapon.atk
         end

I hope you will help me understand these.

A little advice: when there'll be - let's say 40 presets - it will be easy to get lost; sort them in spoilers to their representive game, or/and eventually author.

This post has been edited by Kaimi: Dec 27 2009, 07:32 PM


--------------------

Thanks to Kaviator for the signature


My resources
Spoiler:
Go to the top of the page
 
+Quote Post
   
Topaz
post Dec 27 2009, 07:44 PM
Post #12


Jack of no Trades
Group Icon


Type: Designer
Alignment: Chaotic Neutral




QUOTE (CrimsonSeas @ Dec 27 2009, 01:52 PM) *
Elements based is possible, but then it may be hard since there's a possibility that there are 2 elements with different damage formula, but there's a weapon that have those 2 elements. But I'll try to make it work by elements as well.

Second one, tbh I can't say for sure since I'm not using ABS, but theoretically it should be compatible, since IIRC Vampyr ABS doesn't change damage calculations process.

I see...your logic just put a hole in the script I was currently developing. I have a feeling whatever you do will be better than I ever could have, though.
I think i will be able to look at the ABS script and see for myself. Tell you what I find.


--------------------
Down withthe RETs!


Currently working on:
Spoiler:
Other stuff(graphics, scripts, etc.)
Coded: Origins: 1%
>Coded: Axis: ~7%
Coded: Epilogue: 0%
A secret.

What's this?
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 27 2009, 08:00 PM
Post #13



Group Icon


Type: Coder




QUOTE (Kaimi @ Dec 28 2009, 03:19 AM) *
@CrimsonSeas: It is alright! At least I may rise my "Battle Algorithms Scripting" level wink.gif looking at your corrected presets! I can try to give more (tomorrow).

EDIT: BTW. could you explain me these notation:
CODE
n     =>"power = 0    #Variable which will be used as weapon attack power
         str = user.atk  #Variable which will be used as user's pure attack power(without weapon's attack)
         for weapon in weapons.compact  #Iterate user's weapons (if dual wield etc)
           power += weapon.atk   #Adds weapon attack power to the power variable
           str -= weapon.atk       #Substarct weapon power from user's attack so it will become pure user's attack power
         end

I hope you will help me understand these.

A little advice: when there'll be - let's say 40 presets - it will be easy to get lost; sort them in spoilers to their representive game, or/and eventually author.


That part is used to get weapons attack power (without the actor's attack power) and actor's pure attack power (without weapon's additional). Normally, the value returned from user.atk equals to user's base attack power + user's additional attack (via growth item) + user's equipment. This way, I substracted the weapons attack value from user.atk, and stored it in a variable str for use in damage calculation. And while at it, I also added the weapons attack power to power variable for use in damage calculation. I added comments bit in the quote above, hope it helps.

And good suggestion on grouping the presets, I'll get to it once there's a lot more presets there smile.gif

@Topaz: Not really, I'm not that good of a scripter you know tongue.gif
You can of course make your own custom damage script, it's more fun that way (that's the only reason why I rarely used other people's script, unless I really can't make it myself) Shorten up the credits on your project tongue.gif


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Topaz
post Dec 27 2009, 08:37 PM
Post #14


Jack of no Trades
Group Icon


Type: Designer
Alignment: Chaotic Neutral




I am really no scripter though. I can read them almost fluently and understand what they are saying, but I can't take that and make my own scripts. At least not yet...


--------------------
Down withthe RETs!


Currently working on:
Spoiler:
Other stuff(graphics, scripts, etc.)
Coded: Origins: 1%
>Coded: Axis: ~7%
Coded: Epilogue: 0%
A secret.

What's this?
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Spoiler:
Go to the top of the page
 
+Quote Post
   
Kaimi
post Dec 28 2009, 07:27 AM
Post #15


RPGMakerVX.net's official Seranille lover
Group Icon


Type: Writer
Alignment: Lawful Good




@CrimsonSeas: Thankies! It makes more sense to me now!

EDIT: I've added some new formulas in my 2nd response ( Post No. 5).


EDIT2: I wonder how to interpret "..." (without quotes) because I'm trying to recreate some Final Fantasy Battle Formulas for my game;
This is formula:
Spoiler:
CODE
-----------------
STANDARD WEAPONS
=================
  Base   = Atk Pwr - Target's Defence
  Bonus  = Str ... [(Lv + Str) / 8] + Str
  Damage = Base * Bonus

Used by Dagger, Sword, Staff, Rod, Spear, Claw, Flute.
(it's from Final Fantasy IX, formulas available at GameFAQs.

For now I have this:
Spoiler:
CODE
    n     =>"power = 0
             str = user.atk
             for weapon in weapons.compact
               power += weapon.atk
               str -= weapon.atk
             end
             base = power - self.def
             bonus = str ... ((user.level + str) / 8) + str
             damage = base * bonus"


This post has been edited by Kaimi: Dec 29 2009, 04:24 PM


--------------------

Thanks to Kaviator for the signature


My resources
Spoiler:
Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 30 2009, 12:48 AM
Post #16



Group Icon


Type: Coder




Right now, I'm making a pack of scripts called CrimsonSeas Ultimate series; this pack contains scripts that I made that changes default game system. Think of it like KGC script library or Yanfly Engine, only this pack doesn't have that much script like theirs. As of now there are only 5 scripts available, but I'll be sure to keep adding more and I've updated this script to fit into the Ultimate series. Check first post for more details.

This post has been edited by CrimsonSeas: Dec 30 2009, 12:54 AM


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Sofresh85
post Dec 30 2009, 07:11 AM
Post #17



Group Icon


Type: Designer




I was getting an error whenever I use the Second Skill Command Script you made for me:



which would refer back to line 224 of your Core Script:

Spoiler:
CODE
self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) unless skill.overdrive?


You think there is a way to modify this?

This post has been edited by Sofresh85: Dec 30 2009, 07:37 AM


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 30 2009, 11:01 AM
Post #18



Group Icon


Type: Coder




@Fresh: There really was a mistake in the core script, I fixed it, but I'm not so sure whether this will work with the Second Skill command. Try copying the second skill command script below these ones and below the Sideview. (since these scripts have to be put at the very top.)


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   
Sofresh85
post Dec 30 2009, 11:06 AM
Post #19



Group Icon


Type: Designer




QUOTE (CrimsonSeas @ Dec 30 2009, 04:01 AM) *
@Fresh: There really was a mistake in the core script, I fixed it, but I'm not so sure whether this will work with the Second Skill command. Try copying the second skill command script below these ones and below the Sideview. (since these scripts have to be put at the very top.)

I tried to put it at the top and the skill command works fine but now theres just an issue with the core script, it says:

line 71 Type Error occured, "cannot convert nil into string"

EDIT - This occurs when using a skill or item, and when using an attack it says:

line 17 NoMethod Error occured, undefined method 'damage_formula' for nil:NilClass

This post has been edited by Sofresh85: Dec 30 2009, 11:18 AM


--------------------
Projects I highly recommend :-)



Art teaches nothing, except for the significance of life."

-- Henry Miller --


Check out my current project titled:
Lunatic Shards Book I: The Arrival



If you wish to support this game, copy and paste this into your sig.
CODE
[topic=22135][img]http://i830.photobucket.com/albums/zz228/sofresh8582/LS-TheatricalUserbar.png[/img][/topic]

CODE
[topic=22135][IMG]http://i830.photobucket.com/albums/zz228/sofresh8582/SupportLSSig.png[/IMG][/topic]


I support:
Spoiler:










Go to the top of the page
 
+Quote Post
   
CrimsonSeas
post Dec 30 2009, 11:24 AM
Post #20



Group Icon


Type: Coder




This error is possibly thrown because on of these 3 things:
-A skill that you use is using a preset that is not defined.
-A skill that you use is defined as nil
-The default skill formula is set to nil.

Or it may also because script conlifcts, although it is unlikely.


--------------------
As long as I can still make something myself, I'll make it myself. But in the case that I can't, please do help me out :P

Thanks Kaimi!
Go to the top of the page
 
+Quote Post
   

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 1st October 2014 - 07:27 PM

RPGMakerVX.net is an Privacy Policy, Legal.