Temple+ Modding Question

Discussion in 'General Modification' started by _doug_, Feb 21, 2018.

Remove all ads!
  1. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Yes, the whole thrust of my posts on the subject was to achieve this. I am absolutely sure that @Sitra Achara would never approve a feat which makes the Adjurant Champion PRC stronger
     
  2. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    This might be a question with an obvious answer, but atm I fail to see it.

    When I do add a spell to python action radial I then can do
    Code:
        currentSequence = tpactions.get_cur_seq()
        spellPacket = currentSequence.spell_packet
    
        newSpellId = tpactions.get_new_spell_id()
        tpactions.register_spell_cast(spellPacket, newSpellId)
        tpactions.trigger_spell_effect(newSpellId)
    and trigger the spell.

    Now I tried to the same with a spell that uses projectiles and I assume I need to use
    Code:
    m.def("trigger_spell_projectile", [](int spellId, objHndl projectile)
    which requires the spell_id and the projectile handle. But how do I get that handle?
     
  3. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Thank you for posting Battle Blessing to Temple+ @Doug.
     
  4. August

    August Established Member

    Joined:
    Jun 28, 2006
    Messages:
    119
    Likes Received:
    83
    I think Sagenlicht asked this a few pages back, but does anyone know how to call or modify the inspire courage bonus on a bard? I'm teaching myself feats and have a pretty basic feat set up and I'm trying to make Song of the Heart, because it can make a multiclass bard's music stay relevant. The bonus could also be used to affect potential bardic music feats such as dragonfire inspiration.
     
    Last edited: Oct 31, 2021
  5. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    @Sagenlicht has produced Inspirational Boost as one of the Spell Compendium spells which didn't get into the next update of Temple+. I have attached the tpModifier file below in case you find it useful.
     

    Attached Files:

    August likes this.
  6. August

    August Established Member

    Joined:
    Jun 28, 2006
    Messages:
    119
    Likes Received:
    83
    Ooh, thanks! This is the perfect thing to study.
     
  7. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Check out imbue arrow for an example.
     
  8. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Please, is the a defined function akin to stat_raceEnum (which is apparently undefined in Temple+) that I can use to check for and exclude members of the svirfneblin sub-race from a feat open to common gnomes and all (sub-) races of dwarf?

    This is the only element missing from an otherwise apparently fully functional Titan Fighting [Racial] feat from p145 of Races of Stone (attached below). No one kicks sand in the face of gnomes from now on.....

    Thank you.

    I have updated titan fighting.py eliminating inconsistent tabs and spaces warning on startup.
     

    Attached Files:

    Last edited: Nov 2, 2021
  9. August

    August Established Member

    Joined:
    Jun 28, 2006
    Messages:
    119
    Likes Received:
    83
    I feel like a dummy for not getting why Inspirational Boost works and how it actually hooks the bonus into Inspire Courage. I am starting to understand the modifier/condition system, but I don't feel like I actually understand where it's inferring to add to the bonus to Inspire Courage.
    I'm at the point where I've got the thing partially working, got the save DCs hooked up, but that seemed like the easy part (Captivating Melody was very useful to examine).
     
  10. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    I am sorry for my slow reply. Hey August, thanks for showing interest in this! Spells in the spell compendium that aren't merged yet, are not polished yet, as I have learned alot since I started to do them, and I decided to polish them once they get merged.

    Inspirational Boost is a bit complicated to explain, as the magic does not happen in the spell itself, either @_doug_ or @Sitra Achara did add a query in the actual cpp file for me.
    The bonus is handled by this:
    Code:
    def inspirationalBoostSpellBonus(attachee, args, evt_obj):
        evt_obj.return_val = 1
        return 0
    
    Code:
    inspirationalBoostSpell.AddHook(ET_OnD20PythonQuery, "Inspirational Boost", inspirationalBoostSpellBonus, ())
    
    and in the generalfixes.cpp file:
    Code:
    auto ibBonus = d20Sys.D20QueryPython(objHnd, "Inspirational Boost");
    bonVal += ibBonus;
    
    Redoing the bard songs in python seem to be a good idea to me, every time I try to interact with them.
     
    August likes this.
  11. August

    August Established Member

    Joined:
    Jun 28, 2006
    Messages:
    119
    Likes Received:
    83
    Yeah, that's what I suspected (especially seeing "Inspirational Boost" being passed a 1). After spending the night puzzling over it, I fully agree that we should just redo the bard songs in Python. it's pretty clear that the bard songs would be pretty easy to reproduce anyways and otherwise Inspirational Boost and Song of the Heart wouldn't stack.
     
    Last edited: Nov 2, 2021
  12. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Probably a good idea.
    One thing that needs to be done very carefully though: co8 has changed the number of args for one of the bard conditions. The modification needs to respect that (keeping it 3 for non-co8 and 4 for co8). Noting it here in case someone wants to go for it.
     
    August likes this.
  13. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Please find attached a fully functioning "Improved Toughness" feat from p 101 of Complete Warrior (curtesy of @Sagenlicht's Draconic Toughness Feat)

    I have attached a modified class011_fighter.py because Improved Toughness and Titan Fighting (see above) are fighter class bonus feats.

    I have attached a modified class025_dwarven_defender.py because I have allowed Improved Toughness as an alternative to Toughness in the pre-requisites for that prestige class.
     

    Attached Files:

    August likes this.
  14. hammyh

    hammyh Established Member

    Joined:
    Apr 24, 2013
    Messages:
    328
    Likes Received:
    64
    I thought to note that you probably need to define the titan dodge bonus as racial bonus minus 1, as the original dodge feat gets replaced, but will probably not be removed from the combat calculation.

    (according to srd)
     
  15. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    You are quite correct. The feat is set up to show Racial Bonus +3 and Dodge Feat +1 in the AC breakdown screen.
     
Our Host!