Doesn't work with PRC. Disappointing as the PRC is a major upgrade for the game.
EDIT: It does work with the PRC, but I had to manually add the feat(Player_Tool_9) for it using CCOH:EE and then do: DebugMode 1 dm_runscript lse_ev_crthrtbt
Very cool system. And really slick clean code. I've been spending the last few weeks trying lots of ancient corpses stay / loot mods since i can't stand how enemies corpses vanish in 5 seconds in the OC / SOU.. Plus the fact you have to stand there and wait to see if dropped loot. I tried several systems on the vault: Sentors, Jasspers, Scrotoks (KB) and Hypergore. Problem with the first 2 is they disable blood/ bodies exploading. Scrotoks ensures all corpses create a blood stain and even has some very cool advanced features to have them leave a little fire / scorch mark if they were killed mostly by fire/lightning damage. Hypergore does what it's names suggest, keeps blood (enhances it) and allows enemies to still explode if you hit them hard enough as in the original corpse system. That part works well , but its fairly primitive and buggy for the actual corpse/looting system. Main issue is it doesn't seem to work at all, or at least not reliably on enemies that have been flagged to use the newer HOTU enemies leave a corpse flag. And when it does work, the loot is not always correct. So what I came up with was combining Scrotoks and Hypergore. Was easy enough , essentially all these scripts work more simply than yours, they replace the default ondeath script: nw_c2_default7. To combine them I put these lines into Scrotoks: // Gib target if massive damage is caused if (GetCurrentHitPoints() < maxHP-(maxHP*175/100)) { effect e = SupernaturalEffect(EffectDeath(TRUE, FALSE)); DelayCommand(0.1,ApplyEffectToObject(DURATION_TYPE_INSTANT,e,OBJECT_SELF)); } else // Otherwise leave a corpse { // Use KB system LeaveCorpse(); } Works pretty well, enemies gib if you hit them hard enough and they otherwise leave a corpse that never goes away. It doesn't use the HOTU corpse system as yours does, it creates it's own invisible object under the body, moves over the loot, and makes it lootable. As another excellent features scrotoks has, the corpse is bashable/destroyable with magic missles/some other spells. It then turns into bones, moving the loot to the bones if any (configurable too if you want loot destroyed), but the mob itself is deleted .. This works well as a workaround for the various parts of the OC/SOU/HOTU that require monsters to be not just dead but deleted from existence. So i used my merged system thorough an entire playthru of OC and SOU, and all side quests so I can tell you the various parts keeping corpses will break them: OC Ch1: Nothing really as you noticed, just the arena. CALLIK in the Aqueducts i think needs to be deleted for the door to open.. But oddly even after I bashed his corpse, the door did not open. Even after a reload and bashing it right away. So might not of been the script, I just had to debug mode thru hte door to proceed. OC Ch2: Nothing of note. CH2 iirc didn't have much that needed to be deleted as most of the boss monsters have special on death scripts so they disappear anyways, so your script may be more prone to break these since it doesn't use the ondeath script. But even these aren't too common in ch2, i think its mostly you loot the bosses head to trigger, which should work fine. OC Ch3: Fort illkard: The quest to destroy the balista's requires the balista masters be dead before they can destroyed.. And by dead, it means not existing. I was confused a while searching for them all, but after bashing all there corpses, it worked. So not broken completely. I think your script would completely break this quest. OC ch4: War zone, the golem master wizards I bashed there corpses just in case since hteres no quest update or other notice they are dead otherwise. The monster you have to kill to get to the area with aribeth has a special on death script so was fine for me, but might need to looked at for yours. SOU ch1: Seemed fine. Better scripting in this mod so nothing really broke. I think there is a script for the kobold boss not existing, that effects the other kobolds but i dont think it will break the quest. SOU ch2 interlude: oasis CATACOMB OF AL-RASHID : This one was the worst.. The gargoyles have to not exist for the puzzle to trigger. I only had a basic text faq to look at, couldnt find pictures anywhere so I ended uptrying do the puzzle iwthout even the key elements spawned in.. Even loading a save before I entered and destroying all the corpses did not fix this one.. It really wants that default ondeath script and the corpses deleted, so probably have to exclude this room. It's just a small side quest anyways but does give a really good weapon. SOU ch3: First main quest you have to destory iron golems.. And yep, it only considers them destroyed if they dont exist anymore. Bashing the corpses worked (or magic missiling in this case as I played SOU as a wizard. I'm just starting my HOTU playthru with the wizard, and I modified your script to work in a way i sort of like.. Annoyed no corpses explode, but my wizard isn't as a bloodthirsty as my barbarian, and the default blood at least seems to still work, so ill give it a go. I'm glad you included the sources and made it easy to configure (at least for someone with strong toolset / utilities knowledge. .. As ya its not exactly user friendly since your scripts wont compile in the toolset (got errors on some of your includes), but yea the command line EE script compiler worked fine, just gave a few warnings and compiled. So yea suggestions: - Restore the broken bodies exploding. Should be doable somehow since the default system in hotu has both the "has lootable corpse" trigger, and still lets bodies explode. Basically you have play with the SetIsDestroyable code a bit , have it only set after you check if the corpse is exploded or not. - In-game, user triggerable workaround to situations where the system breaks the game.. I know you probably can't make the default bioware corpse system you use destroyable/bashable directly as thats probably hardcoded.. So you might have to copy either what scrotok did in generating your own corpse, which is good but not 100% ideal as the clickable part of the corpse is pretty trigger to find in some cases whereas the default works nicely.. Or perhaps just give the player a debug item that runs a script to hard delete all corpses in a certain radius. Because as ultimately, while we can figure out and add exceptions to fix all the bugs in the official campaigns, it would still breaks tons of user modules and obviously we can't test them all. - As others have asked for some configurability in what gets looted. For me, I just disabled the auto loot entire, as my 10 str wizard can't carry everything heh. But I tried leaving on the auto loot chests.. So far it seems too buggy to use though: - Inconsistent in what chests/objects get set as non-interactable (in the mod Pretty good character creator, you put items in an anvil than talk to an npc to enchant them.. I did 3 items, worked fine.. Upon looting the third, the anvil was marked non-interactable by your script.. - You can't fight it.. If it takes a ton of heavy stuff you cant carry from some object, putting them back in there does no good, as each and every time you interact again ,it will take everything. The only way to free up the burden is to (slowly) drop the items 1 by item. Annoying and obviously counter intuitive to the purpose of the system. Should be an easy fix: Add a local variable to the objects the script its run on, so they only run once. (obviously the code that's meant to make the thing non interactable has to be toggle-able a first, but like i said, it works very inconsistantly as is, at least in HOTU) Perhaps just only have that feature do its work if its got a fairly default loot name like "chest" "crate" "loot bag" "rubble".. So special objects players are meant to put stuff into dont break. I dont recall any in the OC that didn't have a special name.
Hi eleventeen, thank you very much for your massive feedback! Currently I am focusing on providing some configurable options and bugfixing tools with the next update. Those bugfixing tools will hopefully prevent or cirvumvent most problems, such as you have already stated. Many thanks for your deep insights on possible bugs regarding original modules! I will have a close look at your further suggestions and try to incorporate them into LSE one way or another.
It doesn't matter what I do (v 79.8193.9), the mod installs, but all dialog is <unrecognized token>. I installed it with NWN Installer tool and re-installed it manually just to make sure. Are people using it successfully on 8193.9? tia.
7 comments
Edit: Works with enhanced edition
EDIT: It does work with the PRC, but I had to manually add the feat(Player_Tool_9) for it using CCOH:EE and then do:
DebugMode 1
dm_runscript lse_ev_crthrtbt
I've been spending the last few weeks trying lots of ancient corpses stay / loot mods since i can't stand how enemies corpses vanish in 5 seconds in the OC / SOU.. Plus the fact you have to stand there and wait to see if dropped loot.
I tried several systems on the vault: Sentors, Jasspers, Scrotoks (KB) and Hypergore. Problem with the first 2 is they disable blood/ bodies exploading. Scrotoks ensures all corpses create a blood stain and even has some very cool advanced features to have them leave a little fire / scorch mark if they were killed mostly by fire/lightning damage.
Hypergore does what it's names suggest, keeps blood (enhances it) and allows enemies to still explode if you hit them hard enough as in the original corpse system. That part works well , but its fairly primitive and buggy for the actual corpse/looting system. Main issue is it doesn't seem to work at all, or at least not reliably on enemies that have been flagged to use the newer HOTU enemies leave a corpse flag. And when it does work, the loot is not always correct.
So what I came up with was combining Scrotoks and Hypergore. Was easy enough , essentially all these scripts work more simply than yours, they replace the default ondeath script: nw_c2_default7. To combine them I put these lines into Scrotoks:
// Gib target if massive damage is caused
if (GetCurrentHitPoints() < maxHP-(maxHP*175/100))
{
effect e = SupernaturalEffect(EffectDeath(TRUE, FALSE));
DelayCommand(0.1,ApplyEffectToObject(DURATION_TYPE_INSTANT,e,OBJECT_SELF));
}
else // Otherwise leave a corpse
{
// Use KB system
LeaveCorpse();
}
Works pretty well, enemies gib if you hit them hard enough and they otherwise leave a corpse that never goes away. It doesn't use the HOTU corpse system as yours does, it creates it's own invisible object under the body, moves over the loot, and makes it lootable.
As another excellent features scrotoks has, the corpse is bashable/destroyable with magic missles/some other spells. It then turns into bones, moving the loot to the bones if any (configurable too if you want loot destroyed), but the mob itself is deleted .. This works well as a workaround for the various parts of the OC/SOU/HOTU that require monsters to be not just dead but deleted from existence.
So i used my merged system thorough an entire playthru of OC and SOU, and all side quests so I can tell you the various parts keeping corpses will break them:
OC Ch1: Nothing really as you noticed, just the arena. CALLIK in the Aqueducts i think needs to be deleted for the door to open.. But oddly even after I bashed his corpse, the door did not open. Even after a reload and bashing it right away. So might not of been the script, I just had to debug mode thru hte door to proceed.
OC Ch2: Nothing of note. CH2 iirc didn't have much that needed to be deleted as most of the boss monsters have special on death scripts so they disappear anyways, so your script may be more prone to break these since it doesn't use the ondeath script. But even these aren't too common in ch2, i think its mostly you loot the bosses head to trigger, which should work fine.
OC Ch3: Fort illkard: The quest to destroy the balista's requires the balista masters be dead before they can destroyed.. And by dead, it means not existing. I was confused a while searching for them all, but after bashing all there corpses, it worked. So not broken completely. I think your script would completely break this quest.
OC ch4: War zone, the golem master wizards I bashed there corpses just in case since hteres no quest update or other notice they are dead otherwise. The monster you have to kill to get to the area with aribeth has a special on death script so was fine for me, but might need to looked at for yours.
SOU ch1: Seemed fine. Better scripting in this mod so nothing really broke. I think there is a script for the kobold boss not existing, that effects the other kobolds but i dont think it will break the quest.
SOU ch2 interlude: oasis CATACOMB OF AL-RASHID : This one was the worst.. The gargoyles have to not exist for the puzzle to trigger. I only had a basic text faq to look at, couldnt find pictures anywhere so I ended uptrying do the puzzle iwthout even the key elements spawned in.. Even loading a save before I entered and destroying all the corpses did not fix this one.. It really wants that default ondeath script and the corpses deleted, so probably have to exclude this room. It's just a small side quest anyways but does give a really good weapon.
SOU ch3: First main quest you have to destory iron golems.. And yep, it only considers them destroyed if they dont exist anymore. Bashing the corpses worked (or magic missiling in this case as I played SOU as a wizard.
I'm just starting my HOTU playthru with the wizard, and I modified your script to work in a way i sort of like.. Annoyed no corpses explode, but my wizard isn't as a bloodthirsty as my barbarian, and the default blood at least seems to still work, so ill give it a go.
I'm glad you included the sources and made it easy to configure (at least for someone with strong toolset / utilities knowledge. .. As ya its not exactly user friendly since your scripts wont compile in the toolset (got errors on some of your includes), but yea the command line EE script compiler worked fine, just gave a few warnings and compiled.
So yea suggestions:
- Restore the broken bodies exploding. Should be doable somehow since the default system in hotu has both the "has lootable corpse" trigger, and still lets bodies explode. Basically you have play with the SetIsDestroyable code a bit , have it only set after you check if the corpse is exploded or not.
- In-game, user triggerable workaround to situations where the system breaks the game.. I know you probably can't make the default bioware corpse system you use destroyable/bashable directly as thats probably hardcoded.. So you might have to copy either what scrotok did in generating your own corpse, which is good but not 100% ideal as the clickable part of the corpse is pretty trigger to find in some cases whereas the default works nicely.. Or perhaps just give the player a debug item that runs a script to hard delete all corpses in a certain radius.
Because as ultimately, while we can figure out and add exceptions to fix all the bugs in the official campaigns, it would still breaks tons of user modules and obviously we can't test them all.
- As others have asked for some configurability in what gets looted. For me, I just disabled the auto loot entire, as my 10 str wizard can't carry everything heh. But I tried leaving on the auto loot chests.. So far it seems too buggy to use though:
- Inconsistent in what chests/objects get set as non-interactable (in the mod Pretty good character creator, you put items in an anvil than talk to an npc to enchant them.. I did 3 items, worked fine.. Upon looting the third, the anvil was marked non-interactable by your script..
- You can't fight it.. If it takes a ton of heavy stuff you cant carry from some object, putting them back in there does no good, as each and every time you interact again ,it will take everything. The only way to free up the burden is to (slowly) drop the items 1 by item. Annoying and obviously counter intuitive to the purpose of the system. Should be an easy fix: Add a local variable to the objects the script its run on, so they only run once. (obviously the code that's meant to make the thing non interactable has to be toggle-able a first, but like i said, it works very inconsistantly as is, at least in HOTU)
Perhaps just only have that feature do its work if its got a fairly default loot name like "chest" "crate" "loot bag" "rubble".. So special objects players are meant to put stuff into dont break. I dont recall any in the OC that didn't have a special name.
Currently I am focusing on providing some configurable options and bugfixing tools with the next update.
Those bugfixing tools will hopefully prevent or cirvumvent most problems, such as you have already stated.
Many thanks for your deep insights on possible bugs regarding original modules!
I will have a close look at your further suggestions and try to incorporate them into LSE one way or another.
I put the it in the folder but nothing happened. I also tried putting them in the bin folder but that didn't seem to do anything either. Any ideas?
Eh nevermind I caved and got Vortex :D It worked with that. Looks like an amazing mod, game changer for me.