This pack contains fixes & amendments for the toughest creatures in the NwN2 OC, the dragons ...! Version 1 fixed & tweaked Tholapsyx the Red Dragon,
Version 2 adds & conforms functionality to the Black Dragons' fight in Nolaloth's Valley.
UPGRADING TO VERSION 2 : Please delete version 1.x and extract version 2+ to your MyDocs->NwN2->Override folder.
ver.2.1
2012 January 17
- tweaked the AI-chance of casting a spell or using a Dragon Ability (increase). Also tweaked the technique of choosing a spell in combat.
- added code to the UserDefined heartbeat that checks of any nearby PCs are in conversation (stops random behaviors & PC stalking).
- changed kL_DoDragAttack() to use variable BAB for determining whether or not Power Attack is used.
ver.2.0
2012 January 14
- 3090_a_crys_heart.NSS/.NCS - deletes the old Black Dragons and spawns in two new ones from blueprints, 3090_large_bdragon1.UTC & 3090_large_bdragon2.UTC : this runs from either the Valley's entry cutscene or the Crystal Heart's dialog.
- the new dragons use an updated creature hide, 3090_nw_it_creitemdr4.UTI that simply removes Spell Resistance itemproperty to work around the SR bug (SR is now assigned via OnSpawn, using a custom algorithm based on hitdice)
- an OnDeath script klai_od_blackdragon.NSS/.NCS has been added to the Black Dragons' event slots (to ensure their corpses decay after they are looted)
- two AI scripts ( ai_blackdragon_spawnscript.NSS/.NCS & ai_blackdragon_roundend.NSS/.NCS ) do for the Black Dragons what the corresponding scripts, described below, do for Tholapsyx, nearly exactly. The only real difference is that the Spells used by black & red dragons are slightly different.
- (technote for builders) there is now a function in the klai_inc_dragon.NSS include, struct kL_GetDragonType(), that returns the Name, the Race, the DragonDC modifier, the DragonSR modifier, and the DragonScale modifier for dragon types. Note that only the Red and Black types have been done, although the function is formatted and ready to accept appropriate data from other types. ( yaya, it really shouldn't be done as a struct but I need the practice :)
- changes to the Black Dragon blueprints:
Properties tab
- Casts Shadows? from "Cast shadows from point and directional lights" to "Cast shadows from all lights, and self-shadow"
- Receives Shadows? from "Receive shadows from point and directional lights" to "Receive shadows from point lights"
- Classification from "3090" to "kL|3090"
- Faction ID from custom OC "Neutral" to "Defender"
- Bump State from "Default" to "Un-Bumpable"
- Animal Companion Type from "Badger" to "NONE"
- Familiar Type from "Bat" to "NONE"
Basics tab
- Alignment from Chaotic Evil to Neutral Evil (five dragons together isn't quite 'chaotic' anymore ...)
- Challenge Rating from "22" to "23.5"
Statistics tab
- Intelligence from "16" to "17"
- Wisdom from "17" to "16"
- Charisma from "16" to "22" (SaveDC +3 vs spells they cast)
- Saving Throws, all types -1 (Reflex, Fortitude, Will)
- Current Hit Points, Reset to MAX from "350" to "488"
Feats tab
- added BlindFight, Improved Critical (Creature), Resist Poison, Skill Focus (Listen), Skill Focus (Spot), Weapon Focus (Creature)
Skills tab
- Concentration from "18" to "20"
- Hide from "2" to "0"
Special Abilities tab
- removed Wall of Fire and all Dragon Spellabilities (Breath, Buffet, Sweep, Aura of Fear, which are automatically engaged by script)
Spellabilities, current:
- acid fog
- fear
- slow
- vitriolic sphere
- greater dispel magic
- displacement
- elemental shield
- haste
- lesser spell mantle
- protection from energy
- stoneskin
changes to Creature Hide:
- removed Spell Resistance (it's bugged, do SR on spawnscript).
The following describes Tholapsyx in the Fiery Canyon & Fire Giants' Canyon, on Mt. Galardrym:
ver.1.3
2012 January 13
- added check for Area (Fiery Canyon) before playing Tholly's FireBreath intro (so the Black Dragons in Nolaloth's Valley don't!). See ai_dragon_userdef.nss
ver.1.2
2012 January.
- added a function to Tholapsyx' OnDeath event script; occasionally her corpse would not decay properly, and there is a very slight but real chance that this could cause problems - I believe the issue is hardcoded in the game engine (& not these scripts), so this version includes a transparent workaround just in case. (See 3031_ds_tholapsyx.nss and/or klai_od_blackdragon.nss for details.)
ver.1.1
2012 January.
- tweaked some conditions & functions to help ensure Dragon does not stick on a deceased opponent. GetNearestPerceivedEnemy(), GetIsDead() - although I never saw this happen during testing, this change is Defensive Scripting!
- added some extra code to userDefined heartBeat, to help Dragon find a hostile target. GetLastHostileActor()
- changed some comments and little oversights, like text color & ".0f" to fModelScale.
- consolidated the application of Aura of Fear effects, so code runs a nanosecond faster :p
- deepened red & blue hues of Fear Aura .Sef visual; made the VFX Supernatural so it won't risk being dispelled (the Aura itself was already Super); removes the .Sef VFX when Tholapsyx' unique OnDeath script fires (custom modders would have to do something similar, or just let the VFX disappear when the dragon corpse evaporates).
- added check for Breath distance before engaging.
- slightly increased chance of buffing during combat.
- put in assorted checks for ScriptHidden creatures, so they don't risk getting affected by SpellAbilities.
- added check for combat activity, so Dragon doesn't waste time trying to move around (in userDefined heartBeat, alongside checks for conversation & spellcasting).
ver.1.0
2011 August ... Sept/Oct/Nov.
OC info (Tholapsyx)
-------
module: 3000_Neverwinter_A3
area: {3032}th_canyon
area tag: 3032_tcanyon
area name: Fiery Canyon
area: {3033}fg_canyon
area tag: 3033_fgcanyon
area name: Seat of the Mountain
tag: "3031_tholapsyx"
utc (resref): 3031_tholapsyx
hide (resref): 3032_tholap_skin
OC info (Black Dragons)
-------
module: 2100_Crossroad_Keep_A2
area: 3090_avalley
area tag: 3090_avalley
area name: Ancient Valley
tag: "3090_dragon1"
utc (resref): 3090_large_bdragon1
tag: "3090_dragon2"
utc (resref): 3090_large_bdragon2
hide (resref): 3090_nw_it_creitemdr4 (was, nw_it_creitemdr4)
File info
---------
Dragons use three unique scripts that implement and control their RoundEnd AI.
1) ai_reddragon_spawnscript - called from OnSpawn (.nss/.ncs)
1b) ai_blackdragon_spawnscript - version 2+ for Black Dragons (.nss/.ncs)
2) ai_dragon_userdef - the UserDefined slot (.nss/.ncs)
3) ai_reddragon_roundend - the Red Dragon AI (.nss/.ncs)
3b) ai_blackdragon_roundend - version 2+ for Black Dragons (.nss/.ncs)
Additional custom files:
4) klai_inc_dragon - include file (.nss)
5) kl_dragon_fearaura - Special Effect VFX for dragon's Fear Aura (.sef)
6) klai_od_blackdragon - black Dragon's OnDeath script (.nss/.ncs)
And these are default NwN2 dragon files that have been re-worked:
6) nw_s1_auradrag - activates dragon's Aura of Fear (.nss/.ncs)
7) nw_s1_dragfeara - OnEnter for the Aura of Fear (.nss/.ncs)
8) nw_s1_dragfire - dragon Fire Breath (.nss/.ncs)
8b) nw_s1_dragacid - dragon Acid Breath (.nss/.ncs)
9) nw_s1_dragwbuffet - dragon Wing Buffet (.nss/.ncs)
10) nw_s1_dragtslap - dragon Tail Sweep (.nss/.ncs)
Blueprints:
11) 3031_tholapsyx - Tholapsyx creature (.utc)
11b) 3090_large_bdragon1 - Black Dragon creature (.utc)
11c) 3090_large_bdragon2 - ditto (.utc)
12) 3032_tholap_skin - Tholapsyx hide (.uti)
12b) 3090_nw_it_creitemdr4 - Black Dragon hide (.uti)
Plot files for NwN2 OC, Mt. Galardrym:
13) 3031_ds_tholapsyx - Tholapsyx' OnDeath script (.nss/.ncs)
14) 3032_oncliententer - OnClientEnter of Tholapsyx' Canyon (.nss/.ncs)
15) 3033a_fireking - conversation blocks for Fire Giants' Canyon (.nss/.ncs)
Plot for NwN2 OC, Nolaloth's Valley:
16) 3090_a_crys_heart - replaces both the black Dragons at the Crystal Heart (.nss/.ncs)
Plot files, custom:
17) kl_ondeath_groups - begins conversations after Tholapsyx and Fire Giants fight (.nss/.ncs)
General info
------------
Tholapsyx is placed or 'pre-instanced' (so does not spawn from a blueprint), as are the Black Dragons in Nolaloth's Valley. What follows was written for Tholapsyx, but the idea is the same for the later dragons.
This package, however, deletes those instances and replaces them from resrefs 3031_tholapsyx.UTC (including a new creature hide 3032_tholap_skin.UTI). While the hide simply has its Spell Resistance itemproperty removed (SR is now assigned via the SpawnScript, to bypass SR bug), Tholapsyx herself has a number of changes. Her Challenge Rating is increased from 25.0 to 28.5; Strength is decreased from 37 to 35; Dexterity is increased from 10 to 12; Charisma is increased from 22 to 24 (SaveDC +1 vs spells). Saves: Fortitude, Reflex, and Will reduced by 1. HitPoints have been Reset to MAX: to 686, up from 606.
Additional Feats assigned: Blind-Fight, Combat Casting, Darkvision, Improved Initiative, Low-light Vision, Resist Poison, Skill Focus (Listen), Skill Focus (Spot), Weapon Focus (Creature), Weapon Specialization (Creature).
Special Abilities removed: Acid Fog, Spell Resistance. (note: Dragon Breath Fire, Dragon Tail Sweep, & Dragon Wing Buffet have all been removed; they are now automatically engaged via scripting.)
FactionID was changed from custom Neutral to Defender.
No other changes have been done. Her inherent difficulty remains very similar to the original. Her AI scripts will however make combat against her more problematic.
She is 'scripthidden', appearing when the PC crosses a trigger and conversation is engaged ... and she uses the following special OnEvent scripts:
OnDeathScript: 3031_ds_tholapsyx
- sorts out her issues with the Fire Giants, and assigns a Dragon Slayer feat (note there are 2 Dragon Slayer feats in NwN2+, this is the one that appears in gold text color and does not grant any combat bonuses, #1714 not #2224 in Feat.2da). There is also mention of Ivarr, etc.
- changed a function to ensure the PC gets the Dragon Slayer feat on death of Tholapsyx (and it does not go to a controlled Companion instead). Also added improved message feedback on gaining the Dragon Slayer feat.
OnUserDefinedEventScript: ai_dragon_userdef
- previously included routines for EVENT_HEARTBEAT and EVENT_END_COMBAT_ROUND. The first tells her to attack, while the second manages her Breath, Buffet, and Tailsweep attacks.
- the EVENT_END_COMBAT_ROUND routines have now been subsumed under EVENT_HEARTBEAT. This is to ensure that a dragon's special combat ability counters increment even when it is not in combat per se. Dragon Behaviors (Taunt, Breathe, Buffet) ought animate a dragon when no enemy is perceived.
- Event "2100" has been introduced (cannot move to target) to assist some issues when unable to close against a valid target.
A string variable on Tholapsyx herself is "SpawnScript = ai_reddragon_spawnscript". This script gets called by the default OnSpawnInScript (nw_c2_default9). It sets up her Breath, Buffet, and Tailsweep attack counters and specifies her AI script, ai_reddragon_roundend. Tholapsyx' special spawnscript also prepares the userdefined event, EVENT_HEARTBEAT, to fire, and adjusts her combat overrides to not allow Attacks of Opportunity on her (reversed from not allowing her to have AoO's).
Additionally, the special spawnscript sets her Spell Resistance based on HitDice, resulting in increased SR.
ai_reddragon_roundend is where everything happens .... basically it attempts to find a valid target and then attack it with everything - no sorry. Tholapsyx' first round is an instant buffing routine. She will then pick out a target (generally the closest enemy) and depending on her health and some random chance may attack with one of her special combat abilities, choose to buff more or heal herself, attack with a spell, or simply do tooth & claw attack possibly w/ Knockdown or Power Attack.
Nota Bene: Tholapsyx can also appear for combat with the Fire Giants under the right plot circumstances.
Other files contained in this package:
klai_inc_dragon - include file w/ functions & constants for the above scripts.
3032_oncliententer - includes Kaldor Silverwand's insertion of Nasher's Cloak of Protection (should be used with NWN2 OC Makeover SoZ Edition or NWN2 OC Nasher Set Fix but shouldn't cause problems regardless. See Silverwand Software, http://bbellina.blogspot.ca/2013/07/silverwand-software-free-software-by...). This file also spawns an upgraded version of Tholapsyx with an upgraded creature hide (3031_tholapsyx.UTC & 3032_tholap_skin.UTI) that is only slightly more difficult than the original dragon (Casters, get your Assays readied). It is done for consistency with the fixed & upgraded scripts, mainly buffs and spell-casting, and if you don't want the upgraded dragon you'll have to either change the code here or simply delete this OnClientEnter script and its corresponding .ncs file *before entering* Tholapsyx' Fiery Canyon. (This is similarly true for the Black Dragons in Nolaloth's Valley, you could change or simply delete 3090_a_crys_heart.NSS/.NCS) The scripts offered here will use either the stock dragon blueprints or the upgrades - which are not much tougher per se.
3033a_fireking - replaces GroupOnDeathBeginConversation() w/ GroupOnDeathExecuteCustomScript() because the latter is far more reliable in starting conversation(s) after/if Tholapsyx fights the Fire Giants.
kl_ondeath_groups - this is a custom script that gets called after/if Tholapsyx fights the Fire Giants; it starts either dialog as appropriate (either with Tholapsyx or the Fire Giant King), if any are still alive.
nw_s1_*.nss - dragon spellabilities: Fear Aura (cast + AoE onEnter), Breath Fire, Wing Buffet, Tail Sweep (all extensively re-worked).
kl_dragon_fearaura.sef - a silly Special Effect VFX file i made for Dragon Aura (instantiated from NW_S1_AuraDrag.nss). To let players know they are entering the Fear Zone.
ReadMe_kL_Tholapsyx.txt - this here text file.
Installation
------------
Simply place these files in a subfolder of your MyDocs->NwN2->Override folder, preferably before entering Act III (or the '3000_Neverwinter_A3' module specifically). If that module has been loaded, however, you should still get most of the benefits/challenge from the UserDefined and RoundEnd scripts (ie. after Tholapsyx has been spawned/created). It is hereby strongly suggested that you make a perma-Save before entering Tholapsyx' canyon - if you don't know where that is, consult a walkthrough on the Internets.
UPGRADING TO VERSION 2 : Please delete version 1.x and extract version 2+ to your MyDocs->NwN2->Override folder.
De-installation:
Delete these files from your Override directory. No changes were made to other game files.
Credits & kudos
---------------
Thanks to WRFan and DannPigdon, for snips of code and inspiration. And Pain of Dungeon Eternal, http://social.bioware.com/forum/1/topic/161/index/3122110, for the beer, http://www.youtube.com/watch?v=dD-3io-03lA ;)
Also to members of the NwN2 community for their interest.
* all scripts compiled with Skywing's Advanced Script Compiler</a>, r9, http://social.bioware.com/forum/1/topic/164/index/7324714
Technote: modders, scripters, designers should freely modify, alter, snatch this stuff and re-implement it for whatever purposes, with or without credit. It contains one basically working Red Dragon plus two Blacks.
7-zip can be downloaded from 7-zip.org, http://www.7-zip.org/.
Attachment | Size |
---|---|
![]() | 63.99 KB |