Adding new spells

Discussion in 'General Modification' started by seraglio, Oct 19, 2003.

Remove all ads!
  1. seraglio

    seraglio Member

    Joined:
    Oct 1, 2003
    Messages:
    45
    Likes Received:
    0
    Hello all. I was wondering if anyone had found the complete process for adding spells into the game. I feel I am close but must be missing something because I get a crash when casting my spell. Here is what I have done:

    Created a .py file called Spell569 - Cat Grace.py . 568 is the previously last listed spell. It has been placed in this directory C:\Program Files\Atari\Temple of Elemental Evil\data\scr

    Created a file 569 - Cat Grace.txt. It has been place in C:\Program Files\Atari\Temple of Elemental Evil\data\rules\spells

    Modified spell.mes to have the new spell listing {Cat Grace} and placed it in this directory C:\Program Files\Atari\Temple of Elemental Evil\data\mes

    Modified spell_enum.mes to have the entry {spell_cat_grace}. Placed the modified file in C:\Program Files\Atari\Temple of Elemental Evil\data\rules

    I did NOT modify spellList.mes. It contains no reference to the spell number (569). Not sure what this file does, since it lists many spells not in game, for help system maybe?

    I am calling the spell in game from a magic item. The weapon previously cast cat's grace just fine. I just changed the name listed.

    I am going to try to re-do it as an "internal" spell rather than a new caster one.

    Any clues as how to do this, whether it can be done at all, and what I might be doing wrong?
     
  2. seraglio

    seraglio Member

    Joined:
    Oct 1, 2003
    Messages:
    45
    Likes Received:
    0
    found a problem

    One thing I found is whenever I place spell_enum in the /rules directory the game crashes. Even a fresh file from extract always crashes. Has anyone else experienced this?
     
  3. Joviex

    Joviex Member

    Joined:
    Sep 25, 2003
    Messages:
    49
    Likes Received:
    0
    Is there any reason you are trying to use a spell that is already named cat's grace?

    This would cause errors in the script that fires the spell off I would image, since there would be two entries for both spells.
     
  4. seraglio

    seraglio Member

    Joined:
    Oct 1, 2003
    Messages:
    45
    Likes Received:
    0
    cat not cats

    I just took the S off since its a modification of the other.

    I actualy finally got this to work. Not sure but appears the problem was the editor wasnt saving the file correctly. I was suing phalzyr's protoeditor to do the changes. After getting original files and using Ultraedit it worked fine.
     
  5. Joviex

    Joviex Member

    Joined:
    Sep 25, 2003
    Messages:
    49
    Likes Received:
    0
    Ahhh, my mistake :)

    Glad it worked.

    If it is all ok, are the steps above the exact things you did to make it work?

    Currently Jade will edit the protos with the steps you took and it works 100% (along with hand editing the addition spell files) however, I am building a list of "how-to" add certain abilities to the data pool, spells being one example, and would like to ensure the proper way of adding them, as it will be a feature in future iterations of the Jadeditor.
     
  6. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    What version of my editor?
     
  7. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    Re: cat not cats

    I saved the spell_enum.mes and my toee loaded. Did you possible delete a { or } or enter something in column two without a //
    OR since you added a new spell did you edit column 0 to have proper number AND make sure column one had {} in it?
     
  8. seraglio

    seraglio Member

    Joined:
    Oct 1, 2003
    Messages:
    45
    Likes Received:
    0
    process

    I've gone back through the process and I'm not entirely sure what was wrong, there were no brackets or comments // missing before. I just cut and pasted, spaces brackets and all the cats grace spell and removed the s or 's. I chose that to hopefully reduce typing errors, which I make frequently. Not sure why it worked with ultraedit to be honest, by that point I was so frazzled and frustrated I may have missed something else. Its a great editor, never had a problem with editing protos with it, but I spent 3 hours trying trying to add or edit spell.mes and spell_enum.mes and without changing process it didn't work until I made a wild guess it wasn't saving properly (had tried everything else), re-unpacked toee3.dat (the third time, tried it once before while using protoeditor), replaced both spell files and EDITED (not added) an existing spell (Air Walk to Cat Grace to be exact, 2nd time I tried). Every other time it would show errors when I went into my save file for my casters. All there spells would say something like "ERROR, spell not found on line 222 mes/spell.mes."

    As I add more spells to the game I will try your protoeditor again. It is possible there was something else that got moved, pasted etc in the other 2 spell.mes. I'll post my results.


    One thing I can tell you for sure is you cannot add new lines to the spell.mes. If you do when you go back in the game everyones spells will be messed up. I had to edit an existing, unused spell as stated above. Adding new line 569 DIDN'T work. I eventually changed it to 002 Cat Grace in all files and this worked, overwriting the Air Walk spell which is unimplemented.

    On the positive side if you follow all those steps, I tested and the spell shows ups successfully on my sorcerers spell list when he levels up, as well as on the magic dagger I added it to. If you went further and added wands, and scrolls for it, I think you could completely add new spells into the game. Also I did ALL of this without restarting, it rereads the files when you restart. I'm sure most of you knew this but incase some reading dont =)

    Now that I got this to work I'll be working on a spell to insta-cast True Strike a few times per day OR modify fireshield spell (If I can get the charecter model to swing when hit) so I can make a sword to replace that obscenely powerful Fragarach. I'll use Phalzyr's protoeditor now that I got good files and know what I am doing and see if the problem re-occurs. I'll post later today. Thanks all.
     
  9. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    I just released 2.4.1 of my editor try it and let me know. I didn't know that about adding lines for spells. Are you saying it ignores the line number then? That'd be knida odd. I added a spell or two and didn't notice anything weird. My newer version allows you to copy row, then you can double click on fixed column to edit its value. I really want to iron out any bugs people find with my program. I probably won't be adding any new major features, just bug hunting. I have used it quite a bit recently myself(non-QA), just with protos though.
     
  10. Elithea

    Elithea Member

    Joined:
    Oct 1, 2003
    Messages:
    4
    Likes Received:
    0
    I'm having probs with adding new spells too. I've created 2 new
    spells, by cloning existing Magic Missile and Fireball and changing
    their damage. A simple starting mod, or so you'd think ...

    My new magic missile allows up to 8 targets but only 5 missiles
    appear and then you can't end the character's round. The
    missiles only do d4+1 not the new damage dice. There is
    also no sound effect for the spell.

    My new fireball does the modified damage, and ends correctly
    but it too has no sound effect.

    These are the steps I went through (all hand editted files).

    Found last used spell number in data\mes\spell.mes, picked next
    number, for my magic missile, 733.

    Add entry 733 and entry 5733 (for spell description), just following
    trend of other entries. By added, I mean copy original entry, paste
    and then modify.

    In data\rules\SpellList.mes, I cloned the magic missile entry,
    changed the spell number from 288 to 733 so all the lines for my
    new magic missile read 733XXX. Changed the level of the spell
    to be level 2.

    Did the same in data\rules\spell_enum.mes for my new magic
    missile entry, just following the file convention.

    Cloned the text file and renamed it to:
    data\rules\spells\733 - Greater Magic Missile.txt

    Changed the spell to be a level 2 spell for Sor and Wiz.

    Cloned the python script and renamed it to:
    data\scr\Spell733 - Greater Magic Missile.py

    Changed the new python script to have new damage dice, no
    other mods.

    To gain spell in game, level up arcance spell casters - new spell
    becomes available. But when I use the new magic missile, well
    I get the above results.

    My results for my new fireball are better ... but I followed the
    same technique for it ... hmmm.

    I seem to be missing something to get the new spells to behave
    correctly but I'm stumped ... any ideas?

    Thanx in advance.
     
  11. seraglio

    seraglio Member

    Joined:
    Oct 1, 2003
    Messages:
    45
    Likes Received:
    0
    The only thing I can comment on is that magic missles are projectiles defined in protos.tab. Maybe check there for damage, otherwise it is hard coded, as a number of spells are (e.g. cloudkill).

    You had more success than I if you were able to add new lines. Any attempt to add new lines for me screwed up all my casters. DId you start a new game?
     
  12. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    the damage method magic missiles use is hard coded not usre if they get it from protos.tab or not. I just used anotehr damage method myself. I didn't have problems with sound but I might of copied the sound files(data/sounds/spells) with new names according to my spell not sure. when I get home I'll check my super fireball and see.
     
  13. juhaz

    juhaz Member

    Joined:
    Oct 24, 2003
    Messages:
    1
    Likes Received:
    0
    Just experimented a bit with creating spells

    I tried to recreate Mordenkainen's Private Sanctum as 2nd level wiz/sor spell that was supposed to allow safe resting anywhere in game but was left out, not 5th level anti-scrying one, though it could be renamed and/or leveled if there is something that fits the description better.

    Works fine, but it requires modifying random_encounter.py and using a global flag (and as far as I know, nobody has found out for sure which of those are already in use by game?) I used a python script to check first 1000 values of those flags and write them to a debug file, last one to have 1 was 364 in my game so I hijacked 500 for "safe rest allowed" flag and changed the if clause in random encounters to check for it.
     
  14. cneal

    cneal Member

    Joined:
    Oct 26, 2003
    Messages:
    7
    Likes Received:
    0
    With some success, I was able to modifiy the magic missiles. I basically just added cneal and removed magic but I do plan on creating more spells and modifying some to make the game more dynamic :) Anyway, Thanks for helping me here! I'm giving you guys all the credit et I've also posted my modifications on my website at http://home.san.rr.com/cneal92/lawfulNeutral_main.html

    Again, thanks! :)

    <a href="http://home.san.rr.com/cneal92/lawfulneutral.html"><img src="http://home.san.rr.com/cneal92/images/lawfulneutral.png"></a>
     
Our Host!