Skip to content

Suggestion: expand functionality of EffectPoison() and EffectDisease()

shadguyshadguy Member Posts: 154
edited March 2018 in Builders - Scripting
EffectPoison() and EffectDisease() can only apply a limited set of pre-designed Poisons and Diseases per the relevant 2da files. Per nwnlexion, we cannot add new poisons or diseases to the game by expanding the 2da files; we can only edit the behavior of what's already defined.

This limits the modders ability to make custom disease and poisons wherein the effect DCs might scale by HD and/or caster level, for example. Also, these effects are pretty much outgrown at high levels of play by the limited range covered by the DCs of the predefined poisons, regardless of efforts to rebalance an effect here or there.

I suggest allowing modders to add more lines to these 2das to support custom poisons and diseases.

I also suggest adding new functions or updating the existing ones to allow the specification of all of the details otherwise set in 2das. Perhaps adding EffectCustomPoison() and EffectCustomDisease() functions is viable?

-Dave

References (See "Remarks" section of each link) :
https://nwnlexicon.com/index.php?title=EffectPoison
https://nwnlexicon.com/index.php?title=EffectDisease
Post edited by shadguy on
DerpCity

Comments

  • meaglynmeaglyn Member Posts: 146

    I can't speak for disease because I haven't yet done that, but poisons can certainly be added by adding lines to the 2da. That already works. I suspect disease works as well. The limitation is in how they work. Applied once, second effect after 1 minute, not stackable, limited range of bad effects, etc. But this can be scripted around. Take a look at what Shadooow did in CPP 1.7X.
    squattingmonk
  • shadguyshadguy Member Posts: 154
    edited March 2018
    Cool, ty, I'm going to test that when I get a chance. I haven't looked at it since pre 1.69, I should have done more due diligence than relying on a double check of the lexicon. :)

    That said, the suggestion to specify arbitrary parameters via script without pre-defining them in 2da would still be an asset. :)

    -Dave
  • ShadowMShadowM Member Posts: 573
    meaglyn said:


    I can't speak for disease because I haven't yet done that, but poisons can certainly be added by adding lines to the 2da. That already works. I suspect disease works as well. The limitation is in how they work. Applied once, second effect after 1 minute, not stackable, limited range of bad effects, etc. But this can be scripted around. Take a look at what Shadooow did in CPP 1.7X.

    Yes it works for both, I remember when I showed him and others how to do that. It still very inefficient and inflexible. It need new custom on-hit poison/disease item properties/effect so can scale it instead of making making tons of versions of poison/disease the dc(or flubbing the DC through scripting) is also capped at 255. Also making new ones, will allow for backwards compatibility of the old system.
    shadguymeaglyn
Sign In or Register to comment.