Users browsing this thread: 1 Guest(s)
multiply special and battle spells

#1
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
This one might be an interesting progress for my hack, if i manage to implement it of course! Tongue , since i wanna create different effects for specials and battle(like distinguishing between a magic and a physical attack, or between a melee and a ranged attack)
Now, a standard spell with a strange effect should need just copying his script and use it for another spell too, but battle and special have a little difference: they both load some particular and unique value according to the monster who use the command, with attack they load from monster table their attack animation;
with special they load from monster table their special's name, extra effect, animation, etc... that piece of code is hardcoded for sure.

Then i'd like to know how those pieces of code work exactly(it would be nice seeing the script too) and so understand if copypasting is enough to make other version of those 2 spells without causing some bug, or if i need to customize the code according to spell ID or something...

PS. about attack command... are Fight command and Battle spell the same attack? if i change the nature of the command used from enemies, then even the allies will have their standard attack changed too?


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#2
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
Hmm... not even a clue? Sad

How 'bout pointing me the address to special and battle spells code that should be involved in the process, especially the one that loads monster's settings on attack animation and special unique(personal) features, at least? Wink


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#3
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
If you refer to monster special move graphics, it is store in $3C81 and at some point in $B7. This is taken care in bank C2.
  Find
Quote  

#4
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
Rather than graphics, i'm talking about special effects of spell... for example unique flare star effect(damage based on target's level) or quake special effect "automatically miss if target is in float status"... their effect should be coded somewhere.

Said that "Special" properties and "Battle" spells animation belong to a different list, the game must know that it was a soldier or a dragon the attacker and so decide if battle will use sword animation or dragon claw; if they use special the game must know who was among the two, in the first case it will load special named "critic", a special with attack lv 2 and a white slash animation; in the second case it will load special named "bite", a special attack with attack lv 4 and white bites animation.
what i wanna know is where's the code that loads those info about Special and Battle and determinates the related monster's ID to do that? perhaps there's a script hardcoded for those 2 spells...
Some time ago Catone posted to answer to one of my threads some quite interesting information:

Code:
C2/02A0: BD E4 3E     LDA $3EE4,X
C2/02A3: 89 20        BIT #$20       (Check for Imp Status)

Code:
C2/29BB: BD E4 3E     LDA $3EE4,X
C2/29BE: 89 20        BIT #$20       (Check for Imp status)
C2/29C0: D0 05        BNE $29C7      (if an Imp, branch)
C2/29C2: A9 06        LDA #$06
C2/29C4: 8D 12 34     STA $3412      (will display a monster Special atop the screen, and
                                      attack will load its properties at C2/32F5)

It was to know how to allow enemies to use special even in imp status... watching some line description, this should be some good clue about the existence of a code for each spell(not the special effect, the spell itself) here, after the imp check it says it loads and display the name of special and load its properties.
yet the code is not complete so i cannot tell if it describes what i wanna know... the piece of code seems part of special spell, so i guess there's also the code of battle spell.
Those address should be what i'm searching for.


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#5
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(07-23-2015, 03:32 AM)Tenkarider Wrote: i'm talking about special effects of spell... for example unique flare star effect(damage based on target's level) or quake special effect "automatically miss if target is in float status"... their effect should be coded somewhere.

Yes. They are all coded in bank C2. Just make a search with the spell name and you'll find them. As an example, Flare Star is at C2/410F.
  Find
Quote  

#6
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
Thanks about that, anyway...

Quote:Said that "Special" properties and "Battle" spells animation belong to a different list, the game must know that it was a soldier or a dragon the attacker and so decide if battle will use sword animation or dragon claw; if they use special the game must know who was among the two, in the first case it will load special named "critic", a special with attack lv 2 and a white slash animation; in the second case it will load special named "bite", a special attack with attack lv 4 and white bites animation.
what i wanna know is where's the code that loads those info about Special and Battle and determinates the related monster's ID to do that? perhaps there's a script hardcoded for those 2 spells...

The question in the quote was even more important, probably without that, i cannot even aim to my goal...


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#7
Posts: 3,970
Threads: 279
Thanks Received: 236
Thanks Given: 58
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
The monster special attack is part of monster data. It is stored in $322D. You can make a search for that particular RAM value.
  Find
Quote  

#8
Posts: 149
Threads: 21
Thanks Received: 40
Thanks Given: 3
Joined: Dec 2013
Reputation: 9
Status
Auto-life
Apparently, as referenced in the code you posted, the setting for the monster special is from C2/32EE to C2/334E. It doesn't load any data spell. Instead, it directly interprets the monster data and writes the attack data of the monster special in assembler. Because it doesn't load any spell data, your only option is to rewrite the code.

About the fight setting, its initial data apparently is set in the C2/26D3 routine. The routine setups all initial data of the commands. It uses the pointers table at C2/2782:

Code:
C2/2782: 52 27  (Fight, Morph, Revert, Steal, Capture, Runic, Sketch, Control, Leap, Mimic,
                 Row, Def, Jump, GP Rain, Possess)
C2/2784: 3C 27  (Item)
C2/2786: 4D 27  (Magic, SwdTech, Blitz, Lore, Slot, Rage, Dance, X-Magic, Summon, Health,
                 Shock, MagiTek)
C2/2788: 08 27  (Throw, Tools)

The fight command, and many others, is setup at C2/2752. The relevant code is:
Code:
C2/2752: A9 EE        LDA #$EE    (select Spell EEh - Battle)
C2/2754: 20 66 29     JSR $2966   (go load spell data)

Please, pay attention to the fact that it is the initial data setup for ALL referenced commands. Their data can be modified later. It can happen anywhere, but generally it happens at the C2/19C7 pointer table. It does many adjustments, specific for each available command. It includes the fight command.

The pointer for the fight command in the table is C2/15C8. The routine handles desperation attacks, offering and Umaro's attacks. Probably, you can rewrite/update this routine for your goals.

There is no easy way. The “fight” command and the “special” pseudo-command are hard coded in assembler. You will have to find your way to rewrite their code, and another pieces of code can be scattered in the rom. Good luck!
  Find
Quote  
[-] The following 1 user says Thank You to HatZen08 for this post:
  • Tenkarider (07-23-2015)

#9
Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
Still have to work on this thing... meanwhile i was trying to "improve" special command effect from spell list table in ff3usme, i mean... something like changing:

1) the single target into all enemies, but it won't work... looks like it's bound to fight command targeting, like battle spell... i might change fight target and then it would change Special target as well, but attacking normally would become not normal... Laugh

2) i wanted to apply some extra effect from the upper-right list box, for example adding 8x attack launcher effect of 4x attack, like Quadra Slam, but this part is completely ignored from Special spell... any chance the extra effect is blocked in the hardcoded script of Special or that it's replaced from the list of extra effects in the monster list? (like attack lv 4, seizure, freeze) any suggestion on how to edit Special Spell?

3) in the case i'll focus on extra effects from monster list... there's a bunch of "Remove Reflect" extra effect... do they do all the same thing? in the case i'd like to leave just 1 Remove reflect and changing the others in something new... but where can i find the unique list of extra effects for Special? anyone knows the address to that list and how it works?


THE GREATEST CHALLENGE OF ALL TIMES AWAITS:
http://www.ff6hacking.com/forums/showthr...p?tid=2593
DO YOU HAVE WHAT IT TAKES TO SLAY A GOD?
------------------------------------------------------------------------
Tenkarider's project #2 is started: FF6 Curse of the Madsiur Joke (CotMJ)
http://www.ff6hacking.com/forums/showthr...p?tid=2755
What happens when Madsiur tweaks your account? This full game hack will show that!
  Find
Quote  

#10
Posts: 2,549
Threads: 98
Thanks Received: 147
Thanks Given: 159
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
Tenka you are the man of a million questions lol. And king of ellipses also, 9 in this last post alone! Seriously though, sometimes I wonder if you just think of lots of questions to ask instead of attempting to work them out on your own first.


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



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite