Sagenlicht Beta: Draconic Feats and more

Discussion in 'General Modification' started by Sagenlicht, Nov 2, 2021.

Remove all ads!
  1. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    What number should I use for my next prc so I don't get in your way? You are really cranking them out!!!
     
  2. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    Take the number you want and simply post it Doug :)
     
  3. August

    August Established Member

    Joined:
    Jun 28, 2006
    Messages:
    123
    Likes Received:
    90
    Aw hell yeah, you added in Fey Heritage feats!
     
  4. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    I stake my claim to 84!
     
  5. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    Awesome work Sagenlicht! :D
     
  6. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    @Sagenlicht Dragon Disciple breath weapon should be fixed now. Pushed it to the branch.

    I've added anim_goal_throw_spell_w_cast_anim method to object, since the animation goal internally does everything for you: rotate toward the target (or location), trigger the spell effect python event, and call the action frame event (and a bunch of other stuff).
     
    August likes this.
  7. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    Thanks a lot Sitra :) Actually I can't wait to use th new anin_goal for a lot of things like the new Heritage Feats :)

    At the moment, my biggest question regarding to my latest work is, how I could improve my targeting while doing Python Actions.
     
  8. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    Can you be more specific?
     
  9. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    Thank you Ted :)

    Sorry for being unspecific and my late reply, I tried to get kamehamehas to work :)

    Speaking of kamehamehas, yesterday I tried to get Ki Blast to work as an projectile, so I can get that particle effect. But yeah, not working yet :(

    I am aware of the arcane archer python actions, but they all make use of tpdp.create_projectile_and_throw, which itself is a reference to 0x100B4D00. And that temple ref requires a held weapon, which defeats the purpose of Ki Blast, or any spell for that matter (got a few other spell actions with the same problem). Which means I fail to create a projectile_handle, which is needed to feed the spell_packet.set_projectile. I am stuck there, maybe I am missing something.

    About my other Python Action problem.
    How do I targeting properly when I need to target more than one target. My answer to this atm is always use a spell, but is this correct? If yes, would it be fine to create dummy spells, that are basically empty and are only used for targeting, e.g. create a spell_dummy_cone _30_feet and use these spells for python actions that targets that way and then use the python frame to handle the effect? Alot of effects would not require a full spell handling, but do target more than one guy. Or the saving throw is non standard, e.g. uses constitution instead of charisma, so I would overwrite the dc anyways, etc. Let's be clear, I am not talking about spells, but feats or feature, I just need to target them properly and then handle them them in the correct way. If this means a single spell for every effect so be it.

    Totally unrelated fact:
    I have written Ki Bolt instead of the correct Ki Blast maybe twenty times by now (and tried to correct all wrong namings!). I will be soooo relieved when it this feat is done oh boy :)
     
  10. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    Create projectile and throw should work for spells too, it's used internally in the spell action frame handler. It might require a particular proto I suppose. Check out:
    https://github.com/GrognardsFromHel...167d4d77bc5bd3ed6950/TemplePlus/d20.cpp#L2007

    I've also recently added projectile_append method to D20Action, to be used similarly to the above.

    Complex targeting should indeed use dummy spells, because the targeting UI system is tightly integrated with it.

    Edit: Just checked it out, CreateAndThrowProjectile makes no reference to any weapon, where'd you get that idea? You can manually specify the projectile proto (the spells use 3000).
     
    Last edited: Nov 23, 2021
  11. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    Thanks Sitra, have it working now, though maybe the code could be improved.



    Code:
        if target != OBJ_HANDLE_NULL:
            projectileProto = 3000 #ID 3000: bp_projectile_standard
            projectileHandle = evt_obj.d20a.create_projectile_and_throw(projectileProto, target)
            projectileHandle.obj_set_float(obj_f_offset_z, 60.0)
            projectileHandle.obj_set_int(obj_f_projectile_part_sys_id, game.particles('ft-Ki Blast-proj', projectileHandle))
            currentSequence.spell_packet.spell_id = evt_obj.d20a.spell_id
            currentSequence.spell_packet.set_projectile(0, projectileHandle)
            ammoItem = OBJ_HANDLE_NULL
            if evt_obj.d20a.projectile_append(projectileHandle, ammoItem):
                attachee.apply_projectile_particles(projectileHandle, evt_obj.d20a.flags)
                evt_obj.d20a.flags |= D20CAF_NEED_PROJECTILE_HIT
    Is there a better way than I did to get the partciles tied to the project? I simply took the approach from a projectile spell.
     
  12. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    Hmm, aren't spells normally applying the partsys in the spell script?
    Also you didn't copy the CanBeAffectedActionFrame query, which makes me wonder if that part should be generalized and standardized because I don't want it to depend on people remembering to include it or not.

    Looks very cool btw :D
     
  13. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    The OnBeginProjectile isn't triggered by tpactions.trigger_spell_projectile, or at least while I tested this, I couldn't get it triggered, so I copied the OnBeginProjectile line to the Action Frame to link it.

    Hmm if I did mess it up, it is probably not a bad idea to generalize it. I am actually not even sure, I am aware of that query :( There is a good chance, that it is missing in other Python Action Frames I did as well.

    Will check and correct it.
     
  14. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    My bad, I thought you were aware of the prestige classes I spoiled in this threat, I did have the Dragon Shaman set on 84. Gonna move the Dragon Shaman to 86 then.
    So at the moment I am working on the Dragon Shaman (86) and the Dragonheart Mage (85) and would start working on the Fist of the Forest PrC (will be 87 then), I think that PrC would be a nice addition for unarmed figthing styles. And yeah, I will add the must rest outside condition ;)
     
  15. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    982
    Likes Received:
    120
    @Sagenlicht
    Still looking forward to the material I PMed you being implemented!
     
Our Host!