јAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;u=278;area=showposts;start=1005e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexfe34-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=278e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexfe34-2.html.zxжхg^џџџџџџџџџџџџџџџџџџџџШ0P.’OKtext/htmlISO-8859-1gzip8:ж’џџџџџџџџTue, 10 Mar 2020 19:25:33 GMT0ѓАА Ў0ЎPЎ€ЇВ№Ўехg^џџџџџџџџU ’ Show Posts - chillyfeez

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 - chillyfeez

1006
The last thing I want to present is unnecessarily long code.
What? You mean you don't want to be like the FFIV developers?
Thanks for taking a look at this for me as well.
Assuming this is not tongue-in-cheek (since you didn't ask, I just kinda butted in), no problem. This kinda stuff is fun for me compared to where I am in my little preview project - writing in character palettes using SNESPal. Ugh!

So here's the updated code. I tested it and it works, though as before, I did not test the resultant character's attacks on the pertinent monsters.
Code: [Select]
$03/D8B0 AD 97 26 LDA $2697  [$7E:2697] ;Load caster's Wisdom into A
$03/D8B3 A2 00 00 LDX #$0000 ;Load 0000 into X
$03/D8B6 C9 50 CMP #$50 ;Compare caster's Wisdom with 50(H), or 80(Dec)
$03/D8B8 90 02 BCC $02    [$D8BC] ;If it is less, skip the next op
$03/D8BA A9 50 LDA #$50 ;If it is 50 or more, load 50 into A
$03/D8BC C9 14 CMP #$14 ;Compare caster's Wisdom with 14(H), or 20(Dec)
$03/D8BE 90 06 BCC $06    [$D8C6] ;If it is less, skip ahead to 03/D8C6
$03/D8C0 E8 INX ;Increase X by 1
$03/D8C1 38 SEC                     
$03/D8C2 E9 0A SBC #$0A ;Subtract 0A, or 10(Dec), from A
$03/D8C4 80 F6 BRA $F6    [$D8BC] ;Loop back up to 03/D8BC
$03/D8C6 A9 80 LDA #$80 ;load 01 into A
$03/D8C8 E0 00 00 CPX #$0000 ;Compare X with 0000
$03/D8CB F0 06 BEQ $06    [$D8D3] ;if X is 0000 (first time around, this means caster's wisdom is less than 20), then skip ahead to 03/D8D3
$03/D8CD CA DEX ;Decrease X by 1
$03/D8CE 4A LSR A ;Divide A by 2, or more appropriately here, shift the bits in A one spot to the right
$03/D8CF 09 80 ORA #$80 ;OR A with 80, or more appropriately here, set A's bit 7 to 1
$03/D8D1 80 F5 BRA $F5    [$D8C8] ;Loop back up to 03/D8C8
$03/D8D3 0D 1A 27 ORA $271A  [$7E:271A] ;OR A with Target's "strong against" byte
$03/D8D6 8D 1A 27 STA $271A  [$7E:271A] ;Store A in target's "strong against" byte
$03/D8D9 60 RTS

1007
Hmm... then you'd have to LSR A, then ORA #$80 (that'd be the most economical route). It would be an extra byte long, so would affect the operand of a couple of branches, too. I'm doing this on my phone right now. Will update the code when I get home.

1008
I didn't check the actual effect on live monsters, but the bab-il docs say bit 0 (00000001)=undead and bit 7 (10000000)=dragon, so that's what I wrote. Is creature type actually reversed?

1009
Ok, here's my version of Aura:
Code: [Select]
$03/D8B0 AD 97 26    LDA $2697  [$7E:2697]   ;Load caster's Wisdom into A
$03/D8B3 A2 00 00    LDX #$0000              ;Load 0000 into X
$03/D8B6 C9 50       CMP #$50                ;Compare caster's Wisdom with 50(H), or 80(Dec)
$03/D8B8 90 02       BCC $02    [$D8BC]      ;If it is less, skip the next op
$03/D8BA A9 50       LDA #$50                ;If it is 50 or more, load 50 into A
$03/D8BC C9 14       CMP #$14                ;Compare caster's Wisdom with 14(H), or 20(Dec)
$03/D8BE 90 06       BCC $06    [$D8C6]      ;If it is less, skip ahead to 03/D8C6
$03/D8C0 E8          INX                     ;Increase X by 1
$03/D8C1 38          SEC                     
$03/D8C2 E9 0A       SBC #$0A                ;Subtract 0A, or 10(Dec), from A
$03/D8C4 80 F6       BRA $F6    [$D8BC]      ;Loop back up to 03/D8BC
$03/D8C6 A9 01       LDA #$01                ;load 01 into A
$03/D8C8 E0 00 00    CPX #$0000              ;Compare X with 0000
$03/D8CB F0 05       BEQ $05    [$D8D2]      ;if X is 0000 (first time around, this means caster's wisdom is less than 20), then skip ahead to 03/D8D2
$03/D8CD CA          DEX                     ;Decrease X by 1
$03/D8CE 0A          ASL A                   ;Multiply A by 2, or more appropriately here, shift the bits in A one spot to the left
$03/D8CF 1A          INC A                   ;increase A by 1, or more appropriately here, set A's bit 0 to 1
$03/D8D0 80 F6       BRA $F6    [$D8C8]      ;Loop back up to 03/D8C8
$03/D8D2 0D 1A 27    ORA $271A  [$7E:271A]   ;OR A with Target's "strong against" byte
$03/D8D5 8D 1A 27    STA $271A  [$7E:271A]   ;Store A in target's "strong against" byte
$03/D8D8 60          RTS
It's shorter by 14 bytes.
Also, I used an OR to ensure any current "strong against" data won't be wiped out by the spell. That is, if the target character is already strong against machines, and the caster's Wisdom is only 30, the target will end up strong against Undead, Mages, Slimes and Machines.

1010
So I was finally getting around to looking at Aura, and I have a question - do you want the effect to vary based on the target's wisdom, or based on the caster's wisdom? I think the code you wrote uses the target's, but in the normal context of FFIV, it seems to me it might make more sense based on the caster's. Not a big deal, it's a difference of one byte, but I just thought I'd ask.

1011
Regarding your Aura spell - is there a particular reason you chose
Zombie
Mage
Spirit
Robot
Reptile
Giant
Slime
Dragon

Instead of
Zombie
Mage
Slime
Giant
Spirit
Reptile
Machine
Dragon

I think I can think of a way the code could be shorter if you were to follow the "natural order" of creature types. Not that it needs to be, it's just fun for me to think about that kind of thing.

1012
They are. Anything past 19 is considered to be fueled by Wisdom. This plan would have to include extra stats to look at past Flare  (Ninja) then Wisdom+Will/2 for the Summons and then back to "Spell Power" for monsters spells.
Hmm... tbh, I hadn't looked much at the magic portion of your research. I probably won't touch it for the preview, but it's definitely something to consider for the final product.

1013
Can you change Ninja's stat independently of Black's stat?
I thought they were the same thing except for the name.

1014
If you mean individual spell routines - yes, there are some custom routines - mostly monster abilities that mimic blue magics from other FF games.
If you mean the actual spellcasting routines - no. Do you have ideas about how they could be improved upon?
My goal, since my hack is an after after years sequel, is to not take away the basic feel of battle, but still introduce some new abilities to keep it fresh and exciting.

1015
Many battle commands in my hack are all kinds of messed with, Grimoire. The invincibility Limit skill works like Regen - that is, the character performs an action that turns some stuff on in battle, then auto-readies a second action that ends said stuff.

1016
Yeah, LordGarmonde. You can target the character like normal, but if you perform an action that targets only "hidden" character(s), the action just won't be performed. This includes healing actions.

What I hope to release soon won't be a full game by any stretch, just a playable preview of the full game I'm working on. I have the whole plot planned, and I've got all of the characters made, but I won't have the whole thing done for a loooong time still, I think.

1017
Ok, in the interest of appeasing the programminatrix  ;)
We can use this thread for stuff that isn't really big enough for its own thread.

1018
Actually, you could also mess with the ASM to take away the control loss that comes with berserk status. That's part of the same coding that initiates auto-hide, I believe. I've never tried it , but I am pretty sure it can be done.
Fun little tidbit - if you add Hide status, but keep the character on-screen, you get controllable invincible characters! That's part of one of my upcoming limit skills.

1019
Good ol FFIV... just when you think you've seen the height of needlessly complicated, you get a gem like this. Nice work deciphering that!

1020
Pinkpuff - those asterisks in yousei's document indicate footnotes, I think.
Is there a "*4" at the bottom of the doc that might help?