Jump to content


Photo

NPC Bodies


6 replies to this topic

#1 gunman

gunman
  • Members
  • 11 posts

Posted 25 November 2016 - 07:42 AM

NPC Bodies (a Raise Dead/Resurrection mod)
~ for BG:EE ~
 
HshWf5y.gif
 
 
This mod is intended for those playing a minimal/no reloads game (therefor using Raise Dead services of temples instead of reloading when a NPC dies) and has three components that can be installed independently.
 
 
1) NPC bodies for BG:EE
 
When a NPC dies, it drops a body in the place he is killed together with its equipment. In order to be raised at a temple, the NPC's body must be carried in the party inventory and upon casting the spell, the body will disappear from inventory and the NPC will be brought back to life.
 
Do not attempt to raise dead a NPC without his body, this will result in his permanent death ! Also leaving an area without the body will cause the body to disappear after a time, resulting in the impossibility to bring the character back to life.
 
Each of the 28 joinable NPC's has his unique body with a weight based on race, gender and strength.
 
MufslFl.jpg
 
 
2) Raise Dead permanent Constitution loss
 
This cause the characters brought back to life with Raise Dead or Resurrection to lose 1 point of CON as in PnP
 
 
3) Fixed price for Raise Dead spell
 
It makes little sense for the dynamic progression with level of the Raise Dead cost in temples. At lowest levels Raise Dead cost less than Slow Poison, or Cure Critical Wounds or Heal, while at the higher levels it becomes absurd, when the player usually has the means to cast the spell himself or by someone in the party and doesn't need this service anyway. So the price of Raise Dead has been set at the fixed price of 500gp 

Attached Files



#2 Bill Bisco

Bill Bisco
  • Members
  • 157 posts
  • Gender:Male

Posted 02 December 2016 - 09:09 AM

I love the idea of this mod.

Does resurrection work if you kick theme out of your party?

#3 agb1

agb1
  • Modders
  • 410 posts
  • Gender:Male

Posted 02 December 2016 - 03:06 PM

Is it possible to have the NPC's worn equipment remain on the "body" so upon resurrection they are fully equipped as before death instead of naked and needing to be manually re-equipped?

 

As a bonus, perhaps have an ability to "strip the corpse" if you want to get access to the items, but it would be so very convenient to avoid the re-dressing cycle.

 

Edit:  Perhaps the "body" could be a container, or even a "store" ... that sells items for free but does not buy anything?  The tricky part would be then remembering which items were in which equipment slots, but assuming this could be recorded in Globals you could allow a fully dynamic access to the dead NPC's inventory while automatically restoring to their proper places all items and equipment that remained with the body at the time of resurrection.

 

Edit2:  As a further bonus, provide an interjection hook in the resurrection dialogue sequence where modders can add a reaction by NPCs who discover their weapon or armor has been "re-possessed" while they were deceased.


Edited by agb1, 02 December 2016 - 03:10 PM.

BiG World Fixpack (community collection of mod fixes and compatibility patches, with user-friendly cross-platform script)

 

BiG World Setup (tool to automate best-practice installation of Infinity Engine mods on Windows, with conflict analysis)

Latest version:    https://bitbucket.or.../get/master.zip


#4 gunman

gunman
  • Members
  • 11 posts

Posted 03 December 2016 - 10:56 AM

I love the idea of this mod.

Does resurrection work if you kick theme out of your party?

 

No, if you remove anyone dead from the party they are forever gone as before, since there is no longer a target for the raise dead spell (their portrait).



#5 gunman

gunman
  • Members
  • 11 posts

Posted 03 December 2016 - 11:03 AM

Is it possible to have the NPC's worn equipment remain on the "body" so upon resurrection they are fully equipped as before death instead of naked and needing to be manually re-equipped?

 

As a bonus, perhaps have an ability to "strip the corpse" if you want to get access to the items, but it would be so very convenient to avoid the re-dressing cycle.

 

Edit:  Perhaps the "body" could be a container, or even a "store" ... that sells items for free but does not buy anything?  The tricky part would be then remembering which items were in which equipment slots, but assuming this could be recorded in Globals you could allow a fully dynamic access to the dead NPC's inventory while automatically restoring to their proper places all items and equipment that remained with the body at the time of resurrection.

 

Edit2:  As a further bonus, provide an interjection hook in the resurrection dialogue sequence where modders can add a reaction by NPCs who discover their weapon or armor has been "re-possessed" while they were deceased.

 

I don't think something like this is possible. Even if you could treat a dead body as a container with all his previously equipped items, for fully armored fighters it is most likely that their body together with their complete equipment is too heavy to be carried by another character alone, so it must be distributed among other party members. Having to move items from another container instead directly from the ground could be even more annoying.



#6 Vlan

Vlan
  • Members
  • 34 posts

Posted 26 February 2017 - 02:03 AM

Will there also be a version for BG2?



#7 Jarno Mikkola

Jarno Mikkola

    The Imp

  • Modders
  • 6205 posts
  • Gender:Male
  • Location:The town where the dead haven't keeled over, yet. In Finland.

Posted 26 February 2017 - 03:09 AM

Will there also be a version for BG2?

Don't know. Principally this should be doable, but I can't say I am totally sure about this.

Besides that, the mod overwrites the spells, so it doesn't patch them. This will restrict compatibility.
And the second component assumes that the first one is installed even if it is not, nor are there the files that the first component defines, which will cause a small scale disasters if the first component is not installed.

The first component could be fixed by, changing this:
COPY ~npc-bodies/spl/SPPR504.SPL~ ~override/SPPR504.SPL~
COPY ~npc-bodies/spl/SPPR712.SPL~ ~override/SPPR712.SPL~
COPY ~npc-bodies/spl/SPJA01.SPL~ ~override/SPJA01.SPL~
To be:
COPY_EXISTING ~SPPR504.SPL~ ~override~ 
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 309 target = 2 power = 1 parameter1 = 1 timing = 0 resist_dispel = 2 probability1 = 100 STR_VAR resource = "NPCRAISE" END
BUT_ONLY

COPY_EXISTING ~SPPR712.SPL~ ~override~
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 309 target = 2 power = 1 parameter1 = 1 timing = 0 resist_dispel = 2 probability1 = 100 STR_VAR resource = "NPCRAISE" END
BUT_ONLY

COPY_EXISTING ~SPJA01.SPL~ ~override~
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 309 target = 2 power = 1 parameter1 = 1 timing = 0 resist_dispel = 2 probability1 = 100 STR_VAR resource = "NPCRAISE" END 
BUT_ONLY
The second component, well, let's try with this:
COPY_EXISTING ~SPPR504.SPL~ ~override~ 
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 10 target = 2 power = 0 parameter1 = 4294967295 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 100 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 dicesize = 4294967295 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 1 parameter2 = 1 timing = 4 duration = 1 resist_dispel = 2 probability1 = 100 END
BUT_ONLY

COPY_EXISTING ~SPPR712.SPL~ ~override~
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 10 target = 2 power = 0 parameter1 = 4294967295 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 100 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 dicesize = 4294967295 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 1 parameter2 = 1 timing = 4 duration = 1 resist_dispel = 2 probability1 = 100 END
BUT_ONLY

COPY_EXISTING ~SPJA01.SPL~ ~override~
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 10 target = 2 power = 0 parameter1 = 4294967295 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 100 parameter2 = 2 timing = 1 resist_dispel = 2 probability1 = 100 dicesize = 4294967295 END
LPF ~ADD_SPELL_EFFECT~ INT_VAR opcode = 17 target = 2 power = 7 parameter1 = 1 parameter2 = 1 timing = 4 duration = 1 resist_dispel = 2 probability1 = 100 END
BUT_ONLY
Also, this is should be effectively exact replica... I might advice to set the resist_dispel to be zero instead of two, not that it should matter much. And in case anyone's wondering, what the 4294967295, it's 256^4-1.

Edited by Jarno Mikkola, 26 February 2017 - 04:08 AM.

Welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand.
Here's how to install all the ... mods you ever really could want to Infinity Engine games. I removed the stable word from there as Roxanne began to add BS mods that are likely to break compatibility from the BWS.



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users