øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=337;area=showposts;start=45e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index2aee.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=337e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index2aee.html.zx¯Ih^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ0PdþOKtext/htmlISO-8859-1gzip0|ÖþÿÿÿÿÿÿÿÿWed, 11 Mar 2020 02:31:35 GMT0ó°° ®0®P®€§²ð®®Ih^ÿÿÿÿÿÿÿÿ£/þ Show Posts - Praetarius5018

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Praetarius5018

Pages: « 1 2 3 4 5 6 »
46
So theoretically the game can have 8 enemies in battle at the same time.
This doesn't seem to be a good idea.
If there are 7-8 enemies alive at the same time, casting a multitarget spell will crash the game.
"Simple" animations like Bolt survive 7 enemies (at least in my test group) but 8 was too much.
Fire3 glitches the game at 7 enemies already. I had to restart the entire emulator, loading savestate didn't suffice for some reason.
Ice2 doesn't crash the game at 6 enemies, but the 6th enemy didn't display the "got hit" part of the animation.
Ice1 passed even 8 enemies but was very laggy.

The biggest "natural" enemy group I know of has 6 of those Puroboros bomb enemies and a quick search found no enemy formation that even used the 8th slot.

Also anything targetting the 8th enemy exclusively somehow lands instead on the parties first character. But only while all 8 are alive.
This is confusing, yo...


Background is:
I wanted to use the unused enemy slots for random encounters and make it really random.
Enemy slot 1-8 would all be filled and then RNG decides at battle start that enemy 2,4 and 7 stay home.
So far the theory. Reality... has crashed and needs a reboot.


So what I wanted to know is, has anyone ever used those "extra" monster formation slots successfully or just stuck to vanilla?

47
Final Fantasy V Research & Development / Re: Inventory Sorting
« on: June 21, 2017, 10:54:40 AM »
Looking in the original code, I don't understand:

1. In the end of the sorting, what exactly this code does:
Code: [Select]
C2/E0A1: 98           TYA
C2/E0A2: 1A           INC
C2/E0A3: 29 FE FF     AND #$FFFE
C2/E0A6: A8           TAY
It seems it make sure, next section always starts at even address (last bit 0) ... but whats the purpose?
so that a new category starts on the left side, like a linebreak

item item
item <empty>
weapon weapon
etc.

2. What info we have in $288A? ($640 holds ItemID, $740 - hold quantity of the item)
honestly, no idea

3. Items with ID: 0, 1 and $80 are skipped. Is there any specific distinction in these values?
those are empty (weapon), fist and empty (armor) which you shouldn't find in your inventory

48
Final Fantasy V Research & Development / Re: Inventory Sorting
« on: June 20, 2017, 03:23:29 PM »
I've expanded my ROM, so I'll not even bother to find enough free space in the ROM.
I'll have to leave that to each user for themselves. Mine'll sit at E8/3B30.
So a few JMPs will have to be adjusted.
Since this relies on the item name, it won't work as it is for untranslated versions. They use different addresses for the item name.

$C2/E08D
A5 E2 99 00 81
place a JSL to your routine here instead

Code: [Select]
E8/3B30
A5 E2 LDA $E2    [$00:01E2]
99 00 81 STA $8100,y[$7E:8100]
C0 00 00 CPY #$0000
D0 01 BNE
6B RTL
DA PHX
5A PHY
---loop start---
88 DEY
30 24 BMI go to end if Y < 0
B9 00 80 LDA $8000,y[$7E:8000]
20 90 3B JSR validate item
F0 1C BEQ if 0 exit
85 E0 STA $E0
B9 01 80 LDA $8001,y[$7E:8001]
20 90 3B JSR validate
F0 12 BEQ if 0 exit
C5 E0 CMP $E0
F0 04 BEQ
10 0C BPL go to end if right sorting
30 05 BMI go to switch
20 D0 3B JSR compare both items for attack/defense
---compare both values; value != id
F0 05 BEQ if 0 exit
20 70 3B JSR switch items
80 D9 BRA loop start
---loop end---
7A PLY
FA PLX
6B RTL


switch items
Code: [Select]
E8/3B70
B9 00 80 LDA $8000,y[$7E:8000]
48 PHA
B9 01 80 LDA $8001,y[$7E:8001]
99 00 80 STA $8000,y[$7E:8000]
68 PLA
99 01 80 STA $8001,y[$7E:8001]
B9 00 81 LDA $8100,y[$7E:8100]
48 PHA
B9 01 81 LDA $8101,y[$7E:8101]
99 00 81 STA $8100,y[$7E:8100]
68 PLA
99 01 81 STA $8101,y[$7E:8101]
60 RTS


validate item, returns primary sorting value of item
Code: [Select]
E8/3B90
F0 12 BEQ
C9 01 CMP #$01
F0 0E BEQ
C9 80 CMP #$80
F0 0A BEQ
C5 93 CMP $93
30 06 BMI
C5 95 CMP $95
10 02 BPL
80 03 BRA
A9 00 LDA #$00
60 RTS
C9 E0 CMP #$E0 if it is a consumable, return id
90 03 BCC $03
29 FF AND #$FF
60 RTS
C2 20 REP #$20
29 FF 00 AND #$00FF #$1380 + 9xID is the offset for name
48 PHA
0A ASL A
0A ASL A
0A ASL A
18 CLC
63 01 ADC $01,s
18 CLC
69 80 13 ADC #$1380
FA PLX
AA TAX
BF 00 00 D1 LDA $0000,x weapon symbol
29 FF 00 AND #$00FF
E2 20 SEP #$20
60 RTS


compare both items for attack/defense
Code: [Select]
E8/3BD0
B9 00 80 LDA $8000,y[$7E:8000]
20 F0 3B JSR get atk/def
85 E0 STA $E0
B9 01 80 LDA $8001,y[$7E:8001]
20 F0 3B JSR get atk/def
C5 E0 CMP $E0
F0 05 BEQ
90 03 BCC
A9 01 LDA #$01
60 RTS
A9 00 LDA #$00
60 RTS

get atk/def
Code: [Select]
E8/3BF0
C2 20 REP #$20
48 PHA
0A ASL A
18 CLC
63 01 ADC $01,s
0A ASL A
0A ASL A
FA PLX
AA TAX
29 FF 00 AND #$00FF
E2 20 SEP #$20
BF 07 00 D1 LDA $0007,x atk/def, highest value to the top
60 RTS

49
Final Fantasy V Research & Development / Re: Inventory Sorting
« on: June 20, 2017, 11:06:32 AM »
sorting by alphabet needs no additional table; whether A is 05 or 3A or 5C doesn't matter as long as all letters are in order, which they should be


for general consumables, I'd just keep the sorting by id, that area (E0+) looks sorted enough as is.

for the rest, I'll try to sort by type - so swords stay with swords, axes with axes, knight swords with knight swords - then by attack value/defense power (7th byte in both cases).
not sure how to get item type in a better way then read the name...

I'll put a jump here:
$C2/E08D A5 E2       LDA $E2    [$00:01E2]   A:00F0 X:0001 Y:0000 P:eNvMxdIzc   item quantity   
$C2/E08F 99 00 81    STA $8100,y[$7E:8100]   A:0002 X:0001 Y:0000 P:envMxdIzc
where the "temp item" is put at the end of the list, then go backwards to see if the items need to be moved.
All under the assumption that the list is always sorted in each step - which it must be.

50
Final Fantasy V Research & Development / Re: Inventory Sorting
« on: June 19, 2017, 04:48:05 PM »
in case I'm not the only one curious about this, here's the relevant code

simply put, it goes three times through your whole inventory, once for consumables, then weapon, then armor and only checks if the item belongs to the current category. If so, it writes a copy to the next best slot in a temporary inventory then transfers all into the real inventory at the very end.
so a sorting doesn't really happen, only categorization.

Code: [Select]
$C2/BA39 20 02 E0    JSR $E002  [$C2:E002]   A:0003 X:003C Y:4307 P:envmxdIZC


$C2/E002 8B          PHB                     A:0003 X:003C Y:4307 P:envmxdIZC
$C2/E003 08          PHP                     A:0003 X:003C Y:4307 P:envmxdIZC
$C2/E004 F4 7E 7E    PEA $7E7E               A:0003 X:003C Y:4307 P:envmxdIZC
$C2/E007 AB          PLB                     A:0003 X:003C Y:4307 P:envmxdIZC
$C2/E008 AB          PLB                     A:0003 X:003C Y:4307 P:envmxdIzC
$C2/E009 C2 20       REP #$20                A:0003 X:003C Y:4307 P:envmxdIzC
$C2/E00B A6 8E       LDX $8E    [$00:018E]   A:0003 X:003C Y:4307 P:envmxdIzC
$C2/E00D 9E 00 7F    STZ $7F00,x[$7E:7F00]   A:0003 X:0000 Y:4307 P:envmxdIZC
$C2/E010 E8          INX                     A:0003 X:0000 Y:4307 P:envmxdIZC
$C2/E011 E8          INX                     A:0003 X:0001 Y:4307 P:envmxdIzC
$C2/E012 E0 00 03    CPX #$0300              A:0003 X:0002 Y:4307 P:envmxdIzC
$C2/E015 D0 F6       BNE $F6    [$E00D]      A:0003 X:0002 Y:4307 P:eNvmxdIzc
$C2/E00D 9E 00 7F    STZ $7F00,x[$7E:7F02]   A:0003 X:0002 Y:4307 P:eNvmxdIzc
$C2/E010 E8          INX                     A:0003 X:0002 Y:4307 P:eNvmxdIzc
$C2/E011 E8          INX                     A:0003 X:0003 Y:4307 P:envmxdIzc
$C2/E012 E0 00 03    CPX #$0300              A:0003 X:0004 Y:4307 P:envmxdIzc
$C2/E015 D0 F6       BNE $F6    [$E00D]      A:0003 X:0004 Y:4307 P:eNvmxdIzc
$C2/E00D 9E 00 7F    STZ $7F00,x[$7E:7F04]   A:0003 X:0004 Y:4307 P:eNvmxdIzc
...
$C2/E00D 9E 00 7F    STZ $7F00,x[$7E:81FE]   A:0003 X:02FE Y:4307 P:eNvmxdIzc
$C2/E010 E8          INX                     A:0003 X:02FE Y:4307 P:eNvmxdIzc
$C2/E011 E8          INX                     A:0003 X:02FF Y:4307 P:envmxdIzc
$C2/E012 E0 00 03    CPX #$0300              A:0003 X:0300 Y:4307 P:envmxdIzc
$C2/E015 D0 F6       BNE $F6    [$E00D]      A:0003 X:0300 Y:4307 P:envmxdIZC
$C2/E017 C2 20       REP #$20                A:0003 X:0300 Y:4307 P:envmxdIZC
$C2/E019 A4 8E       LDY $8E    [$00:018E]   A:0003 X:0300 Y:4307 P:envmxdIZC
$C2/E01B A9 E0 00    LDA #$00E0              A:0003 X:0300 Y:0000 P:envmxdIZC lowest id of this category
$C2/E01E A2 00 01    LDX #$0100              A:00E0 X:0300 Y:0000 P:envmxdIzC highest id of this category
$C2/E021 20 50 E0    JSR $E050  [$C2:E050]   A:00E0 X:0100 Y:0000 P:envmxdIzC sort first time, for consumables
$C2/E024 A5 8E       LDA $8E    [$00:018E]   A:0012 X:0100 Y:0012 P:envmxdIzC
$C2/E026 A2 80 00    LDX #$0080              A:0000 X:0100 Y:0012 P:envmxdIZC
$C2/E029 20 50 E0    JSR $E050  [$C2:E050]   A:0000 X:0080 Y:0012 P:envmxdIzC sort again, this time for weapons
$C2/E02C A9 80 00    LDA #$0080              A:0090 X:0100 Y:0090 P:envmxdIzC
$C2/E02F A2 E0 00    LDX #$00E0              A:0080 X:0100 Y:0090 P:envmxdIzC
$C2/E032 20 50 E0    JSR $E050  [$C2:E050]   A:0080 X:00E0 Y:0090 P:envmxdIzC sort again, this time for armors
$C2/E035 A2 00 80    LDX #$8000              A:00F2 X:0100 Y:00F2 P:envmxdIzC
$C2/E038 A0 40 06    LDY #$0640              A:00F2 X:8000 Y:00F2 P:eNvmxdIzC
$C2/E03B A9 FF 01    LDA #$01FF              A:00F2 X:8000 Y:0640 P:envmxdIzC
$C2/E03E 54 7E 7E    MVN 7E 7E               A:01FF X:8000 Y:0640 P:envmxdIzC
$C2/E041 A2 00 7F    LDX #$7F00              A:FFFF X:8200 Y:0840 P:envmxdIzC
$C2/E044 A0 8A 28    LDY #$288A              A:FFFF X:7F00 Y:0840 P:envmxdIzC
$C2/E047 A9 FF 00    LDA #$00FF              A:FFFF X:7F00 Y:288A P:envmxdIzC
$C2/E04A 54 7E 7E    MVN 7E 7E               A:00FF X:7F00 Y:288A P:envmxdIzC
$C2/E04D 28          PLP                     A:FFFF X:8000 Y:298A P:envmxdIzC
$C2/E04E AB          PLB                     A:FFFF X:8000 Y:298A P:envmxdIZC
$C2/E04F 60          RTS                     A:FFFF X:8000 Y:298A P:envmxdIzC



actual comparison
Code: [Select]
$C2/E050 85 93       STA $93    [$00:0193]   A:00E0 X:0100 Y:0000 P:envmxdIzC
$C2/E052 86 95       STX $95    [$00:0195]   A:00E0 X:0100 Y:0000 P:envmxdIzC
$C2/E054 A6 8E       LDX $8E    [$00:018E]   A:00E0 X:0100 Y:0000 P:envmxdIzC

$C2/E056 BD 40 06    LDA $0640,x[$7E:0641]   A:000D X:0001 Y:0000 P:eNvmxdIzc tent in 2nd slot
$C2/E059 29 FF 00    AND #$00FF              A:E2F0 X:0001 Y:0000 P:eNvmxdIzc
$C2/E05C F0 3D       BEQ $3D    [$E09B]      A:00F0 X:0001 Y:0000 P:envmxdIzc
$C2/E05E C9 01 00    CMP #$0001              A:00F0 X:0001 Y:0000 P:envmxdIzc
$C2/E061 F0 38       BEQ $38    [$E09B]      A:00F0 X:0001 Y:0000 P:envmxdIzC
$C2/E063 C9 80 00    CMP #$0080              A:00F0 X:0001 Y:0000 P:envmxdIzC
$C2/E066 F0 33       BEQ $33    [$E09B]      A:00F0 X:0001 Y:0000 P:envmxdIzC
$C2/E068 85 E0       STA $E0    [$00:01E0]   A:00F0 X:0001 Y:0000 P:envmxdIzC
$C2/E06A BD 40 07    LDA $0740,x[$7E:0741]   A:00F0 X:0001 Y:0000 P:envmxdIzC item quantity
$C2/E06D 29 FF 00    AND #$00FF              A:0102 X:0001 Y:0000 P:envmxdIzC
$C2/E070 F0 29       BEQ $29    [$E09B]      A:0002 X:0001 Y:0000 P:envmxdIzC
$C2/E072 C9 64 00    CMP #$0064              A:0002 X:0001 Y:0000 P:envmxdIzC
$C2/E075 30 03       BMI $03    [$E07A]      A:0002 X:0001 Y:0000 P:eNvmxdIzc
$C2/E07A 85 E2       STA $E2    [$00:01E2]   A:0002 X:0001 Y:0000 P:eNvmxdIzc
$C2/E07C A5 E0       LDA $E0    [$00:01E0]   A:0002 X:0001 Y:0000 P:eNvmxdIzc
$C2/E07E C5 93       CMP $93    [$00:0193]   A:00F0 X:0001 Y:0000 P:envmxdIzc compare item id to min id
$C2/E080 30 19       BMI $19    [$E09B]      A:00F0 X:0001 Y:0000 P:envmxdIzC
$C2/E082 C5 95       CMP $95    [$00:0195]   A:00F0 X:0001 Y:0000 P:envmxdIzC compare item id to max id
$C2/E084 10 15       BPL $15    [$E09B]      A:00F0 X:0001 Y:0000 P:eNvmxdIzc
$C2/E086 E2 20       SEP #$20                A:00F0 X:0001 Y:0000 P:eNvmxdIzc
$C2/E088 A5 E0       LDA $E0    [$00:01E0]   A:00F0 X:0001 Y:0000 P:eNvMxdIzc item id
$C2/E08A 99 00 80    STA $8000,y[$7E:8000]   A:00F0 X:0001 Y:0000 P:eNvMxdIzc temp slot1
$C2/E08D A5 E2       LDA $E2    [$00:01E2]   A:00F0 X:0001 Y:0000 P:eNvMxdIzc item quantity
$C2/E08F 99 00 81    STA $8100,y[$7E:8100]   A:0002 X:0001 Y:0000 P:envMxdIzc
$C2/E092 BD 8A 28    LDA $288A,x[$7E:288B]   A:0002 X:0001 Y:0000 P:envMxdIzc
$C2/E095 99 00 7F    STA $7F00,y[$7E:7F00]   A:000D X:0001 Y:0000 P:envMxdIzc
$C2/E098 C8          INY                     A:000D X:0001 Y:0000 P:envMxdIzc
$C2/E099 C2 20       REP #$20                A:000D X:0001 Y:0001 P:envMxdIzc
$C2/E09B E8          INX                     A:000D X:0001 Y:0001 P:envmxdIzc
$C2/E09C E0 00 01    CPX #$0100              A:000D X:0002 Y:0001 P:envmxdIzc
$C2/E09F D0 B5       BNE $B5    [$E056]      A:000D X:0002 Y:0001 P:eNvmxdIzc
...
$C2/E056 BD 40 06    LDA $0640,x[$7E:073F]   A:0000 X:00FF Y:0011 P:eNvmxdIzc empty slot
$C2/E059 29 FF 00    AND #$00FF              A:0400 X:00FF Y:0011 P:envmxdIzc
$C2/E05C F0 3D       BEQ $3D    [$E09B]      A:0000 X:00FF Y:0011 P:envmxdIZc
$C2/E09B E8          INX                     A:0000 X:00FF Y:0011 P:envmxdIZc
$C2/E09C E0 00 01    CPX #$0100              A:0000 X:0100 Y:0011 P:envmxdIzc
$C2/E09F D0 B5       BNE $B5    [$E056]      A:0000 X:0100 Y:0011 P:envmxdIZC
$C2/E0A1 98          TYA                     A:0000 X:0100 Y:0011 P:envmxdIZC create an empty slot at end of category if necessary
$C2/E0A2 1A          INC A                   A:0011 X:0100 Y:0011 P:envmxdIzC
$C2/E0A3 29 FE FF    AND #$FFFE              A:0012 X:0100 Y:0011 P:envmxdIzC
$C2/E0A6 A8          TAY                     A:0012 X:0100 Y:0011 P:envmxdIzC
$C2/E0A7 60          RTS                     A:0012 X:0100 Y:0012 P:envmxdIzC


shouldn't be too hard to add a minor sorting there...

51
interesting, there's a 1.6 now, I just had a 1.02

my google-fu got me at least this:
https://github.com/noisecross/FF5e_Text_Editor

but then I never compiled it myself, so where else could I've gotten it,
ah this is confusing...

52
There's a straight up text editor for FF5 that should get done what you need.

53
If someone wants to give it a try, proof of concept:
https://www.dropbox.com/s/bh5i3ute4ymchgy/FF5unnamed_v0.7z?dl=0

No idea how far mostly unchanged enemy stats will let you get, though.

54
Its funny how a cut-scene will require just couple of bytes to be scripted, while in contemporary games you may need GBs for FMV :)
Considering this whole game is about 2MB and today one asset is bigger than that, cutscene efficiency has gone down a lot over the years :d

55
Final Fantasy V Research & Development / Re: Inventory Sorting
« on: June 06, 2017, 11:16:00 AM »
They should have been more consequent and at least separate weapons by type as well...
*goes back to not finding the misspelled katana in over 100 weapons*

56
Final Fantasy V Research & Development / Inventory Sorting
« on: June 05, 2017, 02:10:11 PM »
Do we have any information on how the inventory is "sorted"?
To be honest, all results seem utterly random apart from consumables first, then weapon, then armor.
Even within each of those groups the order looks random...

57
Are you talking about FF5?  :laugh:
Because if nothing else, F5 stands for easy job change and NO classes ... at all :)
A job earns you money, a class restricts what you can (not) do.

In gaming, I will ALWAYS throw job and class as synonyms around.
I beg for forgiveness :d

Elemental affinities being ubiquitous might necessitate changing how weaknesses work - negating all magic defense and doubling damage is nasty enough when weaknesses are rare on monsters and almost absent on PC equipment. But it seems like you're changing how spell power and magic defense interact already.
Since MP cost is mostly free now (or at least not a finite resource), I have to treat physical and magic damage more equal.
Meaning no more 50 power Fire2 when you have weapons around 20.
That is now sitting at 110% weapon power.


So far I went with:
weakness (spell): x2 multiplier, half defense
weakness (physical, generic): x1.5 multiplier, half defense
weakness (weapon, special, e.g. Coral Sword): x2 multiplier, half defense
resistance (all): x0.75 attack, x1.5 defense
spellblade1: x2 multiplier, no change to defense
spellblade2: x1.25 attack, x0 defense
spellblade3: x1.5 attack, half defense

The humble broad sword only has its generic element, something special like Coral sword can profit twice from element weaknesses.
The multipliers get rediculous again...

58
more a presentation of the "idea" than anything solid.


1) MP/action economy

Battle starts with 10 MP, except for certain class bonus (below) and some equipment.
ELEMENT1 spells cost 0 MP, stronger and more specific spells > 0.
Magic damage is reworked so that even the lowest spells remain relevant by changing fixed spell power into a percentage modifer of the weapon power.
Staff and Rod provide and small bonus on top of that.

Guarding grants 100 MP, next to the usual recovery options like Ethers and Osmose.
If MP is at least 100 at the end of a turn, that character skips wait and immediatly gets to act again.
ATB only moves when noone can do anything.
If you're seeing parallels to Bravely Default, it was kinda the inspiration.

And yes, that makes the Quick spell useless. Will be replaced.
Hmmm... one source of bugs less, strike!

 

2) classes

We have 4 characters and all have access to the same 22 classes, including Freelancer and Mime.
No more!
Noone gets to keep the Hobo class, they learned a profession after all :P
Aside from that, I block 6 classes per character, so each one has 15 classes to choose from. E.g. Bartz can never be a Chemist while Lenna just doesn't have it in her to go Berserker.
Less breakage, more character diversity.

Each class gets to teach 7 abilities, some duplicates across classes for the basics, but the heavy stuff like !X-Fight and !X-Magic should stay unique and as a 7th ability.
Additionally stupid stuff like White1-6 goes and only teaches White once. You don't have to learn 6 times how to wield a sword either, neither has !Blue that problem.

Changing into a class no longer changes stats, instead levelling a class grants permanent stat bonuses, 3 out of HP, MP (starting bonus and max), STR, AGL, MAG, VIT. Duplicates possible.
E.g. each level of Monk gives +2x VIT and +1x HP (30 HP before VIT %bonus)

ABP required is not based on which ability you learn next but purely on how many class levels you already have.
From the 30th class level it costs 999 ABP then. I've so far decided against a hard cap of class levels.

 

3) items

Consumables aren't used up, instead you get a cooldown during which you can't use !Item.
Higher item stacks increase effect or lower cooldown. E.g. 1x Potion heals 30 HP, 99x Potion 2000 HP.
Mix still uses items up because it is that broken.
Undecided on Drink and Throw.

Out of battle healing is not possible anymore (except for tents), instead you get a free partial heal based on VIT on victory.

 

4) equipment

Equipment is changed from Helm, Armor and Relic to 3x Relic.
Non-shields have to get renamed.

 

5) elements

Everything should get one of the eight elements this game has instead of 90% neutral.
Weapons belong to one element per type, i.e. swords would be fire except for special cases.
Armors for defensive obviously, each element would give 2 resistances and 2 weaknesses, mix gear badly and you're suddenly weak to 6 elements.
The only thing I'd allow to be neutral would be the final boss. Everything else, enemy or otherwise, should have elemental affinity (i.e. weaknesses).



Also, I'm still stuck on the biggest hurdle: the hack's name. :sad:
I've decided on the acronym, not on the long title. Go figure...

59
Final Fantasy V Research & Development / Re: Monsters die slowly...
« on: June 04, 2017, 04:24:22 AM »
I see no more side effects.
Good work!

60
Final Fantasy V Research & Development / Re: New Ability Info
« on: May 30, 2017, 01:13:27 PM »
the creature's element.
though I'm not good as an artist.

I wanted to keep non-element to a minimum, since it feels omnipresent in vanilla.
Both on the attacking side and the defensive side.
Does it matter if a monster casts fire2 or ice2 or lightning2? Normally not.
On the flipside it feels like 80% of the enemies are just neutral to all enemies - I haven't counted but a ton of entries are just empty element wise.

So almost everything now has an element; be it enemy, spells or equipment.
Weapons have an element by their category; swords are generally fire now and axes earth.
Every class has access to all weapon types, so hitting a weakenss via weapon is - if !Item is available - about as easy as hitting the weakness via magic.
Though that is not the same "element" as the one used for the vanilla elemental weapons, that is a separate entry.
And to keep guesswork to a minimum, I just display those icons there.

Ok, the honest reason is I'm lazy, so I just wrote a routine that reads the enemies name upon creation and uses that to set weakness and resistance flags.
Exceptions for immunity and absorption have still to be set manually...

Pages: « 1 2 3 4 5 6 »