Aller au contenu

Photo

How do I provide choice in Companion class during level-up?


  • Veuillez vous connecter pour répondre
18 réponses à ce sujet

#1
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
Right now, the companions in my mod can only level up in the one class they already hold.  None of the other classes even show up.  I have played mods that allow unrestricted level up.  How is this done?

#2
Guest_Chaos Wielder_*

Guest_Chaos Wielder_*
  • Guests
Actually, I don't know how to do restricted level up. I'm in the opposite position! My companions can level up as anything. So, in effect, I'm sort of adding to the initial question: how do you determine companion level up paths?

Modifié par Chaos Wielder, 15 février 2011 - 12:45 .


#3
Alupinu

Alupinu
  • Members
  • 528 messages
Here's what I ended up using. Maybe this is what your looking for? Posted Image

nwvault.ign.com/View.php

#4
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
There is a campaign setting to allow unrestricted level up. You have to be using a campaign though (which you should).



Regards

#5
kevL

kevL
  • Members
  • 4 052 messages
Alupinu's mention looks like the way to go; Kaldor's no doubt got the insight. I wouldn't feel right, however, without pointing to some nuts & bolts. And from what I gather the issue seems to hinge on the following GUI files:

levelup_class.xml
levelup_classx1.xml
levelup_classx2.xml

In those you should find the following line:

[b]OnUpdate='UIListBox_OnUpdate_CreateclassList("LEVELUP","class_IMAGE","class_TEXT","INFOPANE_TEXT","TEMP_CHARACTER_SCENE")'[/b]

(note, the line is strict nwn2-XML compliant, while the default files aren't (ironic'ly), so narrow the search to "CreateclassList")

Since I'm personally using a very simple change (from the Vault / Vault) that allows multi-classing OC+MotB+SoZ Companions, the line above has changed to:

[b]OnUpdate='UIListBox_OnUpdate_CreateclassList("CHARGEN","class_IMAGE","class_TEXT","INFOPANE_TEXT","TEMP_CHARACTER_SCENE")'[/b]

The only change is from 'LEVELUP' TO 'CHARGEN'. It may be working in conjunction with Packages.2da .. but this is speculation on my part.


if anyone can expunge on the difference, that be good.


( Edit, posting changed the case of 'class' in the XML .. ps. tks, I_Raps ;)

Modifié par kevL, 15 février 2011 - 10:15 .


#6
Kaldor Silverwand

Kaldor Silverwand
  • Members
  • 1 585 messages
You don't need to modify the XML at all. The reason for modifying the XML when overriding the OC and MotB was to prevent having to modify the campaign.cam file using the toolset. If ou are building your own campaign then the is no reason not to use the standard XML files and just set the unrestricted level up flag in the campaign settings to true.



In the OC and MotB Makeovers I originally used the modified XML approach. But since I had to alter the campaign.cam file anyway to allow party creation, it didnt make sense to modify the XML, so I stopped doing that and now just use the campaign setting. Unfortunately the campaign settings are not documented anywhere so we learn as we do.



Regards

#7
kevL

kevL
  • Members
  • 4 052 messages
nifty! thanks for the err, insight :)

#8
M. Rieder

M. Rieder
  • Members
  • 2 530 messages
I just modified the campaign option to allow unrestricted level up and it worked.thanks Kaldor. I assume that the opposite would work for you, Chaos Wielder. Before I selected unrestricted level-up, I could only level up in one class.

#9
Alupinu

Alupinu
  • Members
  • 528 messages
There is!!! Man don't i feel like a block head. :P

#10
Shaughn78

Shaughn78
  • Members
  • 637 messages
Chaos,

Like M.Rieder said for restricted leveling you need to leave the campaign checkoff "unrestricted levelup" empty.

When the companion levels the game uses their assigned package to determine which level they can levelup as. It doesn't matter what classes the character has, only their current package.

I have found the easiest way to switch between packages is through conversation. When assigning packages there needs to be checks that they can actually meet the requirements. A chaotic aligned character can be assigned a monk package but when they levelup they will be unabale to advance and have no other optinions..

Modifié par Shaughn78, 16 février 2011 - 02:23 .


#11
Guest_Chaos Wielder_*

Guest_Chaos Wielder_*
  • Guests
Okay, thanks. I'll play around and see if the packages give my guys what they want.



On the one hand--somewhat off-topic--I cannot imagine a player making very bad decisions. That is, you give them an Ogre barbarian companion and, with no restrictions, they decide to level him up as a wizard. Still, I guess I would like to guide people down the right path.

#12
kevL

kevL
  • Members
  • 4 052 messages

Chaos Wielder wrote...

On the one hand--somewhat off-topic--I cannot imagine a player making very bad decisions. That is, you give them an Ogre barbarian companion and, with no restrictions, they decide to level him up as a wizard. Still, I guess I would like to guide people down the right path.

one person's bad decision is another person's "hey, cool, what if I do this ..!?"

Posted Image

#13
Mad.Hatter

Mad.Hatter
  • Members
  • 165 messages
Continuing in the off topic nature: :D

Some module designers have a specific story to tell with their NPC companions that wouldn't make sense if players could level them up as they please. Think Khelgar in the OC, for example.

#14
dunniteowl

dunniteowl
  • Members
  • 1 559 messages
I think in some cases, as Mad.Hatter mentions, you need to say, "Hey, I know he's in your party, but damnit! I made him and he's Part of the Story and he plays Like THIS!" In most other cases, you should be able to allow them (the Player) to choose Companion Levelling and packages, but there are times, when you have to enforce the character's integrity in their role and allow only the path they are supposed to take.



Would be nice if that was individually controllable.



dunniteowl

#15
Mad.Hatter

Mad.Hatter
  • Members
  • 165 messages
I bet Lance could control it individually with some XML magic and a few scripts.

#16
kevL

kevL
  • Members
  • 4 052 messages

Mad.Hatter wrote...

Continuing in the off topic nature: :D

not so sure this is OffT. so here goes an idea ..


Some module designers have a specific story to tell with their NPC companions that wouldn't make sense if players could level them up as they please. Think Khelgar in the OC, for example.

ya'll know how some modules allow different plot-paths for Alignment? How abouts allowing different level-up paths for a (special) Companion? Say, in dialog the PC can coax said Companion in the direction of a melee-type, an archer-type, a rogue-type, a caster-type (divine or arcane)? Then, when level-up time comes, a sub-scripted ™ influence system kicks in and either calls a particular Package, or displays a limited range of class choices ..

(oh, bother.)

Modifié par kevL, 17 février 2011 - 07:29 .


#17
dunniteowl

dunniteowl
  • Members
  • 1 559 messages
I think that's a good idea. You could use reputation as influence and dictate their general path. Now getting that to script -- hmm.

dno

#18
kevL

kevL
  • Members
  • 4 052 messages
yeah, hm! (i'm really not familiar with Companions enough to even guess how feasible it is, but like so many things I'm sure its possible)

but just to flesh the idea, as if M.H's example of Khelgar isn't enough: for builders who enjoy designing romances and/ or friendships, two stories (the PC's and the Companion's) could meet, entwine, culminate at the climax of a module -

plus have the benefit of creating a mod where the player can choose PC-class more freely, and rely on the companion taking up any slack as needed.

#19
Shaughn78

Shaughn78
  • Members
  • 637 messages
Keeping with the slightly derailed topic:



The idea of influence opening up companion leveling packages is something that can be done. I have it with one of my companions. The influence is essentially a local int, some systems band them together -25 to 25 neutral, 25-50 they like you etc. In conversation is is a simple check of the int or a slightly more complex script that checks for a band. I have one companion that uses this to choose her levelup package.



From conversation this is very easy to control, from the the levelup gui I don't know if something like this would be possible. Assigning the available packages to a character with local int is possible but if the levelup screen could be written to allow all the available choices is another thing.



As a builder I prefer the use of packages. They allow for their creation of more developed companions, who interjections make sense with their class and abilities. If a melee character was advanced as an arcane their response/interjections could make less sense and possibly even conflict with the character. An example is one of my companions dislikes elves, in particular elven druids, it would be very unlikely he would take a level as a druid. If he did, then later he had an interjection about how usless or conter productive druids were it would make little sense.



Other than the class choice all other aspects of a package can be ignored by the player. I would advocate that if a builder is using the package defined leveling, they make their own unique packages. That way not every default fighter has longsword talent or the finesse fighter only uses the shortsword. If the package is unique it will help to develop that companion and maybe the player may use it. I for one know if I it is a default game package I ignore it, if it is suggesting different and interesting things I would likely give it a try.



The package system can also be used to reward a player for using and developing certain companions as well. If 6 companions are offered, but only 3 can be used at a time some companions would be more developed (used by) the player. Those companions would likely have more influence and that could open up certain packages. Or having a companion in the party at certain points in the game could open a unique package for them.



Within my game I have looked at many ways to use the packages to help develop and define the companions. A half-orc barbarian has the choice to become a more disciplined fighter or embrace the chaos of battle and advance as a frenzied berserker. Once one path is chosen the opposite path is locked and that will have impact on the companion later in the game.



So that is it, for story based games I feel that using the packages opposed to unrestrictive leveling of companions can add a lot to the game if the developer puts time into it's planning and implementation.