• Welcome to Freedom Reborn Archive.
 

FFX problem with ROPESWINGER attribute

Started by Urthman, May 23, 2007, 03:20:02 PM

Previous topic - Next topic

Urthman

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?

Epimethee

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).

Urthman

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

Epimethee

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: