Users browsing this thread: 6 Guest(s)
Pony Fantasy VI Remake

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Another AI script problem. This is my Doom replacement, Hurricane. He hasn't been working right. This is despite the fact his AI script is identical to Doom's, just with different attacks and a couple extra blows tossed in too. All the ifs, end ifs, variable sets, are the same. According to the playtester who tested this, Hurricane would do the Aeroslice/Dark Bolt/Dark Ice move, then use Polarize, and cycled through those same two turns.

Here's Hurricane's AI.

Code:
[script #-1]   ; orig idx=295, "Hurricane", nb. bytes=148
FC 17 4D 00    ; If target that was last targeted by Targeting is valid, set it, and
EF             ; Special
EF             ; Special
EF             ; Special
FE             ; End If and reset targeting
FC 14 24 00    ; If VAR036 has all the following bit set: 0
FC 0B 14 00    ; If timer has reached/passed 20 (locks timer)
FC 0C 02 08    ; If variable VAR002 is less than to 8
9A             ; Aeroshield
F8 02 81       ; 1 added to VAR002
FB 00 00       ; has battle timer set to 0
FE             ; End If and reset targeting
FC 0D 03 08    ; If variable VAR003 is greater than or equal to 8
F8 03 00       ; Set VAR003 to 0
F1 43          ; Targeting: allies
C9             ; Polarize
F1 48          ; Targeting: ally #1
EF             ; Special
F1 49          ; Targeting: ally #2
EF             ; Special
F1 4A          ; Targeting: ally #3
EF             ; Special
F1 4B          ; Targeting: ally #4
EF             ; Special
FE             ; End If and reset targeting
FC 14 24 00    ; If VAR036 has all the following bit set: 0
54             ; Hurricane
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF CA CA    ; Rand. spell: Special or Targetting or Targetting
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF EF CA    ; Rand. spell: Special or Special or Targetting
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF CA CA    ; Rand. spell: Special or Targetting or Targetting
FE             ; End If and reset targeting
F0 E9 E3 77    ; Rand. spell: Dark Bolt or Dark Ice or Aeroslice
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 B2 16 16    ; Rand. spell: Cyclonic or <MB>Cyclon or <MB>Cyclon
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 BE E9 E3    ; Rand. spell: Flash Rain or Dark Bolt or Dark Ice
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
54             ; Hurricane
FF             ; End first wave of attack
FC 12 00 00    ; If following monster is/are dead:
F5 0C 01 FF    ; Monsters #1, #2, #3, #4, #5, #6 are killed, dies like a boss
FE             ; End If and reset targeting
FC 05 00 00    ; If monster has been attacked
F0 EE EE EF    ; Rand. spell: Battle or Battle or Special
F8 03 81       ; 1 added to VAR003
FC 06 36 FF    ; If target self has less or equal than 32640 HP
FC 15 24 01    ; If VAR036 has all the following bit cleared: 1
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
F3 88 00       ; Text: " Hurricane summoned the wind!<D>"
F1 36          ; Targeting: self
FB 0B 0A       ; Monster gains hidden status: Image
FB 0B 17       ; Monster gains hidden status: Reflect
FB 0B 13       ; Monster gains hidden status: Haste
F9 01 24 00    ; VAR036 set bit: 0
F9 01 24 01    ; VAR036 set bit: 1
FF             ; End

And here's Doom's for comparison.

Code:
[script #-1]   ; orig idx=295, "Doom", nb. bytes=140
FC 17 4D 00    ; If target that was last targeted by Targeting is valid, set it, and
EF             ; Special
FE             ; End If and reset targeting
FC 14 24 00    ; If VAR036 has all the following bit set: 0
FC 0B 14 00    ; If timer has reached/passed 20 (locks timer)
FC 0C 02 08    ; If variable VAR002 is less than to 8
9A             ; ForceField
F8 02 81       ; 1 added to VAR002
FB 00 00       ; has battle timer set to 0
FE             ; End If and reset targeting
FC 0D 03 08    ; If variable VAR003 is greater than or equal to 8
F8 03 00       ; Set VAR003 to 0
F1 43          ; Targeting: allies
C9             ; R.Polarity
FE             ; End If and reset targeting
FC 14 24 00    ; If VAR036 has all the following bit set: 0
F0 EE CA CA    ; Rand. spell: Battle or Targetting or Targetting
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EE CA CA    ; Rand. spell: Battle or Targetting or Targetting
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EE EE CA    ; Rand. spell: Battle or Battle or Targetting
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EE CA CA    ; Rand. spell: Battle or Targetting or Targetting
FE             ; End If and reset targeting
F0 0A C5 BB    ; Rand. spell: <MB>Ice 3 or N. Cross or Absolute 0
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 FE 0A C5    ; Rand. spell: Nothing or <MB>Ice 3 or N. Cross
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 0A C5 0A    ; Rand. spell: <MB>Ice 3 or N. Cross or <MB>Ice 3
FD             ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 FE 0A BB    ; Rand. spell: Nothing or <MB>Ice 3 or Absolute 0
FF             ; End first wave of attack
FC 12 00 00    ; If following monster is/are dead:
F5 0C 01 FF    ; Monsters #1, #2, #3, #4, #5, #6 are killed, dies like a boss
FE             ; End If and reset targeting
FC 05 00 00    ; If monster has been attacked
F0 EE EE FE    ; Rand. spell: Battle or Battle or Nothing
F8 03 81       ; 1 added to VAR003
FC 06 36 FF    ; If target self has less or equal than 32640 HP
FC 15 24 01    ; If VAR036 has all the following bit cleared: 1
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
F3 88 00       ; Text: " Doom's aura is shaking!<D>"
F1 36          ; Targeting: self
FB 0B 0A       ; Monster gains hidden status: Image
FB 0B 17       ; Monster gains hidden status: Reflect
FB 0B 13       ; Monster gains hidden status: Haste
F9 01 24 00    ; VAR036 set bit: 0
F9 01 24 01    ; VAR036 set bit: 1
FF             ; End
  Find
Quote  

Posts: 1,633
Threads: 56
Thanks Received: 13
Thanks Given: 84
Joined: Apr 2014
Reputation: 12
Status
Atma
You said they have more life bars your 3 god statues, right?
When you kill a life bar, the AI script restarts from the beginning, so turn based attacks will start from the first turn.
Assuming he's able to kill a life in 2 turns, then he will always see the same AI, since you told their AI won't change during the battle  


There's also another thing i noticed, R.polarity is triggered after the timer reaches 20, which is not very much... if you're able to buy enough time, and make him act few turns(i don't know if battle/message speed settings can affect this), then he might be forced from his script to use R.polarity after one action after he casted it the previous time...


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  

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
The reported pattern occurred when he wasn't attacking at all, so it isn't HP. Besides, I removed the revival variable from the posted AI script, so Hurricane has the same HP as Doom.

R.Polarity is not on a timer, that's Aeroshield/ForceField, which is further set to an variable that triggers at partial HP.

Anyone else have ideas?
  Find
Quote  

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Used Doom's script entirely unedited, apparently he never uses Force Field at all and keeps using his other attack with Reverse Polarity.

Someone please help, I've exhausted all means of troubleshooting I know.
  Find
Quote  

Posts: 2,548
Threads: 98
Thanks Received: 147
Thanks Given: 156
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
(02-07-2017, 02:47 PM)DrakeyC Wrote: Used Doom's script entirely unedited, apparently he never uses Force Field at all and keeps using his other attack with Reverse Polarity.

Someone please help, I've exhausted all means of troubleshooting I know.

Playing it here everything seems to be working correctly.

It starts with this part:
F0 0D E3 E9 ; Rand. spell: Gust or Dark Ice or Dark Bolt
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 0D 16 16 ; Rand. spell: Gust or Cyclon or Cyclon
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 BE E9 E3 ; Rand. spell: Flash Rain or Dark Bolt or Dark Ice
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 A9 16 16 ; Rand. spell: Acid Rain or Cyclon or Cyclon
FF ; End first wave of attack

until this part:
FC 06 36 FF    ; If target self has less or equal than 32640 HP
FC 15 24 01    ; If VAR036 has all the following bit cleared: 1
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
FA 0C 01 00    ; Monsters palette flashes to yellow briefly
F3 88 00       ; Text: " Hurricane summoned the wind!"
F1 36          ; Targeting: self
FB 0B 0A       ; Monster gains hidden status: Image
FB 0B 17       ; Monster gains hidden status: Reflect
FB 0B 13       ; Monster gains hidden status: Haste
F9 01 24 00    ; VAR036 set bit: 0
F9 01 24 01    ; VAR036 set bit: 1

then it goes to:
FC 14 24 00 ; If VAR036 has all the following bit set: 0
F0 EF CA CA ; Rand. spell: Special or Targetting or Targetting
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF CA CA ; Rand. spell: Special or Targetting or Targetting
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF EF CA ; Rand. spell: Special or Special or Targetting
FD ; Wait until the attack sequence is called upon again, then continue (reset targeting)
F0 EF CA CA ; Rand. spell: Special or Targetting or Targetting
FE ; End If and reset targeting

so then this will trigger, which it does:
FC 17 4D 00 ; If target that was last targeted by Targeting is valid, set it, and
EF ; Special
EF ; Special
EF ; Special
FE ; End If and reset targeting

and does this every 20 seconds until 8 times:
FC 14 24 00    ; If VAR036 has all the following bit set: 0
FC 0B 14 00    ; If timer has reached/passed 20 (locks timer)
FC 0C 02 08    ; If variable VAR002 is less than to 8
9A             ; Aeroshield
F8 02 81       ; 1 added to VAR002
FB 00 00       ; has battle timer set to 0
FE             ; End If and reset targeting

and does this after being attacked 8 times:
FC 0D 03 08    ; If variable VAR003 is greater than or equal to 8
F8 03 00       ; Set VAR003 to 0
F1 43          ; Targeting: allies
C9             ; Polarize
F1 48          ; Targeting: ally #1
EF             ; Special
F1 49          ; Targeting: ally #2
EF             ; Special
F1 4A          ; Targeting: ally #3
EF             ; Special
F1 4B          ; Targeting: ally #4
EF             ; Special
FE             ; End If and reset targeting

I gotta ask, have you tested it and can confirm it as an issue or is it purely going off the tester's account thus far? And if so that, can any more people confirm it? For me the original Doom script is working right with your hack, he (or is it she?) is doing the Forcefield when/as the script indicates. So I'm not too sure what to think if it's not there. I'm assuming this is the latest patch I'm using, from page 1 download.


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

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Testing it myself, yeah it seems okay. I'm not sure why the tester kept having errors but I've learned not to question these things.

Thanks for the simple idea to just check myself. Just in case I'll have a third party try it out too.
  Find
Quote  

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
A more advanced question this time. Due to me not wanting to chop up my new Bahamut sprite as the game does, his sprite was always misaligned with the Mega Flare animation. One player joked it looks like he's farting fire on enemies.

[Image: Old%20Sunfire_zpsbyx6f2wf.png]

So I downloaded the battle animations document and looked at how to move the placement of the animation and the sprite to make the mouth line up with the source of the flames. These were the two pieces I played around with to change the coordinates. 

Code:
D0/4C01: A5 CD 4A 00 DE FF 80 00  init circle at (205,74)

Code:
D0/4C4E: 80 2E C0 40              move to (192,64)

After changing the coordinates, it mostly works. The new sprite and Mega Flare align properly in their new places when summoned normally, but in a side attack they revert to their original alignment. I'm not sure how to fix that, or if it can be fixed?

[Image: New%20Sunfire_zpsklofbbtx.png]

[Image: Side%20Sunfire_zpshtruxfak.png]
  Find
Quote  

Posts: 2,548
Threads: 98
Thanks Received: 147
Thanks Given: 156
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
That's a good question, I myself have no idea. You might wanna shoot Everything ( https://www.ff6hacking.com/forums/member...comments/1) a PM regarding this. He is the one who is responsible for that document and just might have this knowledge.


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

Posts: 3,966
Threads: 279
Thanks Received: 234
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(03-15-2017, 11:34 AM)DrakeyC Wrote: I'm not sure how to fix that, or if it can be fixed?

A good indication would be the vanilla animation (pincer both sides / normal). If it's the same animation (outise summon sprite position), then you can't do anything but if the animation is different it mean those coordinate are relative to either: 1) the summon sprite, 2) the battle scene where enemies stand (which has a different size and ending position in a pincer attack). Then playing with the script might worth a shot.
  Find
Quote  

Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Ah well then. Thanks anyway. At least I got this much fixed. Smile I'll shoot Everything a PM just in case.
  Find
Quote  



Forum Jump:

Users browsing this thread: 6 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite