I finally got my act together and got some of my stuff out of just my override directory and into a repository. You can find it here if you want to try any of it out: https://github.com/dolio/toee-mod The spells directory has the same structure as the override directory, so you should just merge the contents there. Kelgore's Fire Bolt, Rouse, Inevitable Defeat and the Whelm spells should all work, I think. Beguilers should get some of those, but they won't until I submit a patch to TemplePlus, I think. Bigby's Tripping Hand is mostly working. It displays the wrong name in the combat log, and I might tweak the particle effect, but otherwise it should work as expected. I think Vertigo is still not quite right. I didn't do anything discussed above, at least. If you do try it out and find something weird, let me know. I haven't really tested thoroughly since shuffling the files around. There's also a really long winded explanation of a (mechanically) easy Mystic Theurge rebalance that I tried out a few weeks ago, in case that interests anyone.
@dolio I was pondering Mystic Theurge today and a mechnically fairer way to handle it is to require (level 2 divine spells AND level 1 arcane spells) OR (level 1 divine spells AND level 2 arcane spells). This way, people aren't 1-2 spell levels behind in 2 casting classes and they're still giving up some casting progression.
Hi @dollo I have tried to test your new spells. I am usung Beta 2626 with Sagenlicht's spells already in overrides. I got a crash at startup. I note that only three of your new spells have components in scr/tpmodifiers in the extracted zip file which strikes me as unusual? Beta 2626 worked fine when your new spell files removed.
Most of the spells don't need any modifiers, because they're instantaneous damage effects (and Rouse just uses an already existing thing). One thing I should have mentioned is that you need a TemplePlus version new enough to have the spell_utils.py, but 2626 sounds new enough for that, I think. A crash on startup sounds like one of the modifier scripts is referring to something that is only in my override. I'll check it out.
@Sagenlicht For craft purposes, mass resist energy should also count as resist energy because of its wording: "This spell functions like resist energy (PH 272), except that it affects all targeted creatures."
@dollo I have moved onto Beta 2630 that includes Kelgore's Firebolt. When I attempted to cast this I got the following dialogue message "Malakon casts - Kelgore's Firebolt - [Error! Missing line 21303 in rules\spell_enum.mes] with no effect save an initial fiery flash around the caster's head.
If you are interested (and haven't done so yourself already) I have made the trivial adjustment in the logical functions governing class entry requirements so as to allow entry by either of the conditions you describe above.
@Pygmy I added some missing files, which should have cleared up the bad message in the combat log, among other things. The crash is definitely caused by modifiers that import spell_utils.py (I get the same crash if I remove it from my overrides directory). I would guess that maybe it isn't actually in the dat files yet, so having a new T+ build won't actually get that file on your system. Sorry about that.
You may have noticed, that I haven't added a new spell in a while to the spell_compendium. Due to school holidays I had not much free time to work on anything, and now I will put the spell_compendium on hold. I am in the process of preparing the spells for a merge into Temple+. Once the spells are merged, I will continue to add new spells, but imo it doesn't make sense to add more and more spells and never get the merge process done. On the plus side, while perparing the spells for the merge, I've added a few new particle effects and squished a few bugs The merge will happen in a more than one step, the first merge will contain only spells that do a) only add bonus_lists b) simply deal damage c) do both of the above d) spells that only use existing vanilla conditions (e.g. Invisibility, Swift) This means, no AoE spells, no Item enchantments, no more complex spells etc. Spoiler: This is a preliminary list of spells, that would meet the above criterias enum Spell Name SC page status comment 1050 Sound Lance 196 merge0 but spell ignores Silence spell I belive 1052 Camouflage 43 merge0 spell_utils done 1053 Appraising Touch 15 merge0 spell_utils done new particles 1057 Focusing Chant 96 merge0 spell_utils done, new particles 1058 Herald's Call 113 merge0 uses vanilla slow condition 1062 Invisibility, Swift 125 merge0 uses Invisibility condition 1064 Ironthunder Horn 126 merge0 adds vanilla knockdown condition only 1067 Serene Visage 182 merge0 spell_utils done, needs new particles 1069 Sticky Fingers 206 merge0 spell_utils done, need rework of particles sound and buff symbol 1070 Undersong 227 merge0 spell_utils done new particles 1078 Curse of Impending Blades 56 merge0 spell_utils done, new particles 1079 Wave of Grief 236 merge0 spell_utils done, needs new particles 1089 Curse of Imp. Blades, Mass 57 merge0 spell_utils done, uses single target version condition of spell new particles 1090 Dissonant Chord 69 merge0 1096 Allegro 9 merge0 spell_utils done 1100 Resistance, Greater 174 merge0 spell_utils done 1102 Sirine's Grace 191 merge0 spell_utils done 1105 Cacophonic Burst 41 merge0 1109 Nixie's Grace 148 merge0 spell_utils done 1110 Ray of Light 167 merge0 uses existing blindness condition; uses wf_ray_fix 1111 Resistance, Superior 174 merge0 spell_utils done 1113 Blessed Aim 31 merge0 1118 Faith Healing 87 merge0 1120 Angelskin 11 merge0 spell_utils done 1121 Demonhide 63 merge0 spell_utils done new particles 1124 Curse of Ill Fortune 56 merge0 spell_utils done 1125 Awaken Sin 21 merge0 1128 Divine Protection 70 merge0 spell_utils done 1129 Quick March 164 merge0 spell_utils done 1131 Blessing of Bahamut 31 merge0 spell_utils done 1143 Castigate 44 merge0 needs code review 1145 Conviction 52 merge0 spell_utils done 1147 Nightshield 148 merge0 spell_utils done 1150 Deific Vengeance 62 merge0 needs particles 1151 Frost Breath 100 merge0 uses sp-Daze 1158 Conviction Mass 52 merge0 1161 Demon Dirge 63 merge0 spell_utils done 1162 Devil Blight 64 merge0 spell_utils done 1163 Energy Vortex 81 merge0 uses spell_radial_menu_options 1165 Resist Energy Mass 174 merge0 uses resist elements condition 1167 Slashing Darkness 191 merge0 This is not the final list, there might be cuts.
That's just as well, because I want to systemize the mes extension handling so that I don't have to do that manually for every single one. Will try to do so over the weekend. I also want the spells to be gradually added over the next T+ versions to make issue management easier. The next update is already going to be a big one as it is
Here's a general spell thing I haven't been able to figure out: Some of my offensive spells don't seem to trigger hostilities when I cast them on NPCs. I had thought it might be the `ai_type` entry in the rules, but that doesn't seem to be the case. Sagenlicht's spells seem to work correctly, for instance. When I cast an offensive spell on an NPC, combat starts immediately, before the spell effects even happen in some cases. But I'm not sure what information is supplied where to make this happen. I also noticed this problem when I did enervation and energy drain. Enervation triggers hostilities, but energy drain doesn't, I think. Obviously I didn't do anything different for those two, so something about enervation was already in place. I just don't know what. I wasn't really too worried about in that case, because energy drain is a 9th level spell. But these other spells might actually be used by someone, so I'd rather they work correctly.
That's determined by IsSpellHarmful. For Temple+ spells over the old limit (enum > 802) that’s decided solely by the rules entry. For vanilla spells they have a hardcoded table and special rules for stuff like cure/inflict vs undead, see 0x100769F0.
Obviously Sitra knows his own mod, but I will add that this is not far off the mark - to prevent 'Modify Memory' from turning its targets hostile (defeating the purpose) I had to change it from a targeted attack to an AoE. If Temple+ made things more specific, that would be good.
Okay, that explains Energy Drain. Enervation is unconditionally considered harmful, but Energy Drain uses the default case of only counting as harmful against unfriendly targets. I was mostly testing on my own party, so that's why they seemed different. I guess for my new spells, I must have something wrong in the rules file.