Users browsing this thread: 1 Guest(s)
Delay before special attacks

#1
Posts: 11
Threads: 4
Thanks Received: 0
Thanks Given: 2
Joined: Oct 2013
Reputation: 0
Status
None
Hello Tongue

Is it possible to make that some attacks have a delay before they actually cast. Let's say I choose Fire with Terra so her animation of casting will last 2 secondes before the actual magic is casted (the ATB is still running while the delay occures). If I choose, let's say, Ultima it could takes 10 secondes before casting.

I think it was like that in FF4 if I remember. Also, it's kind of different but FF Tactics do this a lot.

And if it's possible for Magics, I presume it should be as well for skills like Pummel or Autocrossbow.

I want this to tweak some OP attacks and give Edgar/Cyan/Sabin/Shadow a real reason to use their Fight commands.

Thanks ! 0:-)
  Find
Quote  

#2
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
The only thing regarding casting time that can be readily changed is this list here from assassins C2 document:

(Data - Time to wait after entering a command until character actually

performs it (iow, how long they spend in their ready stance). This
value * 256 is compared to their $3AB4 counter. I'm really not sure
how this applies to enemies.)

C2/067B: 10 (Fight)
C2/067C: 10 (Item)
C2/067D: 20 (Magic)
C2/067E: 00 (Morph)
C2/067F: 00 (Revert)
C2/0680: 10 (Steal)
C2/0681: 10 (Capture)
C2/0682: 10 (SwdTech)
C2/0683: 10 (Throw)
C2/0684: 10 (Tools)
C2/0685: 10 (Blitz)
C2/0686: 10 (Runic)
C2/0687: 20 (Lore)
C2/0688: 10 (Sketch)
C2/0689: 10 (Control)
C2/068A: 10 (Slot)
C2/068B: 10 (Rage)
C2/068C: 10 (Leap)
C2/068D: 10 (Mimic)
C2/068E: 10 (Dance)
C2/068F: 10 (Row)
C2/0690: 10 (Def.)
C2/0691: E0 (Jump)
C2/0692: 20 (X-Magic)
C2/0693: 10 (GP Rain)
C2/0694: 10 (Summon)
C2/0695: 20 (Health)
C2/0696: 20 (Shock)
C2/0697: 10 (Possess)
C2/0698: 10 (MagiTek)
C2/0699: 00
C2/069A: 00

But this of course affects the whole skill-set -- to do it for individual spells, that would require some re-programming. One would need to have mad programming/assembly skills for such a feat I mean, but it is technically possible.


We are born, live, die and then do the same thing over again.
Quote  

#3
Posts: 763
Threads: 83
Thanks Received: 55
Thanks Given: 7
Joined: Apr 2015
Reputation: 22
Status
Obliviscence
You could potentially do some ASM work here to further specify specific abilities to give them longer/shorter cast times. It would be relatively simple and only require a few lines of additional code.
  Find
Quote  

#4
Posts: 11
Threads: 4
Thanks Received: 0
Thanks Given: 2
Joined: Oct 2013
Reputation: 0
Status
None
Oh thank you!!
This list is already a very good thing, what I want more is to delay the tools or the throw command to make the fight for Edgar or Shadow worth it sometime. It's good enough like this. But where do I change the numbers? (I'm kind of noob, I work in the industry as a designer but I suck at programming or even basic PC stuff. Tongue)
  Find
Quote  

#5
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
You need to use a hex editor like windhex and search for the offset/address '20683' on a headerless ROM. There is an option in the hex editor to search for the offset so you don't have to find it manually. There is also an option to remove the header if you need to, you can always add put it back if need be with SNESTool.

C2/0683: 10 (Throw)
C2/0684: 10 (Tools)

The '10' there is the byte value you want to change, make it higher to increase the time.
'FF' is the maximum hex value. '00' is the lowest. Take a look at a hex chart to see how hex works if you get confused why there's alphabet letters =D.

The 'E0' seems to be the byte to use if you want it to initiate immediately, like Jump -- If you wanna change Fight to that as well to make it more worthwhile or what evs.


We are born, live, die and then do the same thing over again.
Quote  

#6
Posts: 290
Threads: 3
Thanks Received: 40
Thanks Given: 1
Joined: Apr 2012
Reputation: 9
Status
None
In my experience, the jump entry is a bit different. That delay actually seem to be how long the jumper is in the air rather than the delay before he actually jumps.

$00 would be immediate activation.


GET A SILK BAG FROM THE GRAVEYARD DUCK TO LIVE LONGER.

Brave New World
  Find
Quote  

#7
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
Ohhhh, OK that makes since. Thanks for the clarification. =)


We are born, live, die and then do the same thing over again.
Quote  

#8
Posts: 11
Threads: 4
Thanks Received: 0
Thanks Given: 2
Joined: Oct 2013
Reputation: 0
Status
None
Thanks both of you! I will check this out.

(What exactly is an header ?)
  Find
Quote  

#9
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(11-21-2013, 10:41 AM)kroda Wrote: (What exactly is an header ?)

A header is the first 200 bytes of a ROM that usually contains the game name. The rest consists of 00. Sometimes the ROM has no header or sometimes it has one. It's kinda important to know because if you look at an offset in a disassembly, you gotta add 0x200 to that offset to get to the good point if your ROM has a header.
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite