BUGMENOT'S PROFILE

Search

Filter

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

author=Shoobinator
This formula cannot be right
Mildly interesting: a weapon without "ignore enemy evasion" seems to cap the lowest success rate of skills to 50% if the quotient of Agi(t) / Agi(u) approaches zero.

If a hero has a weapon with IgnoreEnemyEvasion and has his hit rate reduced to zero, the Skill will fail at a 100% rate.

Here's what's happening in the game:


Float(A) = 100 - (SkillHit% x ConditionHit% x0.01)

without "ignore evasion" weapons:

Float(B) = ((Agi(t) / Agi(u))-1)x0.5+1

And the result is:
Success = 100 - Float(A) x Float(B) -25(EvasionArmor)


Might be a mistake in converting the negative floating point number.

PepsiOtaku's DynRPG Plugin Emporium!

What division?

You mean something like:

[QuickPatches]
PlayerDmgRevamp=4B9847,EB05,4B9861,01,4B9AAE,D1F883C4145D5F5E5BC3
EnemyDmgRevamp=4C0B3E,EB05,4C0B56,01,4C0DB1,D1F89083C4145D5F5E5BC3
SkillDmgRevamp(p1)=4C0DC6,93A1C4DB4C008B00E819E3FBFF978B6F44D1E5
SkillDmgRevamp(p2)=4C0DE4,0A,4C0DF8,#20,4C0E1A,16,4C0E2F,#40,4C0F57,EB10,4C0FF7,E95DFFFFFF,4C0F59,D1F85D5F5E5BC3
Does it do anything significant?


Changes the damage formula for phys. attacks from
([0.5]Str(u) - [0.25]Def(t)) x [...]
into
0.5 x (([1.0]Str(u) - [0.5]Def(t)) x [...])

...and the skill damage from
(EffectRating + [1/20]Str(u) x AtkInf + [1/40]Int(u) x IntInf - [1/40]Def(t) x AtkInf - [1/80]Int(t) x IntInf) x [...]
into
0.5 x ([2.0]EffectRating + [1/10]Str(u) x AtkInf + [1/20]Int(u) x IntInf - [1/20]Def(t) x AtkInf - [1/40]Int(t) x IntInf) x [...])

...feel free to change up the effect of the Int stat in skills (first value #20 for the user, second value #40 for the target)
...I mean people complained about '1/4 Int - 1/8 Int' doing jack in a skill.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

author=Shoobinator
Would you be able to change this so that instead of checking whether the attribute has Weapon or Magic ticked in the database, it checks the actual name/string value of the attribute and sees if it equals "Physical"?
I am not a programmer (getting only parts of strings is... something). How about a single attribute_ID?

[QuickPatches]
RPSAttribute=4B9A6F,04,4B9A70,%1

So anything that has at least that specific attribute_ID checked gets the row bonus. % means it has to be somewhere within 1..127

edit:
Dammit, attribute damage multipliers would mess this up when calculating AttributeDmg bonus (highest percentages get picked out -> "Physical" attribute needs to be at 0% Dmg -> PhysAttributeDmg x MagicAttributeDmg may result in a zero.)

author=Shoobinator
And if you were also able to make changes to the patch regarding Blind, accuracy, row targeting, etc.
So... magic Skills that can still hit regardless of the caster being blind?

It sure would be possible to split up the accuracy calculation between two types of skills. Needs some time, though.


author=Shoobinator
is IncreaseEvasionArmor a boolean
It does not stack. Just like attribute resistance on equipment.

author=Shoobinator
Does row formation actually affect whether you are more likely to be targeted?
No. It's random.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

Yeah, the RPS patch is borrowing the mechanic of the 'back/front row bonus for damage' from the regular attacks. It only makes sense, when the row bonus still applies to regular attacks as well.


PhysicalAccuracy =
Failure% = { 100% - (WeaponHit%* x [0.01]Hit%(u)**) } x (Agi(t) / 2x Agi(u)) +25%(IncreaseEvasionArmor) +25%(if target in BackRow)

*90% on unarmed, 90% on monster attack (70% if 'often misses' is checked)
**100% on default, changed by afflicted Conditions that lower the HitRate

SkillAccuracy =
Failure% = { 100% - (SkillHit% x [0.01]Hit%(u)**) } x (Agi(t) / 2x Agi(u)) +25%(IncreaseEvasionArmor)

The accuracy wouldn't change for "physical" skills when you attack an enemy (on physical attacks as well, as the enemy is normally of the type monster) from any row position. Unless you plan on giving enemies "physical" skills, too... I mean, them hitting more often being seen as a problem.

There's no 'ignore enemy evasion' on skills, too. (gets rid of the (Agi(t) / 2x Agi(u)) factor on physical attacks)

The weapon does carry over its 'ignore enemy evasion' trait.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

author=Shoobinator
quick patches?
NoFrontDamagePlus(Hero)=4B9880,EB4A
NoBackRowDefensePlus(Hero)=4C0D68,EB44

...removes the effects of the rows on damage output. Some people removed the row command, calculated the base damage for an attack, but the game itself output 125% of the base damage. Not that useful, really.

Something like:
HeroPhysVariance(Inverted)=49B2AB,#1000
EnemyPhysVariance(Inverted)=49B687,#1000

...would remove the +|- 20% variance on physical attacks


author=Shoobinator
how much an enemy gets buffed if they use the basic "Charge Up" command?
Seems to be +100% BaseDamage for one turn... with a forced physical hit (haven't looked into that yet)

author=Shoobinator
Where did you find these quick patches?
... I made them?


Well, here's a thing:
download RowPhysSkills

The RPS patch makes skills (with a physical attribute) behave more like regular physical attacks. (Less damage suffered in the back row, more damage dealt in the front row. Does not apply to pure healing skills.) This makes it easier to have Skills that equate a regular attack. (if I understood your first post up there correctly)

The skill just needs at least 1 attribute checked, that has the attribute type 'Weapon' / 'physical' and target either an enemy or the enemy party (not self/ally/allies)

Also remove the QuickPatches
NoFrontDamagePlus(Hero) and NoBackRowDefensePlus(Hero)
to not unneccessarily crash the game.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

edit
@post below:

Sorry, you're right. Some BaseDamage was out of place.

See post #3.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

author=Shoobinator
Could you explain a little more for what's going on with that hex that you quoted?
The player deals 25% more damage (of the calculated base damage) when having a character in the front row. And suffers 25% less damage in the back row.

The first two patches just get rid of that (some people calculate the base damage for DynPlugins but get deviances) ...another solution would be to apply the +|- 25% RowBonus to Skills with physical/weapon attributes (might take a while, I got other things to do).

author=Shoobinator
Also, I assume since the enemy party does not have row formation[...] Is that right?
Row positions aren't tracked if the enemy is of the type 'monster', so you could say they don't get +|- 25% on any of their attacks.

So enemies only deal x0.75 damage when the targetted hero character is in the back row. (or rather: the hero just suffers 25% less damage)

author=Shoobinator
such that front row gives up to +25% while back row gives down to -25% variance?

The RowBonus gets added(or subtracted) to the BaseDamage before the variance is applied.

[RM2k3] Doing some quick tests/calculations. Unexpected results. Front/back row damage multipliers?

Yes, RowBonus is +|- 25% on physical attacks.
[QuickPatches]
NoFrontDamagePlus(Hero)=4B9880,EB4A
NoBackRowDefensePlus(Hero)=4C0D68,EB44

There's also a damage variance of 10 on physical attacks (attack command)
[QuickPatches]
HeroPhysVariance(Inverted)=49B2AB,#10
EnemyPhysVariance(Inverted)=49B687,#10

Inverted, meaning:
100 -> +|- 0.02 BaseDMG
10 -> +|- 0.2 BaseDMG
1 -> +|- 2.0 BaseDMG


In case you want to level out differences in Skills and PhysAttacks, here's a breakdown of the damage formulas:

PhysBaseDamage =
([0.50]Str(u) - [0.25]Def(t)) x [1.25](if user in FrontRow) x PhysAttributeDmg x MagicAttributeDmg x [0.75](if target in the BackRow)

SkillBaseDamage =
(EffectRating + [1/20]Str(u) x Atk-Influence + [1/40]Int(u) x Int-Influence) - [1/40]Def(t) x Atk-Influence - [1/80]Int(t) x Int-Influence x PhysAttributeDmg x MagicAttributeDmg

final damage =
BaseDamage +|- Variance

(u) ~ user
(t) ~ target
(applies to both the player and the enemies)

Variance gets applied to the BaseDamage:

Variance for Skills:
Variance =
([Random] - ((BaseDamage x [0.05]Variance(Slider 1..10)))
[Random] =
randomized between 0 and ((BaseDamage x [0.1]Variance(Slider 1..10)))

resulting in +|- x0.5 of the BaseDamage (in case of slider set to 10)
No randomization if variance for the skill is set to 0 in the database.

Variance for physical attacks:
Variance =
(randomize [0.4]BaseDamage) - [0.2]BaseDamage

resulting in +|- x0.2 of the BaseDamage

PepsiOtaku's DynRPG Plugin Emporium!

Something like this: download TopAlt ?

Traditional layout up top when switching to the alternative battle layout (there was a plugin for doing that mid-game, wasn't there?). Any graphical changes to the traditional layout carry over.

Just be sure to not have any of the QuickPatches (or InfoDisloc.ips) that alter the position of the windows for items/skills/actions/enemyStatus/ItemDescription/SkillDescription.

Would this be playable?

author=McBick
Using move picture instead of show/erase picture is much more time consuming
No, no it's not. If the 'halt other processes' at the bottom isn't checked, the command after the move picture will be executed without any waiting.

author=McBick
You only need 285 map events for a fog
My bad. Lack of concept from my end, when someone mentioned "I have to make the game wait until the player is directly over a tile to avoid the pictures being showed mid-tile."

edit:
Sorry, I tend to overkill things... since there is not really much of a hardware/software limitation (if done right, of course). Teleporting/placing events around the player & screen (+ 4 borders) would be the same as using pictures that don't cause lagging when showing the graphics.

@ MovePicture taking 10+ seconds: something interferes. That's not how it's supposed to work.

author=McBick
Creating a plugin that shows pictures would actually resolve my problem because it would be able to display pictures faster.
I don't think that's a thing. As if the RPG_RT.exe would request and display a file slower than a plugin would request and display that file.

Are there no simple CreateRectangle(a,b) and FillRectangle(color) available? Would save up on the time for displaying big, black squares.


edit: DynRPGSS had some optimizations for showing images. It's somewhat similar to VXP's Ruby.