Game Mechanics

From Chrono Compendium
Revision as of 07:47, 6 September 2020 by ZeaLitY (Talk | contribs)

Jump to: navigation, search

General Information

Chrono Cross

Battle Mechanics

Player weapon damage to enemy

weak=((str+2)*(100-f)*wp - (def+2)*400)*10/20000*c/1000
medium=((str+2)*(100-f)*wp - (def+2)*400)*25/20000*c/1000
heavy=((str+2)*(100-f)*wp - (def+2)*400)*40/20000*c/1000


This formula shows raw damage; it doesn't consider abnormal status and innate colors.

Each step should return an integer value; for example 2.7 should be 2.

  • str: Attacker's strength
  • f: It is a semi-random value, differs among weapons, explain later.
  • wp: Weapon damage, include bonus from accessories like Dragoon Gauntlet
  • def: Target's defense
  • c: Color multiplier, it has a base value of 1125 and follows a rule shown in the table below
c value  	665 	750 	875 	1000 	1125 	1250 	1375 	1500 	1500 	1500
points  	-3	-2	-1	0	1	2	3	4	5	6

Points rules:

  1. A field color cirlce has same color as attacker, +1
  2. A field color circle has opposite color as attacker, -1
  3. Target and attacker have same color, -1
  4. Target and attacker have opposite color, 0, but total damage will be multiplied by 1.5
  5. Field color circle, target and attacker have same color, color circle will have no effect. For example, if target and attacker are both red, red color circle will have no effect, but rule 2-4 still work.

f is a value determine the percentage between max damage and min damage. You can find it in this thread: here. For example, Serge's weapons have a value of 20%, then f will be a value between 0 and 20.

However, f is not completely random; it cycles in a pre-generated random array. (str+2)*(100-f)*wp is a loop, the result is increased by (100*wp - f*wp) in every step, totally (str+2) times. So a weapon can NEVER deal its max damage.

The part before *c/1000 has a minimum value (wp-4)/2, which means even if the enemy has high defense and you have poor strength, the damage is at least (wp-4)*5/8.

Weapon based tech damage

damage=((str+2)*(100-f)*wp - (def+2)*400)*atk/20000*c/1000

It's almost the same as a normal weapon attack.

  • atk: tech damage multiplier, it is not shown in stats window, however. For example, Serge's Dash & Slash has a value of 60.
  • c: Color multiplier, it has a base value of 1000 and follows a rule shown in the table below
value  	665 	750 	875 	1000 	1125 	1250 	1375 	1500 	1500 	1500
points  	-3	-2	-1	0	1	2	3	4	5	6

Points rules:

  1. Caster and element have same color: +1
  2. Caster and element have opposite color: -1
  3. A field color circle has same color as the element: +1
  4. A field color circle has opposite color as the element: -1
  5. Element color is same as the target: -1
  6. Element color is opposite as the target: 0, but total damage will be multiplied by 1.5
  7. Field color doesn't affect points if it is same as the target and the element, but rule 1, 2, 4, 5, 6 still work

For example, if the target and element are both red, red color circles will have no effect.

Element damage

damage=((mag+3)*(100-f)*e-(mdef+2)*500)*(1000+v*125)/400000*c/1000*(100+r)/100
  • mag: Caster's magic power, plus equipment bonus.
  • f: Like weapon based damage, f is a semi-random value. It is 20 for most elements.
  • e: Element's damage (AtkSpread)
  • mdef: Target's magic defense
  • v: grid level - element level, for example, liftup +7, photonbeam -2...
  • r: a random value between 0 and 5
  • c: Color multiplier, same rules as above

Base element damage:

Name   Level   +/-   Targets   Base Damage
AquaBeam   1   7   Single Foe   12
IceLance   2   6   Single Foe   15
AquaBall   3   5   Single Foe   20
IceBlast   4   4   Single Foe   28
Deluge   5   3   All Foes   30
Iceberg   6   2   All Foes   38
            
Name   Level   +/-   Targets   Base Damage
Fireball   1   7   Single Foe   12
MagmaBomb   2   6   All Foes   10
FirePillar   3   5   Single Foe   20
MagmaBurst   4   4   Single Foe   28
Inferno   5   3   All Foes   30
Volcano   6   2   All Foes   40
            
Name   Level   +/-   Targets   Base Damage
Bushwhacker   1   7   Single Foe   12
Aerosaucer   2   6   Single Foe   15
Bushbasher   3   5   Single Foe   20
Aeroblaster   4   4   Single Foe   28
Carnivore   5   3   All Foes   30
Tornado   6   2   All Foes   38
            
Name   Level   +/-   Targets   Base Damage
Uplift   1   7   Single Foe   12
ElectroJolt   2   6   Single Foe   15
Upheaval   3   5   Single Foe   20
ElectroBolt   4   4   Single Foe   28
Earthquake   5   3   All Foes   30
ThundaStorm   6   2   All Foes   40
            
Name   Level   +/-   Targets   Base Damage
PhotonRay   1   7   Single Foe   13
Meteorite   2   6   Single Foe   16
PhotonBeam   3   5   Single Foe   22
MeteorShower   4   4   All Foes   25
HolyLight   5   3   All Foes   32
UltraNova   6   2   All Foes   42
            
Name   Level   +/-   Targets   Base Damage
GravityBlow   1   7   Single Foe   13
HellSoul   2      Single Foe   
Gravitonne   3   5   All Foes   16
HellBound   4      Single Foe   
FreeFall   5   3   Single Foe   36
BlackHole   6   2   All Foes   44

Variable F

If we look at Aquabeam:

                       "f"
01 01 00 00 80 80 01 00 0C 00 00 00 14 00 00 00
20 00 77 00 FF FF FF FF 00 00 00 00 20 00 00 20
00 00 00 00 00 00 00 00 00 00 00 00

The 6th Byte in element corresponds to its color using this Table

Table 2:

80 = Blue
20 = Red
40 = Yellow
04 = Green
10 = Black
08 = White

And it works just looking at Iceberg for ex:

                      "f"
01 01 00 80 90 80 06 00 26 00 00 00 14 00 00 00
25 00 22 00 FF FF FF FF 00 00 00 00 00 00 00 80
00 00 00 00 00 00 00 00 00 00 00 00


also I think Blackhole as a chance to 1 hit Kill any regular mobs (no boss or mini boss I think). maybe its only white color foes but I think it apply to all of them!

Have you noticed that the Element data are spread on 2 Blocks? The first block is the Data that will be show in the in-game menu, like when you allocate your element to your characters. The Second block is the Data use in Battle, so you have to change Both if you want a clean hack! Both Blocks will be identical! Make sure you keep it that way when editing.

First Block start at

002694D4 (Aquabeam)  -Formart 2352-
or
~00‬21983B  (00219C7C not sure why its a tiny bit offset from my calcul)‬

(Aquabeam) -Formart 2048- (Please correct me If im wrong, I usually use 2352 format to work mainly,

the Second block starts at

13BA00F4 (Aquabeam) -Formart 2352-

or

~112D483B (112D4C7C) (Aquabeam) -Formart 2048-

Further Discussion

The high bit of byte 0x18 of the element block is the 'instant death' effect. And byte 0x0A is expressed as a percentage chance to hit. You can see a couple examples linked below of Hellbound and Blackhole. You can also test this yourself if you set the value of blackhole's 0x0A to 0x64 (100 decimal), it will always kill standard enemies, regardless of innate type.

Code: [Select]

HellBound
    00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  -------------------------------------------------
00| 01 01 00 00 80 10 04 02 00 00 28 00 00 00 00 00
10| 1A 00 00 00 FF FF FF FF 80 00 00 00 00 00 00 40
20| 00 00 00 00 00 00 00 00 00 00 00 00

BlackHole
00| 01 01 00 80 90 10 06 0F 2C 00 14 00 00 00 00 00
10| 09 00 22 00 FF FF FF FF 80 00 00 00 00 00 00 80
20| 00 00 00 00 00 00 00 00 00 00 00 00

The above indicates that HellBound has a whopping 40% chance to kill whereas BlackHole has 20% (which make sense since it hits all enemies). I'm getting in the weeds here, but wanted to demystify the instant death behavior.

Debuffs

------------------------------------------------
Stats Boost Element
------------------------------------------------
FF FF FF FF XX XX XX XX 00 01 00 00
List of Stats

40 00 00 00 = Att.
80 00 00 00 = Hit%
00 01 00 00 = Def
00 02 00 00 = Evd.
00 04 00 00 = M.Att.
00 08 00 00 = M.Def

ex : C0 00 00 00 = Att. + Hit%

------------------------------------------------
Debuff Status Element
------------------------------------------------
MagmaBurst
01 01 00 00(80 20 04 00)1C 00 32 00 14 00 00 00
2B 00 44 00 FF FF FF FF 00 00 10 00 00 00 00 40
00 00 00 00 00 00 00 00 00 00 00 00

If
80 20 04 00 => 00 calls a list for status
32 = 50% of 00 00 10 00 = Confused
01 00 00 00 = Poison
08 00 00 00 = Burns
10 00 00 00 = Sprain
20 00 00 00 = Flu

00 01 00 00 = Afraid
00 20 00 00 = Fatigued
00 40 00 00 = Asleep
00 00 02 00 = Darkness
00 00 10 00 = Confused
00 00 20 00 = Frozen
00 00 00 04 = Cursed
00 00 00 02 = Dizzy

If
80 20 04 02 => 02 calls another list of status?
32 = 50% of
80 00 00 00 = Curse+Darkness+1hit kill?
20 00 00 00 = Curse or Darkness?
01 00 00 00 = Poison or Darkness?

Healing

HP=(rawmag+2)*(100-f)*e/400*(1000+v*125)/1000
  • rawmag: Caster's magic but NOT including bonus from equipment

There may be more behind the formula, but as far as I know field color doesn't affect it.

Dual/Triple Techs

Weapon based:

Each character performs the attack separately, and then the game adds the results.

Element attack:

Same as normal elements, but the tech only uses the magic power of the one who chooses the command.

Weapon Hit%

In battle:
weak = acc/3 + wpacc*2/3 - evd
medium = 50/3 + wpacc*2/3 - evd
heavy = 20/3 + wpacc*2/3 - evd
  • acc: ACC showed in character stats and equipment menu.
  • wpacc: Weapon accuracy, it is not listed in the encyclopedia directly, but better weapons usually have better values.
  • evd: Target evade rate.

After a weak attack, all 3 values are increased, the increment is:

weak = (102-currentweak)*30/100
medium = (102-currentmedium)*25/100
heavy = (103-currentheavy)*20/100
1 medium attack = 3 weak attacks
1 heavy attack = 7 weak attacks

I've no idea about the Hit% value shown in equipment menu. It is different from all three above and is not used in battle at all.

From the formula we can see heavy and medium have nothing to do with character ACC value, so a heavy attack usually misses if you start with it.

Status effect lasting time

time=c*s - 1
  • c: It is usually 3, depends on which status it is.
  • s: Character based value. For example, Guile has a greater value than most characters.
  • Resistance Ring: It will reduce s[/b by 1.
  • Resistance Belt: It will reduce s[/b by 2.
Level Up and Stat Bonuses

by utunnels

I found some people ask about how to max all statistics at 99th star, such as "why is my Serge's strength 87 instead of 88; it was 88 in my last run", or "why is Riddel's magic attack not 60". I searched via Google, some say it is all random (and it is almost true since I myself saw Guile had very poor magic attack, at least before Serge became Lynx). And someone says the bonus can't be changed by the save/load trick; I tested before a boss battle, and it is true. Later I found bonus values for next star are determined after a boss battle which gives you a star and will be carried in the save file until you receive next star.

Level star bonus values are random and follow a formula like:

HP bonus = ((Lv99HP - MaxHP) / (101 - Stars)) x random(0, 2) + 2  
Other bonus = ((Lv99Points - Points) / (101 - Stars)) x random(0, 2)

random(0, 2) is a random decimal value between 0 and 2, doesn't include 0 and 2. The result will be rounded to get an integer value (for example, 2.4 will be 2 but 3.6 will become 4).

Minor bonus values after regular fight

I'm still not sure how exactly the formula works, but here's what I've figured out:

1. Your team receives some kind of "exp" after a regular fight, based on what star level you are currently at, until it reaches a certain value (ThresholdPoint). It will be zeroed if you gain a new star level. For example, at level 1, you will receive 1 point per fight. But after 8 fights, it just stops increasing. But at level 50, you receives 3757 points per fight, but stop receiving any after 3 fights.

2. The "exp" interacts with your stats growth, but not by adding up. It is still unknown. However, it seems the rule is fixed instead of random. That means the save and load trick doesn't work here.

3. Total bonus will not get past about 66%-69% of next star bonus. For example, if Serge will gain 12 HP at the next star level, he can receive at most 8 HP during those regular fights.

4. After each fight, points growth is based on "exp" and other factors. It differs among star levels. For example, at star level 0, Serge gains HP in an order of 12%, 13%, 12%, 10%, 7%, 4%, 3%, ... in the first fight, he will gain 12% x next star level hp bonus, and so on. But at level 50, the order is almost 20%, 20%, 14%, 7%, 4%, 2%, 1%,... percentage drops sharply after the ThresholdPoint, which will make it almost impossible to gain any points sooner or later.

5. Small values can be added to next fight, somehow. Though the formula is unknown, but I've noticed, if next star bonus is only 1 point( for example, strength bonus), the character can still receive the point after several fights, in my test case, it should be before the ThresholdPoint.

6. Add a new member to your 3-person team after the ThresholdPoint? Well, he/she will still receive a bonus, and quite a lot in the first fight, but tgus will drop sharply later, and total bonus still can't get past 66-69% of next star bonus.

Most used character gain stats like the red curve in the picture, and those you never use are like the blue one.

Lvup.png

From: Main Page