Jump to content

A New Approach to this Mod

Ishad Nha

Recommended Posts

In the Level 1 NPCs Mod the existing approach is to take an NPC, reduce them to level 1 and add the features of the relevant kit. By "kit" I will mean a true class as well as a kit for a class

My approach is to take a valid Cre with the desired kit and then add the NPC features: name, portraits, dialog and scripts. This is easier to program because all NPC features would fit the same data array. There may only be eight features, all of them having the same length from one NPC to the next.
In actual practice the idea does work, it works all too well. Protagonist seems to be leading a therapy group for particularly neurotic patients. A therapy group not a fearsome band of adventurers.
You could have a collection of templates, one for each kit. You would choose the template for an NPC, their personal features would be added to it.

For kits not covered by the templates: you could create some NPCs via Multiplayer mode and then Export them. My approach would take the Chr files, turn them into Cre files, and then add the NPC features.

Link to comment

Sounds like a lot of work for the player. I'm working on a variant that will allow kit to be chosen in-game. So the player can install the Weidu mod, and then choose any kit for any NPC each time they play.


That will add tons of replayability, and all the player will have to do is install the mod once - no messing around with EEKeeper, or exporting NPCs from the non-EE game, or creating them in multiplayer games.


Should be ready in a couple months.

Link to comment

Sounds like a lot of work for the player. I'm working on a variant that will allow kit to be chosen in-game.

Have you talked to CrevsDaak about this, he had a version in works too... hoping just that you don't need to duplicate the work already done. And possibly Miloch.

Also if you or anyone else wants testers & small coding support, I can offer myself to try to help if I can.

Link to comment

I'm not doing it with L1NPCs, mine will be an update of NPC_EE. A different mod using a different technique to reach a similar goal.


The main thing I need right now is to figure out how to make dialogues for scripted kit changes. Grammarsalad is helping me with that, then I'll automate it to handle all mod kits and mod NPCs.

Link to comment

At which discussion are you going to launch that talk...

1) it breaks the forth wall like a wrecking ball.

2) it could break mod NPCs dialog.

3... dynamite. It will be completely useless, or in the worst case worse after the actual L1NPCs mod gets a EET release. There's a reason why the race mod is not really popular. The 4th wall needs to stand.


Yeah the difference between Mordin Solus singing himself as Scientist Salarian(major-general) and convoluted asking if you wish to see Minsc to be a priest of kickass(class, kit etc) is a little different.

Link to comment

1) it breaks the forth wall like a wrecking ball.

The 4th wall needs to stand.

Bioware routinely does this. Did you never continously right-click an NPC in BG1 to get those ridiculous (but characterful and funny) lines?


Alora: C'mon people now, smile on your brother. Everybody get together, try to love one another right now. (1967, "Get Together" by The Youngbloods)

Alora: Happy happy joy joy, happy happy joy joy (1990's cartoon Ren & Stimpy, a very popular source here)




I think you don't mean the Deadpool kind of 4th wall breaking, you just don't want something like the underbelly of the game mechanics getting shoved in the player's face.

Link to comment

1) it breaks the forth wall like a wrecking ball.


Eh, I don't think it's the end of the world to ask the player "choose a kit for this NPC" for one moment when you first encounter an NPC. And if someone is that sensitive to 4th-wall issues they don't have to use the mod.


2) it could break mod NPCs dialog.


Not sure how. From having a different kit? In that case changing them with L1NPCs would have the same effect, so do you object to this mod?


It will be completely useless, or in the worst case worse after the actual L1NPCs mod gets a EET release.


Like I said, a different route to a similar goal. One of the differences being, with my version you will be able to change things around without reinstalling the mod, and keep them different in different savegames in different simultaneous playthroughs. I don't pretend to be as good at this stuff as Miloch or Crevsdaak, but my approach would have distinct advantages over this mod. (Not to say better - there would be disadvantages too - just a different way of doing a similar task.)


Btw is there any actual word that L1NPCs is going to get an EET release? Because honestly I might not go to the trouble of updating NPC_EE, if L1NPCs is updated.

Link to comment

So you new version of the NPC_EE will not have several weidu components for each NPC but a special ingame dialog which will initiate changes?


At this point it's still in conceptual stages, so I'm not sure. It might only have a single main component, giving kit-change innate abilities to every joinable NPC. (I might put this out as a beta first.)


Or it might have various components for setting class. So you could make Imoen a mage, or a bard, or keep her a thief; and when you meet her in the game she will have options to choose a kit from the class you chose.


(Some NPCs might of course be class-constrained based on in-game lore and dialogues: e.g. Branwen can only reasonably be a cleric or a fighter/cleric. Xzar and Edwin must probably stay as mages. Xan could be a fighter/mage, maybe a thief/mage, or a bard. Dynaheir could be a mage or a sorcerer.

Link to comment

Change class in mid game presumably means:

AddKit(0), to remove an existing kit
AddKit("Kit") to add the new kit

Ability scores might need to be altered to make the NPC a proper fit for the new class/kit. SetupWishObject(O:Creature*,I:Count*) seems to be the only ticket here.

Link to comment

I think (not sure yet) that I will probably leave *class* changes to the Weidu installation, since it is easy to change other things in Weidu as appropriate for the class. E.g. if you change Coran to a single-class thief, it will reduce his hit points and switch his longbow proficiency to shortbow, and add a shortbow to his inventory.


In-game, you will then be able to set Coran to change his kit to Assassin, or Bounty Hunter, or Swashbuckler. If you have the Might & Guile kits installed, there will also be options for Sniper and Scout. If you have the Song & Silence kits installed, there will also be options for Adventurer and Soulknife. Etc. It will read kitlist.2da and give you the option to take any thief kit you have installed.


Script-wise, kit changes are easy. I don't know what SetupWishObject() is, but I don't think it's necessary... my mod has a bunch of kit-changing options already. AddKit() already strips you of existing kit abilities and adds the new kit abilities. So you could switch Valygar from a Stalker to a Might & Guile "Mage Hunter," and it should work fine. The main difficulty I'm having is dynamically generating a .d file that takes account of all installed kits. But I'm getting a handle on that. :)

Link to comment

From the IESDP list of BG2 Actions:

348 SetupWish(I:Column*,I:Count*)
349 SetupWishObject(O:Creature*,I:Count*)
This action instructs the engine to use the fourth column of wish.2da and carry out a RandomNum(2,1) action starting at the top and working down. If the RandomNum returns with a 1 then the appropriate global for that spell is set. Once the maximum "wish choices" have been selected, the dialog continues and casts the selected spell.

Link to comment

It's a question of flexibility - it's extremely difficult to make this very open-ended and include lots of kits just using Weidu. L1NPCs does that, but when new kits or NPCs are added to the game, it can't adapt. NPC_EE is currently WAY more limited than L1NPCs, and adding support for more kits is very laborious.


This new idea will be kind of like my kensai mod: it gives kensai an innate ability at level 1, which they use to choose a 'weapon of focus.' Then, they can reach GM in that weapon, and only specialize in any other weapon. You might take the view that kensai are "sword saints" and should only ever be allowed to reach GM in katanas. That's fine; each time you play a kensai with my mod, just use the innate ability and choose katanas.


If I can make this work, NPC_EE will be like that, except every NPC will be able to choose any kit for their class. And more importantly, it will automatically adapt to work with any and all kit mods installed by the player, and working with more/new kit mods will require ZERO extra effort.

Link to comment


This topic is now archived and is closed to further replies.

  • Create New...