Jump to content

SubtleMods: NPC_EE - in-game customization for NPCs


Recommended Posts

1 hour ago, Enkidu said:

Jaheira wouldn't normally be able to cast zone of sweet air since it's a cleric-only spell, but she has that ability on account of being a harper, I guess.

Harpers get all the sweet perks

Link to comment

That's...what? That threshold is needed so that actual 1st-level don't get extra proficiencies. But, I don't understand how it is 22,000. The code is pretty simple:

COPY_EXISTING ~xplevel.2da~ ~override~
  COUNT_2DA_COLS cols
  READ_2DA_ENTRY 1 2 cols fighter_xp
BUT_ONLY  

OUTER_SET 2fighter_xp = (fighter_xp * 2)

Those variables - fighter_xp and 2fighter_xp - then get plugged into the script. It correctly finds fighter_xp to be 2,000... so why is it finding (fighter_xp * 2) to be 22,000?? It should pretty clearly be 4,000. WTF Weidu?

Sigh.

EDIT - figured it out, it was a replace_textually ordering error. It is fixed in version 5.1.

For your game, instead of deleting that clause, you can simply change that value to twice the number needed to reach 2nd level in your slowest class. So for a fighter/druid it should be 4,000, for a fighter/thief also 4,000, for a fighter/mage it should be 5,000, for a cleric/thief 3,000, and for a cleric/ranger 4,500.

Edited by subtledoctor
Link to comment
3 hours ago, Enkidu said:

I do play with max hp per level, but I also have a tweaks anthology component that maxes out the hp of all creatures in the game.

Btw neither here nor there but I see a lot of people doing this sort of thing, and I don't know if they fully realize the consequences of playing like this. It rather drastically changes the way the game works. In normal play a 9th-level fighter would have, on average, 50 hit points. If hit by an average-damage Fireball or Lightning Bolt, you would lose 35 hp, and be left with 15. You need healing, stat, or to change your tactics in that fight! Whereas, with Beamdog's "max hit points" setting, you have 90 hit points and the spell only brings you down to 55. 55 hit points left, versus 15! It's a huge difference that will affect virtually every combat encounter.

Maxing hit point rolls would only make sense if you max out all damage rolls as well - but there is no easy way to do that. Failing that, to get a sense of the way the game was designed, I strongly suggest using a mod that sets hit point rolls close to average, instead of max. I believe Scales of Balance and Tweaks Anthology both have something to that effect.

(EDIT - and, back on topic, given the drastic effect of that setting, I feel pretty comfortably that an extra 2 hit points will make basically no difference whatsoever...)

Edited by subtledoctor
Link to comment

I'm aware of the numbers and I think the balance works out fine. The BG hp progression is very restrictive compared to 3e, where direct-damage spells are not significantly stronger than in BG but all classes get their hit dice up to and including epic levels. I actually played with max hp long before the EEs.

Edited by Enkidu
Link to comment

One thing to note about hit point rolls - random hit dice in these games are rolled with advantage. An average d10 hit die is 7.15 hit points, so a level 9 PC fighter averages about 67 hit points before the Con bonus. Most NPC hit point totals in BG2 also look like they follow this rule, though EE NPCs Neera and Rasaad were rolled with maximum hit points on.

You mentioned Imoen at the start of BG2 ... 57 HP as a thief 7-mage 8 with 16 Con, which means 41 HP before Con. Perfect rolls would have given her 46 HP before Con, average rolls would have given her about 36. Lucky, but nothing too extreme.

On the flip side, there's Jaheira at the same point - 32 HP before Con as a fighter 6/druid 7. Ideal would be 58, average would be 42. She had some pretty bad luck with her rolls.

So, if you use random hit point rolls and a difficulty of Core or higher, rerolling those NPC levels won't make much difference. At lower difficulties or with the Max HP setting, you'll get some extra hit points out of it.

Link to comment

Not to quibble, but perfect rolls for a thief7/mage8 should be 37 hp. (7x6/2)+(8x4/2). Add 16 for CON and you get 53. 52 if the CON bonus gets split between classes. Pretty sure she has some phantom hit points there. (To go along with Abdel’s illegal 5th pip in longswords and, apparently, Jaheira’s rando extra cleric spell?)

Edited by subtledoctor
Link to comment
20 minutes ago, subtledoctor said:

Not to quibble, but perfect rolls for a thief7/mage8 should be 37 hp. (7x6/2)+(8x4/2). Add 16 for CON and you get 53. 52 if the CON bonus gets split between classes. Pretty sure she has some phantom hit points there. (To go along with Abdel’s illegal 5th pip in longswords and, apparently, Jaheira’s rando extra cleric spell?)

Imoen's a dual class, not a multiclass. Seven levels of a thief's d6 HP plus one of a mage's d4, 7*6+4=46. No phantom hit points here, just good luck and the "right" ordering of the dual class.

CON bonuses are then added dynamically during play; they're not explicit stats in the creature file. As a dual class, Imoen gets CON bonuses for each level that she gained a hit die; 7 levels of a 16 CON thief's +2 HP per level, then 1 level of a 16 CON mage's +2 HP per level. There's some corner case weirdness about whether level 10 gets a CON bonus (a fighter 8 - thief 10 dual gets a CON bonus on that 10th hit die, a fighter 9 - thief 10 dual doesn't), but generally dual classes get CON bonuses for each level as whatever class they were when first gaining that level.

For a multiclass, CON bonuses use the average level and round down. Jaheira, as a fighter 6/druid 7 with 17 Con, gets 3*(6+7)/2 = 19 bonus HP. She'll then keep increasing her bonus until her average level hits 9 at 250K total XP (fighter 8/druid 10).

Link to comment
12 hours ago, subtledoctor said:

For your game, instead of deleting that clause, you can simply change that value to twice the number needed to reach 2nd level in your slowest class. So for a fighter/druid it should be 4,000, for a fighter/thief also 4,000, for a fighter/mage it should be 5,000, for a cleric/thief 3,000, and for a cleric/ranger 4,500.

Thanks, I did this already. I made a backup of the script before I started messing with it.

Link to comment

Hi, I think npc_ee "Advance weapon proficiency" dialog does strange things when a mod changes the weapon proficiency categories.

For example if I install both npc_ee and cdtweaks like this:

// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
~CDTWEAKS/SETUP-CDTWEAKS.TP2~ #0 #2163 // Alter Weapon Proficiency System -> IWD-style proficiencies with weapon styles: v14
~NPC_EE/NPC_EE.TP2~ #0 #2000 // NPC class/stat/kit choices: 5.1.4

And I reset a NPC (tested with Minsc), if I use the abiblity "advance weapon proficiency" and select the staff, the confirmation line will say "Advance to Proficiency (+) with Slings"

(In the screenshot below, "bâton" means staff)

If I blindly accept the "Advance to Proficiency (+) with Slings" everything seems to be OK (I mean, I actually get a staff prof point)

Screenshot_20220421_141506.jpg

Link to comment

Mmm, any idea what this might be Doc:

Quote

ERROR: Cannot find 2 rows with at least 42 columns.
ERROR: [xplevel.2da] -> [override/xplevel.2da] Patching Failed (COPY) (Failure("Cannot Read 2DA Entry"))
Stopping installation because of error.
Stopping installation because of error.

ERROR Installing [NPC class/stat/kit choices], rolling back to previous state
Unable to Unlink [npc_ee/backup/2000/OTHER.2000]: Unix.Unix_error(1, "unlink", "npc_ee/backup/2000/OTHER.2000")
[npc_ee/backup/2000/UNSETSTR.2000] SET_STRING uninstall info not found
Will uninstall 568 files for [NPC_EE/NPC_EE.TP2] component 2000.
  Restoring backed-up [npc_ee/backup/2000/CLABUSFM.2da]
npc_ee/backup/2000/CLABUSFM.2da copied to override/CLABUSFM.2da, 10444 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSAF.2da]
npc_ee/backup/2000/CLABUSAF.2da copied to override/CLABUSAF.2da, 4247 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSAP.2da]
npc_ee/backup/2000/CLABUSAP.2da copied to override/CLABUSAP.2da, 3694 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSAT.2da]
npc_ee/backup/2000/CLABUSAT.2da copied to override/CLABUSAT.2da, 4247 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSSM.2da]
npc_ee/backup/2000/CLABUSSM.2da copied to override/CLABUSSM.2da, 9020 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSAM.2da]
npc_ee/backup/2000/CLABUSAM.2da copied to override/CLABUSAM.2da, 9020 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSSF.2da]
npc_ee/backup/2000/CLABUSSF.2da copied to override/CLABUSSF.2da, 4219 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSKT.2da]
npc_ee/backup/2000/CLABUSKT.2da copied to override/CLABUSKT.2da, 3955 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSKM.2da]
npc_ee/backup/2000/CLABUSKM.2da copied to override/CLABUSKM.2da, 12400 bytes
  Restoring backed-up [npc_ee/backup/2000/CLABUSKP.2da]
npc_ee/backup/2000/CLABUSKP.2da copied to override/CLABUSKP.2da, 3913 bytes
  Restoring backed-up [npc_ee/backup/2000/kitlist.2da]
npc_ee/backup/2000/kitlist.2da copied to override/kitlist.2da, 8703 bytes
Uninstalled    568 files for [NPC_EE/NPC_EE.TP2] component 2000.
Unable to Unlink [npc_ee/backup/2000/READLN.2000]: Unix.Unix_error(20, "unlink", "npc_ee/backup/2000/READLN.2000")
Unable to Unlink [npc_ee/backup/2000/READLN.2000.TEXT]: Unix.Unix_error(20, "unlink", "npc_ee/backup/2000/READLN.2000.TEXT")

It is newest v.5.1 from your Github and these two are all mods I currently have installed:

Quote

// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version]
~DLCMERGER/DLCMERGER.TP2~ #0 #1 // Merge DLC into game -> Merge "Siege of Dragonspear" DLC: 1.3
~EXPANDEDCLASSES/EXPANDEDCLASSES.TP2~ #0 #18 // Fighter/Monk Kit: v1.1
~EXPANDEDCLASSES/EXPANDEDCLASSES.TP2~ #0 #0 // Cross-Class Kits (Archer Paladins, Assassin Monks, Shapeshifter Fighters, Kensai Thieves, etc.): v1.1

 

Link to comment
3 hours ago, Greenhorn said:

any idea what this might be Doc:

Yeah, sounds like ExpandedClasses mistakenly adds an extra entry to XPLEVEL.2da. Just open that file in NI or a text editor, scroll all the way to the right, and delete the last entry in whichever row sticks out too far. Then try installing. 

Edited by subtledoctor
Link to comment
1 hour ago, subtledoctor said:

Yeah, sounds like ExpandedClasses mistakenly adds an extra entry to XPLEVEL.2da. Just open that file in NI or a text editor, scroll all the way to the right, and delete the last entry in whichever row sticks out too far. Then try installing. 

Thanks Doc, it worked. This was just testing, I know that this mod must be at very end of  future megainstall. Just one question for future reference if you know with any certainty of course, that entry which I erased at the far right ( 1300000) is it likely to break something at BG2EE:ToB with HLA's or suchlike?   

Edited by Greenhorn
Link to comment
1 hour ago, Greenhorn said:

Thanks Doc, it worked. This was just testing, I know that this mod must be at very end of  future megainstall. Just one question for future reference if you know with any certainty of course, that entry which I erased at the far right ( 1300000) is it likely to break something at BG2EE:ToB with HLA's or suchlike?   

Probably it’s fine but... it’s weird that that mod messes with that file. Might be worth a mention over there. I doubt it is on purpose. 

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...