dolio's spell fixes and additions 0.1 for Co8 6.0.0 NC

Discussion in 'General Modification' started by dolio, Dec 30, 2010.

Remove all ads!
Thread Status:
Not open for further replies.
  1. dale5351

    dale5351 Established Member

    Joined:
    Sep 25, 2012
    Messages:
    127
    Likes Received:
    0
    Re: How to fix death save or die spells to give experience

    Thanks. I found that file and did the replacement as you suggested. Hope it works.
     
  2. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,038
    Likes Received:
    42
    Re: How to fix death save or die spells to give experience

    Are save or die death spells supposed to give experience?
     
  3. sirchet

    sirchet Force for Goodness Moderator Supporter

    Joined:
    Dec 6, 2003
    Messages:
    3,721
    Likes Received:
    49
    Re: How to fix death save or die spells to give experience

    I would think so, turning undead and destroying them gives xp.

    I'm going to have to ask our DM, he is a real font of DnD legalese.

    Or, he's just real convincing when he makes stuff up. ;)
     
  4. hellblazer

    hellblazer Established Member

    Joined:
    Feb 27, 2006
    Messages:
    227
    Likes Received:
    0
    Re: How to fix death save or die spells to give experience

    I've never heard anywhere that they don't nor would common sense inform otherwise. It would be like saying that if you didn't save vs. slay living and died the character who cast it would wouldn't get xp but if you made your save and died from the damage the character would. What is the difference of a caster killing you with an empowered fireball vs. casting a save or die spell?
     
  5. Goshi3156

    Goshi3156 Dire Badger

    Joined:
    Oct 19, 2011
    Messages:
    250
    Likes Received:
    2
    Re: How to fix death save or die spells to give experience

    Pretty sure they're supposed to, there's nothing written in the SRD or handbook that suggests that they don't give any XP.
     
  6. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,038
    Likes Received:
    42
    Re: How to fix death save or die spells to give experience

    Okay, if the consensus is yes, that's fine.

    @hellblazer, do you know exactly what effects this will have in the big picture? I've never gotten much into spell modding so I don't know myself, but I have some concerns about inserting a different code without knowing all the possible ramifications.
     
  7. hellblazer

    hellblazer Established Member

    Joined:
    Feb 27, 2006
    Messages:
    227
    Likes Received:
    0
    Last edited: Oct 27, 2012
  8. sirchet

    sirchet Force for Goodness Moderator Supporter

    Joined:
    Dec 6, 2003
    Messages:
    3,721
    Likes Received:
    49
    Re: How to fix death save or die spells to give experience

    I got with a few prominent DM's, (if there is actually such a thing :p) well, DM's I've known and participated in their campaigns over the years and they all said that regardless of HOW a foe is killed, the end result is xp, unless the foe and the pc are separated by too large of a level gap; ie ... lev 16 fighter kills a level 1 goblin = big fat goose egg, (zero).

    They would all grant xp for say, a wizard casting finger of death upon a bugbear, (again level gap in mind).

    So, there you have it ... uhmm what were we talking about again? :dizzy:
     
  9. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,038
    Likes Received:
    42
    Okay, rather than do anything about this right now, I've just merged it with dolio's thread and put it on the backburner. dolio's fixes will very likely be integrated at some point over the next year prior to 8.0, but it will be a comprehensive endeavor and I think hellblazer's additions fit it best with that rather than to go about this patchwork style.

    Exactly which spells would fall under this save or die business?
     
  10. Goshi3156

    Goshi3156 Dire Badger

    Joined:
    Oct 19, 2011
    Messages:
    250
    Likes Received:
    2
    Slay Living and Finger of Death are the ones that don't properly award XP, I think. There might be others, maybe Dismissal?
     
  11. hellblazer

    hellblazer Established Member

    Joined:
    Feb 27, 2006
    Messages:
    227
    Likes Received:
    0
    http://www.co8.org/forum/showthread.php?t=7254

    Dolio updated co8.py with code that gives temporary immunity to a creature and then assigned damage to the creature before removing from the board. I don't know if this is necessary after finding out that if you apply damage with the old co8.py before removing the unit it will still give you xp. I suppose Dolio's routine is called by some of his scripts (and I may call it too in my piecemeal fixes) and does just this for spells that don't have damage_dice or damage defined in the spellscript (like banishment?). I am updating the spells in piecemeal fashion (slay living, FOD, banishment (but I don't know if it is supposed to give xp), weird, circle of death, etc. If you want, I can send you the individual files after I have played with them in my private game.

    This is weird that gives xp (code addition in bold. Underlined and italicized are said code that was copied)

    from toee import *
    from utilities import *

    def OnBeginSpellCast( spell ):
    print "Weird OnBeginSpellCast"
    print "spell.target_list=", spell.target_list
    print "spell.caster=", spell.caster, " caster.level= ", spell.caster_level
    game.particles( "sp-illusion-conjure", spell.caster )

    def OnSpellEffect ( spell ):
    print "Weird OnSpellEffect"
    remove_list = []
    dice = dice_new( "3d6" )

    for target in spell.target_list:
    remove_list.append(target.obj)

    game.particles( 'sp-Phantasmal Killer', target.obj )

    # will save to negate, otherwise fort save to avoid death
    if target.obj.saving_throw_spell( spell.dc, D20_Save_Will, D20STD_F_NONE, spell.caster, spell.id ):
    # saving throw successful
    target.obj.float_mesfile_line( 'mes\\spell.mes', 30001 )

    game.particles( 'Fizzle', target.obj )

    elif target.obj.saving_throw_spell( spell.dc, D20_Save_Fortitude, D20STD_F_SPELL_DESCRIPTOR_FEAR, spell.caster, spell.id ):

    # fort save success, damage 3d6
    target.obj.float_mesfile_line( 'mes\\spell.mes', 30001 )

    # saving throw unsuccesful, damage target, full damage
    target.obj.spell_damage( spell.caster, D20DT_UNSPECIFIED, dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    else:

    # fort save failure, kill
    target.obj.float_mesfile_line( 'mes\\spell.mes', 30002 )

    # kill target
    target.obj.spell_damage( spell.caster, D20DT_UNSPECIFIED, dice, D20DAP_UNSPECIFIED, D20A_CAST_SPELL, spell.id )
    target.obj.critter_kill()

    spell.target_list.remove_list( remove_list )
    spell.spell_end(spell.id)

    def OnBeginRound( spell ):
    print "Weird OnBeginRound"

    def OnEndSpellCast( spell ):
    print "Weird OnEndSpellCast"

    This works too. Just add it right before the creature is killed (I got the idea from Holy word but reduced the damage from 52d52 to 1d1 so your ego stats(most damage done in single attack) in the logbook isn't ruined).

    target_item.obj.damage( game.leader , D20DT_POSITIVE_ENERGY, dice_new("1d1"))



    New Edit 2014: I cleaned up Dolio's changelog so it can be easier read.

    If anyone want to check out his files just rename the .tam file to .zip
     

    Attached Files:

    Last edited: Feb 21, 2014
  12. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,038
    Likes Received:
    42
    Mods integrated into Co8 8.1.0 and thread closed.
     
Thread Status:
Not open for further replies.
Our Host!