Raise Dead Scroll not working?

Discussion in 'The Temple of Elemental Evil' started by maalri, Feb 18, 2006.

Remove all ads!
  1. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    766
    Likes Received:
    82
    Oh goody a rules debate!

    What about p268 of the PHB 3.5 - the Raise Dead spell

    "A creature who has been turned into an undead creature or killed by a death effect can't be raised by this spell. Constructs, elementals, outsiders, and undead creatures can't be raised. The spell cannot bring back a creature that has died of old age."

    A native outsider is still an outsider.
     
  2. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    356
    Likes Received:
    85
    The Native subtype has a special exception to the Raise Dead rule that overrides the rule for outsiders.

    I'm honestly shocked that the rule is even programmed in. Is it just there for one NPC companion (who might be exceptional as well)? I can't think of when else it would matter.

    Also, I looked, and it doesn't appear to be in the spell script, so it must be hard coded in the Raise Dead condition that actually does some of the work.
     
    ithildur likes this.
  3. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    255
    It is hard coded.
     
  4. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    766
    Likes Received:
    82
    Its easier turning them into Lesser Aasimar and Lesser Tieflings (as I have done)
     
  5. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    255
    I guess the spell script could be changed to alter the race of Aasimar and Teifling characters to human, activate the spell script, then change it back to it's original. That would allow this spell to work, but still keep Enlarge/Reduce person to fail - as that also doesn't apply to Outsiders.
     
    _doug_ likes this.
  6. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    986
    Likes Received:
    121
    I've been off my computer the past few days, but, yes, @ithildur is correct. They can't be affected by most Humanoid-only effects, such as enlarge person, but raise dead works.
     
  7. DarkmoonKing

    DarkmoonKing Member

    Joined:
    Jul 31, 2024
    Messages:
    12
    Likes Received:
    0
    Aasimar and Tieflings are under the Human race so I don't see why they wouldn't be seen first as Humans, and therefore capable of being raised
     
  8. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    318
    Likes Received:
    143
    Took a look and fixing the code correctly looks pretty difficult. This is a really clever workaround. I am going to give it a shot for the next Temple+ version.
     
    Allyx and Endarire like this.
  9. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    356
    Likes Received:
    85
    I could take a crack at fixing the underlying problem if you want. I looked and it seemed like it'd be possible.

    Also, it looked like there is a special case for Darley, because she's a human in her proto. So they specifically test for her proto ids to make sure you can't raise her.
     
  10. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    356
    Likes Received:
    85
    I've been working on this, but I ran into some questions that might only be answerable by someone who knows more Co8 history than I do.

    So, in the Raise Dead script, at some point it seems like Co8 added logic to reset the target's experience value (I don't think the original script has it). But, the original DLL actually resets the target's XP to something as well. So the first question is: does anyone remember why you folks did that? I assume the value the DLL sets is wrong or something; it looks a little fishy.

    Second, when the script is doing that, it stores the target XP value in `global_vars[752]`. Can anyone remember why that was done? It seems like a dubious thing to do. That isn't the only place that global variable is used; it seems like it's some kind of counter that influences when something respawns in the moathouse. So if you raise someone it would clobber that counter. Maybe the counter doesn't matter at the point when you'd have enough money to raise someone, though, and the global has some other effect. So I'm unsure if it was intentional or just someone not being familiar with local variables at the time or something.

    Let me know if anyone remembers anything. I tried searching but didn't see anything promising.
     
  11. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,744
    Likes Received:
    375
    I remember Raise Dead having issues for a long time.

    Storing in global_vars[752] seems reasonable enough - you have to store the number somewhere, and you only cast one Raise Dead spell at a time - but the use of 752 is clearly a mix-up. My fault I guess, since I did the Moathouse ambush - if anyone finds it has no skeletal gnolls, you know why.

    Liv probably did the original Raise Dead fix, as she liked to use vars that way, and tended not to document the ones she was using as she was the only person doing it at the time.
     
  12. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    356
    Likes Received:
    85
    I see. My plan is to fix the core resurrection function so that it actually does the right thing.

    The other thing I see that is different from the original script is:

    Code:
    target_item.obj.object_script_execute( target_item.obj, 18 )
    Do you know what that does? Is it related to setting
    Code:
    global_vars[752]
    to the reduced XP value?
     
  13. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    Maybe related to the st cuthbert resurrection
     
  14. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,744
    Likes Received:
    375
    That line is mine - it manually fires the san_resurrect script which the spell doesn't automatically trigger. Nothing to do with XP or the global_var.

    Quite proud of that line actually - genuine bug-fix :cool: no more getting attacked by Filiken even though Meleny is standing right next to you.
     
    zertzax likes this.
  15. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    356
    Likes Received:
    85
    Ah hah. Cool. Thanks for the info.
     
Our Host!