Temple+ Modding Question

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

Remove all ads!
  1. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Very Helpful! Do you happen to know if anyone ever made a list of them? Are there any unused spell sounds hanging around?
     
    Last edited by a moderator: Feb 29, 2020
  2. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    254
    I don't know if anyone ever compiled a list of unused spell effects, as for the sounds I know there are bunch of unused sounds for spells that were never implemented in game as I copied them all to an old mobile phone, and set up a sound board app to play them for my live tabletop games at home, and I'd never heard many of them before.
     
  3. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    982
    Likes Received:
    120
    @Allyx
    Where would people find at least some of these unused assets?
     
  4. Allyx

    Allyx Master Crafter Global Moderator Supporter

    Joined:
    Dec 2, 2004
    Messages:
    5,009
    Likes Received:
    254
    If you extract ToEE2.dat they're in the Sounds/Spells folder, the visual effects are defined in rules/partsys1.tab, and can be seen using V2Brute. The spells that have both art and sounds that I don't remember ever seeing in ToEE, and I'll probably mis-remember some (so please forgive mistakes) are as follows:
    Arcane Eye
    Arcane Lock
    Clairaudience/Clairvoyance
    Darkness
    Darkvision
    Daylight?
    Deeper Darkness
    Disease (all types)
    Emotion (all types)
    Glitter Dust
    Hold Portal
    Hypnotic Pattern?
    Identify
    Insect Plague?
    Mage Hand
    Polymorph Other?
    Polymorph Self?
    Protective Ward
    Pyrotechnics
    Quench
    Rainbow Pattern
    Sunburst
    Teleport
    Wall of Fire/Force/Ice
     
    Last edited: Mar 1, 2020
    anatoliy, FDR4PREZ and _doug_ like this.
  5. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    982
    Likes Received:
    120
    @Allyx
    Wall of Fire is now in Temple+.
     
  6. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    And I also created new pfx for it ;)
     
  7. Shiningted

    Shiningted I changed this damn title, finally! Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,740
    Likes Received:
    374
    Great work Al.

    Doug - I'm going through the spell effects but for Wave of Fatigue, I recommend the particles for sp-Emotion - a nice cone-shaped wave that would go with the instantaneous effect. This would require no tinkering on your part, you could just call it straight in the spell's .py file.. If you want to tinker with the effects in partsys.tab, then any of the 'Detect' spells (or Find Traps, Cone of Cold etc - even Gust of Wind) could be used as a starting point. VampiricPuppy wrote a guide for memory, someone could doubtless find it around here.

    For Touch of Fatigue, I recommend one of the sp-Inflict-X-wounds-HELD spells (they all look the same) for the caster when he is holding the touch spell - anything marked 'held' is worth a look - then sp-Rarys Mnemonic Enhancer for the monster hit. Just a small subtle effect that sorta matches the colours of the held effect. Use V2Brute to see spell effects with all the extracted partsys.tab files in your data/rules folder (you probably knew that).

    For sounds, I'm not much use - I did the first round of spell sounds for things like Scorching Ray, and my efforts were roundly hated and quickly replaced. Everyone's a critic :oops:
     
    _doug_ likes this.
  8. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Allyx: Thanks for the list. I could see making use of some of those effects.

    Ted: Thanks for the ideas. I'll give adding the 4 fatigue related spells a try and let you know how it goes. I have found some guides already and messed around with spell effects. What I have been able to produce is unfortunately not that great...
     
  9. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Sitra: I need to access more than arg1 and arg2 in python from DispIoCondStruct. Adding a function that returns an arbitrary argument would seem easy enough, but I can't figure out how to get access to the other args. Do you have any suggestions?

    Thanks!
     
  10. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
  11. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Why ask why? ;)

    I am adding a fatigue/exhaust condition. Fatigue upgrades to exhaustion so I want to see all the arguments when a duplicate condition gets added to determine if I should upgrade the current condition (and tell TOEE not to add the duplicate). There are 4 arguments that I am interested in when a duplicate is added. The python hook looks like:

    Fatigue.AddHook(ET_OnConditionAddPre, EK_NONE, DoubleAddCondition, ())

    There may be a better way to do what I want but this seemed like the most natural way to me.
     
  12. Endarire

    Endarire Ronald Rynnwrathi

    Joined:
    Jan 7, 2004
    Messages:
    982
    Likes Received:
    120
    How does the engine do Shaken/Frightened/Panicked? That seems like a handy way to handle things.
     
  13. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Been a while since I asked a question here :D

    I ran into difficulty removing a spell during a touch attack. It seems that the remove spell function in the temple dll will not remove a spell if the request comes from a touch attack handler. I was able to add code in temple+ to change the signal type to one that remove spell likes and then change it back after removing the spell. But I was wondering if there was a cleaner way to pull that off. I don't want to try rewriting the whole plate of spaghetti that is the TOEE remove spell function...

    Here is what the code I used to force it to work:

    upload_2020-5-22_21-49-3.png
     
  14. Sitra Achara

    Sitra Achara Senior Member

    Joined:
    Sep 1, 2003
    Messages:
    3,622
    Likes Received:
    538
    I've seen vanilla code do a similar thing, but outside the actual removespell code - it'd create a copy of the args and change the key and type, and then call removespell on that. I prefer that approach in this case since it won't potentially affect other spells.
     
  15. _doug_

    _doug_ Established Member

    Joined:
    Jul 9, 2009
    Messages:
    316
    Likes Received:
    143
    Vanilla code does that. Yikes! The call is ultimately coming from python so it's unfortunately not as easy to copy and change the args before the call.
     
Our Host!