Temple+ Modding Question

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

Remove all ads!
  1. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    953
    Likes Received:
    112
  2. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    It's intended for Temple+ mods that are published via the overrides folder. Domain Spells Mod is irrelevant in that respect. Also, even if it were converted to an overrides folder mod, it would probably also override fixes from Temple+, and as such it would have to be updated.

    Edit: actually, I suppose I could add a load order option such that it doesn't override Temple+ files. Might be a good idea in general.

    Also, added the loaded mods in the bottom right corner of the mainmenu text:

    upload_2021-9-1_6-38-2.png
     
    anatoliy likes this.
  3. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Stupid question, I've been all through the Temple+ Config application attached to 3024 and cannot find the tick box for Group Skill Usage anywhere?
     
  4. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    That's because I haven't added it to the Configurator yet :) For now you can manually set it in the templeplus.ini file.

    Edit: updated now.
     
    Last edited: Sep 1, 2021
  5. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    I've added an engine query for addmeshes and a new condition "AddMesh", so you can now stick addmeshes on your toons via a modifier. Should come in handy :)

    wingz.jpg
     
    _doug_ and anatoliy like this.
  6. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    Dumb question. What's the maximum number of args a PythonModifier can have?
     
  7. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    If you have to ask, you're probably doing something naughty :)
     
  8. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    I would never do something naugthy :( But I guess the number is 8.

    Different Topic:
    While working on the Dragon Disciple I noticed that the Draconic Heritage Feats and the Dragon Shaman from PHBII are using mechanics similar to the DD. I always wanted to add the Dragon Shaman anyways, as it is such a flavorful class and it uses mechanics similar to the Marshal Class I've already worked on but I decided to work on the Feats firsts.

    The first Feat of the Draconic Heritage Feats (a requirement for all other feats of that line) adds a skill as a class skill (depending on colour). So I thought I am clever and add a hook in the feat:

    Code:
    def addClassSkill(attachee, args, evt_obj):
        skillEnum = skill_hide
        class_skills = (skill_hide)
        char_class_utils.IsClassSkill(class_skills, skillEnum)
        return 0
    
    draconicHeritageBlack.AddHook(ET_OnLevelupSystemEvent, EK_LVL_Skills_Activate, addClassSkill, ())
    But while testing I noticed that ET_OnLevelupSystemEvent only triggers during the spell selection step (I simply switched the EK_LVL key to EK_NONE). Is this by intend?

    On a side note, I do have a lot of those feats already working :)
     
  9. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    I'm definitely in favor of generalizing the DD dragon heritage stuff.
    I'm not sure what you tried to accomplish there, IsClassSkill is a query. Keep it on the todo list for now.
    The EK_LVL stuff isn't called by all levelup systems, just the ones I've done this for. Not "intentionally", it's just todo.
     
  10. anatoliy

    anatoliy Established Member

    Joined:
    Feb 18, 2017
    Messages:
    635
    Likes Received:
    200
    Is D20A_DOUBLE_MOVE essentially merged (on early toee development) with Withdraw?

    I see that d20defs has PerformWithdrawAction for D20A_DOUBLE_MOVE. I wonder why they called double move, not withdraw...
     
  11. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Is there a way of back-calculating BAB from Class (Attack) Bonus please? Character classes derive a BAB figure by martial type and class level which is converted into a Type 137 (Class bonus) using this formula:

    def Base_Attack_Bonus_OnToHitBonusBase(attachee, args, evt_obj):
    evt_obj.bonus_list.add(BAB, 0, 137)
    return 0

    I have used this formula with BAB being substituted by the number 3 ,together with:

    raceSpecObj.AddHook(ET_OnToHitBonusBase, EK_NONE, Base_Attack_Bonus_OnToHitBonusBase, ())

    from the halfling race, to give the bugbear the +3 Racial Class (Attack) Bonus to which it is entitled; such that a 3rd level Bugbear fighter now attacks twice per round.

    My problem is that eligibility to feats such as weapon focus is determined by total BAB [which is not being incremented] so a 1st level bugbear thief cannot take weapon focus as starting feat.

    Thank you.
     
    August likes this.
  12. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    I've had another go with the Battle Blessing Feat (see attached below). The feat functions save for the fact that I cannot add

    spellCastingClass = evt_obj.spell_packet.get_spell_casting_class() #from warmage.py adapted.
    if spellCastingClass != stat_level_paladin:
    return 0

    within def BattleBlessingMetamagicUpdate(attachee, args, evt_obj): of battle_blessing,py without Temple+ crashing on start-up?

    At present I have protected the feat from Sorcadins and Abjurant Champions by setting this feat to fail if the character can cast 1st level arcane spells.


    @Doug are you going to let us into the secret of where (i.e. in which file) the stipulation that DMM only affects divine spells resides please? I know it exists but I cannot find it anywhere within the files I have extracted from tpgamefiles.dat and was hoping it might work in Battle Blessing? Thank you
     

    Attached Files:

    Last edited: Oct 24, 2021
  13. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    Haven't had the chance to look into this yet, but check out the logfile for clues on why it's crashing. For python scripts it will usually even say what line causes it, or complain about some undefined constant, or mismatched spaces/tabs etc.
     
    Pygmy likes this.
  14. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    674
    Likes Received:
    71
    Thank you I have managed to remove wrong spaces and indents I couldn't even see so that Temple+ now starts with above code in place. Feat still doesn't work but progress anyway. Latest battle_blessing.py and logfile.txt attached. I seem to recall that stat_level_paladin threw up problems with the aasimar race last time I tried Battle Blessing so will try human paladin.
     

    Attached Files:

  15. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    From the log:

    2021-10-24 20:13:56.986] [core] [info] Python: File "scr/tpModifiers/battle_blessing.py", line 14, in BattleBlessingMetamagicUpdate
    [2021-10-24 20:13:56.986] [core] [info] Python: AttributeError
    [2021-10-24 20:13:56.986] [core] [info] Python: :
    [2021-10-24 20:13:56.986] [core] [info] Python: 'tpdp.EvtObjMetaMagic' object has no attribute 'spell_packet'
     
Our Host!