Adding to the Spellbook Pt II

Discussion in 'General Modification' started by Kuraylon, Jun 7, 2005.

Remove all ads!
  1. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    You'll find it in my mod which, if this spell works, will be ready today. Ted probably knows but I have a hostage so he can't say or I'll kill it :evil_laug
     
  2. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    Help

    what would I put to make a spell that targets everyone not just one person, as my spell does at the moment.

    also to save time, how you remove saving throws or make them crazy so it would take a miracle, or god, to make the save?
     
  3. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    I would LOVE a 'retributive blast' feature, the ONLY way to die in D&D! :D
     
  4. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    Ted you must know what I'm tring to do from the PM's but so far it only hits one person not everyone nearby which is what I'm after.

    target = spell.target_list[0]

    do I have to change that to something else and if so, to what?
     
  5. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    Ummm, sorry, haven't had a look at any of that sort of stuff... I have only been doing dlg and graphic (and sound) stuff so far, not really anything to do with combat. Sorry :(
     
  6. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    255
    You need to play an Aurax Draconian character then! If your familliar with dragonlance you'll know these creations are particularly painfull when you kill them!
     
  7. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    Well mostly success, guess what my problem is at the moment...
     
  8. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    One place to look would be the 'mass inflict wounds' spell...

    Its in the scr folder, look at Spell061 - Circle of Doom.py

    Hope this helps, will give u an idea about saves too.
     
  9. darmagon

    darmagon stumbler in the dark

    Joined:
    Mar 22, 2005
    Messages:
    295
    Likes Received:
    0
    AFAIK saving throw determination depends on the spell you are using. Sometimes in the scripts there are calls to specific saving throw functions to determine whether a saving throw is made or not. Some spells do it internally when you add the condition with args. In the first case, remove the saving throw statement from the script, in the second case at the top of the function OnSpellEffect (below the function name) do this
    Code:
    spell.dc = 200
    If that doesn't work go to data\rules\spells\ ###-spellname.txt and add the line:
    Code:
    Saving Throw: None
    after the Range line (where ###-spellname.txt is the file for the spell you are modifying). One way or another this should alleviate your problem. I have been playing with this stuff for a bit and I am pretty sure this is how it all works. If this is not the case, please let me know.

    While I am here let me give a status update on my spell mods. I have Miracle working so that it heals/raises all friendlies in a 30 foot radius. Haven't been able to figure out how to use the radial menus so, until I do this will be the default effect of that spell. Paladin Holy sword works and gives the caster non-transferable possession of Excalibur for caster level rounds. I am having a problem with limiting access to the holy sword spell, however. I can make sure that the spell caster is of a high enough level to cast the spell but I can't find anyway to make sure that the spell is memorized in a spell slot with the proper level. See my post in the Thread "Darmagon's New spells" for an explanation of why this is necessary. Once I find out how to do that then the 3rd/4th level Ranger/Paladin spells will be easy to implement. Just a matter of copy and paste to new spell names. So if anyone knows how I can get a handle on a spell's slot level within a script, please let me know:)

    I am working on a few other spells as well and should have a fairly substantial new offering by the end of the weekend.

    Darmagon
     
    Last edited: Jul 8, 2005
  10. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    well, I tryed spell.dc = 500 and also in the spell text have saving throw none and when I tested every one got saving throw successful, I also tryed making the result for a successful saving throw the same as an unsucessfull one but still no luck, well back to more testing, I think that I might have broken othe bits of the spell because the eyecandy stuff didn't happen either.
     
  11. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    Goodonya Darmagon, sorry I never gave you feedback about Ray of Clumsiness, I d/led it but haven't tried it yet. Been a bit tied up lately with a dozen things going on.
     
  12. Cujo

    Cujo Mad Hatter Veteran

    Joined:
    Apr 4, 2005
    Messages:
    3,636
    Likes Received:
    1
    Don't worry, I got it. yeah :biggergri :pelvicthr :clap: :giggle: :largeclap :icon_chuc :joy: :dance: :evil_laug :rock:
     
    Last edited: Jul 9, 2005
  13. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    255
    I also couldn't figure that one out, I wanted to try to make the delaying part of the delayed blast fireball - but couldn't work it out (the max = 20d6 fireball was easy though) I couldn't figure how to actually delay it either!
     
  14. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    Moebius had to code in the higher level spells into the radial menu, so that may be the only way to go.

    Hope I am wrong.
     
  15. darmagon

    darmagon stumbler in the dark

    Joined:
    Mar 22, 2005
    Messages:
    295
    Likes Received:
    0
    Have you tried using game.timevent_add?
    In OnSpellEffect insert only this :
    Code:
    delay_time = 3000
    game.timevent_add(blast, (), delay_time)
    (set delay_time to whatever the actual delay time should be in milliseconds.)

    At the end of the script define the blast function like this:
    Code:
    def blast():
    and do all of the actual spell stuff in this function. If you need to use any of the spells data fields (like spell.dc, spell.caster_level etc.) you can assign the values to global variables. To create a global variable just assign to it at the top of the script file after the import statements. for example to create a global variable named 'foo' the top of the file would look like this:
    Code:
    from toee import *
    from utilities import *
    
    foo = -1
    to be able to assign to 'foo' from within a function it has to be declared global in the function, like this (using the blast function):
    Code:
    def blast():
    
            global foo
    if you just need to use the value of the global variable and not actually change it you don't have to declare it global, you can just use it. So you would probably declare your variables global in OnSpellEffect and assign to them what you need to there, and then just use the variables in the blast function.

    There, that is my python/toee scripting tutorial for the day :) I hope it all makes sense.

    Darmagon
     
Our Host!