Users browsing this thread: 1 Guest(s)
Patch: Selectable Script
Path: Selectable Script 1.0
Target: Final fantasy 3, Version 1.0, English
Download
I want to share a patch i make. Perhaps, It can be helpful for a hacker.
Description:
In the original game, the enemy actions are determined by a script. In special cases, the enemy script is ignored and a random action is selected for the monster from its control list of commands. Common examples are the muddle status and Colosseum fights.
The patch changes the selection between the monster script and the control list. When the 'special event' flag is set in the monster database, the monster will use its script. Otherwise, it will use its control list instead.
The advantage of this patch is to reduce the script size. Common enemies, without the need of advanced scripts, can be set to use its control list. Because of it, the enemy script can be fully emptied. The free bytes can be used by another monsters scripts.
Unlike the original game, the monsters in the Colosseum battles can also use its monster script. It allows for better customization of the monsters behavior in duels.
With this patch, the 'special event' flag must be revised for all monsters in the database. The original setting may not be correct for this new approach. In special, pseudo enemies which actually triggers a cinematic event or special code must always have the 'special event' flag set.
As a note, the berserk and muddle status will always force the monster to ignore its script, independently of the 'special event' flag. Also, monsters actually have two imbued scripts. One for its turn and another for a counter. The counter script will always be executed, independently of the 'special event' flag.
Target: Final fantasy 3, Version 1.0, English
Download
I want to share a patch i make. Perhaps, It can be helpful for a hacker.
Description:
In the original game, the enemy actions are determined by a script. In special cases, the enemy script is ignored and a random action is selected for the monster from its control list of commands. Common examples are the muddle status and Colosseum fights.
The patch changes the selection between the monster script and the control list. When the 'special event' flag is set in the monster database, the monster will use its script. Otherwise, it will use its control list instead.
The advantage of this patch is to reduce the script size. Common enemies, without the need of advanced scripts, can be set to use its control list. Because of it, the enemy script can be fully emptied. The free bytes can be used by another monsters scripts.
Unlike the original game, the monsters in the Colosseum battles can also use its monster script. It allows for better customization of the monsters behavior in duels.
With this patch, the 'special event' flag must be revised for all monsters in the database. The original setting may not be correct for this new approach. In special, pseudo enemies which actually triggers a cinematic event or special code must always have the 'special event' flag set.
As a note, the berserk and muddle status will always force the monster to ignore its script, independently of the 'special event' flag. Also, monsters actually have two imbued scripts. One for its turn and another for a counter. The counter script will always be executed, independently of the 'special event' flag.
Code:
header
hirom
;----------------------------------------------------------------------------------------
;-- addresses
;----------------------------------------------------------------------------------------
org $C20134
case_control:
org $C20139
case_script:
;----------------------------------------------------------------------------------------
;-- select monster action
;----------------------------------------------------------------------------------------
org $C20123
;-- check special event flag
LDA $3C80,X ;special flags
BIT #$40 ;special event flag
BEQ case_control ;to use action from control list
;-- check berserk/muddle status
LDA $3EE5,X ;status
BIT #$30 ;berserk, muddle
BEQ case_script ;to use action from monster script
BRA case_control ;to use action from control list
NOP
warnpc $C20134
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)