0 of 0

File information

Last updated

Original upload

Created by

_kmatt_

Uploaded by

AlchemicaMateria

Virus scan

Safe to use

Tags for this mod

24 comments

  1. Sky91
    Sky91
    • premium
    • 39 kudos
    Hello, i believe this mod alters the casting time of the cinematic dragon soul absorb effect. In order to prevent interferences like this, I advertise that you implement a default keyword into your mod that prevents changes via DMMF. Suggestions: Keyword "noDmmfApply". Would you update your (very cool!) mod that way? :) I'm working on a patch for said mod and would like to implement the keyword right away then.
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      I replied to your other comment, but there is already a built in way to exclude spells. You just add the exclusion as an Override and set excluded to true. 
      "Overrides":[{
      "parameter": "time",
      "excluded": true,
      "conditions":[
      {
      "condition": "form",
      "operator":"==",
      "value": "insert the editorID of spell in question here"
      }
      ],
      "conditionsOperator": "and" 
      }
      ]
  2. WallRockTree
    WallRockTree
    • premium
    • 32 kudos
    This mod sounds great! I am installing it, and updating Controlled Casting to v.3.0 with your Dynamic Magic Modification Framework. You are on a roll and I am excited to try them!

    Question:
    I am hoping for NPCs to "telegraph" when they are about to release their spell. As in, they have the varied charge times that this mod gives, then they give some visual hint right before they fire the spell. This would add to skill-based combat with powerful enemy mages as you could have a chance to dive for cover. At least if your reflexes are good enough.

    Is it possible to make that work with this or another mod?
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      As far as I know, enemy mages typically fire their spells as soon as it is charged. I don't think my mods would do anything to help know exactly when they would fire. I will say, giving a charge time for concentration spells certainly helps with avoiding those attacks. 

      Honestly, I think what would be a good idea is to make a Casting Bar mod but for NPCs. It could use one of the extra bars provided by TrueHUD maybe. I'd be willing to look into it, but if someone sees this and wants to make it first go ahead. 
    2. WallRockTree
      WallRockTree
      • premium
      • 32 kudos
      Actually, I had thought maybe an NPC animation to signal when the spell is about to be fired, but your idea is good, too. Thanks again for your work!
  3. majesticginger
    majesticginger
    • premium
    • 16 kudos
    it would be cool to see a short video on how the cast times actually play in game
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      Noted. I don't have a lot of time to film things currently but I am more than willing to host user submitted videos. 

      I know it's not helpful, but the best I can offer currently is to just try it out in game and see what you think. I recommend Casting Bar so that it can be easier to see the charge time progress. 
    2. majesticginger
      majesticginger
      • premium
      • 16 kudos
      understandable. i would try it out myself but im currently building my new pc so im window shopping for mods right now lol
  4. Xenn2423
    Xenn2423
    • supporter
    • 8 kudos
    Hi! This is an awesome idea. For the first formula, are master level spells considered to have a difficulty level of 90 (when you can first unlock the spells) or 100 (when you can unlock the master perks)?

    If the answer is the latter, is there a way to change it on my end? I'd like to use the first formula in such a way that master spells can be cast ~10% faster at skill level 100 (without messing up the curve for lower difficulty spells), which would require master spells to be calculated with a difficulty of 90.

    If the value for spell difficulty is 100 and can't be changed, I can use this formula as an alternative:
    (-1*(((Skill+10)-Difficulty)/100)
    That said, it would make lower level skills a bit faster than I'd like, which is why calculating master spells at 90 difficulty would be the ideal solution for my specific use case.
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      It is based on the value assigned for difficulty in the costliest magic effect. In vanilla, this tends to be 100. Mod added spells may vary.

      If you look at the configuration file itself, you'll see that I already added a second function for when your skill level is less than 15. You could add a similar function and set the conditions to be for when the difficulty > 90.

      For example:

       {
                  "parameter": "time",
                  "valueType": "function",
                  "function":"exp(-1 * ((a-90)/100))",
                  "variables":[
                      {
                          "name":"a",
                          "source":"skill"
                      },
                      {
                          "name":"b",
                          "source":"difficulty"
                      }
                  ],
                  "conditions":[
                    {
                      "condition": "magicType",
                      "operator":"==",
                      "value": "Spell"          
                     },
                     {
                      "condition": "difficulty",
                      "operator":">",
                      "value": 90.0          
                     }  
                  ],
                  "conditionsOperator" : "and"
              }

      You should also change the first multiplier to only work when the spell is greater than or equal to 15 and less than 90.

      Like this:

      {
                  "parameter" : "Time",
                  "valueType": "function",
                  "function":"exp(-1 * ((a-b)/100))",
                  "variables":[
                      {
                          "name":"a",
                          "source":"skill"
                      },
                      {
                          "name":"b",
                          "source":"difficulty"
                      }
                  ],
                  "conditions":[
                    {
                      "condition": "magicType",
                      "operator":"==",
                      "value": "Spell"          
                     },
                     {
                      "condition": "difficulty",
                      "operator":">=",
                      "value": 15.0            
                     },
       {
                      "condition": "difficulty",
                      "operator":"<=",
                      "value": 90.0            
                     } 
                  ],
                  "conditionsOperator" : "and"
              }

      Let me know if you have questions
    2. Xenn2423
      Xenn2423
      • supporter
      • 8 kudos
      Ah, thanks! I hadn't opened the config file yet, so I didn't notice that you could use different functions based on conditions. I'm not familiar with the proper format for coding outside of programs like the Creation Kit (which does the formatting for me), so I'm not sure if I have this set up correctly:
      {
          "Multipliers" : [
              {
                  "parameter" : "Time",
                  "valueType": "function", 
                  "function":"exp(-1 * ((a-b)/100))",
                  "variables":[
                      {
                          "name":"a",
                          "source":"skill"
                      },
                      {
                          "name":"b",
                          "source":"difficulty"
                      }
                  ],
                  "conditions":[
                    {
                      "condition": "magicType",
                      "operator":"==",
                      "value": "Spell"           
                     },
                     {
                      "condition": "difficulty",
                      "operator":">=",
                      "value": 15.0            
                     },
                     {
                      "condition": "difficulty",
                      "operator":"<=",
                      "value": 90.0            
                     }    
                  ],
                  "conditionsOperator" : "and"
              },
              {
                  "parameter": "time",
                  "valueType": "function", 
                  "function":"exp(-1 * ((a-15)/100))",
                  "variables":[
                      {
                          "name":"a",
                          "source":"skill"
                      },
                      {
                          "name":"b",
                          "source":"difficulty"
                      }
                  ],
                  "conditions":[
                    {
                      "condition": "magicType",
                      "operator":"==",
                      "value": "Spell"           
                     },
                     {
                      "condition": "difficulty",
                      "operator":"<",
                      "value": 15.0           
                     }  
                  ],
                  "conditionsOperator" : "and"
              },
              {
                  "parameter": "time",
                  "valueType": "function",
                  "function":"exp(-1 * ((a-90)/100))",
                  "variables":[
                      {
                          "name":"a",
                          "source":"skill"
                      },
                      {
                          "name":"b",
                          "source":"difficulty"
                      }
                  ],
                  "conditions":[
                    {
                      "condition": "magicType",
                      "operator":"==",
                      "value": "Spell"          
                     },
                     {
                      "condition": "difficulty",
                      "operator":">",
                      "value": 90.0          
                     }  
                  ],
                  "conditionsOperator" : "and"
              }
              
          ]
          
      }
      Does this look right? I had to guess where to insert the new section based on context, so I want to be sure I didn't break anything in the process.

      [Edit: Added a comma that I missed between conditions]

      [Edit 2: Moved the aforementioned comma because I put it on the wrong line. Moved a couple of "{" fancy bracket thingies that somehow got left aligned when they shouldn't have been.]
    3. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      That looks good to me upon a quick glance. 

      If you start the game and look at the DynamicMagicModificationFramework.log file, it should give some information that should indicate if things seemed to load correctly. 

      If you ever want to make sure that the file has valid json formatting, you can use a website like https://jsonformatter.org/. 
    4. Xenn2423
      Xenn2423
      • supporter
      • 8 kudos
      Oh, sweet. The website says it checks out, so I'll load it up in game and see if it works. Thanks for all the help!
  5. Electrohead1
    Electrohead1
    • supporter
    • 10 kudos
    Does it work for dual casting as well? 
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      These multipliers will always be active for any normal spell (not a scroll or staff). So these will be active when dual casting.

      If you use this with the Dual Casting Effects Charge Time mod, the multipliers will be cumulative. 
  6. LordWushin
    LordWushin
    • premium
    • 55 kudos
    Hey I like this idea. Thanks!

    Can't wait to see the update of your "Unattuned" mod!
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      Thanks!

      It's still in the works. I may release one other smaller mod first, but then Unattuned will likely be my next project.
    2. hoangdai94
      hoangdai94
      • member
      • 190 kudos
      @
      AlchemicaMateria Noice, I love your Unattuned mod as well !
  7. R6R6R
    R6R6R
    • member
    • 3 kudos
    Just out of morbid curiosity, how did you get the numbers for the second option's formula?

    Nevertheless, greatly innovative work!
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      Chose some points and found a polynomial that fit.

      https://www.wolframalpha.com/input?i=interpolating+polynomial+calculator&assumption=%7B%22F%22%2C+%22InterpolatingPolynomialCalculator%22%2C+%22data2%22%7D+-%3E%22%7B%7B15%2C.25%7D%2C%7B30%2C1%7D%2C%7B50%2C2%7D%2C%7B75%2C2.5%7D%2C%7B100%2C3%7D%7D%22
  8. Yuukiyow
    Yuukiyow
    • member
    • 0 kudos
    Does this affect NPCs as well? (I'm assuming it will)
    1. AlchemicaMateria
      AlchemicaMateria
      • premium
      • 91 kudos
      By default, yes. If you don't want it to, you can add an additional condition in the configuration file.

      The condition would look like:
       {
      "condition": "caster",
      "operator":"==",
      "value": "player" 
       }

      Look at the DMMF page for more info on changing the config file.
    2. Yuukiyow
      Yuukiyow
      • member
      • 0 kudos
      Nice, thanks for the info :)
  9. elrusho1
    elrusho1
    • premium
    • 0 kudos
    Cool idea! Thank you for your hard work.