• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

How should elements work with elemental reversal?

Started by nitwit, October 16, 2021, 06:51:09 pm

How should elements work with elemental reversal?

1. Element reversal increases the magnitude of existing elemental relationships.
4 (80%)
2. Element reversal flips your relationship with that element.
0 (0%)
3. Some other scheme (please leave a comment).
1 (20%)

Total Members Voted: 4

nitwit

October 16, 2021, 06:51:09 pm Last Edit: October 17, 2021, 09:05:10 am by nitwit
In vanilla FFT, undead absorb dark and are weak to holy. They are also damaged by most curative skills. The spell that inflicts death is hardcoded to fail against undead; instead it heals them to maximum HP. Phoenix Down and Elixir are hardcoded to automatically kill undead.

Abstracted from the "undead" mechanic, how does this work in your opinion?

I'm trying to figure out how the undead reversal mechanic would work if you applied the same principle behind it to a healing spell with a different element and a character that has some modification to that element. Basically, what is the principle behind undead reversal?

How would the game behave if there were a generalized "elemental reversal" flag and curative spells with elements other than holy?

How would a fire elemental react to a fire element healing spell? What about an ice element healing spell?

My observations are below.

1. Element reversal increases the magnitude of existing elemental relationships.
In this case: whatever your relationship to an element, if you reverse that element then:
  • Healing and absorb becomes maximal healing.
  • Healing and immune heals the normal amount or some multiplier of it.
  • Healing and halve heals the normal amount or some multiplier of it.
  • Healing and normal heals the normal amount.
  • Weakness and healing becomes instant destruction.

So if you undead - you absorb dark and are harmed by holy, then if you are hit by a holy spell it will harm you regardless of it being damaging or healing. If you are hit by a dark element skill, it will heal you if it's innately harmful and if it's helpful.

This seems to best describe the elemental effects present in FFT, and more broadly the FF franchise.

2. Element reversal flips your relationship with that element.
If you absorb holy and you are hit with a holy elemental healing spell, then you will be damaged by that spell.

In this case, curative is a property that inverts the normal elemental effects.

This isn't how the game works, and it also doesn't make sense. Why would a paladin by harmed by a holy element healing spell?

Possibly a more important question: what should #1 be called, as it's clearly not reversing anything?

Orkney

Hi,

It's something i was thinking about too.

I went to something slightly different :
- Healing + absorb --> the Heal is boosted
- Healing + cancel --> No Heal (taking it as an immunity to that element)
- Healing + Weak --> Half the heal (like if the target is uncompatible to that element)
- Healing + Half --> Normal amount : it's a heal, there's nothing to resist at. it could be think as an affinity to the element too (with a slight boost).
  • Modding version: PSX

nitwit

October 25, 2021, 04:00:04 pm #2 Last Edit: October 28, 2021, 04:45:21 pm by nitwit
Quote from: Orkney on October 25, 2021, 02:48:16 pmHi,

It's something i was thinking about too.

I went to something slightly different :
- Healing + absorb --> the Heal is boosted
- Healing + cancel --> No Heal (taking it as an immunity to that element)
- Healing + Weak --> Half the heal (like if the target is uncompatible to that element)
- Healing + Half --> Normal amount : it's a heal, there's nothing to resist at. it could be think as an affinity to the element too (with a slight boost).
The issue there is that stacking benefits helps a lot in one case, not at all in another, and gives reduced benefit in another. Plus you didn't mention what Healing + Normal would be - in vanilla it's your Healing + Half. I see elemental resistances as a range of values, whereas your perspective is more a set of attributes that don't continuously flow from one to another.

What I want to do is replace each of the 4 defensive element affinity bytes with 8 nybbles, with one nybble per element. Do this everywhere there's an elemental affinity - gear and jobs IIRC. Then sum up the values and assign a defensive elemental characteristic based on the result.

 7: 7/4 Damage Increase
 6: 3/2 Damage Increase
 5: 5/4 Damage Increase
 4: 1/1 Damage Increase
 3: 3/4 Damage Increase
 2: 1/2 Damage Increase
 1: 1/4 Damage Increase
 0: Normal
-1: 1/4 Damage Reduction
-2: 1/2 Damage Reduction
-3: 3/4 Damage Reduction
-4: 1/1 Damage Reduction
-5: 1/4 Damage Absorb
-6: 1/2 Damage Absorb
-7: 3/4 Damage Absorb
-8: 1/1 Damage Absorb

Note that I had to do things backwards to get 100% absorb in there, so people would assign a value of 0xf to a nybble to grant absorb. You'd need to account for over and underflow too, and given that there's no built-in operations for nybble addition, subtraction, and signedness you'd need to implement that too.

8 nybbles is 4 bytes, which is the amount of data that can be read at once, so depending on where it's placed that can be very convenient. This isn't much of a consolation given what you'd need to implement.

The selling points of this system are:
1. You can mix elemental affinities on gear and jobs, and the results will mesh with each other in a predictable way that create opportunities for creative builds.
2. Implementing something like the FFTA Geomancy support skill (hopefully with a caveat that it only affects enemies) or other things that mess with elemental affinities is much easier.

FFTA Geomancy is interesting. So is a defensive support that makes all of your defensive elemental affinities move down by 2 or 3 would be well worth a valuable support slot, as would one that does the same for allied targets of your skills (turn a black mage into a healer if your allies already have a decent elemental affinity).

RetroTypes

Quote from: nitwit on October 25, 2021, 04:00:04 pmWhat I want to do is replace each of the 4 defensive element affinity bytes with 8 nybbles, with one nybble per element. Do this everywhere there's an elemental affinity - gear and jobs IIRC. Then sum up the values and assign a defensive elemental characteristic based on the result.

 7: 7/4 Damage Increase
 6: 3/2 Damage Increase
 5: 5/4 Damage Increase
 4: 1/1 Damage Increase
 3: 3/4 Damage Increase
 2: 1/2 Damage Increase
 1: 1/4 Damage Increase
 0: Normal
-1: 1/4 Damage Reduction
-2: 1/2 Damage Reduction
-3: 3/4 Damage Reduction
-4: 1/1 Damage Reduction
-5: 1/4 Damage Absorb
-6: 1/2 Damage Absorb
-7: 3/4 Damage Absorb
-8: 1/1 Damage Absorb

What is the difference between 0: Normal and 4: 1/1 Damage Increase here? Assuming there isn't one, you could shift 5-7 down and make an 8/4 Damage Increase value (double damage), which would be ideal to have anyway. Or are you saying 4 *IS* the double damage increase, and 5-7 are even further increased values?
  • Modding version: PSX
  • Discord username: RetroTypes

nitwit

Quote from: RetroTypes on October 27, 2021, 06:29:08 pmWhat is the difference between 0: Normal and 4: 1/1 Damage Increase here? Assuming there isn't one, you could shift 5-7 down and make an 8/4 Damage Increase value (double damage), which would be ideal to have anyway. Or are you saying 4 *IS* the double damage increase, and 5-7 are even further increased values?
Bolded portion: Yes, that's what I'm going for.

To clarify:
15: 2 and 3/4 times base damage
14: 2 and 2/4 times base damage
13: 2 and 1/4 times base damage
12: 2 times base damage
11: 1 and 3/4 times base damage
10: 1 and 2/4 times base damage
9:  1 and 1/4 times base damage
8:  normal damage
7:  3/4 times base damage
6:  2/4 times base damage
5:  1/4 times base damage
4:  no damage
3:  1/4 times base damage as absorb
2:  2/4 times base damage as absorb
1:  3/4 times base damage as absorb
0:  4/4 times base damage as absorb

No idea why I thought it had to be signed earlier.

This is a sort of standardization of defensive elemental attributes across everything that implements them, which should make it easier to make other things implement them and to standardize their behavior across implementations. Making healing + weak = even weaker is just addition, as is whatever other system you choose to implement.