Pretty sure that one's present in Co8 too, shouldn't cause the crash. Since the last thing in there is the Feats system, you should check your feat files. You should be able to just debug it too (get used to it, that's part of the dev process).
It is definitely in my feat .txt files. I renamed the feats folder of my mod so it wouldn't detect and the game launched. Trying the files one at a time, it seems like most of the feats are ok but for some reason Speed of Thought is making it crash. Yep, Speed of Thought is the problem. Code: name: Speed of Thought flags: 2097152 prereqs: 4 13 300 1 description: As long as you are psionically focused and not wearing heavy armor, you gain an insight bonus to your speed of 10 feet. prereq descr: Power point reserve, Wis 13 I edited the file so the second line was only "prereqs:", removing the codes and values, and it worked. So for some reason, it breaks the game when it sees anything on the prereqs line, because every other feat .txt had no prereqs codes/values. This line in feat.cpp is what makes it crash when it reads values in prereqs Code: featSpec.prereqs[prereqCount++].featPrereqCode = atol(ch);
I think I fixed it. The vector capacity was 0 and needed to be resized or pushed back to resize, it was previously trying to access out of bounds because the vector started with no size. The original code in the feat.cpp that was giving errors Code: else if (!_strnicmp(lineContent, "prereqs:", 8)) { auto prereqCount = 0; auto prereqArgCount = 0; for (auto ch = lineContent + 8; *ch != 0; ch++) { if ( *ch == ':' || *ch == ' ' || *ch == '\t') continue; if (prereqArgCount < prereqCount) { featSpec.prereqs[prereqArgCount++].featPrereqCodeArg = atol(ch); } else featSpec.prereqs[prereqCount++].featPrereqCode = atol(ch); // advance till next piece of content while (*ch && *ch != ' ' && *ch != '\t') ch++; } } Here's the modification that got it to the main menu of the game without error. At the top of the getnewfeatsfromfile function add the variable Code: FeatPrereq featPrereq; Code: else if (!_strnicmp(lineContent, "prereqs:", 8)) { auto prereqCount = 0; auto prereqArgCount = 0; for (auto ch = lineContent + 8; *ch != 0; ch++) { if ( *ch == ':' || *ch == ' ' || *ch == '\t') continue; if (prereqArgCount < prereqCount) { if (featSpec.prereqs.capacity() <= prereqArgCount) { featPrereq.featPrereqCodeArg = atol(ch); featSpec.prereqs.push_back(featPrereq); prereqArgCount++; } else featSpec.prereqs[prereqArgCount++].featPrereqCodeArg = atol(ch); } else { if (featSpec.prereqs.capacity() <= prereqCount) { featPrereq.featPrereqCode = atol(ch); featSpec.prereqs.push_back(featPrereq); prereqCount++; } else featSpec.prereqs[prereqCount++].featPrereqCode = atol(ch); } // advance till next piece of content while (*ch && *ch != ' ' && *ch != '\t') ch++; } }
Haven't consoled in levels of soulknife yet, obj.make_class(stat_level_soulknife, n) says obj and make_class aren't defined, I think I need to import something in the console first. Tried calling imports that modifier files have and then calling, but still undefined. Got it, needed game.party[x].make_class(stat_level_soulknife, x)
Well I've got soulknife levels in game now. Mind Blade seems to work. Psychic Strike however, when I get level 3 soulknife, immediately shows the portrait buff. It's like the argument for the modifier is initialized to a different value so it starts out as imbued, how do I make it so the args are set to an initial value when the modifier is created? @Allyx - You will be happy to know that you were right. It is indeed possible to make weapons without animations be thrown. To make it work, you need to give a value in the range property AND you need to give weapon ammo type as well. I gave throwing axe and dagger to test two different kinds of ammo type. Throwing axe and dagger ammo types both work.
Modifiers are iniyed with 0 unless specified otherwise. I think modifiers associated wih feats may put values in one or more of the first 3 args, I'll check when back home.
Sweet, might be worth testing if throwing dagger gives +1 bonuses to Halflings attack bonuses, I assume throwing axe doesn't.
Update on the weapon type dagger makes it turn into a dagger while it is thrown, don't use this! edit: Wrong on the throwable not needed. Throwing axe changes the model in flight as well Throwable doesn't seem to work. I get the ability to throw it at least. Also, OF_OFF put in the proto fields doesn't make it kill itself on unequip for some reason.
Weird about the throwing dagger property bit, but at least it works, and doesn't require new animations. I'm just glad I was useful for something in this thread - 99% of all you two have said has gone way over my head lol. OF_off doesn't destroy a mob, it's still there, just invisible and non-interactive. You can unset OF_off to bring it back.