Temple+ modding question/problem

Discussion in 'General Modification' started by Onyx, Sep 18, 2016.

Remove all ads!
  1. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Wow, I wasn't expecting modded class so soon! Good on you.

    I can help you with it if you post the files. If the only thing that's wrong is the text display on the character UI, it's probably because it's missing entries in stat_ext.mes inside tpgamefiles.dat.

    Oh as for soulknife, I'm persuaded to make it a new weapon type separate from the others. I've already started on some infrastructure for generalizing weapon types, should come online in the next few weeks.

    Another thing, if you wish to submit your modded class for inclusion in Temple+, and have plans/requests for other classes, please register them here for the sake of cross compatibility:
    http://www.rpgcodex.net/forums/index.php?threads/prestige-classes-for-toee.110502/
     
    Last edited: Sep 22, 2016
  2. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    Nice. I'm also interested for when you get the radial menu stuff more exposed so I can use the checkboxes and stuff for abilities.

    I also noticed Cryokineticist on that list. If no one else is working on it, I'd like to implement that one in the far future, it looked like a very fun class.
     
  3. Onyx

    Onyx The Slayer

    Joined:
    Apr 13, 2009
    Messages:
    20
    Likes Received:
    3
    Unfortunately it isn't just the UI that's the problem as I've added the class already to stat_ext. The class itself is not levelling up correctly. It's basically stuck at level 1 no matter how many times I level up in it, despite the fact that I get additional spells (albeit at the same level) and hit points. Oddly though, I was wrong about the BAB. That is not being improved either. I'll post a couple of pictures to demonstrate my issue.

    BS2.jpg BS1.jpg

    So the character level, hit points and spells known rises, but there's no indication of the Bladesinger in the UI and the neither the caster level nor BAB go up.

    edit: Changed the first picture to make it more clear.
     
    Last edited: Sep 22, 2016
  4. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    1.0.22 will feature checkboxes and radial parents with custom strings. Check he latest commit with assassin.py, particularly the
    AssassinDeathAttackRadial.
    It also has a cool new feature - integrating actions with the spell system. You can now make use of ToEE's spell system to obtain targets as with any spells, and also run off the OnSpellEffect / OnBeginRound scripts for the spell (see scr\Spell3210 - Death Attack.py). I've been meaning to do this in order to complete the high level Bard stuff for a while now and finally got around to it ;)

    Feel free to take Cryokineticist, no one else has claimed it as far as I know.
     
  5. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Can you post the files? It's hard to guess what's wrong just by looking at the screenshots...

    The most convenient way is via Git or Gist:
    https://gist.github.com/
     
  6. Onyx

    Onyx The Slayer

    Joined:
    Apr 13, 2009
    Messages:
    20
    Likes Received:
    3
    Sure. I'm a bit uncertain how to use github, so I can either learn how to use it, or alternatively I could send you my modified tpgamefiles.dat or the folders in a zip file?
     
  7. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    I never used github before either. It's pretty easy. Just make an account, and then choose to create a new repository. From there, you can upload your files and/or create new files/folders in the repository.
     
  8. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Whichever method is most convenient for you is fine, though github is better for continued back and forth, and I suspect that will be the case ;)
     
  9. Onyx

    Onyx The Slayer

    Joined:
    Apr 13, 2009
    Messages:
    20
    Likes Received:
    3
    Okay I've created a new GitHub repository here. The files are loose, since I can't seem to upload the original folders for some reason. I think that's all the files I've edited anyway.
     
  10. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Alright I've looked it over and found a few bugs. These probably caused the whole Python script to go haywire which is why the levelup didn't work.

    Some thing to note:
    - There's no such thing as obj.get_weapon_type. You can consult python_object.cpp for a list of available commands.
    - Make sure python constants you use are actually found in constants.py. You used wt_rapier and it didn't exist. You can add new ones of course.
    - You used wrong syntax in a few checks:
    Code:
     if x != y or z:
    Instead you should do
    Code:
     if x != y and x != z:
    - You must use consistent indentation - don't alternate between tabs and spaces. Preferably get an IDE that automatically checks this for you such as PyCharm.
    - Always look at the console for python ingame errors.

    I've made Pull requests with the proposed fixed, hopefully I didn't forget anything.
    Also note that enum 33 is reserved for Warlock, so if you want future compatibility I can assign Bladesinger to enum 46.

    Lastly... I prefer to have modding discussion on the Codex Temple+ subforum which I manage. The Temple+ section of this forum closed about a year ago, and I prefer not to scatter the knowledge about. The class enum clash is one example of things that can go wrong.
     
    Last edited: Sep 23, 2016
    Onyx likes this.
  11. Onyx

    Onyx The Slayer

    Joined:
    Apr 13, 2009
    Messages:
    20
    Likes Received:
    3
    Thanks very much for taking your time to look at this Sitra and being patient with a newbie. As for the class_enum clash, I was planning to ask you about that when the class was finished. I wanted to talk about compatibility when I was sure I could complete the class properly. I'll look at joining the Codex as well. I seem to remember being a member there in about 2008, but I've long forgotten my account name or password. It was only by sheer luck that I remembered this account! Funnily enough, I was going to ask you about the Temple+ subforum on this website and why it wasn't being used. Makes sense if you've moved it all to the Codex. Thanks again.
     
  12. Onyx

    Onyx The Slayer

    Joined:
    Apr 13, 2009
    Messages:
    20
    Likes Received:
    3
    So I implemented those changes and the level-up bug remains. I've honestly no idea what the problem is. I'm going to try rewriting the class from scratch using the new 1.0.22 Temple + patch and test it more thoroughly. Hopefully I'll be able to pinpoint what the problem is.

    Edit: I figured it out! I suspect it has something to do with a clash with the D20stats.cpp file in the Temple+ code. I think what's happening is that since there's no entry for the bladesinger (case stat_level_bladesinger) in the D20stats file, the class isn't recognised and therefore doesn't level up correctly. When I changed the bladesinger's name to "warlock" in all of its files (while keeping the stat_enum 33 number), it functioned correctly.
     
    Last edited: Sep 25, 2016
  13. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Hmm that's a bit strange seems the D20Stats C-side system should only care about the enum value and not the string itself. Does the git repository reflect the current state of the files? If so I think there was a mixup since some of the changes seem to have gotten overridden by later edits or something like that.

    Either way I can allot you enum 46 (right after Abjurant Champion), and include it in the release when it's done :)
     
Our Host!