subtledoctor Posted January 26, 2023 Share Posted January 26, 2023 (edited) 1. I've been trying a bunch of different things with spells, SPLPROT, scripts, and my brain is getting fried. So I am asking for help. The end goal is... complicated. I will describe in a spoiler, because I the description is only like to be a distraction. Spoiler Spending points in a proficiency gives you an innate ability (done) The innate ability triggers a dialogue (done) The dialogue runs as many times as you just spent on the proficiency (can be done with distinct innate abilities, or a local variable in the dialogue script) Upon dual-classing you should be able to do this again by spending pips in the proficiency. I.e. if you had 2 pips in your first class, and it reverts to 0, you should be able to use the dialogue with 1 pip in your 2nd class (tricky - making this work screws up the next part) Upon regaining your original class, you should not be able to use the dialogue for the pips you already spent Anyway so it occurs to me that a simple way to achieve this would be to simply make certain proficiency points indelible, so they do not get zeroed out when you dual. Like what if we want to implement a rule that any points you put into weapon styles get retained even when you dual-class. Can anyone think of a way to do that? Either make them stay through the process of dualling, or pop back into existence via CLAB effect right after you dual. - - - 2. Anyone know how proficiencies for your OriginalClass are recorded in the .CRE file while you are in the process of dualling? I can see it in Near Infinity, it shows proficiency numbers for "active class" and "inactive class." But I would like to detect the inactive values with Weidu, and when I convert that field to another format (numeric, hex, hex number, etc.) the resulting value is not what I expected. Anyone know what byte/bit values are used for inactive proficiency points? EDIT - I'll tag @argent77 on this second question, for maybe knowing how NI interprets the data. EDIT 2 - okay hang on... some numbers makes sense. In a custom savegame dualling a fighter to cleric, specifically to test this: 1 pip in OriginalClass, 0 pips in active class: stat value is 8, i.e. bit3. This is what I expected. 2 pips in OriginalClass, 0 pips in active class: stat value is 16. Easy enough, and I can work with this in Weidu and spells. 1 pip in OriginalClass, 1 pip in active class: stat value is 9. Again, makes sense. 2 pips in OriginalClass, 1 pip in active class: stat value is 17. Crap, this makes sense too. Okay, go back to my old savegame. There: 2 pips in stat 107 in OriginalClass, 1 pip in active class: stat value is 17. 2 pips in stat 115 in OriginalClass, 1 pip in active class: stat value is 1610612753. (11 00 00 60 in hex). Stats 124 and 127 are correct, stat value of 17. So... it seems only stat 115 is screwy? Any ideas why? EDIT 3 - whoopsie! I know why. Sorry, excuse me, you can ignore this second question. Hmm, and maybe that can give me the answer to the first question. Edited January 26, 2023 by subtledoctor Quote Link to comment
subtledoctor Posted January 26, 2023 Author Share Posted January 26, 2023 (edited) OK, I think I've figured it out. NGL if modding the infinity engine was real science, I would be a mad genius with a superweapon trying to take over the world. EDIT - or not. Jeez, this is really getting the better of me. Current method being tested: a CLAB spell at 1st level that checks via 326 for a proficiency being bit-equal to (x << 3) (because those values will only be > 0 if you are dual-classed) which casts a spell that applies a 233 effect increasing (not setting) the proficiency by x. Voila: if you spend two pips in your first class and one pip at level 1 in your second class, the next time you look at it you will have 3 pips total. The first-class pips are preserved and added to the 2nd-class total. Hooray! Problem: when you gain your original class back, the game reinstates you those first two pips. When they are added to the 233 effect increasing the proficiency, you suddenly have 4 pips, when you should only have 3. So now I’m trying to fashion another CLAB effect, applied at 2nd level (because the earliest you can regain your original class is at 3rd level in your second class), which measures your current proficiency value, and applies a 233 effect that sets it to that number, and then removes the other 233 effect that increased it. This way there will be an effect from the original class setting the proficiency to 2, and now a later effect setting it to 3, and when you regain your original class it should stay at 3. Rather tricky to implement. But it should work once I get it just right. EDIT 2 - okay that worked. *Whew!* Edited January 27, 2023 by subtledoctor Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.