Temple+ New Feats

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

Remove all ads!
  1. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    The Feat prereq checker uses the Stat Base function, which will invoke the Base Max Psi query.
     
  2. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    Alright, now I've got Wild Talent, Mind Blade, and Psychic Strike modifiers for their feats on git. I'm missing chunks of all of them that I don't know how to code in the modifiers.
     
  3. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    I've made a few corrections.

    Psy Strike is a Soulknife-only property, no? If that's the case I recommend putting them in the same file, since it directly references the soulknife level anyway.

    I've also added some documentation for various event objects and data types. Check it out:
    https://github.com/GrognardsFromHell/TemplePlus/wiki/Python-builtin-tpdp-module

    BTW, I recommend getting the files in place and testing them out live. You'll probably pick up lots of errors in the console. For debugging purposes I sprinkle them with print commands, e.g.
    Code:
    print "Applying Psy Strike damage"
    print "Is embued: ok"
    print "Adding damage dice: " + str(bonval)
    etc.
    You can disable them later after everything works ;)

    You can manually add feats via the new python command
    Code:
    obj.feat_add("<feat name goes here>")
    Also don't forget to put the modifier files inside scr\tpModifiers
     
    Last edited: Sep 30, 2016
  4. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    I was originally going to put everything into the Soulknife class file, but I figured that would make it a very big file and more confusing, so in the interests of making it more modular, I separated the code that would have gone in soulknife to respective feat files. It's basically copypasted out of what would have gone in the Soulknife file.

    I don't have any connections to the UI yet, so I don't think I can create a character as soulknife, only add Soulknife feats to other characters, right?
     
  5. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    You can do it manually for now via console - use
    Code:
    obj.make_class(stat_level_soulknife, n)
    Where n is the desired Soulknife level. It will convert a given character (obj) to soulknife.
    You should also make a Soulknife modifier similar to how the other classes have their modifiers.
     
  6. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
  7. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
  8. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    I've slacked on the file organization and forgot to update.:eek:
     
  9. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    On that note, Temple+ only scans the tpModifiers folder for new py files to automatically register, that's why the files should be there. You don't have to pack the file to dat and put the in the apps\Templeplus folder btw, they can be in your <ToEE folder>\data\scr\tpModifiers as of v1.0.23.
     
  10. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    So I should be able to just copy the (properly organized) repository to the install folder merging data and will be able to just test from there?
     
  11. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    Yeah. Brace yourself for debug ;)
     
  12. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    I'm looking into some of the python dispatcher code in T+, specifically the attackpacket.

    When you do the get_weapon_used portion of it, what exactly does it return? Would this be the best method of checking for the use of a mind blade when applying modifiers to mind blade weapon(s)?
     
  13. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,627
    Likes Received:
    538
    It returns an object handle (or PyObjHandle in the python layer) for the weapon used in the specific attack. It also has an allowance for touch attacks and thrown grenade attacks, in which case it returns OBJ_HANDLE_NULL.
    Since the mind blade is only one particular proto, you could check for it instead of weapon type until the weapon type table is expanded.
     
  14. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    I will likely have at least 3 protos for the mind blade. One for the short sword, one for the longsword, and one for the bastard sword. Perhaps 4, to allow all versions past the initial one to have throwing attacks, if I can't add the ability for throw attack to a weapon otherwise.

    But yes, since it's just one of those protos, that could be the best route to go. Although I'll still likely need the new weapon type later to prevent players from getting weapon focus short sword or otherwise to get extra boosts.
     
  15. WinstonShnozwick

    WinstonShnozwick Established Member

    Joined:
    Mar 2, 2011
    Messages:
    628
    Likes Received:
    23
    Besides expanded support for stuff like new weapon types and new graphics on/in the character portrait, there's one thing in particular that is significantly needed for a lot of the stuff I'm doing. How do I check the status of a character's given turn status if they are in combat, to see for example if they can still make a full round action, or a move action, and then also how do I deduct a move action or full round action from their turn?
     
Our Host!