I'm currently working on a single enemy trait that will control the intelligence of my enemy monsters, but i've hit a snag and can't figure it out. Was hoping someone could help.
The problem is when i use a script call the system seems to ignore the conditions i set up - and why i can't understand. Here is my problem in more detail:
Battle: Substitute Target Attribute for Variable
Data: Variable: [MP 25%] = [Max Magic Point] / 4
Battle: Substitute Target Attribute for Variable
Script Branch: Condition: Variable [Magic Points] >= [MP 25%]
Script: Call: (Enemy Check)
Data: Variable: [Temp Variable0] = 0?1
Battle: Check Who Goes First
Script Branch: Repeat: Flag: [Member Check] = Off
Script Branch: Condition: Flag: [Instigator Side] = Off
Target Data: Action Status: Confirm: [Death]
Script Branch: Condition: Flag: [Indirect Effect] = Off
Script Branch: Condition: Variable [Temp Variable0] = 0
Data: Variable: [Member Number] = 0
Data: Member Info: Load
Script: Call: [Random Offense1]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable0] = 1
Data: Variable: [Member Number] = 1
Data: Member Info: Load
Script: Call: [Random Offense1]
Script; Condition End
Script: Condition End
Script Branch: To End
Script: Condition End
Battle: Check Who Goes Next
Script: Branch End
Script: Condition End
Battle: Change Back Active Character
This script is put into my enemy trait event. I wrote it to make my enemies target randomly between members 0 and 1. The script itself seems to work fine - the problem is in my script call (Random Offense1). So i'll explain what's in my script calls.
Script: Call: (Enemy Check) - basically just a script i use to apply the proper number to the variable [Enemy Number] i made, which pretty much just coincides with the value of Battle Variable9, which i set differently on each enemy depending on its database number. For example: Enemy 2 has a Battle Variable9 of 2...Enemy 4 has a Battle Variable9 of 4. The script looks like this:
Script Branch: Condition: Variable [Battle Variable9] = 1
Data: Variable: [Enemy Number] = 1
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 2
Data: Variable: [Enemy Number] = 2
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 3
Data: Variable: [Enemy Number] = 3
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 4
Data: Variable: [Enemy Number] = 4
Script: Condition End
This script works fine, i've tested it a lot and it does change the value of [Enemy Number] to coincide with the value of Battle Variable9 of the current enemy taking action.
Here is where the problem is -
When i call script Random Offense1
Script Branch: Condition: Variable [Enemy Number] = 2 <--- is ignored
Data: Variable: [Temp Variable1 = 0 ? 9]
Script Branch: Condition: Variable: [Temp Variable1] = 0
Data: Variable: [Action: Enemy] = [Member Number]
Data: Set Battle Action (Attack)
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 1
Script Branch: Condition: Variable: [Temp Variable1] <= 3
Target Data: Condition Status: Confirm [Poison]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Poison]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 4
Script Branch: Condition: Variable: [Temp Variable1] <= 6
Target Data: Condition Status: Confirm [Blind]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Blind]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 7
Script Branch: Condition: Variable: [Temp Variable1] <= 9
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Conditon End
Script: Condition End
Script: Condition End
Script Branch: Condition: Variable [Enemy Number] = 4 <---- is ignored
Data: Variable: [Temp Variable1 = 0 ? 9]
Script Branch: Condition: Variable: [Temp Variable1] = 0
Data: Variable: [Action: Enemy] = [Member Number]
Data: Set Battle Action (Attack)
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 1
Script Branch: Condition: Variable: [Temp Variable1] <= 2
Target Data: Condition Status: Confirm [Mowt]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Mowt]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 3
Script Branch: Condition: Variable: [Temp Variable1] <= 4
Target Data: Condition Status: Confirm [Zuwb]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Zuwb]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 5
Script Branch: Condition: Variable: [Temp Variable1] <= 6
Target Data: Condition Status: Confirm [Guwd]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Guwd]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 7
Script Branch: Condition: Variable: [Temp Variable1] <= 9
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Conditon End
Script: Condition End
Script: Condition End
All my conditions seem to work fine except for the two Enemy Number Conditions. For some reason the script continues to read down the list even if the value of variable [Enemy Number] doesn't equal the number in my condition.
The problem is when i use a script call the system seems to ignore the conditions i set up - and why i can't understand. Here is my problem in more detail:
Battle: Substitute Target Attribute for Variable
Data: Variable: [MP 25%] = [Max Magic Point] / 4
Battle: Substitute Target Attribute for Variable
Script Branch: Condition: Variable [Magic Points] >= [MP 25%]
Script: Call: (Enemy Check)
Data: Variable: [Temp Variable0] = 0?1
Battle: Check Who Goes First
Script Branch: Repeat: Flag: [Member Check] = Off
Script Branch: Condition: Flag: [Instigator Side] = Off
Target Data: Action Status: Confirm: [Death]
Script Branch: Condition: Flag: [Indirect Effect] = Off
Script Branch: Condition: Variable [Temp Variable0] = 0
Data: Variable: [Member Number] = 0
Data: Member Info: Load
Script: Call: [Random Offense1]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable0] = 1
Data: Variable: [Member Number] = 1
Data: Member Info: Load
Script: Call: [Random Offense1]
Script; Condition End
Script: Condition End
Script Branch: To End
Script: Condition End
Battle: Check Who Goes Next
Script: Branch End
Script: Condition End
Battle: Change Back Active Character
This script is put into my enemy trait event. I wrote it to make my enemies target randomly between members 0 and 1. The script itself seems to work fine - the problem is in my script call (Random Offense1). So i'll explain what's in my script calls.
Script: Call: (Enemy Check) - basically just a script i use to apply the proper number to the variable [Enemy Number] i made, which pretty much just coincides with the value of Battle Variable9, which i set differently on each enemy depending on its database number. For example: Enemy 2 has a Battle Variable9 of 2...Enemy 4 has a Battle Variable9 of 4. The script looks like this:
Script Branch: Condition: Variable [Battle Variable9] = 1
Data: Variable: [Enemy Number] = 1
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 2
Data: Variable: [Enemy Number] = 2
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 3
Data: Variable: [Enemy Number] = 3
Script: Condition End
Script Branch: Condition: Variable [Battle Variable9] = 4
Data: Variable: [Enemy Number] = 4
Script: Condition End
This script works fine, i've tested it a lot and it does change the value of [Enemy Number] to coincide with the value of Battle Variable9 of the current enemy taking action.
Here is where the problem is -
When i call script Random Offense1
Script Branch: Condition: Variable [Enemy Number] = 2 <--- is ignored
Data: Variable: [Temp Variable1 = 0 ? 9]
Script Branch: Condition: Variable: [Temp Variable1] = 0
Data: Variable: [Action: Enemy] = [Member Number]
Data: Set Battle Action (Attack)
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 1
Script Branch: Condition: Variable: [Temp Variable1] <= 3
Target Data: Condition Status: Confirm [Poison]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Poison]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 4
Script Branch: Condition: Variable: [Temp Variable1] <= 6
Target Data: Condition Status: Confirm [Blind]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Blind]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 7
Script Branch: Condition: Variable: [Temp Variable1] <= 9
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Conditon End
Script: Condition End
Script: Condition End
Script Branch: Condition: Variable [Enemy Number] = 4 <---- is ignored
Data: Variable: [Temp Variable1 = 0 ? 9]
Script Branch: Condition: Variable: [Temp Variable1] = 0
Data: Variable: [Action: Enemy] = [Member Number]
Data: Set Battle Action (Attack)
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 1
Script Branch: Condition: Variable: [Temp Variable1] <= 2
Target Data: Condition Status: Confirm [Mowt]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Mowt]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 3
Script Branch: Condition: Variable: [Temp Variable1] <= 4
Target Data: Condition Status: Confirm [Zuwb]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Zuwb]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 5
Script Branch: Condition: Variable: [Temp Variable1] <= 6
Target Data: Condition Status: Confirm [Guwd]
Script Branch: Conditon: Flag: [Indirect Effect] = Off
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Target Data: Condition Status: Confirm [Guwd]
Script Branch: Condition: Flag: [Indirect Effect] = On
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Condition End
Script: Conditon End
Script: Condition End
Script Branch: Condition: Variable: [Temp Variable1] >= 7
Script Branch: Condition: Variable: [Temp Variable1] <= 9
Data: Set Battle Action (Magic)
Data: Variable: [Action: Enemy] = [Member Number]
Data: Substitute Database Number for Variable [Action: Itm/Abty]
Script: Conditon End
Script: Condition End
Script: Condition End
All my conditions seem to work fine except for the two Enemy Number Conditions. For some reason the script continues to read down the list even if the value of variable [Enemy Number] doesn't equal the number in my condition.
