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.
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
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?
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.
Are you referring to this file https://github.com/Psionics-ToEE/PsionicFiles/blob/master/soulknife.py ?
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.
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?
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)?
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.
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.
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?