Anonymous

Changes

From Final Fantasy Inside

FF7/Field/Script/Opcodes/D0 LINE

263 bytes added, 17:43, 21 October 2020
no edit summary
* script index 7 -> S6 - Go away
'''[OK]''' Occurrences - This Here is often presenta JSON file containing a little more details on the occurrences, but mostly contains a single RET frequencies and combinations of the LINE op codeusage: https://githubBehaviour com/dangarfield/ff7-fenrir/blob/master/workings- I'm sure this is triggered when the player is close to the out/output/line and presses the [OK] button, eg blin59-occurences.json
'''Move'''
'''S1 - Occurrences[OK]'''
The script index 2 Appears to be the same as the S2 - Move , in that it is often presenttriggered on proximity, but again mostly contains a single RET op codeit is also triggered with the CIRCLE button. If you hold the circle, it is only triggered once as apposed the directional movements as mentioned above.
The script index 3 Move is not often present but when it is, the script index 2 typically isn't, again, always ends with a RET.
There are 11 occurrences when both index 2 & 3 '''S2 - Move are present and both have more than one single RET op code.'''
10 of these contain exactly Triggered EVERY time an input key is pressed when the same ops character will be in both (fields - hyou4, hyou5_4) - A REQEW close proximity to the line. If the line is near a wall and a RET with exactly direction key is pressed but the same params. Every one of these leads player does not move but they are in proximity to a MAPJUMP.the line, the Move command will be called every time (eg each frame)
1 of these (field - del12) contains 2 ops It is not dependent on cross the line in either direction, appears to be purely proximity to the index 2 Move script (UCline.Once this has been triggered,MENUmoving the character away from the line had no effect, the operations are still queued and no RET)played until a return is met. The index 3 Move script contains 11 ops including a final RET op
As a result of the above, I believe that it is relatively safe to assume the following logic:
'''S3 - BehaviourMove'''
This is triggered every time Appears to be the same as the S2 - Move, but the player proximity is VERY close to the line.
If Once this has been triggered, moving the character away from the index 2 Move is presentline had no effect, it executes the operations are still queued and played until it receives a RET or finishes all of the ops, thenreturn is met.
If the index 3 Move is present, it executes until it receives a RET or finishes all of the ops.
'''S4 - Go'''
'''Occurrences''' Whilst the character is in proximity of the line (irrespective of the buttons pressed), this action is triggered. Appears to be the same distances as S2 - This is often presentMove. Eg, if you stand on a line that simply plans a sound and always contains a final RET op codereturns, the sound will play every frame.
'''Behaviour''' - I'm sure this is triggered every time the player leaves the line
'''S5 - Go 1x'''
'''Go 1x'''Whilst the character is in proximity of the line (irrespective of the buttons pressed), this action is triggered ONCE. If the character travels away from the proximity of the line then back towards it, this is triggered once more.
'''Occurrences''' - This is occasionally presentOnce this has been triggered, moving the character away from the line had no effect, the operations are still queued and always contains played until a final RET op codereturn is met.
'''Behaviour''' - I'm sure this is triggered when the player leaves the line, but only once for the duration of the time in the field. Come examples are doors remaining open after they are programmatically triggered. bugin2.
'''S6 - Go away'''
'''Go away'''After the character has been in proximity of line and exits the immediate proximity (but is still within an outer proximity) this script is triggered.
'''Occurrences''' - Can be present alongside Go and Go 1x. Always contains a final RET op code.
'''BehaviourConcurrency''' - Very similar to Go, but the distance that the player has to be away from the point is large (maybe 4x). Examples are the jumps on las0_6
Only one script can be running per entity at any one time. Eg, if there is a line with Go and Go away, but the Go takes 120 frames, and by the time the script has finished, the player in now longer within the outer boundary to trigger the Go away script. The Go script returns and the Go away script is not triggered.
It's worth noting that any combination of Go, Go 1x and Go away can be present an executable on any script.appears as though the priority for running the scripts is as follows:
Here is a JSON file containing a little more details on the occurrences, frequencies and combinations of the LINE op code usage: https://github.com/dangarfield/ff7* S5 -fenrir/blob/master/workingsGo 1x* S4 -out/output/lineGo* S2 -occurences.jsonMove* S3 - Move* S1 - [OK]* S6 - Go away
50
edits