kevL / TccScripts

4 stars 0 forks source link

Enable IP Mighty #36

Closed kevL closed 5 years ago

kevL commented 5 years ago

the function in 'x2_inc_itemprop' IPGetItemPropertyByID() should be broken out and reworked to enable the Mighty IP for ranged weapons.

vandervecken commented 5 years ago

I disagree. Mighty is a function of the physical construction of the bow, and can already be generated via the blacksmithing process, using exotic materials (Duskwood, Shederran and Zalantar).

kevL commented 5 years ago

you're right ... as long as there's no intention of enchanting w/ ip Mighty

the function itself, as a more basic function, should have it enabled tho

so close this at your leisure, V (or i'll do it in a day or two unless another perspective comes along)

vandervecken commented 5 years ago

I have no objection to a code rework, if you feel it's warranted.

kevL commented 5 years ago

well, it's something that should be done in nwn2fixes -- patching a function in an add-on that doesn't actually rely on the patch strikes me as superfluous, right?

vandervecken commented 5 years ago

Is the change going to happen to a file TCC already edits (like ginc_crafting)? Or some new file? If we make the change in nwn2fixes, I'm concerned there might be incompatibilities.

kevL commented 5 years ago

no i'd let you know if i thought that'd happen

look at it this way.

there's a stock #include 'x2_inc_itemprop' It's used for... whatever, it's a stock #include full of functions dealing with itemprops.

There's a function in it IPGetItemPropertyByID() that's used by crafting to construct EncodedIPs. But it can be used by anyone writing a script ofc because it's a stock function.

A codeblock in that function is commented out, the one that returns the constructed itemproperty for Mighty.

I don't know why it's commented out. It just is and it shouldn't be. It looks like this:

/*
    else if (nPropID == ITEM_PROPERTY_MIGHTY) // 45
    {
        ipRet = ?(nParam1);
    }
*/

mine looks like this:

    case ITEM_PROPERTY_MIGHTY: // 45 - kL_fix.
        ipRet = ItemPropertyMaxRangeStrengthMod(iPar1);
        break;

But if it's a policy atm for TCC Reboot to not apply ipMighty then there is no point fixing it for TCC Reboot, right? I mean, maybe somebody wants to make their own recipe for Mighty ... then it's their problem and they can fix the funct themselves. It's simply not a concern of ours unless the Reboot contains a scripted enchantment for Mighty

( and if it ever is changed (correctly) in nwn2fixes it certainly would not break anything in Reboot -- it could only increase the Reboot's versatility )

kevL commented 5 years ago

all that said, if you want the versatility to ship with Reboot ...

vandervecken commented 5 years ago

My thinking is: TCC by now is just as much about code cleanup and improvements (thanks to your work) as it is about the recipes themselves. I think anyone who is going to do anything significant in the crafting space in NWN2 is likely to use TCC as a starting point at this point (assuming they are ok with OC-style crafting not SoZ style crafting). Therefore, we should include refactors here even if they don't serve the specific recipes.

kevL commented 5 years ago

ok will rig it up

kevL commented 5 years ago

https://github.com/kevL/TccScripts/commit/f6a3b77c7b057958c12ff10512efe8eca7c91434