@_doug_ Thank you, I will modify Sniper's Shot as soon as the changes are live @Pygmy Speaking of Sniper's Shot, I added a quick fix in to Snipers Shot until I redo it completly so now Melfs should not be overpowered anymore @Sitra Achara thank you for your kind words and I fully understand your argument about the limitation of what is doable in python. Anyways, I edited the first post and updated overrides.zip. New spells: dirge of discord and allegro Fixes: bonefiddle and harmonic chorus now require concentration, fixed sniper's shot so melfs does not add sneak dice on DoT damage Next update will be Assassins level 3 spells
Ranged sneak attack is normally within 30'. If the code infrastructure is in place to allow it from any range, letting people use Far Shot with SA seems technically easy.
Congratulations, I am disappointed to report that as intended by RAW Harmonic Chorus does not increase caster level for crafting purposes so no crafting weapons of speed at 5th level [Lareth & Co wouldn't know what hit them]
Player's Handbook 2 contained a feat Crossbow Sniper Crossbow Sniper – Feat – D&D Tools (arkalseif.info) which extended sneak and skirmish range to 60' for a crossbow for which the character has proficiency and weapon focus. Perhaps this could be added please?
@_doug_ Should temporary bonuses to caster level like from harmonic chorus count toward meeting prereqs? Seemingly not since they're by definition temporary, though an Orange Ioun Stone seemingly should since it's a permanent bonus while held.
@Sagenlicht I saw you removed spells from the Assassin's spell list (that were added just so he has something to pick). Not sure, but this might cause issues for existing Assassins who picked those spells - have you tested that?
About Dolores Blow: The reason it's causing it to miss is that you're overwriting the flags. You should do: Code: flags = evt_obj.attack_packet.get_flags() flags |= D20CAF_CRITICAL evt_obj.attack_packet.set_flags(flags) You did this in another spell too (phantom something). However I think the best approach that would also avoid hairy issues (like rolling 1 in the confirmation roll etc) is to just add a query "Crit Hit Confirmation Guaranteed". Hacky workarounds always end up biting you in the ass, it's best to be explicit about it. (For example, the visual bug you mentioned - we'll probably fix this in a way such that these flag manipulations won't work anymore) Also as I mentioned in the other thread, the implementation using direct field manipulation is buggy - e.g. when you cast the spell and then save the game, the field gets reset somehow, and then when loading the save it causes the crit range to be 21-20 (i.e. can never score a critical hit).
Yeah I thought that they were added to compensate for missing spells, and I removed them because I added new assassins spells. But the argument about old saves games is more than valid and far outweights the idea ab0ut correcting the spell list. I will change that with the next upload and simply add the new spells. Ok
By that logic, if a character could sustain Harmonic Chorus for eight hours a day, wouldn' t if count after all?
I updated the overrides.zip in the first post. Latest Changes: added: Level 3 Find the Gap, Wraithstrike Level 4 Resonating Bolt, Resistance, Greater, Sirine's Grace, Dolorous Blow fixed: Critical Strike no longer stacks with keen edges or improved crit feat and now requires a melee attack. Harmonic Chorus is now dismissable re-added assassin compensation core spells There are traces of Fugue in the zip, but I still working on that spell
@Sagenlicht the latest dev build now includes your spell enums, as well as: - obj.can_melee(tgt) and the python query for critical strike - tpdp.SpellPacket method get_spell_component_flags()
Thank you Sitra. I do set flags in Phantom Threat + Phantom Foe as well yes (to be precise, I add D20CAF_FLANKED). I do this because there is no isFlanked query in Python, which was my original plan to do. Correct me if there is one. Though I'd be happy if there would be one, I often use get_flags() & D20CAF_FLANKED as well, which would be covered by that query as well.
If anyone else is adding Sagenlicht's spells to their game don't forget that you will have to update your Constants.py file again with the latest additions.