PDA

View Full Version : Influence/Alignment scripts


VarsityPuppet
08-02-2009, 03:34 PM
I have two questions:

Is there a script that gives you the mastery bonuses, or is it hardcoded?
If it's inevitably tied to the global number G_PC_Align_Val being either 100 or 0, I can sort of fix it, but what I'm more interested in is the influence system.

Is the influence system hardcoded? By that, I mean does gaining influence with a party member inevitably change their alignment? I know it doesn't with Kreia, but...

I'm just looking for the scripts (if there are any) to change so I can independently change alignment and influence.

Star Admiral
08-02-2009, 05:48 PM
As far as I can tell, the mastery bonus is tied only to your alignment. Once you reach either 100 LS or 100 DS, you will get the mastery bonus. No script is required. I have not been able to figure out how to change the bonus you receive, though maybe another modder has?

Regarding the influence system. Gaining influence with a party member will influence their alignment to your own while losing influence tends to influence their alignment to the opposite of yours. Kreia, however, is different. Her alignment is locked to 50 and can't ever be changed.

To change influence, you can use the SetInfluence() or ModifyInfluence() functions. SetInfluence() sets the influence to a whatever value between 0 and 100 that you want. ModifyInfluence() adds or subtracts a certain amount from the current influence.

To change alignment, you can use the AdjustAlignment() function. An example would be as follows:

void main() {
SetInfluence( NPC_ATTON, 70 );
ModifyInfluence( NPC_ATTON, -5 );
AdjustAlignment( GetFirstPC(), ALIGNMENT_LIGHT_SIDE, 10, FALSE );
}

Line 1 sets the influence with Atton to 70. Line 2 subtracts 5 from the influence with Atton, changing it 65. Line 3 adjusts the PC's alignment by 10, shifting it to the light side.

- Star Admiral

VarsityPuppet
08-03-2009, 12:15 AM
As far as I can tell, the mastery bonus is tied only to your alignment. Once you reach either 100 LS or 100 DS, you will get the mastery bonus. No script is required. I have not been able to figure out how to change the bonus you receive, though maybe another modder has?

Regarding the influence system. Gaining influence with a party member will influence their alignment to your own while losing influence tends to influence their alignment to the opposite of yours. Kreia, however, is different. Her alignment is locked to 50 and can't ever be changed.

To change influence, you can use the SetInfluence() or ModifyInfluence() functions. SetInfluence() sets the influence to a whatever value between 0 and 100 that you want. ModifyInfluence() adds or subtracts a certain amount from the current influence.

To change alignment, you can use the AdjustAlignment() function. An example would be as follows:

void main() {
SetInfluence( NPC_ATTON, 70 );
ModifyInfluence( NPC_ATTON, -5 );
AdjustAlignment( GetFirstPC(), ALIGNMENT_LIGHT_SIDE, 10, FALSE );
}

Line 1 sets the influence with Atton to 70. Line 2 subtracts 5 from the influence with Atton, changing it 65. Line 3 adjusts the PC's alignment by 10, shifting it to the light side.

- Star Admiral

Er.. thanks for the script lesson Star Admiral, but I kind of already knew how to tinker with influence values. What I was trying to figure out is if there is some way to modify influence values without changing your party member's alignments. I don't really want to make new globals and keep track of them either...

Oh well. It doesn't matter anymore. My guess is that it can't be helped. I am interested in how exactly each of your party members alignments is determined based off of the Exile's alignment and their influence with them.

I presume it's something like this:

Atton's Alignment = Exile's Alignment*(Influence/100)

Kreia's Alignment = 50

But since the alignment of your other party members is varied (i.e. Visas starts off as a Dark-Sider), does this mean that you initially have less than 50 influence with her when she enters your party, or is it 50 and her alignment is calculated differently?

All of this, is of course to try to stabilize my "taint" property. As is, there are numerous problems with it. With a few subtle (and some not so subtle) modifications, it should work nicely. I just have to figure out the influence system, and then it should be smooth sailing.

Star Admiral
08-03-2009, 10:57 AM
I don't know whether you need to alter all the influence scripts in the game, but by setting the last parameter in AdjustAlignment() to TRUE, you can change your alignment without affecting your party member's alignment.

The exact formula for influence is beyond me, but I have noticed that if your influence with a party member is neutral, like around 35 to 65, your alignment has no effect whatsoever on theirs. It's only when they really like or really hate you that the alignment changes will take effect. You have an influence of 50 with all party members when they join you. The party member's initial alignment is determined by the alignment set in their UTC file.

- Star Admiral

VarsityPuppet
08-04-2009, 12:09 AM
Hm... well, I attempted to figure out the formula for each influence value.
It's not quite what I thought it was, which makes it quite a bit harder than I originally thought.

I'm just going to go with this conclusion: There's some rhyme or reason to it, but what it is I'll never know.

So, to attempt to fix any effects that the tainting robe may have, I narrowed down my options to about 3:

1- Rewrite a number of scripts which grant you influence/alignment in such a way that does not change alignments (not as hard as you'd think, but requires some simple dialog tweaks... ALOT of them. I imagine many more compatibility problems would arise with other mods, particularly the TSLRCP)

2- Fix the tainting so that all party members are affected by the alignment shift (not what I would want, but hey )

3- Totally forgot what the third was...


But anyways, would any of you be interested in an influence/alignment fix?

I didn't like how you could teach Atton bad things, but in the end if you were lightsided, Atton would be as well.

Or a better example would be the extremely lightsided HK-47.... That's just wrong.

Anyways, the influence system would still work somewhat, just that influence and alignment would be separated. If you gained influence with Atton doing a good thing for example, you could gain influence with him, BUT it would give him lightside points. Likewise, if you got him to participate in a gangbang, you would get dark-side points in addition to an influence increase.

The only problem I could see is that it might be quite hard to get your party members to a significantly high alignment.