• Welcome to Freedom Reborn Archive.
 

FFX 3.2 Bug Reporting Thread, take II

Started by stumpy, January 31, 2007, 02:58:27 PM

Previous topic - Next topic
|

BentonGrey

Ahh, thanks for the workaround Taskmaster, and let me know if you figure out the first issue.

:EDIT: I just remembered that Summoner4 works, in combos, so nevermind, I would say that it's not really necessary to bump anything else off so that lesser grades will work.

:EDIT2: Ooookay, this has probably already been addressed, but if so, I have yet to see it.  I've customized Sinestro's summoned minions, but every time I open up FFXedit, it reverts to the default.  Is this a function of Summoner4 being part of a multi?

cosmos123


Blitzgott

Hello there, everyone! New here. I've been this lurking here for a while and never actually though about registering because I usually don't have much to say, but decided to make an exception here. Please watch over me from now on. =]

Anyway, staying on-topic, I just came across a bug with one of the stat-swaps.

I made a character (built-in, not custom) and gave him a 360 degree melee attack that inflicts low damage and has a very high chance of stunning the opponent. I then opened the FFXCC and made it so that attacks that cause stun, instead of stunning (duh!) the opponents, knocks them out. So, basically, I changed stun for knockout gas.

I then started a Rumble Room session to test this character's new attack.

The thing is, although the opponents indeed were knocked out when the attack succefully stunned them, they wouldn't get up no matter how much time I waited. I actually waited over fifteen minutes before I convinced myself that they wouldn't get up. Some enemies do get up if I get close to them; however, for some reason, they can't move anymore after getting up. They just stay stuck in the same place, and could only attack me if I walked close to them or they had ranged attacks and I was within range. Also, when I distanced myself from them, they stayed completelly still. Not even their idle animation played.

I hope I don't have to post the script.log, because this one is freaking huge.

Anyway, regardless of this problem, I'm loving the mod. I just can't stop playing it. Congratulatios to the developers and thanks a lot for your hard work.

Epimethee

Thanks for the report and the kind words, Blitzgott... and welcome aboard! :)

Epimethee

Knockout Gas:

OK, I've run some tests (and patched a rather obvious bug), but can't reproduce the locking issue you're experiencing, Blitzgott. Can you post the parts of your script.log which begin with a "Traceback error:" and the lines just before them?

(Mind you, this power swap currently seems to suffers from quite a few problems; I'm not sure if we should release it with the final 3.2.)

catwhowalksbyhimself

That's a pity.  I rather like it, but do what you think best, Epi.

Blitzgott

Epimethee: Thanks for the welcoming me! =] Anyway, regarding the .log, there is no "Traceback: error" writen on it. The closest thing is "Traceback (innermost last)". I'm posting the whole thing (which I though wouldn't fit, but did. WOHOO!) just so that nothing important is missed.

Here you go:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.249000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 7; branch = stumpy + TMX tweaks
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1172484184.609000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Campaign_ReadObjects() warning: object template <pat_dream_fog_effect> has more than one entry for attribute <animated>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <nazihq_storage_crate> has more than one entry for attribute <castShadow>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <ffx_limpetmine> has more than one entry for attribute <avoid>, values 0.000000 and 1000.000000
Campaign_ReadObjects() warning: object template <ffx_flames> has more than one entry for attribute <minForce>, values -1.000000 and 1000000.000000
Campaign_ReadObjects() warning: object template <dark_shaman> has more than one entry for attribute <prestige>, values 30.000000 and 50.000000
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar.SetFunctionsByMissionType: isCampaignMission=0, long variable cache has already been written to.
__MISSIONVARS = {'heightcheck_sampling_default': (1, 8), '_event_freeroam_initmission': [['FreeroamKBD_StartMission', 0]], '_event_freeroam_exitmission': [['FreeroamKBD_EndMission', 0]]}
__OBJECTVARS = {}
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('thug_with_bat', 'thug_with_bat', 'thug_with_bat', 'thug_with_bat', ))
try to spawn thug_with_bat
sk.SpawnEnemy: energy for _skthug_with_bat01 (thug_with_bat) changed from 0 to 0
try to spawn thug_with_bat
sk.SpawnEnemy: energy for _skthug_with_bat02 (thug_with_bat) changed from 0 to 0
try to spawn thug_with_bat
sk.SpawnEnemy: energy for _skthug_with_bat03 (thug_with_bat) changed from 0 to 0
try to spawn thug_with_bat
sk.SpawnEnemy: energy for _skthug_with_bat04 (thug_with_bat) changed from 0 to 0
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_CITY'
initialising FFX: skirmish=1
numberStr=53
storing hero_0: id_1,-53
TIME: 0.006926 for GetMissionVar
! GetMapInfo
AI: SetupAI() - setting ai for _skthug_with_bat01 ('thug_with_bat')
AI: SetupAI() - setting ai for _skthug_with_bat02 ('thug_with_bat')
AI: SetupAI() - setting ai for _skthug_with_bat03 ('thug_with_bat')
AI: SetupAI() - setting ai for _skthug_with_bat04 ('thug_with_bat')
AI: SetupAI() - setting ai for hero_0 ('durandel (rr)')
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
addArrow _sk_arrow _skthug_with_bat01 0 0
---- TIME: 0.016007 for AI_UpdateMapInfoStatic
AI: _skthug_with_bat01:'thug_with_bat' hunting 'hero_0'
TIME: 0.006312 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.006428 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.006243 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.006173 for ai for thug_with_bat
AI: AISetRunning hero_0 to 0
TIME: 0.002820 for AI_UpdateMapInfoDynamic
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object 'mapinfocaliper3'
initAttribsForChar: working on _skthug_with_bat01 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on _skthug_with_bat02 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on _skthug_with_bat03 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on _skthug_with_bat04 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on hero_0 (durandel (rr))
initAttribsForChar (durandel (rr)): looking at attribute beautiful
initAttribsForChar (durandel (rr)): looking at attribute danger sense
initAttribsForChar (durandel (rr)): looking at attribute wall climbing
initAttribsForChar (durandel (rr)): looking at attribute combatskill
execInitAttrib: init combatskill attribute
    on hero_0 of template custom_template_53 (durandel (rr))
initAttribsForChar (durandel (rr)): looking at attribute peakathl
execInitAttrib: init nimble attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_0 of template custom_template_53 (durandel (rr))
execInitAttrib: init acrobatic attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_0 of template custom_template_53 (durandel (rr))
execInitAttrib: init ffqlowjumper attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_0 of template custom_template_53 (durandel (rr))
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
TIME: 0.001186 for ai for thug_with_bat
TIME: 0.001402 for ai for thug_with_bat
TIME: 0.001091 for ai for thug_with_bat
TIME: 0.001136 for ai for thug_with_bat
---- TIME: 0.013117 for AI_UpdateMapInfoStatic
AI: _skthug_with_bat01:'thug_with_bat' hunting 'hero_0'
TIME: 0.003664 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.003272 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.002854 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003402 for ai for thug_with_bat
TIME: 0.001185 for ai for thug_with_bat
TIME: 0.001127 for ai for thug_with_bat
TIME: 0.001076 for ai for thug_with_bat
TIME: 0.001066 for ai for thug_with_bat
AI: _skthug_with_bat01:'thug_with_bat' hunting 'hero_0'
TIME: 0.003719 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.003507 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.003863 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003569 for ai for thug_with_bat
---- TIME: 0.012854 for AI_UpdateMapInfoStatic
TIME: 0.001469 for ai for thug_with_bat
TIME: 0.001367 for ai for thug_with_bat
TIME: 0.001145 for ai for thug_with_bat
TIME: 0.001213 for ai for thug_with_bat
AI: _skthug_with_bat01:'thug_with_bat' hunting 'hero_0'
TIME: 0.003634 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.003386 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.003189 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003461 for ai for thug_with_bat
---- TIME: 0.013131 for AI_UpdateMapInfoStatic
TIME: 0.002138 for ai for thug_with_bat
TIME: 0.001009 for ai for thug_with_bat
TIME: 0.001176 for ai for thug_with_bat
AI: _skthug_with_bat01:'thug_with_bat' hunting 'hero_0'
TIME: 0.003356 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.003338 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.002817 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003386 for ai for thug_with_bat
TIME: 0.001383 for ai for thug_with_bat
TIME: 0.001154 for ai for thug_with_bat
---- TIME: 0.013544 for AI_UpdateMapInfoStatic
TIME: 0.001204 for ai for thug_with_bat
AI: _skthug_with_bat02:'thug_with_bat' hunting 'hero_0'
TIME: 0.003211 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.003087 for ai for thug_with_bat
TIME: 0.001162 for ai for thug_with_bat
TIME: 0.001234 for ai for thug_with_bat
TIME: 0.001076 for ai for thug_with_bat
---- TIME: 0.012834 for AI_UpdateMapInfoStatic
TIME: 0.001384 for ai for thug_with_bat
TIME: 0.001288 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.002983 for ai for thug_with_bat
TIME: 0.001220 for ai for thug_with_bat
TIME: 0.001313 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.002751 for ai for thug_with_bat
Traceback (innermost last):
  File "E:\Irrational Games\Freedom Force vs The 3rd Reich\.\liberty_bay\missions\scripts\ffx.py", line 27948, in makeknockedoutb
    RegTimer('makeunknockedout',knockoutpower,0,char) #Chage the 20 to a different number for different lengths of knocked out
NameError: knockoutpower
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003198 for ai for thug_with_bat
TIME: 0.001211 for ai for thug_with_bat
TIME: 0.001149 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.003315 for ai for thug_with_bat
---- TIME: 0.016578 for AI_UpdateMapInfoStatic
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003452 for ai for thug_with_bat
TIME: 0.001365 for ai for thug_with_bat
TIME: 0.001126 for ai for thug_with_bat
AI: _skthug_with_bat03:'thug_with_bat' hunting 'hero_0'
TIME: 0.003086 for ai for thug_with_bat
TIME: 0.001256 for ai for thug_with_bat
TIME: 0.001211 for ai for thug_with_bat
TIME: 0.001097 for ai for thug_with_bat
TIME: 0.001371 for ai for thug_with_bat
---- TIME: 0.013209 for AI_UpdateMapInfoStatic
TIME: 0.001243 for ai for thug_with_bat
TIME: 0.001172 for ai for thug_with_bat
TIME: 0.001366 for ai for thug_with_bat
addArrow _sk_arrow _skthug_with_bat02 0 0
TIME: 0.001325 for ai for thug_with_bat
TIME: 0.001100 for ai for thug_with_bat
TIME: 0.001060 for ai for thug_with_bat
TIME: 0.001168 for ai for thug_with_bat
TIME: 0.001101 for ai for thug_with_bat
TIME: 0.001404 for ai for thug_with_bat
---- TIME: 0.013201 for AI_UpdateMapInfoStatic
TIME: 0.001174 for ai for thug_with_bat
TIME: 0.001140 for ai for thug_with_bat
TIME: 0.001090 for ai for thug_with_bat
addArrow _sk_arrow _skthug_with_bat03 0 0
TIME: 0.001141 for ai for thug_with_bat
TIME: 0.001073 for ai for thug_with_bat
---- TIME: 0.013400 for AI_UpdateMapInfoStatic
TIME: 0.001369 for ai for thug_with_bat
TIME: 0.001073 for ai for thug_with_bat
TIME: 0.001531 for ai for thug_with_bat
TIME: 0.001076 for ai for thug_with_bat
addArrow _sk_arrow _skthug_with_bat04 0 0
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object '_skthug_with_bat01'
TIME: 0.001084 for ai for thug_with_bat
---- TIME: 0.013700 for AI_UpdateMapInfoStatic
TIME: 0.001425 for ai for thug_with_bat
AI: _skthug_with_bat04:'thug_with_bat' hunting 'hero_0'
TIME: 0.003242 for ai for thug_with_bat
---- TIME: 0.013265 for AI_UpdateMapInfoStatic
TIME: 0.001095 for ai for thug_with_bat
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object '_skthug_with_bat02'
TIME: 0.001079 for ai for thug_with_bat
TIME: 0.001138 for ai for thug_with_bat
---- TIME: 0.013246 for AI_UpdateMapInfoStatic
TIME: 0.001083 for ai for thug_with_bat
clearCarrierRegistration: clearing attribute 'stuntoknockoutgashero_0' for destroyed object '_skthug_with_bat03'
TIME: 0.001075 for ai for thug_with_bat
---- TIME: 0.013409 for AI_UpdateMapInfoStatic
TIME: 0.001090 for ai for thug_with_bat
TIME: 0.001217 for ai for thug_with_bat
TIME: 0.001142 for ai for thug_with_bat
---- TIME: 0.013398 for AI_UpdateMapInfoStatic
TIME: 0.001078 for ai for thug_with_bat
FFX_SkirmishCheck: calling BadGuys fn
cshelper: Cutscene [unknown] submitted for playing
cshelper: Now playing cutscene [unknown]
Step 1 of 2
---- TIME: 0.013399 for AI_UpdateMapInfoStatic
Step 2 of 2
cshelper: Cutscene [unknown] has ended
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed[/spoiler]

TaskMasterX

Quote from: guts on February 22, 2007, 05:19:00 AM
I think I found a few bugs.

The optional rules Minimum Range and Disable Player AI don't work. In Disable Player AI's case, it was said in the manual that it might not work, so it doesn't really count. Another optional rule that doesn't work very well is Clone Commands. Although it's possible to transfer control from a clone to another, the Gather command is not present.

Also, the isBuilding TargetType for Urban Dweller doesn't work for me.
Minimum Range works for me. I tested both the built-in Alien Warrior and my custom Hawkeye and they both used their ranged powers at point blank. Although I did see them attack other targets sometimes when I wasn't controlling them so, yes the Disable Player AI does seem to not be consistent, but as you said, it doesn't count, for now.

With Clone Commands, I never saw one clone command. Not Target nor Gather. I got no errors in my script.log either. I don't know what's up there.

isBuilding works for me as well. I used drawHealth as the effect and when I got close to a building, I'd heal. Are you sure it's not the effect that may not be working rather than the Type:isBuilding?

Quote from: BentonGrey on February 23, 2007, 09:22:51 AM
Okay guys, a couple of things here:  First, I'm trying to set up Sinestro for the DCU, and I've copied all of the FFX green objects, and renamed them 'ffx_yellow_whatever,' having identified a yellow skin or object.  HOWEVER, when I go in to customize his plasma sculptor, they don't show up as options.  I copied the FFX entries, so I'm not sure what I'm missing here.

:EDIT: I just remembered that Summoner4 works, in combos, so nevermind, I would say that it's not really necessary to bump anything else off so that lesser grades will work.

:EDIT2: Ooookay, this has probably already been addressed, but if so, I have yet to see it.  I've customized Sinestro's summoned minions, but every time I open up FFXedit, it reverts to the default.  Is this a function of Summoner4 being part of a multi?

To see the new objects that you created in FFEdit Templates, you need to also add them to the FFX_COMMON_OBJECTS=[] list in ffxdefault.py. This will allow them to be in the drop-lists in FFXCC.

As for Summoner4 not keeping the customizations, I think I found the problem. Since there is more than one FFX_SUMMONER list in ffxcustom.py your summoner4 customizations are being saved in the last list and FFXCC is looking in the first list and therefore not displaying your customizations. The fix is to make your customizations and then Export the customizations. Save and Close FFXCC. Then re-open FFXCC, select the character and then Import the customizations. Importing seems to import the customizations to all lists of the same name in ffxcustom.py so this will copy the customizations to all Summoner lists and it should stay there in FFXCC. The only other way to fix it would be to make a seperate list for each Summoner grade and then have to edit ffx.py Summoner code to point to the right list. Much easier if you just exported and imported. I always Export my customizations everytime I make a change. Those py files aren't just for making distributing your hero files eaiser, but they are backups of your customizations.

Epimethee

Thanks for the log, Blitzgott (and you'd think that after a few years of creating countless Tracebacks, I'd have learned the exact label :P ). Very useful! I just realized the reason I couldn't reproduce your locking issue is that the bug I mentionned fixing earlier was in fact the one causing it: If you're swapping from a primary state attack (i.e., stun, hypnosis, panic, exile, rage, blank), the function calling the end of the gas state is aborted since the required global variable is missing.

Epimethee

Re: Summoner: Looks like a job for... a startup plugin. (where's that diamond-shaped "S" emoticon when you need it?) ;)

I.E.: If the second or third FFX_SUMMONER_CUSTOM lists contains an entry not in the first, copy it to the first. Obviously, this doesn't cover the issue of changing the values of an existing entry; or should we assume that the third list should always overwrite the first?

TaskMasterX

Quote from: Epimethee on February 26, 2007, 05:01:45 PM
Re: Summoner: Looks like a job for... a startup plugin. (where's that diamond-shaped "S" emoticon when you need it?) ;)

I.E.: If the second or third FFX_SUMMONER_CUSTOM lists contains an entry not in the first, copy it to the first. Obviously, this doesn't cover the issue of changing the values of an existing entry; or should we assume that the third list should always overwrite the first?

Sounds good. I think the the customizations in the 2nd - 4th lists would all be newer than what's in the 1st. The first list will only contain customizations for Summoner1 and whatever customizations that were copied over from one of the other lists using said plugin. When existing customizations are changed, it will be changed only in the appropriate list. So, those customizations would then be newer than what's in the 1st.

Question: would this plugin work nicely with the Import function of FFXCC? Since using the Import copies the customizations to all lists of the same name, will the plugin know which list is the right one and not make duplicate entries in the 1st list?

Epimethee

If import copies the customizations to each list, then that's great news as we'd only need to make every Summoner list indentical to the fourth. Unless I'm missing something?

Blitzgott

Epimethee: Glad I could help. =]

I hope you will be able to fix all the problems knockout gas is having. I really like this feature and wouldn't like to see it gone. =/

Blitzgott

And I found yet another bug!

I made a character with the field commander attribute set to give all allies an additional hero point and, if he died, his allies would be blanked to simulate that, without their field commander, they are clueless about what to do.

I then started a Rumble Room session to test it.

At first, it worked perfectly - all the allies gained the additional hero point like they were supposed to. However, when the field commander died, they didn't suffer any penatly other than the loss of the additional hero point. They weren't blanked or anything.

Other than blank, I tested this attribute with the blind and power nulled penalty, and it worked. I'll test the other penatlies later and let you now if there's a problem with any of them.

Meanwhile, the .log of the problem:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.249000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 7; branch = stumpy + TMX tweaks
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1172598189.562000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Campaign_ReadObjects() warning: object template <pat_dream_fog_effect> has more than one entry for attribute <animated>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <nazihq_storage_crate> has more than one entry for attribute <castShadow>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <ffx_limpetmine> has more than one entry for attribute <avoid>, values 0.000000 and 1000.000000
Campaign_ReadObjects() warning: object template <ffx_flames> has more than one entry for attribute <minForce>, values -1.000000 and 1000000.000000
Campaign_ReadObjects() warning: object template <dark_shaman> has more than one entry for attribute <prestige>, values 30.000000 and 50.000000
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar.SetFunctionsByMissionType: isCampaignMission=0, long variable cache has already been written to.
__MISSIONVARS = {'heightcheck_sampling_default': (1, 8), '_event_freeroam_initmission': [['FreeroamKBD_StartMission', 0]], '_event_freeroam_exitmission': [['FreeroamKBD_EndMission', 0]]}
__OBJECTVARS = {}
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('darkman_blue', ))
try to spawn darkman_blue
sk.SpawnEnemy: energy for _skdarkman_blue01 (darkman_blue) changed from 3 to 3
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_CITY'
initialising FFX: skirmish=1
numberStr=53
storing hero_0: id_1,-53
numberStr=54
storing hero_1: id_2,-54
numberStr=55
storing hero_2: id_3,-55
TIME: 0.006856 for GetMissionVar
! GetMapInfo
AI: SetupAI() - setting ai for _skdarkman_blue01 ('darkman_blue')
AI: SetupAI() - setting ai for hero_0 ('blitzgott')
AI: SetupAI() - setting ai for hero_1 ('durandel (rr)')
AI: SetupAI() - setting ai for hero_2 ('mister britain (rr)')
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
addArrow _sk_arrow _skdarkman_blue01 0 0
---- TIME: 0.016892 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.006630 for ai for darkman_blue
AI: AISetRunning hero_0 to 0
AI: AISetRunning hero_1 to 0
AI: AISetRunning hero_2 to 0
clearCarrierRegistration: clearing attribute 'powernulltoweakenhero_1' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'powernulltoweakenhero_1' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'powernulltoweakenhero_1' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'powernulltoweakenhero_1' for destroyed object 'mapinfocaliper3'
initAttribsForChar: working on _skdarkman_blue01 (darkman_blue)
initAttribsForChar (darkman_blue): looking at attribute charged
initAttribsForChar (darkman_blue): looking at attribute grim resolve
initAttribsForChar (darkman_blue): looking at attribute rapid metabolism
initAttribsForChar (darkman_blue): looking at attribute unbeliever
initAttribsForChar: working on hero_0 (blitzgott)
initAttribsForChar (blitzgott): looking at attribute rapid metabolism
initAttribsForChar (blitzgott): looking at attribute wall climbing
initAttribsForChar: working on hero_1 (durandel (rr))
initAttribsForChar (durandel (rr)): looking at attribute beautiful
initAttribsForChar (durandel (rr)): looking at attribute danger sense
initAttribsForChar (durandel (rr)): looking at attribute wall climbing
initAttribsForChar (durandel (rr)): looking at attribute combatskill
execInitAttrib: init combatskill attribute
    on hero_1 of template custom_template_54 (durandel (rr))
initAttribsForChar (durandel (rr)): looking at attribute peakathl
execInitAttrib: init nimble attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_1 of template custom_template_54 (durandel (rr))
execInitAttrib: init acrobatic attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_1 of template custom_template_54 (durandel (rr))
execInitAttrib: init ffqlowjumper attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on hero_1 of template custom_template_54 (durandel (rr))
initAttribsForChar: working on hero_2 (mister britain (rr))
initAttribsForChar (mister britain (rr)): looking at attribute hot tempered
initAttribsForChar (mister britain (rr)): looking at attribute fearless
execInitAttrib: init fearless attribute
    on hero_2 of template custom_template_55 (mister britain (rr))
initAttribsForChar (mister britain (rr)): looking at attribute density control
initAttribsForChar (mister britain (rr)): looking at attribute ffqfieldcommander
execInitAttrib: init ffqfieldcommander attribute
    on hero_2 of template custom_template_55 (mister britain (rr))
initheroic('hero_0', update=0)
initheroic('hero_1', update=0)
initAttribsForChar (mister britain (rr)): looking at attribute invulnerable
execInitAttrib: init invulnerable attribute
    on hero_2 of template custom_template_55 (mister britain (rr))
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
TIME: 0.001432 for ai for darkman_blue
---- TIME: 0.013165 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.003209 for ai for darkman_blue
TIME: 0.001432 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.003175 for ai for darkman_blue
---- TIME: 0.012723 for AI_UpdateMapInfoStatic
TIME: 0.001291 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.003555 for ai for darkman_blue
---- TIME: 0.013466 for AI_UpdateMapInfoStatic
TIME: 0.001466 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.002973 for ai for darkman_blue
TIME: 0.001325 for ai for darkman_blue
---- TIME: 0.016482 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.002927 for ai for darkman_blue
TIME: 0.001348 for ai for darkman_blue
---- TIME: 0.013878 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_2'
TIME: 0.003055 for ai for darkman_blue
TIME: 0.001322 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003028 for ai for darkman_blue
---- TIME: 0.013551 for AI_UpdateMapInfoStatic
TIME: 0.001399 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.002959 for ai for darkman_blue
---- TIME: 0.013451 for AI_UpdateMapInfoStatic
TIME: 0.001259 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003128 for ai for darkman_blue
TIME: 0.001278 for ai for darkman_blue
---- TIME: 0.013318 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.002946 for ai for darkman_blue
TIME: 0.001262 for ai for darkman_blue
---- TIME: 0.013223 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003328 for ai for darkman_blue
TIME: 0.001276 for ai for darkman_blue
---- TIME: 0.013373 for AI_UpdateMapInfoStatic
TIME: 0.001279 for ai for darkman_blue
TIME: 0.001154 for ai for darkman_blue
---- TIME: 0.013205 for AI_UpdateMapInfoStatic
TIME: 0.001405 for ai for darkman_blue
TIME: 0.001424 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003251 for ai for darkman_blue
---- TIME: 0.013270 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003716 for ai for darkman_blue
TIME: 0.001196 for ai for darkman_blue
---- TIME: 0.013634 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003258 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003804 for ai for darkman_blue
---- TIME: 0.015821 for AI_UpdateMapInfoStatic
TIME: 0.001557 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003713 for ai for darkman_blue
---- TIME: 0.013325 for AI_UpdateMapInfoStatic
TIME: 0.001242 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003320 for ai for darkman_blue
TIME: 0.001419 for ai for darkman_blue
---- TIME: 0.012994 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003344 for ai for darkman_blue
TIME: 0.001240 for ai for darkman_blue
---- TIME: 0.013453 for AI_UpdateMapInfoStatic
TIME: 0.001434 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003820 for ai for darkman_blue
TIME: 0.001260 for ai for darkman_blue
---- TIME: 0.013311 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003119 for ai for darkman_blue
TIME: 0.001229 for ai for darkman_blue
---- TIME: 0.013095 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003283 for ai for darkman_blue
TIME: 0.001394 for ai for darkman_blue
---- TIME: 0.012945 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003054 for ai for darkman_blue
TIME: 0.001346 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003858 for ai for darkman_blue
---- TIME: 0.012727 for AI_UpdateMapInfoStatic
TIME: 0.001338 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_1'
TIME: 0.003385 for ai for darkman_blue
---- TIME: 0.013039 for AI_UpdateMapInfoStatic
TIME: 0.001247 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002883 for ai for darkman_blue
TIME: 0.001266 for ai for darkman_blue
---- TIME: 0.013063 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003007 for ai for darkman_blue
TIME: 0.001226 for ai for darkman_blue
---- TIME: 0.013141 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002955 for ai for darkman_blue
TIME: 0.001262 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002984 for ai for darkman_blue
---- TIME: 0.013342 for AI_UpdateMapInfoStatic
TIME: 0.001480 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003131 for ai for darkman_blue
---- TIME: 0.012895 for AI_UpdateMapInfoStatic
TIME: 0.001221 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003273 for ai for darkman_blue
TIME: 0.001343 for ai for darkman_blue
---- TIME: 0.014121 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003712 for ai for darkman_blue
TIME: 0.001389 for ai for darkman_blue
---- TIME: 0.013323 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003160 for ai for darkman_blue
TIME: 0.001321 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003157 for ai for darkman_blue
---- TIME: 0.013319 for AI_UpdateMapInfoStatic
TIME: 0.001253 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003307 for ai for darkman_blue
---- TIME: 0.012883 for AI_UpdateMapInfoStatic
TIME: 0.001244 for ai for darkman_blue
TIME: 0.001269 for ai for darkman_blue
---- TIME: 0.013038 for AI_UpdateMapInfoStatic
TIME: 0.001168 for ai for darkman_blue
TIME: 0.001100 for ai for darkman_blue
---- TIME: 0.013159 for AI_UpdateMapInfoStatic
TIME: 0.001180 for ai for darkman_blue
TIME: 0.001135 for ai for darkman_blue
TIME: 0.001309 for ai for darkman_blue
---- TIME: 0.013102 for AI_UpdateMapInfoStatic
TIME: 0.001138 for ai for darkman_blue
TIME: 0.001149 for ai for darkman_blue
---- TIME: 0.012979 for AI_UpdateMapInfoStatic
TIME: 0.001142 for ai for darkman_blue
TIME: 0.001147 for ai for darkman_blue
TIME: 0.001136 for ai for darkman_blue
---- TIME: 0.013489 for AI_UpdateMapInfoStatic
TIME: 0.001356 for ai for darkman_blue
TIME: 0.001129 for ai for darkman_blue
---- TIME: 0.012889 for AI_UpdateMapInfoStatic
TIME: 0.001286 for ai for darkman_blue
TIME: 0.001255 for ai for darkman_blue
TIME: 0.001173 for ai for darkman_blue
---- TIME: 0.013080 for AI_UpdateMapInfoStatic
TIME: 0.001160 for ai for darkman_blue
TIME: 0.001137 for ai for darkman_blue
---- TIME: 0.013552 for AI_UpdateMapInfoStatic
TIME: 0.001097 for ai for darkman_blue
TIME: 0.001242 for ai for darkman_blue
TIME: 0.001334 for ai for darkman_blue
---- TIME: 0.013250 for AI_UpdateMapInfoStatic
TIME: 0.001057 for ai for darkman_blue
TIME: 0.001242 for ai for darkman_blue
---- TIME: 0.012949 for AI_UpdateMapInfoStatic
TIME: 0.001245 for ai for darkman_blue
TIME: 0.001407 for ai for darkman_blue
---- TIME: 0.013317 for AI_UpdateMapInfoStatic
TIME: 0.001190 for ai for darkman_blue
TIME: 0.001495 for ai for darkman_blue
TIME: 0.001276 for ai for darkman_blue
---- TIME: 0.013136 for AI_UpdateMapInfoStatic
TIME: 0.001147 for ai for darkman_blue
TIME: 0.001145 for ai for darkman_blue
---- TIME: 0.013279 for AI_UpdateMapInfoStatic
TIME: 0.001151 for ai for darkman_blue
TIME: 0.001521 for ai for darkman_blue
TIME: 0.001257 for ai for darkman_blue
---- TIME: 0.013157 for AI_UpdateMapInfoStatic
TIME: 0.001352 for ai for darkman_blue
TIME: 0.001328 for ai for darkman_blue
---- TIME: 0.013049 for AI_UpdateMapInfoStatic
TIME: 0.001165 for ai for darkman_blue
TIME: 0.001318 for ai for darkman_blue
TIME: 0.001150 for ai for darkman_blue
---- TIME: 0.013236 for AI_UpdateMapInfoStatic
TIME: 0.001169 for ai for darkman_blue
TIME: 0.001171 for ai for darkman_blue
---- TIME: 0.012797 for AI_UpdateMapInfoStatic
---- TIME: 0.013052 for AI_UpdateMapInfoStatic
FFX_SkirmishCheck: calling BadGuys fn
cshelper: Cutscene [unknown] submitted for playing
cshelper: Now playing cutscene [unknown]
Step 1 of 2
---- TIME: 0.013004 for AI_UpdateMapInfoStatic
Step 2 of 2
cshelper: Cutscene [unknown] has ended
---- TIME: 0.012806 for AI_UpdateMapInfoStatic[/spoiler]

Blitzgott

Man... I just found out the strangest bug ever...

After reading the first post about characters with the super-leaper ability teleporting insead of jumping, I decided to make a few tests.

I used the Black_Panther_Gren, Male_Hulking_Thing and male_Hulking_Juggernaut meshes, and also the built-in Minuteman.

Since I was only testing, the only thing I gave to my custom characters (BP, Thing and Jugg) was Speed 10, Jumper and Super-Leaper.

I made the test on the city map.

Anyway, I tested the three custom characters first. After several tests, including jumping to top of bulding, to car, to posts and what have you, none of the three customs showed any problem. They would always walk towards the targed until they were within jumping range, and then jump. The jumping animation would play normally.

I then tested the Minuteman. Like all the other characters, I targeted an object that was very far from the character, just so that he would have to walk towards it before jumping. Minuteman, unlike the custom characters, didn't walk towards the targeted object until he reached jumping range before jumping; instead, he teleported to jumping range and then jumped. The jumping animation played normally, though.

I then, suspecting that it might be an attribute incompatibility problem, gave all the custom characters the same attributes as minuteman. Nothing. Only Minuteman teleported.

I then gave all of them the same stats of Minuteman. Now they started to teleport. I then started messing with the stats and, finally, what I found out is that characters with three or more points in strength teleport instead of jumping.

Call me crazy, but that's how it's going here.

Here's the .log of a test I made a strength 2 Black Panther:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.249000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 7; branch = stumpy + TMX tweaks
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1172616228.265000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Campaign_ReadObjects() warning: object template <pat_dream_fog_effect> has more than one entry for attribute <animated>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <nazihq_storage_crate> has more than one entry for attribute <castShadow>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <ffx_limpetmine> has more than one entry for attribute <avoid>, values 0.000000 and 1000.000000
Campaign_ReadObjects() warning: object template <ffx_flames> has more than one entry for attribute <minForce>, values -1.000000 and 1000000.000000
Campaign_ReadObjects() warning: object template <dark_shaman> has more than one entry for attribute <prestige>, values 30.000000 and 50.000000
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar.SetFunctionsByMissionType: isCampaignMission=0, long variable cache has already been written to.
__MISSIONVARS = {'heightcheck_sampling_default': (1, 8), '_event_freeroam_initmission': [['FreeroamKBD_StartMission', 0]], '_event_freeroam_exitmission': [['FreeroamKBD_EndMission', 0]]}
__OBJECTVARS = {}
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('darkman_blue', ))
try to spawn darkman_blue
sk.SpawnEnemy: energy for _skdarkman_blue01 (darkman_blue) changed from 3 to 3
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_CITY'
initialising FFX: skirmish=1
numberStr=53
storing hero_0: id_1,-53
TIME: 0.007353 for GetMissionVar
! GetMapInfo
AI: SetupAI() - setting ai for _skdarkman_blue01 ('darkman_blue')
AI: SetupAI() - setting ai for hero_0 ('black panther')
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
addArrow _sk_arrow _skdarkman_blue01 0 0
---- TIME: 0.016809 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.006167 for ai for darkman_blue
AI: AISetRunning hero_0 to 0
initAttribsForChar: working on _skdarkman_blue01 (darkman_blue)
initAttribsForChar (darkman_blue): looking at attribute charged
initAttribsForChar (darkman_blue): looking at attribute grim resolve
initAttribsForChar (darkman_blue): looking at attribute rapid metabolism
initAttribsForChar (darkman_blue): looking at attribute unbeliever
initAttribsForChar: working on hero_0 (black panther)
initAttribsForChar (black panther): looking at attribute superleaper
execInitAttrib: init superleaper attribute
   on hero_0 of template custom_template_53 (black panther)
initAttribsForChar (black panther): looking at attribute jumper
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
TIME: 0.001094 for ai for darkman_blue
---- TIME: 0.012930 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003026 for ai for darkman_blue
TIME: 0.001205 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002917 for ai for darkman_blue
---- TIME: 0.012955 for AI_UpdateMapInfoStatic
TIME: 0.001049 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003096 for ai for darkman_blue
---- TIME: 0.013188 for AI_UpdateMapInfoStatic
TIME: 0.001184 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003374 for ai for darkman_blue
TIME: 0.001249 for ai for darkman_blue
---- TIME: 0.013353 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002856 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002867 for ai for darkman_blue
---- TIME: 0.014179 for AI_UpdateMapInfoStatic
TIME: 0.001065 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003121 for ai for darkman_blue
---- TIME: 0.013754 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002938 for ai for darkman_blue
---- TIME: 0.012899 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002922 for ai for darkman_blue
TIME: 0.001076 for ai for darkman_blue
TIME: 0.001690 for ai for darkman_blue
---- TIME: 0.013624 for AI_UpdateMapInfoStatic
TIME: 0.001311 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002758 for ai for darkman_blue
---- TIME: 0.013704 for AI_UpdateMapInfoStatic
TIME: 0.001268 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003342 for ai for darkman_blue
TIME: 0.001118 for ai for darkman_blue
---- TIME: 0.013156 for AI_UpdateMapInfoStatic[/spoiler]

Blitzgott

And here's the .log of Black Panther with strength 3:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.249000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 7; branch = stumpy + TMX tweaks
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1172616429.234000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Campaign_ReadObjects() warning: object template <pat_dream_fog_effect> has more than one entry for attribute <animated>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <nazihq_storage_crate> has more than one entry for attribute <castShadow>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <ffx_limpetmine> has more than one entry for attribute <avoid>, values 0.000000 and 1000.000000
Campaign_ReadObjects() warning: object template <ffx_flames> has more than one entry for attribute <minForce>, values -1.000000 and 1000000.000000
Campaign_ReadObjects() warning: object template <dark_shaman> has more than one entry for attribute <prestige>, values 30.000000 and 50.000000
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar.SetFunctionsByMissionType: isCampaignMission=0, long variable cache has already been written to.
__MISSIONVARS = {'heightcheck_sampling_default': (1, 8), '_event_freeroam_initmission': [['FreeroamKBD_StartMission', 0]], '_event_freeroam_exitmission': [['FreeroamKBD_EndMission', 0]]}
__OBJECTVARS = {}
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('darkman_blue', ))
try to spawn darkman_blue
sk.SpawnEnemy: energy for _skdarkman_blue01 (darkman_blue) changed from 3 to 3
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_CITY'
initialising FFX: skirmish=1
numberStr=53
storing hero_0: id_1,-53
TIME: 0.007971 for GetMissionVar
! GetMapInfo
AI: SetupAI() - setting ai for _skdarkman_blue01 ('darkman_blue')
AI: SetupAI() - setting ai for hero_0 ('black panther')
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
addArrow _sk_arrow _skdarkman_blue01 0 0
---- TIME: 0.016676 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.005820 for ai for darkman_blue
AI: AISetRunning hero_0 to 0
initAttribsForChar: working on _skdarkman_blue01 (darkman_blue)
initAttribsForChar (darkman_blue): looking at attribute charged
initAttribsForChar (darkman_blue): looking at attribute grim resolve
initAttribsForChar (darkman_blue): looking at attribute rapid metabolism
initAttribsForChar (darkman_blue): looking at attribute unbeliever
initAttribsForChar: working on hero_0 (black panther)
initAttribsForChar (black panther): looking at attribute superleaper
execInitAttrib: init superleaper attribute
    on hero_0 of template custom_template_53 (black panther)
initAttribsForChar (black panther): looking at attribute jumper
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
TIME: 0.001062 for ai for darkman_blue
---- TIME: 0.014007 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002715 for ai for darkman_blue
TIME: 0.001050 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003165 for ai for darkman_blue
---- TIME: 0.013435 for AI_UpdateMapInfoStatic
TIME: 0.001059 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003437 for ai for darkman_blue
---- TIME: 0.013432 for AI_UpdateMapInfoStatic
TIME: 0.001222 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002958 for ai for darkman_blue
TIME: 0.001454 for ai for darkman_blue
---- TIME: 0.012923 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003361 for ai for darkman_blue
TIME: 0.001053 for ai for darkman_blue
---- TIME: 0.013629 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003526 for ai for darkman_blue
TIME: 0.001084 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003273 for ai for darkman_blue
---- TIME: 0.013545 for AI_UpdateMapInfoStatic
TIME: 0.001575 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003425 for ai for darkman_blue
---- TIME: 0.013200 for AI_UpdateMapInfoStatic
TIME: 0.001161 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003340 for ai for darkman_blue
TIME: 0.001295 for ai for darkman_blue
---- TIME: 0.015040 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003341 for ai for darkman_blue
TIME: 0.001140 for ai for darkman_blue
---- TIME: 0.013053 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003201 for ai for darkman_blue
TIME: 0.001003 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003048 for ai for darkman_blue
---- TIME: 0.013507 for AI_UpdateMapInfoStatic
TIME: 0.001051 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002702 for ai for darkman_blue
---- TIME: 0.014027 for AI_UpdateMapInfoStatic
TIME: 0.001046 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003746 for ai for darkman_blue
TIME: 0.001159 for ai for darkman_blue
---- TIME: 0.013583 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003599 for ai for darkman_blue
TIME: 0.001568 for ai for darkman_blue
---- TIME: 0.013333 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003364 for ai for darkman_blue
TIME: 0.001088 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003661 for ai for darkman_blue
---- TIME: 0.013692 for AI_UpdateMapInfoStatic
TIME: 0.001042 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.004728 for ai for darkman_blue
---- TIME: 0.013932 for AI_UpdateMapInfoStatic
TIME: 0.001235 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003353 for ai for darkman_blue
TIME: 0.001089 for ai for darkman_blue
---- TIME: 0.013730 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.004226 for ai for darkman_blue
TIME: 0.001058 for ai for darkman_blue
---- TIME: 0.013600 for AI_UpdateMapInfoStatic
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003321 for ai for darkman_blue
TIME: 0.001078 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002761 for ai for darkman_blue
---- TIME: 0.013065 for AI_UpdateMapInfoStatic
TIME: 0.001047 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.003146 for ai for darkman_blue
---- TIME: 0.013317 for AI_UpdateMapInfoStatic
TIME: 0.001110 for ai for darkman_blue
AI: _skdarkman_blue01:'darkman_blue' hunting 'hero_0'
TIME: 0.002746 for ai for darkman_blue
TIME: 0.001322 for ai for darkman_blue
---- TIME: 0.012767 for AI_UpdateMapInfoStatic[/spoiler]

Blitzgott

Another issue I'm having is that stat-swaps don't work for AI-controlled characters. I made a character (adequadelly named "guinea pig") with everything in one except endurance and speed, only a single attack that does no damage, and glass jaw, thin skinned and both the heroic and superheroic attributes, and started a Rumble Room session with Rogue (from the Liberty Bay mod) as my enemy and had him attacking me.

The times he hit me with Cripple and it was succeful, my character was hexed instead of suffering vertigo.

Here's the log:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.249000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 7; branch = stumpy + TMX tweaks
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1172616890.687000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Campaign_ReadObjects() warning: object template <pat_dream_fog_effect> has more than one entry for attribute <animated>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <nazihq_storage_crate> has more than one entry for attribute <castShadow>, values 1.000000 and 1.000000
Campaign_ReadObjects() warning: object template <ffx_limpetmine> has more than one entry for attribute <avoid>, values 0.000000 and 1000.000000
Campaign_ReadObjects() warning: object template <ffx_flames> has more than one entry for attribute <minForce>, values -1.000000 and 1000000.000000
Campaign_ReadObjects() warning: object template <dark_shaman> has more than one entry for attribute <prestige>, values 30.000000 and 50.000000
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar.SetFunctionsByMissionType: isCampaignMission=0, long variable cache has already been written to.
__MISSIONVARS = {'heightcheck_sampling_default': (1, 8), '_event_freeroam_initmission': [['FreeroamKBD_StartMission', 0]], '_event_freeroam_exitmission': [['FreeroamKBD_EndMission', 0]]}
__OBJECTVARS = {}
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('custom_vil_0', ))
try to spawn custom_vil_0
sk.SpawnEnemy: energy for _skcustom_vil_001 (therogue_rumble) changed from 9 to 2
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_CITY'
initialising FFX: skirmish=1
numberStr=53
storing hero_0: id_1,-53
TIME: 0.007441 for GetMissionVar
! GetMapInfo
AI: SetupAI() - setting ai for _skcustom_vil_001 ('therogue_rumble')
AI: SetupAI() - setting ai for hero_0 ('guinea pig')
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
addArrow _sk_arrow _skcustom_vil_001 0 0
---- TIME: 0.014847 for AI_UpdateMapInfoStatic
AI: _skcustom_vil_001:'therogue_rumble' hunting 'hero_0'
TIME: 0.006228 for ai for therogue_rumble
AI: AISetRunning hero_0 to 0
clearCarrierRegistration: clearing attribute 'stuntoweakspot_skcustom_vil_001' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'hextovertigo_skcustom_vil_001' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'stuntoweakspot_skcustom_vil_001' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'hextovertigo_skcustom_vil_001' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'stuntoweakspot_skcustom_vil_001' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'hextovertigo_skcustom_vil_001' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'stuntoweakspot_skcustom_vil_001' for destroyed object 'mapinfocaliper3'
clearCarrierRegistration: clearing attribute 'hextovertigo_skcustom_vil_001' for destroyed object 'mapinfocaliper3'
initAttribsForChar: working on _skcustom_vil_001 (therogue_rumble)
initAttribsForChar (therogue_rumble): looking at attribute symbiote
execInitAttrib: init symbiote attribute
    on _skcustom_vil_001 of template custom_vil_0 (therogue_rumble)
initAttribsForChar (therogue_rumble): looking at attribute cosmic chump
initAttribsForChar (therogue_rumble): looking at attribute wall climbing
initAttribsForChar (therogue_rumble): looking at attribute peakathl
execInitAttrib: init nimble attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on _skcustom_vil_001 of template custom_vil_0 (therogue_rumble)
execInitAttrib: init acrobatic attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on _skcustom_vil_001 of template custom_vil_0 (therogue_rumble)
execInitAttrib: init ffqlowjumper attribute inside ['peakathl', 'nimble', 'acrobatic', 'ffqlowjumper'] combo
    on _skcustom_vil_001 of template custom_vil_0 (therogue_rumble)
initAttribsForChar (therogue_rumble): looking at attribute danger sense
initAttribsForChar: working on hero_0 (guinea pig)
initAttribsForChar (guinea pig): looking at attribute glassjaw
execInitAttrib: init glassjaw attribute
    on hero_0 of template custom_template_53 (guinea pig)
initAttribsForChar (guinea pig): looking at attribute thin skinned
initAttribsForChar (guinea pig): looking at attribute heroic
initAttribsForChar (guinea pig): looking at attribute extra heroic
initAttribsForChar (guinea pig): looking at attribute blitzkrieg
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
TIME: 0.001083 for ai for therogue_rumble
---- TIME: 0.013187 for AI_UpdateMapInfoStatic
AI: _skcustom_vil_001:'therogue_rumble' hunting 'hero_0'
TIME: 0.003396 for ai for therogue_rumble
TIME: 0.001059 for ai for therogue_rumble
TIME: 0.001226 for ai for therogue_rumble
---- TIME: 0.012995 for AI_UpdateMapInfoStatic
TIME: 0.001255 for ai for therogue_rumble
TIME: 0.001179 for ai for therogue_rumble
---- TIME: 0.013286 for AI_UpdateMapInfoStatic
TIME: 0.001183 for ai for therogue_rumble
TIME: 0.001067 for ai for therogue_rumble
TIME: 0.001064 for ai for therogue_rumble
---- TIME: 0.012879 for AI_UpdateMapInfoStatic
TIME: 0.001064 for ai for therogue_rumble
TIME: 0.001551 for ai for therogue_rumble
---- TIME: 0.014402 for AI_UpdateMapInfoStatic
TIME: 0.001189 for ai for therogue_rumble
TIME: 0.001151 for ai for therogue_rumble
TIME: 0.001119 for ai for therogue_rumble
---- TIME: 0.013766 for AI_UpdateMapInfoStatic
TIME: 0.001061 for ai for therogue_rumble
TIME: 0.001451 for ai for therogue_rumble
---- TIME: 0.013138 for AI_UpdateMapInfoStatic
TIME: 0.001204 for ai for therogue_rumble
TIME: 0.001153 for ai for therogue_rumble
TIME: 0.001169 for ai for therogue_rumble
---- TIME: 0.013511 for AI_UpdateMapInfoStatic
TIME: 0.001248 for ai for therogue_rumble
TIME: 0.001071 for ai for therogue_rumble
---- TIME: 0.013429 for AI_UpdateMapInfoStatic
TIME: 0.001070 for ai for therogue_rumble
TIME: 0.001179 for ai for therogue_rumble
TIME: 0.001453 for ai for therogue_rumble
---- TIME: 0.013320 for AI_UpdateMapInfoStatic
TIME: 0.001082 for ai for therogue_rumble
TIME: 0.001075 for ai for therogue_rumble
---- TIME: 0.013201 for AI_UpdateMapInfoStatic
TIME: 0.001200 for ai for therogue_rumble
TIME: 0.001190 for ai for therogue_rumble
TIME: 0.001333 for ai for therogue_rumble
---- TIME: 0.013113 for AI_UpdateMapInfoStatic
TIME: 0.001266 for ai for therogue_rumble
TIME: 0.001061 for ai for therogue_rumble
---- TIME: 0.014614 for AI_UpdateMapInfoStatic
TIME: 0.001160 for ai for therogue_rumble
TIME: 0.001154 for ai for therogue_rumble
TIME: 0.001160 for ai for therogue_rumble
---- TIME: 0.013636 for AI_UpdateMapInfoStatic
TIME: 0.001297 for ai for therogue_rumble
TIME: 0.001136 for ai for therogue_rumble
---- TIME: 0.012889 for AI_UpdateMapInfoStatic
TIME: 0.001072 for ai for therogue_rumble
TIME: 0.001080 for ai for therogue_rumble
TIME: 0.001072 for ai for therogue_rumble
---- TIME: 0.012950 for AI_UpdateMapInfoStatic
TIME: 0.001068 for ai for therogue_rumble
TIME: 0.001266 for ai for therogue_rumble
---- TIME: 0.012766 for AI_UpdateMapInfoStatic
TIME: 0.001304 for ai for therogue_rumble
TIME: 0.001066 for ai for therogue_rumble
TIME: 0.001310 for ai for therogue_rumble
---- TIME: 0.013509 for AI_UpdateMapInfoStatic
TIME: 0.001064 for ai for therogue_rumble
TIME: 0.001198 for ai for therogue_rumble
---- TIME: 0.013321 for AI_UpdateMapInfoStatic
TIME: 0.001109 for ai for therogue_rumble
TIME: 0.001167 for ai for therogue_rumble
---- TIME: 0.013790 for AI_UpdateMapInfoStatic
TIME: 0.001190 for ai for therogue_rumble
TIME: 0.001252 for ai for therogue_rumble
TIME: 0.001213 for ai for therogue_rumble
---- TIME: 0.013339 for AI_UpdateMapInfoStatic
TIME: 0.001195 for ai for therogue_rumble
TIME: 0.001084 for ai for therogue_rumble
---- TIME: 0.012896 for AI_UpdateMapInfoStatic
TIME: 0.001097 for ai for therogue_rumble
TIME: 0.001225 for ai for therogue_rumble
TIME: 0.001155 for ai for therogue_rumble
---- TIME: 0.013281 for AI_UpdateMapInfoStatic
TIME: 0.001288 for ai for therogue_rumble
TIME: 0.001176 for ai for therogue_rumble
---- TIME: 0.012855 for AI_UpdateMapInfoStatic
TIME: 0.001197 for ai for therogue_rumble
TIME: 0.001156 for ai for therogue_rumble
TIME: 0.001074 for ai for therogue_rumble
---- TIME: 0.013152 for AI_UpdateMapInfoStatic
TIME: 0.001076 for ai for therogue_rumble
TIME: 0.001156 for ai for therogue_rumble
---- TIME: 0.013018 for AI_UpdateMapInfoStatic
TIME: 0.001426 for ai for therogue_rumble
TIME: 0.001192 for ai for therogue_rumble[/spoiler]

And no, it's not a problem with the stat-swap because I tested it by choosing Rogue as my character and guinea pig as my enemy and it worked.

Well, that's all I have for now. I'll keep playing and let y'all know if I find anything else.

Note: Sorry for the triple post, but everything wouldn't fit in just one.

TaskMasterX

Quote from: Epimethee on February 27, 2007, 07:14:29 AM
If import copies the customizations to each list, then that's great news as we'd only need to make every Summoner list indentical to the fourth. Unless I'm missing something?

Here's the test I ran:
1st, I created a ffx3 folder that is v3.12a and then imported my customizations so the ffxcustom.py would have them.
2nd, I installed FFX3.2PB2 on top of the ffx3 folder. I did not open FFXCC.
3rd, I loaded the game, opened the console, and ran Stumpy's conversion. Then I quit the game.
4th,  I opened FFXCC and saw that my customizations were there for Summoner. I then clicked Save and closed FFXCC.
5th, I looked at the ffxcustom.py after each step to see what was changed and after Saving in FFXCC (Step 4), 2 FFX_SUMMONER_CUSTOM=[] lists were created, both being identical. In each step prior, there was only one list. The first list is for Summoner1-3, while the last is for Summoner4.

Now, if someone changes their customizations for Summoner4 or creates a new character with Summoner4 and customizes them in FFXCC and Saves, it saves the new customizations to the last list. When FFXCC is opened back up it reads from the 1st list and therefore it seems like FFXCC didn't save the data, even though it did.

Another issue has come up about Summoner 2 and 3 not appearing in FFXCC if they are in a Combo Attribute. To make them appear I added them to the ffxattribs.py along with summoner1 and summoner4, but now instead of just 2 FFX_SUMMONER_CUSTOM=[] lists, there are 4 created when you Save in FFXCC. Now, if I want to create or change a character's customizations that has Summoner 2 or 3 (whether there in a combo attrib or not) in FFXCC, it saves the changes to the appropriate list (the 2nd or 3rd). So, now the ffxcustom.py has 4 Summoner lists with all four having the customizations for my character, but only one of them has the most recent info. How will the plugin determine which one of the 4 lists has the data to copy to the 1st list, overwriting the one that might already be there.

I found that after you make the customizations to your Summoner2, 3, or 4 character in FFXCC, you only need to click the Export File, then the Import File, and Save. You don't need to close and reopen FFXCC after Exporting like I mentioned in the previous post. This copies the newly changed or created customizations to all lists in ffxcustom.py. Only two extra clicks to get your customizations for only these attibutes (Summoner2-4) saved correctly.

Blitzgott

Another bug If found:

Characters with the combat skill attribute, if they happen to be ko'd, lose the attack bonus when they regain consciouness by way of spending an hero point.

I won't be posting the script.log because, unfortunately, it doesn't fit. =/

catwhowalksbyhimself

The script isn't really necessary in this case.  The code's working exactly as it was meant to, but we didn't put anything in there to account for resurrections.

JKCarrier

I'm getting a crash-to-desktop every time I try to run a Rumble Room session. It's quite likely I've messed something up myself, since I did a lot of tinkering and DAT-merging to get all my old customizations transferred over. But if someone can figure out the specific cause, I'd be grateful. Here's my script.log:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
Starting ffx.py v. 3.2.0 build 10; branch = Public Beta 2
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
loading datfiles version 0.251000
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1173118692.937000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
>>> C:\Documents and Settings\J. Kevin Carrier\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> C:\Documents and Settings\J. Kevin Carrier\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
>>> C:\Documents and Settings\J. Kevin Carrier\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('custom_vil_0', 'custom_vil_1', ))
try to spawn custom_vil_0
try to spawn custom_vil_1
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'MP_BERLIN'
initialising FFX: skirmish=1
numberStr=93
storing hero_0: id_1,-93
ReadHeroIndexData: trouble reading or evaluating data from <c:\program files\irrational games\freedom force vs the 3rd reich\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex: Making index <c:\program files\irrational games\freedom force vs the 3rd reich\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex: Complex not set for kid. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex: Complex not set for nick_craft_civ. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex: Complex not set for kid2. Run datfiles.Campaign_SetMissingComplexAttribs()
Campaign_MakeHeroIndex warning: <sky2> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex: Complex not set for clint_coltrane_civ. Run datfiles.Campaign_SetMissingComplexAttribs()
[/spoiler]

BentonGrey

Okay guys, this has been remarkably stable for me, and I have had zero errors until I started tinkering, so I imagine that whatever is going on with my game is my fault.  I've been working on converting FF1 maps, and the first couple crashes I had were on those, so I figured that they were the results of my incompetence, or other things that I have since fixed.  So, today I was playing through the EZScript 'On Patrol' (which is an absolute BLAST, by the way guys!) and after a good long time playing, it crashed on me as I faced the Joker.  I can't do as you asked, and post the first part of the log down to the attributes, as it is over the post limit, but here is the error:

[spoiler]initAttribsForChar: working on m25obj_12 (killer_croc)
initAttribsForChar (killer_croc): looking at attribute claws
initAttribsForChar (killer_croc): looking at attribute weak minded
initAttribsForChar (killer_croc): looking at attribute cold blooded
initAttribsForChar (killer_croc): looking at attribute reptile
execInitAttrib: init unheroic attribute inside ['reptile', 'unheroic', 'jumper', 'bezerker', 'fasthealing'] combo
    on m25obj_12 of template custom_vil_0 (killer_croc)
execInitAttrib: init jumper attribute inside ['reptile', 'unheroic', 'jumper', 'bezerker', 'fasthealing'] combo
    on m25obj_12 of template custom_vil_0 (killer_croc)
Traceback (innermost last):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffx.py", line 938, in initAttribsEvent
    initAttribsForChar(event.object,event.user)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffx.py", line 892, in initAttribsForChar
    execInitAttrib(char, component, update, combo=attribute, multi=multi)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffx.py", line 920, in execInitAttrib
    execInitAttrib2(char, attribute, init)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffx.py", line 930, in execInitAttrib2
    exec init
  File "<string>", line 1, in ?
NameError: initjumper
initAttribsForChar: working on m25obj_14 (civilian_female)
AI: AISetRunning m25obj_12 to 0
AI: AISetRunning m25obj_14 to 0[/spoiler]

If I'm understanding this right, there's some kind of problem with Killer Crock?

M25

Quote from: JKCarrier on March 05, 2007, 10:36:08 AM
I'm getting a crash-to-desktop every time I try to run a Rumble Room session. It's quite likely I've messed something up myself, since I did a lot of tinkering and DAT-merging to get all my old customizations transferred over. But if someone can figure out the specific cause, I'd be grateful. Here's my script.log:



You can try
- running the control centre again
- running datfiles.Campaign_SetMissingComplexAttribs() from the console
- running the 'power id' rumble room mission (whose name escapes me at the moment)

Unfortunately, it is likely a problem with the dat file merging you did, and you'll have to start again.  Do them one at a time if necessary and keep backups.

M25


stumpy

Also, can JUMPER be part of a combo attrib? I didn't think it could...

BentonGrey

I'm afraid that was over my head, M25.  Let me make sure I understand, I am to open FFX.py, and find that function, replacing what is there with the code you have?

Stumpy, the text includes it, but says that 'it's only a rough approximation, since it uses clumsy jumper.'  So, should I have clumsy jumper included instead of jumper?

M25

Quote from: BentonGrey on March 06, 2007, 02:57:55 PM
I'm afraid that was over my head, M25.  Let me make sure I understand, I am to open FFX.py, and find that function, replacing what is there with the code you have?

Stumpy, the text includes it, but says that 'it's only a rough approximation, since it uses clumsy jumper.'  So, should I have clumsy jumper included instead of jumper?

Actually, stumpy's right.  I removed the code I posted since it might have caused other problems. 

It looks like jumper inside of a combo is not supported.  Give him jumper outside of a combo or use one of the other jumper-style attributes.


JKCarrier

Quote from: M25 on March 06, 2007, 02:15:17 PM
Unfortunately, it is likely a problem with the dat file merging you did, and you'll have to start again.  Do them one at a time if necessary and keep backups.

I figured as much. Thanks!

BentonGrey

Okey doke M25, I gotcha' loud and clear.

Epimethee

On merging: If you use the usual method for merging (i.e., copy your old customized DAT and merge from it to the new default DAT, you're bound to have problems, as old invalid entries in your customized DAT will overwrite things changed/corrected in the new default DAT. It is better to merge FROM the new file TO your old customized file.

(The ideal would be to create a backup file including only the entries you customized so merging won't carry over obsolete entries, but for most DAT types that's usually not big enough an issue to bother with.)

|