As the title says, have anyone tried to do it or anyone know where is done or if it’s even possible? I know the reason of the devs to purge all the effects and i find it valid but i don’t know if its hardcoded.
I made a mass domination effect and at the moment you enter into the overland map, the effect ends and you are attacked by the creatures that you dominated and you can’t defend yourself.
Also, is there a way to get the Area transition object(the one that you click to go to the next area) and its type? I was thinking on doing something with this to purge the domination effect before exiting the area to prevent that bug.
I wrote some documentation for the overland map here:
iirc it’s not hardcoded, you’d have to change some scripting.
The area transitions are via script and are controlled by script.
Thanks, i checked inside nx2_ol_client_enter and there is a line that removes all effects. I tested by doing some changes and they take effect. Now i can filter my custom effects.
i believe there is a mod that tries to retain party-effects … not sure what it is tho. Eg
void RefreshSpellEffectDurations(object oTarget, int nSpellId, float fDuration);
Unfortunately that’s sort of experimental and seems to grant back the entire duration (it doesn’t account for duration elapsed iirc).
I can say somethings about the stock setup. SoZ uses a number of onenter (etc) scripts that primarily handle shrinking and unshrinking the character models, and iirc it also removes all effects. While it’s possible to rewrite that, the more difficult issue is the module transitions that often happen to/from the OL: a module transition removes effects and animal companions, and that seems to be hardcoded.
that is, you might need to deal with more than just ‘nx2_ol_client_enter’ (eg. area hb scripts)
And there are switches/functions that deal with dominated party …
const string CAMPAIGN_SWITCH_REMOVE_DOMINATED_ON_TRANSITION = "N2_S_REMOVE_DOM_ON_TRAN";
void StandardAttemptAreaTransition(object oPc, object oDestination, int bPartyTransition);
int RemoveDominatedFromPCParty(object oPc);
although I’m not sure if its use is intended to clear party-members who are dominated, or dominated monsters that are in the party, or both.
Same. Can’t seem to remember the mod’s name but AFAIR it was made precisely for this.
i believe there is a mod that tries to retain party-effects
Yeah, i read about that mod but i was only interested in keeping my custom effects, not all of them. I’m creating the Pact Magic system and the Binder class from Tome of Magic, basically, the player gets some buffs and temporal feats(active feats with unlimited uses but with cooldown and passive feats) for 24 hours but it takes a full round to cast the spell so it’s worth the wait. SoZ was killing that part of my system.
the more difficult issue is the module transitions that often happen to/from the OL: a module transition removes effects and animal companions, and that seems to be hardcoded.
If you are talking about when a transition happens and all effects are removed but the party is fully rested, i don’t find that a problem since when that happen, it’s usually in an area where you can fight.
I’m going to need to play test further my mod but at the moment with changes in the “nx2_ol_client_enter” script is enough.
Edit: I also noticed that the ExitOverlandMap function haves a remove all effects that can be modified.
just a heads up … you might be underestimating the issue
(granted there are duplicates here that are overestimating the issue)
i found that all those calls to ExitOverlandMap() aren’t actually needed, and there are plenty of gotchas (eg. loading a save) etc etc.
tbh I’ve been back and forth over SoZ many times in the past and have modified it (mostly to my own preference) extensively. If you find that a pinpoint modification works for what you want great – but personally i found their design overly complicated (and im trying to be polite about it)
but maybe that’s just me …
I’m aware that i’m going to need to modify more files since i want my mod to be as bug free as possible. I noticed that they are using “RemoveAllEffects” inside ExitOverlandMap so i’m going to search for that procedure to see what files are using it.
sounds good. I was sorta wondering if you have the capability of searching like that
no guarantees but if you want me to “poke” now and then jsut aks