Jump to content

V2 Progress


Nythrun

Recommended Posts

In progress:

  • Deep thoughts

 

Done:

  • Move all code out of main .tp2 file for faster chain installs and uninstalls
  • Shunt all load-file-to-buffer stuff into a single run-once datamine macro so that modding an NPC requires only a few integer tests and writes
  • Set useful constants so i can do PATCH_IF( class == cleric_ranger )BEGIN and suchlike. It's easier for other nice people to debug now, hurray!
  • Datamine macro draws a dynamic list of available spells and their properties rather than making any assumptions
  • Datamine macro draws a dynamic list of weapon and armor properties
  • Rewrite the tweak proficiencies bit so it will function correctly if other mods have made sweeping changes to the proficiency system
  • Rewrite selection menu to employ new tech
  • Add reallocation of attribute points, displaying legal min/max, original total, and new total
  • Scan kit/class .2das for spells granted and prohibition of spellcasting
  • Pick archetypal .cre to pinch initial race/attribute/alignment data from
  • Input signature kits to selection menu via signature_kit_0 = whatever
  • Input signature profs to selection menu for cheaters...erm...Coran
  • Detect item revisions fighter-druid armor nerf so as not to bother the player with redundancies
  • Add proficiency types for wakizashi ninjato morningstar twohandedaxe in case things have gone totally topsy-turvy
  • No getting trapped in the selection menu if there are fewer choices available then permissible
  • Reflect altered attributes in signature items
  • Add HP calculations to recalculate_derived_attributes, whoops
  • Ugly sorcerer kludges must be rewritten or the shame will outlive me
  • Exclude Gavin, Haldmir, Aran, et alis from levelup code
  • Standardize on unprefixed local vars rather than the ugly mix in play now
  • Add that key_5 == class && class == mage nonsense so you can pick mage kits even if clabma01.2da doesn't exist
  • Run monk signature item conversion exclusively off of animation
  • Ensure new proficiencies added are using the current system, not the default
  • Fix that SET $signature_kit (~%i%~ ) = IDS_OF_SYMBOL ( class num ) stoopid >:cringe:
  • Replace the FOR( k = 0x080 + i * 0x10 ; k < 0x110 ; k += 0x010 )BEGIN junk with a GOA loop
  • Replace the five thousand line nightmare of item assignation with something nicer IT IS DONE

 

To do:

  • More logspam by Logspammer Technologies © . Logspammer © : All the news unfit to PRINT
  • apr opcode observes level limits w/o .effs? i don't even remember
  • and check also for apr .effs before adding
  • ranger perq surpressed when dualling? (it doesn't matter, but cosmetics...)
  • bonus spells due to int ... add more known ?
  • calculation of casting_level kinda sucks for dual classes
  • npc_kitpack messes with scripts, account for that
  • so does laviconia, except that also breaks your game
  • memed priest spells j < EVAL ~div_spell_%i%~ && num && SHORT_AT foo in the table (maybe not, should work fine, don't need bloaty safeguards)
  • profcount for arbitrary duals at levels > 1
  • "fix" xan moonblade type to longsword?
  • add retain_item_0 syntax, add_no_foo (or just skip if something's equipped in the slot already, or all three)
  • BGII Viconia gets a super special flameblade with which to battle townies
  • BG Shar-Teel gets a super special itam with which to menace charname's masculinity
  • lookup strings for fatespirit dialogue
  • double check 3,4,5 stars in multi-grandmastery
  • add alignment modifications, with forcible warnings about the catastrophic consequences? probably not
  • LPF level1npcs_recalculate_animation INT_VAR animate_ids = 36864 END aerie if not ToB
  • should include some AoE detection? RR thief dualwield ?
  • add_generic_spells might as well accept inputs too
  • reflect attribute mods in cleric spells/day?
  • add random sorcerer spells for use of this function outside l1npcs?
  • allow a nicer importation of variables to suppress item addition
  • better selection of scrolls
  • double check list of people who get nothing
  • nonstandard non-tieflings get human bonus to skills or nothing? i forget.
  • repair XP if DavidW has been im Haus
  • double check map in itm_ex -> kit_ex
  • fixpack holy symbol scripts
  • check quantities on add ammo
  • change slot assignment for shield->cloak transformation, others
  • think of something not so horrible for the xp match component
  • enable modify exported PCs component
  • think long about adding support for pre-dualled NPCs and then wander off to do other things
  • more NPCs

 

The light at the end of the tunnel is a relativistic polar jet.

Link to comment
vaporware causes contrails
They would appear to be doughnut-shaped (but at least your mod is not named after an alleged military aircraft that never officially materialised).
Rewrite the tweak proficiencies bit so it will function correctly if other mods have made sweeping changes to the proficiency system
I messed with this rather heavily, based on various requests, though I did not go as far as making it compatible with BG1 proficiencies (which I think would be rather silly, but to each their own). I'll try to get you my version within the next day or so. I know you said you weren't planning on using much of the old code but I've added quite a bit so hopefully it won't result in a "renegade version" (a la Highlander II). Just doing some final testing, which is passing for the most part, though I uncovered a rather nasty GROUP glitch on Tutu.

 

And um, so why do you need to check skillrac.2da and skilldex.2da? I put in code that displayed what the *actual* values should be, but took it out because the engine calculates those automatically. Didn't want to get confused between what's displayed and what's getting assigned on the .cre files. It's not like you can (or should be able to) assign a negative value to any skill. Elves get a 5% malus to open locks, but their base skillrac value is still positive.

Link to comment
I messed with this rather heavily, based on various requests, though I did not go as far as making it compatible with BG1 proficiencies (which I think would be rather silly, but to each their own).
I've a predilection for the rather silly. Also for not foundering when people DontReadMe, or read the readmes and chose to ignore them. Plus it's swell to have a proficiency tweak that works correctly atop BG1 style profs - I don't know that there are any others.

 

Which requests did you add?

 

though I uncovered a rather nasty GROUP glitch on Tutu.
Wherefore GROUP?

 

It's not like you can (or should be able to) assign a negative value to any skill.
Dex < 13 will do that. Skilldex alone doesn't suffice to say whether the base value is negative, however, which is why I added the effects of both in the display menu and then factored them back out.

 

Elves get a 5% malus to open locks, but their base skillrac value is still positive.
I thought everything in skillrac was non-negative; I'll check.
Link to comment
Which requests did you add?
Um, like everything. Fixed all the bugs in this thread (also including BG1 proficiency compatibility with the NPC components, not the tweak component though). This bug, added all the mod NPCs and all the stuff here too. Possibly other stuff littered about the forum (in which cases I *think* I've usually noted "fixed" or "added" in the posts). Well I think in fact it passed its 3rd round of combined BGT/Tutu/BG2 testing so I think I'll wipe my hands of it and hand the dirty thing over to you :cringe:. Just waiting on a French translation update. Oh, and I guess I've got to update the documentation (ugh - I really need to learn to keep better track of stuff I'm messing with). Oh, and WeiDU v222. Won't work on Tutu otherwise (see glitch link).
Wherefore GROUP?
On unmodded BG2 or Tutu, it makes little sense. And in fact the unrelevant groups will be skipped on those installs. But would you *really* want to sit through all this on a BGT/BWP install?
~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #0 // Nythrun's Level 1 NPCs: List party-joinable NPCs (required to install any NPC components): v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1 // Tweak weapon proficiencies for some classes (a la Ashes of Embers and aVENGER's Rogue Rebalancing): v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3 // Joinable NPCs more closely match the player character's experience: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #51 // Balanced BG1 NPC attributes -> mos_anted's revision: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #55 // Dudleyfix for BG1 NPCs: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #60 // Fix BG1 NPC spells and innate abilities: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #100 // Update game references to NPC classes/kits: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1201 // Aerie: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1218 // Ajantis Ilvastarr: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1219 // Alora: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1202 // Anomen Delryn: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1220 // Branwen: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1203 // Cernd: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1221 // Coran: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1222 // Dynaheir: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1204 // Edwin Odesseiron: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1223 // Eldoth Kron: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1224 // Faldorn: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1225 // Garrick: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1205 // Haer'Dalis: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1206 // Imoen: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1207 // Jaheira: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1208 // Jan Jansen: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1226 // Kagain: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1209 // Keldorn Firecam: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1227 // Khalid: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1228 // Kivan: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1210 // Korgan Bloodaxe: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1211 // Mazzy Fenton: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1212 // Minsc: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1229 // Montaron: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1213 // Nalia De'Arnise: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1230 // Quayle: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1231 // Safana: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1217 // Sarevok Anchev: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1232 // Shar-Teel Dosan: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1233 // Skie Silvershield: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1234 // Tiax: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1214 // Valygar Corthala: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1215 // Viconia De'Vir: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1235 // Xan: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1236 // Xzar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1237 // Yeslick Orothiar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #1216 // Yoshimo: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2050 // Angelo Dosan: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2200 // Auren Aseph: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2150 // Bruce: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2250 // Deheriana: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2300 // Fabio: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2320 // Fade: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2350 // Finch: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2400 // Gavin: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2500 // Haldamir: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2600 // Indira: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2650 // Iylos Mirdan: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2700 // Jon Irenicus: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2750 // Kelsey: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2775 // Keto: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2785 // Kiara: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2825 // Mulgore: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2850 // Ninde: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2950 // Rynn: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2970 // Sarah: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #2985 // Sheena: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3000 // Solaufein: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3150 // Tashia: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3185 // Tyris Flare: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3200 // Valen: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3400 // Will Scarlet O'Hara: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3500 // Xavia: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3520 // Xulaye: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3570 // Yikari: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #3600 // Zaiya: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4000 // Bardo Furfoot: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4010 // Bub Snikt: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4020 // Conchobhair Strongblade: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4030 // CuChoinneach: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4040 // Ferthgil Trollslayer: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4050 // Jet'laya: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4060 // Keiria Silverstring: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4070 // Skeezer Lumpkin VI: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4080 // Thorfinn Hauskluniff: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4200 // Alissa: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4210 // Artemis Entreri: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4220 // Bruenor Battlehammer: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4230 // Catti-Brie: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4240 // Drizzt Do'Urden: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4250 // Jarlaxle Baenre: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4260 // Mordragon: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4270 // Randall: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4280 // Regis: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4290 // Wulfgar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4500 // Accalia: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4510 // Dar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4520 // Hrothgar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4530 // Leina: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4540 // Melora: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4700 // Bolivar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4710 // Charlotte: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4720 // Selence Hillstar: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4730 // Tomas Tomalson: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4800 // Adario Kalvaras: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4810 // Avaunis Adelez: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4820 // Robillard: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4830 // Vesine: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4900 // Bodhi: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4910 // Kachiko: v1.4

~LEVEL1NPCS/LEVEL1NPCS.TP2~ #0 #4920 // Sime: v1.4

I did at least twice and it wasn't pleasant. Kind of like an "all-nighter" sort of thing that works best with a decent scotch and an old Bela Lugosi movie or two. That log doesn't even do it justice really, since you've got to answer several questions for each NPC if you want to mod them (and if not, at least an 'N' for each, which grouping simplifies, as you can deny the entire group of megamod NPCs with one keystroke). Which reminds me, I should also update the batch-file install stuff (or write it in the first place, unless you want to).
Skilldex alone doesn't suffice to say whether the base value is negative, however, which is why I added the effects of both in the display menu and then factored them back out.
Fair enough; I'm sure you coded it better than I could anyway.

 

I'll PM you what I've done... like I said it's primarily documentation that is still in progress.

 

Um, you could add to your to-do though: log READ_LN choices to an external file since they aren't recorded in WeiDU.log. Might help with debuggging (or reproducing bugs at any rate, without asking a tonne of questions). I'd go ahead and do it since it'd be fairly easy but I won't bother if you've already overhauled the code.

Link to comment
Um, like everything.
Heh. Guess I'll wait for the code then. I have the "Skip nuisance prompt if Item Revisions is installed" and "Allow 3-5 stars in Grandmastery for All" already. Bugfixes won't matter: out with the old bugs, in with the new.

 

But would you *really* want to sit through all this on a BGT/BWP install?
Nope. Nor would I have all that installed anyway, and if I did I'm unsure that modding only TDD NPCs would be my choice. But if there's someone else out there who wants it, that'll suffice as a reason.

 

Um, you could add to your to-do though: log READ_LN choices to an external file since they aren't recorded in WeiDU.log.
I will. I have it for the weapon proficiency tweaks bit already, it just needs to be coded for the NPC menu. (It was going to be necessary anyway for the "Use the BG stats you've selected for the BG2 incarnation of Gavin, reselect, or skip?" prompt.)

 

In re batch files: the new selection menu is a function, and will check for an existing ~auto/gavin.txt~ file before offering the menu. If the file exists, its input will be used instead of choosing manually. That way you can skip rewriting the batch file every time your kit order changes or whatnot, and component selection batches can be shortened.

 

I'll be rewriting and deprecating those fix components. If there's stuff in there that's directly affecting the NPCs, it really ought to go into a subjunctive/bgt.tph and install by default; if it's not directly affecting, it should probably hit the road to avoid more update headaches.

 

Update game references to NPC classes/kits: v1.4
Is what?

 

Balanced BG1 NPC attributes -> mos_anted's revision: v1.4
I'm not sure that collecting a bunch of different persons' preferred tweak values is the best idea, no matter how well thought out they are.

 

There's no race for any of this, by the way - it'll take me some nontrivial amount of time after the code is written to catch the parse errors and logic goofs. A longer amount if I continue feeling like a microwaved McAssBurger.

Link to comment
Update game references to NPC classes/kits: v1.4
Is what?
The outcome of Dirty Uncle Bertie's request as discussed here. It's probably not perfect, but it works better than you might expect... better than the bigg would've anyway. There may be what he calls "false negatives" but very few false positives (because I ran it all on a full BWP install, changed every single NPC's class/kit, logged it all and fixed any discrepancies with various hacks). Even accounts for article changes and contractions in the like of French and Italian, though that bit is probably far from perfect too. It's optional anywho.
Balanced BG1 NPC attributes -> mos_anted's revision: v1.4
I'm not sure that collecting a bunch of different persons' preferred tweak values is the best idea, no matter how well thought out they are.
That spawned from the last link above. Those are optional components and you've *also* got the option to enter your own stats on every single NPC if you so choose (scroll up a bit on that page for that). Though I may not personally agree with every single one of Ergopad or mos_anted's recommendations, I do think it's the quickest way to settle the BG1 NPCs without having to enter the stats for every single one. But if you want to do that for some or all, there's that option. Moreover, all those components are skipped on BG2 (the consensus being BG2 NPCs are fairly balanced already compared with BG1 NPCs, or if not they're handled already by the Fixpack/Tweakpack or some other mod). If you don't want it, axe it, but I wanted to make it available to folks who wanted it and I think Level 1 NPCs is as good a place as any. I doubt I'll have time to include it in a separate tweak mod anytime soon anyhow.
There's no race for any of this, by the way - it'll take me some nontrivial amount of time after the code is written to catch the parse errors and logic goofs.
I might suggest releasing this v1.4 in the meantime. I've tested it pretty strenuously but any inevitable bugs that crop up, you can blame on me and fix them for a v2. But that's up to you I guess.
Also, would you mind changing the new component numbers to something less random if you're planning on uploading something?
Like what? Your original BG1/BG2 NPCs were in the 1000s. Optional tweaks are lower than that. Mod NPCs (outside of megamods) are in the 2000-3000s range. The mass batches of megamod NPCs are 4000s and up. I messed up on the numbering a bit in that last log but have since fixed that. I'd rather not renumber everything by hand if you don't like those ranges, but if you want to do so with an automated method, that's fine. I think there's still enough space in those ranges for NPC additions. Though if someone actually is fool enough to want to include and to code up all the crap one-day NPCs out there, I'd recommend a new range for them (well I'd recommend not including them at all, but I'm all for freedom of choice etc.).
And while I'm here yakking, I'd like to wholesale hork both your "prettify string display if ~%LANGUAGE%~ STR_CMP ENGLISH" and all the data for the megamod NPCs so I don't have to download them all again.
Of course you are free to use or abuse anything I've done as you wish - the whole point of my work was to hand it to you anyway. Though when I started, no one knew if or when you'd be coming back... glad you did though, better you peering any further at this monster than me :cringe:.

 

Anyway, I think I've got the last few French strings (Spanish and Polish are already updated) so I'll try to cobble together a change-log and sent it to you/cmorgan forthwith.

Link to comment
Hooray! Hooray! ;)

 

That so needed to go away ;)

 

Anyway, in earlier versions I'd been thinking a bit about adding the ability to dual class NPCs in the selection menu. There are several ways to go about this (all of which have drawbacks) and I'd never settled on implementing any of them. As it's turned out, the "Joinable NPCs more closely match the PC's experience" component has been popular (who knew?), which constrains the available implementations somewhat. Solutions like granting an NPC an invokable item that levels them up once per use until they match charname are intrusive and translation intensive and I don't like them.

 

So with that in mind, I'm thinking about something like:

 

If you picked fighter, then: Dual this character [y/n]?

If you picked yes, then: Dual to Mage, Cleric, Thief, or Druid?

If you picked Mage, then: At which level [2 to ( maximum of {mage/fighter} level under exp cap) - 2 ]

Then pick your additional proficiencies and second class proficiencies and spells and what have you.

 

Obviously, this is a bit more exploitable than the rest of the mod "Why Xzar-the-Fighter30/Mage1, what big hit points you have!". But I don't care about policing that sort of thing, and really, anyone who wants to push it that far already has Shadowkeeper and the like.

 

And that's the only serious disadvantage. The advantages are that it'll work, even in the presence of XP adjusting scripts, that it requires no fuss in game, and you won't have to worry about meeting the wrong incarnation of the NPC, or about NPCs not matching between BG and BGII in BGT games. Plus, I already have support for displaying required attribute minima in the "Adjust NPC attributes?" routine, so it's relatively easy to code. Best of all, I get to put off the meticulous excision of bits of NPC Kitpack and SCS until another day - that sort of compatibility work being a tedious slog that I'm happy to procrastinate on. And maybe I'll steal cmorgan's "Pick a wealth level" idea while I'm at it.

 

So, erm, thoughts?

Link to comment
Obviously, this is a bit more exploitable than the rest of the mod "Why Xzar-the-Fighter30/Mage1, what big hit points you have!". But I don't care about policing that sort of thing, and really, anyone who wants to push it that far already has Shadowkeeper and the like...

So, erm, thoughts?

The game actually might just come and save you there, as sometimes the scripts check for the highest level of the party, and so 30th level dual might just summon dragons to the stage... in theory(well expect no unnamed dragons, but something almost as strong in comparison with the 1st level party).

 

So with that in mind, I'm thinking about something like:

 

If you picked fighter, then: Dual this character [y/n]?

If you picked yes, then: Dual to Mage, Cleric, Thief, or Druid?

If you picked Mage, then: At which level [2 to ( maximum of {mage/fighter} level under exp cap) - 2 ]

Then pick your additional proficiencies and second class proficiencies and spells and what have you.

What about dualing from a kit to a kit(to actually custom made kit made on the install process just for the selected NPC only), you could at least in theory, the practical multi-class-kit example, make it possible. ;) So ?

 

@Nythrun: You rule.
Ouh jeah, forgot about that, but still that's THE truth.
Link to comment

Archived

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

×
×
  • Create New...