Jump to content
Titanhex

Skill Ideas you can do with Custom Formula

Recommended Posts

the .to_i isn't necessary in this case since both values should be integers anyways.

 

b.hp * (100-v[2])/100 should be what you want. This way if the variable is at 0 it will take no hp off. But it if you want it to be different you will want to change the formula.

Share this post


Link to post
Share on other sites

Blood Blast

Cost 50% of the user hp but dose damge
equal to lost heath to all Enemy.

 

Damge type
hp Damge

formula:
a.hp*1/2

variance:
0

critical:
no

effects:
call common event[bloodblast]

common event[bloodblast]

 Force action [Eric], [-50%], index 1

same as blood blas but taget usere insted of all enemys

Share this post


Link to post
Share on other sites

RuinLight

 

to reduce a/all foes hp by 50% set scope to all eneimes and damge type to hp damge.

use this formula b.hp*1/2 and set variance to 0

Share this post


Link to post
Share on other sites

Please don't double post. Wait 72 hours before posting if you are the last poster. If you need to add something use the edit button on your last post.

Share this post


Link to post
Share on other sites

Is it possible to make it so the skill only works if it removes any state, rather than a specified one? Something like:

 

 

if b.erase_state;  a.atk *4  ; else  0 ; end

 

Similarly can you make it so that if you don't erase a state, you add one instead?

 

For example:

 

Actor 1 uses Skill A

Enemy 1 has no state applied so is poisoned.

Actor 2 then uses the same skill, but due to the target being poisoned, it's removed and damage is dealt.

 

This sounds like it could require a script or 2, so I'm not holding my breath.

Share this post


Link to post
Share on other sites

If it does require a script it'd be very minor.

 

It might not require a script at all though. You may be able to check the array of states on a Battler and see if it's empty. If it is, then there's no states.

 

You can also use this method to see if you will remove any states. If there's a state on them, then it will remove it. I'd imagine it's a value like "a.state_list[]" or something. I'll have to look it up when I have time.

 

Alright, its the value a.states.

So the condutional branch to check if any states are on the target is:

a.states[0].nil?

  • Like 1

Share this post


Link to post
Share on other sites

Awesome, thanks Titan :D

 

Edit: Now I've played around with it some more I figured i should throw up some of the skills I've made:

 

Healing Burst I/II:

HB I:

if .erase_state(14); (a.mmp/10)*3 ;else; a.add_state(14); end


Gives an actor HP Regen, if Regen is already applied it is removed and the actor gains MP equal to 30% of the casters

HB II:
if .erase_state(15); (a.mhp/10)*3 ;else; a.add_state(15); end


Gives an actor MP Regen, if Regen is already applied it is removed and the actor gains HP equal to 30% of the casters

Tranquil Fury:

if a.states[0].nil?; (a.atk * 4 + a.mat * 4) - (b.def * 2 + b.mdf * 2)  ; else ; a.add_state(26) ; end


If the user has no states applied, deals big damage. However, if any state is applied the user goes berserk (Confusion + Auto-Attack)

Fire Thrust

if a.erase_state(21); (a.mat * 6 + a.atk) - (b.def + b.mdf * 4) ; else ; b.add_buff(5, 3) ; end


A strong attack that's only useable when tapped into the Fire Force. If Fire Force isn't applied then it chooses to strengthen the Target instead.
  Edited by Aesorian
  • Like 1

Share this post


Link to post
Share on other sites

atk*8*(1-a.hp_rate) should work but you gotta do the balancing.

Share this post


Link to post
Share on other sites

i can get my abiltys to take hp to cast but then the skill only can hit a random enmmy or last hit enammy. is there a way to fix this?

Share this post


Link to post
Share on other sites

Just set the HP damage to 0 at the end by adding ";0"

Optionally you can remove the annoying fail text through vocab in f11.

Or you can use Yanflys skill cost script.

Share this post


Link to post
Share on other sites

Scenario:

 

Enchant Blade: User enchants weapon with an element. In addition, MAT is added to the ATK. However, the user should lose the ATK bonus from MAT once the effect fades.

Share this post


Link to post
Share on other sites

@Judasmartel:  Is that supposed to be a specific skill?

 

It looks like it would be done better as a state.

Share this post


Link to post
Share on other sites

- Enchant Blade is a skill that grants a state where the character's ATK is increased by his MAT stat. This part I have already figured out thanks to Tsukihime's Add Parameter script.

 

- What I haven't figured out yet, however, is to make it so that the character's new normal damage formula under the Enchant Blade state would be "(a.atk + a.mat + b.def) * elemental_affinity".

 

So if the character has 300 ATK, 200 MAT, and +50% elemental affinity; and the enemy has 200 DEF:

 

Without Enchant Blade -> 300 - 200 = 100

With Enchant Blade -> (300 + 200 - 200) * 1.5 = 450

 

This gives Magic Knight characters a chance to deal damage at par or even greater than that of a pure non-magic warrior. Of course, the downside is you need to cast it on yourself once, and enchanting the weapon with the wrong element will actually render your attacks ineffective.

 

Right now, the formula I am using is a.atk + a.mat * elemental_affinity - b.def

 

Using the same data above:

 

Without Enchant Blade -> 300 - 200 = 100

With Enchant Blade, expected damage -> (300 + 200 - 200) * 1.5 = 450

With Enchant Blade, current damage -> (300 + 200 * 1.5 - 200) = 400

 

I guess that should do it. Any suggestions?

Edited by judasmartel

Share this post


Link to post
Share on other sites

I'd think the easiest way to do that is just have Enchant Bladeunlock a new skill or skill type.

Then make the unlocked skill's formula as you wish.

 

You could always do an if statement for it.

[

if a.state?(x); a.atk + a.mat - b.def; else; a.atk - b.def

]

 

x would be your Enchant Blade State.

(You don't have to put elemental damage in as that's done in the database through Traits.)

 

The only issue is that you'd have to add that for ALL weapon skills the actor would use.

Share this post


Link to post
Share on other sites

Well, I don't have to because of elemental adjustments, but I'm still putting it in because of elemental affinities. I meant by affinity, a character may be more powerful when using fire spells, but not much so when using lightning spells.

 

Elemental efficiency traits in RMVX Ace don't work exactly like I want.

 

A 120% element efficiency in Fire increases the damage of your fire attacks, but you receive 20% more damage from enemy fire attacks! So what I did was to make a new set of elements which determine the characters' elemental affinities.

 

A workaround I thought of was to make the Enchant Blade state lock the Attack command and unlock the Enchant Blade Attack skill. It felt like too much hassle, but I have no choice atm.

Edited by judasmartel

Share this post


Link to post
Share on other sites

I have a skill that has "a.level x 100" as a base for the damage, so for example a level 1 character would always deal 100 damage with the skill, whereas a level 100 character would always do 10,000 damage.

Is it possible to make that amount a base amount - So the level 1 character would never do less than 100 damage, but could do more damage (based on common things such as stats/elemental attributes etc - like any other skill/spell etc)?

 

Edited by Jonnywithoutah

Share this post


Link to post
Share on other sites

Is there any way to reference a weapon/armor equiped on user? something like a.equipped_item[weapons[x]]

 

where "x" is the items ID.

 

I'm planning to do something like when the user has this equipped the damage will be different.

Share this post


Link to post
Share on other sites

I have a skill that has "a.level x 100" as a base for the damage, so for example a level 1 character would always deal 100 damage with the skill, whereas a level 100 character would always do 10,000 damage.

 

Is it possible to make that amount a base amount - So the level 1 character would never do less than 100 damage, but could do more damage (based on common things such as stats/elemental attributes etc - like any other skill/spell etc)?

 

 

I'm pretty sure you'd need a script for this, as the bonuses such as elemental resistance are calculated after the calculations in the damage formula is done.

Best I could tell you is to make that skill elementless so nothing could negatively affect the damage.

Share this post


Link to post
Share on other sites

Hello there. I'm a complete newb to all of this so any help would be greatly appreciated.

 

I have a few formulas I'd like to have, but I'm not sure how to go about making them. I apologize if I'm asking too much in one post.

 

If anyone's familiar with Guild Wars, you'll recognize some of these. :P

 

First skill is a spell that drains the target's MP and restores the caster's HP.

Example: Target loses 20 MP, caster gains 150% of it (30) as HP.  What I've tried is:

 

r = a.mat * 2; a.hp + r

 

But it only deals MP damage if I have it set to MP damage and drains MP and gives it to the caster if I set it to MP drain.

 

Second skill is one that deals damage if no states like poison are on the target, and additional (additive) damage for EACH negative state on the target. I know you use b.state?(n) for one state, but can you make it check for more than one state? Like, b.state?(2, 3, 4, 5) which signifies poison, bleed, burn, and vulnerability? Would that work?

 

Third and fourth skills are basically like the one above, only one of them heals a base amount and an additive amount for every negative state, and one only heals IF it removes states.

 

Fifth is a skill that causes the target to lose MP and take the amount lost *n as HP damage.

What I have so far for this one is

 

r = a.mat * 2; b.hp -= r * 3; 

 

Except if it's dealing HP damage, it's not saying, and on second cast the target instantly dies. 

 

 

Last, how do you make a skill that boosts one of the user's stats based on a percent of another stat? Say I want my character to have increased attack based on magic attack. 100 Attack, 100 Magic Attack, the skill increases Attack based on 20% of Magic Attack so the end result would be 120 Attack. Would I even use a formula for this? Or is it possible with just states, or would I have to use both?

 

 

Thanks in advance for any help! And again, I apologize if I'm being too presumptuous asking all of this at once.

Share this post


Link to post
Share on other sites

Oh wow I feel dumb. I was literally laying in bed trying to sleep and a potential formula for the first skill (the drain MP and give it to the caster as HP skill) popped into my head.

r = b.mp; b.mp -= r * 0.8; a.hp += r * 0.4

 

It was confusing me at first because I was using stuff like 0.2 and 0.3 instead of 0.8 as I wanted something low like 20-30%, but for some reason 0.8 is acting like 20%. I'm not entirely happy with the a.hp += r * 0.4 part because I think it's based on the enemy's MP instead of the amount

drained, but I'm not sure how to go about doing that.

 

Now, if I could get my other formulas working properly I'd be set!

 

For the one that deals extra damage based on a state, I tried

 

b.state?(state id, state id, state id, etc) but it didn't want to work, which left me having it check for each state individually and resulted in me reaching the formula character limit which severely crippled the skill (I have about 13 states I wanted it to check for). I looked for ways to bypass the formula limit, the result involved scripted.  I followed the instructions here: http://cobbtocs.co.uk/wp/?p=286

but the skill resulted in doing null damage.

Share this post


Link to post
Share on other sites

 

Now, if I could get my other formulas working properly I'd be set!

 

For the one that deals extra damage based on a state, I tried

 

b.state?(state id, state id, state id, etc) but it didn't want to work, which left me having it check for each state individually and resulted in me reaching the formula character limit which severely crippled the skill (I have about 13 states I wanted it to check for). I looked for ways to bypass the formula limit, the result involved scripted.  I followed the instructions here: http://cobbtocs.co.uk/wp/?p=286

but the skill resulted in doing null damage.

 

Try this!Note: This will work only if the states you want to check for are in order in your database.In the script below, change the line x = 1 making 1 equal the ID of the first state you want to check.Change while x < 14 to the ID of the last State you wish to check.(Leave the X itself as is.)Then, in $game_variables(y), change the y to a variable you wish to use for this formula.class Game_Battler < Game_BattlerBase
  def extra_damage
	$game_variables(y) = 0 #Variable to serve as damage multiplier

x = 1

While x < 14

if b.state? (x)

$game_variables(y) += 1

end

x += 1

end

  end
  end

 

And finally, in the actual damage formula, try this.

(Given as an example. Obviously, you'll have to plug in the formula you want.)

a.extra_damage(B); (a.atk * 4 - b.def * 2) * (1 + $game_variables(y) / 10)

 

*My syntax may be a bit off, but I think it should work ok.

Any scripters or coders wanna fix it so it's right (If I did it wrong) feel free to.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted