I'm having problems with using the ROPESWINGER attribute in a FF1 mod. When the ropeswinging character spawns and the game is setting up all the FFX stuff, it is supposed to briefly spawn and then destroy a copy of the character in order to make the flight-limitation work (don't let my description fool you into thinking I understand why).
But the copy doesn't get destroyed. It just sits there, making a nice decoy to draw some enemy attacks, but not what I want.
I think I was having the same problem with the LIMITED FLIGHT attribute, but that was a while I go, so I'm not sure I'm remembering right.
Anyone have a fix for this? If not, might I be able to detect and destroy the copy from the mission script?
It was a long time ago (in a faraway galaxy) The spawn was a rather excessive attempt to enforce some play balance. I don't know why it doesn't work (a conflict with code in your mod, probably, but if everything else is fine...) The quick solution would be to open ffx.py and, under "def initffqropeswinger(char,update=0):", comment out the line
FFQ_checkFlight(char, cause = -1, consequence = 'deleteIllegalNonFlier')
You should do the same for every other flight limitation attribute (thery're in the same code section).
Thanks, Epi. I'll give that a try. Just out of curiosity, what was the play-balance issue?
And in case you're curious, here's the error log I was getting:
Traceback (innermost last):
File ".\Data\Missions\Scripts\ffx.py", line 14168, in OnFFQCheckFlight
FFQ_checkFlight(char, cause, consequence)
File ".\Data\Missions\Scripts\ffx.py", line 14149, in FFQ_checkFlight
createHiddenCopy(char)
File ".\Data\Missions\Scripts\ffx.py", line 14172, in createHiddenCopy
createHiddenCopySpawn(char)
File ".\Data\Missions\Scripts\ffx.py", line 14195, in createHiddenCopySpawn
hiddenCopyCheckFlight(copyName,char)
File ".\Data\Missions\Scripts\ffx.py", line 14207, in hiddenCopyCheckFlight
m252.m25Disable(copyName)
File ".\Data\Missions\Scripts\m25lib2.py", line 356, in m25Disable
disable(char)
NameError: disable
The play-balance issue: The clone was generated to check that the original character was actually able to fly, so it didn't become a free cost reduction.
The error: Hmmm... Interesting. Nobody else noticed this bug in 2+ years? :P
The latest version of m25lib2.py doesn't call m25cshelper anymore, which is where disable() is defined. Though, I would have thought that this shouldn't be a problem, since cshelper (which has is own disable()) is imported internally by m252.py, which is itself imported locally by m25lib2.py. :huh: