Freedom Reborn Archive

Freedom Force Forums => Mods => Topic started by: Urthman on May 23, 2007, 03:20:02 PM

Title: FFX problem with ROPESWINGER attribute
Post by: Urthman on May 23, 2007, 03:20:02 PM
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?
Title: Re: FFX problem with ROPESWINGER attribute
Post by: Epimethee on May 23, 2007, 05:52:13 PM
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).
Title: Re: FFX problem with ROPESWINGER attribute
Post by: Urthman on May 24, 2007, 12:16:54 AM
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
Title: Re: FFX problem with ROPESWINGER attribute
Post by: Epimethee on May 24, 2007, 05:11:57 PM
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: