You are here

nwn2fixes

117 posts / 0 new
Last post
kamal

One thing wrfan changed is setting Blast Globes to deal fire damage instead of magical damage. The game dialogs seem to be potentially contradictory on that.

Ballard: "You're probably right, Squire. I've never put much stock in blast globes, myself. Fire doesn't know friend from foe.... Takes a practiced alchemist to handle blast globes. Deorwin's the only one of my men I'd trust with the task, and he's trained with them for years."

Sand: "The Cloaktower mages are the only ones authorized and trained to dispel them,"

Ballard seems to say they're alchemical, which would imply they are actual fire, big oil globes or something, and Ballard's man can disarm them, but Sand says they can get dispelled.

 

So are they fire or magic with a fire vfx? The vfx they play is a fire vfx.

For me the most evidence is that they are some sort of alchemical fire, and so should deal fire damage. Also they get found and used in a troll area, which lends weight to them being fire dealing given DnD games propensity to give you fire/acid right as you are confronted with trolls.

  • up
    50%
  • down
    50%
kamal
2600_AJ_Haven
26_cs_geyser:
Corrected several checks
Checked Wisdom when dialog says it checks Intelligence.
Checked Fighter class when dialog says it checks Druid.

Checked (Ranger and not Fighter) when it says (Ranger and not Druid)

2000_Neverwinter:

20_servants:

Corrects alignment shifts in the conversation, they didn't happen previously because the numbers were switched.


20_blast_globe_barrel
You could previously gain influence with either Grobnar or Sand, but not both if they were both in the party. Now you can gain influence with both if both are in the party.

20_inc_cyran
Blast Globes do 8d6, not 8*d6, those aren't the same and pnp generally would use 8d6 over 8*d6. Blast Globes still do magical damage, as Sand specifically says "The Cloaktower mages are the only ones authorized and trained to dispel them," so they are specifically said to be magic and not fire.
 
20_collector
The dialog says you give 500 gold to Vania, but you did not actually give her gold. Now you do. An Intimidate check never actually checked anything, resulting in auto-success. Now it is checked, so failure is possible.
 
20_vania

There was a dialog option to pickpocket the key from Vania, but the variable that allowed that option is never set . Now you can make a spot check to allow this option.

  • up
    50%
  • down
    50%
kevL's

Blast Globes: if it walks like a duck and quacks like a duck ... it's fire.

re. Sand: could say he made a Freudian slip and meant to say "disarm".

suggest: sleep on it

  • up
    50%
  • down
    50%
kevL's
  • up
    50%
  • down
    50%
kevL's

@kamal
in 2000_Neverwinter,
where is local_int(oModule) "collected_blastbarrels" used? I ran searches and couldn't find a getter ...

is it still needed ?

  • up
    50%
  • down
    50%
kamal

I'll need to check. I was going through wrfan's readme looking at things that were obvious bugs and not his preferences, and checking his fix versus the OC, I could have put his version of a file in there by mistake. In this particular case I'm not sure it matters much because iirc he set it up so that if you had collected only some of the blastbarrels and then talked with the sargent it would get recognized correctly (the OC had a line for that state but I don't think a way to trigger it), as opposed to the sargent not recognizing a partial collection and just defaulting to a none collected conversation line as the OC does.

 

His stuff is a mess, he often didn't comment in version of scripts, so I have to compare side by side by running two copies of the toolset. When he does comment, it's mostly "obsidian programmers are sooo dumb" type stuff, not any sort of useful "I changed it because x". Same with his version of dialogs.

  • up
    50%
  • down
    50%
kevL's

yeah ... i wouldn't use any of his stuff without thoroughly vetting it first. But it does make excellent hints about what *could* be bugs.

about the change itself:

SetLocalInt(GetModule(),"collected_blastbarrels",1);

now I don't know what it's actually supposed to do, but consider:

int iBarrels = GetLocalInt(GetModule(), "collected_blastbarrels") + 1;
SetLocalInt(GetModule(),"collected_blastbarrels",iBarrels);


that's usually how it works. But if the getter can't be found it's just ~poof~ anyway ...



about comparisons. What I have is all official modules unpacked to a place i can look at them without even opening the toolset. (Because i make, uh, fixes to them.) Then Winmerge can run diffs much easier. (will always pull the stock file(s) out of the official .Mods and diff those before submitting to nwn2fixes though)

  • up
    50%
  • down
    50%
kamal

Adding the "Damage Bonus: Physical" property to weapons results in the item displaying Damage Bonus: Bad Strref" ingame.

  • up
    50%
  • down
    50%
kevL's

heh/ first test against Garius at the keep and the Nightwalker bugs out ...

 

garius is off chatting w/ some greycloaks at the barricade, hm

 

will look at forcing the Nightwalker to spawn regardless of G's state, or something. anyway looks interesting

 

edit: Tried setting him plot/unplot, but that didn't work. Am going to wipe his AI temporarily ...

 

edit2: wow, the Garius cutscene looks way better when he isn't fluttering around while uttering The Pronouncement of Doom (and demanding his castle back). It seems to be working ...

 

edit3: commit
https://github.com/nwn2fixes/player/commit/d09b5a16facf8029d1d09bd84cfa9...

  • up
    50%
  • down
    50%
kevL's

kamal said

  • Adding the "Damage Bonus: Physical" property to weapons results in the item displaying Damage Bonus: Bad Strref" ingame.


I got the same thing w/ both Physical and Subdual types damage. i'd stay away from both those types ...

  • up
    50%
  • down
    50%
Vandervecken

Can't you fix that simply by operriding one of the relevant 2da files to point to the correct stringref?

  • up
    50%
  • down
    50%
kamal
Yes. We're using this thread for bug posts as well. Subdual almost certainly doesnt work as a damage type as there's no official subdual system. Physical may or may not just add an extra point of base damage, it will need to be tested to see if it does. If they dont work they will need to be removed from the 2da of properties you can assign, but if they do work we'll need to get a 2da pointed somewhere appropriate in the tlk. I've been trying to get something else out the door, so i'll be working on this once i do that.
  • up
    50%
  • down
    50%
kevL's

oh hey, kamal

have you been updating the files on the Vault? because i haven't (and have no intention to, since Git is so much easier for me and has its own .zip "player-master")


if not, should the vault-package(s) just be taken down (... perpetually obsolete), and instead leave up only the direct link to the Git download? Or for now leave up the builder's package and use git for the player's package ...? i notice a lot of folk downloading the Vault version

  • up
    50%
  • down
    50%
kamal
I havent been updating the Vault or looking at github. I've been trying to shove my campaign out the door. I do think it should be available here for maximum ease of use for players.
  • up
    50%
  • down
    50%
kevL's

but they're both just links to zips.

download one and unzip to /Override, or download the other and unzip to /Override


one has a top-level directory "Community Fixes" (currently 1.5mb) and the other has top-level directory "player-master" (currently 2.5mb)

note: I just updated the Vault-blurb to make things clearer about what's going on. But if you don't have the time to update and I don't want to update the Vault-link i think it should be removed. ( i haven't done it already because that would be ...

    boorish
    insulting
    abusive
    vulgar
    impolite
    obscene
    ignorant
    coarse
    surly
    crude
    intrusive
    blunt
    uncivil
    abrupt
    barbarian
    barbaric
    barbarous
    brusque
    cheeky
    churlish
    curt
    discourteous
    graceless
    gross
    gruff
    illiterate
    impertinent
    impudent
    inconsiderate
    insolent
    loutish
    low
    offhand
    peremptory
    raw
    savage
    scurrilous
    short
    uncivilized
    uncouth
    uncultured
    uneducated
    ungracious
    unmannerly
    unpolished
    unrefined
    wild
    crabbed
    bad-mannered
    brutish )

peremptory !

  • up
    100%
  • down
    0%
Clangeddin

Just gonna chime in and say that if you wish to add my fix mod to the list, with 1.1 version you can now disable the Improved Uncanny Dodge change (that can also be a balance change), by simply setting one parameter in a .2da file I included to 1, so no need to go through the code.

  • up
    50%
  • down
    50%
kevL's

there's issues that make me uncomfortable

1. when a PC loads, the OnEquip fires for every item currently worn. This means the custom script is going to fire repeatedly instead of just once after all equipping is done (or at least optimized to skip heavy-lifting until the last call).

2. it doesn't take into account the fact that when Unequipping, the object is still considered equipped. Eg, when a Ring of SR 20 is unequipped the PC still gets its 20 SR. /just tested (note that a delay of 0.f against the core routines is enough to correct this)

3. not so sure it's a good idea to have one SpellID for all effects. /untested on my end, but it might also be a good idea to keep that/those constant(s) consistent with Kaedrin's PrC Pack, idk

4. I don't like the idea of a config .2da at this point; granted it's reasonable: it could be expanded to enable/disable various other fixes (although my preference, fwiw, is to keep nwn2fixes utterly plug&play).

5. Uncanny Dodge /nuff said <g> (i've been replacing the feats with a +Reflex save but Immunity Sneak Attack doesn't sound too bad..)


suggest: for now have a link where others can find it

  • up
    50%
  • down
    50%
Clangeddin

1) While this may sound troubling in theory, I haven't seen it cause any noticeable (even minimal slowdown) nor single player nor multiplayer, this script is implemented in a PW currently, in a much less optimized version (that does not cache 2das), and the game never really showed any signed of slowdown. I also haven't read anywhere that OnEquip and OnUnequip scripts fire on PC load for all items, I read that for the OnItemAcquire, that also checks all Equipped items on log in, but this is another script.

2) I'm not sure about this one. I also tested it and if what you said was true then it shouldn't remove the effect when you remove the item and have no other SR item on, which is what it does. If I have a 18 SR ring and I remove the ring, I should go to zero, if what you said was true, I should still stay at 18 SR and retain the SR buff, but that's not what is happening.

3) It's certainly a better idea than to have multiples, since it reduces the likelyhood of conflicting constants with other mods, besides it's not really needed at all to have multiple constants since those effects are supposed to be permanent supernatural dependant on equipment switch.

 

  • up
    50%
  • down
    50%
kevL's

1. when using PrintString() in 'x2_def_mod_equ' the logfile contains:

Grobnar equip Shadow Legion Armor
Grobnar equip Boots of Tumbling
Grobnar equip Greater Gloves of the Minstrel
Grobnar equip Ichthia's Neck-Knife
Grobnar equip Dwarven Mirth
Grobnar equip Harvest Cloak
Grobnar equip Ring of Protection +2
Grobnar equip Amulet of Will +3
Grobnar equip Sash of Shimmering
Grobnar equip Arrow +1
Construct equip Construct's Blade
Construct equip Blade Golem Properties
Qara equip Spike Helmet
Qara equip Mage's Battle Robe
Qara equip Bracers of Armor +2
Qara equip Spear +3
Qara equip Cloak of Protection +1
Qara equip The Nomad's Ring
Qara equip Amulet of Electrical Resistance
Qara equip Bullet
Casavir equip Paladin Helmet
Casavir equip Full Plate +1
Casavir equip Plate Boots
Casavir equip Bracers of Armor +2
Casavir equip Hammer of Justice
Casavir equip Laeral's Spell Shield
Casavir equip City Watch Cloak
Casavir equip Ring of Protection +2
Casavir equip Periapt of Wisdom +2
Casavir equip Swordsman's Belt
Elanee equip Pot Helmet
Elanee equip Elven Chainmail
Elanee equip Boots of the Winterlands
Elanee equip Greater Gloves of Concentration
Elanee equip Ula's Heart
Elanee equip Shield of the Wisp Hunter
Elanee equip Cape of the Fire Bath
Elanee equip Ring of Protection +2
Elanee equip Ring of Fortitude +1
Elanee equip Ceremonial Uthgardt Belt
Elanee equip Arrow +1
Elanee equip Bullets of Smiting
Bishop equip Stag Helmet
Bishop equip Elven Chainmail
Bishop equip Boots of Elvenkind
Bishop equip Gauntlets of Ogre Power
Bishop equip Longsword +2
Bishop equip Cutting Star
Bishop equip Cloak of Fortification +1
Bishop equip Ring of Protection +2
Bishop equip Talisman of Pure Evil
Bishop equip Belt of Agility +3
Bishop equip Acid Arrow
Nugs Stone equip Winged Helmet
Nugs Stone equip Enkidu's Armor
Nugs Stone equip Boots of Hardiness +1
Nugs Stone equip Bracers of Armor +4
Nugs Stone equip Dwarven Waraxe +2
Nugs Stone equip Mirror Shield
Nugs Stone equip Neverwinter Knight's Cloak
Nugs Stone equip Ring of Regeneration
Nugs Stone equip Ring of Resistance +1
Nugs Stone equip Amulet of Natural Armor +2
Nugs Stone equip Belt of Hill Giant Strength
Nugs Stone equip Arrow +1
.Nugs Stone: PC Spawn script run!
Ammon Jerro equip Horse Hair Helmet
Ammon Jerro equip Mirrored Armor
Ammon Jerro equip Bracers of Armor +4
Ammon Jerro equip Terrance's Fell Axe
Ammon Jerro equip Kistrel's Cloak
Ammon Jerro equip Ring of Sorcerous Power
Ammon Jerro equip Amulet of Natural Armor +1
Ammon Jerro equip Arrow +1
Khelgar Ironfist equip Paladin Helmet
Khelgar Ironfist equip Elven Ceremonial Armor
Khelgar Ironfist equip Gargoyle Boots
Khelgar Ironfist equip Gauntlets of Ironfist
Khelgar Ironfist equip Re's Redemption
Khelgar Ironfist equip Cloak of Fortification +2
Khelgar Ironfist equip Ring of Major Acid Resistance
Khelgar Ironfist equip Ring of Major Fire Resistance
Khelgar Ironfist equip Amulet of Natural Armor +2
Khelgar Ironfist equip Belt of Ironfist
Khelgar Ironfist equip Arrow +1
Sand equip Headband of Intellect +2
Sand equip Grey Robe of the Archmagi
Sand equip Gloves of Concentration
Sand equip The Wizard's Ally
Sand equip Ring of Resistance +1
Sand equip Ring of Elemental Resistance
Sand equip Amulet of Vitality +2
Sand equip Kossuth's Belt of Priestly Might and Warding
Sand equip Arrow
Sand equip Bolt +2
Zhjaeve equip Wizard's Hat
Zhjaeve equip Armor of Comfort
Zhjaeve equip Boots of Reflexes +2
Zhjaeve equip Bracers of Armor +4
Zhjaeve equip Courtesan Blade
Zhjaeve equip Hearth Shield
Zhjaeve equip Cloak of Arachnida
Zhjaeve equip Ring of Divine Power (2)
Zhjaeve equip Ring of Divine Power (2)
Zhjaeve equip Periapt of Wisdom +4
Zhjaeve equip Brawler's Belt
Zhjaeve equip Bolt +1


- but i agree it's not a big deal

2. okay, i overlooked the Delays in main()

  • up
    50%
  • down
    50%
kevL's

I've looked over Clangeddin's Fixes and personally i recommend it -- especially 'cause it contains a valid fix for the SR bug on PCs and Companions (not sure about Associates).

it can clash, however, with things that modify the default OnEquip/Unequip scripts, like Kaedrin's PrC Pack or custom modules that may also modify those scripts. Or if a module uses other scripts for OnEquip/Unequip, the fixes would not work. Consider this, however, as warnings not errors.

In a word, it's something everyone should have in some form or other. It's just one of those buggy areas of the engine that can't be universally fixed without Xoreos.

  • up
    50%
  • down
    50%
Funkjoker

Hello,

I've been waiting long for a community project like this since I'm very happy about similiar projects like Fallout: New Vegas YUP, Skyrim/Fallout 4 Unofficial Patches etc. and thus I'd like to contribute as well as breath life in this topic again since the last message is months old.

Here we go:

1) Fix

https://neverwintervault.org/project/nwn2/other/construct-upgrade-fix

This should be rather self explanatory

2) Fix

https://neverwintervault.org/project/nwn2/hakpak/original-hakpak/deekin-inventory-dialog-fix

As above. It adds a condition so that the intro speech only runs once.

3) Fix

1200_Highcliff -> Conversations -> 12_mozah.DLG

In my (german) version of the game, it's impossible to succeed the [Diplomacy] option because it uses an (old?) invalid, conditional script ("gc_check_skill(6, 0, 7)").

Solution: Replace the invalid script with "gc_skill_rank(6, 7)"

4) Suggestion

1200_Highcliff -> Conversations -> 12_cs_brill_tann.DLG

The [Diplomacy] and [Intimidate] Checks (15) are far too high at this point of the game since it's not a roll check. Therefore my suggestions are either we change the scripts to "NOTgc_skill_dc(6,15)" so it's rolling the dice or we change the requirement by half, e.g. ...rank(6, 7).

 

There are of course way more fixes for the campaign to be needed so I'll be happy if any of you are still active here so that this project doesn't die :)

  • up
    50%
  • down
    50%
kevL's

thanks. I'll look through these and pull the most blatant ones in (at least) in a day or two.

  • up
    50%
  • down
    50%
kamal

1200_Highcliff -> Conversations -> 12_mozah.DLG

In my (german) version of the game, it's impossible to succeed the [Diplomacy] option because it uses an (old?) invalid, conditional script ("gc_check_skill(6, 0, 7)").

Solution: Replace the invalid script with "gc_skill_rank(6, 7)"

 

Checked this and it indeed broken in the way you say.

 

1200_Highcliff -> Conversations -> 12_cs_brill_tann.DLG

The [Diplomacy] and [Intimidate] Checks (15) are far too high at this point of the game since it's not a roll check. Therefore my suggestions are either we change the scripts to "NOTgc_skill_dc(6,15)" so it's rolling the dice or we change the requirement by half, e.g. ...rank(6, 7).

It's pretty hard to do but the diplomacy check can be passed by a character dedicated to diplomacy. Here are the potential diplomacy points you can get by that time ingame:

2 (half elf or half drow racial)
2 (artist or silver palm background)
3 (pig familiar)
2 or 3 (from charisma bonus)
7 or 8 (level +3 of points into the skill)
3 (skill focus feat)

An intimidate focused character should also be able to make it (no racial or familiar, but they can take Thug background and get +2 Intimidate). A straight 7 check on diplomacy would be met by any character who puts spends their skill points on diplomacy.

  • up
    50%
  • down
    50%
Funkjoker

"It's pretty hard to do but the diplomacy check can be passed by a character dedicated to diplomacy."

As far as I remember some of the early modules still have the DC checks while later moduls mostly use rank checks. It may have been the case that this instance was originally a DC check in 1.0 which may have been changed when some patch changed the gc_skill_rank/dc script. This is just guessing on my part.

IIRC you are level ~5 (see https://www.youtube.com/watch?v=aLGcDR_LE7c&index=6&list=PL_1EpyP6ogbDZZjRxPyPD2548YHKiP4Ev at 51:30 for reference, level shown at 50:40) at this point, so having invested everything in Diplomacy gives u 8 (10 CHA) skill points max, and I don't recall any DIPL or CHA boosting items. This is without any special feats contributing to DIPL or INTI.

Most, if not all, players will fail this check, because only very few builds will put everything into DIPL feats and skills. So I don't think it was intentional, especially if later checks are way lower again.

One way to check is to look which script NWN2 1.0 has attached to, but I don't think that anyone will bother :D.

I can also be wrong of course, I just find it irritating every time I am at this point.

  • up
    50%
  • down
    50%
kamal

I just submitted 9 different fixes, including 12_mozah.DLG as identified by funkjoker:

 

10_axle: Axle now correctly recognizes the classes (was an and check), and restored a line regarding the gith that could never happen
12_cx_sp_garius: shadow priest will now only tell Garius the other priest was killed if the priest actually was
12_mozah: fixed broken skill check, was using non-existent script
10_moire: previsouly a bluff check with Moire was not implemented when the dialog says there is one, so the bluff was always successful
11_daegun: PC response for successful wisdom check now correctly checks wisdom instead of intelligence
13_deaddwarf: previously you didn't gain influence with Khelgar though the conversation said you did
13_bugbear_dwarf: Chaotic response chaos adjustment fixed when talking to Khelgar after freeing the dwarf prisoner from bugbears (would adjust alignment towards law instead of chaos)
11_georg: Georg will now comment on shandra/casavir/Bishop being your spouse correctly, was previously not possible
10n_fen_dead: This is the deathscript for Fenthick, but it was in the wrong module, so it never fired. It was in module 1000, but he appears in 1700 and the script is called from there. (This script does not seem to have any game effect)

  • up
    50%
  • down
    50%
kevL's
  • up
    50%
  • down
    50%
Funkjoker

"undecided on brill"

Well, it's not strictly broken, that why it has my [Suggestion] tag

 

Github: "If you're having the common problem of Deekin not even showing his store"

That was not the problem, he's showing his store just fine, however it could upgrade during the campaign which it didn't without above mentioned mod

-> "It enables upgrades on Deekin inventory while in Crossroad Keep." (From author's download page)

 

@ Vandervecken or KevL: Will any of the fixes of your TCC mod be included for the campaign?

http://nwn2.wikia.com/wiki/Armor_recipes

- Invulnerable Armor is bugged but as written it may be out of our hands to fix this

-http://nwn2.wikia.com/wiki/Weapon_recipes

- Massive Criticals does not seem to work according to wiki

 

At some point someone might tackle on Crossroad Keep, which is quite a buggy mess. I would but I don't know how to, my knowledge is very limited of the construction kit.

Some points of note for the future which come out of my head and may be missing some things. Mostly WRFan stuff and from http://nwn2.wikia.com/wiki/Crossroad_Keep#Bugs

- Enabling Teelah and Jazren for the Phoenix Tail Inn

- Recruiting Bevil in A2

- Mephisto (that's his name?) dialogue fixes

- "Orlen will act as if there are enough peasants in the Keep, even if there are actually not enough (he's supposed to complain if there are less than 30 peasants at the Keep, but the check for peasants number is bugged)."

- Special Missions / Training / ... The whole keep management seems to need some rework

- There's a messenger in late A3 CK courtyard not disappearing after having said some message. It's a bit blurry because it has been some time after my last playthrough.

 

Other stuff:

- The Gith sword shards. Afaik there is one shard you get twice and one or two shards aren't properly removed when you put the sword together again.

- Githyanki boss dialogue fixes at the end of A1. According to WRFan there was some stuff omitted or improperly used or sth like that.

- Missing banter after entrance to the Githyanki Base

  • up
    50%
  • down
    50%
kevL's
  • That was not the problem, he's showing his store just fine, however it could upgrade during the campaign which it didn't without above mentioned mod

this does that & more

- allows upgrade(s)

- shows more greetings

- corrects buy/sell pricing

  • up
    50%
  • down
    50%
kevL's
  • @ Vandervecken or KevL: Will any of the fixes of your TCC mod be included for the campaign?


I sent some messages to Vandervecken about those bugs. Here's my take on fixing OC-crafting: install The Complete Craftsman Reboot edition. As i understand it, V. has included the original(stock) .2da's for players who don't want the extended recipe-set.

 

edit:

the crafting Reboot includes .2da's for the original *TCC* recipes, as well as the current (ie, TCC Reboot) recipes. However, Vandervecken & i need to/want to address some issues regarding how Property Set recipes are determined before the .2da's (including stock) become truly interchangeable ....

  • up
    50%
  • down
    50%
kamal

Uploaded 10 or so more dialog fixes. These are almost all minor things like the wrong stat or skill being checked or influence not being adjusted when the game said it was.

  • up
    50%
  • down
    50%
kevL's

i wonder if we're approaching ~1000 yet /dark humor

  • up
    50%
  • down
    50%
kamal

I've only fixed only 40 or so. If wrfan had properly documented things I could track down more of the things they put in their readme.

  • up
    50%
  • down
    50%
Aqvilinus

As I've been working on my own "fix compilation", going through each file, noticed that you included without change WRFan's 20_cain.DLG (the "Battle of the Bards" quest), where some his stupid "fix" is left: disabled Performance checks for non-bard classes. There're some (custom or not) prestige classes that can pass these checks.

BTW, if you need some assistance, I can help you. Currently I sorted out almost all (~95%) WRFan's changes, made a convinient chronological readme. Removed immortality changes, gender swapping, autobuffing during the cutscenes, SR fixes and other crap. I can help you understand what was actually changed. Yes, I could just send you all my files, but they are merged with ones from SoZ Makeover, OC-MotB Romance packs and some of yours (my own compilation I told you about).

  • up
    50%
  • down
    50%
travus

Here are some issues I found...

Here is the rar with the fixes for said errors.

Error log:

1100_west_harbor:
0_bevil - diplomacy check had no check script. 
11_merring - cleric class check had no script (shared with devout check node).
 
1200_highcliff:
12_cs_brill_tann - diplomacy and intimidate checks were using a RANK check of 15. Changed them to DC checks as rank checks that high are near impossible to achieve at this point in the game. 
12_liza - bluff check had no check script. Changed the diplomacy rank check to a DC check. 
jorik - diplomacy check had no check script.
brill - a diplomacy and bluff check were using a RANK check of 15. Changed them to DC checks as rank checks that high are near impossible to achieve at this point in the game.
fortgalen - if you have already met Cormick, added a fallthrough node after Galen says "I'm beginning to think that this will be my last trip..." 
 
1000_Neverwinter_A1:
10_4cs_wolf2 - intimidate check had no check script. Also added intimidate Failure node.
10_caleb - almost all skill checks were using a non-existant check script. Intimidate nodes had a "success" link to a diplomacy check node. A successful Bluff check did not award XP. Accepting a bribe from Caleb when successfully using the intimidate branch gave you gold twice. Set some of the skill check nodes to "once per game" to prevent them from showing again after a failure. Set camera to view Hagen and guards should they arrive.
10_cormick - Trent would incorrectly spawn right next to Cormick after speaking with Cormick about the docks sweep. Removed the create object script from end of the docks sweep branch as Trent is already correctly spawned through 10a_faulk_state script. Added a faction check to the Shadow Thief node. 
10_cs_qara_intro - all skill checks had no check scripts. Alignment shifts had no scripts.
10_cw_bribed - an intimidate node was using a rank check of 15. Too high, changed it to 10 to bring it in line with the other rank checks.   
10_guardatk - diplomacy check had no check script.
10_guardnp - all skill checks had no check scripts.
10_guardnp2 - all skill checks had no check scripts.
10_hagen - all skill checks had no check scripts.
10_hq_reactpc - all skill checks had no check scripts.
10_mugger - diplomacy check was using a non-existant check script.
10_lockpicker - all skill checks had no check scripts.
10_smuggle1 - one of the branches ended abruply after a successful intimidate check. 
10_tyren - bluff check had no check script. Removed extra END DIALOG node. Class check had no script. 
 
1300_Old_Owl_Well:
13_cutscene6 - intimidate check had no check script.
13_issani_guards - removed lore check from half-orc branch. Relinked Grobnar branch to the half-orc branch.
13_neeshka - removed gc_is_male from female node.
13_olov - bluff check had no check script.
 
1600_Githyanki_Caves:
16_bl_enter2 - all skill checks had no check scripts. Added check/take gold for bribe node.
16_sixer - influence gain script was missing for Bishop.
 
1700_Merchant_Quarter:
10_4cs_wolf1 - diplomacy and bluff (lie) checks had no check sript.
10_informant_cw2 - intimidate check had no check script.
10_ophala - check script was missing to see if Sand and Elanee are in party on the Torio branch. Set Torio branch to "Once per game" to prevent influence farming. Disabled the "First time asking about Leldon, Neeshka not in party" node. 
 
1900_slums:
10_whouse_cw2 - Intelligence checks were checking Wisdom.
 
2000_Neverwinter:
20_jenks - Assigned Elanee as the speaker in the node "This man seems to know very little about treating animals...as do you." Influence loss script was missing on the same node. 
20_nasher - spellcraft check was using a RANK check of 20. Changed it to a DC check as rank checks that high are near impossible to achieve at this point in the game.
20_nevalle - Inluence loss script was missing on one of Sand's nodes:"Yes, well, I find so little you do to be amusing...". Inluence gain script was missing on one of Bishop's nodes:"Now that's what I like to hear...".
20_sting_cw - Intimidate/Wisdom node had no check scripts.
 
2200_Port_Llast:
22_cs_well - an influence loss node for Sand was increasing influence for Sand. An inluence gain node for Qara was increasing influence for Sand. 
 
END

NWN2 Mod playthroughs    www.youtube.com/user/AhTravesty

  • up
    50%
  • down
    50%
Aqvilinus

travus
Nice work!

"11_merring - cleric class check had no script (shared with devout check node)."
It also makes sense to add the favoured soul class check [gc_check_class(12)] in such situations, since the original campaign files don't take into account base classes introduced in expansions. Obviously Cleric doesn't have any advantages over FS here, similar to Wizard/Sorcerer checks.

"13_issani_guards - removed lore check from half-orc branch. Relinked Grobnar branch to the half-orc branch."
This dialog seems to be cut from the game and isn't used anywhere.

"16_sixer - influence gain script was missing for Bishop."
Same goes here. It's an unfinished version of 16_marcus.DLG (conversation where Bishop gives his knife to Marcus) which the game actually uses.

"10_ophala - Disabled the "First time asking about Leldon, Neeshka not in party" node. "
And what was the point of doing that?

"10_tyren - bluff check had no check script. Removed extra END DIALOG node. Class check had no script. "
"10_hq_reactpc - all skill checks had no check scripts."
And again, cut dialogs.

  • up
    50%
  • down
    50%
rjshae

I ran into a couple more missing sound sets, so I ran through the entire list to make sure everything is working. Accordingly, I've updated the missing audio files project with several additions. In combination with Sound Set Selection Menu Fix, I think that has everything useful covered.

  • up
    50%
  • down
    50%
Axe_Edge

With the NWN2 Fixes (032617 player-master) installed, I just completed a new runthrough of the OC and I am currently near the end of MotB Act 2.  Ran into a couple little mechanical things in the OC (wish I would have written them down).  I've decided to list a couple things in MotB, while I'm thinking of them:

1) Wells of Lurue/Janik's Farmouse - Anya will not sleep.  In all of the years I've played NWN2, this is only the second time this has happened.  I have the Hag's Eye from the Skein, Gann, night (all hours of night), and have gone outside/inside.  Talking to her she replies "Gannayev, you should wait until it is my time to sleep - you must not come to me now, father will see" then "Or.. or are you the other Gann? The false one? Begone!" 

A fix/workaround listed in a walkthrough is:

debugmode 1

rs ka_enter_dreamscape()

rs ga_jump_players("b14_wp_from_b13", 1, 0)

debugmode 0

 

2) Coveya Kurg'annis - Gawatha the Ogre: Gawatha does not know how to open a door. My party (PC, Okku, Safiya, Gann) entered from the northeast door and traveled counterclockwise within the area. They encountered the Coven almost immediately and completed all dreamscapes and let the Coven live (Gann is pissed). They deal with Ankhriva and eventually end up in the southeast room with Gawatha. Gawatha and his minions are all facing north as my party enters from the west. There is no trigger on the west that tells Gawatha my party is there. I talk to Gawatha to get his attention, he turns toward the party, there's a little talk between them, Kepob is ransomed (full amount), and Gawatha walks north to leave, then, they stop at the closed north door. The little problem is Gawatha's minions and he are not smart enough to open the door to leave and head out Lakeshore. The party opens the door and Gawatha continues to Lakeshore.  The party pays tons of gold aaannd has to open the door for him? Talk about a lazy dude. After receiving a good amount of gold, he'd be jazzed and he'd fling that door open.

 

I'll try to remember some others.

  • up
    50%
  • down
    50%
kevL's

re. Gawatha

here's what it looks like should happen: There's a speak-trigger that tries to cover both the north and west entrances. It starts a dialog between Gawatha and Kepob. But all this does is shuffle Kepob around, per Gawatha's barks.

Talking to Gawatha starts dialog 'd03_gawatha'. This is his main dialog.

  • There is no trigger on the west that tells Gawatha my party is there.

It looks to me that the only thing that party can do to get his attention is talk to him. Looks like it doesn't matter if party enters through north or west door. (it could have been done better but i won't tamper with it)

note: The west door is locked and requires a key (but there might also be a script that unlocks it) (btw, the door emits a bark OnFailToOpen), the north door is not locked.


- will insert 'ga_door_open' into the dialog, on the node that forces Gawatha's party to exit.


Now here's the funny thing. If party fights Gawatha's party, Kepob makes a break for it, also to the north. I'm not changing that... let Kepob cower against the door until PC opens it, i guess.

/untested.



i'll have a look at the Anya-difficulty when am feeling ambitious ;)

  • up
    50%
  • down
    50%
kevL's

Anya is very complicated (even as a game mechanic..). So far, I've been able to determine there's an IPoint placeable (in Janiik's farmhouse) whose heartbeat script puts her to sleep and wakes her up.

i'd need a save with the faulty behavior, to debug it.


Axe,
Do you (happen to) have a save where she won't go to sleep?

  • up
    50%
  • down
    50%
Axe_Edge
You Bet! When the fires around here die down I'll be able to finally get off shift and return to my own home and post it. Looks like it will be a few more days. Just a note. The party had not been to the Skein the first time they visited the farm and spoke with Anya and father, if that matters.
  • up
    50%
  • down
    50%
kevL's

ok. no rush on my end (stay safe)

  • The party had not been to the Skein the first time they visited the farm and spoke with Anya and father, if that matters.

am guessing it does not matter - apart from the Hag's Eye or whatever. If it does there'll be a variable (or possession of an item, etc) that ought stick out like a proverbial sore thumb at Anya's end of things.

  • up
    50%
  • down
    50%
Axe_Edge

Howdy,

I pm'd you the links to two files.  If you need saves at other points, let me know. 

 

Axe

  • up
    50%
  • down
    50%
kevL's

this is really darn odd. The stock script uses

    object oAnya = GetObjectByTag("b10_anya");

but she returns OBJECT_INVALID (nothing happens) (tested against both saves, before and after Skein). But when i use

    object oAnya = GetNearestObjectByTag("b10_anya");

she's valid. ( That is the *only* change. State is simply reloaded from the same save. )


both runs on an OnHeartbeat script on a placeable inside the farmhouse w/ Anya present ( script: b13_p_anya_sleep - module: B_X1).


question, Axe: Does Anya appear anywhere else, other than inside the farmhouse (and her dreamscape), that you know of? Is she, for example, ever in the farmyard




- and Does anyone remember a problem with GetWaypointByTag() ... i seem to recall that it would fail in some circumstances. I wonder if the behavior that i'm observing with GetObjectByTag() could be related. Simply changing it to GetNearestObjectByTag() and bingo, everything fires up as expected.

  • up
    50%
  • down
    50%
Axe_Edge

HI, I don't believe Anya shows up anywhere else (Where is I_Raps when you need him?).

As a red herring, is Anya supposed to sleep between 1800 and 0600?

In the save of the 1st encounter with Anya, she sleeps during daylight. In script b13_anya_sleep, I see this:

int CheckSleepHours()

{

int iHour = GetTimeHour();

if ( iHour != 6 && iHour != 18 )

return TRUE;

return FALSE;

}

Now, my coding is very, very rusty. Shouldn't there be something equivalent  to "<=6 or >=18" ?

 

  • up
    50%
  • down
    50%
kevL's

hey Axe, yeah the hours she keeps are really weird too. Anya sleeps (per stock code) if the hour is NOT 6 and NOT 18; hence, she can be caught awake only during the hour 6 and the hour 18.

if the code is working correctly, that is -- which at this moment i'm skeptical of

--
If you could do some tinkering, try running this console script on both the pre- and post-Skein saves:

// 'findanya'

void main()
{
    object oArea = GetFirstArea();
    while (GetIsObjectValid(oArea))
    {
        object o = GetFirstObjectInArea(oArea);
        while (GetIsObjectValid(o))
        {
            if (GetTag(o) == "b10_anya")
            {
                SendMessageToPC(GetFirstPC(FALSE), "Anya found in " + GetName(oArea) + " ( " + GetTag(oArea) + " )");
                SendMessageToPC(GetFirstPC(FALSE), ". object type= " + IntToString(GetObjectType(o)));
            }
            o = GetNextObjectInArea(oArea);
        }
        oArea = GetNextArea();
    }


    int found = FALSE;
    int i = 0;
    object oAnya = GetObjectByTag("b10_anya", i);
    while (GetIsObjectValid(oAnya))
    {
        found = TRUE;
        SendMessageToPC(GetFirstPC(FALSE), "Anya found #" + IntToString(i));

        oAnya = GetObjectByTag("b10_anya", ++i);
    }

    SendMessageToPC(GetFirstPC(FALSE), "result of GetObjectByTag= " + IntToString(found));
}



On my machine & installation, "result of GetObjectByTag= " is always 0. I wonder if yours gets anything different ... (i mean, she *must have* fallen asleep at some point in the pre-Skein save because she has the var "Asleep" set true.. she stands in front of the fireplace when "Asleep", and wanders around the room when it's false)

  • up
    50%
  • down
    50%
Axe_Edge

Interesting.  b10_client_enter suggests Anya may have been intended to spawn outside of the farmhouse at some point.  There is a condition for the Uthraki to have eaten Anya, as well as Janiik, and to spawn their bones with loot. 

 

PS:  I'll try tinkering

 

Tinkerered.  Results for both saves are: 

Anya found in Janiik's Farmouse(b13_janiiks_farmhouse)

.object type=1

result of GetObjectByTag=0

 

I'll try from an earlier save before the Wells were visited.

 

Edit 3:

From save at beginning of 1st visit to Wells, The hour is 8.  Gann was not in party (during playthrough, I immediately left and traded The Dove for Gann and returned). 

Continuing without Gann, running script returned "result of GetObjectByTag=0".

 

Spoke to Janiik and he let party into farmhouse.  Entered farmhouse.  Did not speak to Anya, yet.  Anya is asleep.  Ran script with return:

Anya found in Janiik's Farmhouse(b13_janiiks_farmhouse)

.object type=1

Anya found #0

result of GetObjectByTag=1

 

Edit 4.  Same as Edit 3, but rested until hour 18 before entering farmhouse.  Anya is awake.  Running the script returns the same result as Edit 3.

 

 

  • up
    50%
  • down
    50%
Axe_Edge

Anya does appear outside the farmhouse with Janiik after her dreamscape.  Janiik gives the PC a gift.  Anya "ignores" the party.

 

Disappointing:  With Anya and Janiik outside, before talking to either, I lured the Uthraki to outside the farmhouse.  The factions of Anya and Janiik didn't change and the Uthraki didn't eat them...  PC isn't evil enough to get the dialogue choices to feed the humans to the Uthraki.

  • up
    50%
  • down
    50%
kevL's
  • Anya does appear outside the farmhouse with Janiik after her dreamscape.

that's ok. (her global_int "B_nAnya_State" ought have advanced > 2, as checked by her sleep-script)

here's the script i'm currently testing: b13_p_anya_sleep

( try it in /Override TEMPORARILY, if ya want - it replaces GetObjectByTag -> GetNearestObjectByTag )


ps. not concerned about feeding Uthraki atm Lol

  • up
    50%
  • down
    50%
Axe_Edge

The new b13_p_anya_sleep script works great.  She initially is not asleep, then, realizes she should be asleep.  She walks to her wp and sleeps.  The PC is given the chance to enter the dream, but must have Gann's help (which is correct).  They enter the dreamscape fine.  All debug statements look correct along the way.  Good job!

 

As far as Gawatha, does the DLG file have to be present when the area is first loaded/visited to work?  Gawatha does not open the door after putting the new DLG file in the override before loading a save from just before the encounter. 

 

Also, I'm not worried about feeding Anya as meat.  ;)  I don't think there is anything wrong here, anyway.

  • up
    50%
  • down
    50%
kevL's
  • As far as Gawatha, does the DLG file have to be present when the area is first loaded/visited to work?  Gawatha does not open the door after putting the new DLG file in the override before loading a save from just before the encounter.

dang. Can you send me that save also?

  • up
    50%
  • down
    50%

Pages