'ReadMe_pia_kL.txt'
the Personal Impossibility Adjustment (pia)
originally by Reeron & Trekari (Increased Challenge)
enhanced by 3miLy_raNgeR (Difficulty Modifier)
further modified by kevL's, 2010 November 14 (v.1)
latest version 2.3, 2011 June 1
----
I stand on the shoulders of giants.
You can see far from up here ..
Some background: I became depressed on my first run-through of the Official Campaign when I realized that basically you can sit on your chair with your arms folded and win every battle (almost). Later, when I researched how many subterranean bugs were left in the game (nwn2) by Obsidian (thanks, Atari!) my eyes lit up excitedly as I found that there are community-built modifications to enhance the game's difficulty, the best of which I found was 3miLy_raNgeR's "Difficulty Modifier" (available here). That is heavily based on Reeron & Trekari's "Increased Challenge" (available here).
To the best of my understanding, however, each has its pros and cons: The Increased Challenge scales with the initial difficulty of opponents but has set, very limited enhancements for the monsters; the Difficulty Modifier introduced a very simple & convenient .2da file (difficulty.2da) that is only one row and can be edited quickly in any text or .2da editor. Seriously! But it seems it did not scale with the difficulty of your enemies. So I carefully went through the scripting, line by line, and reintroduced proportional scaling based on a 20 CR creature, as well as tweaking a number of parameters.
The result you have here is the Personal Impossibility Adjustment. I can't resist letting you know why I came up with the title. It all started on the second run-through of the OC, soon after I'd entered the Vale of Merdelain (The Gauntlet, on the final leg to the final battle with Black Garius and the King of Shadows). Play Testing of the PIA began ..
Now, my playstyle involves micromanaging all Companions (they don't breathe without my say-so) and, as someone else aptly expressed it, "a plethora of pauses". Since my initial run of NWN2 was so easy battle-wise I took along all the Companions that I could on the second run - and really, this made things no easier (it can only get so easy ..). Plus I enjoyed the banter and not having to run back and forth with a different company, and perhaps missing some cool & groovy events & items along the way. So with my custom script in place I pump up the difficulty to roughly 500 per cent.
And make my way through the Gauntlet. When I teleport through the black fog to the Doom Knights I hit pause and start shaking (my head), "I'm not going to win this fight, I'm not going to win this battle" - it's going over and over in my head. Well, suffice to say that I won .. but four of my twelve companions were lying face down on the floor shivering in cold sweat and splurting blood. I never thought I'd be happy to see them get back up with one hitpoint when the scrap was done (I'd previously attempted, without success, to introduce the SoZ death-system into the OC + MotB; I may try again .. perhaps with the Makeover edition). Yet I stubbornly refuse to lessen the difficulty settings.
Then Black Garius summons the Balhog and surrounds me with an energy barrier - with that big blazing demon right in the middle of my group. And the ranger's made his life's ambition to chop Qara's head off. And Black Garius keeps instant-deathing poor Grobnar the minstrel. By now I'm literally shaking from the adrenaline in my seat! Zhaeve is running around with her Wand of Resurrection, Casivir can't touch the Balor, and only Khelgar goes toe to toe while Elanee casts chain-Heals, chain-Stoneskins, and whatever else she can pull out of her *deleted* on that ornery Dwarf.
It was the only, and I mean only time during NWN or NWN2 when I felt like I was actually facing the Balrog of Moria from the LotR - you know the one, that Gandalf and the Fellowship *ran away from* post haste. Both of these battles took a few hours RT each and unfortunately left me, as a person, shaking and utterly drained: hence, the Personal Impossibility Adjustment. I have since backed the settings off greatly, and the default that comes with this download is roughly 200% (you can't really measure this). Bear in mind that I micromanage and pause a lot, so you might want to back them off more. Or if you're really good at optimizing Character builds (which I'm not) .. heck, you decide. They're only defaults.
----
'difficulty.2da' Options (originally by 3miLy_raNgeR)
Hitpoint_Multiplier - this is the *Bonus* HP that creatures get. Note that it works slightly differently from the Difficulty Modifier, in that "100" now will double the creature's initial hitpoints. You can no longer lower hitpoints. (default, 109)
Enhance_Weapon - Weapon Enhancement Bonus. This affects creatures that are wielding weapons (not natural weapons); it increases both attack and damage bonuses. Cannot be lowered. (default, 6)
AB_Weapon - Weapon Attack Bonus. This affects the AB of creatures and NPCs. It also increases the damage delivered by natural weapons. Cannot be lowered. (default, 12)
BONUS_AC - Enemy AC modifier. This one is peculiar. It used to increase the AC of Enhancement, Deflection, and Dodge ACs, effectively tripling the value. Now it increases only the Enhancement and Deflection ACs. Cannot be lessened. (default, 7)
BONUS_ST - Enemy Saving Throw modifier. This deserves special attention. I've set the default to a negative value, firstly because I was sick & tired of never getting a Hold Monster to stick, and secondly because with all these melee increases I believe that magic users (Casters generally) will have a much tougher time taking down an enemy. Their spells deliver only so much damage, and monsters have their hitpoints arbitrarily doubled (more or less). See also the bonuses to Primary Abilities, which indeed also affect saving throws, below. Nota bene, Dragons & Outsiders are immune from ST adjustments (it was in the script and I thought, Cool leave it in). (default, -5)
BONUS_STR to
BONUS_CHA - Enemy Prime Ability modifiers. Cannot be lowered. Note that increases to Strength further increase attack and damage; increases to Constitution further increase hitpoints and also Fortitude Save; increases to Dexterity increase AB for enemies with Weapon Finesse wielding light weapons, AC if enemy armor permits, and Reflex Save; increases to Intelligence increase Save DC of enemy arcane casters; increases to Wisdom increase Save DC of most enemy divine casters, and Will Save; increases to Charisma increase Save DC of other enemy casters, including Warlocks and Bards. It also makes them look good .. (defaults, Str 9, Dex 7, Con 3, Int 5, Wis 5, Cha 3)
BONUS_ITEM - Enemy gets a bonus magical ring. These are changed from the original rings that I believe Reeron introduced; I've turned them into +1 to +3 Rings of Resistance, just to spruce things up & add variety to the ST modifier. There's a 10% chance an enemy will get one: +1 up to CR 6, +2 up to CR 16, and +3 otherwise. Notice that these rings are not droppable, but should a good Rogue happen along .. you might swipe one. (default, 1)
RANDOM_LOOT - This previously turned on and off cdaulepp's Random Loot Generator, but I'm currently using the TCC in MotB and since I don't like to spawn in crafting items with the console I thought I'd throw together a little loot-table for gems, OC-essences, & materials. "0" to turn it off, "1" for the pia_Loot tables, "2" for cdaulepp's Loot Generator, "3" for both). (default, 0)
nb. Usage of cd's RLG requires it to be installed separately, and its onSpawn files - 'nw_c2_default9' .nss/.ncs - both be renamed 'nw_c2_default9_bk'. (cf. Compatibility section below. - tks Law)
DIF_MOD - "1" turns the whole PIA on, "0" for off. (default, 1)
Debug - Turns on and off Debug mode (not the console command, has nothing to do with that). "1" gives extensive readout on what the PIA is doing; "0" for quiet mode. Use "1" if you want to see full print-to-screen of the information that the PIA processes. You'll get a lot of data about the strengths and weaknesses of creatures and NPCs, which is cheating, but you'll also know that the PIA is installed and working correctly. Plus, this can help when fine-tuning the parameters in 'difficulty.2da', to your own playstyle & challenge-level. (default, 1)
Special notes:
This package contains Reeron & Trekari's fix for the SR bug, on monster Creature Armor only (not the SR bug on PCs and Companions, which for see Kaedrin's PrC Pack). It examines their Hide and if SR exists, replaces it with a permanent effect. In addition, I've given all creatures SR equal to their HitDice (if greater) and included the ability to increase the SR of creatures via PC Adjustment. I believe magic doesn't work unless you believe it, so I've given all enemies a better chance to disbelieve it .. I know, i know ..
Important. Learn to make strategic SaveGames! With this modification you can easily spawn in monsters and enemy NPCs that are impossible to best. Only a SaveGame made *prior* to the spawn-in can save you, or console commands probably can also (haven't looked into it).
Please note that although the documentation and Debug readouts for the PIA say "enemy" much of the time, these boosts will affect any creature or NPC that spawns in via the NWN2 default OnSpawn script ('nw_c2_default9'). Neutrals and Friendlies will get the increases as well (but *not* PCs or Companions). [ nb. this may create issues with NPCs that spawn in and later become members of your Party Roster; feedback on how to check for this potential fault, is welcomed!! ] It also fires on the default Heartbeat script ('nw_c2_default1'), since many monsters in the OC and MotB and elsewhere are ScriptHidden - that is, they do not technically spawn, they simply appear when required - but since the onHeartbeat can take up to six seconds to fire, I think it best to try & catch the onSpawn events.
Since the code checks for a LocalInteger on OBJECT_SELF before firing, this does not tax the game engine on Heartbeat. It basically says to itself, 'oh, that's done!' in about 1ms (probably less). That's 1.7(10^-4) of a round ..
Install:
This package contains
difficulty.2da - formatted .2da text file (one row, see Options above)
nw_c2_default9.nss - uncompiled nwn2 script that fires onSpawn
nw_c2_default9.ncs - compiled nwn2 script that fires onSpawn
nw_c2_default1.nss - uncompiled nwn2 script that fires onHeartbeat
nw_c2_default1.ncs - compiled nwn2 script that fires onHeartbeat
kl_oshb_pia.nss - uncompiled nwn2 script that fires when called from the default onSpawn and default onHeartbeat scripts
kl_oshb_pia.ncs - compiled nwn2 script that fires when called from the default onSpawn and default onHeartbeat scripts
kl_pia_loot.nss - simply an uncompiled nwn2 treasure script that spawns in gems and OC-essences, when RANDOM_LOOT option is set to "1" (optional)
kl_pia_loot.ncs - simply a compiled nwn2 treasure script that spawns in gems and OC-essences, when RANDOM_LOOT option is set to "1" (optional)
ReadMe_pia_kL.txt - yer lookin' at it buster.
Make a subdirectory in your MyDocs override folder, call it 'PIA'. Place the above files there. Load Game. Go get 'em!
Use of this package does *not* require starting a new game. Setting your preferences in 'difficulty.2da' *does* require that you're *not* currently playing the game (ie, close game before editing 'difficulty.2da'). Like 3miLy_raNgeR says, "notepad works fine", if you turn off Word Wrap.
Compatibility:
If you use another modification that changes 'nw_c2_default9' and/or 'nw_c2_default1', search your Override directory structure for these 3rd-party files, make copies and back the originals up safely (nw_c2_default9_bk.nss/.ncs & nw_c2_default1_bk.nss/.ncs), then within the Toolset add the following code near the bottom of your copies:
[code]
/* begin kL_PIA */
if (!GetLocalInt(OBJECT_SELF, "piaDiffSet"))
{
if (Get2DAString("difficulty", "DIFF_MOD", 0) != "0")
{
if (Get2DAString("difficulty", "Debug", 0) == "1") SendMessageToPC(GetFirstPC(FALSE), "Running ( kl_oshb_pia ) on spawn/heartbeat");
ExecuteScript("kl_oshb_pia", OBJECT_SELF);
}
}
/* end kL_PIA */
[/code]
Save & Compile. Rename the appropriate duplicate files in the 'PIA' folder to
and you should be good to go. Notice that a similar procedure can be accomplished on 3rd party CC modules that do not use the default scripts.
Please note that I've included the pre-compiled script 'nw_c2_default1.nss/.ncs' (onHeartbeat) for TonyK's AI 2.2 in a subdirectory. Don't use it if you don't have TonyK's AI installed (ie, delete the subdirectory). If you do use that excellent AI, search for its onHeartbeat script 'nw_c2_default1.ncs' and rename to 'nw_c2_default1_bk.ncs', then overwrite the files in the PIA directory with the two files from the subdirectory. (Thanks)
Whew. I never realized how much it takes to make something I've taken for granted public. Let me know how it works ... or not!
Happy Hunting, I have some Nightwalkers, Death Knights, and Vampires Ancient to run away from .. "aiee, Run away! Run away!!!"
----
version 2.1, 2011 May 18
new Difficulty.2da options:
PC_Adj - PC Adjustment. This value has an inverse relationship and, unlike most of the PIA, *does not scale* with the level of NPCs/monsters. That is, the higher the value, the lower the bonus that NPCs/monsters get, and vice versa. It works like this: The value you set for PC_Adj represents how many levels your main character has to have, before NPCs/monsters get an extra +1 bonus to their Primary Abilities, their Armor Class, their Attack Bonus (weapon, & natural + natural damage), and their Saving Throws (half value) & Spell Resistance (double value). This bonus can be applied independently of other bonuses. I intend it for use two ways: to increase difficulty based on Character Level, and as a quick, simple, convenient way to increase difficulty, by editing only one value in the .2da file. Modest value: 6 (+1 bonus per 6 character levels) (default, 0)
Examples: if PC_Adj is set to "1", NPCs/monsters will get a +1 bonus to the above mentioned statistics per level of the main PC (in other words, *do not* set it to 1 unless you want to scream, pull out your hair, run away in frustration and get an arrow for 300 pts in the back of your PC ;). If used at the modest value of "6", a 12th level PC will generate +2 bonuses accordingly, and if set to "5" a 15th level PC will generate +3 bonuses. Note, the resulting bonus gets rounded down. Default is set at "0", because I feel you should understand its inverse relationship before turning it on. Also, leave it turned off for multi-player games (it may not correctly interpret which PC to use for the adjustment when more than one PC is present, a tricky issue to determine when spawning critters).
UsePrime - Use Primary Ability Map. This is complicated to describe; the Primary Ability bonus values that you set in the .2da file are now mapped to mean Primary Ability bonus 1, Primary Ability bonus 2, Primary Ability bonus 3 ... through Primary Ability bonus 6. The PIA attempts to determine (and rank) an NPC's/monster's Primary Abilities from highest to lowest; then the BONUS_STR value is mapped onto whatever Ability pops up as Primary Ability 1, BONUS_DEX onto Primary Ability 2, BONUS_CON onto Primary Ability 3 ... and BONUS_CHA onto Primary Ability 6. get it? 1 turns on Primary Ability Mapping (default, 0)
This means, strictly speaking, that if you turn on Primary Mapping you should order or rank the values of BONUS_(ability) from highest to lowest, in the following order: Strength, Dexterity, Constitution, Intelligence, Wisdom, Charisma. The Strength value (BONUS_STR) now becomes the bonus to whatever Primary Ability the designer has set as an NPC's/monster's highest Primary Ability, down through the ranks (so to speak) until the Charisma value (BONUS_CHA) now becomes the bonus to whatever Primary Ability the designer set as the NPC's/monster's lowest Primary Ability. Hence a lich, with a high set Intelligence, gets its biggest bonus to Intelligence, and a Rogue-like creature, with a high set Dexterity, gets its biggest bonus to Dexterity, and so on.
neat, huh - but you'll notice I left the default value of BONUS_CON quite low, which meant only that I personally enjoy some vagaries in the application of Ability bonuses. You can set them however you like. Although, left this turned off as default, again to help ensure that you understand what it does before turning it on, which I earnestly recommend!!!
Note: The .2da option Enhance_Weapon is not a bonus, it rather sets the Enhancement from scratch. Also, if a shield is equipped on the NPC/monster, it should get Shield Enhancement AC (at half value). These potential bonuses do not take effect if the enemy does not have its weapon(s)/shield equipped when the PIA runs. Also, if an NPC is designed to give you its equipped and enhanced weapon(s)/shield as a drop, you should then get the PIA-enchanted items for the Prize ...!
Auxilliary notes: I don't think a bonus to Constitution actually increases HitPoints; this is properly handled by the Hitpoint_Multiplier, 'natch. It probably increases Fortitude Saves still, but all I am genuinely concerned with is just making the darn fights tuffer (ie, there are ambiguities in what this script actually does, but it certainly seems to get the job done). Originally I tried balancing the PIA with the OC + MotB, in some way. However, these new additions were made during a play of SoZ, so ... hey-whot!!
Added excitement: an upgrade to the optional Loot tables. This uses an advanced algorithm to calculate drops of gems, OC essences and crafting materials, based on the level of the PC and the critter (useful for OC-style crafting). You'll get lots of Malachite, but as your character level increases, so does the chance of Beljurils, King's Tears, Radiant essences, etc. The PIA is still compatible with cdaulepp's Random Loot Generator; in fact, if RANDOM_LOOT is set to "3" both loot tables should run (note you would need to install the RLG separately).
- removed spellnode spawn (was very bothersome).
- changed default Save penalty, BONUS_ST, from -6 to -5 (should help those poor monsters a bit).
- changed defaults for Enhance_Weapon (from 5 to 7, see above) and AB_Weapon (from 10 to 9)
- reconfigured Enhance_Weapon section to give bonuses to non-magical weapons & shields (did not do this before, if a weapon was non-enchanted it got no enhancement at all)
- added parameter to 'difficulty.2da' ( PrimeMap ) to turn on or off Primary Ability aliasing: take Primary Ability integers and alias them to creature's most-to-least used Abilities (ie, ranked & re-mapped values, see above)
- added parameter to 'difficulty.2da' ( PC_Adj ) to account for PC level (increases enemy Prime Abilities)
- added PC_Adj bonus to AC, AB (weapon, & natural + natural damage), ST sections, in addition to Primary Ability section
- adjusted ST bonus for PC_Adj to half value of other PC_Adj's (double value for Spell Resistance)
- reformatted debug text as well as script itself
- changed Spell Resistance to equal HitDice (if greater)
Tooltags for OC crafting:
Smith Hammer - 'smithhammer'
Mortar and Pestle -'mortar'
eg, 'giveitem smithhammer'
----
version 2.3, 2011 June 1
newer Difficulty.2da option:
TuffSR - Toughen Spell Resistance. There are four possible settings: 0, use normal SR rules; 1, grant critters SR equal to their Hit Dice, if greater; 2, grant critters SR equal to double the calculation result of PC_Adj; 3, add both Hit Dice and PC Adjustment calculation for SR rule. All with Reeron's SR Fix on creature items. Note that the game itself does not do SR checks properly for lingering Area of Effect spells. (default, 1)
Also,
- changed default Enhance_Weapon to "6" and AB_Weapon to "12"
- changed Extraordinary to SupernaturalEffect() for Primary Abilities
- adjusted gem-dropping probabilities for Pia_Loot (wip)
- minor niceties in the code ..
----
Nota bene: the Pia, with Debug & PC_Adj both set to "0" (zero), ought be multi-player compatible.
This package increases the difficulty of creatures and NPCs. Its core is a script that fires onSpawn and onHeartbeat, with a number of parameters that are adjustable through a simple one-row .2da file. It also has an optional script that can cause drops of gems, OC-essences, and materials, for crafting.
( am surprised you find arcane casters so useful )
Yes there are difficulty spikes -- remind everyone to make plenty of saves -- and crafting weapons becomes as important as wands, potions & debuffs.
the default settings, it's just a benchmark i guess. Those values will very likely be several notches too high for the average player, and surely too high without Pause Puppet & micromanage _________________________ All the world's a stage ... but so what.
Posted by bigbee at 2012-09-24 10:37:08 Voted 8.00 on 09/24/12
This mod is great for adding flair to the otherwise mostly boring and grindy battles that span most of the OC. Using debuffs instead of nuking everything in sight now actually makes sense, as does using consumables such as wands or potions (or maybe even casting from scrolls!).
What I do have to complain about is that the difficulty spikes at times, usually ending in one of those WTF moments - your whole party is dead on the floor in a matter of seconds and that one though enemy is still standing with 95% of his hitpoints left. I also feel that this mod makes some classes essential for success (arcane spellcasters) while further degrading already weak classes (such as melee fighters that do not have access to a myriad of buffs).
For example, I struggled hard with both a bard and a cleric main character for the first 10 or so levels before giving up. Afterwards, I went ahead with a wizard. Things got easier a *lot* after that, and I pretty much breezed through chapter 1 thanks to having a counter spell to every problem. In some fights, however, I noticed that my wizard was pretty much carrying the whole rest of the party. They would quickly end up wiped out if I either ran out of spells or died to some stray creature.
Some highlights of Act 1 were Moire (very tough, also pretty much evaded every single melee attack thrown at her and I had to resort to dirty things such as Ice Storm spam) and the Blade Golem encounter in the Merchant District (extremely though - again I was the last one standing and only won by a margin thanks to Empowered Ice Storm spam, while the golem cut through my teammates like they were made of butter). Now, I'm up against the werewolves in Act 2, and getting completely*bleep*d every single time. No spells, so no buffs - pretty much translates into instant defeat. Maybe I should have started crafting some extremely epic items before this.
In summary, I wouldn't personally recommend the default settings for people preferring not to bring extremely overpowered character builds such as wizards or sorcerers.
hey NC,
the only three games i play are NwN2, xCom:UFO, and solitaire
also did Everquest for a few years when it came out. *slap* ouch ..
Anyway, I tried implementing attacks/round increase and it's sorta falling flat; it doesn't add any of the flair I was hoping for, and i think it's because of the caps. NwN_orig didn't have so many caps ..... yet it did a lot better than #2
fo gifure _________________________ All the world's a stage ... but so what.
Posted by NC360 at 2012-09-02 15:00:11 Voted 10.00 on 09/02/12
It�s very important that people create mods like these, as developers have been moving away from games that offer any sort of challenge, including any depth (newer games now tend to be overly simplified with few options) for awhile now. I suppose they feel it will appeal to a wider audience by removing the depth of choices the player can make, while allowing the majority the ability to win on every difficulty level. Whereas in the past some thought was put into playing your character, while those harder difficulty levels were meant to challenge the good players. They either feel that good players are a minority and therefore don�t need to be supported, or want everyone to have the satisfaction of saying that they beating the game on the so called �hard� settings. Anyway, NWN2 is an old game with a lot of depth (which is where it excels), but lacks much in the way of a challenge.
A script that adjusts the level of the monster? meaning its hitdice and everything affected by that? no i don't think so ... that would make your effort w/ IceWind Dale *way* too easy ;)
It would also turn the Pia into a 5 line script :)
I think it's possible, however hypothetical, to first create blueprints of tougher versions of monsters with the toolset, and then in the onSpawn script of the regular monsters, tell them to disappear and get replaced by the higher level versions (or versions that are based off the level of the PC)
another possibility is using the onAreaEnter scripts to do the same thing. But it's a big task to create all those blueprints, and 'predict' what monsters are going to appear in a campaign -- the scripting itself would be pretty basic, once you find the right functions.
- I'm not sure how offhands work. With 'enablecombatdebugging 1' enabled, it says what weapon is swinging (onhand, offhand, creature, or extra for AoO's). But it's not that clear. Blows come in flurries of 2 together, marked 0.0 & 1.1 eg. The engine handles this, when a creature has more than 3 attacks/round it has to start grouping them in flurries of 2 swings. This is why the Parry skill is frowned on at higher levels: Parry will catch only the first blow in any flurry. (not the Monk flurry, btw)
i'd have to do tests at higher levels, when my characters are maxing their 6 blows per round, to really see how the engine handles offhand attacks - my suspicion is that 6 really is a Max ...
Other than that, NwScript is a full featured high level programming language. What can and can't be done is largely a matter of finding the functions and identifying the quirks. Feats like creature MultiAttack, and TwoWeapon Fighting are easy to assign and remove. It is what they actually do IG that ......... _________________________ All the world's a stage ... but so what.
I am wondering if it's possible to have a script that adjusts the level and whether it would actively adjust creature DC's (for spells) and spell resistances that are based on level.
It's great to hear about another feature being added and that the extra attacks are basically working. I don't know how attacks work for creatures in respect to offhands, but if a creature were given an offhand weapon/natural weapon and the respective feats they could maybe achive more attacks per round. I doubt that's possible with scripting though. (I would have no idea)
The encounters that pried me to try this out are Flame Wraiths - CR5, HD5. Without bonus attacks my 12 Rogue sliced through a group of them really easy. They normally have 1attack/rnd w/ BAB2. Keeping all other values the same, granting them 2 extra attacks, my rogue started taking damage, Stoneskin wore off, and before taking too much damage i hit the great equalizer: HiPS.
no rush, but i feel v.2.6 in the works
ps. Each successive attack/round is at -5*bleep*ulative (hence the negatives before plusses). _________________________ All the world's a stage ... but so what.
yes, they should be ... seeing it made me think about extra swings more:
the number of swings a creature gets is based off its BAB - roughly one per five - and any extra AB applied by Pia simply increases the chance of those hitting. That extra AB is applied as an effect (not a BaseAB increase). The function that affects #attacks is SetBaseAttackBonus() and i am using the console command 'enablecombatdebugging 1' to verify the #attacks and each baseAB value. It goes negative but is boosted by the usual stuff, including EffectAttackIncrease() as applied by Pia ...
I think the lack of impact was due to the low CR of the creatures used in my first test. CR5 vs Level12 characters. They were certainly hacking away darn fast! Also, i tried it against the Black Dragon and got the expected values, but I wasn't going to go through that whole fight again, partly because the comparison wouldn't be valid since the troops have crafted up much better armor/weapons. So i'm going to play out this dungeon ... max #attacks is 6 btw ... and just see if a new dimension feels added
If the effect of giving extra swings remains subtle, I'd be happy with that. it's being based off a 20CR critter so am running a .2da value of "8" that gives those CR5 critters +2 swings. Again, the script maxes the total swings at 6 (an engine limitation, i believe). The effect, then, has more impact vs. lower level creatures, since higher level creatures will simply cap themselves at 6 anyway.
the PC_adj parameter is as yet a wildcard here ... _________________________ All the world's a stage ... but so what.
hm, the extra attacks are turning out to be a lot less deadly than I thought: the critter's BAB plunges into negative values on the extra swings ....
( and of course the functions don't work as advertised but that's almost beside the point ) _________________________ All the world's a stage ... but so what.
yes you can put the adapted files you want specific to a campaign in that campaign folder (subfolders work for *some* campaign files, but not scripts i think). It's easy to turn scripts on & off with a global_int .. at the top of your scripts just do a check for the global -> if it's turned off just stop the script ( w/ return; )
ingame, use 'rs ga_global_int("use_my_scripts", "1")' to turn them on
A pre-existing script that you're modifying can be scoped to run or not run your code similarly. you'll figure it out :)
btw, gonna do a testrun of Attacks per Round boost ... the monsters in this dungeon need help, they're actually getting easier :\ _________________________ All the world's a stage ... but so what.
I did plan on having to do quite a bit through the toolset, but it is always nice to have a little bit of the work automated and easily adjustable.
Another question I have is about the installation location. I don't know much of the file systems and how all that works so if I'm completely wrong here let me know. Would it be possible to install the files into the individual campaign location? Or maybe including a way to turn the scripts on/off while in game? It's not a huge deal, but it would be a nice additional feature (so that it could be turned on/off per campaign/savegame instead of removing the files.)
As noted in the ReadMe, this mod will hit any creature (in any mod) that uses the 'nw_c2_default9' onSpawn script (or calls it), which fortunately is pretty standard. And as a redundancy feature, if that doesn't happen then it hits any creature that uses the standard onHeartBeat script, 'nw_c2_default1'
I'm playing a module now with the following values:
hp 99
enhance 7
ab 9
ac 4
st -3
str 8
dex 6
con 5
int 4
wis 3
cha 2
pc_adj 3
PrimeMap on and TuffSR 3 ... have run into one boss creature - a Black Dragon - and it was very tough as i needed 20's to connect. Really it was only an iffy AI (it was not using 'Dragons in the OC' adaptation) that let me win on the first run through. So while Pia does adapt well to provide more difficult gameplay, it's a far cry from a true Level Enhancing modification ...
increasing Skill ranks has also been raised, but at this point you're dealing with an overall design philosophy, it seems to me, that needs to take into account monster type/class/race and which might need to do weird things like decrease PC skill re. traps. I'm not saying it's impossible (only nearly so), and I'm sure it would be very difficult for anyone but the author to implement seamlessly,
... you might be able to do traps & locks by tapping into every area's onEnter script, but even if possible would have to be done manually for each script. And assigning better creature spells is not like increasing strength or attacks per round; it has to be done in the toolset or perhaps with a very large array. in fact I was attempting to assign spells to dragons by using a table that referenced hit dice vs. spell (and further depended on dragon race) but kinda gave up until a way around the infamous bCheat parameter is found, which causes on-the-fly spells to be cast always at level 10 like a scroll
anyway, thanks for nudging me toward the attacks thing! perhaps when i'm finished this dungeon I'll look into the mince-o-matic _________________________ All the world's a stage ... but so what.
I was more curious as to whether it was a current feature, though it would be great feature to have. Another suggestion for a feature would be level adjustment.
What immediately popped into my head when I saw this was its potential to dramatically alter the gameplay experience of the module it is used on. The settings could with a bit of tweaking allow for a much different playthrough experience. It would allow the tailoring of a module to a much higher level (for possible subsequent playthroughs). Only items, creature spells, creature skills, trap dcs/damage, and skill checks would need to be adjusted.
One of the things I am hoping to do is to tailor the Icewind Dale campaign to a higher level party, and possibly the OC.
Deis,
nope. The idea of increasing enemy attacks per round has been brought up, but I haven't taken any steps to implementing it (other than simply looking at some functions). If this ever makes it in it, it would have to be configurable via the .2da ...
while it'd be interesting to play around with, i'm sure it'd have a rather big, and hence unforseen impact on gameplay (moreso than the other parameters). Personally I'm leary of changing attacks per round because it seems to involve rather arcane machinations of the engine - not to say it won't ever be done, but the Pia strikes me as doing what it originally set out to do well - building on the efforts of Reeron & 3miLy ...
Are you voting to put it in? Or keep it out _________________________ All the world's a stage ... but so what.
I took a look in the toolset ( module D_X1, area d09_dreamscape_wall ) and see that the PitFiend, plus his buddy the HornedDevil, are both pre-placed instances -- their event scripts are default, so they ought be getting fixed/boosted okay. What happens, though, when a monster or NPC is pre-placed instead of spawned in from a blueprint is that the Pia debug gets /hidden/ behind the area's loading screen, the text doesn't even get written to the chat buffer (for later viewing). But all indications so far is that the Pia code itself is working well,
note, those critters are ScriptHidden instances, and might well be using the HB hook ...
Are we sorted out? _________________________ All the world's a stage ... but so what.
Posted by GFallen at 2012-05-03 05:50:09 Voted 10.00
No override conflicts (at least no duplicate files), and replaced the TonyK file with the merged ones, per PIA manual.
The strange thing is that usually, I can see debug messages when critters spawn; I just don't see any when the pit fiend spawns near bishop. In both cases Debug is on and yes, I've done the modification to difficulty.2da after restarting the game (as your manual says).
About combatdebugging, well I thought it might give me some more info about spell resistance, as I figured PIA debug only shows me the initial SR, but it didn't.
Good job with your test. I did some more testing with Gann and the pit fiend and can confirm your results. Now it crosses my mind that my bard has shadow conjuration and could cast magic missile. Would have saved me a lot of trouble.
BTW, I've never had any problem with the SR fix itself; the critters always kept their SR, but good you confirmed it. _________________________ AME Summer Review 2012
I set up a standard PitFiend w/ stock 32 SR on its hide and spawned it in via a ground trigger (onEnter), getting the debug as usual ( no adjustments, only DIFF_MOD & Debug = 1 ). Using a 13 Wizard/5 Child of Night, I hit it with a 5 missile Magic Missile ... *all resisted*
Then i cast Mord's on it, and had to do some fancy maneuvering not to get clobbered, and hit it with a second Magic Missile : *all penetrated*
One more test; check if the SR fix is functioning correctly; 2nd test:
2 resists, 3 failures
Pit Fiend retains its SR ( bug is fixed, see next )
Cast Mord's Disj: SR lowers to 22 as proper (i'm using a custom script to check this, it simply returns the current SR value)
- accidentally wander into the trigger and spawn a 2nd pitfiend .......
cast a second Magic Missile: *no resists*
- pitfiend casts PowerWord:Stun but my wizzy resists ..... hehe, I love fighting Pit Fiends! then it casts Word of Faith, blinds me and i figure that's enough :\ ( for a test ) _________________________ All the world's a stage ... but so what.
you should be getting lots of text to the chat window ( regardless of any other settings, other than DIFF_MOD which also needs to be = 1 ). See my screenshots above-right. (nb. I use the Pia with only those two settings when designing, and get ~20 lines of standard unadjusted readout)
combatdebugging etc. is entirely different,
My first suspicion is that you have more than one nw_c2_default9.nss/.ncs active in the Override directories ( check both MyDocs & Installation folders ). Try not to do anything to your Installation folders, this is all MyDocs->NwN2->Override stuff ... the first thing you should be seeing in the chat window is "Running ( kl_oshb_pia ) on spawn" or ".. on heartbeat" when the proper nw_c2_default1.nss/.ncs files are active.
Of course, you ought exit the game entirely before making changes to Difficulty.2da, then reload from a Save ....
- get the Debug messages to show, GF _________________________ All the world's a stage ... but so what.
Posted by GFallen at 2012-05-02 05:11:35 Voted 10.00
There are these air elementals in the maze (where Gulk'aush) is. I felt there were two kinds, one hard, and one easy (2-round kills). So PIA may have missed them after respawn. Just a feeling, hadn't debug active at that point.
As to penetration, there are some SR enemies in the dreams. The most notable is the pit fiend near the wall of the faithless. Now *he* did cast the right spells.. word of faith, dispel etc. I had a tough time! Safiya helped me out by writing some scrolls like spell mantle and mord. The dream circle after that was easy though.
Now I wanted to test if Mord actually decreased the fiend's SR. I turned on Debug in difficulty.2da and combatdebugging. I couldn't see the PIA debug or anything related to SR though (except the usual "resisted" messages).
After mord cast, a "breach" icon appeared above it's head; but in itself that doesn't mean anything. I've tested it and drow/yuan ti also get that icon but their spell resistance wasn't dropped.
So my impressions can only be subjective. I can't say with certainty if the pit find did or did not resist more spells after being subject to Mord -10 SR.
I'll do some more testing, and also compare w/ assay resistance (scrolls). _________________________ AME Summer Review 2012
you're probably right. ( of course the two are related; i hate it when enemy mages come running in with their daggers when i just *know* they've still got spells :) _________________________ All the world's a stage ... but so what.
Posted by GFallen at 2012-05-01 12:23:44 Voted 10.00
Thanks for the tips. I'll give missile/debug a go.
As to the "erratic" behaviour, I figured the enemies have certain spells memorized and certain feats they can use. So if they don't have the good spells/feats/skills, the AI doesn't matter. Am I wrong? _________________________ AME Summer Review 2012
yes, i'm really sure it should. The SR fix that the Pia uses reads the SR value from the hide, compares it to the total SR value a critter has ( in case it has a feat etc. that gives higher SR ), then, with TuffSR = 0, simply assigns the higher SR value as an effect on the creature itself -- supernatural or not, Mord's ought do the trick! ( supernatural just means it can't be dispelled, i think )
you might want to turn the Debug option on for a while, it gives a readout of SR ... compare & contrast ;)
Spell Penetration feats: i like them and believe they're a good choice for Gann. Kaelyn and Safiya are not always around when you go dream-hunting ..... this is just an opinion, 'cause I haven't explicitly checked SR of dream-opponents
nor have I comprehensively tested what happens when Assay/Mords is cast on an opponent w/ both hide and SR fix -- but i'm certain that Assay, at least, was doing its job against the Death Knights in the shadow temple. (The readout from Safiya's multiple Magic Missile is a good test, since each missile is resisted independently.) note to self: think about actually removing SR from the hide.
ps. Skills could, and probably should be increased per a Difficulty.2da option -- thanks for the idea but it's not a priority for me, and much of what you're saying sounds like an AI issue, rather than these far more straightforward combat adjustments .. _________________________ All the world's a stage ... but so what.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone