Spell Compendium Mod

Discussion in 'General Modification' started by Sagenlicht, Feb 28, 2021.

Remove all ads!
  1. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    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.
     
    Sitra Achara likes this.
  2. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    953
    Likes Received:
    112
    @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.
     
  3. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    679
    Likes Received:
    72
    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.
     
  4. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    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.
     
  5. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    953
    Likes Received:
    112
    @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."
     
  6. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    679
    Likes Received:
    72
    @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.
     
  7. Pygmy

    Pygmy Established Member Supporter

    Joined:
    Oct 8, 2010
    Messages:
    679
    Likes Received:
    72
    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.
     
  8. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    @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.
     
  9. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    The latest build now includes the necessary files. Also @Sagenlicht 's Stormlord :)
     
  10. Sagenlicht

    Sagenlicht Established Member

    Joined:
    Apr 14, 2004
    Messages:
    338
    Likes Received:
    119
    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.

    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.
     
  11. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    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 :)
     
  12. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    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.
     
  13. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,613
    Likes Received:
    537
    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.
     
  14. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,654
    Likes Received:
    352
    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.
     
  15. dolio

    dolio Established Member Supporter

    Joined:
    May 30, 2005
    Messages:
    338
    Likes Received:
    81
    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.
     
Our Host!